diff --git a/contracts/minter/schema/config_response.json b/contracts/minter/schema/config_response.json index 93a136022..464506459 100644 --- a/contracts/minter/schema/config_response.json +++ b/contracts/minter/schema/config_response.json @@ -46,6 +46,16 @@ "format": "uint64", "minimum": 0.0 }, + "start_time": { + "anyOf": [ + { + "$ref": "#/definitions/Expiration" + }, + { + "type": "null" + } + ] + }, "unit_price": { "$ref": "#/definitions/Coin" }, @@ -80,9 +90,67 @@ } } }, + "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)", + "oneOf": [ + { + "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" } } } diff --git a/contracts/minter/src/contract.rs b/contracts/minter/src/contract.rs index 09d7411c2..d322bc356 100644 --- a/contracts/minter/src/contract.rs +++ b/contracts/minter/src/contract.rs @@ -528,6 +528,7 @@ fn query_config(deps: Deps) -> StdResult { sg721_address, sg721_code_id: config.sg721_code_id, num_tokens: config.num_tokens, + start_time: config.start_time, unit_price: config.unit_price, per_address_limit: config.per_address_limit, batch_mint_limit: config.batch_mint_limit, diff --git a/contracts/minter/src/msg.rs b/contracts/minter/src/msg.rs index 364cbcb99..5db893288 100644 --- a/contracts/minter/src/msg.rs +++ b/contracts/minter/src/msg.rs @@ -43,12 +43,13 @@ pub enum QueryMsg { pub struct ConfigResponse { pub admin: Addr, pub base_token_uri: String, + pub batch_mint_limit: Option, pub num_tokens: u64, + pub per_address_limit: Option, pub sg721_address: Addr, pub sg721_code_id: u64, + pub start_time: Option, pub unit_price: Coin, - pub per_address_limit: Option, - pub batch_mint_limit: Option, pub whitelist: Option, }