diff --git a/.env.example b/.env.example index b37c8d3..2960871 100644 --- a/.env.example +++ b/.env.example @@ -5,3 +5,4 @@ JUPITER_REFERRAL_ACCOUNT= JUPITER_FEE_BPS= FLASH_PRIVILEGE= referral | nft | none FLEXLEND_API_KEY= +HELIUS_API_KEY= diff --git a/.eslintrc b/.eslintrc index e619c84..3b8e4c6 100644 --- a/.eslintrc +++ b/.eslintrc @@ -13,6 +13,7 @@ "no-constant-condition": "off", "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-empty-object-type": "off", "@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }], "no-console": ["warn", { "allow": ["warn", "error"] }], "curly": ["error", "all"], @@ -30,4 +31,4 @@ "ecmaVersion": 2020, "sourceType": "module" } -} \ No newline at end of file +} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c862186..6b4d5a2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,6 +14,9 @@ jobs: with: version: 9.4.0 + - name: Install node-gyp prerequisites + run: sudo apt update && sudo apt install -y build-essential python3 pkg-config libudev-dev libusb-1.0-0-dev + - uses: actions/setup-node@v4 with: node-version: "23" @@ -21,7 +24,7 @@ jobs: - name: Install dependencies run: pnpm install -r --no-frozen-lockfile - + - name: Run lint and fix run: pnpm run lint:fix diff --git a/README.md b/README.md index 7b73eb4..e1d0bab 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,7 @@ Anyone - whether an SF-based AI researcher or a crypto-native builder - can brin - Pyth Price feeds for fetching Asset Prices - Register/resolve Alldomains - Perpetuals Trading with Adrena Protocol + - Drift Vaults, Perps, Lending and Borrowing - **Solana Blinks** - Lending by Lulo (Best APR for USDC) @@ -133,10 +134,7 @@ console.log("Token Mint Address:", result.mint.toString()); ``` ### Create NFT Collection on 3Land ```typescript -const optionsWithBase58: StoreInitOptions = { - privateKey: "", - isMainnet: true, // if false, collection will be created on devnet 3.land (dev.3.land) -}; +const isDevnet = true; // (Optional) if not present TX takes place in Mainnet const collectionOpts: CreateCollectionOptions = { collectionName: "", @@ -146,18 +144,16 @@ const optionsWithBase58: StoreInitOptions = { }; const result = await agent.create3LandCollection( - optionsWithBase58, - collectionOpts + collectionOpts, + isDevnet, // (Optional) if not present TX takes place in Mainnet ); ``` ### Create NFT on 3Land When creating an NFT using 3Land's tool, it automatically goes for sale on 3.land website ```typescript -const optionsWithBase58: StoreInitOptions = { - privateKey: "", - isMainnet: true, // if false, listing will be on devnet 3.land (dev.3.land) -}; +const isDevnet = true; // (Optional) if not present TX takes place in Mainnet +const withPool = true; // (Optional) only present if NFT will be created with a Liquidity Pool for a specific SPL token const collectionAccount = ""; //hash for the collection const createItemOptions: CreateSingleOptions = { itemName: "", @@ -169,15 +165,15 @@ const createItemOptions: CreateSingleOptions = { { trait_type: "", value: "" }, ], price: 0, //100000000 == 0.1 sol, can be set to 0 for a free mint + splHash: "", //present if listing is on a specific SPL token, if not present sale will be on $SOL, must be present if "withPool" is true + poolName: "", // Only present if "withPool" is true mainImageUrl: "", - splHash: "", //present if listing is on a specific SPL token, if not present sale will be on $SOL }; -const isMainnet = true; const result = await agent.create3LandNft( - optionsWithBase58, collectionAccount, createItemOptions, - isMainnet + isDevnet, // (Optional) if not present TX takes place in Mainnet + withPool ); ``` @@ -309,6 +305,199 @@ const signature = await agent.closePerpTradeLong({ const { signature } = await agent.closeEmptyTokenAccounts(); ``` +### Create a Drift account + +Create a drift account with an initial token deposit. + +```typescript +const result = await agent.createDriftUserAccount() +``` + +### Create a Drift Vault + +Create a drift vault. + +```typescript +const signature = await agent.createDriftVault({ + name: "my-drift-vault", + marketName: "USDC-SPOT", + redeemPeriod: 1, // in days + maxTokens: 100000, // in token units e.g 100000 USDC + minDepositAmount: 5, // in token units e.g 5 USDC + managementFee: 1, // 1% + profitShare: 10, // 10% + hurdleRate: 5, // 5% + permissioned: false, // public vault or whitelist +}) +``` + +### Deposit into a Drift Vault + +Deposit tokens into a drift vault. + +```typescript +const signature = await agent.depositIntoDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU") +``` + +### Deposit into your Drift account + +Deposit tokens into your drift account. + +```typescript +const {txSig} = await agent.depositToDriftUserAccount(100, "USDC") +``` + +### Derive a Drift Vault address + +Derive a drift vault address. + +```typescript +const vaultPublicKey = await agent.deriveDriftVaultAddress("my-drift-vault") +``` + +### Do you have a Drift account + +Check if agent has a drift account. + +```typescript +const {hasAccount, account} = await agent.doesUserHaveDriftAccount() +``` + +### Get Drift account information + +Get drift account information. + +```typescript +const accountInfo = await agent.driftUserAccountInfo() +``` + +### Request withdrawal from Drift vault + +Request withdrawal from drift vault. + +```typescript +const signature = await agent.requestWithdrawalFromDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU") +``` + +### Carry out a perpetual trade using a Drift vault + +Open a perpertual trade using a drift vault that is delegated to you. + +```typescript +const signature = await agent.tradeUsingDelegatedDriftVault({ + vault: "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU", + amount: 500, + symbol: "SOL", + action: "long", + type: "limit", + price: 180 // Please long limit order at $180/SOL +}) +``` + +### Carry out a perpetual trade using your Drift account + +Open a perpertual trade using your drift account. + +```typescript +const signature = await agent.tradeUsingDriftPerpAccount({ + amount: 500, + symbol: "SOL", + action: "long", + type: "limit", + price: 180 // Please long limit order at $180/SOL +}) +``` + +### Update Drift vault parameters + +Update drift vault parameters. + +```typescript +const signature = await agent.updateDriftVault({ + name: "my-drift-vault", + marketName: "USDC-SPOT", + redeemPeriod: 1, // in days + maxTokens: 100000, // in token units e.g 100000 USDC + minDepositAmount: 5, // in token units e.g 5 USDC + managementFee: 1, // 1% + profitShare: 10, // 10% + hurdleRate: 5, // 5% + permissioned: false, // public vault or whitelist +}) +``` + +### Withdraw from Drift account + +Withdraw tokens from your drift account. + +```typescript +const {txSig} = await agent.withdrawFromDriftAccount(100, "USDC") +``` + +### Borrow from Drift + +Borrow tokens from drift. + +```typescript +const {txSig} = await agent.withdrawFromDriftAccount(1, "SOL", true) +``` + +### Repay Drift loan + +Repay a loan from drift. + +```typescript +const {txSig} = await agent.depositToDriftUserAccount(1, "SOL", true) +``` + +### Withdraw from Drift vault + +Withdraw tokens from a drift vault after the redemption period has elapsed. + +```typescript +const signature = await agent.withdrawFromDriftVault( "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU") +``` + +### Update the address a Drift vault is delegated to + +Update the address a drift vault is delegated to. + +```typescript +const signature = await agent.updateDriftVaultDelegate("41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU", "new-address") +``` + +### Get Voltr Vault Position Values + +Get the current position values and total value of assets in a Voltr vault. + +```typescript +const values = await agent.voltrGetPositionValues("7opUkqYtxmQRriZvwZkPcg6LqmGjAh1RSEsVrdsGDx5K") +``` + +### Deposit into Voltr Strategy + +Deposit assets into a specific strategy within a Voltr vault. + +```typescript +const signature = await agent.voltrDepositStrategy( + new BN("1000000000"), // amount in base units (e.g., 1 USDC = 1000000) + "7opUkqYtxmQRriZvwZkPcg6LqmGjAh1RSEsVrdsGDx5K", // vault + "9ZQQYvr4x7AMqd6abVa1f5duGjti5wk1MHsX6hogPsLk" // strategy +) +``` + +### Withdraw from Voltr Strategy + +Withdraw assets from a specific strategy within a Voltr vault. + +```typescript +const signature = await agent.voltrWithdrawStrategy( + new BN("1000000000"), // amount in base units (e.g., 1 USDC = 1000000) + "7opUkqYtxmQRriZvwZkPcg6LqmGjAh1RSEsVrdsGDx5K", // vault + "9ZQQYvr4x7AMqd6abVa1f5duGjti5wk1MHsX6hogPsLk" // strategy +) +``` + ## Examples ### LangGraph Multi-Agent System @@ -357,7 +546,7 @@ Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on how to co Apache-2 License -## Funding +## Funding If you wanna give back any tokens or donations to the OSS community -- The Public Solana Agent Kit Treasury Address: @@ -365,4 +554,4 @@ Solana Network : EKHTbXpsm6YDgJzMkFxNU1LNXeWcUW7Ezf8mjUNQQ4Pa ## Security -This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys. \ No newline at end of file +This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys. diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 94a19ed..3a34b45 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNllGTkzAQgP9LnjvWq96pfaut1ep57dwxvjg+7IWlZAgJkyzajuN/d0o7B5Sw8MID++23sMkSfv4VhAcSc/FkNRhY7NHQN0ViIgqgVMyF1OA9+mk7/iqlXIuJyJSJxfxm9v7f5MW0kKSsqQ3KELoEJPrpOdROnt3edZI/HSAvNDKOC8GpPgLJdOtidDsgQhd+pA7FKZdWa6zqr7DQ9pijoaA1BI4Tb4vT1Q9YLxSvNIna93hOITbZIZB14exzjEtfI8l055TER/SFNT68lF2MlWrw6VJbj5GDGHfgIA/3KUgOqkdZRwo/q+c/1mVVqzACnz1ifxv6YK7A17JQhC6yGZoVEATF1xAnvC+1XUhpS0MrJFDas0vXj3NFvitD9SZ+WEdsjV6aK3EZ5d5VbMQ5za7Mi6Q091AambJPGSSH1OvSVKvCTXuAY7VHSkfOXRgdklfwGjHerDaEea/5ihulHRYOqao2LVOUWdBThznJFzCxxsZnj44F+unl9lXm6w/vbm5nzbNrGW22D0919m9wCp716dA6h9qGN81kWU3/+ZSNrNWNPZGUppoAP+1AbeHd247wBzqJerEZULYwRooHlCXh9RFf61oAI0qUifstdZRR7JFa/wLB1+tAHeGv/7OFIBQ=" \ No newline at end of file +window.navigationData = "eJyNllGTkzAQgP8Lzx3r9bxT+1Zbq+h57dwx3oPjwzZsS4aQMMmi7Tj+d6fQEShh4YUH9ttvYSGb/PgTEB4pmAfPRoGGxQE1fZUUTIIcKAnmgVDgHLppO/4qoUwFkyCVOg7mN7N3fyf/TQtB0ujaIDWh3YNAN61C7eTZ3X0n+eMRslwh47gQnOoDkEg2Nka7BSK0/kfqUJxyaZTCsv4Kc2VOGWryWn3gOPEmP1/dgPVC8Uq9l4cezznEJlsEMtafXcW49DWSSLZWCnxClxvt/J+yi7FSBS5ZKuMwshDjFixk/j55yUH1KOtI4Se5+21sWrYKI3DpE/a3oQ/mCnxGJQv3grvEmDSM2Tb3sKP14+Vj1F+KXBLayKSoV0DgtV5DnPChUGYhhCk0rZBAKsc+cD/OFfkmNdXL73EdsTV6aa7EZQj1/n+NOKfZWmmspNMa+cXn4VhtkeX7Qj9AoUXCi33kkHpd6PJjc+PPw7HaEyUjB5EfHZKX8BoxDlchYdZrvuJGaYeFQ6qyTcsERer11GF2DoCOFTb2ATrl50Vf3b7KfP3+7c3drLmZL6Nw8/hcZ/8CK2Gnzrt4FWobbpvJohyH1bEjMkY1/ol9ocuF5aYdqC28f9MRfkcrUC3CAWULY6R4RFEQXp95al0LYER7qeN+Sx1lFAek1uHI+3odqCP8+Q8guIFL" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index e9af7ad..68faf85 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/classes/SolanaAgentKit.html b/docs/classes/SolanaAgentKit.html index 2602212..96303d4 100644 --- a/docs/classes/SolanaAgentKit.html +++ b/docs/classes/SolanaAgentKit.html @@ -1,7 +1,7 @@
Configuration object
-Solana RPC connection
-Wallet keypair for signing transactions
-Public key of the wallet
-Optionalpayer: stringCloses an existing trading position on Flash.Trade
+Configuration object
+Solana RPC connection
+Wallet keypair for signing transactions
+Public key of the wallet
+Optionalpayer: stringCloses an existing trading position on Flash.Trade
Flash trade close parameters
Transaction signature
-Opens a new trading position on Flash.Trade
+Opens a new trading position on Flash.Trade
Flash trade parameters including market, side, collateral, leverage, and pool name
Transaction signature
-Optionaloptions: PumpFunTokenOptionsOptionalrecipient: PublicKeyOptionaloptions: PumpFunTokenOptionsOptionalrecipient: PublicKeyOptionalsplmintAddress: PublicKeyOptionalprice: number
Main class for interacting with Solana blockchain Provides a unified interface for token operations, NFT management, trading and more
SolanaAgentKit
-