Description
Creators who issue many invoices simultaneously (e.g. for a multi-track project) currently must submit individual transactions. A batch_create_invoices method should create up to N invoices atomically, returning all new invoice IDs.
Technical Context
Add batch_create_invoices(invoices: Vec<InvoiceParams>) -> Vec<u64> to contracts/split/src/lib.rs. Define InvoiceParams struct in types.rs mirroring create_invoice parameters. Iterate and call the internal _create_invoice helper for each entry. Enforce a MaxBatchSize cap stored in storage::instance. Emit BatchInvoiceCreated(ids: Vec<u64>) from events.rs.
Acceptance Criteria
Description
Creators who issue many invoices simultaneously (e.g. for a multi-track project) currently must submit individual transactions. A
batch_create_invoicesmethod should create up to N invoices atomically, returning all new invoice IDs.Technical Context
Add
batch_create_invoices(invoices: Vec<InvoiceParams>) -> Vec<u64>tocontracts/split/src/lib.rs. DefineInvoiceParamsstruct intypes.rsmirroringcreate_invoiceparameters. Iterate and call the internal_create_invoicehelper for each entry. Enforce aMaxBatchSizecap stored instorage::instance. EmitBatchInvoiceCreated(ids: Vec<u64>)fromevents.rs.Acceptance Criteria
Vec<u64>contains one newinvoice_idper input entry, in orderMaxBatchSizereturnsBatchTooLargeInvoiceCreatedevent plus oneBatchInvoiceCreated