{ "contract_name": "nym-ecash", "contract_version": "0.1.0", "idl_version": "1.0.0", "instantiate": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "InstantiateMsg", "type": "object", "required": [ "deposit_amount", "group_addr", "holding_account", "multisig_addr" ], "properties": { "deposit_amount": { "$ref": "#/definitions/Coin" }, "group_addr": { "type": "string" }, "holding_account": { "type": "string" }, "multisig_addr": { "type": "string" } }, "additionalProperties": false, "definitions": { "Coin": { "type": "object", "required": [ "amount", "denom" ], "properties": { "amount": { "$ref": "#/definitions/Uint128" }, "denom": { "type": "string" } } }, "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" } } }, "execute": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExecuteMsg", "oneOf": [ { "description": "Used by clients to request ticket books from the signers", "type": "object", "required": [ "deposit_ticket_book_funds" ], "properties": { "deposit_ticket_book_funds": { "type": "object", "required": [ "identity_key" ], "properties": { "identity_key": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, { "description": "Used by gateways to batch redeem tokens from the spent tickets", "type": "object", "required": [ "request_redemption" ], "properties": { "request_redemption": { "type": "object", "required": [ "commitment_bs58", "number_of_tickets" ], "properties": { "commitment_bs58": { "type": "string" }, "number_of_tickets": { "type": "integer", "format": "uint16", "minimum": 0.0 } }, "additionalProperties": false } }, "additionalProperties": false }, { "description": "The actual message that gets executed, after multisig votes, that transfers the ticket tokens into gateway's (and the holding) account", "type": "object", "required": [ "redeem_tickets" ], "properties": { "redeem_tickets": { "type": "object", "required": [ "gw", "n" ], "properties": { "gw": { "type": "string" }, "n": { "type": "integer", "format": "uint16", "minimum": 0.0 } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "update_admin" ], "properties": { "update_admin": { "type": "object", "required": [ "admin" ], "properties": { "admin": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "update_deposit_value" ], "properties": { "update_deposit_value": { "type": "object", "required": [ "new_deposit" ], "properties": { "new_deposit": { "$ref": "#/definitions/Coin" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "propose_to_blacklist" ], "properties": { "propose_to_blacklist": { "type": "object", "required": [ "public_key" ], "properties": { "public_key": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "add_to_blacklist" ], "properties": { "add_to_blacklist": { "type": "object", "required": [ "public_key" ], "properties": { "public_key": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false } ], "definitions": { "Coin": { "type": "object", "required": [ "amount", "denom" ], "properties": { "amount": { "$ref": "#/definitions/Uint128" }, "denom": { "type": "string" } } }, "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" } } }, "query": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "QueryMsg", "oneOf": [ { "type": "object", "required": [ "get_blacklisted_account" ], "properties": { "get_blacklisted_account": { "type": "object", "required": [ "public_key" ], "properties": { "public_key": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "get_blacklist_paged" ], "properties": { "get_blacklist_paged": { "type": "object", "properties": { "limit": { "type": [ "integer", "null" ], "format": "uint32", "minimum": 0.0 }, "start_after": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "get_required_deposit_amount" ], "properties": { "get_required_deposit_amount": { "type": "object", "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "get_deposit" ], "properties": { "get_deposit": { "type": "object", "required": [ "deposit_id" ], "properties": { "deposit_id": { "type": "integer", "format": "uint32", "minimum": 0.0 } }, "additionalProperties": false } }, "additionalProperties": false }, { "type": "object", "required": [ "get_deposits_paged" ], "properties": { "get_deposits_paged": { "type": "object", "properties": { "limit": { "type": [ "integer", "null" ], "format": "uint32", "minimum": 0.0 }, "start_after": { "type": [ "integer", "null" ], "format": "uint32", "minimum": 0.0 } }, "additionalProperties": false } }, "additionalProperties": false } ] }, "migrate": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "MigrateMsg", "type": "object", "additionalProperties": false }, "sudo": null, "responses": { "get_blacklist_paged": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "PagedBlacklistedAccountResponse", "type": "object", "required": [ "accounts", "per_page" ], "properties": { "accounts": { "type": "array", "items": { "$ref": "#/definitions/BlacklistedAccount" } }, "per_page": { "type": "integer", "format": "uint", "minimum": 0.0 }, "start_next_after": { "description": "Field indicating paging information for the following queries if the caller wishes to get further entries.", "type": [ "string", "null" ] } }, "additionalProperties": false, "definitions": { "BlacklistedAccount": { "type": "object", "required": [ "info", "public_key" ], "properties": { "info": { "$ref": "#/definitions/Blacklisting" }, "public_key": { "type": "string" } }, "additionalProperties": false }, "Blacklisting": { "type": "object", "required": [ "proposal_id" ], "properties": { "finalized_at_height": { "type": [ "integer", "null" ], "format": "uint64", "minimum": 0.0 }, "proposal_id": { "type": "integer", "format": "uint64", "minimum": 0.0 } }, "additionalProperties": false } } }, "get_blacklisted_account": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "BlacklistedAccountResponse", "type": "object", "properties": { "account": { "anyOf": [ { "$ref": "#/definitions/Blacklisting" }, { "type": "null" } ] } }, "additionalProperties": false, "definitions": { "Blacklisting": { "type": "object", "required": [ "proposal_id" ], "properties": { "finalized_at_height": { "type": [ "integer", "null" ], "format": "uint64", "minimum": 0.0 }, "proposal_id": { "type": "integer", "format": "uint64", "minimum": 0.0 } }, "additionalProperties": false } } }, "get_deposit": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "DepositResponse", "type": "object", "required": [ "id" ], "properties": { "deposit": { "anyOf": [ { "$ref": "#/definitions/Deposit" }, { "type": "null" } ] }, "id": { "type": "integer", "format": "uint32", "minimum": 0.0 } }, "additionalProperties": false, "definitions": { "Deposit": { "type": "object", "required": [ "bs58_encoded_ed25519_pubkey" ], "properties": { "bs58_encoded_ed25519_pubkey": { "type": "string" } }, "additionalProperties": false } } }, "get_deposits_paged": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "PagedDepositsResponse", "type": "object", "required": [ "deposits" ], "properties": { "deposits": { "type": "array", "items": { "$ref": "#/definitions/DepositData" } }, "start_next_after": { "description": "Field indicating paging information for the following queries if the caller wishes to get further entries.", "type": [ "integer", "null" ], "format": "uint32", "minimum": 0.0 } }, "additionalProperties": false, "definitions": { "Deposit": { "type": "object", "required": [ "bs58_encoded_ed25519_pubkey" ], "properties": { "bs58_encoded_ed25519_pubkey": { "type": "string" } }, "additionalProperties": false }, "DepositData": { "type": "object", "required": [ "deposit", "id" ], "properties": { "deposit": { "$ref": "#/definitions/Deposit" }, "id": { "type": "integer", "format": "uint32", "minimum": 0.0 } }, "additionalProperties": false } } }, "get_required_deposit_amount": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "Coin", "type": "object", "required": [ "amount", "denom" ], "properties": { "amount": { "$ref": "#/definitions/Uint128" }, "denom": { "type": "string" } }, "definitions": { "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" } } } } }