|
5 | 5 | # * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0). |
6 | 6 | # at your option. This file may not be copied, modified, or distributed except according to those terms. |
7 | 7 |
|
8 | | -{.push raises: [].} |
| 8 | +{.push raises: [], gcsafe.} |
9 | 9 |
|
10 | 10 | # Types specific to Fulu (i.e. known to have changed across hard forks) - see |
11 | 11 | # `base` for types and guidelines common across forks |
@@ -35,7 +35,7 @@ from ./altair import |
35 | 35 | from ./capella import |
36 | 36 | ExecutionBranch, HistoricalSummary, SignedBLSToExecutionChange, |
37 | 37 | SignedBLSToExecutionChangeList, Withdrawal, EXECUTION_PAYLOAD_GINDEX |
38 | | -from ./deneb import Blobs, BlobsBundle, KzgCommitments, KzgProofs |
| 38 | +from ./deneb import Blobs, KzgCommitments, KzgProofs |
39 | 39 |
|
40 | 40 | export json_serialization, base |
41 | 41 |
|
|
90 | 90 | DataColumn* = List[KzgCell, Limit(MAX_BLOB_COMMITMENTS_PER_BLOCK)] |
91 | 91 | DataColumnIndices* = List[ColumnIndex, Limit(NUMBER_OF_COLUMNS)] |
92 | 92 |
|
93 | | - # https://github.com/ethereum/consensus-specs/blob/v1.5.0-beta.3/specs/fulu/das-core.md#datacolumnsidecar |
| 93 | + # https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.5/specs/fulu/das-core.md#datacolumnsidecar |
94 | 94 | DataColumnSidecar* = object |
95 | 95 | index*: ColumnIndex # Index of column in extended matrix |
96 | 96 | column*: DataColumn |
97 | 97 | kzg_commitments*: KzgCommitments |
98 | | - kzg_proofs*: KzgProofs |
| 98 | + kzg_proofs*: deneb.KzgProofs |
99 | 99 | signed_block_header*: SignedBeaconBlockHeader |
100 | 100 | kzg_commitments_inclusion_proof*: |
101 | 101 | array[KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH, Eth2Digest] |
@@ -125,6 +125,16 @@ type |
125 | 125 | column_index*: ColumnIndex |
126 | 126 | row_index*: RowIndex |
127 | 127 |
|
| 128 | + # https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.5/specs/fulu/validator.md#blobsbundle |
| 129 | + KzgProofs* = List[KzgProof, |
| 130 | + Limit FIELD_ELEMENTS_PER_EXT_BLOB * MAX_BLOB_COMMITMENTS_PER_BLOCK] |
| 131 | + |
| 132 | + # https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.5/specs/fulu/validator.md#blobsbundle |
| 133 | + BlobsBundle* = object |
| 134 | + commitments*: KzgCommitments |
| 135 | + proofs*: fulu.KzgProofs |
| 136 | + blobs*: Blobs |
| 137 | + |
128 | 138 | # Not in spec, defined in order to compute custody subnets |
129 | 139 | CgcBits* = BitArray[DATA_COLUMN_SIDECAR_SUBNET_COUNT] |
130 | 140 |
|
|
166 | 176 | ExecutionPayloadForSigning* = object |
167 | 177 | executionPayload*: ExecutionPayload |
168 | 178 | blockValue*: Wei |
169 | | - blobsBundle*: BlobsBundle |
| 179 | + blobsBundle*: deneb.BlobsBundle # [New in Fulu] |
170 | 180 | executionRequests*: seq[seq[byte]] |
171 | 181 |
|
172 | 182 | # https://github.com/ethereum/consensus-specs/blob/v1.5.0-alpha.10/specs/deneb/beacon-chain.md#executionpayloadheader |
|
608 | 618 |
|
609 | 619 | BlockContents* = object |
610 | 620 | `block`*: BeaconBlock |
611 | | - kzg_proofs*: KzgProofs |
| 621 | + kzg_proofs*: deneb.KzgProofs |
612 | 622 | blobs*: Blobs |
613 | 623 |
|
614 | 624 | func shortLog*(v: DataColumnSidecar): auto = |
|
0 commit comments