SHOOK / OFFICIAL PROTOCOLDocumentation
MAINNET EDITIONOpen SHOOK

ShookRandomnessCoordinator

Complete compiled interface, including inherited methods.

Solidity 0.8.36+commit.8a079791 · Download ABI ↓ ·

Functions 10

nonpayableauthenticateRound(uint64, bytes)
{
  "type": "function",
  "name": "authenticateRound",
  "inputs": [
    {
      "name": "round",
      "type": "uint64",
      "internalType": "uint64"
    },
    {
      "name": "signature",
      "type": "bytes",
      "internalType": "bytes"
    }
  ],
  "outputs": [
    {
      "name": "randomness",
      "type": "bytes32",
      "internalType": "bytes32"
    }
  ],
  "stateMutability": "nonpayable"
}
viewderive(bytes32, bytes32, bytes32, uint64)
{
  "type": "function",
  "name": "derive",
  "inputs": [
    {
      "name": "domain",
      "type": "bytes32",
      "internalType": "bytes32"
    },
    {
      "name": "requestId",
      "type": "bytes32",
      "internalType": "bytes32"
    },
    {
      "name": "stateCommitment",
      "type": "bytes32",
      "internalType": "bytes32"
    },
    {
      "name": "round",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "outputs": [
    {
      "name": "",
      "type": "bytes32",
      "internalType": "bytes32"
    }
  ],
  "stateMutability": "view"
}
viewDRAND_CHAIN_HASH()
{
  "type": "function",
  "name": "DRAND_CHAIN_HASH",
  "inputs": [],
  "outputs": [
    {
      "name": "",
      "type": "bytes32",
      "internalType": "bytes32"
    }
  ],
  "stateMutability": "view"
}
viewDRAND_DST()
{
  "type": "function",
  "name": "DRAND_DST",
  "inputs": [],
  "outputs": [
    {
      "name": "",
      "type": "string",
      "internalType": "string"
    }
  ],
  "stateMutability": "view"
}
viewDRAND_GENESIS_TIME()
{
  "type": "function",
  "name": "DRAND_GENESIS_TIME",
  "inputs": [],
  "outputs": [
    {
      "name": "",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "stateMutability": "view"
}
viewDRAND_PERIOD()
{
  "type": "function",
  "name": "DRAND_PERIOD",
  "inputs": [],
  "outputs": [
    {
      "name": "",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "stateMutability": "view"
}
pureroundAtOrAfter(uint64)
{
  "type": "function",
  "name": "roundAtOrAfter",
  "inputs": [
    {
      "name": "cutoff",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "outputs": [
    {
      "name": "round",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "stateMutability": "pure"
}
viewroundAuthenticatedAt(uint64)
{
  "type": "function",
  "name": "roundAuthenticatedAt",
  "inputs": [
    {
      "name": "round",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "outputs": [
    {
      "name": "timestamp",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "stateMutability": "view"
}
viewroundRandomness(uint64)
{
  "type": "function",
  "name": "roundRandomness",
  "inputs": [
    {
      "name": "round",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "outputs": [
    {
      "name": "randomness",
      "type": "bytes32",
      "internalType": "bytes32"
    }
  ],
  "stateMutability": "view"
}
pureroundScheduledAt(uint64)
{
  "type": "function",
  "name": "roundScheduledAt",
  "inputs": [
    {
      "name": "round",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "outputs": [
    {
      "name": "scheduledAt",
      "type": "uint64",
      "internalType": "uint64"
    }
  ],
  "stateMutability": "pure"
}

Events 1

eventRoundAuthenticated(uint64, bytes32)
{
  "type": "event",
  "name": "RoundAuthenticated",
  "inputs": [
    {
      "name": "round",
      "type": "uint64",
      "indexed": true,
      "internalType": "uint64"
    },
    {
      "name": "randomness",
      "type": "bytes32",
      "indexed": false,
      "internalType": "bytes32"
    }
  ],
  "anonymous": false
}

Errors 10

errorBNAddFailed(uint256[4])
{
  "type": "error",
  "name": "BNAddFailed",
  "inputs": [
    {
      "name": "input",
      "type": "uint256[4]",
      "internalType": "uint256[4]"
    }
  ]
}
errorInvalidDSTLength(bytes)
{
  "type": "error",
  "name": "InvalidDSTLength",
  "inputs": [
    {
      "name": "dst",
      "type": "bytes",
      "internalType": "bytes"
    }
  ]
}
errorInvalidFieldElement(uint256)
{
  "type": "error",
  "name": "InvalidFieldElement",
  "inputs": [
    {
      "name": "x",
      "type": "uint256",
      "internalType": "uint256"
    }
  ]
}
errorInvalidRound()
{
  "type": "error",
  "name": "InvalidRound",
  "inputs": []
}
errorInvalidSignature()
{
  "type": "error",
  "name": "InvalidSignature",
  "inputs": []
}
errorMapToPointFailed(uint256)
{
  "type": "error",
  "name": "MapToPointFailed",
  "inputs": [
    {
      "name": "noSqrt",
      "type": "uint256",
      "internalType": "uint256"
    }
  ]
}
errorModExpFailed(uint256, uint256, uint256)
{
  "type": "error",
  "name": "ModExpFailed",
  "inputs": [
    {
      "name": "base",
      "type": "uint256",
      "internalType": "uint256"
    },
    {
      "name": "exponent",
      "type": "uint256",
      "internalType": "uint256"
    },
    {
      "name": "modulus",
      "type": "uint256",
      "internalType": "uint256"
    }
  ]
}
errorRandomnessUnavailable()
{
  "type": "error",
  "name": "RandomnessUnavailable",
  "inputs": []
}
errorRoundNotAvailable(uint64)
{
  "type": "error",
  "name": "RoundNotAvailable",
  "inputs": [
    {
      "name": "scheduledAt",
      "type": "uint64",
      "internalType": "uint64"
    }
  ]
}
errorSafeCastOverflowedUintDowncast(uint8, uint256)
{
  "type": "error",
  "name": "SafeCastOverflowedUintDowncast",
  "inputs": [
    {
      "name": "bits",
      "type": "uint8",
      "internalType": "uint8"
    },
    {
      "name": "value",
      "type": "uint256",
      "internalType": "uint256"
    }
  ]
}

Source and provenance

Imported source files 4

Supporting contracts, interfaces, and libraries imported by the sources above, including their dependencies.

Source fingerprint: 3aa777a77b99551fc33720bc204c6478a4fb635d09b135d6a09dced54b06a637. Download manifest.