Terra liquid staking derivative

Overview

Steak 🥩

Terra liquid staking derivative. Of the community, by the community, for the community.

Steak is audited by SCV Security (link).

Contracts

Contract Description
steak-hub Manages minting/burning of Steak token and bonded Luna
steak-zapper Allows zapping into Steak from various assets

License

Contents of this repository are open source under GNU General Public License v3 or later.

You might also like...
My code for the terra.academy course on CosmWasm smart contracts

CosmWasm Starter Pack This is a template to build smart contracts in Rust to run inside a Cosmos SDK module on all chains that enable it. To understan

Smart Contract for Terra Name Service

TERRA NAME SERVICE CONTRACTS Terra Name Service is to create easy-to-remember names for your Terra address like ‘dokwon.ust’ instead of ‘terra1...whez

Smart contracts powering Spectrum Protocol on Terra

Spectrum Core Contracts This monorepository contains the source code for the core smart contracts implementing Spectrum Protocol on the Terra blockcha

Helper library for interacting with Terra assets (SDK coins and CW20 tokens)

terra-asset Helpers for interacting with Terra assets, including native coins and CW20 tokens Usage This crate contains two struct types: AssetInfo st

A CosmWasm Tutorial by Terra Academy.

CosmWasm Starter Pack This is a template to build smart contracts in Rust to run inside a Cosmos SDK module on all chains that enable it. To understan

Blue Terra is a decentralized protocol for the global democratization of stable and accessible property rights.
Blue Terra is a decentralized protocol for the global democratization of stable and accessible property rights.

🏝️ The official Blue Terra KYC program. Blue Terra holders interact with this program to activate the leases embedded in their NFTs.

Outp0st is an open-source UI tool to enable next-level team collaboration on dApp development over Terra blockchain
Outp0st is an open-source UI tool to enable next-level team collaboration on dApp development over Terra blockchain

Outp0st is an open-source UI tool to enable next-level team collaboration on dApp development over Terra blockchain

This monorepository contains the source code for the smart contracts implementing bAsset Protocol on the Terra blockchain.

Crll bAsset Contracts This monorepository contains the source code for the smart contracts implementing bAsset Protocol on the Terra blockchain. You c

Marinde Anchor-Based, first on mainnet, liquid-staking-program and mSOL-SOL swap pool

marinade-anchor Marinade-finance liquid staking program for the Solana blockchain Audits & Code Review Kudelski Security: https://marinade.finance/Kud

Terra Trophies is a copy of Ethereum's POAP project for Terra

Terra Trophies Terra Trophies is a copy of Ethereum's POAP project for Terra. It allows anyone to create digital badges for participants of events, or

A git hook to manage derivative files automatically.

git-derivative A git hook to manage derivative files automatically. For example if you checked out to a branch with different yarn.lock, git-derivativ

Gomez - A pure Rust framework and implementation of (derivative-free) methods for solving nonlinear (bound-constrained) systems of equations

Gomez A pure Rust framework and implementation of (derivative-free) methods for solving nonlinear (bound-constrained) systems of equations. Warning: T

Proportional-Integral-Derivative controller simulation to balance a ball on cart
Proportional-Integral-Derivative controller simulation to balance a ball on cart

PID Controller Simualation A Proportional-Integral-Derivative controller to self balance a ball on a rolling cart. Use arrow keys to control the cart,

Parallel finance a decentralized lending protocol built on top of the Polkadot ecosystem. Our unique approach will allow users to earn
Parallel finance a decentralized lending protocol built on top of the Polkadot ecosystem. Our unique approach will allow users to earn "double interests" from staking and lending their tokens simultaneously.

Parallel Finance A new Cumulus-based Substrate node, ready for hacking 🚀 Getting Started Follow these steps to get started with the Cumulus Template

Crunch is a command-line interface (CLI) to claim staking rewards  every X hours for Substrate-based chains
Crunch is a command-line interface (CLI) to claim staking rewards every X hours for Substrate-based chains

crunch · crunch is a command-line interface (CLI) to claim staking rewards every X hours for Substrate-based chains. Why use crunch To automate payout

Here you'll find the open sourced code for the MOBIX staking contracts.

Mobix Staking Compile: rustup default stable cargo wasm Test: cargo test Optimize: quick and good: RUSTFLAGS='-C link-arg=-s' cargo wasm slow and b

Yi Token by Crate Protocol: the primitive for auto-compounding single token staking pools.
Yi Token by Crate Protocol: the primitive for auto-compounding single token staking pools.

yi Yi Token by Crate Protocol: the primitive for auto-compounding single token staking pools. About Yi is a Solana primitive for building single-sided

A reference NFT Staking Program & Client for Solana NFTs

This is a reference NFT Staking Program & Client for Solana NFTs. This program is compatible with both Candy Machine v1 and Candy Machine v2 NFTs.

A re-write of polkadot staking miner using subxt to avoid hard dependency to each runtime version

Staking Miner v2 WARNING this library is under active development DO NOT USE IN PRODUCTION. The library is a re-write of polkadot staking miner using

