cosm_script/
lib.rs

1#![allow(dead_code)]
2pub mod contract;
3mod data_structures;
4pub mod error;
5pub mod helpers;
6mod keys;
7mod multisig;
8pub mod sender;
9pub mod traits;
10
11pub use cosmrs::{Coin, Denom};
12pub use data_structures::{
13    deployment::Deployment,
14    network::{Chain, Network, NetworkKind},
15    tx_resp::CosmTxResponse,
16};
17pub use error::CosmScriptError;
18pub use helpers::{get_configuration, get_env_vars};
19
20#[macro_use]
21extern crate lazy_static;
22pub(crate) use crate::client_types::cosm_denom_format;
23use data_structures::{client_types, core_types};
24
25pub mod cosmos_modules {
26    pub use cosmos_sdk_proto::cosmos::auth::v1beta1 as auth;
27    pub use cosmos_sdk_proto::cosmos::authz::v1beta1 as authz;
28    pub use cosmos_sdk_proto::cosmos::bank::v1beta1 as bank;
29    pub use cosmos_sdk_proto::cosmos::base::abci::v1beta1 as abci;
30    pub use cosmos_sdk_proto::cosmos::base::tendermint::v1beta1 as tendermint;
31    pub use cosmos_sdk_proto::cosmos::base::v1beta1 as base;
32    pub use cosmos_sdk_proto::cosmos::crisis::v1beta1 as crisis;
33    pub use cosmos_sdk_proto::cosmos::distribution::v1beta1 as distribution;
34    pub use cosmos_sdk_proto::cosmos::evidence::v1beta1 as evidence;
35    pub use cosmos_sdk_proto::cosmos::feegrant::v1beta1 as feegrant;
36    pub use cosmos_sdk_proto::cosmos::gov::v1beta1 as gov;
37    pub use cosmos_sdk_proto::cosmos::mint::v1beta1 as mint;
38    pub use cosmos_sdk_proto::cosmos::params::v1beta1 as params;
39    pub use cosmos_sdk_proto::cosmos::slashing::v1beta1 as slashing;
40    pub use cosmos_sdk_proto::cosmos::staking::v1beta1 as staking;
41    pub use cosmos_sdk_proto::cosmos::tx::v1beta1 as tx;
42    pub use cosmos_sdk_proto::cosmwasm::wasm::v1 as cosmwasm;
43    pub use cosmos_sdk_proto::tendermint::abci as tendermint_abci;
44}
45
46// mod macro_dev {
47//     use terra_rust_script_derive::contract;
48
49//     #[derive(Clone, Debug, contract)]
50//     /// Updates the addressbook
51//     pub enum ExecuteMsg {
52//         UpdateContractAddresses {
53//             to_add: Vec<(String, String)>,
54//             to_remove: Vec<String>,
55//         },
56//         UpdateAssetAddresses {
57//             to_add: Vec<(String, String)>,
58//             to_remove: Vec<String>,
59//         },
60//         /// Sets a new Admin
61//         SetAdmin {
62//             admin: String,
63//         },
64
65//         Set {
66//             init: InstantiateMsg,
67//         },
68//     }
69
70//     #[derive(Clone, Debug, contract)]
71//     pub struct InstantiateMsg {
72//         /// Version control contract used to get code-ids and register OS
73//         pub version_control_contract: String,
74//         /// Memory contract
75//         pub memory_contract: String,
76//         // Creation fee in some denom (TBD)
77//         pub creation_fee: u32,
78//     }
79// }