Skip to content

Latest commit

 

History

History
53 lines (45 loc) · 7.57 KB

README.md

File metadata and controls

53 lines (45 loc) · 7.57 KB

Finschia Smart contract Samples

Collection of samples to help you develop smart contracts on Finschia.

Samples

Introduction to CosmWasm

  • Hello World: This smart contract provides an implementation for querying a "Hello World" message.
  • Counter: Counter base smart contract that allows for counter increment and reset.
  • Primitives: Early introduction to some primitive variables in CosmWasm and how they work.
  • Variables in CosmWasm: An overview of state and global variables within CosmWasm and methods to access them.
  • Smart Contract Initialization: This document elucidates the instantiation process of a smart contract. It discusses the InstantiateMsg structure passed during contract creation and the instantiate function that runs upon contract execution.
  • Send Native Tokens: This document outlines a smart contract designed to send a blockchain's native tokens to a recipient specified by the original sender in the execute message.
  • Read-Write State: Smart contract that explains the basics of reading and writing to the state in a smart contract.
  • Responses and Attributes in CosmWasm: Smart contract that explains the basics of responses and attributes.
  • CosmWasm Maths Operations: This is a example of a CosmWasm contract that implements simple maths operations like addition, substraction, multiplication, division, modulo and exponential.
  • Receive cw20 Tokens in Your Contract: An example of a CosmWasm contract that implements the cw20 Receiver Interface.

Application Samples

  • Timelock: Timelock is a smart contract that introduces a delay mechanism for executing function calls on other smart contracts.
  • Dutch Auction Contract: The Dutch Auction Contract is a smart contract implementation that enables the creation and execution of Dutch Auctions.
  • Crowdfunding Contract: Crowdfunding contract that enables users to fund projects, but only if they reach their funding goals by a set deadline.
  • Vault Contract: This contract represents a vault that allows users to deposit and withdraw tokens. It uses the cw20 token standard and maintains a mapping of user balances.
  • Constant Sum AMM: This contract is a Constant sum automatic market maker (AMM) for the CosmWasm smart contract engine.
  • Constant Product AMM: This contract is a Constant product automatic market maker (AMM) for the CosmWasm smart contract engine.
  • CosmWasm Quadratic Funding: Quadratic Funding Round Contract
  • To Do List: A simple To-Do List contract
  • Escrow: This is a simple single-use escrow contract.
  • Voting: This is a simple voting contract.

cw20 Samples

  • cw20 Basic: This is a basic implementation of a cw20 contract.
  • cw20 Pot: This project demonstrates a basic smart contract utilizing cw20 contract. Collected cw20 tokens in smart contract's balance is released to a target address after token amount exceeds a specified amount set during instantiation.
  • Atomic Swaps: This is a contract that allows users to execute atomic swaps. It implements one side of an atomic swap.
  • cw20 Bonding curve: This builds on the Basic cw20 interface as implemented in cw20-base.
  • cw20 Escrow: This is an escrow meta-contract that allows multiple users to create independent escrows. Each escrow has a sender, recipient, and arbiter. It also has a unique id (for future calls to reference it) and an optional timeout.
  • cw20 Merkle Airdrop: This is a merkle airdrop smart contract that works with cw20 token specification Mass airdrop distributions made cheap and efficient.
  • Staking Derivatives: This is a sample contract that releases a minimal form of staking derivatives. This is to be used for integration tests and as a foundation for other to build more complex logic upon.
  • cw20 Streams: This contract enables the creation of cw20 token streams, which allows a cw20 payment to be vested continuously over time.

cw721 Samples

  • cw721 Basic: This is a basic implementation of a cw721 NFT contract.
  • cw721 Fixed Price: This contract enables the creation of limited edition fixed price NFTs according to the cw721 token standard.
  • cw721 Metadata Onchain: NFT creators may want to store their NFT metadata on-chain so other contracts are able to interact with it. With cw721-Base in CosmWasm, we allow you to store any data on chain you wish, using a generic extension: T.
  • cw721-expiration: This contract enables the creation of NFTs that expire after a predetermined number of days.
  • SBT: This is an implementation of the SBT contract.
  • cw-2981 Token-level Royalties: An example of porting EIP-2981 to implement royalties at a token mint level.

CosmWasm Projects

These projects/contracts are developed and maintained by CosmWasm community.

  • DAO DAO: DAO DAO is the leading software to build your own DAO on CosmWasm chains, quickly surpassing Aragon in functionality.
  • Mars Protocol: Delphi's "Mars Protocol" is the leading lending protocol on Terra, Osmosis, and soon launching on Neutron.