Skip to content

Commit 06a82a3

Browse files
committed
Values as string array in encrypted mode
1 parent d97bfd6 commit 06a82a3

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

CIP-0146/README.md

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ After the multisig wallet has been defined according to the Cardano native scrip
109109
[rules](#specification), either a registration transaction can be put on the blockchain or a JSON download provided for
110110
off-chain sharing.
111111

112-
>Note that the registration **must** use previously unused keys in the scripts **if** registered in a transaction.
112+
> [!NOTE]
113+
> The registration **must** use previously unused keys in the scripts **if** registered in a transaction.
113114
114115
The transaction auxiliary data metadata ([MultiSigRegistration](#multisigregistration)) should be formatted using
115116
NoConversions JSON schema.
@@ -142,7 +143,8 @@ can be done in the following way.
142143
- Use `types` field in metadata to map native scripts and figure out its purpose
143144
- Repeat until no more matches are found, either sequentially or in bulk.
144145

145-
>Note that there might be updated metadata for the registration. In addition to locating the initial registration, a
146+
> [!NOTE]
147+
> There might be updated metadata for the registration. In addition to locating the initial registration, a
146148
> scan for updated metadata conforming to specification and at least one input UTxO matching the multisig payment script
147149
> should be performed. If available, the last valid metadata update is to be used.
148150
@@ -157,25 +159,31 @@ to verify ownership. If this transaction includes label `1854` metadata accordin
157159

158160
To increase anonymity, encrypting the metadata following the specification of [CIP-83 | Encrypted Transaction message/comment metadata](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0083/README.md)
159161
is supported. For this to be valid, the `enc` key should be added to the root metadata object and each value
160-
(**except** `types`) within the metadata should be base64 encrypted according to CIP-83 specification.
162+
(**except** `types`) within the metadata should be base64 encrypted and split into 64 character chunks according to CIP-83 specification.
161163

162-
>Note that `types` mapping array within metadata should always be unencrypted!
164+
> [!NOTE]
165+
> `types` mapping array within metadata should always be unencrypted!
166+
167+
> [!IMPORTANT]
168+
> The fields for `name | desciprion | icon` for the wallet and each participant is in encrypted mode a string array.
169+
> As encrypting the content might push the length outside the 64 character limitation, data needs to be split in 64
170+
> character chunks and later merged when decrypting.
163171
164172
Example structure:
165173
```json
166174
{
167175
"1854": {
168176
"enc": "<encryption-method>",
169177
"types": [0,2],
170-
"name": "base64-string",
171-
"description": "base64-string",
172-
"icon": "base64-string",
178+
"name": ["base64-string"],
179+
"description": ["base64-string"],
180+
"icon": ["base64-string"],
173181
"participants": {
174182
"<pub-key-hash>": {
175-
"name": "base64-string",
176-
"description": "base64-string",
177-
"icon": "base64-string"
178-
}
183+
"name": ["base64-string"],
184+
"description": ["base64-string"],
185+
"icon": ["base64-string"]
186+
},
179187
...
180188
}
181189
}

0 commit comments

Comments
 (0)