• Stars
    star
    184
  • Rank 209,187 (Top 5 %)
  • Language
    TypeScript
  • License
    GNU General Publi...
  • Created about 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📦 A smart contract that distributes a balance of tokens according to a Merkle root

merkle-distributor

Crates.io License Build Status Contributors

A program for distributing tokens efficiently via uploading a Merkle root.

This program is largely based off of Uniswap's Merkle Distributor.

Rationale

Although Solana has low fees for executing transactions, it requires staking tokens to pay for storage costs, also known as "rent". These rent costs can add up when sending tokens to thousands or tens of thousands of wallets, making it economically unreasonable to distribute tokens to everyone.

The Merkle distributor, pioneered by Uniswap, solves this issue by deriving a 256-bit "root hash" from a tree of balances. This puts the gas cost on the claimer. Solana has the additional advantage of being able to reclaim rent from closed token accounts, so the net cost to the user should be around 0.000010 SOL (at the time of writing).

The Merkle distributor is also significantly easier to manage from an operations perspective, since one does not need to send a transaction to each individual address that may be redeeming tokens.

License

The Merkle distributor program and SDK is distributed under the GPL v3.0 license.

More Repositories

1

stable-swap

🔁 StableSwap by Saber: an automated market maker for mean-reverting trading pairs.
Rust
402
star
2

saber-common

🗡 Saber common utilities and libraries
TypeScript
144
star
3

vipers

🕶 Assorted checks and validations for writing safer Solana programs.
Rust
133
star
4

anchor-gen

Generates an Anchor CPI crate from a JSON IDL.
Rust
101
star
5

sail

⛵️ A React library for Solana account management and transaction processing.
TypeScript
77
star
6

captain

🧑‍✈ Version control and key management for Solana programs.
Rust
35
star
7

saber-periphery

⚔️ Peripheral contracts for interacting with Saber.
TypeScript
19
star
8

snapshots

📸 Voting Escrow Snapshots: Historical snapshots of previous voting escrow balances.
Rust
13
star
9

saber-overlay

Saber Nix overlay.
Nix
13
star
10

u128

🧮 U128 helpers for Solana programs.
Rust
11
star
11

spl-token-icons

TypeScript
10
star
12

saber-dapp

Frontend for the Saber dapp.
TypeScript
10
star
13

pool-manager

Allows anyone to create a new Saber pool.
TypeScript
9
star
14

saber-build-common

Common build tools for Saber projects.
TypeScript
5
star
15

docs

Saber official documentation.
JavaScript
4
star
16

governance

Saber Governance forum and proposals.
Nix
3
star
17

install-solana-action

GitHub Action to install Solana and Anchor using Nix.
3
star
18

saber-lp-token-list

Token list of Saber LP tokens.
3
star
19

saber-lp-token-list-generator

Generates the Saber LP token list.
TypeScript
2
star
20

saber-registry-dist

List of Saber pools, tokens, and environments
HTML
2
star
21

brand

⚔️ Official Saber brand assets.
1
star
22

token-fns

Saber token math utilities, built to minimize bundle size.
TypeScript
1
star
23

registry

Saber Asset Registry, generated from saber-hq/governance
HTML
1
star