Crates.io | os-gateway-contract-attributes |
lib.rs | os-gateway-contract-attributes |
version | 1.0.1 |
source | src |
created_at | 2022-09-22 21:41:43.640683 |
updated_at | 2022-09-22 21:47:13.638011 |
description | A simple rust library that appends attributes to a CosmWasm Response |
homepage | |
repository | https://github.com/FigureTechnologies/os-gateway-contract-attributes |
max_upload_size | |
id | 672001 |
size | 38,931 |
This library includes helper functions for appending event attributes in a CosmWasm-based smart contract.
This is to be used in tandem with the event-stream-watching capabilities of Object Store Gateway.
To generate access grants and revokes via the gateway, include the OsGatewayAttributeGenerator in your Response declaration with the desired values:
mod some_mod {
use cosmwasm_std::Response;
use os_gateway_contract_attributes::OsGatewayAttributeGenerator;
fn gen_grant_response() -> Response<String> {
Response::new()
.add_attributes(
OsGatewayAttributeGenerator::access_grant(
// Scope Address
"scope1qzn7jghj8puprmdcvunm3330jutsj803zz",
// Grantee Address
"tp12vu3ww5tfta78fl3fvehacunrud4gtqqcpfwnr",
)
// An optional access grant id may be appended to requests to enable referral
// to grants after the event is processed. Fluent functions that are not
// required by the constructor function are completely optional and only have
// additional impacts on resulting grants when processed by Object Store Gateway.
.with_access_grant_id("my_unique_id")
)
}
fn gen_revoke_response() -> Response<String> {
Response::new()
.add_attributes(
OsGatewayAttributeGenerator::access_revoke(
// Scope Address
"scope1qzn7jghj8puprmdcvunm3330jutsj803zz",
// Grantee Address
"tp12vu3ww5tfta78fl3fvehacunrud4gtqqcpfwnr",
)
)
}
}