cw1155-base 0.8.1

Basic implementation of a CosmWasm-1155 compliant token
Documentation
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Cw1155ExecuteMsg",
  "anyOf": [
    {
      "description": "SendFrom is a base message to move tokens, if `env.sender` is the owner or has sufficient pre-approval.",
      "type": "object",
      "required": [
        "send_from"
      ],
      "properties": {
        "send_from": {
          "type": "object",
          "required": [
            "from",
            "to",
            "token_id",
            "value"
          ],
          "properties": {
            "from": {
              "type": "string"
            },
            "msg": {
              "description": "`None` means don't call the receiver interface",
              "anyOf": [
                {
                  "$ref": "#/definitions/Binary"
                },
                {
                  "type": "null"
                }
              ]
            },
            "to": {
              "description": "If `to` is not contract, `msg` should be `None`",
              "type": "string"
            },
            "token_id": {
              "type": "string"
            },
            "value": {
              "$ref": "#/definitions/Uint128"
            }
          }
        }
      },
      "additionalProperties": false
    },
    {
      "description": "BatchSendFrom is a base message to move multiple types of tokens in batch, if `env.sender` is the owner or has sufficient pre-approval.",
      "type": "object",
      "required": [
        "batch_send_from"
      ],
      "properties": {
        "batch_send_from": {
          "type": "object",
          "required": [
            "batch",
            "from",
            "to"
          ],
          "properties": {
            "batch": {
              "type": "array",
              "items": {
                "type": "array",
                "items": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/definitions/Uint128"
                  }
                ],
                "maxItems": 2,
                "minItems": 2
              }
            },
            "from": {
              "type": "string"
            },
            "msg": {
              "description": "`None` means don't call the receiver interface",
              "anyOf": [
                {
                  "$ref": "#/definitions/Binary"
                },
                {
                  "type": "null"
                }
              ]
            },
            "to": {
              "description": "if `to` is not contract, `msg` should be `None`",
              "type": "string"
            }
          }
        }
      },
      "additionalProperties": false
    },
    {
      "description": "Mint is a base message to mint tokens.",
      "type": "object",
      "required": [
        "mint"
      ],
      "properties": {
        "mint": {
          "type": "object",
          "required": [
            "to",
            "token_id",
            "value"
          ],
          "properties": {
            "msg": {
              "description": "`None` means don't call the receiver interface",
              "anyOf": [
                {
                  "$ref": "#/definitions/Binary"
                },
                {
                  "type": "null"
                }
              ]
            },
            "to": {
              "description": "If `to` is not contract, `msg` should be `None`",
              "type": "string"
            },
            "token_id": {
              "type": "string"
            },
            "value": {
              "$ref": "#/definitions/Uint128"
            }
          }
        }
      },
      "additionalProperties": false
    },
    {
      "description": "BatchMint is a base message to mint multiple types of tokens in batch.",
      "type": "object",
      "required": [
        "batch_mint"
      ],
      "properties": {
        "batch_mint": {
          "type": "object",
          "required": [
            "batch",
            "to"
          ],
          "properties": {
            "batch": {
              "type": "array",
              "items": {
                "type": "array",
                "items": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/definitions/Uint128"
                  }
                ],
                "maxItems": 2,
                "minItems": 2
              }
            },
            "msg": {
              "description": "`None` means don't call the receiver interface",
              "anyOf": [
                {
                  "$ref": "#/definitions/Binary"
                },
                {
                  "type": "null"
                }
              ]
            },
            "to": {
              "description": "If `to` is not contract, `msg` should be `None`",
              "type": "string"
            }
          }
        }
      },
      "additionalProperties": false
    },
    {
      "description": "Burn is a base message to burn tokens.",
      "type": "object",
      "required": [
        "burn"
      ],
      "properties": {
        "burn": {
          "type": "object",
          "required": [
            "from",
            "token_id",
            "value"
          ],
          "properties": {
            "from": {
              "type": "string"
            },
            "token_id": {
              "type": "string"
            },
            "value": {
              "$ref": "#/definitions/Uint128"
            }
          }
        }
      },
      "additionalProperties": false
    },
    {
      "description": "BatchBurn is a base message to burn multiple types of tokens in batch.",
      "type": "object",
      "required": [
        "batch_burn"
      ],
      "properties": {
        "batch_burn": {
          "type": "object",
          "required": [
            "batch",
            "from"
          ],
          "properties": {
            "batch": {
              "type": "array",
              "items": {
                "type": "array",
                "items": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/definitions/Uint128"
                  }
                ],
                "maxItems": 2,
                "minItems": 2
              }
            },
            "from": {
              "type": "string"
            }
          }
        }
      },
      "additionalProperties": false
    },
    {
      "description": "Allows operator to transfer / send any token from the owner's account. If expiration is set, then this allowance has a time/height limit",
      "type": "object",
      "required": [
        "approve_all"
      ],
      "properties": {
        "approve_all": {
          "type": "object",
          "required": [
            "operator"
          ],
          "properties": {
            "expires": {
              "anyOf": [
                {
                  "$ref": "#/definitions/Expiration"
                },
                {
                  "type": "null"
                }
              ]
            },
            "operator": {
              "type": "string"
            }
          }
        }
      },
      "additionalProperties": false
    },
    {
      "description": "Remove previously granted ApproveAll permission",
      "type": "object",
      "required": [
        "revoke_all"
      ],
      "properties": {
        "revoke_all": {
          "type": "object",
          "required": [
            "operator"
          ],
          "properties": {
            "operator": {
              "type": "string"
            }
          }
        }
      },
      "additionalProperties": false
    }
  ],
  "definitions": {
    "Binary": {
      "description": "Binary is a wrapper around Vec<u8> to add base64 de/serialization with serde. It also adds some helper methods to help encode inline.\n\nThis is only needed as serde-json-{core,wasm} has a horrible encoding for Vec<u8>",
      "type": "string"
    },
    "Expiration": {
      "description": "Expiration represents a point in time when some event happens. It can compare with a BlockInfo and will return is_expired() == true once the condition is hit (and for every block in the future)",
      "anyOf": [
        {
          "description": "AtHeight will expire when `env.block.height` >= height",
          "type": "object",
          "required": [
            "at_height"
          ],
          "properties": {
            "at_height": {
              "type": "integer",
              "format": "uint64",
              "minimum": 0.0
            }
          },
          "additionalProperties": false
        },
        {
          "description": "AtTime will expire when `env.block.time` >= time",
          "type": "object",
          "required": [
            "at_time"
          ],
          "properties": {
            "at_time": {
              "$ref": "#/definitions/Timestamp"
            }
          },
          "additionalProperties": false
        },
        {
          "description": "Never will never expire. Used to express the empty variant",
          "type": "object",
          "required": [
            "never"
          ],
          "properties": {
            "never": {
              "type": "object"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "Timestamp": {
      "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```",
      "allOf": [
        {
          "$ref": "#/definitions/Uint64"
        }
      ]
    },
    "Uint128": {
      "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```",
      "type": "string"
    },
    "Uint64": {
      "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```",
      "type": "string"
    }
  }
}