Skip to content
This repository was archived by the owner on Jan 23, 2022. It is now read-only.
This repository was archived by the owner on Jan 23, 2022. It is now read-only.

Use internal client + expose macros #19

Open
@kianenigma

Description

@kianenigma

The entire interface to sub-storage depends on client and at. alternatively, sub-storage could create its own internal client. The user would have to call into sub_storage::init_client(URI).await once and henceforth it would be used.

I am not yet sure if this is a correct api design as well, but it is indeed easier.

This would allow us to macro-ify the crate as well, such as:

let a: Type = sub_storage::value!("ModuleName", "StorageName").await;
let b: Type = sub_storage::map!("ModuleName", "StorageName", key).await;

// optionally
let b: Type = sub_storage::map_at!("ModuleName", "StorageName", key, hash).await;

Which is not really pretty now given that we have to pass in a client inwards as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P-sub-storageRelates to the sub-storage project.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions