schema.rs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. use std::env::current_dir;
  2. use std::fs::create_dir_all;
  3. use cosmwasm_schema::{export_schema, export_schema_with_title, remove_schemas, schema_for};
  4. use cw721::{
  5. AllNftInfoResponse, ApprovalResponse, ApprovalsResponse, ContractInfoResponse, NftInfoResponse,
  6. NumTokensResponse, OperatorsResponse, OwnerOfResponse, TokensResponse,
  7. };
  8. use cw721_metadata_onchain::{ExecuteMsg, Extension, InstantiateMsg, MinterResponse, QueryMsg};
  9. fn main() {
  10. let mut out_dir = current_dir().unwrap();
  11. out_dir.push("schema");
  12. create_dir_all(&out_dir).unwrap();
  13. remove_schemas(&out_dir).unwrap();
  14. export_schema(&schema_for!(InstantiateMsg), &out_dir);
  15. export_schema_with_title(&schema_for!(ExecuteMsg), &out_dir, "ExecuteMsg");
  16. export_schema(&schema_for!(QueryMsg), &out_dir);
  17. export_schema_with_title(
  18. &schema_for!(AllNftInfoResponse<Extension>),
  19. &out_dir,
  20. "AllNftInfoResponse",
  21. );
  22. export_schema(&schema_for!(ApprovalResponse), &out_dir);
  23. export_schema(&schema_for!(ApprovalsResponse), &out_dir);
  24. export_schema(&schema_for!(OperatorsResponse), &out_dir);
  25. export_schema(&schema_for!(ContractInfoResponse), &out_dir);
  26. export_schema(&schema_for!(MinterResponse), &out_dir);
  27. export_schema_with_title(
  28. &schema_for!(NftInfoResponse<Extension>),
  29. &out_dir,
  30. "NftInfoResponse",
  31. );
  32. export_schema(&schema_for!(NumTokensResponse), &out_dir);
  33. export_schema(&schema_for!(OwnerOfResponse), &out_dir);
  34. export_schema(&schema_for!(TokensResponse), &out_dir);
  35. }