Zap splits

This commit is contained in:
Vitor Pamplona 2023-05-23 13:44:58 -04:00
parent 0495931355
commit e4937befd6

8
57.md
View File

@ -168,16 +168,20 @@ A client can retrieve `zap receipt`s on events and pubkeys using a NIP-01 filter
### Appendix G: `zap` tag on zapped event
When an event includes a `zap` tag, clients SHOULD calculate the lnurl pay request based on it's value instead of the profile's field. An optional third argument on the tag specifies the type of value, either `lud06` or `lud16`.
When an event includes one or more `zap` tags, clients SHOULD calculate the lnurl pay request based on their value instead of the profile's field. The tag's second argument is a `lud06` address, `lud16` identifier or `hex` string of the receiver's pub key. An optional third argument specifies the type of the previous value: `lud06`, `lud16` or `pubkey`. An optional fourth parameter specifies the weight (a generalization of a percentage) assigned to the respective receiver. Clients should parse all weights, calculate a sum, and then a percentage to each member. If weights are not present, CLIENTS should equally divide the zap amount to all zap receivers. If weights are only partially present, receivers without a weight should not be zapped (`weight = 0`).
```json
{
"tags": [
[ "zap", "pablo@f7z.io", "lud16" ]
[ "zap", "LNURL..", "lud06", 10 ], // 10%
[ "zap", "pablo@f7z.io", "lud16", 65 ], // 65%
[ "zap", "460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c", "pubkey", 25 ] // 25%
]
}
```
When the hex code is used, clients MAY inform the user the zap split configuration in the note.
## Future Work
Zaps can be extended to be more private by encrypting `zap request` notes to the target user, but for simplicity it has been left out of this initial draft.