{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Account", "type": "object", "discriminator": { "propertyName": "type", "mapping": { "user": "#/components/schemas/User", "delegate": "#/components/schemas/Delegate", "contract": "#/components/schemas/Contract", "ghost": "#/components/schemas/Ghost", "rollup": "#/components/schemas/Rollup", "smart_rollup": "#/components/schemas/SmartRollup", "empty": "#/components/schemas/EmptyAccount" } }, "x-abstract": true, "additionalProperties": false, "required": [ "type" ], "properties": { "type": { "type": "string", "description": "Type of the account (`user` - simple wallet account, `delegate` - account, registered as a delegate (baker),\n`contract` - smart contract programmable account, `ghost` - non-existent contract, `empty` - account hasn't appeared in the blockchain yet,\n`rollup` - transactional optimistic rollup, `smart_rollup` - smart contract optimistic rollup)" }, "address": { "type": "string" } } }