UNPKG

@mean-dao/ddca

Version:

Typescript library to interact with the Decentralized DCA program

546 lines (545 loc) 16.3 kB
{ "version": "0.1.0", "name": "ddca", "instructions": [ { "name": "create", "accounts": [ { "name": "ownerAccount", "isMut": true, "isSigner": true }, { "name": "ownerFromTokenAccount", "isMut": true, "isSigner": false }, { "name": "ddcaAccount", "isMut": true, "isSigner": false }, { "name": "fromMint", "isMut": false, "isSigner": false }, { "name": "fromTokenAccount", "isMut": true, "isSigner": false }, { "name": "toMint", "isMut": false, "isSigner": false }, { "name": "toTokenAccount", "isMut": true, "isSigner": false }, { "name": "wakeAccount", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "clock", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "blockHeight", "type": "u64" }, { "name": "pdaBump", "type": "u8" }, { "name": "depositAmount", "type": "u64" }, { "name": "amountPerSwap", "type": "u64" }, { "name": "intervalInSeconds", "type": "u64" } ] }, { "name": "wakeAndSwap", "accounts": [ { "name": "wakeAccount", "isMut": true, "isSigner": true }, { "name": "ddcaAccount", "isMut": true, "isSigner": false }, { "name": "fromMint", "isMut": false, "isSigner": false }, { "name": "fromTokenAccount", "isMut": true, "isSigner": false }, { "name": "toMint", "isMut": false, "isSigner": false }, { "name": "toTokenAccount", "isMut": true, "isSigner": false }, { "name": "hlaProgram", "isMut": false, "isSigner": false }, { "name": "hlaOperatingAccount", "isMut": true, "isSigner": false }, { "name": "hlaOperatingFromTokenAccount", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "clock", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "swapMinOutAmount", "type": "u64" }, { "name": "swapSlippage", "type": "u64" } ] }, { "name": "addFunds", "accounts": [ { "name": "ownerAccount", "isMut": true, "isSigner": true }, { "name": "ownerFromTokenAccount", "isMut": true, "isSigner": false }, { "name": "ddcaAccount", "isMut": true, "isSigner": false }, { "name": "fromTokenAccount", "isMut": true, "isSigner": false }, { "name": "wakeAccount", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "clock", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "depositAmount", "type": "u64" } ] }, { "name": "withdraw", "accounts": [ { "name": "ownerAccount", "isMut": true, "isSigner": true }, { "name": "ownerToTokenAccount", "isMut": true, "isSigner": false }, { "name": "ddcaAccount", "isMut": true, "isSigner": false }, { "name": "ddcaToTokenAccount", "isMut": true, "isSigner": false }, { "name": "operatingAccount", "isMut": false, "isSigner": false }, { "name": "operatingToTokenAccount", "isMut": true, "isSigner": false }, { "name": "toMint", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "withdrawAmount", "type": "u64" } ] }, { "name": "close", "accounts": [ { "name": "ownerAccount", "isMut": true, "isSigner": true }, { "name": "wakeAccount", "isMut": true, "isSigner": true }, { "name": "ownerFromTokenAccount", "isMut": true, "isSigner": false }, { "name": "ownerToTokenAccount", "isMut": true, "isSigner": false }, { "name": "fromMint", "isMut": false, "isSigner": false }, { "name": "toMint", "isMut": false, "isSigner": false }, { "name": "ddcaAccount", "isMut": true, "isSigner": false }, { "name": "ddcaFromTokenAccount", "isMut": true, "isSigner": false }, { "name": "ddcaToTokenAccount", "isMut": true, "isSigner": false }, { "name": "operatingAccount", "isMut": false, "isSigner": false }, { "name": "operatingFromTokenAccount", "isMut": true, "isSigner": false }, { "name": "operatingToTokenAccount", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [] } ], "accounts": [ { "name": "DdcaAccount", "type": { "kind": "struct", "fields": [ { "name": "ownerAccAddr", "type": "publicKey" }, { "name": "fromMint", "type": "publicKey" }, { "name": "fromMintDecimals", "type": "u8" }, { "name": "fromTaccAddr", "type": "publicKey" }, { "name": "toMint", "type": "publicKey" }, { "name": "toMintDecimals", "type": "u8" }, { "name": "toTaccAddr", "type": "publicKey" }, { "name": "blockHeight", "type": "u64" }, { "name": "pdaBump", "type": "u8" }, { "name": "totalDepositsAmount", "type": "u64" }, { "name": "amountPerSwap", "type": "u64" }, { "name": "startTs", "type": "u64" }, { "name": "intervalInSeconds", "type": "u64" }, { "name": "lastCompletedSwapTs", "type": "u64" }, { "name": "isPaused", "type": "bool" }, { "name": "swapCount", "type": "u64" }, { "name": "swapAvgRate", "type": "u64" }, { "name": "lastDepositTs", "type": "u64" }, { "name": "wakeAccAddr", "type": "publicKey" }, { "name": "createdSlot", "type": "u64" }, { "name": "lastDepositSlot", "type": "u64" } ] } } ], "errors": [ { "code": 6000, "name": "InvalidAmounts", "msg": "Deposit amount must be a multiple of the amount per swap" }, { "code": 6001, "name": "InvalidSwapsCount", "msg": "The number of recurring swaps must be greater than 1" }, { "code": 6002, "name": "DdcaIsPaused", "msg": "This DDCA is paused" }, { "code": 6003, "name": "InsufficientBalanceForSwap", "msg": "Insufficient balance for swap" }, { "code": 6004, "name": "InvalidSwapSchedule", "msg": "This DDCA is not schedule for the provided time" }, { "code": 6005, "name": "InvalidSwapSlippage", "msg": "Invalid swap slippage" }, { "code": 6006, "name": "InvalidInterval", "msg": "Invalid interval" }, { "code": 6007, "name": "SwapAlreadyCompleted", "msg": "A swap for this time window was already completed" }, { "code": 6008, "name": "InsufficientDepositAmount", "msg": "Insufficient deposit amount" }, { "code": 6009, "name": "InvalidSwapAmount", "msg": "Amount per swap must be positive" } ], "metadata": { "address": "3nmm1awnyhABJdoA25MYVksxz1xnpUFeepJJyRTZfsyD" } }