marinade-liquid-stake-fork

This project implements a Marinade-compatible Liquid Staking smart contract on Solana with a full suite of Web3-based test cases. solana-liquid-stake-smart-contract-staking solana-liquid-stake-smart-contract-staking solana-liquid-stake-smart-contract-staking solana-liquid-stake-smart-contract-staking

https://github.com/vvizardev/marinade-liquid-stake-fork

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.5%) to scientific vocabulary

Keywords

anchor liquid marinade native rust smart-contract solana stake
Last synced: 6 months ago · JSON representation

Repository

This project implements a Marinade-compatible Liquid Staking smart contract on Solana with a full suite of Web3-based test cases. solana-liquid-stake-smart-contract-staking solana-liquid-stake-smart-contract-staking solana-liquid-stake-smart-contract-staking solana-liquid-stake-smart-contract-staking

Basic Info
Statistics
  • Stars: 40
  • Watchers: 1
  • Forks: 5
  • Open Issues: 0
  • Releases: 0
Topics
anchor liquid marinade native rust smart-contract solana stake
Created over 1 year ago · Last pushed 7 months ago
Metadata Files
Readme

README.md

Marinade Liquid Staking Smart Contract

This project implements a Marinade-compatible Liquid Staking smart contract on Solana with a full suite of Web3-based test cases.

📦 Features

  • Stake SOL and receive mSOL (Marinade Staked SOL)
  • Unstake to receive SOL back
  • mSOL/SOL accounting via Marinade protocol
  • Web3-based test suite with @solana/web3.js and @project-serum/anchor
  • Simulates staking/unstaking in a local test validator

📁 Project Structure

. ├── programs/ │ └── marinade_staking/ # Solana smart contract (Anchor) ├── tests/ │ └── marinade.test.ts # Web3 test cases ├── migrations/ ├── Anchor.toml ├── Cargo.toml └── README.md

🚀 Getting Started

Prerequisites

Install

bash git clone https://github.com/your-username/marinade-liquid-staking.git cd marinade-liquid-staking yarn install

Build & Deploy Locally

bash anchor build anchor deploy

Run Tests

bash anchor test

🧪 Example Test Case

```ts it("Stake SOL and receive mSOL", async () => { const tx = await program.methods .stake(new anchor.BN(1000000_000)) // 1 SOL .accounts({ user: user.publicKey, marinadeState: marinadeStatePDA, msolMint: msolMint, systemProgram: SystemProgram.programId, }) .signers([user]) .rpc();

const msolBalance = await getTokenBalance(userMsolATA); assert.ok(msolBalance > 0, "User should receive mSOL"); }); ```

🔐 Smart Contract (Program)

  • Written in Rust using Anchor
  • Interacts with Marinade's on-chain staking pool
  • Performs CPI calls to stake/unstake

📜 License

MIT License


🤝 Credits

Built on top of the Marinade Finance staking protocol.

Owner

  • Name: Rust & Blockchain Engineer
  • Login: vvizardev
  • Kind: user

Block Chain developer , AI Agent Developer, 🛠Solana , Web3 , Defi , Dex expert Focusing on Bot based on Pumpfun , Raydium ...

GitHub Events

Total
  • Watch event: 4
  • Fork event: 1
Last Year
  • Watch event: 4
  • Fork event: 1

Dependencies

package.json npm
  • @types/bn.js ^5.1.6 development
  • @types/chai ^5.0.1 development
  • @types/node ^22.10.2 development
  • @typescript-eslint/eslint-plugin ^8.18.2 development
  • @typescript-eslint/parser ^8.18.2 development
  • eslint ^8.56.0 development
  • eslint-config-prettier ^9.1.0 development
  • eslint-plugin-prettier ^5.2.1 development
  • husky ^9.1.7 development
  • lint-staged ^15.3.0 development
  • prettier ^3.4.2 development
  • tsx ^4.19.2 development
  • typescript ^5.7.2 development
  • @3land/listings-sdk ^0.0.7
  • @ai-sdk/openai ^1.0.11
  • @alloralabs/allora-sdk ^0.1.0
  • @bonfida/spl-name-service ^3.0.7
  • @cks-systems/manifest-sdk 0.1.59
  • @coral-xyz/anchor 0.29
  • @drift-labs/sdk 2.107.0-beta.3
  • @drift-labs/vaults-sdk ^0.2.49
  • @langchain/core ^0.3.26
  • @langchain/groq ^0.1.2
  • @langchain/langgraph ^0.2.36
  • @langchain/openai ^0.3.16
  • @lightprotocol/compressed-token ^0.17.1
  • @lightprotocol/stateless.js ^0.17.1
  • @mercurial-finance/dynamic-amm-sdk ^1.1.19
  • @metaplex-foundation/digital-asset-standard-api ^1.0.4
  • @metaplex-foundation/mpl-core ^1.1.1
  • @metaplex-foundation/mpl-token-metadata ^3.3.0
  • @metaplex-foundation/mpl-toolbox ^0.9.4
  • @metaplex-foundation/umi ^0.9.2
  • @metaplex-foundation/umi-bundle-defaults ^0.9.2
  • @metaplex-foundation/umi-web3js-adapters ^0.9.2
  • @meteora-ag/alpha-vault ^1.1.7
  • @meteora-ag/dlmm ^1.3.0
  • @onsol/tldparser ^0.6.7
  • @orca-so/common-sdk 0.6.4
  • @orca-so/whirlpools-sdk ^0.13.12
  • @pythnetwork/hermes-client ^1.3.0
  • @raydium-io/raydium-sdk-v2 0.1.95-alpha
  • @solana/spl-token ^0.4.9
  • @solana/web3.js ^1.98.0
  • @sqds/multisig ^2.1.3
  • @tensor-oss/tensorswap-sdk ^4.5.0
  • @tiplink/api ^0.3.1
  • @voltr/vault-sdk ^0.1.1
  • ai ^4.0.22
  • bn.js ^5.2.1
  • bs58 ^6.0.0
  • chai ^5.1.2
  • decimal.js ^10.4.3
  • dotenv ^16.4.7
  • flash-sdk ^2.24.3
  • form-data ^4.0.1
  • langchain ^0.3.8
  • openai ^4.77.0
  • typedoc ^0.27.6
  • zod ^3.24.1