Comments
  • Can't remove validator when redelegation already in progress

    Can't remove validator when redelegation already in progress

    more for discussion.

    but as removing validators today equally distributes their tokens to pool, it can get held up by people undelegating/redelegating away.

    I propose when we remove we limit it to say to redistribute to lowest 10/10%.. and potentially add a new function to 'freeze' a validator so they can't get any more delegations. this should potentially also help with gas fees

    thoughts/prayers?

    opened by PFC-developer 1
  • Burning of Steak token should be permissioned

    Burning of Steak token should be permissioned

    In the vanilla cw20-base, the burning of tokens is permissionless; anyone can burn their own balance.

    in Steak Hub, the exchange rate between Luna and Steak is calculated based on the amount of Luna bonded, and Steak token's total supply. This means an attacker can potentially manipulate the exchange rate by burning their own tokens.

    Fix: Fork CW20 and make the burn function only callable by the minter, i.e. the Steak Hub contract.

    bug 
    opened by larry0x 1
  • allow steak to run on non-terra chains

    allow steak to run on non-terra chains

    reconciliation didn't mark batches as reconciled if the amount was zero.

    new feature.. allow admin to withdraw unbonded amount for a user. (100% same logic)

    opened by PFC-developer 1
Releases(v2.0.0-rc0)
  • v2.0.0-rc0(Jun 3, 2022)

  • v1.0.0(May 8, 2022)

  • v1.0.0-rc3(May 3, 2022)

    Bug fixes

    • Add a "reconciliation" mechanism based on Stader's implementation. When an unbonding batch finishes unbonding, the amount received by the Hub contract may be smaller than the initially unbonded amount. This can be due to either integer rounding issue, or the validator(s) being slashed during the unbonding period. Reconciliation means, once unbonding is finished, check the received amount and the expected amount, and reduce the expected amount if the actual amount is smaller. Before a batch is reconciled, it will be ignored during the withdraw_unbonded call.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-rc2(May 1, 2022)

    Bug fixes

    • Fix a bug in register_received_coins where if there are multiple coin-receiving events, only the first one is parsed.

    Improvements

    • Optimize the gas cost for staking and harvesting: Instead of delegating the deposited Luna evenly to all validators, now only delegate to the validator with the smallest amount of delegation from Steak Hub. Gas cost for mainnet (15 whitelisted validators) is reduced from ~$2 to $0.6.
    • To account for possible imbalance cause by the previous change, introduce a new execute command rebalance which performs a number of redelegations to achieve balance across validators.
    • Refactor types in hub/src/types.rs and helper functions in hub/src/math.rs. Previously, the Delegation type can mean either delegation, undelegation, or redelegation, which could be confusing. Also, compute_delegations is in fact used in the calculation of redelegations instead of delegations. In this update, Delegation are split into 3 types, {D,Und,Red}elegation, and helper functions are renamed to accurately reflect their roles in the contract.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-rc1(Apr 28, 2022)

    Changlog

    • Add an owner account to the Hub contract, and {Transfer,Accept}Ownership execute commands for transferring ownership
    • Add owner-only execute commands {Add,Remove}Validator to allow adjustments of the validator whitelist
    • Merge types::Delegate and types::Undelegate to simplify logics
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0-rc0(Apr 10, 2022)

Owner
Terra and Osmosis validator
null
Terra Trophies is a copy of Ethereum's POAP project for Terra

Terra Trophies Terra Trophies is a copy of Ethereum's POAP project for Terra. It allows anyone to create digital badges for participants of events, or

larry.{ust,sol,thor} 18 Dec 7, 2022
Here you'll find the open sourced code for the MOBIX staking contracts.

Mobix Staking Compile: rustup default stable cargo wasm Test: cargo test Optimize: quick and good: RUSTFLAGS='-C link-arg=-s' cargo wasm slow and b

MOBIX.ai 3 Apr 24, 2022
Yi Token by Crate Protocol: the primitive for auto-compounding single token staking pools.

yi Yi Token by Crate Protocol: the primitive for auto-compounding single token staking pools. About Yi is a Solana primitive for building single-sided

Crate Protocol 12 Apr 7, 2022
A reference NFT Staking Program & Client for Solana NFTs

This is a reference NFT Staking Program & Client for Solana NFTs. This program is compatible with both Candy Machine v1 and Candy Machine v2 NFTs.

Tracy Adams 73 Dec 19, 2022
A re-write of polkadot staking miner using subxt to avoid hard dependency to each runtime version

Staking Miner v2 WARNING this library is under active development DO NOT USE IN PRODUCTION. The library is a re-write of polkadot staking miner using

Parity Technologies 19 Dec 28, 2022
A wallet library for Elements / Liquid written in Rust!

EDK Elements Dev Kit A modern, lightweight, descriptor-based wallet library for Elements / Liquid written in Rust! Inspired by BDK for Elements & Liqu

luca vaccaro 11 Dec 11, 2021
Eternally liquid. Forward compatible. Nested, conditional, & Multi-resourced NFTs.

RMRK Substrate Rust Setup First, complete the basic Rust setup instructions. Run Use Rust's native cargo command to build and launch the template node

RMRK Team 67 Dec 25, 2022
Create Bitcoin double-spend discouraging bonds on Liquid.

doubletake A tool for creating Bitcoin double-spend punishment bonds on Liquid. WARNING: Don't use this tool for real use cases yet. There are still a

Steven Roose 5 Aug 12, 2023
🎙️ Catalyst Voices provides a unified experience and platform including production-ready liquid democracy

??️ Catalyst Voices provides a unified experience and platform including production-ready liquid democracy, meaningful collaboration opportunities & data-driven context for better onboarding & decisions.

Input Output 6 Oct 11, 2023
The NFT smart contract powering xyz on Terra

xyz NFT Contract This repository contains the core NFT smart contract that implements xyz, a base layer for metaverses on the Terra blockchain. The xy

null 16 Sep 25, 2022