{ "$schema": "http://json-schema.org/schema#", "$schemaVersion": "0.0.2", "modelTags": "", "$id": "https://smart-data-models.github.io/datamodel.DistributedLedgerTech/DLTtxReceipt/schema.json", "title": " Smart Data Models - Distributed Ledger Technology/ Blockchain Receipts", "description": "Description of a DLT receipt storing some of the attributes (keys) of a transaction.", "type": "object", "allOf": [ { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/GSMA-Commons" }, { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/Location-Commons" }, { "properties": { "type": { "type": "string", "enum": [ "DLTtxReceipt" ], "description": "Property. NSGI Entity Type. it has to be DLTtxReceipt" }, "refEntity": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$", "description": "Property. Identifier format of any NGSI entity" }, { "type": "string", "format": "uri", "description": "Property. Identifier format of any NGSI entity" } ], "description": "Relationship. Model:'http://schema.org/URL'. Entity persisted in the DLT" }, "TxReceipts": { "type": "object", "description": "Property. Transaction Receipt", "properties": { "to": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Account or Contract Address to transaction has been submitted" }, "from": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Account Address of the user/service responsible to submit the transaction (address of the msg.sender)" }, "keys": { "type": "array", "description": "Property. Payload keys used in transaction payload", "items": { "type": "string" } }, "logs": { "type": "object", "description": "Property. A log record can be used to describe an event within a smart contract (Ethereum)", "properties": { "id": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Log id" }, "data": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Contains one or more 32 Bytes non-indexed arguments of the log" }, "topics": { "type": "array", "description": "Property. Array of 0 to 4 32 Bytes DATA of indexed log arguments. (In solidity: The first topic is the hash of the signature of the event (e.g. Deposit(address,bytes32,uint256)), except you declared the event with the anonymous specifier.)", "items": { "type": "string" } }, "logAddress": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Address from which this log originated" }, "removed": { "type": "boolean", "description": "Property. Model:'https://schema.org/Boolean'. True when the log was removed, due to a chain reorganization. False if its a valid log" }, "logIndex": { "type": "integer", "minimum": 0, "description": "Property. Model:'https://schema.org/Number'. Integer of the log index position in the block. null when its pending log" }, "blockHash": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Hash of the block where this log was in" }, "blockNumber": { "type": "integer", "minimum": 0, "description": "Property. Model:'https://schema.org/Number'. The block number where this log was in. null when its pending. null when its pending log" }, "transactionHash": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Hash of the transactions this log was created from. null when its pending log" }, "transactionIndex": { "type": "integer", "minimum": 0, "description": "Property. Model:'https://schema.org/Number'. Integer of the transactions index position log was created from. null when its pending log." } } }, "status": { "type": "boolean", "description": "Property. Model:'https://schema.org/Boolean'. True or False \u2014 which informs us if the txn was reverted or not \u2014 in this case it was true (0x1)" }, "dltType": { "type": "string", "enum": [ "eth", "iota" ], "description": "Property. Model:'https://schema.org/Text'. Enum:'eth, iota'. type of DLT used by the transaction" }, "gasUsed": { "type": "integer", "minimum": 0, "description": "Property. Model:'https://schema.org/Number'. The amount of gas used by this specific transaction" }, "blockHash": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Hash of the block of the transaction" }, "logsBloom": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. 256 Bytes-bloom filter for light clients to quickly retrieve related logs" }, "objectType": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Type of object has been persisted" }, "blockNumber": { "type": "integer", "minimum": 0, "description": "Property. Model:'https://schema.org/Number'. Block number of the transaction" }, "storageType": { "type": "string", "enum": [ "iota", "ipfs", "merkletree" ], "description": "Property. Model:'https://schema.org/Text'. Enum:'iota, ipfs, merkletree'. Type of storage used to persist payload" }, "transactionHash": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Hash of the transaction" }, "contractAddress": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. Contract address created, if the transaction was a contract creation, otherwise null" }, "transactionIndex": { "type": "integer", "minimum": 0, "description": "Property. Model:'https://schema.org/Number'. Integer of the transactions index position in the block" }, "cumulativeGasUsed": { "type": "integer", "minimum": 0, "description": "Property. Model:'https://schema.org/Number'. Total amount of gas used when this transaction was executed in the block" } } } } } ], "required": [ "id", "type" ] }