nAlpha Vault
Contract Addresses & Configuration
// nALPHA vault addresses (same on both Plume and Eth chains)
const VAULT_ADDRESS = "0x593cCcA4c4bf58b7526a4C164cEEf4003C6388db"
const TELLER_ADDRESS = "0xc9F6a492Fb1D623690Dc065BBcEd6DfB4a324A35"
const ACCOUNTANT_ADDRESS = "0xe0CF451d6E373FF04e8eE3c50340F18AFa6421E1"
const INFRA = {
predicateProxyAddress: "0x6104fe10ca937a086ba7AdbD0910A4733d380cB6",
nativeFeeTokenAddress: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
bridgeMessageGas: 100000,
}
const PLUME_MAINNET = {
chainId: 98866,
layerZeroEndpointId: 30370,
atomicQueueAddress: "0x220dc6d4569c1f406d532f9633d5be5bc86e8264",
depositToken: {
address: "0xdddd73f5df1f0dc31373357beac77545dc5a6f3f",
decimals: 6,
symbol: "pUSD",
defaultSlippagePercentage: 0.005,
}
}
const ETH_MAINNET = {
chainId: 1,
layerZeroEndpointId: 30101,
atomicQueueAddress: "0x220dc6d4569c1f406d532f9633d5be5bc86e8264",
depositToken: {
address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
decimals: 6,
symbol: "USDC",
defaultSlippagePercentage: 0.005,
}
}
const VAULT_DECIMALS = 6
const PUSD_ADDRESS = PLUME_MAINNET.depositToken.address
const USDC_ADDRESS = ETH_MAINNET.depositToken.address
const PLUME_ATOMIC_QUEUE_ADDRESS = PLUME_MAINNET.atomicQueueAddress
const ETH_ATOMIC_QUEUE_ADDRESS = ETH_MAINNET.atomicQueueAddressSummary: 6 Distinct Paths
Deposits (3 paths)
Redemptions (3 paths)
DEPOSIT FLOWS
Path 1: Ethereum -> Plume (Cross-Chain Deposit)
Path 2: Plume -> Plume (Same-Chain Deposit)
Path 3: Ethereum -> Ethereum (Same-Chain Deposit)
REDEMPTION FLOWS
Path 1: Plume -> Ethereum (Cross-Chain Redemption)
Path 2: Plume -> Plume (Same-Chain Redemption)
Path 3: Ethereum -> Ethereum (Same-Chain Redemption)
Key Calculation Formulas
Last updated