github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/tm2/pkg/amino/CONTRIBUTING.md (about) 1 ## Compatibility 2 3 ### Protobuf 4 5 Amino currently aims to be and stay proto3 compatible. Please, ensure that any 6 change you add retains proto3 compatibility. Basic compatibility is ensured by 7 tests. Proto3 may eventually become deprecated for Amino2. 8 9 ## Fuzzers 10 11 Amino is fuzzed using several fuzzers. At least run [gofuzz] by running the command: 12 ``` 13 make test 14 ``` 15 If [go-fuzzer] isn't installed on your system, make sure to run: 16 ``` 17 go get -u github.com/dvyukov/go-fuzz/go-fuzz-build github.com/dvyukov/go-fuzz/go-fuzz 18 ``` 19 The fuzzers are run by: 20 ``` 21 make gofuzz_json 22 ``` 23 and 24 ``` 25 make gofuzz_binary 26 ``` 27 respectively. Both fuzzers will run in an endless loop and you have to quit them manually. They will output 28 any problems (crashers) on the commandline. You'll find details of those crashers in the project directories 29 `tests/fuzz/binary/crashers` and `tests/fuzz/json/crashers` respectively. 30 31 If you find a crasher related to your changes please fix it, or file an issue containing the crasher information. 32 33 [gofuzz]: https://github.com/google/gofuzz 34 [go-fuzzer]: https://github.com/dvyukov/go-fuzz 35 [protobuf]: https://developers.google.com/protocol-buffers/