Cargo.lock cargo
  • 255 dependencies
Cargo.toml cargo
programs/marinade-forking-smart-contract/Cargo.toml cargo
tests/liquid-staking-test-script/package-lock.json npm
  • @types/bn.js 5.1.6 development
  • dotenv 16.4.5 development
  • prettier 2.8.8 development
  • typescript 4.9.5 development
  • @babel/runtime 7.26.0
  • @coral-xyz/anchor 0.29.0
  • @coral-xyz/borsh 0.29.0
  • @noble/curves 1.7.0
  • @noble/hashes 1.6.1
  • @noble/hashes 1.6.0
  • @solana/buffer-layout 4.0.1
  • @solana/buffer-layout-utils 0.2.0
  • @solana/codecs 2.0.0-rc.1
  • @solana/codecs-core 2.0.0-rc.1
  • @solana/codecs-data-structures 2.0.0-rc.1
  • @solana/codecs-numbers 2.0.0-rc.1
  • @solana/codecs-strings 2.0.0-rc.1
  • @solana/errors 2.0.0-rc.1
  • @solana/options 2.0.0-rc.1
  • @solana/spl-token 0.4.9
  • @solana/spl-token-group 0.0.7
  • @solana/spl-token-metadata 0.1.6
  • @solana/web3.js 1.95.5
  • @swc/helpers 0.5.15
  • @types/connect 3.4.38
  • @types/node 12.20.55
  • @types/node 22.10.0
  • @types/uuid 8.3.4
  • @types/ws 8.5.13
  • @types/ws 7.4.7
  • JSONStream 1.3.5
  • agentkeepalive 4.5.0
  • asynckit 0.4.0
  • axios 1.7.8
  • base-x 3.0.10
  • base64-js 1.5.1
  • bigint-buffer 1.1.5
  • bignumber.js 9.1.2
  • bindings 1.5.0
  • bn.js 5.2.1
  • borsh 0.7.0
  • bs58 4.0.1
  • buffer 6.0.3
  • buffer-layout 1.2.2
  • bufferutil 4.0.8
  • camelcase 6.3.0
  • chalk 5.3.0
  • combined-stream 1.0.8
  • commander 12.1.0
  • commander 2.20.3
  • cross-fetch 3.1.8
  • crypto-hash 1.3.0
  • delay 5.0.0
  • delayed-stream 1.0.0
  • dot-case 3.0.4
  • es6-promise 4.2.8
  • es6-promisify 5.0.0
  • eventemitter3 4.0.7
  • eventemitter3 5.0.1
  • eyes 0.1.8
  • fast-stable-stringify 1.0.0
  • fastestsmallesttextencoderdecoder 1.0.22
  • file-uri-to-path 1.0.0
  • follow-redirects 1.15.9
  • form-data 4.0.1
  • fs 0.0.1-security
  • humanize-ms 1.2.1
  • ieee754 1.2.1
  • isomorphic-ws 4.0.1
  • jayson 4.1.3
  • json-stringify-safe 5.0.1
  • jsonparse 1.3.1
  • lower-case 2.0.2
  • mime-db 1.52.0
  • mime-types 2.1.35
  • ms 2.1.3
  • no-case 3.0.4
  • node-fetch 2.7.0
  • node-gyp-build 4.8.4
  • pako 2.1.0
  • proxy-from-env 1.1.0
  • regenerator-runtime 0.14.1
  • rpc-websockets 9.0.4
  • safe-buffer 5.2.1
  • snake-case 3.0.4
  • superstruct 2.0.2
  • superstruct 0.15.5
  • text-encoding-utf-8 1.0.2
  • through 2.3.8
  • toml 3.0.0
  • tr46 0.0.3
  • tslib 2.8.1
  • typescript 5.7.2
  • undici-types 6.20.0
  • utf-8-validate 5.0.10
  • uuid 8.3.2
  • webidl-conversions 3.0.1
  • whatwg-url 5.0.0
  • ws 8.18.0
  • ws 7.5.10
