Open Neotamandua opened 1 month ago
The types used by event structs, along with relevant subfields defined in other dusk crates, are
ContractId
(piecrust_uplink
)StealthAddress
(phoenix_core
), needed in WithdrawReceiver
for ConvertEvent
and WithdrawEvent
JubJubExtended
(alias for ExtendedPoint
in dusk-jubjub
) - Fq
(alias for Scalar
in dusk-bls12_381
)NotePublicKey
(PublicKey
in jubjub-schnorr
) - JubJubExtended
Scalar
in dusk-bls12_381
is also needed in PhoenixTransactionEvent
Note
(phoenix_core
), needed in PhoenixTransactionEvent
JubJubAffine
(alias for AffinePoint
in dusk-jubjub
) - Fq
(alias for Scalar
in dusk-bls12_381
)Sender
- JubJubAffine
PublicKey
(bls12_381-bls
) used in SlashEvent
, ConvertEvent
, DepositEvent
, ContractToAccountEvent
, StakeKeys
which is used in StakeEvent
and WithdrawReceiver
which is used in WithdrawEvent
.Following from this, serde Serialize
and Deserialize
implementations will be needed in:
Scalar
in dusk-bls12_381
Note
, Sender
and StealthAddress
in phoenix-core
AffinePoint
and ExtendedPoint
in dusk-jubjub
PublicKey
in bls12_381-bls
PublicKey
in jubjub-schnorr
ContractId
in piecrust-uplink
Summary
Introduce a serde feature to execution-core that allows serde Serialize & Deserialize to be used on structs that are also used on the integration side (for example, all event structs from the genesis contracts).
This issue relies on: https://github.com/dusk-network/bls12_381-bls/issues/21