40 lines
1.5 KiB
Rust
40 lines
1.5 KiB
Rust
|
use std::env::current_dir;
|
||
|
use std::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<Extension>), &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);
|
||
|
}
|