Solidity wrappers
Interfaces for interacting with core Wasm contracts.
The Solidity wrappers are libraries that facilitate making calls to the Wasm runtime. Recall's core protocol is written in Rust and uses a Wasm runtime to execute the core logic. This provides a massive amount of flexibility, but it requires EVM counterparts to interact with any of the core contracts, like buckets or blobs. It's recommended you use clients like the SDKs to use these directly.
For more detailed information and usage, check out the contract repo: here
Blob manager
The Blob Manager contract facilitates calls to the Blobs
actor, solely focusing on storage
components (there are credit-related aspects, mentioned below). The following methods are available:
addBlob
: Store a blob directly on the network (note: this provides the onchain interface but does not handle actually uploading the data).deleteBlob
: Delete a blob from the network for a given blob hash and the subscription ID.overwriteBlob
: Overwrite an existing blob from the network.getBlob
: Get information about a specific blob given its hash.getBlobStatus
: Get a blob's status (whether it's added, pending, resolved, or failed).getPendingBlobs
: Get the values of pending blobs across the network.getPendingBlobsCount
: Get the number of pending blobs across the network.getPendingBytesCount
: Get the total number of pending bytes across the network.getStorageStats
: Get storage stats.getStorageUsage
: Get storage usage for an address.getSubnetStats
: Get subnet stats.
Bucket manager
The Bucket Manager contract faciliates calls to the Bucket
actor. Certain methods, like adding
objects, require you use it in tandem with the objects API to upload data.
createBucket
: Create a bucket for the specified address, with optional metadata.listBuckets
: List all buckets for the specified address.addObject
: Add an object to a bucket (while also uploading the data to the objects API).deleteObject
: Remove an object from a bucket.getObject
: Get an object from a bucket (in tandem with the objects API).queryObjects
: Query the bucket with a prefix, delimiter, start key, and limit.
Credit manager
The Credit Manager contract facilitates calls to the Blobs
actor, but only the credit-related
functions. It allows you to do the following:
getAccount
: Get credit account info for an address.getCreditStats
: Get credit stats across all accounts.getCreditApproval
: Get credit approvalfrom
one accountto
another, if it exists.getCreditBalance
: Get credit balance for an address.buyCredit
: Buy credit for a given address.approveCredit
: Approve credit from one account to another with optional fields (creditLimit
,gasFeeLimit
, andttl
).setCreditSponsor
: Set the credit sponsor for an address.revokeCredit
: Revoke usage credit for an address.