{
    "contractName": "IPatriciaTreeBase",
    "abi": [
        {
            "inputs": [],
            "name": "getRootHash",
            "outputs": [
                {
                    "internalType": "bytes32",
                    "name": "rootHash",
                    "type": "bytes32"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "getRootEdge",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "bytes32",
                            "name": "node",
                            "type": "bytes32"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "bytes32",
                                    "name": "data",
                                    "type": "bytes32"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "length",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct Data.Label",
                            "name": "label",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct Data.Edge",
                    "name": "e",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes32",
                    "name": "hash",
                    "type": "bytes32"
                }
            ],
            "name": "getNode",
            "outputs": [
                {
                    "components": [
                        {
                            "components": [
                                {
                                    "internalType": "bytes32",
                                    "name": "node",
                                    "type": "bytes32"
                                },
                                {
                                    "components": [
                                        {
                                            "internalType": "bytes32",
                                            "name": "data",
                                            "type": "bytes32"
                                        },
                                        {
                                            "internalType": "uint256",
                                            "name": "length",
                                            "type": "uint256"
                                        }
                                    ],
                                    "internalType": "struct Data.Label",
                                    "name": "label",
                                    "type": "tuple"
                                }
                            ],
                            "internalType": "struct Data.Edge[2]",
                            "name": "children",
                            "type": "tuple[2]"
                        }
                    ],
                    "internalType": "struct Data.Node",
                    "name": "n",
                    "type": "tuple"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "devdoc": {
        "kind": "dev",
        "methods": {
            "getNode(bytes32)": {
                "params": {
                    "hash": "The `keccak256` hash of the actual key"
                },
                "returns": {
                    "n": "`Data.Node` for key `hash`"
                }
            },
            "getRootEdge()": {
                "returns": {
                    "e": "The root `Data.Edge`"
                }
            },
            "getRootHash()": {
                "details": "This value is a keccak256 hash of the rootEdge: `keccak256(Edge.node, Edge.label.length, Edge.label.data)`",
                "returns": {
                    "rootHash": "The `bytes32` hash value"
                }
            }
        },
        "title": "Interface for Patricia trees",
        "version": 1
    },
    "userdoc": {
        "kind": "user",
        "methods": {
            "getNode(bytes32)": {
                "notice": "Get the node with the given key"
            },
            "getRootEdge()": {
                "notice": "Get the root edge"
            },
            "getRootHash()": {
                "notice": "Get the root hash"
            }
        },
        "notice": "More info at: https://github.com/chriseth/patricia-trie",
        "version": 1
    }
}