schema.rs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 cosmwasm_std::Empty;
  5. use cw721::{
  6. AllNftInfoResponse, ApprovalResponse, ApprovalsResponse, ContractInfoResponse, Cw721ExecuteMsg,
  7. Cw721QueryMsg, Cw721ReceiveMsg, NftInfoResponse, NumTokensResponse, OperatorsResponse,
  8. OwnerOfResponse, TokensResponse,
  9. };
  10. type Extension = Option<Empty>;
  11. fn main() {
  12. let mut out_dir = current_dir().unwrap();
  13. out_dir.push("schema");
  14. create_dir_all(&out_dir).unwrap();
  15. remove_schemas(&out_dir).unwrap();
  16. export_schema(&schema_for!(Cw721ExecuteMsg), &out_dir);
  17. export_schema(&schema_for!(Cw721QueryMsg), &out_dir);
  18. export_schema(&schema_for!(Cw721ReceiveMsg), &out_dir);
  19. export_schema_with_title(
  20. &schema_for!(AllNftInfoResponse<Extension>),
  21. &out_dir,
  22. "AllNftInfoResponse",
  23. );
  24. export_schema(&schema_for!(ApprovalResponse), &out_dir);
  25. export_schema(&schema_for!(ApprovalsResponse), &out_dir);
  26. export_schema(&schema_for!(OperatorsResponse), &out_dir);
  27. export_schema(&schema_for!(ContractInfoResponse), &out_dir);
  28. export_schema(&schema_for!(OwnerOfResponse), &out_dir);
  29. export_schema_with_title(
  30. &schema_for!(NftInfoResponse<Extension>),
  31. &out_dir,
  32. "NftInfoResponse",
  33. );
  34. export_schema(&schema_for!(NumTokensResponse), &out_dir);
  35. export_schema(&schema_for!(TokensResponse), &out_dir);
  36. }