os-gateway-contract-attributes

Crates.ioos-gateway-contract-attributes
lib.rsos-gateway-contract-attributes
version1.0.1
sourcesrc
created_at2022-09-22 21:41:43.640683
updated_at2022-09-22 21:47:13.638011
descriptionA simple rust library that appends attributes to a CosmWasm Response
homepage
repositoryhttps://github.com/FigureTechnologies/os-gateway-contract-attributes
max_upload_size
id672001
size38,931
Figure Technologies (cloud-janitors-figure)

documentation

README

Object Store Gateway Contract Attributes

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",
               )
           )
   }
}
Commit count: 25

cargo fmt