#object-store #smart-contracts #blockchain #finance #defi #figure-tech

os-gateway-contract-attributes

A simple rust library that appends attributes to a CosmWasm Response

2 stable releases

1.0.1 Sep 22, 2022

#15 in #defi

Apache-2.0

28KB
260 lines

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",
               )
           )
   }
}

No runtime deps