QubicTypeScript

querySmartContract

Calls a contract read-only function and returns the raw base64-encoded response bytes.

Signature

live.querySmartContract(request, opts?): Promise<Result<QuerySmartContractResponse, QubicRpcError>>

Purpose

Execute a read-only contract function call. The generated callers in @qubic.org/contracts wrap this method and handle encoding and decoding automatically — prefer those over calling querySmartContract directly.

const result = await live.querySmartContract({
  contractIndex: 9,   // Qearn contract
  inputType: 1,       // getStateOfRound function
  inputSize: 4,
  requestData: encodedInput,
})
if (!result.ok) throw result.error
// result.value.responseData is base64-encoded

Parameters

NameTypeDescription
contractIndexnumberContract index on the Qubic network
inputTypenumberFunction selector
inputSizenumberByte length of the encoded input
requestDatastringBase64-encoded input payload
optsRequestOptionsOptional per-request overrides (signal, fetch)

Returns

Result<QuerySmartContractResponse, QubicRpcError> — contains responseData: string (base64-encoded output bytes).

On this page