@river-build/generated
Version:
## How to generate contract types
1,767 lines • 55.2 kB
JSON
{
"compiler": {
"version": "0.8.24+commit.e11b9ed9"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address[]",
"name": "approvedOperators",
"type": "address[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"type": "error",
"name": "Initializable_InInitializingState"
},
{
"inputs": [],
"type": "error",
"name": "Initializable_NotInInitializingState"
},
{
"inputs": [],
"type": "error",
"name": "Introspection_AlreadySupported"
},
{
"inputs": [],
"type": "error",
"name": "Introspection_NotSupported"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"type": "error",
"name": "Ownable__NotOwner"
},
{
"inputs": [],
"type": "error",
"name": "Ownable__ZeroAddress"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32",
"indexed": false
},
{
"internalType": "uint64",
"name": "block",
"type": "uint64",
"indexed": false
},
{
"internalType": "bytes",
"name": "value",
"type": "bytes",
"indexed": false
},
{
"internalType": "bool",
"name": "deleted",
"type": "bool",
"indexed": false
}
],
"type": "event",
"name": "ConfigurationChanged",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "manager",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "ConfigurationManagerAdded",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "manager",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "ConfigurationManagerRemoved",
"anonymous": false
},
{
"inputs": [
{
"internalType": "uint32",
"name": "version",
"type": "uint32",
"indexed": false
}
],
"type": "event",
"name": "Initialized",
"anonymous": false
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4",
"indexed": true
}
],
"type": "event",
"name": "InterfaceAdded",
"anonymous": false
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4",
"indexed": true
}
],
"type": "event",
"name": "InterfaceRemoved",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "operator",
"type": "address",
"indexed": true
},
{
"internalType": "string",
"name": "url",
"type": "string",
"indexed": false
},
{
"internalType": "enum NodeStatus",
"name": "status",
"type": "uint8",
"indexed": false
}
],
"type": "event",
"name": "NodeAdded",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "NodeRemoved",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address",
"indexed": true
},
{
"internalType": "enum NodeStatus",
"name": "status",
"type": "uint8",
"indexed": false
}
],
"type": "event",
"name": "NodeStatusUpdated",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address",
"indexed": true
},
{
"internalType": "string",
"name": "url",
"type": "string",
"indexed": false
}
],
"type": "event",
"name": "NodeUrlUpdated",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "operatorAddress",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "OperatorAdded",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "operatorAddress",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "OperatorRemoved",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "previousOwner",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "newOwner",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "OwnershipTransferred",
"anonymous": false
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32",
"indexed": false
},
{
"internalType": "address[]",
"name": "nodes",
"type": "address[]",
"indexed": false
},
{
"internalType": "bytes32",
"name": "genesisMiniblockHash",
"type": "bytes32",
"indexed": false
},
{
"internalType": "bytes",
"name": "genesisMiniblock",
"type": "bytes",
"indexed": false
}
],
"type": "event",
"name": "StreamAllocated",
"anonymous": false
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32",
"indexed": false
},
{
"internalType": "bytes32",
"name": "genesisMiniblockHash",
"type": "bytes32",
"indexed": false
},
{
"internalType": "struct Stream",
"name": "stream",
"type": "tuple",
"components": [
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "reserved0",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "flags",
"type": "uint64"
},
{
"internalType": "address[]",
"name": "nodes",
"type": "address[]"
}
],
"indexed": false
}
],
"type": "event",
"name": "StreamCreated",
"anonymous": false
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32",
"indexed": false
},
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32",
"indexed": false
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64",
"indexed": false
},
{
"internalType": "string",
"name": "reason",
"type": "string",
"indexed": false
}
],
"type": "event",
"name": "StreamLastMiniblockUpdateFailed",
"anonymous": false
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32",
"indexed": false
},
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32",
"indexed": false
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64",
"indexed": false
},
{
"internalType": "bool",
"name": "isSealed",
"type": "bool",
"indexed": false
}
],
"type": "event",
"name": "StreamLastMiniblockUpdated",
"anonymous": false
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32",
"indexed": false
},
{
"internalType": "address",
"name": "nodeAddress",
"type": "address",
"indexed": false
},
{
"internalType": "bool",
"name": "isAdded",
"type": "bool",
"indexed": false
}
],
"type": "event",
"name": "StreamPlacementUpdated",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address[]",
"name": "initialOperators",
"type": "address[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "__OperatorRegistry_init"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "configManagers",
"type": "address[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "__RiverConfig_init"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "genesisMiniblockHash",
"type": "bytes32"
},
{
"internalType": "struct Stream",
"name": "stream",
"type": "tuple",
"components": [
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "reserved0",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "flags",
"type": "uint64"
},
{
"internalType": "address[]",
"name": "nodes",
"type": "address[]"
}
]
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "addStream"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32"
},
{
"internalType": "address[]",
"name": "nodes",
"type": "address[]"
},
{
"internalType": "bytes32",
"name": "genesisMiniblockHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "genesisMiniblock",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "allocateStream"
},
{
"inputs": [
{
"internalType": "address",
"name": "manager",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "approveConfigurationManager"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "approveOperator"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function",
"name": "configurationExists",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deleteConfiguration"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "blockNumber",
"type": "uint64"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deleteConfigurationOnBlock"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getAllConfiguration",
"outputs": [
{
"internalType": "struct Setting[]",
"name": "",
"type": "tuple[]",
"components": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "blockNumber",
"type": "uint64"
},
{
"internalType": "bytes",
"name": "value",
"type": "bytes"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getAllNodeAddresses",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getAllNodes",
"outputs": [
{
"internalType": "struct Node[]",
"name": "",
"type": "tuple[]",
"components": [
{
"internalType": "enum NodeStatus",
"name": "status",
"type": "uint8"
},
{
"internalType": "string",
"name": "url",
"type": "string"
},
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getAllOperators",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function",
"name": "getConfiguration",
"outputs": [
{
"internalType": "struct Setting[]",
"name": "",
"type": "tuple[]",
"components": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "blockNumber",
"type": "uint64"
},
{
"internalType": "bytes",
"name": "value",
"type": "bytes"
}
]
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "getNode",
"outputs": [
{
"internalType": "struct Node",
"name": "",
"type": "tuple",
"components": [
{
"internalType": "enum NodeStatus",
"name": "status",
"type": "uint8"
},
{
"internalType": "string",
"name": "url",
"type": "string"
},
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getNodeCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "start",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stop",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "getPaginatedStreams",
"outputs": [
{
"internalType": "struct StreamWithId[]",
"name": "",
"type": "tuple[]",
"components": [
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"internalType": "struct Stream",
"name": "stream",
"type": "tuple",
"components": [
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "reserved0",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "flags",
"type": "uint64"
},
{
"internalType": "address[]",
"name": "nodes",
"type": "address[]"
}
]
}
]
},
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "start",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stop",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "getPaginatedStreamsOnNode",
"outputs": [
{
"internalType": "struct StreamWithId[]",
"name": "streams",
"type": "tuple[]",
"components": [
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
},
{
"internalType": "struct Stream",
"name": "stream",
"type": "tuple",
"components": [
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "reserved0",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "flags",
"type": "uint64"
},
{
"internalType": "address[]",
"name": "nodes",
"type": "address[]"
}
]
}
]
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function",
"name": "getStream",
"outputs": [
{
"internalType": "struct Stream",
"name": "stream",
"type": "tuple",
"components": [
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "reserved0",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "flags",
"type": "uint64"
},
{
"internalType": "address[]",
"name": "nodes",
"type": "address[]"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getStreamCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "getStreamCountOnNode",
"outputs": [
{
"internalType": "uint256",
"name": "count",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function",
"name": "getStreamWithGenesis",
"outputs": [
{
"internalType": "struct Stream",
"name": "stream",
"type": "tuple",
"components": [
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "reserved0",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "flags",
"type": "uint64"
},
{
"internalType": "address[]",
"name": "nodes",
"type": "address[]"
}
]
},
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "manager",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "isConfigurationManager",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "isNode",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "isOperator",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function",
"name": "isStream",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "placeStreamOnNode"
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
},
{
"internalType": "string",
"name": "url",
"type": "string"
},
{
"internalType": "enum NodeStatus",
"name": "status",
"type": "uint8"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "registerNode"
},
{
"inputs": [
{
"internalType": "address",
"name": "manager",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "removeConfigurationManager"
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "removeNode"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "removeOperator"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "removeStreamFromNode"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "blockNumber",
"type": "uint64"
},
{
"internalType": "bytes",
"name": "value",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setConfiguration"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64"
},
{
"internalType": "bool",
"name": "isSealed",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setStreamLastMiniblock"
},
{
"inputs": [
{
"internalType": "struct SetMiniblock[]",
"name": "miniblocks",
"type": "tuple[]",
"components": [
{
"internalType": "bytes32",
"name": "streamId",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "prevMiniBlockHash",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "lastMiniblockHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "lastMiniblockNum",
"type": "uint64"
},
{
"internalType": "bool",
"name": "isSealed",
"type": "bool"
}
]
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setStreamLastMiniblockBatch"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "start",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "stop",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "syncNodesOnStreams"
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
},
{
"internalType": "enum NodeStatus",
"name": "status",
"type": "uint8"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "updateNodeStatus"
},
{
"inputs": [
{
"internalType": "address",
"name": "nodeAddress",
"type": "address"
},
{
"internalType": "string",
"name": "url",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "updateNodeUrl"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"addStream(bytes32,bytes32,(bytes32,uint64,uint64,uint64,address[]))": {
"details": "Only callable by registered nodes",
"params": {
"stream": "is the Stream object to be created"
}
},
"allocateStream(bytes32,address[],bytes32,bytes)": {
"details": "Only callable by registered nodes",
"params": {
"genesisMiniblock": "The genesis miniblock data",
"genesisMiniblockHash": "The hash of the genesis miniblock",
"nodes": "The list of nodes to place the stream on",
"streamId": "The ID of the stream to allocate"
}
},
"approveConfigurationManager(address)": {
"params": {
"manager": "The address to add"
}
},
"configurationExists(bytes32)": {
"params": {
"key": "The setting key"
},
"returns": {
"_0": "True if the setting exists"
}
},
"deleteConfiguration(bytes32)": {
"details": "Emits ConfigurationChanged event with deleted flag set to true and block number set to max value of uint64",
"params": {
"key": "The setting key"
}
},
"deleteConfigurationOnBlock(bytes32,uint64)": {
"details": "Emits ConfigurationChanged event with deleted flag set to true",
"params": {
"blockNumber": "The block number on which the setting becomes active",
"key": "The setting key"
}
},
"getAllConfiguration()": {
"details": "Note that the returned list is ordered on key but NOT on block number",
"returns": {
"_0": "List will all stored settings"
}
},
"getAllNodeAddresses()": {
"details": "WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."
},
"getAllNodes()": {
"details": "WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that this function has an unbounded cost, and using it as part of a state-changing function may render the function uncallable if the map grows to a point where copying to memory consumes too much gas to fit in a block."
},
"getConfiguration(bytes32)": {
"details": "Note that the returned list isn't ordered by block number",
"params": {
"key": "The setting key"
},
"returns": {
"_0": "The setting value"
}
},
"getPaginatedStreams(uint256,uint256)": {
"details": "Recommended range is 5000 streams to avoid gas limits",
"params": {
"start": "The starting index for pagination",
"stop": "The ending index for pagination, exclusive"
},
"returns": {
"_0": "StreamWithId[] Array of streams with their IDs in the requested range",
"_1": "bool True if this is the last page of results"
}
},
"getPaginatedStreamsOnNode(address,uint256,uint256)": {
"params": {
"nodeAddress": "The address of the node",
"start": "The starting index for pagination",
"stop": "The ending index for pagination, exclusive"
},
"returns": {
"streams": "Array of streams with their IDs in the requested range for the specified node"
}
},
"getStream(bytes32)": {
"params": {
"streamId": "The ID of the stream to get"
},
"returns": {
"stream": "Stream The stream data"
}
},
"getStreamCount()": {
"returns": {
"_0": "uint256 The total number of streams"
}
},
"getStreamCountOnNode(address)": {
"params": {
"nodeAddress": "The address of the node to check"
},
"returns": {
"count": "uint256 The number of streams on the node"
}
},
"getStreamWithGenesis(bytes32)": {
"params": {
"streamId": "The ID of the stream to get"
},
"returns": {
"_1": "bytes32 The genesis miniblock hash",
"_2": "bytes The genesis miniblock data",
"stream": "Stream The stream data"
}
},
"isConfigurationManager(address)": {
"params": {
"manager": "The address to check"
},
"returns": {
"_0": "True if the address is a configuration manager"
}
},
"isStream(bytes32)": {
"params": {
"streamId": "The ID of the stream to check"
},
"returns": {
"_0": "bool True if the stream exists, false otherwise"
}
},
"placeStreamOnNode(bytes32,address)": {
"params": {
"nodeAddress": "The address of the node to place the stream on",
"streamId": "The ID of the stream to place"
}
},
"removeConfigurationManager(address)": {
"params": {
"manager": "The address to remove"
}
},
"removeStreamFromNode(bytes32,address)": {
"params": {
"nodeAddress": "The address of the node to remove the stream from",
"streamId": "The ID of the stream to remove"
}
},
"setConfiguration(bytes32,uint64,bytes)": {
"details": "Emits ConfigurationChanged event",
"params": {
"blockNumber": "The block number on which the setting becomes active, can't be max value of uint64",
"key": "The keccak256 hash of the setting name",
"value": "The setting value (value must be its ABI representation), can't be empty"
}
},
"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)": {
"details": "Only callable by registered nodes",
"params": {
"isSealed": "Whether to mark the stream as sealed",
"lastMiniblockHash": "The hash of the new last miniblock",
"lastMiniblockNum": "The number of the new last miniblock",
"prevMiniblockHash": "The hash of the previous miniblock (currently unused)",
"streamId": "The ID of the stream to update"
}
},
"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])": {
"details": "Only callable by registered nodesThis function allows updating multiple streams' last miniblock data in a single transaction",
"params": {
"miniblocks": "Array of SetMiniblock structs containing stream IDs and their last miniblock information"
}
},
"syncNodesOnStreams(uint256,uint256)": {
"params": {
"start": "The starting index for pagination",
"stop": "The ending index for pagination, exclusive"
}
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"addStream(bytes32,bytes32,(bytes32,uint64,uint64,uint64,address[]))": {
"notice": "Create a new stream in the registry"
},
"allocateStream(bytes32,address[],bytes32,bytes)": {
"notice": "Allocate a new stream in the registry"
},
"approveConfigurationManager(address)": {
"notice": "Add a configuration manager"
},
"configurationExists(bytes32)": {
"notice": "Indication if there is a setting for the given key"
},
"deleteConfiguration(bytes32)": {
"notice": "Deletes the setting for the given key on all blocks"
},
"deleteConfigurationOnBlock(bytes32,uint64)": {
"notice": "Deletes the setting for the given key at the given block"
},
"getAllConfiguration()": {
"notice": "Get all settings store in the registry"
},
"getAllNodeAddresses()": {
"notice": "Return array containing all node addresses"
},
"getAllNodes()": {
"notice": "Return array containing all nodes"
},
"getConfiguration(bytes32)": {
"notice": "Get settings for the given key"
},
"getPaginatedStreams(uint256,uint256)": {
"notice": "Get a paginated list of streams from the registry"
},
"getPaginatedStreamsOnNode(address,uint256,uint256)": {
"notice": "Get a paginated list of streams on a specific node"
},
"getStream(bytes32)": {
"notice": "Get a stream from the registry"
},
"getStreamCount()": {
"notice": "Get the total number of streams in the registry"
},
"getStreamCountOnNode(address)": {
"notice": "Get the number of streams placed on a specific node"
},
"getStreamWithGenesis(bytes32)": {
"notice": "Get a stream and its genesis information from the registry"
},
"isConfigurationManager(address)": {
"notice": "Check if the given address is a configuration manager"
},
"isStream(bytes32)": {
"notice": "Check if a stream exists in the registry"
},
"placeStreamOnNode(bytes32,address)": {
"notice": "Place a stream on a specific node"
},
"removeConfigurationManager(address)": {
"notice": "Remove a configuration manager"
},
"removeStreamFromNode(bytes32,address)": {
"notice": "Remove a stream from a specific node"
},
"setConfiguration(bytes32,uint64,bytes)": {
"notice": "Set a bytes setting for the given key"
},
"setStreamLastMiniblock(bytes32,bytes32,bytes32,uint64,bool)": {
"notice": "Update the last miniblock information for a stream"
},
"setStreamLastMiniblockBatch((bytes32,bytes32,bytes32,uint64,bool)[])": {
"notice": "Set the last miniblock for multiple streams in a batch operation"
},
"syncNodesOnStreams(uint256,uint256)": {
"notice": "Sync node addresses for streams in a range to `streamIdsByNode` mapping"
}
},
"version": 1
}
},
"settings": {
"remappings": [
"@openzeppelin/=node_modules/@openzeppelin/",
"@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/",
"@prb/math/=node_modules/@prb/math/src/",
"@prb/test/=node_modules/@prb/test/src/",
"@river-build/diamond/=node_modules/@river-build/diamond/",
"@solidity/=node_modules/crypto-lib/src/",
"account-abstraction/=node_modules/account-abstraction/contracts/",
"crypto-lib/=node_modules/crypto-lib/src/",
"ds-test/=node_modules/ds-test/src/",
"forge-std/=node_modules/forge-std/src/",
"hardhat-deploy/=node_modules/hardhat-deploy/",
"solady/=node_modules/solady/src/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"bytecodeHash": "none",
"appendCBOR": false
},
"compilationTarget": {
"contracts/test/mocks/MockRiverRegistry.sol": "MockRiverRegistry"
},
"evmVersion": "paris",
"libraries": {}
},
"sources": {
"contracts/src/river/registry/facets/config/IRiverConfig.sol": {
"keccak256": "0x17d5e8570557d046fd9a311da7eecf69f8d198eb8ec54bd14057d4d485427600",
"urls": [
"bzz-raw://a7ab5c4b1d7be2494915012608093387aca8b0e68db5696db94de22d3702a066",
"dweb:/ipfs/QmYauTuD8NAcDy7Hf87sWjXbafZJpi2vCXjeMgLuygmLge"
],
"license": "MIT"
},
"contracts/src/river/registry/facets/config/RiverConfig.sol": {
"keccak256": "0x245ee7097c6bd1527ca3653ee9325bf892209f2885afbe623a85cdb637e7a18e",
"urls": [
"bzz-raw://563fa4c19ed49a0c5e60675691f2ff01f77b38d4744d82548ca6738ff105436d",
"dweb:/ipfs/QmcK1Vw7ogaFvjKdPz5Dh6jQqyB1Y9eFbU4Hv1XW97CZm4"
],
"license": "MIT"
},
"contracts/src/river/registry/facets/node/INodeRegistry.sol": {
"keccak256": "0xf521b9a741e45f40098574a6e4f4e62a8e0b457fb053b57624463167691a8cdd",
"urls": [
"bzz-raw://97eb4ed98fa25f98f4d2150d6e0b4dc5ade7c88d8b934b786891fb37bf380ce3",
"dweb:/ipfs/QmU9L2iJAKY6UnckhFAiq5Qw482DZzW4fiGVAJ6qkgPsrs"
],
"license": "MIT"
},
"contracts/src/river/registry/facets/node/NodeRegistry.sol": {
"keccak256": "0x938e660fa4b107060b4b954fb4251b87de6f0724c948f73138cf2f8392615821",
"urls": [
"bzz-raw://7023efa8ae7526aa4650512b05c6cda9c575cea23393c0d25e63ec1c358e2261",
"dweb:/ipfs/QmXH9Lvc4MBNwXnC6yUmmPxXNxoiDJzdZ2iCreDxSjZPch"
],
"license": "MIT"
},
"contracts/src/river/registry/facets/operator/IOperatorRegistry.sol": {
"keccak256": "0xce4eb79498c4f592d803bbccac56d2c9aa11093d19ef16f913ea03d497c12a47",
"urls": [
"bzz-raw://fa4317cecb1fa3abe9f4792b54b2952a3bf4d7fcebf44840c6fc21ec971c56c5",
"dweb:/ipfs/QmWq2nRD2stDBhuWniGZu3tM881BbfK9kSunJcyfKCN7iC"
],
"license": "MIT"
},
"contracts/src/river/registry/facets/operator/OperatorRegistry.sol": {
"keccak256": "0xa3b3b345079599f2370d2222a4ffcb3e2a375e076d2fea972a7982b8fe8b1ffa",
"urls": [
"bzz-raw://4fad171d5968d92b670959290d7232b70091847603f4f4e55ae43c91c75a7e79",
"dweb:/ipfs/QmSkQtK5ERTP1aDmHr3y4r2jUZExcsEYxFEyHgndNgn3tz"
],
"license": "MIT"
},
"contracts/src/river/registry/facets/stream/IStreamRegistry.sol": {
"keccak256": "0x85011c1cea4c3269a9b885deb0ba61cd07cb81c23ddda95e44300860de08c415",
"urls": [
"bzz-raw://5f251ee7f20a441a7a29c9bd4eeea4679950aaad61bbf04aeff45a7276c5378e",
"dweb:/ipfs/QmefpgU4w2T1vaMixzGX6Rcts2QiodHPrdKyQXW98xQbKR"
],
"license": "MIT"
},
"contracts/src/river/registry/facets/stream/StreamRegistry.sol": {
"keccak256": "0x7c5d2ace5c2e3c0d862fefe95d2941d5d6bdc77f6eee0cb43b1646a002446712",
"urls": [
"bzz-raw://08813c75f7bb2034b9de0375b757ca82ba0f95c561443e81eea43bd8f7b0b2ce",
"dweb:/ipfs/QmPVfjcp5MoguUMhKXUQPyUgEApjvecsGavHjcdDwd7Cx7"
],
"license": "MIT"
},
"contracts/src/river/registry/libraries/RegistryErrors.sol": {
"keccak256": "0x411bd2bca08451c59880f46aa3ce0ac6b20a1cfa8a8836e4ce035fad57bce497",
"urls": [
"bzz-raw://7d8b0fff68a90994db10dd30f26f4f399027295152060b65fadaab76768f6501",
"dweb:/ipfs/QmdJsGe2utFn1ju8YKkZpshVGNgUbfkkZP77LprQ43BcPP"
],
"license": "MIT"
},
"contracts/src/river/registry/libraries/RegistryStorage.sol": {
"keccak256": "0x6746f596f0241c8848bc6811829cc7a2264413ae0d4696dae95dcb0df0302034",
"urls": [
"bzz-raw://4c6315755c549e6c5fa0e88dce5394b26e0886b0f8863077463adfd34f0f16af",
"dweb:/ipfs/QmcgBsAoEMNdkXkTT9AGdd7kcT9DRNLb5sDFiUktFcm6qr"
],
"license": "MIT"
},
"contracts/test/mocks/MockRiverRegistry.sol": {
"keccak256": "0x02a27464980461b888d3035414a8fe094f6879e08392ce3e5c2f956efde34088",
"urls": [
"bzz-raw://6fa6fde43f02e200a1dac0a4a3a09283acde51470e4d9a41c5d5c7012bcd9fd5",
"dweb:/ipfs/QmXeZKoaaQE6PwPgeczoC9JW5WfHucAWxKR8beH67qb4tX"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/Address