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
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
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
- Host: GitHub
- Owner: vvizardev
- Language: TypeScript
- Default Branch: main
- Homepage: https://marinade.finance/
- Size: 40.9 MB
Statistics
- Stars: 40
- Watchers: 1
- Forks: 5
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
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.jsand@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
- Anchor
- Solana CLI
- Node.js >= 16
- Yarn or NPM
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
- Twitter: _wizardev
- Repositories: 4
- Profile: https://github.com/vvizardev
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
- @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
- 255 dependencies
- @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
- @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
- @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
- 191 dependencies