@strimz/shared-types 0.9.0 → 0.10.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.
- package/dist/agents.cjs +42 -13
- package/dist/agents.cjs.map +1 -1
- package/dist/agents.d.cts +37 -37
- package/dist/agents.d.ts +37 -37
- package/dist/agents.js +42 -13
- package/dist/agents.js.map +1 -1
- package/dist/analytics.cjs +1 -1
- package/dist/analytics.cjs.map +1 -1
- package/dist/analytics.d.cts +78 -78
- package/dist/analytics.d.ts +78 -78
- package/dist/analytics.js +1 -1
- package/dist/analytics.js.map +1 -1
- package/dist/api-keys.cjs +1 -1
- package/dist/api-keys.cjs.map +1 -1
- package/dist/api-keys.js +1 -1
- package/dist/api-keys.js.map +1 -1
- package/dist/common.cjs +1 -1
- package/dist/common.cjs.map +1 -1
- package/dist/common.d.cts +1 -1
- package/dist/common.d.ts +1 -1
- package/dist/common.js +1 -1
- package/dist/common.js.map +1 -1
- package/dist/compliance.cjs +1 -1
- package/dist/compliance.cjs.map +1 -1
- package/dist/compliance.js +1 -1
- package/dist/compliance.js.map +1 -1
- package/dist/customers.cjs +1 -1
- package/dist/customers.cjs.map +1 -1
- package/dist/customers.js +1 -1
- package/dist/customers.js.map +1 -1
- package/dist/events.cjs +43 -14
- package/dist/events.cjs.map +1 -1
- package/dist/events.d.cts +90 -90
- package/dist/events.d.ts +90 -90
- package/dist/events.js +43 -14
- package/dist/events.js.map +1 -1
- package/dist/index.cjs +42 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +42 -13
- package/dist/index.js.map +1 -1
- package/dist/invoices.cjs +1 -1
- package/dist/invoices.cjs.map +1 -1
- package/dist/invoices.d.cts +5 -5
- package/dist/invoices.d.ts +5 -5
- package/dist/invoices.js +1 -1
- package/dist/invoices.js.map +1 -1
- package/dist/merchants.cjs +1 -1
- package/dist/merchants.cjs.map +1 -1
- package/dist/merchants.js +1 -1
- package/dist/merchants.js.map +1 -1
- package/dist/payment-sessions.cjs +1 -1
- package/dist/payment-sessions.cjs.map +1 -1
- package/dist/payment-sessions.d.cts +4 -4
- package/dist/payment-sessions.d.ts +4 -4
- package/dist/payment-sessions.js +1 -1
- package/dist/payment-sessions.js.map +1 -1
- package/dist/refunds.cjs +1 -1
- package/dist/refunds.cjs.map +1 -1
- package/dist/refunds.d.cts +5 -5
- package/dist/refunds.d.ts +5 -5
- package/dist/refunds.js +1 -1
- package/dist/refunds.js.map +1 -1
- package/dist/storefronts.cjs +1 -1
- package/dist/storefronts.cjs.map +1 -1
- package/dist/storefronts.d.cts +2 -2
- package/dist/storefronts.d.ts +2 -2
- package/dist/storefronts.js +1 -1
- package/dist/storefronts.js.map +1 -1
- package/dist/subscriptions.cjs +1 -1
- package/dist/subscriptions.cjs.map +1 -1
- package/dist/subscriptions.d.cts +4 -4
- package/dist/subscriptions.d.ts +4 -4
- package/dist/subscriptions.js +1 -1
- package/dist/subscriptions.js.map +1 -1
- package/dist/transactions.cjs +1 -1
- package/dist/transactions.cjs.map +1 -1
- package/dist/transactions.d.cts +3 -3
- package/dist/transactions.d.ts +3 -3
- package/dist/transactions.js +1 -1
- package/dist/transactions.js.map +1 -1
- package/dist/webhooks.cjs +1 -1
- package/dist/webhooks.cjs.map +1 -1
- package/dist/webhooks.js +1 -1
- package/dist/webhooks.js.map +1 -1
- package/package.json +1 -1
- package/src/agents.ts +49 -14
- package/src/common.ts +0 -1
package/dist/analytics.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common.ts","../src/invoices.ts","../src/payment-sessions.ts","../src/refunds.ts","../src/subscriptions.ts","../src/analytics.ts"],"names":["z"],"mappings":"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","file":"analytics.cjs","sourcesContent":["/**\n * Primitive schemas shared across every entity.\n * Every higher-level schema builds on these so validation is consistent.\n */\n\nimport { z } from 'zod'\n\n/** CUID2 or UUID-style opaque identifier. */\nexport const idSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[a-zA-Z0-9_-]+$/, 'id must be URL-safe')\n\n/** EVM address. Hex-encoded, 0x-prefixed, 20 bytes. Normalised to lowercase. */\nexport const evmAddressSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{40}$/, 'must be a 0x-prefixed 40-character hex EVM address')\n .transform((v) => v.toLowerCase())\n\n/** EVM transaction hash. 32-byte hex. */\nexport const evmTxHashSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{64}$/, 'must be a 0x-prefixed 64-character hex EVM transaction hash')\n\n/** Email address, trimmed and lower-cased. */\nexport const emailSchema = z.string().email().trim().toLowerCase().max(320)\n\n/** HTTPS URL. No http:// allowed outside dev. */\nexport const httpsUrlSchema = z\n .string()\n .url()\n .refine((v) => v.startsWith('https://'), {\n message: 'must be an https:// URL',\n })\n\n/** URL permitting http and https (dev + prod). */\nexport const httpUrlSchema = z.string().url()\n\n/**\n * Amount expressed in the token's smallest unit, serialised as a string to\n * preserve precision beyond `Number.MAX_SAFE_INTEGER`. For USDC (6 decimals),\n * 1 USDC is the string \"1000000\".\n */\nexport const tokenAmountSchema = z\n .string()\n .regex(/^[0-9]+$/, 'must be a non-negative integer string (base-10)')\n .refine((v) => BigInt(v) >= 0n, 'must be >= 0')\n\n/** Unsigned integer up to 2^53 - 1; validated and returned as number. */\nexport const uintSchema = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER)\n\n/** ISO-8601 timestamp string (`.toISOString()`-compatible). */\nexport const isoTimestampSchema = z\n .string()\n .datetime({ offset: true, message: 'must be an ISO-8601 timestamp' })\n\n/** Two-letter ISO-3166 country code. */\nexport const countryCodeSchema = z\n .string()\n .length(2)\n .regex(/^[A-Z]{2}$/, 'must be an ISO-3166 alpha-2 country code')\n\n/** Pagination inputs used by every list endpoint. */\nexport const paginationInputSchema = z.object({\n limit: z.number().int().min(1).max(100).default(25),\n cursor: z.string().min(1).max(200).nullish(),\n})\nexport type PaginationInput = z.input<typeof paginationInputSchema>\nexport type PaginationParsed = z.output<typeof paginationInputSchema>\n\n/** Pagination envelope used by every list response. */\nexport const makePaginatedSchema = <T extends z.ZodTypeAny>(item: T) =>\n z.object({\n data: z.array(item),\n nextCursor: z.string().nullable(),\n hasMore: z.boolean(),\n })\n\n/** Free-form metadata bag the API round-trips for merchants. */\nexport const metadataSchema = z\n .record(\n z.string().min(1).max(40),\n z.union([z.string().max(500), z.number(), z.boolean(), z.null()]),\n )\n .refine((m) => Object.keys(m).length <= 50, 'at most 50 metadata keys')\n .default({})\n\n/** Environment mode carried on every mode-scoped resource. */\nexport const modeSchema = z.enum(['test', 'live'])\nexport type Mode = z.infer<typeof modeSchema>\n\n/** Payment token enum. */\nexport const paymentCurrencySchema = z.enum(['USDC', 'EURC'])\nexport type PaymentCurrency = z.infer<typeof paymentCurrencySchema>\n\n/** Every display-level currency (payment + treasury). */\nexport const tokenSymbolSchema = z.enum(['USDC', 'EURC', 'USYC'])\nexport type TokenSymbol = z.infer<typeof tokenSymbolSchema>\n\n/** Merchant tier enum. */\nexport const merchantTierSchema = z.enum(['free', 'growth', 'business', 'enterprise'])\nexport type MerchantTier = z.infer<typeof merchantTierSchema>\n\n/** Arc environment enum. */\nexport const arcEnvironmentSchema = z.enum(['testnet', 'mainnet'])\nexport type ArcEnvironment = z.infer<typeof arcEnvironmentSchema>\n\nexport type Id = z.infer<typeof idSchema>\nexport type EvmAddress = z.infer<typeof evmAddressSchema>\nexport type EvmTxHash = z.infer<typeof evmTxHashSchema>\nexport type TokenAmount = z.infer<typeof tokenAmountSchema>\nexport type IsoTimestamp = z.infer<typeof isoTimestampSchema>\nexport type Metadata = z.infer<typeof metadataSchema>\n","/**\n * Invoices. Shareable, expirable payment requests with structured line items.\n */\n\nimport { z } from 'zod'\nimport {\n emailSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const invoiceStatusSchema = z.enum(['draft', 'sent', 'paid', 'overdue', 'void'])\nexport type InvoiceStatus = z.infer<typeof invoiceStatusSchema>\n\nexport const invoiceLineItemSchema = z.object({\n description: z.string().min(1).max(500),\n quantity: z.number().int().min(1).max(10_000),\n unitAmount: tokenAmountSchema,\n})\nexport type InvoiceLineItem = z.infer<typeof invoiceLineItemSchema>\n\nexport const invoiceSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n number: z.string().min(1).max(40),\n customerName: z.string().min(1).max(200).nullable(),\n customerEmail: emailSchema.nullable(),\n lineItems: z.array(invoiceLineItemSchema).nonempty(),\n subtotal: tokenAmountSchema,\n total: tokenAmountSchema,\n currency: paymentCurrencySchema,\n status: invoiceStatusSchema,\n note: z.string().max(2000).nullable(),\n sessionId: idSchema.nullable(),\n dueAt: isoTimestampSchema,\n paidAt: isoTimestampSchema.nullable(),\n sentAt: isoTimestampSchema.nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type Invoice = z.infer<typeof invoiceSchema>\n\nexport const createInvoiceInputSchema = z.object({\n customerName: z.string().min(1).max(200).optional(),\n customerEmail: emailSchema.optional(),\n lineItems: z.array(invoiceLineItemSchema).nonempty(),\n currency: paymentCurrencySchema,\n note: z.string().max(2000).optional(),\n dueInDays: z.number().int().min(1).max(90).default(7),\n})\nexport type CreateInvoiceInput = z.input<typeof createInvoiceInputSchema>\nexport type CreateInvoiceParsed = z.output<typeof createInvoiceInputSchema>\n","/**\n * Payment session. A one-shot checkout intent.\n *\n * State machine:\n * created → awaiting_payment → submitted → confirmed\n * \\\n * → failed\n * → expired\n * → cancelled\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const paymentSessionStatusSchema = z.enum([\n 'created',\n 'awaiting_payment',\n 'submitted',\n 'confirmed',\n 'failed',\n 'expired',\n 'cancelled',\n])\nexport type PaymentSessionStatus = z.infer<typeof paymentSessionStatusSchema>\n\n/**\n * Merchant-supplied callback URL. The hosted checkout dispatches with\n * `window.location.href = redirectUrl` on completion / cancellation,\n * so we MUST reject anything other than `http://` and `https://`.\n *\n * Why this is a real risk: Zod's `.url()` validates RFC syntax, which\n * accepts `javascript:`, `data:`, `vbscript:`, `file:`, blob:`, etc.\n * A compromised merchant integration or an XSS upstream could ship a\n * session whose redirect URL executes script (or exfiltrates session\n * tokens) on every payer's browser. The damage is per-payer, but the\n * blast radius is \"every checkout the merchant runs.\"\n *\n * Mailto / tel and other handler protocols are also rejected — there\n * is no legitimate flow on a payment checkout that would benefit.\n */\nexport const callbackUrlSchema = z\n .string()\n .url()\n .refine((v) => v.startsWith('https://') || v.startsWith('http://'), {\n message: 'must be an http:// or https:// URL',\n })\n\nexport const paymentSessionSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /**\n * On-chain StrimzRegistry merchant id (uint96) as a decimal string.\n * Set when the merchant has been registered on-chain; null when the\n * merchant exists in our DB but the registry transaction hasn't\n * been broadcast yet. Hosted checkout uses this to populate the\n * meta-tx calldata; if null, the checkout refuses to accept\n * payments.\n */\n chainMerchantId: z\n .string()\n .regex(/^[0-9]+$/u, 'must be a non-negative decimal integer string')\n .nullable(),\n /**\n * ERC-20 token contract address resolved from `currency` on the\n * active chain (Arc Testnet / Mainnet). Used as the `verifyingContract`\n * in the EIP-712 domain for both EIP-3009 and EIP-2612 signing.\n * Null on the (vanishingly unlikely) path where the API has no\n * configured address for the session's currency.\n */\n tokenAddress: evmAddressSchema.nullable(),\n customerId: idSchema.nullable(),\n status: paymentSessionStatusSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n feeAmount: tokenAmountSchema,\n netAmount: tokenAmountSchema,\n description: z.string().max(500).nullable(),\n payerWalletAddress: evmAddressSchema.nullable(),\n payerEmail: z.string().email().nullable(),\n successUrl: callbackUrlSchema.nullable(),\n cancelUrl: callbackUrlSchema.nullable(),\n sourceChain: z\n .enum(['arc', 'ethereum', 'base', 'polygon', 'arbitrum', 'optimism', 'avalanche', 'solana'])\n .nullable(),\n bridgeTxHash: evmTxHashSchema.nullable(),\n onchainTxHash: evmTxHashSchema.nullable(),\n checkoutUrl: z.string().url(),\n metadata: metadataSchema,\n expiresAt: isoTimestampSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type PaymentSession = z.infer<typeof paymentSessionSchema>\n\n// ---------- DTOs ----------\n\nexport const createPaymentSessionInputSchema = z.object({\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n description: z.string().max(500).optional(),\n customer: z\n .object({\n walletAddress: evmAddressSchema.optional(),\n email: z.string().email().optional(),\n externalRef: z.string().max(120).optional(),\n })\n .optional(),\n successUrl: z.string().url().optional(),\n cancelUrl: z.string().url().optional(),\n /** Minutes until the session expires. Default 30, max 60*24 (one day). */\n expiresInMinutes: z\n .number()\n .int()\n .min(1)\n .max(60 * 24)\n .default(30),\n /**\n * Allowed source chains a payer can bridge USDC from via CCTP. Omit to\n * accept every CCTP-supported chain.\n */\n supportedSourceChains: z\n .array(\n z.enum(['arc', 'ethereum', 'base', 'polygon', 'arbitrum', 'optimism', 'avalanche', 'solana']),\n )\n .optional(),\n metadata: metadataSchema.optional(),\n})\nexport type CreatePaymentSessionInput = z.input<typeof createPaymentSessionInputSchema>\nexport type CreatePaymentSessionParsed = z.output<typeof createPaymentSessionInputSchema>\n\nexport const submitPaymentSessionInputSchema = z.object({\n sourceChain: z.enum([\n 'arc',\n 'ethereum',\n 'base',\n 'polygon',\n 'arbitrum',\n 'optimism',\n 'avalanche',\n 'solana',\n ]),\n onchainTxHash: evmTxHashSchema,\n bridgeTxHash: evmTxHashSchema.optional(),\n payerWalletAddress: evmAddressSchema,\n})\nexport type SubmitPaymentSessionInput = z.input<typeof submitPaymentSessionInputSchema>\nexport type SubmitPaymentSessionParsed = z.output<typeof submitPaymentSessionInputSchema>\n","/**\n * Refund. A merchant-initiated return of funds to a payer.\n *\n * Refunds are executed off-chain (from the merchant's wallet to the payer's\n * wallet). Strimz records the intent, validates constraints, and reconciles\n * via the merchant-signed on-chain transfer.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const refundReasonSchema = z.enum([\n 'customer_request',\n 'product_issue',\n 'duplicate_charge',\n 'fraudulent',\n 'other',\n])\nexport type RefundReason = z.infer<typeof refundReasonSchema>\n\nexport const refundStatusSchema = z.enum([\n 'pending',\n 'awaiting_signature',\n 'submitted',\n 'completed',\n 'failed',\n 'cancelled',\n])\nexport type RefundStatus = z.infer<typeof refundStatusSchema>\n\nexport const refundSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n transactionId: idSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n reason: refundReasonSchema,\n note: z.string().max(500).nullable(),\n status: refundStatusSchema,\n payerAddress: evmAddressSchema,\n refundTxHash: evmTxHashSchema.nullable(),\n failureReason: z.string().max(500).nullable(),\n initiatedBy: idSchema,\n createdAt: isoTimestampSchema,\n completedAt: isoTimestampSchema.nullable(),\n})\nexport type Refund = z.infer<typeof refundSchema>\n\nexport const createRefundInputSchema = z.object({\n transactionId: idSchema,\n amount: tokenAmountSchema,\n reason: refundReasonSchema,\n note: z.string().max(500).optional(),\n})\nexport type CreateRefundInput = z.input<typeof createRefundInputSchema>\nexport type CreateRefundParsed = z.output<typeof createRefundInputSchema>\n\nexport const submitRefundSignatureInputSchema = z.object({\n id: idSchema,\n refundTxHash: evmTxHashSchema,\n})\nexport type SubmitRefundSignatureInput = z.input<typeof submitRefundSignatureInputSchema>\nexport type SubmitRefundSignatureParsed = z.output<typeof submitRefundSignatureInputSchema>\n\n/**\n * Response envelope for `POST /v1/refunds`. The API returns the newly\n * created refund plus the concrete ERC-20 transfer the merchant now\n * has to sign from their payout wallet.\n */\nexport const refundSigningInstructionsSchema = z.object({\n token: evmAddressSchema,\n to: evmAddressSchema,\n amount: tokenAmountSchema,\n note: z.string(),\n})\nexport type RefundSigningInstructions = z.infer<typeof refundSigningInstructionsSchema>\n\nexport const refundCreateOutputSchema = z.object({\n refund: refundSchema,\n signingInstructions: refundSigningInstructionsSchema,\n})\nexport type RefundCreateOutput = z.infer<typeof refundCreateOutputSchema>\n","/**\n * Subscriptions: plans, active subscriptions, and individual charges.\n *\n * Design notes:\n * - A SubscriptionPlan is the template a merchant defines.\n * - A Subscription is an active, customer-scoped instance of a plan.\n * - Each billing period produces a SubscriptionCharge with a unique\n * chargeAttemptId used to enforce idempotency at the contract level.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\n// ---------- Plans ----------\n\nexport const subscriptionIntervalSchema = z.enum([\n 'daily',\n 'weekly',\n 'monthly',\n 'quarterly',\n 'yearly',\n])\nexport type SubscriptionInterval = z.infer<typeof subscriptionIntervalSchema>\n\nexport const subscriptionPlanStatusSchema = z.enum(['active', 'archived'])\nexport type SubscriptionPlanStatus = z.infer<typeof subscriptionPlanStatusSchema>\n\nexport const subscriptionPlanSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /**\n * On-chain StrimzRegistry merchant id (uint96) as a decimal string.\n * See `paymentSessionSchema.chainMerchantId`. Null when the merchant\n * hasn't been registered on-chain yet. The hosted enrolment page\n * refuses to take signatures in that state.\n */\n chainMerchantId: z\n .string()\n .regex(/^[0-9]+$/u, 'must be a non-negative decimal integer string')\n .nullable(),\n /**\n * ERC-20 token contract address resolved from `currency`. This is the\n * EIP-2612 `verifyingContract` the wallet signs over.\n */\n tokenAddress: evmAddressSchema.nullable(),\n /**\n * Charge cadence in seconds, derived from `interval` + `intervalCount`\n * so the meta-tx layer can pass a uint32 to StrimzSubscriptions\n * without re-deriving the conversion on the client.\n */\n intervalSeconds: z.number().int().positive(),\n name: z.string().min(1).max(120),\n description: z.string().max(500).nullable(),\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1).max(365),\n trialPeriodDays: z.number().int().min(0).max(365).nullable(),\n status: subscriptionPlanStatusSchema,\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type SubscriptionPlan = z.infer<typeof subscriptionPlanSchema>\n\nexport const createSubscriptionPlanInputSchema = z.object({\n name: z.string().min(1).max(120),\n description: z.string().max(500).optional(),\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1).max(365).default(1),\n trialPeriodDays: z.number().int().min(0).max(365).optional(),\n metadata: metadataSchema.optional(),\n})\nexport type CreateSubscriptionPlanInput = z.input<typeof createSubscriptionPlanInputSchema>\nexport type CreateSubscriptionPlanParsed = z.output<typeof createSubscriptionPlanInputSchema>\n\n// ---------- Subscriptions ----------\n\nexport const subscriptionStatusSchema = z.enum([\n 'trialing',\n 'active',\n 'at_risk',\n 'paused',\n 'cancelled',\n 'lapsed',\n])\nexport type SubscriptionStatus = z.infer<typeof subscriptionStatusSchema>\n\nexport const subscriptionSchema = z.object({\n id: idSchema,\n onchainSubscriptionId: z.number().int().nonnegative().nullable(),\n merchantId: idSchema,\n customerId: idSchema,\n planId: idSchema,\n status: subscriptionStatusSchema,\n payerAddress: evmAddressSchema,\n currency: paymentCurrencySchema,\n amount: tokenAmountSchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1),\n trialEndsAt: isoTimestampSchema.nullable(),\n currentPeriodStartAt: isoTimestampSchema,\n currentPeriodEndAt: isoTimestampSchema,\n nextChargeAt: isoTimestampSchema.nullable(),\n gracePeriodHours: z.number().int().min(0).max(72),\n cancelledAt: isoTimestampSchema.nullable(),\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type Subscription = z.infer<typeof subscriptionSchema>\n\n/** Whether a wallet already subscribes to a given plan, and which one. */\nexport const subscriptionStatusResultSchema = z.object({\n active: z.boolean(),\n subscriptionId: idSchema.nullable(),\n})\nexport type SubscriptionStatusResult = z.infer<typeof subscriptionStatusResultSchema>\n\nexport const subscriptionEnrolmentTermsSchema = z.object({\n startAt: z.string().regex(/^\\d+$/),\n trialDays: z.number().int().min(0),\n trialEndsAt: isoTimestampSchema.nullable(),\n})\nexport type SubscriptionEnrolmentTerms = z.infer<typeof subscriptionEnrolmentTermsSchema>\n\nexport const cancelSubscriptionInputSchema = z.object({\n id: idSchema,\n reason: z.string().max(500).optional(),\n})\nexport type CancelSubscriptionInput = z.input<typeof cancelSubscriptionInputSchema>\nexport type CancelSubscriptionParsed = z.output<typeof cancelSubscriptionInputSchema>\n\n// ---------- Charges ----------\n\n// One value per contract ChargeOutcome. `skipped` is the fallback for\n// outcomes a future contract appends.\nexport const subscriptionChargeOutcomeSchema = z.enum([\n 'charged',\n 'insufficient_funds',\n 'revoked_approval',\n 'cancelled',\n 'not_due',\n 'ended',\n 'duplicate',\n 'unknown',\n 'merchant_inactive',\n 'transfer_failed',\n 'skipped',\n])\nexport type SubscriptionChargeOutcome = z.infer<typeof subscriptionChargeOutcomeSchema>\n\nexport const subscriptionChargeStatusSchema = z.enum([\n 'pending',\n 'in_flight',\n 'succeeded',\n 'failed',\n 'retrying',\n 'abandoned',\n])\nexport type SubscriptionChargeStatus = z.infer<typeof subscriptionChargeStatusSchema>\n\nexport const subscriptionChargeSchema = z.object({\n id: idSchema,\n subscriptionId: idSchema,\n merchantId: idSchema,\n chargeAttemptId: z.string().length(66, 'must be a 32-byte 0x-prefixed hex string'),\n periodStartAt: isoTimestampSchema,\n periodEndAt: isoTimestampSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n status: subscriptionChargeStatusSchema,\n outcome: subscriptionChargeOutcomeSchema.nullable(),\n attemptNumber: z.number().int().min(1),\n scheduledAt: isoTimestampSchema,\n executedAt: isoTimestampSchema.nullable(),\n onchainTxHash: evmTxHashSchema.nullable(),\n failureReason: z.string().max(500).nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type SubscriptionCharge = z.infer<typeof subscriptionChargeSchema>\n","import { z } from 'zod'\nimport {\n idSchema,\n isoTimestampSchema,\n modeSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n uintSchema,\n type PaymentCurrency,\n} from './common.js'\nimport { invoiceStatusSchema } from './invoices.js'\nimport { paymentSessionStatusSchema } from './payment-sessions.js'\nimport { refundStatusSchema } from './refunds.js'\nimport { subscriptionStatusSchema } from './subscriptions.js'\n\nexport const paymentCurrencies = paymentCurrencySchema.options\n\nconst currencyAmountsShape = {\n USDC: tokenAmountSchema,\n EURC: tokenAmountSchema,\n} satisfies Record<PaymentCurrency, typeof tokenAmountSchema>\n\nexport const currencyAmountsSchema = z.object(currencyAmountsShape).strict()\nexport type CurrencyAmounts = z.infer<typeof currencyAmountsSchema>\n\nfunction countsByStatusSchema<T extends [string, ...string[]]>(statuses: z.ZodEnum<T>) {\n const shape = Object.fromEntries(statuses.options.map((s) => [s, uintSchema])) as {\n [K in T[number]]: typeof uintSchema\n }\n return z.object(shape).strict()\n}\n\nexport const moneySchema = z.object({\n count: uintSchema,\n amount: currencyAmountsSchema,\n})\nexport type Money = z.infer<typeof moneySchema>\n\nexport const volumeWindowSchema = z.object({\n count: uintSchema,\n gross: currencyAmountsSchema,\n fees: currencyAmountsSchema,\n net: currencyAmountsSchema,\n})\nexport type VolumeWindow = z.infer<typeof volumeWindowSchema>\n\nexport const statsSummarySchema = z.object({\n mode: modeSchema,\n generatedAt: isoTimestampSchema,\n volume: z.object({\n last7d: volumeWindowSchema,\n last30d: volumeWindowSchema,\n allTime: volumeWindowSchema,\n }),\n paymentSessions: z.object({\n total: uintSchema,\n byStatus: countsByStatusSchema(paymentSessionStatusSchema),\n confirmed: moneySchema,\n }),\n invoices: z.object({\n byStatus: countsByStatusSchema(invoiceStatusSchema),\n outstanding: moneySchema,\n overdue: moneySchema,\n paidLast30d: moneySchema,\n }),\n refunds: z.object({\n byStatus: countsByStatusSchema(refundStatusSchema),\n completed: moneySchema,\n }),\n subscriptions: z.object({\n total: uintSchema,\n byStatus: countsByStatusSchema(subscriptionStatusSchema),\n }),\n customers: z.object({\n total: uintSchema,\n }),\n})\nexport type StatsSummary = z.infer<typeof statsSummarySchema>\n\nexport const STATS_VOLUME_MAX_DAYS = 366\nexport const STATS_VOLUME_DEFAULT_DAYS = 30\n\nexport function resolveStatsVolumeRange(\n query: { from?: string; to?: string },\n now: number = Date.now(),\n): { from: Date; to: Date } {\n const to = query.to ? new Date(query.to) : new Date(now)\n const from = query.from\n ? new Date(query.from)\n : new Date(to.getTime() - STATS_VOLUME_DEFAULT_DAYS * 86_400_000)\n return { from, to }\n}\n\nexport const statsVolumeQuerySchema = z\n .object({\n from: isoTimestampSchema.optional(),\n to: isoTimestampSchema.optional(),\n })\n .strict()\n .superRefine((q, ctx) => {\n const { from, to } = resolveStatsVolumeRange(q)\n if (from.getTime() > to.getTime()) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'from must not be after to',\n path: ['from'],\n })\n } else if (to.getTime() - from.getTime() > STATS_VOLUME_MAX_DAYS * 86_400_000) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `from and to must be at most ${STATS_VOLUME_MAX_DAYS} days apart`,\n path: ['to'],\n })\n }\n })\nexport type StatsVolumeQuery = z.infer<typeof statsVolumeQuerySchema>\n\nconst dayKeySchema = z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'must be a YYYY-MM-DD day')\n\nexport const statsVolumeDaySchema = z.object({\n day: dayKeySchema,\n currency: paymentCurrencySchema,\n count: uintSchema,\n gross: tokenAmountSchema,\n fees: tokenAmountSchema,\n net: tokenAmountSchema,\n})\nexport type StatsVolumeDay = z.infer<typeof statsVolumeDaySchema>\n\nexport const statsVolumeSchema = z.object({\n from: isoTimestampSchema,\n to: isoTimestampSchema,\n data: z.array(statsVolumeDaySchema),\n})\nexport type StatsVolume = z.infer<typeof statsVolumeSchema>\n\nexport const statsMrrSchema = z.object({\n mrr: currencyAmountsSchema,\n activeSubscribers: uintSchema,\n})\nexport type StatsMrr = z.infer<typeof statsMrrSchema>\n\nexport const statsLtvQuerySchema = z\n .object({\n currency: paymentCurrencySchema,\n limit: z.coerce.number().int().min(1).max(100).default(25),\n cursor: z.string().min(1).max(200).optional(),\n })\n .strict()\nexport type StatsLtvQuery = z.input<typeof statsLtvQuerySchema>\nexport type StatsLtvQueryParsed = z.output<typeof statsLtvQuerySchema>\n\nexport const statsLtvRowSchema = z.object({\n customerId: idSchema,\n totalSpend: tokenAmountSchema,\n transactionCount: uintSchema,\n})\nexport type StatsLtvRow = z.infer<typeof statsLtvRowSchema>\n\nexport const statsLtvSchema = z.object({\n currency: paymentCurrencySchema,\n data: z.array(statsLtvRowSchema),\n nextCursor: z.string().nullable(),\n hasMore: z.boolean(),\n})\nexport type StatsLtv = z.infer<typeof statsLtvSchema>\n\nexport const forecastConfidenceSchema = z.enum(['low', 'medium', 'high'])\nexport type ForecastConfidence = z.infer<typeof forecastConfidenceSchema>\n\nexport const forecastSchema = z.object({\n confidence: forecastConfidenceSchema,\n last90DayRevenue: tokenAmountSchema,\n next30: tokenAmountSchema,\n next60: tokenAmountSchema,\n next90: tokenAmountSchema,\n})\nexport type Forecast = z.infer<typeof forecastSchema>\n\nconst forecastByCurrencyShape = {\n USDC: forecastSchema,\n EURC: forecastSchema,\n} satisfies Record<PaymentCurrency, typeof forecastSchema>\n\nexport const statsForecastSchema = z.object({\n byCurrency: z.object(forecastByCurrencyShape).strict(),\n})\nexport type StatsForecast = z.infer<typeof statsForecastSchema>\n\nexport const adminStatsModeQuerySchema = z\n .object({\n mode: modeSchema.default('live'),\n })\n .strict()\nexport type AdminStatsModeQuery = z.input<typeof adminStatsModeQuerySchema>\n\nexport const adminOverviewSchema = z.object({\n mode: modeSchema,\n merchants: z.object({\n total: uintSchema,\n byStatus: z.record(z.string(), uintSchema),\n last30dSignups: uintSchema,\n }),\n volume: z.object({\n lifetime: currencyAmountsSchema,\n lifetimeFees: currencyAmountsSchema,\n last30d: currencyAmountsSchema,\n confirmedSessions: uintSchema,\n }),\n subscriptions: z.object({\n active: uintSchema,\n mrr: currencyAmountsSchema,\n }),\n})\nexport type AdminOverview = z.infer<typeof adminOverviewSchema>\n\nexport const adminMerchantStatsSchema = z.object({\n mode: modeSchema,\n confirmedPayments: uintSchema,\n activeSubscriptions: uintSchema,\n lifetimeVolume: currencyAmountsSchema,\n last30dVolume: currencyAmountsSchema,\n})\nexport type AdminMerchantStats = z.infer<typeof adminMerchantStatsSchema>\n\nexport const adminVolumeQuerySchema = z\n .object({\n from: isoTimestampSchema.optional(),\n to: isoTimestampSchema.optional(),\n mode: modeSchema.default('live'),\n })\n .strict()\nexport type AdminVolumeQuery = z.input<typeof adminVolumeQuerySchema>\n\nexport const adminVolumeDaySchema = z.object({\n day: dayKeySchema,\n currency: paymentCurrencySchema,\n volume: tokenAmountSchema,\n fees: tokenAmountSchema,\n count: uintSchema,\n})\nexport type AdminVolumeDay = z.infer<typeof adminVolumeDaySchema>\n\nexport const adminVolumeSeriesSchema = z.object({\n mode: modeSchema,\n from: isoTimestampSchema,\n to: isoTimestampSchema,\n data: z.array(adminVolumeDaySchema),\n})\nexport type AdminVolumeSeries = z.infer<typeof adminVolumeSeriesSchema>\n\nexport const adminTopMerchantsQuerySchema = z\n .object({\n currency: paymentCurrencySchema,\n mode: modeSchema.default('live'),\n limit: z.coerce.number().int().min(1).max(50).default(10),\n })\n .strict()\nexport type AdminTopMerchantsQuery = z.input<typeof adminTopMerchantsQuerySchema>\n\nexport const adminTopMerchantSchema = z.object({\n merchantId: idSchema,\n businessName: z.string().nullable(),\n email: z.string(),\n volume: tokenAmountSchema,\n transactionCount: uintSchema,\n})\nexport type AdminTopMerchant = z.infer<typeof adminTopMerchantSchema>\n\nexport const adminTopMerchantsSchema = z.object({\n mode: modeSchema,\n currency: paymentCurrencySchema,\n data: z.array(adminTopMerchantSchema),\n})\nexport type AdminTopMerchants = z.infer<typeof adminTopMerchantsSchema>\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/common.ts","../src/invoices.ts","../src/payment-sessions.ts","../src/refunds.ts","../src/subscriptions.ts","../src/analytics.ts"],"names":["z"],"mappings":"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","file":"analytics.cjs","sourcesContent":["/**\n * Primitive schemas shared across every entity.\n * Every higher-level schema builds on these so validation is consistent.\n */\n\nimport { z } from 'zod'\n\n/** CUID2 or UUID-style opaque identifier. */\nexport const idSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[a-zA-Z0-9_-]+$/, 'id must be URL-safe')\n\n/** EVM address. Hex-encoded, 0x-prefixed, 20 bytes. Normalised to lowercase. */\nexport const evmAddressSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{40}$/, 'must be a 0x-prefixed 40-character hex EVM address')\n .transform((v) => v.toLowerCase())\n\n/** EVM transaction hash. 32-byte hex. */\nexport const evmTxHashSchema = z\n .string()\n .regex(/^0x[a-fA-F0-9]{64}$/, 'must be a 0x-prefixed 64-character hex EVM transaction hash')\n\n/** Email address, trimmed and lower-cased. */\nexport const emailSchema = z.string().email().trim().toLowerCase().max(320)\n\n/** HTTPS URL. No http:// allowed outside dev. */\nexport const httpsUrlSchema = z\n .string()\n .url()\n .refine((v) => v.startsWith('https://'), {\n message: 'must be an https:// URL',\n })\n\n/** URL permitting http and https (dev + prod). */\nexport const httpUrlSchema = z.string().url()\n\n/**\n * Amount expressed in the token's smallest unit, serialised as a string to\n * preserve precision beyond `Number.MAX_SAFE_INTEGER`. For USDC (6 decimals),\n * 1 USDC is the string \"1000000\".\n */\nexport const tokenAmountSchema = z\n .string()\n .regex(/^[0-9]+$/, 'must be a non-negative integer string (base-10)')\n\n/** Unsigned integer up to 2^53 - 1; validated and returned as number. */\nexport const uintSchema = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER)\n\n/** ISO-8601 timestamp string (`.toISOString()`-compatible). */\nexport const isoTimestampSchema = z\n .string()\n .datetime({ offset: true, message: 'must be an ISO-8601 timestamp' })\n\n/** Two-letter ISO-3166 country code. */\nexport const countryCodeSchema = z\n .string()\n .length(2)\n .regex(/^[A-Z]{2}$/, 'must be an ISO-3166 alpha-2 country code')\n\n/** Pagination inputs used by every list endpoint. */\nexport const paginationInputSchema = z.object({\n limit: z.number().int().min(1).max(100).default(25),\n cursor: z.string().min(1).max(200).nullish(),\n})\nexport type PaginationInput = z.input<typeof paginationInputSchema>\nexport type PaginationParsed = z.output<typeof paginationInputSchema>\n\n/** Pagination envelope used by every list response. */\nexport const makePaginatedSchema = <T extends z.ZodTypeAny>(item: T) =>\n z.object({\n data: z.array(item),\n nextCursor: z.string().nullable(),\n hasMore: z.boolean(),\n })\n\n/** Free-form metadata bag the API round-trips for merchants. */\nexport const metadataSchema = z\n .record(\n z.string().min(1).max(40),\n z.union([z.string().max(500), z.number(), z.boolean(), z.null()]),\n )\n .refine((m) => Object.keys(m).length <= 50, 'at most 50 metadata keys')\n .default({})\n\n/** Environment mode carried on every mode-scoped resource. */\nexport const modeSchema = z.enum(['test', 'live'])\nexport type Mode = z.infer<typeof modeSchema>\n\n/** Payment token enum. */\nexport const paymentCurrencySchema = z.enum(['USDC', 'EURC'])\nexport type PaymentCurrency = z.infer<typeof paymentCurrencySchema>\n\n/** Every display-level currency (payment + treasury). */\nexport const tokenSymbolSchema = z.enum(['USDC', 'EURC', 'USYC'])\nexport type TokenSymbol = z.infer<typeof tokenSymbolSchema>\n\n/** Merchant tier enum. */\nexport const merchantTierSchema = z.enum(['free', 'growth', 'business', 'enterprise'])\nexport type MerchantTier = z.infer<typeof merchantTierSchema>\n\n/** Arc environment enum. */\nexport const arcEnvironmentSchema = z.enum(['testnet', 'mainnet'])\nexport type ArcEnvironment = z.infer<typeof arcEnvironmentSchema>\n\nexport type Id = z.infer<typeof idSchema>\nexport type EvmAddress = z.infer<typeof evmAddressSchema>\nexport type EvmTxHash = z.infer<typeof evmTxHashSchema>\nexport type TokenAmount = z.infer<typeof tokenAmountSchema>\nexport type IsoTimestamp = z.infer<typeof isoTimestampSchema>\nexport type Metadata = z.infer<typeof metadataSchema>\n","/**\n * Invoices. Shareable, expirable payment requests with structured line items.\n */\n\nimport { z } from 'zod'\nimport {\n emailSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const invoiceStatusSchema = z.enum(['draft', 'sent', 'paid', 'overdue', 'void'])\nexport type InvoiceStatus = z.infer<typeof invoiceStatusSchema>\n\nexport const invoiceLineItemSchema = z.object({\n description: z.string().min(1).max(500),\n quantity: z.number().int().min(1).max(10_000),\n unitAmount: tokenAmountSchema,\n})\nexport type InvoiceLineItem = z.infer<typeof invoiceLineItemSchema>\n\nexport const invoiceSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n number: z.string().min(1).max(40),\n customerName: z.string().min(1).max(200).nullable(),\n customerEmail: emailSchema.nullable(),\n lineItems: z.array(invoiceLineItemSchema).nonempty(),\n subtotal: tokenAmountSchema,\n total: tokenAmountSchema,\n currency: paymentCurrencySchema,\n status: invoiceStatusSchema,\n note: z.string().max(2000).nullable(),\n sessionId: idSchema.nullable(),\n dueAt: isoTimestampSchema,\n paidAt: isoTimestampSchema.nullable(),\n sentAt: isoTimestampSchema.nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type Invoice = z.infer<typeof invoiceSchema>\n\nexport const createInvoiceInputSchema = z.object({\n customerName: z.string().min(1).max(200).optional(),\n customerEmail: emailSchema.optional(),\n lineItems: z.array(invoiceLineItemSchema).nonempty(),\n currency: paymentCurrencySchema,\n note: z.string().max(2000).optional(),\n dueInDays: z.number().int().min(1).max(90).default(7),\n})\nexport type CreateInvoiceInput = z.input<typeof createInvoiceInputSchema>\nexport type CreateInvoiceParsed = z.output<typeof createInvoiceInputSchema>\n","/**\n * Payment session. A one-shot checkout intent.\n *\n * State machine:\n * created → awaiting_payment → submitted → confirmed\n * \\\n * → failed\n * → expired\n * → cancelled\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const paymentSessionStatusSchema = z.enum([\n 'created',\n 'awaiting_payment',\n 'submitted',\n 'confirmed',\n 'failed',\n 'expired',\n 'cancelled',\n])\nexport type PaymentSessionStatus = z.infer<typeof paymentSessionStatusSchema>\n\n/**\n * Merchant-supplied callback URL. The hosted checkout dispatches with\n * `window.location.href = redirectUrl` on completion / cancellation,\n * so we MUST reject anything other than `http://` and `https://`.\n *\n * Why this is a real risk: Zod's `.url()` validates RFC syntax, which\n * accepts `javascript:`, `data:`, `vbscript:`, `file:`, blob:`, etc.\n * A compromised merchant integration or an XSS upstream could ship a\n * session whose redirect URL executes script (or exfiltrates session\n * tokens) on every payer's browser. The damage is per-payer, but the\n * blast radius is \"every checkout the merchant runs.\"\n *\n * Mailto / tel and other handler protocols are also rejected — there\n * is no legitimate flow on a payment checkout that would benefit.\n */\nexport const callbackUrlSchema = z\n .string()\n .url()\n .refine((v) => v.startsWith('https://') || v.startsWith('http://'), {\n message: 'must be an http:// or https:// URL',\n })\n\nexport const paymentSessionSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /**\n * On-chain StrimzRegistry merchant id (uint96) as a decimal string.\n * Set when the merchant has been registered on-chain; null when the\n * merchant exists in our DB but the registry transaction hasn't\n * been broadcast yet. Hosted checkout uses this to populate the\n * meta-tx calldata; if null, the checkout refuses to accept\n * payments.\n */\n chainMerchantId: z\n .string()\n .regex(/^[0-9]+$/u, 'must be a non-negative decimal integer string')\n .nullable(),\n /**\n * ERC-20 token contract address resolved from `currency` on the\n * active chain (Arc Testnet / Mainnet). Used as the `verifyingContract`\n * in the EIP-712 domain for both EIP-3009 and EIP-2612 signing.\n * Null on the (vanishingly unlikely) path where the API has no\n * configured address for the session's currency.\n */\n tokenAddress: evmAddressSchema.nullable(),\n customerId: idSchema.nullable(),\n status: paymentSessionStatusSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n feeAmount: tokenAmountSchema,\n netAmount: tokenAmountSchema,\n description: z.string().max(500).nullable(),\n payerWalletAddress: evmAddressSchema.nullable(),\n payerEmail: z.string().email().nullable(),\n successUrl: callbackUrlSchema.nullable(),\n cancelUrl: callbackUrlSchema.nullable(),\n sourceChain: z\n .enum(['arc', 'ethereum', 'base', 'polygon', 'arbitrum', 'optimism', 'avalanche', 'solana'])\n .nullable(),\n bridgeTxHash: evmTxHashSchema.nullable(),\n onchainTxHash: evmTxHashSchema.nullable(),\n checkoutUrl: z.string().url(),\n metadata: metadataSchema,\n expiresAt: isoTimestampSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type PaymentSession = z.infer<typeof paymentSessionSchema>\n\n// ---------- DTOs ----------\n\nexport const createPaymentSessionInputSchema = z.object({\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n description: z.string().max(500).optional(),\n customer: z\n .object({\n walletAddress: evmAddressSchema.optional(),\n email: z.string().email().optional(),\n externalRef: z.string().max(120).optional(),\n })\n .optional(),\n successUrl: z.string().url().optional(),\n cancelUrl: z.string().url().optional(),\n /** Minutes until the session expires. Default 30, max 60*24 (one day). */\n expiresInMinutes: z\n .number()\n .int()\n .min(1)\n .max(60 * 24)\n .default(30),\n /**\n * Allowed source chains a payer can bridge USDC from via CCTP. Omit to\n * accept every CCTP-supported chain.\n */\n supportedSourceChains: z\n .array(\n z.enum(['arc', 'ethereum', 'base', 'polygon', 'arbitrum', 'optimism', 'avalanche', 'solana']),\n )\n .optional(),\n metadata: metadataSchema.optional(),\n})\nexport type CreatePaymentSessionInput = z.input<typeof createPaymentSessionInputSchema>\nexport type CreatePaymentSessionParsed = z.output<typeof createPaymentSessionInputSchema>\n\nexport const submitPaymentSessionInputSchema = z.object({\n sourceChain: z.enum([\n 'arc',\n 'ethereum',\n 'base',\n 'polygon',\n 'arbitrum',\n 'optimism',\n 'avalanche',\n 'solana',\n ]),\n onchainTxHash: evmTxHashSchema,\n bridgeTxHash: evmTxHashSchema.optional(),\n payerWalletAddress: evmAddressSchema,\n})\nexport type SubmitPaymentSessionInput = z.input<typeof submitPaymentSessionInputSchema>\nexport type SubmitPaymentSessionParsed = z.output<typeof submitPaymentSessionInputSchema>\n","/**\n * Refund. A merchant-initiated return of funds to a payer.\n *\n * Refunds are executed off-chain (from the merchant's wallet to the payer's\n * wallet). Strimz records the intent, validates constraints, and reconciles\n * via the merchant-signed on-chain transfer.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\nexport const refundReasonSchema = z.enum([\n 'customer_request',\n 'product_issue',\n 'duplicate_charge',\n 'fraudulent',\n 'other',\n])\nexport type RefundReason = z.infer<typeof refundReasonSchema>\n\nexport const refundStatusSchema = z.enum([\n 'pending',\n 'awaiting_signature',\n 'submitted',\n 'completed',\n 'failed',\n 'cancelled',\n])\nexport type RefundStatus = z.infer<typeof refundStatusSchema>\n\nexport const refundSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n transactionId: idSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n reason: refundReasonSchema,\n note: z.string().max(500).nullable(),\n status: refundStatusSchema,\n payerAddress: evmAddressSchema,\n refundTxHash: evmTxHashSchema.nullable(),\n failureReason: z.string().max(500).nullable(),\n initiatedBy: idSchema,\n createdAt: isoTimestampSchema,\n completedAt: isoTimestampSchema.nullable(),\n})\nexport type Refund = z.infer<typeof refundSchema>\n\nexport const createRefundInputSchema = z.object({\n transactionId: idSchema,\n amount: tokenAmountSchema,\n reason: refundReasonSchema,\n note: z.string().max(500).optional(),\n})\nexport type CreateRefundInput = z.input<typeof createRefundInputSchema>\nexport type CreateRefundParsed = z.output<typeof createRefundInputSchema>\n\nexport const submitRefundSignatureInputSchema = z.object({\n id: idSchema,\n refundTxHash: evmTxHashSchema,\n})\nexport type SubmitRefundSignatureInput = z.input<typeof submitRefundSignatureInputSchema>\nexport type SubmitRefundSignatureParsed = z.output<typeof submitRefundSignatureInputSchema>\n\n/**\n * Response envelope for `POST /v1/refunds`. The API returns the newly\n * created refund plus the concrete ERC-20 transfer the merchant now\n * has to sign from their payout wallet.\n */\nexport const refundSigningInstructionsSchema = z.object({\n token: evmAddressSchema,\n to: evmAddressSchema,\n amount: tokenAmountSchema,\n note: z.string(),\n})\nexport type RefundSigningInstructions = z.infer<typeof refundSigningInstructionsSchema>\n\nexport const refundCreateOutputSchema = z.object({\n refund: refundSchema,\n signingInstructions: refundSigningInstructionsSchema,\n})\nexport type RefundCreateOutput = z.infer<typeof refundCreateOutputSchema>\n","/**\n * Subscriptions: plans, active subscriptions, and individual charges.\n *\n * Design notes:\n * - A SubscriptionPlan is the template a merchant defines.\n * - A Subscription is an active, customer-scoped instance of a plan.\n * - Each billing period produces a SubscriptionCharge with a unique\n * chargeAttemptId used to enforce idempotency at the contract level.\n */\n\nimport { z } from 'zod'\nimport {\n evmAddressSchema,\n evmTxHashSchema,\n idSchema,\n isoTimestampSchema,\n metadataSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n} from './common.js'\n\n// ---------- Plans ----------\n\nexport const subscriptionIntervalSchema = z.enum([\n 'daily',\n 'weekly',\n 'monthly',\n 'quarterly',\n 'yearly',\n])\nexport type SubscriptionInterval = z.infer<typeof subscriptionIntervalSchema>\n\nexport const subscriptionPlanStatusSchema = z.enum(['active', 'archived'])\nexport type SubscriptionPlanStatus = z.infer<typeof subscriptionPlanStatusSchema>\n\nexport const subscriptionPlanSchema = z.object({\n id: idSchema,\n merchantId: idSchema,\n /**\n * On-chain StrimzRegistry merchant id (uint96) as a decimal string.\n * See `paymentSessionSchema.chainMerchantId`. Null when the merchant\n * hasn't been registered on-chain yet. The hosted enrolment page\n * refuses to take signatures in that state.\n */\n chainMerchantId: z\n .string()\n .regex(/^[0-9]+$/u, 'must be a non-negative decimal integer string')\n .nullable(),\n /**\n * ERC-20 token contract address resolved from `currency`. This is the\n * EIP-2612 `verifyingContract` the wallet signs over.\n */\n tokenAddress: evmAddressSchema.nullable(),\n /**\n * Charge cadence in seconds, derived from `interval` + `intervalCount`\n * so the meta-tx layer can pass a uint32 to StrimzSubscriptions\n * without re-deriving the conversion on the client.\n */\n intervalSeconds: z.number().int().positive(),\n name: z.string().min(1).max(120),\n description: z.string().max(500).nullable(),\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1).max(365),\n trialPeriodDays: z.number().int().min(0).max(365).nullable(),\n status: subscriptionPlanStatusSchema,\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type SubscriptionPlan = z.infer<typeof subscriptionPlanSchema>\n\nexport const createSubscriptionPlanInputSchema = z.object({\n name: z.string().min(1).max(120),\n description: z.string().max(500).optional(),\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1).max(365).default(1),\n trialPeriodDays: z.number().int().min(0).max(365).optional(),\n metadata: metadataSchema.optional(),\n})\nexport type CreateSubscriptionPlanInput = z.input<typeof createSubscriptionPlanInputSchema>\nexport type CreateSubscriptionPlanParsed = z.output<typeof createSubscriptionPlanInputSchema>\n\n// ---------- Subscriptions ----------\n\nexport const subscriptionStatusSchema = z.enum([\n 'trialing',\n 'active',\n 'at_risk',\n 'paused',\n 'cancelled',\n 'lapsed',\n])\nexport type SubscriptionStatus = z.infer<typeof subscriptionStatusSchema>\n\nexport const subscriptionSchema = z.object({\n id: idSchema,\n onchainSubscriptionId: z.number().int().nonnegative().nullable(),\n merchantId: idSchema,\n customerId: idSchema,\n planId: idSchema,\n status: subscriptionStatusSchema,\n payerAddress: evmAddressSchema,\n currency: paymentCurrencySchema,\n amount: tokenAmountSchema,\n interval: subscriptionIntervalSchema,\n intervalCount: z.number().int().min(1),\n trialEndsAt: isoTimestampSchema.nullable(),\n currentPeriodStartAt: isoTimestampSchema,\n currentPeriodEndAt: isoTimestampSchema,\n nextChargeAt: isoTimestampSchema.nullable(),\n gracePeriodHours: z.number().int().min(0).max(72),\n cancelledAt: isoTimestampSchema.nullable(),\n metadata: metadataSchema,\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type Subscription = z.infer<typeof subscriptionSchema>\n\n/** Whether a wallet already subscribes to a given plan, and which one. */\nexport const subscriptionStatusResultSchema = z.object({\n active: z.boolean(),\n subscriptionId: idSchema.nullable(),\n})\nexport type SubscriptionStatusResult = z.infer<typeof subscriptionStatusResultSchema>\n\nexport const subscriptionEnrolmentTermsSchema = z.object({\n startAt: z.string().regex(/^\\d+$/),\n trialDays: z.number().int().min(0),\n trialEndsAt: isoTimestampSchema.nullable(),\n})\nexport type SubscriptionEnrolmentTerms = z.infer<typeof subscriptionEnrolmentTermsSchema>\n\nexport const cancelSubscriptionInputSchema = z.object({\n id: idSchema,\n reason: z.string().max(500).optional(),\n})\nexport type CancelSubscriptionInput = z.input<typeof cancelSubscriptionInputSchema>\nexport type CancelSubscriptionParsed = z.output<typeof cancelSubscriptionInputSchema>\n\n// ---------- Charges ----------\n\n// One value per contract ChargeOutcome. `skipped` is the fallback for\n// outcomes a future contract appends.\nexport const subscriptionChargeOutcomeSchema = z.enum([\n 'charged',\n 'insufficient_funds',\n 'revoked_approval',\n 'cancelled',\n 'not_due',\n 'ended',\n 'duplicate',\n 'unknown',\n 'merchant_inactive',\n 'transfer_failed',\n 'skipped',\n])\nexport type SubscriptionChargeOutcome = z.infer<typeof subscriptionChargeOutcomeSchema>\n\nexport const subscriptionChargeStatusSchema = z.enum([\n 'pending',\n 'in_flight',\n 'succeeded',\n 'failed',\n 'retrying',\n 'abandoned',\n])\nexport type SubscriptionChargeStatus = z.infer<typeof subscriptionChargeStatusSchema>\n\nexport const subscriptionChargeSchema = z.object({\n id: idSchema,\n subscriptionId: idSchema,\n merchantId: idSchema,\n chargeAttemptId: z.string().length(66, 'must be a 32-byte 0x-prefixed hex string'),\n periodStartAt: isoTimestampSchema,\n periodEndAt: isoTimestampSchema,\n amount: tokenAmountSchema,\n currency: paymentCurrencySchema,\n status: subscriptionChargeStatusSchema,\n outcome: subscriptionChargeOutcomeSchema.nullable(),\n attemptNumber: z.number().int().min(1),\n scheduledAt: isoTimestampSchema,\n executedAt: isoTimestampSchema.nullable(),\n onchainTxHash: evmTxHashSchema.nullable(),\n failureReason: z.string().max(500).nullable(),\n createdAt: isoTimestampSchema,\n updatedAt: isoTimestampSchema,\n})\nexport type SubscriptionCharge = z.infer<typeof subscriptionChargeSchema>\n","import { z } from 'zod'\nimport {\n idSchema,\n isoTimestampSchema,\n modeSchema,\n paymentCurrencySchema,\n tokenAmountSchema,\n uintSchema,\n type PaymentCurrency,\n} from './common.js'\nimport { invoiceStatusSchema } from './invoices.js'\nimport { paymentSessionStatusSchema } from './payment-sessions.js'\nimport { refundStatusSchema } from './refunds.js'\nimport { subscriptionStatusSchema } from './subscriptions.js'\n\nexport const paymentCurrencies = paymentCurrencySchema.options\n\nconst currencyAmountsShape = {\n USDC: tokenAmountSchema,\n EURC: tokenAmountSchema,\n} satisfies Record<PaymentCurrency, typeof tokenAmountSchema>\n\nexport const currencyAmountsSchema = z.object(currencyAmountsShape).strict()\nexport type CurrencyAmounts = z.infer<typeof currencyAmountsSchema>\n\nfunction countsByStatusSchema<T extends [string, ...string[]]>(statuses: z.ZodEnum<T>) {\n const shape = Object.fromEntries(statuses.options.map((s) => [s, uintSchema])) as {\n [K in T[number]]: typeof uintSchema\n }\n return z.object(shape).strict()\n}\n\nexport const moneySchema = z.object({\n count: uintSchema,\n amount: currencyAmountsSchema,\n})\nexport type Money = z.infer<typeof moneySchema>\n\nexport const volumeWindowSchema = z.object({\n count: uintSchema,\n gross: currencyAmountsSchema,\n fees: currencyAmountsSchema,\n net: currencyAmountsSchema,\n})\nexport type VolumeWindow = z.infer<typeof volumeWindowSchema>\n\nexport const statsSummarySchema = z.object({\n mode: modeSchema,\n generatedAt: isoTimestampSchema,\n volume: z.object({\n last7d: volumeWindowSchema,\n last30d: volumeWindowSchema,\n allTime: volumeWindowSchema,\n }),\n paymentSessions: z.object({\n total: uintSchema,\n byStatus: countsByStatusSchema(paymentSessionStatusSchema),\n confirmed: moneySchema,\n }),\n invoices: z.object({\n byStatus: countsByStatusSchema(invoiceStatusSchema),\n outstanding: moneySchema,\n overdue: moneySchema,\n paidLast30d: moneySchema,\n }),\n refunds: z.object({\n byStatus: countsByStatusSchema(refundStatusSchema),\n completed: moneySchema,\n }),\n subscriptions: z.object({\n total: uintSchema,\n byStatus: countsByStatusSchema(subscriptionStatusSchema),\n }),\n customers: z.object({\n total: uintSchema,\n }),\n})\nexport type StatsSummary = z.infer<typeof statsSummarySchema>\n\nexport const STATS_VOLUME_MAX_DAYS = 366\nexport const STATS_VOLUME_DEFAULT_DAYS = 30\n\nexport function resolveStatsVolumeRange(\n query: { from?: string; to?: string },\n now: number = Date.now(),\n): { from: Date; to: Date } {\n const to = query.to ? new Date(query.to) : new Date(now)\n const from = query.from\n ? new Date(query.from)\n : new Date(to.getTime() - STATS_VOLUME_DEFAULT_DAYS * 86_400_000)\n return { from, to }\n}\n\nexport const statsVolumeQuerySchema = z\n .object({\n from: isoTimestampSchema.optional(),\n to: isoTimestampSchema.optional(),\n })\n .strict()\n .superRefine((q, ctx) => {\n const { from, to } = resolveStatsVolumeRange(q)\n if (from.getTime() > to.getTime()) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'from must not be after to',\n path: ['from'],\n })\n } else if (to.getTime() - from.getTime() > STATS_VOLUME_MAX_DAYS * 86_400_000) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `from and to must be at most ${STATS_VOLUME_MAX_DAYS} days apart`,\n path: ['to'],\n })\n }\n })\nexport type StatsVolumeQuery = z.infer<typeof statsVolumeQuerySchema>\n\nconst dayKeySchema = z.string().regex(/^\\d{4}-\\d{2}-\\d{2}$/, 'must be a YYYY-MM-DD day')\n\nexport const statsVolumeDaySchema = z.object({\n day: dayKeySchema,\n currency: paymentCurrencySchema,\n count: uintSchema,\n gross: tokenAmountSchema,\n fees: tokenAmountSchema,\n net: tokenAmountSchema,\n})\nexport type StatsVolumeDay = z.infer<typeof statsVolumeDaySchema>\n\nexport const statsVolumeSchema = z.object({\n from: isoTimestampSchema,\n to: isoTimestampSchema,\n data: z.array(statsVolumeDaySchema),\n})\nexport type StatsVolume = z.infer<typeof statsVolumeSchema>\n\nexport const statsMrrSchema = z.object({\n mrr: currencyAmountsSchema,\n activeSubscribers: uintSchema,\n})\nexport type StatsMrr = z.infer<typeof statsMrrSchema>\n\nexport const statsLtvQuerySchema = z\n .object({\n currency: paymentCurrencySchema,\n limit: z.coerce.number().int().min(1).max(100).default(25),\n cursor: z.string().min(1).max(200).optional(),\n })\n .strict()\nexport type StatsLtvQuery = z.input<typeof statsLtvQuerySchema>\nexport type StatsLtvQueryParsed = z.output<typeof statsLtvQuerySchema>\n\nexport const statsLtvRowSchema = z.object({\n customerId: idSchema,\n totalSpend: tokenAmountSchema,\n transactionCount: uintSchema,\n})\nexport type StatsLtvRow = z.infer<typeof statsLtvRowSchema>\n\nexport const statsLtvSchema = z.object({\n currency: paymentCurrencySchema,\n data: z.array(statsLtvRowSchema),\n nextCursor: z.string().nullable(),\n hasMore: z.boolean(),\n})\nexport type StatsLtv = z.infer<typeof statsLtvSchema>\n\nexport const forecastConfidenceSchema = z.enum(['low', 'medium', 'high'])\nexport type ForecastConfidence = z.infer<typeof forecastConfidenceSchema>\n\nexport const forecastSchema = z.object({\n confidence: forecastConfidenceSchema,\n last90DayRevenue: tokenAmountSchema,\n next30: tokenAmountSchema,\n next60: tokenAmountSchema,\n next90: tokenAmountSchema,\n})\nexport type Forecast = z.infer<typeof forecastSchema>\n\nconst forecastByCurrencyShape = {\n USDC: forecastSchema,\n EURC: forecastSchema,\n} satisfies Record<PaymentCurrency, typeof forecastSchema>\n\nexport const statsForecastSchema = z.object({\n byCurrency: z.object(forecastByCurrencyShape).strict(),\n})\nexport type StatsForecast = z.infer<typeof statsForecastSchema>\n\nexport const adminStatsModeQuerySchema = z\n .object({\n mode: modeSchema.default('live'),\n })\n .strict()\nexport type AdminStatsModeQuery = z.input<typeof adminStatsModeQuerySchema>\n\nexport const adminOverviewSchema = z.object({\n mode: modeSchema,\n merchants: z.object({\n total: uintSchema,\n byStatus: z.record(z.string(), uintSchema),\n last30dSignups: uintSchema,\n }),\n volume: z.object({\n lifetime: currencyAmountsSchema,\n lifetimeFees: currencyAmountsSchema,\n last30d: currencyAmountsSchema,\n confirmedSessions: uintSchema,\n }),\n subscriptions: z.object({\n active: uintSchema,\n mrr: currencyAmountsSchema,\n }),\n})\nexport type AdminOverview = z.infer<typeof adminOverviewSchema>\n\nexport const adminMerchantStatsSchema = z.object({\n mode: modeSchema,\n confirmedPayments: uintSchema,\n activeSubscriptions: uintSchema,\n lifetimeVolume: currencyAmountsSchema,\n last30dVolume: currencyAmountsSchema,\n})\nexport type AdminMerchantStats = z.infer<typeof adminMerchantStatsSchema>\n\nexport const adminVolumeQuerySchema = z\n .object({\n from: isoTimestampSchema.optional(),\n to: isoTimestampSchema.optional(),\n mode: modeSchema.default('live'),\n })\n .strict()\nexport type AdminVolumeQuery = z.input<typeof adminVolumeQuerySchema>\n\nexport const adminVolumeDaySchema = z.object({\n day: dayKeySchema,\n currency: paymentCurrencySchema,\n volume: tokenAmountSchema,\n fees: tokenAmountSchema,\n count: uintSchema,\n})\nexport type AdminVolumeDay = z.infer<typeof adminVolumeDaySchema>\n\nexport const adminVolumeSeriesSchema = z.object({\n mode: modeSchema,\n from: isoTimestampSchema,\n to: isoTimestampSchema,\n data: z.array(adminVolumeDaySchema),\n})\nexport type AdminVolumeSeries = z.infer<typeof adminVolumeSeriesSchema>\n\nexport const adminTopMerchantsQuerySchema = z\n .object({\n currency: paymentCurrencySchema,\n mode: modeSchema.default('live'),\n limit: z.coerce.number().int().min(1).max(50).default(10),\n })\n .strict()\nexport type AdminTopMerchantsQuery = z.input<typeof adminTopMerchantsQuerySchema>\n\nexport const adminTopMerchantSchema = z.object({\n merchantId: idSchema,\n businessName: z.string().nullable(),\n email: z.string(),\n volume: tokenAmountSchema,\n transactionCount: uintSchema,\n})\nexport type AdminTopMerchant = z.infer<typeof adminTopMerchantSchema>\n\nexport const adminTopMerchantsSchema = z.object({\n mode: modeSchema,\n currency: paymentCurrencySchema,\n data: z.array(adminTopMerchantSchema),\n})\nexport type AdminTopMerchants = z.infer<typeof adminTopMerchantsSchema>\n"]}
|
package/dist/analytics.d.cts
CHANGED
|
@@ -2,8 +2,8 @@ import { z } from 'zod';
|
|
|
2
2
|
|
|
3
3
|
declare const paymentCurrencies: ["USDC", "EURC"];
|
|
4
4
|
declare const currencyAmountsSchema: z.ZodObject<{
|
|
5
|
-
USDC: z.
|
|
6
|
-
EURC: z.
|
|
5
|
+
USDC: z.ZodString;
|
|
6
|
+
EURC: z.ZodString;
|
|
7
7
|
}, "strict", z.ZodTypeAny, {
|
|
8
8
|
USDC: string;
|
|
9
9
|
EURC: string;
|
|
@@ -15,8 +15,8 @@ type CurrencyAmounts = z.infer<typeof currencyAmountsSchema>;
|
|
|
15
15
|
declare const moneySchema: z.ZodObject<{
|
|
16
16
|
count: z.ZodNumber;
|
|
17
17
|
amount: z.ZodObject<{
|
|
18
|
-
USDC: z.
|
|
19
|
-
EURC: z.
|
|
18
|
+
USDC: z.ZodString;
|
|
19
|
+
EURC: z.ZodString;
|
|
20
20
|
}, "strict", z.ZodTypeAny, {
|
|
21
21
|
USDC: string;
|
|
22
22
|
EURC: string;
|
|
@@ -41,8 +41,8 @@ type Money = z.infer<typeof moneySchema>;
|
|
|
41
41
|
declare const volumeWindowSchema: z.ZodObject<{
|
|
42
42
|
count: z.ZodNumber;
|
|
43
43
|
gross: z.ZodObject<{
|
|
44
|
-
USDC: z.
|
|
45
|
-
EURC: z.
|
|
44
|
+
USDC: z.ZodString;
|
|
45
|
+
EURC: z.ZodString;
|
|
46
46
|
}, "strict", z.ZodTypeAny, {
|
|
47
47
|
USDC: string;
|
|
48
48
|
EURC: string;
|
|
@@ -51,8 +51,8 @@ declare const volumeWindowSchema: z.ZodObject<{
|
|
|
51
51
|
EURC: string;
|
|
52
52
|
}>;
|
|
53
53
|
fees: z.ZodObject<{
|
|
54
|
-
USDC: z.
|
|
55
|
-
EURC: z.
|
|
54
|
+
USDC: z.ZodString;
|
|
55
|
+
EURC: z.ZodString;
|
|
56
56
|
}, "strict", z.ZodTypeAny, {
|
|
57
57
|
USDC: string;
|
|
58
58
|
EURC: string;
|
|
@@ -61,8 +61,8 @@ declare const volumeWindowSchema: z.ZodObject<{
|
|
|
61
61
|
EURC: string;
|
|
62
62
|
}>;
|
|
63
63
|
net: z.ZodObject<{
|
|
64
|
-
USDC: z.
|
|
65
|
-
EURC: z.
|
|
64
|
+
USDC: z.ZodString;
|
|
65
|
+
EURC: z.ZodString;
|
|
66
66
|
}, "strict", z.ZodTypeAny, {
|
|
67
67
|
USDC: string;
|
|
68
68
|
EURC: string;
|
|
@@ -107,8 +107,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
107
107
|
last7d: z.ZodObject<{
|
|
108
108
|
count: z.ZodNumber;
|
|
109
109
|
gross: z.ZodObject<{
|
|
110
|
-
USDC: z.
|
|
111
|
-
EURC: z.
|
|
110
|
+
USDC: z.ZodString;
|
|
111
|
+
EURC: z.ZodString;
|
|
112
112
|
}, "strict", z.ZodTypeAny, {
|
|
113
113
|
USDC: string;
|
|
114
114
|
EURC: string;
|
|
@@ -117,8 +117,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
117
117
|
EURC: string;
|
|
118
118
|
}>;
|
|
119
119
|
fees: z.ZodObject<{
|
|
120
|
-
USDC: z.
|
|
121
|
-
EURC: z.
|
|
120
|
+
USDC: z.ZodString;
|
|
121
|
+
EURC: z.ZodString;
|
|
122
122
|
}, "strict", z.ZodTypeAny, {
|
|
123
123
|
USDC: string;
|
|
124
124
|
EURC: string;
|
|
@@ -127,8 +127,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
127
127
|
EURC: string;
|
|
128
128
|
}>;
|
|
129
129
|
net: z.ZodObject<{
|
|
130
|
-
USDC: z.
|
|
131
|
-
EURC: z.
|
|
130
|
+
USDC: z.ZodString;
|
|
131
|
+
EURC: z.ZodString;
|
|
132
132
|
}, "strict", z.ZodTypeAny, {
|
|
133
133
|
USDC: string;
|
|
134
134
|
EURC: string;
|
|
@@ -168,8 +168,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
168
168
|
last30d: z.ZodObject<{
|
|
169
169
|
count: z.ZodNumber;
|
|
170
170
|
gross: z.ZodObject<{
|
|
171
|
-
USDC: z.
|
|
172
|
-
EURC: z.
|
|
171
|
+
USDC: z.ZodString;
|
|
172
|
+
EURC: z.ZodString;
|
|
173
173
|
}, "strict", z.ZodTypeAny, {
|
|
174
174
|
USDC: string;
|
|
175
175
|
EURC: string;
|
|
@@ -178,8 +178,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
178
178
|
EURC: string;
|
|
179
179
|
}>;
|
|
180
180
|
fees: z.ZodObject<{
|
|
181
|
-
USDC: z.
|
|
182
|
-
EURC: z.
|
|
181
|
+
USDC: z.ZodString;
|
|
182
|
+
EURC: z.ZodString;
|
|
183
183
|
}, "strict", z.ZodTypeAny, {
|
|
184
184
|
USDC: string;
|
|
185
185
|
EURC: string;
|
|
@@ -188,8 +188,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
188
188
|
EURC: string;
|
|
189
189
|
}>;
|
|
190
190
|
net: z.ZodObject<{
|
|
191
|
-
USDC: z.
|
|
192
|
-
EURC: z.
|
|
191
|
+
USDC: z.ZodString;
|
|
192
|
+
EURC: z.ZodString;
|
|
193
193
|
}, "strict", z.ZodTypeAny, {
|
|
194
194
|
USDC: string;
|
|
195
195
|
EURC: string;
|
|
@@ -229,8 +229,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
229
229
|
allTime: z.ZodObject<{
|
|
230
230
|
count: z.ZodNumber;
|
|
231
231
|
gross: z.ZodObject<{
|
|
232
|
-
USDC: z.
|
|
233
|
-
EURC: z.
|
|
232
|
+
USDC: z.ZodString;
|
|
233
|
+
EURC: z.ZodString;
|
|
234
234
|
}, "strict", z.ZodTypeAny, {
|
|
235
235
|
USDC: string;
|
|
236
236
|
EURC: string;
|
|
@@ -239,8 +239,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
239
239
|
EURC: string;
|
|
240
240
|
}>;
|
|
241
241
|
fees: z.ZodObject<{
|
|
242
|
-
USDC: z.
|
|
243
|
-
EURC: z.
|
|
242
|
+
USDC: z.ZodString;
|
|
243
|
+
EURC: z.ZodString;
|
|
244
244
|
}, "strict", z.ZodTypeAny, {
|
|
245
245
|
USDC: string;
|
|
246
246
|
EURC: string;
|
|
@@ -249,8 +249,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
249
249
|
EURC: string;
|
|
250
250
|
}>;
|
|
251
251
|
net: z.ZodObject<{
|
|
252
|
-
USDC: z.
|
|
253
|
-
EURC: z.
|
|
252
|
+
USDC: z.ZodString;
|
|
253
|
+
EURC: z.ZodString;
|
|
254
254
|
}, "strict", z.ZodTypeAny, {
|
|
255
255
|
USDC: string;
|
|
256
256
|
EURC: string;
|
|
@@ -410,8 +410,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
410
410
|
confirmed: z.ZodObject<{
|
|
411
411
|
count: z.ZodNumber;
|
|
412
412
|
amount: z.ZodObject<{
|
|
413
|
-
USDC: z.
|
|
414
|
-
EURC: z.
|
|
413
|
+
USDC: z.ZodString;
|
|
414
|
+
EURC: z.ZodString;
|
|
415
415
|
}, "strict", z.ZodTypeAny, {
|
|
416
416
|
USDC: string;
|
|
417
417
|
EURC: string;
|
|
@@ -492,8 +492,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
492
492
|
outstanding: z.ZodObject<{
|
|
493
493
|
count: z.ZodNumber;
|
|
494
494
|
amount: z.ZodObject<{
|
|
495
|
-
USDC: z.
|
|
496
|
-
EURC: z.
|
|
495
|
+
USDC: z.ZodString;
|
|
496
|
+
EURC: z.ZodString;
|
|
497
497
|
}, "strict", z.ZodTypeAny, {
|
|
498
498
|
USDC: string;
|
|
499
499
|
EURC: string;
|
|
@@ -517,8 +517,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
517
517
|
overdue: z.ZodObject<{
|
|
518
518
|
count: z.ZodNumber;
|
|
519
519
|
amount: z.ZodObject<{
|
|
520
|
-
USDC: z.
|
|
521
|
-
EURC: z.
|
|
520
|
+
USDC: z.ZodString;
|
|
521
|
+
EURC: z.ZodString;
|
|
522
522
|
}, "strict", z.ZodTypeAny, {
|
|
523
523
|
USDC: string;
|
|
524
524
|
EURC: string;
|
|
@@ -542,8 +542,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
542
542
|
paidLast30d: z.ZodObject<{
|
|
543
543
|
count: z.ZodNumber;
|
|
544
544
|
amount: z.ZodObject<{
|
|
545
|
-
USDC: z.
|
|
546
|
-
EURC: z.
|
|
545
|
+
USDC: z.ZodString;
|
|
546
|
+
EURC: z.ZodString;
|
|
547
547
|
}, "strict", z.ZodTypeAny, {
|
|
548
548
|
USDC: string;
|
|
549
549
|
EURC: string;
|
|
@@ -649,8 +649,8 @@ declare const statsSummarySchema: z.ZodObject<{
|
|
|
649
649
|
completed: z.ZodObject<{
|
|
650
650
|
count: z.ZodNumber;
|
|
651
651
|
amount: z.ZodObject<{
|
|
652
|
-
USDC: z.
|
|
653
|
-
EURC: z.
|
|
652
|
+
USDC: z.ZodString;
|
|
653
|
+
EURC: z.ZodString;
|
|
654
654
|
}, "strict", z.ZodTypeAny, {
|
|
655
655
|
USDC: string;
|
|
656
656
|
EURC: string;
|
|
@@ -1048,9 +1048,9 @@ declare const statsVolumeDaySchema: z.ZodObject<{
|
|
|
1048
1048
|
day: z.ZodString;
|
|
1049
1049
|
currency: z.ZodEnum<["USDC", "EURC"]>;
|
|
1050
1050
|
count: z.ZodNumber;
|
|
1051
|
-
gross: z.
|
|
1052
|
-
fees: z.
|
|
1053
|
-
net: z.
|
|
1051
|
+
gross: z.ZodString;
|
|
1052
|
+
fees: z.ZodString;
|
|
1053
|
+
net: z.ZodString;
|
|
1054
1054
|
}, "strip", z.ZodTypeAny, {
|
|
1055
1055
|
count: number;
|
|
1056
1056
|
gross: string;
|
|
@@ -1074,9 +1074,9 @@ declare const statsVolumeSchema: z.ZodObject<{
|
|
|
1074
1074
|
day: z.ZodString;
|
|
1075
1075
|
currency: z.ZodEnum<["USDC", "EURC"]>;
|
|
1076
1076
|
count: z.ZodNumber;
|
|
1077
|
-
gross: z.
|
|
1078
|
-
fees: z.
|
|
1079
|
-
net: z.
|
|
1077
|
+
gross: z.ZodString;
|
|
1078
|
+
fees: z.ZodString;
|
|
1079
|
+
net: z.ZodString;
|
|
1080
1080
|
}, "strip", z.ZodTypeAny, {
|
|
1081
1081
|
count: number;
|
|
1082
1082
|
gross: string;
|
|
@@ -1118,8 +1118,8 @@ declare const statsVolumeSchema: z.ZodObject<{
|
|
|
1118
1118
|
type StatsVolume = z.infer<typeof statsVolumeSchema>;
|
|
1119
1119
|
declare const statsMrrSchema: z.ZodObject<{
|
|
1120
1120
|
mrr: z.ZodObject<{
|
|
1121
|
-
USDC: z.
|
|
1122
|
-
EURC: z.
|
|
1121
|
+
USDC: z.ZodString;
|
|
1122
|
+
EURC: z.ZodString;
|
|
1123
1123
|
}, "strict", z.ZodTypeAny, {
|
|
1124
1124
|
USDC: string;
|
|
1125
1125
|
EURC: string;
|
|
@@ -1159,7 +1159,7 @@ type StatsLtvQuery = z.input<typeof statsLtvQuerySchema>;
|
|
|
1159
1159
|
type StatsLtvQueryParsed = z.output<typeof statsLtvQuerySchema>;
|
|
1160
1160
|
declare const statsLtvRowSchema: z.ZodObject<{
|
|
1161
1161
|
customerId: z.ZodString;
|
|
1162
|
-
totalSpend: z.
|
|
1162
|
+
totalSpend: z.ZodString;
|
|
1163
1163
|
transactionCount: z.ZodNumber;
|
|
1164
1164
|
}, "strip", z.ZodTypeAny, {
|
|
1165
1165
|
customerId: string;
|
|
@@ -1175,7 +1175,7 @@ declare const statsLtvSchema: z.ZodObject<{
|
|
|
1175
1175
|
currency: z.ZodEnum<["USDC", "EURC"]>;
|
|
1176
1176
|
data: z.ZodArray<z.ZodObject<{
|
|
1177
1177
|
customerId: z.ZodString;
|
|
1178
|
-
totalSpend: z.
|
|
1178
|
+
totalSpend: z.ZodString;
|
|
1179
1179
|
transactionCount: z.ZodNumber;
|
|
1180
1180
|
}, "strip", z.ZodTypeAny, {
|
|
1181
1181
|
customerId: string;
|
|
@@ -1212,10 +1212,10 @@ declare const forecastConfidenceSchema: z.ZodEnum<["low", "medium", "high"]>;
|
|
|
1212
1212
|
type ForecastConfidence = z.infer<typeof forecastConfidenceSchema>;
|
|
1213
1213
|
declare const forecastSchema: z.ZodObject<{
|
|
1214
1214
|
confidence: z.ZodEnum<["low", "medium", "high"]>;
|
|
1215
|
-
last90DayRevenue: z.
|
|
1216
|
-
next30: z.
|
|
1217
|
-
next60: z.
|
|
1218
|
-
next90: z.
|
|
1215
|
+
last90DayRevenue: z.ZodString;
|
|
1216
|
+
next30: z.ZodString;
|
|
1217
|
+
next60: z.ZodString;
|
|
1218
|
+
next90: z.ZodString;
|
|
1219
1219
|
}, "strip", z.ZodTypeAny, {
|
|
1220
1220
|
confidence: "low" | "medium" | "high";
|
|
1221
1221
|
last90DayRevenue: string;
|
|
@@ -1234,10 +1234,10 @@ declare const statsForecastSchema: z.ZodObject<{
|
|
|
1234
1234
|
byCurrency: z.ZodObject<{
|
|
1235
1235
|
USDC: z.ZodObject<{
|
|
1236
1236
|
confidence: z.ZodEnum<["low", "medium", "high"]>;
|
|
1237
|
-
last90DayRevenue: z.
|
|
1238
|
-
next30: z.
|
|
1239
|
-
next60: z.
|
|
1240
|
-
next90: z.
|
|
1237
|
+
last90DayRevenue: z.ZodString;
|
|
1238
|
+
next30: z.ZodString;
|
|
1239
|
+
next60: z.ZodString;
|
|
1240
|
+
next90: z.ZodString;
|
|
1241
1241
|
}, "strip", z.ZodTypeAny, {
|
|
1242
1242
|
confidence: "low" | "medium" | "high";
|
|
1243
1243
|
last90DayRevenue: string;
|
|
@@ -1253,10 +1253,10 @@ declare const statsForecastSchema: z.ZodObject<{
|
|
|
1253
1253
|
}>;
|
|
1254
1254
|
EURC: z.ZodObject<{
|
|
1255
1255
|
confidence: z.ZodEnum<["low", "medium", "high"]>;
|
|
1256
|
-
last90DayRevenue: z.
|
|
1257
|
-
next30: z.
|
|
1258
|
-
next60: z.
|
|
1259
|
-
next90: z.
|
|
1256
|
+
last90DayRevenue: z.ZodString;
|
|
1257
|
+
next30: z.ZodString;
|
|
1258
|
+
next60: z.ZodString;
|
|
1259
|
+
next90: z.ZodString;
|
|
1260
1260
|
}, "strip", z.ZodTypeAny, {
|
|
1261
1261
|
confidence: "low" | "medium" | "high";
|
|
1262
1262
|
last90DayRevenue: string;
|
|
@@ -1362,8 +1362,8 @@ declare const adminOverviewSchema: z.ZodObject<{
|
|
|
1362
1362
|
}>;
|
|
1363
1363
|
volume: z.ZodObject<{
|
|
1364
1364
|
lifetime: z.ZodObject<{
|
|
1365
|
-
USDC: z.
|
|
1366
|
-
EURC: z.
|
|
1365
|
+
USDC: z.ZodString;
|
|
1366
|
+
EURC: z.ZodString;
|
|
1367
1367
|
}, "strict", z.ZodTypeAny, {
|
|
1368
1368
|
USDC: string;
|
|
1369
1369
|
EURC: string;
|
|
@@ -1372,8 +1372,8 @@ declare const adminOverviewSchema: z.ZodObject<{
|
|
|
1372
1372
|
EURC: string;
|
|
1373
1373
|
}>;
|
|
1374
1374
|
lifetimeFees: z.ZodObject<{
|
|
1375
|
-
USDC: z.
|
|
1376
|
-
EURC: z.
|
|
1375
|
+
USDC: z.ZodString;
|
|
1376
|
+
EURC: z.ZodString;
|
|
1377
1377
|
}, "strict", z.ZodTypeAny, {
|
|
1378
1378
|
USDC: string;
|
|
1379
1379
|
EURC: string;
|
|
@@ -1382,8 +1382,8 @@ declare const adminOverviewSchema: z.ZodObject<{
|
|
|
1382
1382
|
EURC: string;
|
|
1383
1383
|
}>;
|
|
1384
1384
|
last30d: z.ZodObject<{
|
|
1385
|
-
USDC: z.
|
|
1386
|
-
EURC: z.
|
|
1385
|
+
USDC: z.ZodString;
|
|
1386
|
+
EURC: z.ZodString;
|
|
1387
1387
|
}, "strict", z.ZodTypeAny, {
|
|
1388
1388
|
USDC: string;
|
|
1389
1389
|
EURC: string;
|
|
@@ -1424,8 +1424,8 @@ declare const adminOverviewSchema: z.ZodObject<{
|
|
|
1424
1424
|
subscriptions: z.ZodObject<{
|
|
1425
1425
|
active: z.ZodNumber;
|
|
1426
1426
|
mrr: z.ZodObject<{
|
|
1427
|
-
USDC: z.
|
|
1428
|
-
EURC: z.
|
|
1427
|
+
USDC: z.ZodString;
|
|
1428
|
+
EURC: z.ZodString;
|
|
1429
1429
|
}, "strict", z.ZodTypeAny, {
|
|
1430
1430
|
USDC: string;
|
|
1431
1431
|
EURC: string;
|
|
@@ -1511,8 +1511,8 @@ declare const adminMerchantStatsSchema: z.ZodObject<{
|
|
|
1511
1511
|
confirmedPayments: z.ZodNumber;
|
|
1512
1512
|
activeSubscriptions: z.ZodNumber;
|
|
1513
1513
|
lifetimeVolume: z.ZodObject<{
|
|
1514
|
-
USDC: z.
|
|
1515
|
-
EURC: z.
|
|
1514
|
+
USDC: z.ZodString;
|
|
1515
|
+
EURC: z.ZodString;
|
|
1516
1516
|
}, "strict", z.ZodTypeAny, {
|
|
1517
1517
|
USDC: string;
|
|
1518
1518
|
EURC: string;
|
|
@@ -1521,8 +1521,8 @@ declare const adminMerchantStatsSchema: z.ZodObject<{
|
|
|
1521
1521
|
EURC: string;
|
|
1522
1522
|
}>;
|
|
1523
1523
|
last30dVolume: z.ZodObject<{
|
|
1524
|
-
USDC: z.
|
|
1525
|
-
EURC: z.
|
|
1524
|
+
USDC: z.ZodString;
|
|
1525
|
+
EURC: z.ZodString;
|
|
1526
1526
|
}, "strict", z.ZodTypeAny, {
|
|
1527
1527
|
USDC: string;
|
|
1528
1528
|
EURC: string;
|
|
@@ -1573,8 +1573,8 @@ type AdminVolumeQuery = z.input<typeof adminVolumeQuerySchema>;
|
|
|
1573
1573
|
declare const adminVolumeDaySchema: z.ZodObject<{
|
|
1574
1574
|
day: z.ZodString;
|
|
1575
1575
|
currency: z.ZodEnum<["USDC", "EURC"]>;
|
|
1576
|
-
volume: z.
|
|
1577
|
-
fees: z.
|
|
1576
|
+
volume: z.ZodString;
|
|
1577
|
+
fees: z.ZodString;
|
|
1578
1578
|
count: z.ZodNumber;
|
|
1579
1579
|
}, "strip", z.ZodTypeAny, {
|
|
1580
1580
|
count: number;
|
|
@@ -1597,8 +1597,8 @@ declare const adminVolumeSeriesSchema: z.ZodObject<{
|
|
|
1597
1597
|
data: z.ZodArray<z.ZodObject<{
|
|
1598
1598
|
day: z.ZodString;
|
|
1599
1599
|
currency: z.ZodEnum<["USDC", "EURC"]>;
|
|
1600
|
-
volume: z.
|
|
1601
|
-
fees: z.
|
|
1600
|
+
volume: z.ZodString;
|
|
1601
|
+
fees: z.ZodString;
|
|
1602
1602
|
count: z.ZodNumber;
|
|
1603
1603
|
}, "strip", z.ZodTypeAny, {
|
|
1604
1604
|
count: number;
|
|
@@ -1655,7 +1655,7 @@ declare const adminTopMerchantSchema: z.ZodObject<{
|
|
|
1655
1655
|
merchantId: z.ZodString;
|
|
1656
1656
|
businessName: z.ZodNullable<z.ZodString>;
|
|
1657
1657
|
email: z.ZodString;
|
|
1658
|
-
volume: z.
|
|
1658
|
+
volume: z.ZodString;
|
|
1659
1659
|
transactionCount: z.ZodNumber;
|
|
1660
1660
|
}, "strip", z.ZodTypeAny, {
|
|
1661
1661
|
volume: string;
|
|
@@ -1678,7 +1678,7 @@ declare const adminTopMerchantsSchema: z.ZodObject<{
|
|
|
1678
1678
|
merchantId: z.ZodString;
|
|
1679
1679
|
businessName: z.ZodNullable<z.ZodString>;
|
|
1680
1680
|
email: z.ZodString;
|
|
1681
|
-
volume: z.
|
|
1681
|
+
volume: z.ZodString;
|
|
1682
1682
|
transactionCount: z.ZodNumber;
|
|
1683
1683
|
}, "strip", z.ZodTypeAny, {
|
|
1684
1684
|
volume: string;
|