Label: complexity: high
Points: 200
Description
For creators bulk-creating invoices from a CSV/JSON import, validate every row up front and report all errors at once (not fail-fast on the first bad row), so the creator can fix everything in one pass.
Technical Context
New src/bulkImportValidator.ts. Validates an array of CreateInvoiceParams-like rows against the same constraints the contract enforces (positive amounts, recipients/amounts length match, valid deadline), independent of contract submission.
Acceptance Criteria
Label: complexity: high
Points: 200
Description
For creators bulk-creating invoices from a CSV/JSON import, validate every row up front and report all errors at once (not fail-fast on the first bad row), so the creator can fix everything in one pass.
Technical Context
New
src/bulkImportValidator.ts. Validates an array ofCreateInvoiceParams-like rows against the same constraints the contract enforces (positive amounts, recipients/amounts length match, valid deadline), independent of contract submission.Acceptance Criteria
validateBulkImport(rows)returns{ validRows: number[], errors: { row: number, field: string, message: string }[] }_create_invoice_inner(positive amounts, length match, future deadline)