@@ -40,24 +40,24 @@ import (
40
40
// [ExtraPayloads] returned by RegisterExtras. The default `SA` value accessed
41
41
// in this manner will be a zero-value `SA` while the default value from a
42
42
// [Header] is a non-nil `HPtr` and the default value from a [Block] is a non-nil
43
- // `BPtr `. The latter guarantee ensures that hooks won't be called on nil-pointer receivers.
43
+ // `BlockExtraPtr `. The latter guarantee ensures that hooks won't be called on nil-pointer receivers.
44
44
func RegisterExtras [
45
45
H any , HPtr interface {
46
46
HeaderHooks
47
47
* H
48
48
},
49
- B any , BPtr interface {
49
+ BlockExtra any , BlockExtraPtr interface {
50
50
BlockHooks
51
- * B
51
+ * BlockExtra
52
52
},
53
53
SA any ,
54
- ]() ExtraPayloads [HPtr , BPtr , SA ] {
55
- extra := ExtraPayloads [HPtr , BPtr , SA ]{
54
+ ]() ExtraPayloads [HPtr , BlockExtraPtr , SA ] {
55
+ extra := ExtraPayloads [HPtr , BlockExtraPtr , SA ]{
56
56
Header : pseudo .NewAccessor [* Header , HPtr ](
57
57
(* Header ).extraPayload ,
58
58
func (h * Header , t * pseudo.Type ) { h .extra = t },
59
59
),
60
- Block : pseudo .NewAccessor [* Block , BPtr ](
60
+ Block : pseudo .NewAccessor [* Block , BlockExtraPtr ](
61
61
(* Block ).extraPayload ,
62
62
func (b * Block , t * pseudo.Type ) { b .extra = t },
63
63
),
@@ -71,11 +71,11 @@ func RegisterExtras[
71
71
var x SA
72
72
return fmt .Sprintf ("%T" , x )
73
73
}(),
74
- // The [ExtraPayloads] that we returns is based on [HPtr,BPtr ,SA], not [H,B,SA]
75
- // so our constructors MUST match that. This guarantees that calls to
74
+ // The [ExtraPayloads] that we returns is based on [HPtr,BlockExtraPtr ,SA], not
75
+ // [H,BlockExtra,SA] so our constructors MUST match that. This guarantees that calls to
76
76
// the [HeaderHooks] and [BlockHooks] methods will never be performed on a nil pointer.
77
- newHeader : pseudo .NewConstructor [H ]().NewPointer , // i.e. non-nil HPtr
78
- newBlock : pseudo .NewConstructor [B ]().NewPointer , // i.e. non-nil BPtr
77
+ newHeader : pseudo .NewConstructor [H ]().NewPointer , // i.e. non-nil HPtr
78
+ newBlock : pseudo .NewConstructor [BlockExtra ]().NewPointer , // i.e. non-nil BlockExtraPtr
79
79
newStateAccount : pseudo .NewConstructor [SA ]().Zero ,
80
80
cloneStateAccount : extra .cloneStateAccount ,
81
81
hooks : extra ,
@@ -119,13 +119,13 @@ func (e *StateAccountExtra) clone() *StateAccountExtra {
119
119
// ExtraPayloads provides strongly typed access to the extra payload carried by
120
120
// [Header], [Block], [StateAccount], and [SlimAccount] structs. The only valid way to
121
121
// construct an instance is by a call to [RegisterExtras].
122
- type ExtraPayloads [HPtr HeaderHooks , BPtr BlockHooks , SA any ] struct {
122
+ type ExtraPayloads [HPtr HeaderHooks , BlockExtraPtr BlockHooks , SA any ] struct {
123
123
Header pseudo.Accessor [* Header , HPtr ]
124
- Block pseudo.Accessor [* Block , BPtr ]
124
+ Block pseudo.Accessor [* Block , BlockExtraPtr ]
125
125
StateAccount pseudo.Accessor [StateOrSlimAccount , SA ] // Also provides [SlimAccount] access.
126
126
}
127
127
128
- func (ExtraPayloads [HPtr , BPtr , SA ]) cloneStateAccount (s * StateAccountExtra ) * StateAccountExtra {
128
+ func (ExtraPayloads [HPtr , BlockExtraPtr , SA ]) cloneStateAccount (s * StateAccountExtra ) * StateAccountExtra {
129
129
v := pseudo.MustNewValue [SA ](s .t )
130
130
return & StateAccountExtra {
131
131
t : pseudo .From (v .Get ()).Type ,
0 commit comments