#spark #registry #fuel #orderbook #sdk

spark-registry-sdk

SDK for interacting with the Spark Registry

8 unstable releases (3 breaking)

new 0.6.3 Oct 21, 2024
0.6.2 Oct 16, 2024
0.5.0 Sep 25, 2024
0.4.0 Sep 13, 2024
0.3.1 Sep 5, 2024

#486 in Development tools

Download history 261/week @ 2024-09-02 125/week @ 2024-09-09 79/week @ 2024-09-16 147/week @ 2024-09-23 38/week @ 2024-09-30 191/week @ 2024-10-07 343/week @ 2024-10-14

723 downloads per month
Used in spark-cli

Apache-2.0

16KB
167 lines

Spark MarketRegistry Contract Rust SDK

The Spark MarketRegistry Contract SDK is designed for interacting with the Spark MarketRegistry contract. There are a set of transactional methods such as deploy, register/unregister owner methods and markets getter method. Given below a detailed explanation of every contract method.

SparkRegistryContract Type

pub struct SparkRegistryContract {
    instance: MarketRegistry<WalletUnlocked>,
}

Transactional SparkMarketContract Owner Methods

Contract Deployment

pub async fn deploy(owner: WalletUnlocked) -> anyhow::Result<Self>

Deploys a new market registry contract with given owner.

owner The owner of the market registry contract that manages market list.

Returns a new instance of SparkRegistryContract type.

Register new Market

pub async fn register_market(&self, market: ContractId) -> anyhow::Result<CallResponse<()>>

Registers a new market by owner.

self The SparkRegistryContract instance. market The market contract id.

Returns a call result

Unregister Market

pub async fn unregister_market(&self, market: ContractId) -> anyhow::Result<CallResponse<()>>

Unregisters a market by owner.

self The SparkRegistryContract instance. market The market contract id.

Returns a call result

Transfer Ownership

pub async fn transfer_ownership(
        &self,
        new_owner: Identity,
    ) -> anyhow::Result<CallResponse<()>>

Transfers ownership of regsitry.

self The SparkRegistryContract instance. new_owner The new owner identity.

Returns a call result

SparkRegistryContract Getter Methods

Markets Info

pub async fn markets(
        &self,
        assets: Vec<(AssetId, AssetId)>,
    ) -> anyhow::Result<CallResponse<Vec<(AssetId, AssetId, Option<ContractId>)

Retrieves user account inforamtion.

self The SparkRegistryContract instance. assets The asset pair array [(base_asst_id, quote_asset_id)].

Returns an asset pair and optional market contract id array

Owner

pub async fn owner(&self) -> anyhow::Result<CallResponse<State>>

Retrieves contract owner. self The SparkRegistryContract instance.

Returns a State of contract owner

Config

pub fn config(&self) -> (Option<Identity>, u32);

Retrieves contract configurables. self The SparkRegistryContract instance.

Returns an Option of owner identity and contract version

Dependencies

~75–115MB
~2M SLoC