EVM
Programming API reference for the Stork EVM contract.
Last updated
Programming API reference for the Stork EVM contract.
Last updated
EVM contracts can program against the s interface by creating an interface and contract to include aliases for the methods and structs required from the Stork contract. The Stork contract can also be used via the adapters. The Stork contract is built using .
After setting up your Hardhat project, create an interface with aliases to your necessary Stork methods, and a contract to hold any necessary Stork structs. Then create an instance of the interface constructed with the Stork .
You can now interface with the Stork contract.
Description
Updates multiple temporal numeric values by verifying signatures and ensuring freshness.
Parameters
updateData
: Array of TemporalNumericValueInput
structs containing feed updates.
Behavior
Verifies the signature of each feed update using the stored EVM public key.
Updates the feed value if the signature is valid and the value is fresher than the current state.
Requires sufficient fee based on the number of updates.
Errors
InvalidSignature
: If any feed update fails signature verification.
NoFreshUpdate
: If none of the provided updates are fresher than current values.
InsufficientFee
: If the provided fee is less than the required amount.
Description
Retrieves the latest temporal numeric value for the specified feed ID. Checks for the staleness threshold set in the state, which varies between chains but is typically 3600 seconds.
Parameters
id
: The identifier of the feed.
Returns
value
: The latest TemporalNumericValue
struct for the feed.
Errors
NotFound
: If no value exists for the given feed ID.
StaleValue
: If the value is older than the valid time period.
Description
Retrieves the latest temporal numeric value for the specified feed ID without checking its freshness.
Parameters
id
: The identifier of the feed.
Returns
value
: The latest TemporalNumericValue
struct for the feed.
Errors
NotFound
: If no value exists for the given feed ID.
Description
Calculates the total fee required for the given updates.
Parameters
updateData
: Array of TemporalNumericValueInput
structs representing updates.
Returns
feeAmount
: The total fee required for the updates.
Description
Verifies multiple publisher signatures against the provided Merkle root.
Parameters
signatures
: Array of PublisherSignature
structs.
merkleRoot
: The Merkle root to validate against.
Returns
bool
: True if all signatures are valid and match the Merkle root.
Description
Retrieves the current version of the contract.
Returns
string
: The version string (e.g., "1.0.2").
The Stork contract is designed to be upgradeable using . Ensure the proxy address remains consistent when interacting with the contract to avoid version mismatches.
Example usage can be found in the contract adapters in the .