{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "ExecuteMsg", "oneOf": [ { "description": "Change the admin", "type": "object", "required": [ "update_admin" ], "properties": { "update_admin": { "type": "object", "properties": { "admin": { "type": [ "string", "null" ] } }, "additionalProperties": false } }, "additionalProperties": false }, { "description": "apply a diff to the existing members. remove is applied after add, so if an address is in both, it is removed", "type": "object", "required": [ "update_members" ], "properties": { "update_members": { "type": "object", "required": [ "add", "remove" ], "properties": { "add": { "type": "array", "items": { "$ref": "#/definitions/Member" } }, "remove": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false } }, "additionalProperties": false }, { "description": "Add a new hook to be informed of all membership changes. Must be called by Admin", "type": "object", "required": [ "add_hook" ], "properties": { "add_hook": { "type": "object", "required": [ "addr" ], "properties": { "addr": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false }, { "description": "Remove a hook. Must be called by Admin", "type": "object", "required": [ "remove_hook" ], "properties": { "remove_hook": { "type": "object", "required": [ "addr" ], "properties": { "addr": { "type": "string" } }, "additionalProperties": false } }, "additionalProperties": false } ], "definitions": { "Member": { "description": "A group member has a weight associated with them. This may all be equal, or may have meaning in the app that makes use of the group (eg. voting power)", "type": "object", "required": [ "addr", "weight" ], "properties": { "addr": { "type": "string" }, "weight": { "type": "integer", "format": "uint64", "minimum": 0.0 } }, "additionalProperties": false } } }