Address of the contract the restriction applies to, matched
case-insensitively against the transaction's to address.
Human-readable signature of the restricted function, without the
function keyword. Parameter names are optional.
The comparison the decoded argument must satisfy. Which operators are legal depends on the parameter's Solidity type — see ContractParamRestrictionOperator.
Zero-based index of the restricted parameter within functionSignature.
OptionalsolidityThe Solidity type of the restricted parameter (e.g. uint256, address).
Optional on input: when creating or updating a contract_param_restriction
policy the SDK derives this from functionSignature and paramIndex, so any
value you pass is overwritten with the derived one. Present on restrictions
returned by the SDK.
The value the argument is compared against. The expected format depends on the parameter's Solidity type:
uint*/int* — an integer string ('1000000'); 0x-hex is also
accepted, and negative values are only meaningful for signed int*
parameters. Important: the API does not currently validate this field,
and a malformed value (e.g. '1.5' or 'abc') fails closed — every
transaction matching the restriction is treated as a breach, freezing
that contract call until the policy is fixed.bool — exactly 'true' or 'false', lowercase. The comparison is
case-sensitive; 'True' never matches eq.address, bytes*, string — compared case-insensitively.
A single constraint on one argument of a contract call, used by
contract_param_restrictionpolicies.A restriction applies only to transactions that call
functionSignatureoncontractAddress; the decoded argument atparamIndexmust then satisfy theoperator/valuecomparison, or the transaction breaches the policy. Calldata that matches a restriction but cannot be decoded is treated as a breach; a transaction that matches no restriction passes.