tendermint / tmkms

Key Management service for Tendermint Validator nodes
Apache License 2.0
142 stars 42 forks source link

cosmos-stdtx.rs: amino serializer for Cosmos SDK-formatted StdTx transactions #401

Closed tarcieri closed 4 years ago

tarcieri commented 4 years ago

This PR adds a new crate in the KMS workspace called cosmos-stdtx. The goal is to support generalized transaction signing across any Tendermint blockchain which uses the Cosmos SDK's StdTx format without requiring code changes in the KMS, in service of implementing #386: Cosmos transaction signing support (backed by KMS-managed keys).

To accomplish this, the crate defines a TOML-based schema definition language which describes the fields of the Msg type used in a particular StdTx, along with the Amino name(space) for a given StdTx. (In a future update which potentially replaces Amino with Protos, this could be replaced with a Protobuf schema definition).

tarcieri commented 4 years ago

Initial functionality is in place and confirmed working, so I'm going to go ahead and merge.

There's a few small things I'd like to fix up before an initial release, however.

tarcieri commented 4 years ago

Ended up moving this over here and renaming it to stdtx: https://github.com/iqlusioninc/crates/tree/develop/stdtx