#provenance #smart-contracts #blockchain #defi #finance #api-bindings

provwasm-std

Rust bindings that enable CosmWasm smart contracts to interact with custom modules in the Provenance Blockchain

21 releases (8 stable)

2.2.0 Mar 28, 2024
2.1.0 Dec 13, 2023
2.1.0-rc1 Oct 20, 2023
2.0.0 Jul 19, 2023
0.14.0-beta1 Mar 29, 2021

#570 in Magic Beans

Download history 10/week @ 2024-01-03 17/week @ 2024-01-10 1/week @ 2024-01-24 29/week @ 2024-01-31 122/week @ 2024-02-21 74/week @ 2024-02-28 4/week @ 2024-03-06 26/week @ 2024-03-13 182/week @ 2024-03-27 47/week @ 2024-04-03

257 downloads per month
Used in 2 crates

Apache-2.0

520KB
16K SLoC

Provenance CosmWasm Bindings

This crate provides bindings to enable CosmWasm smart contracts to interact with custom provenance blockchain modules.

Crate Download Docs
provwasm-std provwasm-std on crates.io Docs
provwasm-mocks provwasm-mocks on crates.io Docs

Compatibility

The following table shows provwasm version compatibility for smart contract development and testing.

provwasm wasmd cosmos provenance module support
v2.2.0 v0.30.X v0.46.X v1.18.X attribute,exchange,hold,marker,metadata,msgfees,name,reward,trigger
v2.1.0 v0.30.X v0.46.X v1.17.X attribute,exchange,hold,marker,metadata,msgfees,name,reward,trigger
v2.0.0 v0.30.X v0.46.X v1.15.X attribute,marker,metadata,msgfees,name,reward
v1.2.0 v0.30.X v0.46.X v1.15.X attribute,marker,metadata,msgfees,name
v1.1.2 v0.29.X v0.46.X v1.13.X attribute,marker,metadata,msgfees,name
v1.1.1 v0.29.X v0.46.X v1.13.X attribute,marker,metadata,msgfees,name
v1.1.0 v0.26.X v0.45.X v1.10.X - v1.12.X attribute,marker,metadata,msgfees,name
v1.0.0 v0.26.X v0.45.X v1.8.X - v1.9.X attribute,marker,metadata,name

Getting Started

Start with the tutorial for a complete guide to developing smart contracts for the Provenance Blockchain.

IBC

Once the tutorial has been completed and you are ready for a more advanced topic, checkout the IBC Overview to learn more about IBC Smart Contracts and a guided tour of a multi-contract IBC project.

Contents

In addition to the core CosmWasm functionality, the provenance bindings include

Query Support

Queries are available for these Provenance modules:

  • Attribute
    • provenance.attribute.v1.QueryParamsRequest
    • provenance.attribute.v1.QueryAttributeRequest
    • provenance.attribute.v1.QueryAttributesRequest
    • provenance.attribute.v1.QueryScanRequest
  • Exchange
    • provenance.exchange.v1.QueryOrderFeeCalcRequest
    • provenance.exchange.v1.QueryGetOrderRequest
    • provenance.exchange.v1.QueryGetOrderByExternalIDRequest
    • provenance.exchange.v1.QueryGetMarketOrdersRequest
    • provenance.exchange.v1.QueryGetOwnerOrdersRequest
    • provenance.exchange.v1.QueryGetAssetOrdersRequest
    • provenance.exchange.v1.QueryGetAllOrdersRequest
    • provenance.exchange.v1.QueryGetMarketRequest
    • provenance.exchange.v1.QueryGetAllMarketsRequest
    • provenance.exchange.v1.QueryParamsRequest
    • provenance.exchange.v1.QueryValidateCreateMarketRequest
    • provenance.exchange.v1.QueryValidateMarketRequest
    • provenance.exchange.v1.QueryValidateManageFeesRequest
  • Hold
    • provenance.hold.v1.GetHoldsRequest
    • provenance.hold.v1.GetAllHoldsRequest
  • Marker
    • provenance.marker.v1.QueryParamsRequest
    • provenance.marker.v1.QueryMarkerRequest
    • provenance.marker.v1.QueryHoldingRequest
    • provenance.marker.v1.QuerySupplyRequest
    • provenance.marker.v1.QueryEscrowRequest
    • provenance.marker.v1.QueryAccessRequest
    • provenance.marker.v1.QueryDenomMetadataRequest
  • Metadata
    • provenance.metadata.v1.QueryParamsRequest
    • provenance.metadata.v1.ScopeRequest
    • provenance.metadata.v1.SessionsRequest
    • provenance.metadata.v1.RecordsRequest
    • provenance.metadata.v1.OwnershipRequest
    • provenance.metadata.v1.ValueOwnershipRequest
    • provenance.metadata.v1.ScopeSpecificationRequest
    • provenance.metadata.v1.ContractSpecificationRequest
    • provenance.metadata.v1.RecordSpecificationsForContractSpecificationRequest
    • provenance.metadata.v1.RecordSpecificationRequest
    • provenance.metadata.v1.OSLocatorParamsRequest
    • provenance.metadata.v1.OSLocatorRequest
    • provenance.metadata.v1.OSLocatorsByURIRequest
    • provenance.metadata.v1.OSLocatorsByScopeRequest
    • The following has deserialization issues and will be None until fixed:
      • ContractSpecification.source
      • InputSpecification.source
      • Process.process_id
      • SessionIdComponents.scope_identifier
  • MsgFees
    • provenance.msgfees.v1.QueryParamsRequest
  • Name
    • provenance.name.v1.QueryParamsRequest
    • provenance.name.v1.QueryResolveRequest
    • provenance.name.v1.QueryReverseLookupRequest
  • Reward
    • provenance.reward.v1.QueryRewardProgramByIDRequest
    • provenance.reward.v1.QueryRewardProgramsRequest
    • provenance.reward.v1.QueryClaimPeriodRewardDistributionsRequest
    • provenance.reward.v1.QueryClaimPeriodRewardDistributionsByIDRequest
    • provenance.reward.v1.QueryRewardDistributionsByAddressRequest
    • The following has deserialization issues and will be None until fixed:
      • QualifyingAction.type
  • Trigger
    • Query support unavailable until #123 is resolved

Message Encoding

All messages are available for these Provenance modules:

Migration

Please see this guide for information regarding api changes and upgrading contracts

Dependencies

~5–7MB
~146K SLoC