w3f / jamtestvectors

The latest test vectors for JAM.
Creative Commons Zero v1.0 Universal
42 stars 19 forks source link

Codec vectors update #19

Closed davxy closed 1 week ago

davxy commented 2 weeks ago

GP 0.4.*

GP 0.5

0xjunha commented 2 weeks ago

According to the set encoding rule in GP, it seems we don't have length discriminator. In the test vector, refine_context.bin gives us:

0xc0564c5e0de0942589df4343ad1956da66797240e2a2f2d6f8116b5047768986f6967658df626fa39cbfb6014b50196d23bc2cfbfa71a7591ca7715472dd2b489329de635d4bbb8c47cdccbbc1285e48bf9dbad365af44b205343e99dea298f360751ab5b251361fbfd3ad5b0e84f051ccece6b00830aed31a5354e00b20b9ed2100000000

Shouldn't we remove the last 1 byte 0x00? It made sense when it was representing the old Option::None, but now I think we should remove it.

Maybe currently it is encoded following variable byte sequence encoding rather than set encoding, which also gives 0x00 for empty vec..

0xjunha commented 2 weeks ago

In GP 0.5.0, extrinsics are encoded in the following order: tickets -> preimages -> guarantees -> assurances -> disputes

While the test vector has: tickets -> disputes -> preimages -> assurances -> guarantees

davxy commented 2 weeks ago

According to the set encoding rule in GP, it seems we don't have length discriminator.

Are you talking about prerequisites?

0xjunha commented 2 weeks ago

Are you talking about prerequisites?

Yes!

davxy commented 2 weeks ago

Are you talking about prerequisites?

Yes!

As per eq.311, prerequisites requires length prefix.

0xjunha commented 2 weeks ago

Ahh.. I missed it, my bad. Thanks for clarifying!

davxy commented 2 weeks ago

In GP 0.5.0, extrinsics are encoded in the following order: tickets -> preimages -> guarantees -> assurances -> disputes

While the test vector has: tickets -> disputes -> preimages -> assurances -> guarantees

https://github.com/w3f/jamtestvectors/pull/19/commits/01528ae99f307279a13d9d05d3c492b73fc5e11b

qiweiii commented 1 week ago

seems epoch marker is missing the second entropy, in equation 5.10 (v0.5.0)

davxy commented 1 week ago

seems epoch marker is missing the second entropy, in equation 5.10 (v0.5.0)

https://github.com/w3f/jamtestvectors/pull/19/commits/b00799a5299dd74f7646384f295e131109e3c106

vekexasia commented 1 week ago

I'm sorry

seems epoch marker is missing the second entropy, in equation 5.10 (v0.5.0)

but what second entropy are we talking about ? there is no second entropy in He in 5.10 for me (0.5.0).

vekexasia commented 1 week ago

I'm sorry

seems epoch marker is missing the second entropy, in equation 5.10 (v0.5.0)

but what second entropy are we talking about ? there is no second entropy in He in 5.10 for me (0.5.0).

Disregard all above. I somehow have a mid-0.5.0 (not tagged) without the second entropy.