wormhole/cosmwasm/contracts/cw721-wrapped/examples/schema.rs

60 lines
1.6 KiB
Rust

use std::{
env::current_dir,
fs::create_dir_all,
};
use cosmwasm_schema::{
export_schema,
export_schema_with_title,
remove_schemas,
schema_for,
};
use cw721::{
AllNftInfoResponse,
ApprovalResponse,
ApprovalsResponse,
ContractInfoResponse,
NftInfoResponse,
NumTokensResponse,
OperatorsResponse,
OwnerOfResponse,
TokensResponse,
};
use cw721_base::{
ExecuteMsg,
Extension,
InstantiateMsg,
MinterResponse,
QueryMsg,
};
fn main() {
let mut out_dir = current_dir().unwrap();
out_dir.push("schema");
create_dir_all(&out_dir).unwrap();
remove_schemas(&out_dir).unwrap();
export_schema(&schema_for!(InstantiateMsg), &out_dir);
export_schema_with_title(&schema_for!(ExecuteMsg<()>), &out_dir, "ExecuteMsg");
export_schema(&schema_for!(QueryMsg), &out_dir);
export_schema_with_title(
&schema_for!(AllNftInfoResponse<Extension>),
&out_dir,
"AllNftInfoResponse",
);
export_schema(&schema_for!(ApprovalResponse), &out_dir);
export_schema(&schema_for!(ApprovalsResponse), &out_dir);
export_schema(&schema_for!(OperatorsResponse), &out_dir);
export_schema(&schema_for!(ContractInfoResponse), &out_dir);
export_schema(&schema_for!(MinterResponse), &out_dir);
export_schema_with_title(
&schema_for!(NftInfoResponse<Extension>),
&out_dir,
"NftInfoResponse",
);
export_schema(&schema_for!(NumTokensResponse), &out_dir);
export_schema(&schema_for!(OwnerOfResponse), &out_dir);
export_schema(&schema_for!(TokensResponse), &out_dir);
}