{
"$id": "https://raw.githubusercontent.com/yeagerai/genvm/refs/heads/main/doc/schemas/message.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "GenVM message",
"$ref": "#/definitions/body",
"definitions": {
"body": {
"type": "object",
"properties": {
"$schema": { "type": "string" },
"contract_address": {
"type": "string",
"description": "20-byte account address",
"contentEncoding": "base64",
"minLength": 28,
"maxLength": 28
},
"sender_address": {
"type": "string",
"description": "20-byte account address",
"contentEncoding": "base64",
"minLength": 28,
"maxLength": 28
},
"origin_address": {
"type": "string",
"description": "20-byte account address",
"contentEncoding": "base64",
"minLength": 28,
"maxLength": 28
},
"chain_id": {
"type": "string",
"description": "chain id number, must be a parsable u256"
},
"value": {
"oneOf": [{ "type": "null" }, { "type": "integer", "minimum": 0 }],
"description": "amount of GEN attached to message (u64)"
},
"is_init": {
"type": "boolean",
"description": "whenever contract is being instantiated"
},
"datetime": {
"type": "string",
"format": "date-time",
"description": "RFC3339 timestamp, defaults to 2024-11-26T06:42:42.424242Z if not provided"
}
},
"required": ["contract_address", "sender_address", "origin_address", "chain_id", "is_init"]
}
}
}