Label: complexity: high
Points: 200
Description
Some workflows require multiple invoices to all be fully funded before any of them release — for example a multi-party deal where all parties must commit before funds move. This issue adds create_invoice_group() linking invoices so none can release until all are fully funded.
Technical Context
Involves lib.rs. Add persistent key ("group", group_id) storing Vec<u64> of invoice IDs. Add create_invoice_group(env, invoice_ids: Vec<u64>) -> u64. In release(), if invoice belongs to a group, check all group members are fully funded before releasing any.
Acceptance Criteria
Label: complexity: high
Points: 200
Description
Some workflows require multiple invoices to all be fully funded before any of them release — for example a multi-party deal where all parties must commit before funds move. This issue adds
create_invoice_group()linking invoices so none can release until all are fully funded.Technical Context
Involves
lib.rs. Add persistent key("group", group_id)storingVec<u64>of invoice IDs. Addcreate_invoice_group(env, invoice_ids: Vec<u64>) -> u64. Inrelease(), if invoice belongs to a group, check all group members are fully funded before releasing any.Acceptance Criteria
create_invoice_group()links multiple invoice IDsrelease()on a group member panics if any other member is not fully fundedcargo clippypasses with zero warnings