From rusty at rustcorp.com.au Wed Nov 28 00:00:48 2018 From: rusty at rustcorp.com.au (Rusty Russell) Date: Wed, 28 Nov 2018 10:30:48 +1030 Subject: [Lightning-dev] Base AMP In-Reply-To: References: <87a7maf7jh.fsf@gmail.com> <2GH68_8IDCnzwQUhLoqLVrLZSXXP5jZYM5GLwEsV0CMVL_qvZQpliKI1ng0dmCPA-dlWnFRUuWJV7OQMsoFd-kwDzCGmk27H4dqYV1RPJhc=@protonmail.com> <20181116154527.25adgchhfsz7aa43@erisian.com.au> <87va4rp91k.fsf@rustcorp.com.au> <87k1l6nivn.fsf@rustcorp.com.au> Message-ID: <87zhtuvznz.fsf@rustcorp.com.au> Johan Tor?s Halseth writes: > (excuse me for not yet understanding what this extra complexity gives us) > > To summarize: My suggestion was to only add an optional field to the > invoice, and let the recepient wait until all funds have received before > pulling the payment. No changes to the onion. > > We briefly discussed this during the last call, that the extra bit set in > the onion will be necessary to support Partial Payments (PP?) in the > spontaneous payments case. The donation case: a BOLT11 invoice doesn't have to specify an amount: A writer: ... - If it requires a specific minimum amount for successful payment: - MUST include that `amount` I initially suggested we could just have a 2-byte "number of total pieces", but it turns out there's a use-case where that doesn't work well: splitting the bill. There each payer is unrelated, so doesn't know how the others are paying. I've written up an onion proposal to cover this... Cheers, Rusty.