You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Moving the Burn information into the Action Group (#97)
This shifts the information pertaining to the burning of assets into
the OrchardZSA Action Group -- this occurs both in the Transaction
Format and the computation of the TxID digest.
<p>When OrchardZSA Actions Groups are present in the transaction, this digest is a BLAKE2b-256 hash of the following values:</p>
476
476
<pre>T.4a: orchard_action_groups_digest (32-byte hash output) [ADDED FOR ZSA]
477
-
T.4b: orchard_zsa_burn_digest (32-byte hash output) [ADDED FOR ZSA]
478
477
T.4c: valueBalanceOrchard (64-bit signed little-endian)</pre>
479
478
<p>The personalization field of this hash is the same as in ZIP 244 <aid="footnote-reference-55" class="footnote_reference" href="#zip-0244">15</a></p>
480
479
<pre>"ZTxIdOrchardHash"</pre>
481
480
<p>In the case that the transaction has no OrchardZSA Action Groups, <code>orchard_digest</code> is</p>
<p>A BLAKE2b-256 hash of the subset of OrchardZSA Action Groups information for all OrchardZSA Action Groups belonging to the transaction. For each Action Group, the following elements are included in the hash:</p>
Copy file name to clipboardexpand all lines: rendered/zip-0230.html
+13-13
Original file line number
Diff line number
Diff line change
@@ -232,18 +232,6 @@
232
232
<td><code>int64</code></td>
233
233
<td>The net value of Orchard spends minus outputs.</td>
234
234
</tr>
235
-
<tr>
236
-
<td><code>varies</code></td>
237
-
<td><code>nAssetBurn</code></td>
238
-
<td><code>compactSize</code></td>
239
-
<td>The number of Assets burnt.</td>
240
-
</tr>
241
-
<tr>
242
-
<td><code>40 * nAssetBurn</code></td>
243
-
<td><code>vAssetBurn</code></td>
244
-
<td><code>AssetBurn[nAssetBurn]</code></td>
245
-
<td>A sequence of Asset Burn descriptions, encoded per <ahref="#orchardzsa-asset-burn-description">OrchardZSA Asset Burn Description</a>.</td>
246
-
</tr>
247
235
<tr>
248
236
<td><code>64</code></td>
249
237
<td><code>bindingSigOrchard</code></td>
@@ -448,9 +436,21 @@
448
436
<td><code>byte[64 * nActionsOrchard]</code></td>
449
437
<td>Authorizing signatures for each Action of the Action Group in a transaction.</td>
450
438
</tr>
439
+
<tr>
440
+
<td><code>varies</code></td>
441
+
<td><code>nAssetBurn</code></td>
442
+
<td><code>compactSize</code></td>
443
+
<td>The number of Assets burnt.</td>
444
+
</tr>
445
+
<tr>
446
+
<td><code>40 * nAssetBurn</code></td>
447
+
<td><code>vAssetBurn</code></td>
448
+
<td><code>AssetBurn[nAssetBurn]</code></td>
449
+
<td>A sequence of Asset Burn descriptions, encoded per <ahref="#orchardzsa-asset-burn-description">OrchardZSA Asset Burn Description</a>.</td>
450
+
</tr>
451
451
</tbody>
452
452
</table>
453
-
<p>The encoding of <code>OrchardZSAAction</code>is described below.</p>
453
+
<p>The encodings of <code>OrchardZSAAction</code>and <code>AssetBurn</code> are described below.</p>
454
454
<ul>
455
455
<li>The proofs aggregated in <code>proofsOrchardZSA</code>, and the elements of <code>vSpendAuthSigsOrchard</code>, each have a 1:1 correspondence to the elements of <code>vActionsOrchard</code> and MUST be ordered such that the proof or signature at a given index corresponds to the <code>OrchardZSAAction</code> at the same index.</li>
@@ -300,8 +295,13 @@ The OrchardZSA Action Group Description is encoded in a transaction as an instan
300
295
|``64 * nActionsOrchard`` |``vSpendAuthSigsOrchard`` |``byte[64 * nActionsOrchard]`` |Authorizing signatures for each Action of the Action Group in a |
0 commit comments