On-chain depository programs for Layerswap. Each implementation accepts deposits from users, forwards funds immediately to whitelisted Layerswap solver addresses, and emits an order-correlated event for the Layerswap backend.
Non-custodial — no implementation holds funds. All transfers are atomic.
| Chain | Stack | Directory |
|---|---|---|
| EVM (Ethereum, Arbitrum, Optimism, Base, Polygon, ...) | Solidity + Foundry | evm/ |
| Solana | Rust + Anchor | solana/ |
- Whitelist-gated — only pre-approved receiver addresses can receive funds
- Order-correlated — every deposit carries a unique
idthat maps to an off-chain Layerswap order - Pausable — authority can halt all deposits in an emergency
- Two-step ownership — ownership transfer requires acceptance by the new owner
layerswap-depository/
evm/ Foundry project — run forge/cast from this directory
solana/ Anchor program — run anchor from this directory
.gitignore
.gitmodules
EVM
cd evm
forge install
forge testSolana
cd solana
npm install
anchor build
anchor testSee each subdirectory's README.md for full setup, deployment, and management instructions.
MIT