tests/liquid-staking-test-script/package.json npm
  • @types/bn.js ^5.1.0 development
  • dotenv ^16.4.5 development
  • prettier ^2.6.2 development
  • typescript ^4.3.5 development
  • @coral-xyz/anchor ^0.29.0
  • @solana/spl-token ^0.4.9
  • @solana/web3.js ^1.95.4
  • axios ^1.7.7
  • dotenv ^16.4.5
  • fs ^0.0.1-security
tests/liquid-staking-test-script/yarn.lock npm
  • @babel/runtime 7.26.0
  • @coral-xyz/anchor 0.29.0
  • @coral-xyz/borsh 0.29.0
  • @noble/curves 1.7.0
  • @noble/hashes 1.6.1
  • @noble/hashes 1.6.0
  • @solana/buffer-layout 4.0.1
  • @solana/buffer-layout-utils 0.2.0
  • @solana/codecs 2.0.0-rc.1
  • @solana/codecs-core 2.0.0-rc.1
  • @solana/codecs-data-structures 2.0.0-rc.1
  • @solana/codecs-numbers 2.0.0-rc.1
  • @solana/codecs-strings 2.0.0-rc.1
  • @solana/errors 2.0.0-rc.1
  • @solana/options 2.0.0-rc.1
  • @solana/spl-token 0.4.9
  • @solana/spl-token-group 0.0.7
  • @solana/spl-token-metadata 0.1.6
  • @solana/web3.js 1.95.5
  • @swc/helpers 0.5.15
  • @types/bn.js 5.1.6
  • @types/connect 3.4.38
  • @types/node 22.10.0
  • @types/node 12.20.55
  • @types/uuid 8.3.4
  • @types/ws 7.4.7
  • @types/ws 8.5.13
  • JSONStream 1.3.5
  • agentkeepalive 4.5.0
  • asynckit 0.4.0
  • axios 1.7.8
  • base-x 3.0.10
  • base64-js 1.5.1
  • bigint-buffer 1.1.5
  • bignumber.js 9.1.2
  • bindings 1.5.0
  • bn.js 5.2.1
  • borsh 0.7.0
  • bs58 4.0.1
  • buffer 6.0.3
  • buffer-layout 1.2.2
  • bufferutil 4.0.8
  • camelcase 6.3.0
  • chalk 5.3.0
  • combined-stream 1.0.8
  • commander 12.1.0
  • commander 2.20.3
  • cross-fetch 3.1.8
  • crypto-hash 1.3.0
  • delay 5.0.0
  • delayed-stream 1.0.0
  • dot-case 3.0.4
  • dotenv 16.4.5
  • es6-promise 4.2.8
  • es6-promisify 5.0.0
  • eventemitter3 4.0.7
  • eventemitter3 5.0.1
  • eyes 0.1.8
  • fast-stable-stringify 1.0.0
  • fastestsmallesttextencoderdecoder 1.0.22
  • file-uri-to-path 1.0.0
  • follow-redirects 1.15.9
  • form-data 4.0.1
  • fs 0.0.1-security
  • humanize-ms 1.2.1
  • ieee754 1.2.1
  • isomorphic-ws 4.0.1
  • jayson 4.1.3
  • json-stringify-safe 5.0.1
  • jsonparse 1.3.1
  • lower-case 2.0.2
  • mime-db 1.52.0
  • mime-types 2.1.35
  • ms 2.1.3
  • no-case 3.0.4
  • node-fetch 2.7.0
  • node-gyp-build 4.8.4
  • pako 2.1.0
  • prettier 2.8.8
  • proxy-from-env 1.1.0
  • regenerator-runtime 0.14.1
  • rpc-websockets 9.0.4
  • safe-buffer 5.2.1
  • snake-case 3.0.4
  • superstruct 0.15.5
  • superstruct 2.0.2
  • text-encoding-utf-8 1.0.2
  • through 2.3.8
  • toml 3.0.0
  • tr46 0.0.3
  • tslib 2.8.1
  • typescript 4.9.5
  • typescript 5.7.2
  • undici-types 6.20.0
  • utf-8-validate 5.0.10
  • uuid 8.3.2
  • webidl-conversions 3.0.1
  • whatwg-url 5.0.0
  • ws 7.5.10
  • ws 8.18.0
yarn.lock npm
  • 191 dependencies