go-spacemesh icon indicating copy to clipboard operation
go-spacemesh copied to clipboard

codec: migrate to scale

Open dshulyak opened this issue 3 years ago • 0 comments

Use https://github.com/spacemeshos/go-scale in the codec module.

before working on this issue implement https://github.com/spacemeshos/go-scale/issues/2

Using scale for majority of the objects should be trivial:

  • add go generate with scalegen
  • for every collection define sensible limit using tag name defined above
  • add a fuzz tests and a golden tests (you should be able to find utilities for both in the lib above)

If some objects uses collections with pointers in them - they should be replaced with collections without pointers.

There is also some mess with types from poet/post, but i don't recall details.

Modules to enable scale codec for:

  • [x] transactions - https://github.com/spacemeshos/go-spacemesh/pull/3380
  • [x] blocks - https://github.com/spacemeshos/go-spacemesh/pull/3377
  • [x] ballots - https://github.com/spacemeshos/go-spacemesh/pull/3383
  • [x] proposals - https://github.com/spacemeshos/go-spacemesh/pull/3383
  • [ ] poet proofs
  • [ ] sync

dshulyak avatar Jun 20 '22 06:06 dshulyak