tronbox
Version:
TronBox - Simple development framework for Tron
163 lines (162 loc) • 3.44 kB
JSON
{
"id": "contract-object.spec.json",
"$schema": "http://json-schema.org/schema#",
"title": "Contract Object",
"description": "Describes a contract consumable by Truffle, possibly including deployed instances on networks",
"type": "object",
"properties": {
"contractName": {
"allOf": [
{
"$ref": "#/definitions/ContractName"
},
{
"description": "Name used to identify the contract",
"default": "Contract"
}
]
},
"abi": {
"allOf": [
{
"$ref": "abi.spec.json#"
},
{
"description": "Interface description returned by compiler for source"
}
]
},
"bytecode": {
"allOf": [
{
"$ref": "#/definitions/Bytecode"
},
{
"description": "Bytecode sent as contract-creation transaction data, with unresolved link references"
}
]
},
"deployedBytecode": {
"allOf": [
{
"$ref": "#/definitions/Bytecode"
},
{
"description": "On-chain deployed contract bytecode, with unresolved link references"
}
]
},
"sourceMap": {
"allOf": [
{
"$ref": "#/definitions/SourceMap"
},
{
"description": "Source mapping for contract-creation transaction data bytecode"
}
]
},
"deployedSourceMap": {
"allOf": [
{
"$ref": "#/definitions/SourceMap"
},
{
"description": "Source mapping for contract bytecode"
}
]
},
"source": {
"$ref": "#/definitions/Source"
},
"sourcePath": {
"$ref": "#/definitions/SourcePath"
},
"ast": {
"$ref": "#/definitions/AST"
},
"legacyAST": {
"$ref": "#/definitions/LegacyAST"
},
"compiler": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"networks": {
"patternProperties": {
"^[a-zA-Z0-9]+$": {
"$ref": "network-object.spec.json#"
}
},
"additionalProperties": false
},
"schemaVersion": {
"$ref": "#/definitions/SchemaVersion"
},
"updatedAt": {
"type": "string",
"format": "date-time"
}
},
"required": [
"abi"
],
"patternProperties": {
"^x-": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "object"
},
{
"type": "array"
}
]
}
},
"additionalProperties": false,
"definitions": {
"ContractName": {
"type": "string",
"pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$"
},
"Bytecode": {
"type": "string",
"pattern": "^0x0$|^0x([a-fA-F0-9]{2}|__.{38})+$"
},
"Source": {
"type": "string"
},
"SourceMap": {
"type": "string",
"examples": [
"315:637:1:-;;;452:55;;;;;;;-1:-1:-1;;;;;485:9:1;476:19;:8;:19;;;;;;;;;;498:5;476:27;;452:55;315:637;;;;;;;"
]
},
"SourcePath": {
"type": "string"
},
"AST": {
"type": "object"
},
"LegacyAST": {
"type": "object"
},
"SchemaVersion": {
"type": "string",
"pattern": "[0-9]+\\.[0-9]+\\.[0-9]+"
}
}
}