{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExecuteMsg", "anyOf": [ { "description": "Registering to the lottery", "type": "object", "required": [ "register" ], "properties": { "register": { "type": "object", "required": [ "combination" ], "properties": { "address": { "type": [ "string", "null" ] }, "combination": { "type": "array", "items": { "type": "string" } } } } }, "additionalProperties": false }, { "description": "Run the lottery", "type": "object", "required": [ "play" ], "properties": { "play": { "type": "object" } }, "additionalProperties": false }, { "description": "Claim jackpot", "type": "object", "required": [ "claim" ], "properties": { "claim": { "type": "object", "properties": { "addresses": { "type": [ "array", "null" ], "items": { "type": "string" } } } } }, "additionalProperties": false }, { "description": "Collect jackpot", "type": "object", "required": [ "collect" ], "properties": { "collect": { "type": "object", "properties": { "address": { "type": [ "string", "null" ] } } } }, "additionalProperties": false }, { "description": "DAO Make a proposal", "type": "object", "required": [ "poll" ], "properties": { "poll": { "type": "object", "required": [ "description", "proposal" ], "properties": { "amount": { "anyOf": [ { "$ref": "#/definitions/Uint128" }, { "type": "null" } ] }, "description": { "type": "string" }, "prize_per_rank": { "type": [ "array", "null" ], "items": { "type": "integer", "format": "uint8", "minimum": 0.0 } }, "proposal": { "$ref": "#/definitions/Proposal" }, "recipient": { "type": [ "string", "null" ] } } } }, "additionalProperties": false }, { "description": "Vote the proposal", "type": "object", "required": [ "vote" ], "properties": { "vote": { "type": "object", "required": [ "approve", "poll_id" ], "properties": { "approve": { "type": "boolean" }, "poll_id": { "type": "integer", "format": "uint64", "minimum": 0.0 } } } }, "additionalProperties": false }, { "description": "Valid a proposal", "type": "object", "required": [ "present_poll" ], "properties": { "present_poll": { "type": "object", "required": [ "poll_id" ], "properties": { "poll_id": { "type": "integer", "format": "uint64", "minimum": 0.0 } } } }, "additionalProperties": false }, { "description": "Reject a proposal", "type": "object", "required": [ "reject_poll" ], "properties": { "reject_poll": { "type": "object", "required": [ "poll_id" ], "properties": { "poll_id": { "type": "integer", "format": "uint64", "minimum": 0.0 } } } }, "additionalProperties": false }, { "description": "Admin Security owner can switch on off to prevent exploit", "type": "object", "required": [ "safe_lock" ], "properties": { "safe_lock": { "type": "object" } }, "additionalProperties": false }, { "description": "Admin renounce and restore contract address to admin for full decentralization", "type": "object", "required": [ "renounce" ], "properties": { "renounce": { "type": "object" } }, "additionalProperties": false } ], "definitions": { "Proposal": { "type": "string", "enum": [ "LotteryEveryBlockTime", "HolderFeePercentage", "DrandWorkerFeePercentage", "PrizePerRank", "JackpotRewardPercentage", "AmountToRegister", "SecurityMigration", "DaoFunding", "StakingContractMigration", "PollSurvey", "NotExist" ] }, "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" } } }