txf

Transaction factory - a library facilitating the signing and broadcasting of transactions (txs) on Cosmos SDK-based blockchains.

How to use

Example with ONLINE signing mode and SYNC broadcast mode:

```rust use cosmossdkproto::cosmos::{ bank, base::v1beta1::{Coin, DecCoin}, staking, tx::v1beta1::BroadcastMode, }; use txf::{OnlineParams, TxBuilder};

let res = TxBuilder::new() .addmessage(bank::v1beta1::MsgSend { fromaddress: "osmo1...", toaddress: "osmo1...", amount: vec![ Coin { denom: "...", amount: "...", }, ], })? .addmessage(staking::v1beta1::MsgDelegate { delegatoraddress: "cosmos1...", validatoraddress: "cosmos1...", amount: Coin { denom: "...", amount: "...", }, })? .setgasprice(DecCoin { denom: "uosmo".into() amount: "0.0025".into(), }) .signonline(OnlineParams { privkey: &privkey, grpcurl: grpcurl.clone(), bechprefix: "cosmos".into(), gasadjustment: 1.4, }) .await? .broadcast(grpcurl, BroadcastMode::Sync) .await?; ```

License

Either Apache-2.0 or MIT license, at your choice.