diff --git a/.ion-connect-protocol/ICIP-3000.md b/.ion-connect-protocol/ICIP-3000.md index 3afb1ac..b20260c 100644 --- a/.ion-connect-protocol/ICIP-3000.md +++ b/.ion-connect-protocol/ICIP-3000.md @@ -91,6 +91,8 @@ If the community is `closed`, then an `authorization` tag MUST be added to the e } ``` +Leaving a community is done by deleting the joining event (kind `1750`) via a generic [kind 9](https://github.com/nostr-protocol/nips/blob/master/09.md) deletion request. + # Posting to a community Kind `1` or `30023` events can be posted to a community. diff --git a/.ion-connect-protocol/ICIP-51.md b/.ion-connect-protocol/ICIP-51.md new file mode 100644 index 0000000..0e45993 --- /dev/null +++ b/.ion-connect-protocol/ICIP-51.md @@ -0,0 +1,58 @@ +ICIP-51 +====== + +Lists +----- + +`draft` `optional` + +This ICIP extends [NIP-51](https://raw.githubusercontent.com/nostr-protocol/nips/refs/heads/master/51.md) with +additional lists and sets. + +## Standard lists + +| name | kind | description | expected tag items | +|------------------------------|-------|----------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| On-Behalf of (Delegation) | 10100 | [ICIP-2000](ICIP-2000.md) attestations list | `"p"` (pubkeys, with [ICIP-2000](ICIP-2000.md) attestation string) | +| Chats (including E2EE chats) | 11750 | [ICIP-3000](ICIP-3000.md) communities or [NIP-17](https://github.com/nostr-protocol/nips/blob/master/17.md) chats the user is apart of | `"h"` (kind:`31750` community definitions); encrypted `p` and `subject` tags for [NIP-17](https://github.com/nostr-protocol/nips/blob/master/17.md) E2EE chats | + +## Sets + +| name | kind | description | expected tag items | +|------|------|-------------|--------------------| +| | | | | + +## Examples + +### An attestation _list_ with some delegated pubkeys + +```json + { + "kind": "10100", + "tags": [ + ["p", "477318cfb5427b9cfc66a9fa376150c1ddbc62115ae27cef72417eb959691396", "", "active:1674834236:1,7"] + ], + "content": "", + ... +} +``` + +### A _list_ of all communities an user is in + +```json +{ + "kind": 11750, + "tags": [ + ["h", "01938730-22ea-7829-b705-c61463c8edeb"], + ["h", "01938730-5ca3-7897-99b2-fb6fbadb6156"], + ["encrypted"] + ], + "content": nip44_encrypt([ + [ "p", "one-on-one receiver pubkey1" ], + [ "p", "one-on-one receiver pubkey2" ], + [ "subject", "family & friends", "receiver1 pubkey", "receiver2 pubkey", "receiver3 pubkey"], + [ "subject", "work", "receiver1 pubkey", "receiver2 pubkey",... "receiver25 pubkey"] + ]), + ... +} +```` diff --git a/.ion-connect-protocol/README.md b/.ion-connect-protocol/README.md index 0a5a842..e09829f 100644 --- a/.ion-connect-protocol/README.md +++ b/.ion-connect-protocol/README.md @@ -6,8 +6,9 @@ ## protocol changes -| ICIPs/NIPs | Change Type | NOSTR NIPs Pull Request | comments | -|------------|-------------|----------------------------------------------------------|------------------------------------------------------------------------------------| -| ICIP-1000 | Addition | [1522](https://github.com/nostr-protocol/nips/pull/1522) | | -| ICIP-2000 | Addition | [1482](https://github.com/nostr-protocol/nips/pull/1482) | | -| ICIP-3000 | Addition | | an extension of [NIP-72](https://github.com/nostr-protocol/nips/blob/master/72.md) | +| ICIPs/NIPs | Change Type | NOSTR NIPs Pull Request | comments | +|------------|--------------|----------------------------------------------------------|------------------------------------------------------------------------------------| +| ICIP-1000 | Addition | [1522](https://github.com/nostr-protocol/nips/pull/1522) | | +| ICIP-2000 | Addition | [1482](https://github.com/nostr-protocol/nips/pull/1482) | | +| ICIP-3000 | Addition | | an extension of [NIP-72](https://github.com/nostr-protocol/nips/blob/master/72.md) | +| ICIP-51 | Modification | | an extension of [NIP-51](https://github.com/nostr-protocol/nips/blob/master/51.md) |