diff --git a/.env.example b/.env.example index 52fdf99..bd420ff 100644 --- a/.env.example +++ b/.env.example @@ -3,4 +3,5 @@ RPC_URL= SOLANA_PRIVATE_KEY= JUPITER_REFERRAL_ACCOUNT= JUPITER_FEE_BPS= -FLASH_PRIVILEGE= referral | nft | none \ No newline at end of file +FLASH_PRIVILEGE= referral | nft | none +HELIUS_API_KEY= \ No newline at end of file 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/README.md b/README.md index 7b73eb4..6fdedb8 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) @@ -309,6 +310,167 @@ 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") +``` + ## Examples ### LangGraph Multi-Agent System @@ -357,7 +519,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 +527,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/hierarchy.js b/docs/assets/hierarchy.js index 88636f0..fb85f0a 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index 63010a9..ecb07c6 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -17,6 +17,8 @@ --dark-hl-7: #4FC1FF; --light-hl-8: #098658; --dark-hl-8: #B5CEA8; + --light-hl-9: #267F99; + --dark-hl-9: #4EC9B0; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -31,6 +33,7 @@ --hl-6: var(--light-hl-6); --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } } @@ -44,6 +47,7 @@ --hl-6: var(--dark-hl-6); --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } } @@ -57,6 +61,7 @@ --hl-6: var(--light-hl-6); --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } @@ -70,6 +75,7 @@ --hl-6: var(--dark-hl-6); --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } @@ -82,4 +88,5 @@ .hl-6 { color: var(--hl-6); } .hl-7 { color: var(--hl-7); } .hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } pre, code { background: var(--code-background); } diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 2f5fc3c..3a34b45 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNlsFy0zAQQP/F5w6lKS3QW0gIBEqTaT1cOhy28ibWWJY80hqSYfh3FCdT27G89iUH7du3ykob5flvRLij6C56Mgo0TLeo6buk6CIqgFK/LhQ4h+6yHX+TUq48lEmdRHdXkw//Ll5NU0HS6NogNaHdgPCSY6idPLm57SR/3kFeKGQcJ4JTfQIS6comaNdAPj28pQ7FKWdGKazqz7FQZp/7bgStIXCceFUcPt2A9UTxSr2R2x7PIcQmWwQyNpx9jHHpC/RNXVsp8BFd4TcaPsouxkr9TUxnyjiMLSS4Bgt5uE9BclA9yjpS+EW+/DE2q1qFMbjsEfvb0AdzBb6VhfSC2GSo50AQFJ9DnPC+VGYqhCk1zZFAKsceXT/OFfnhDfUlfljEbI1emitxGuXeU2zEOc26zItNqe+h1CJldxkkh9SLUlenwk17gGO1e0pHzl0YHZJX8AIxWc6XhHmv+YwbpR0WDqmqNs1SFFnQU4c5yVfQicLGzx7tC598Wj7LfPvx/dXNpPl2zeLl6uGpzv4NVsKLOjxax1DbcN1MFtX0H1/Z2BjVuBP+dlUT4C47UFt4+64j/IlWoJouB5QtjJHiDkVJeP7E17oWwIg2fqnfUkcZxRap9V8g+PU6UEf46z+zhSAU" \ 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 940ddfa..68faf85 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "eJy1XVtz4zay/i/261Si5kUU86bxJfHGM/banqRSUykWLdFjrilRS1Ke+KTy3w8AkmIDaNJNSfsyiW30hcCHRqM/kPj7pMi/lyc/ff375CVdL09+Amf24WQdr5KTn07u8yxex/Nvybr6Na1OPpxsi0z8epHFZZmUP+p//uG5WmWiTfNX0e7knw+tVh+cndZFvi6rYruo8oKj8lRvj9R/ONnEhWhpe9oZhonjYcvrZFGl+ZpruGt+iN3vcZYlrP473TU93F4UL5dFUpYj7CKRA/v5Kf3G7eO66Uh7zsTrcFok/90mZXUZbxdJdbldL3nP3Ig9KbGnRuwQP5bJJsvfHvKXhAewun3VtD/c8lkuBpGP71pogYUO8eFbUn2MRcNFwrIumj/umh/H7k31nPBiSmc8b2QO8WCVrqvPlw8sy7Lt+mmPGa5ZrIp4XT4xHxY1PmyWfUvLKinO81Wc8hDWiixbkcPsl3n2mojGozxQQuKfo/ggcHNbpKu4eBvhgxDa1EJH8UEM55I3xdqWh1jL0lVa3RRLJtZU87xpfojdx7haPPPtqubHsLuQQSGbZ5myzVtIahmxguatzCEefE+r52URfxc+8Jbupn2cZQdazjfJ+jYpNg8SN9f5mreES6mNkFJoy2qpo3lxLwaVlzlpbpSN2EFIyPIy2cMRJfc/9IQ9MLojRxiZLFkv50K64k0L2Txumx8YdR9u77mxttocw55Mys7jKv74Nh+RRkvzUnIpJB/f9s6mB7x5SBcv/CQHOVO1gof48pSIMKu8EcsgM9FTMsqRTSNzEAbj7XrxfLtdbUSiz0+1a7GNEBOJ/jEy7rKKX3jP37Y8MPdh2+vaHvR8Ajdn+WojAZws52mxLPIN73mF5GInGe8kD1oTikV8pqJgXqbsDY6UqoNgJ3WwF0USV8nZ9adPfBeUyCJbrY5m/z5df8vEv8tkeZ3+d5su0+rtNs95CUPnU6nUlFJN1qrZ1GoO9fNSzvp2tHjBU4qpYLFBYof6cSPSgjPRLCmSZevO7yJj2nUb2zWZYCwaTa2HMvfKkKZjeIvGdjTapY9oUI+E+2YTJRLSetfDLa8oKZGWLndSB66DN9/XIhaNc0OI5VLs6H40TlzmxcP1+ShXGj+eRGaYLQ/3pusQ4Qi7U7r+EE4coU+EF3fNdn+fMRLuFDvxY47VJ6Gmc2fctl227Xw5ThUjflum21Udxuer1W8ebzLVYnXYjlerV++YfpzVa9NIN46woulebPbyYnP4uiqi5mOev9RufIqLF2a1vhWsPVm1ggfVEuN1+iQyuNG+tIJH9EVWu96qZ5XqXybJ8ood5jZCTGX7T0IsPUKM2/kx2oND996qO39OH7/nxctDXL7wtt5K6lstVdVSB82TfPFyG4u9/P0iLcucWZeSUhspVXZSh/fFQ7rJ0vWYfqh2EgfVPUVqkxfXYong1tpriUxIHKHirnSdqUqf9CFlFmFqubpCmO3kjrMHvxMbm6K6365kbXnkXrxQsuVO9jgenYuFPM2SZe3ZSJeWjXDRCh/kk5B9lun0A7tcrkRkSD9G3VwpU1vWkQ6oDeueHkw9Y67WLR/Elq6LGE/btaL7yh+tNoMcvqX8t6SQpfKrYfVaq0EDbndGYH72cHXzuSv5vcZFGj+KXc2PzV8GFWlk9O/z6+uLh2h+fn53cX8f1fLvKD6NIrERTnRSPIqHWdJWQS3b5875xe31zR/Rw82vF59HOVOztZGaKcdx5eP8ev757GKUFw1rehwHHu7mn+8vL+5GedCymUcdjrMbARIlsM+YdBT6cZz6dPX5IRKL3ChfJLEciXXuaENzPg4ZKmQdx/jdxb+/XNw/RJdfPp+Pm7HNkY5IneY4ljP3N9e/XUTnN5/mV+Pg0VRAonrjeBx3fhaxrA4e5/OH+Sh3RFbchA/JCBzRndtxg6T82BxpeC4vHs5+iW7vrkYGMpV2RGqHcBxH7h/mv15Ev189/BL968vtKF9UvT6StcToP9vN0d0R+J3/MTLKIpcEhuO3Y8Xbu4ufr+4fhDN7Tae6PnTU+XR98fk8mt/fX4yLtpLbjBS5eRw3zu4u5g8X0c9XH3+/ufs1epjf/zrKnzrXipodZyS3nMcNf+LfQ0Kg+Peow3b7hwD2vnNf1gaiowcAGQpvfv98cd700310eXMXPVyfjw6OqkjcdFcZPeVFVGXL4zkpOuzT/O6PfYZTetecZTr6qiby9F3PiV4bv6aIbH3XabKmfexhxQ7uN6TYw2OGDTGeP4+bAk28ECP57Yjwr/GEumlPiNXAQp31v8BauxQdOLLSzY65OP4Q383/OL/68ilqhvrs9tOncRG4LpZHzYjLcvn/xLG58Os37xDXYuHZq3fUiXFzdzaP7q8+/3wtVrCrczHUv/9ydXd9eyNWsz2miyzkRTW/GimCNfr+nBaZpMyPlI3Mv3yWS9qXT7di87NHlaA+5xI1B12OWS24vJ7f/xLd3AqHxm8OVWUrkrW16Ij7xNqls+ub+4u9fVLltgOdcvxpBzz93YdUnhd4ihfChfov/MKV7Or5VTS/vYp+vfjjHY2KiorTKN6k0UvSX9Bt3OsxKTYuVzI5v7u4vLi7m8s5cnbz5fPDe8bFriWViXkhtlVFEcvJsMi36/4aLs+Ny4uL6CM6+PeO9ackiR4HDv8NG63BJHKj366uL36+eM9ojR6RC72mmVgH+EY1sMiwgl6DwrbqP/HhYr7t06Pr9L1Dia1PPWY2spy7ruJvybuWtKZcY/pcautqNxv9GJE2KEYjfpep/7BVnjbN+8bZ9LXH6LZIR9isWx9ossjf4qx6+xiXaXmbC6MjOvK0EX6UwptW+ECHFvWwj3EDiYw3ToPqXFVvV8m6Gvaja8eHVlcSNo8Pc0ycduLvTlfqcXqcKtNv67jaFu+A3nQGi+3lBO7+T8Jk1/zz5cNdImC1LkmfehvzB0KWxcerPm3E6Mftf4Y+J5IqljXXfRzpRPd3Bg8APjo9EFaJZvxOr76nVZWQ61qf3tNOhn5Oyu8+84lYkot4Nc5+J3SwA9+Tx1KkJKPsdzIHm0/XaZXG2e6I6/3N9ShXGvndwdZy4ETwCLfKLN1sRDbwcTMKcaet3FBuN8INkbPlhXiqy2TcALVyT8m+g2ROQ7FDu1b7taEYSDbkT8XBmN+vmxH06ScYGYYHPBgMweOMNzH0C516DfnQSA6lYaNcEdsjOt8fcKKV2c88Bt31Nsvn9dasPqlTDiGvv/WIlSCv4uy3ONvuY+FUSb820vTjDzxSb3SUlbqyuoiLdbLcx61WQ9JqOJZrIsfNqnSVzDdv+/jViseb/gLAeKfKpJKn1siY/Z5HSPYAdzCE/1Vv9ndvxFFemW2Osokmlb67m7bcHbkVpa0O7kS5Jsu31SN6Y+hdo7v2h5ldJot0FWcj+hhJHGa6imkU02ab1oeZzPJv+Ze7K75VKTC02rC7Wcylt+g1z7ZjgGVIHebCU5Ek/5dE8bZ6VokT3w1C8jBX1OGoPRyx5A5zY5MUq3gtZKKl3G3E9BaBdoWUPcyd5C95OrlvB0i7ocmMNo8jef2GoOTfh5IQu9WI3LcSGSz5bD1aT3cS9JMRLvfmPeLhr8jsos+2Ehl4V4JvXB1quFp/uT8/G+OAEkvX23K5OIITK7Es9lSJ+xzoRA41vsiXoyw37fcwq+3p3qpnHqrplsdA9oDm99Dd4/4Qwu97c4ghP5ToO+nEOGc2xCtKTGc4rynt4cxebhzJgYGpN+TCe9NvnBN9U3DIg8Fp+K55PBWbF7bqt+jka1vyjZSeydjX9hjTcVD3exOy9yF689vyhV5zht2QcgPoH+vGYMnpnQ55t+rEcAbjYK6q4hd/xatNRvqjNeCPeLrebMmClq3vtG3bc6pA87DHXL6t+PZ2jQ8wmPy1kW8FaR8fGLaqS4wz7UzCAPzu9Z9f4vUyQ/yBOpH8Y/PbwUGyx77f/cOJYqRneE/euNI7YVZplpDxA1vomu1jZJmUiyLdMLrkVG+6j7GkHuJ3Hwm126vjFs/JiiwBaf3WttrHxLMBxR4bXTOmEQxUtVM6e04WL5SZ7q9jyq7qE015Hwtm6DxtPs+UDxJgyM0hsw/ycBTXZlU33tdgkZYvJMhMY23DfQ2Vi5xez0xDbcMRhswtBHrf/qpKaBbTbjZi7SJThD6Vp+/kxaa3fZXVqirSx21Fx4Re45rYPk6Qnftut47r0Md0jV/AHlR4umv8ztMMdaZoXdLUBWFw13icQdxx6luYt7EIDuTooT/zO+2/23hd9RTjTIWnqDH9FNjD3lWW3pBYxpqGexvq3f9ZloY3fbQpPC4fdx9JvY3l4QlyZbcajSGP6S6jVQ53nO3rEGX47wF09FhXcu8Che2GGpu7eE3vo3t8UEJFI3SgA+UmXuCvTDD6fydxoOn1dvWYFDdPxjdw3/egFsyf3vkQLtsR8Zv0NV1u9wJEJ3wQKrSatTz1qz7o0B8NzTYjsza2ytPhz1haro6c47TNwSnONSlPN4rdexFnX0q6RE7a7sS25UCZnOlElrwKVT0FatI+khht2gJR92mQd5BkNjwWnEi9HExZnu8DLNr6++gaMI6+T/IkfmHs/rvPknR/HOzKKd7NJguRgvZq1P7OVSo/mYfLIdQXVKw2lPI/P8gwmfx18tPfJwKgkpsTv3d+cH8IRcunNJGf9/vpa1vEWOSr5sjzMl9s1f/+2TT7LVmoI9Y/fa1b/zg5+fB18sELf3Ad+PPPD19bYfUH9YtWR/cbJQjiJ6AEwRIETdARPzmUoGMJOpqgK35yKUHXEnQ1QU/85FGCniXoaYK++Mn/4Hk/OOBogr4l6GuCU/HTlLI4tQSnmmAgfgoowcASDDTBmfhpRgnOLMGZJigQ9DWkBENLMNQBIPEAJHbABg8Y6FHwofFDAEhHEEhcAIkhsEEEOopAYgNIHIENJNCRBBIfQGIJbDCBjiaQGAGfFLYBBTqiQOIESEyBDSrQUQUSK0DiCmxggY4skHgBEltggwt0dIHEDJD4AhtgoCPMkZhxSIQ5NsIcHWGOxIxDIsyxEeYYMUoFKTpKEWFKR5gjMeOQCHNshDk6whyJGYdEmGMjzNER5kjMOCTCHBthjo4wR2LGIRHm2AhzdIQ5EjMOiTDHRpijI8yRmHFIhDk2whwdYY7EjEMizLER5ugIcyVmXBJhro0wV0eYKzHjkghzbYS5OsJciRmXRJhrI8w1VkK1FNJrIbEY6ghzJWZcEmGujTBXR5grMeOSCHNthLk6wlyJGZdEmGsjzNUR5krMuCTCXBthro4wV2LGJRHm2ghzdYS5EjMuiTDXRpirI8yTmPFIhHk2wjwdYZ7EjEcizLMR5ukI8yRmPBJhno0wT0eYJzHjkQjzbIR5Rr6lEi464yJSLh1hnsSMRyLMsxHm6QjzJGY8EmGejTBPR5gnMeORCPNshHk6wjyJGY9EmGcjzNMR5knMeCTCPBthno4wX2LGJxHm2wjzdYT5EjM+iTDfRpivI8yXmPFJhPk2wnwdYb7EjE8izLcR5usI8yVmfBJhvo0w38jqVVpPIswnEnsdYb7EjE8izLcR5usI8yVmfBJhvo0wX0eYLzHjkwjzbYT5OsJ8iRmfRJhvI8zXETaVmJmSCJvaCJvqCJtKzExJhE1thE11hE0lZqYkwqY2wqY6wqYSM1MSYVMbYVMdYVOJmSmJsKmNsKmOsKnEzJRE2NRG2NTYO6rNI717JLaPOsKmEjNTEmFTG2FTHWFTiZkpibCpjbCpjrCpxMyURNjURthUR1ggMROQCAtshAU6wgKJmYBEWGAjLNARFkjMBCTCAhthgY6wQGImIBEW2AgLdIQFEjMBibDARligIyyQmAlIhAU2wgIdYYHETEAiLLARFhgVClWioGsURJFCR1ggMROQCAtshAU6wgKJmYBEWGAjLNARNpOYmZEIm9kIm+kIm0nMzEiEzWyEzXSEzSRmZiTCZjbCZjrCZhIzMxJhMxthMx1hM4mZGYmwmY2wmY6wmcTMjETYzEbYTEfYTGJmRiJsZiNspiNsJjEzIxE2sxE2M+pgqhBGV8KIUpiOsJnEzIxE2MxG2ExHWCgxE5IIC22EhTrCQomZkERYaCMs1BEWSsyEJMJCG2GhjrBQYiYkERbaCAt1hIUSMyGJsNBGWKgjLJSYCUmEhTbCQh1hocRMSCIstBEW6ggLVR5GFXZDG2ChDrBQQiYk0RnaAAuNYquqtpLoDIl6q1lwVQiji2kTquRq1Fwnqug66SnZEmXXiVF3najC64Qu206I0uvEqL1OVPF14lBdX//RVGDUXyeqADuhy7cTogQ7MWqwE1WEndAl3AlRhp0YddiJKsROBHomP8y8maGAKMVOjFrsRBVjJ3Qpd0KUYydGPXaiCrITupw7IUqyE6MmO1FF2Qld0p0QZdmJAcSm9E8jkSr+W9X/uvxPI5EkAAwk1hSAJBCIUaBIAJMFqGmAHhKBIgJMJqCmAiSRQECZIgNMNqCmA3rIBIoQMBmBmhLoIRQoUsBkBWpaoIdUoIgBkxmoqYEeYoEiB0x2oKYHesgFiiAwGAJQRX/oIRgIkgAMlgBU4R9okgEIogAMpgCcmoyiYyJBFoDBFoAiAIAmG4AgDMBgDMDxBuYCQRqAwRqA4w9AmSAOwGAOQJEBQFMeQJAHYLAHoAgBoGkPIAgEMBgEUKQA0NQHECQCGCwCKGIAaPoDCCIBDCYBFDkANAUCBJkABpsAbo1Eei4QhAIYjAK4NRLpuUCQCmCwCuDW1Cg9FwhiAQxmAVxvYHknyAUw2AVw/YHFlSAYwGAYQJEGQJMyQJAMYLAMoIgDoIkZIIgGMJgGUOQB0OQMEGQDGGwDKAIBaIIGCMIBDMYBFIkANEkDBOkABusAikgAmqgBgngAg3kARSYATdYAQT6AwT6AVyORngsEAQEGAwGKVACatAGChACDhQBFLABN3ABBRIDBRIAiF8CjozJBRoDBRoAiGIAmcIAgJMBgJECRDECTOECQEmCwEqCIBpBEDjGdCWICDGYCFNkAHrnTAoKcAIOdAEU4AE3oAEFQgMFQgCId+kaBICnAYClAEQ9As0JAEBVgMBXg10dGaCgTZAUYbAX4NRJDuhOpgyMGEv3pwDASpAUYrAX4wdAwEkg0mAtQZATQHBUQ5AUY7AX44dAwEkg0GAxQpATQRBcQJAYYLAZMYSDJIogMMJgMUOQE0GwZEGQGGGwGKIICaMYMCEIDDEYDFEkBNGsGBKkBBqsB0/oAE72wEMQGGMwGKLICJHtGAIkgN8BgN0ARFkAzaEAQHGAwHDCdDSQYBMkBBssBirgAmoYDgugAg+mAoEYivTIRZAcYbAcoAgNoOg4IwgMMxgMUiQE0JQcE6QEG6wGBOzCMBPEBBvMBiswAmtcDgvwAg/0ARWgAze0BQYCAwYBAUB+no+cCQYKAwYKAIjaA5viAIELAYEJAkRtA83xAkCFgsCGgCA6guT4gCBEwGBFQJAfQfB8QpAgYrAjMaiTSUCaIETCYEVBkB9C8HxDkCBjsCCjCA2juDwiCBAyGBBTpATT/BwRJAgZLAor4AJoDBIIoAYMpAUV+AM0DAkGWgMGWwKw+3Ol/cGc/uK5vKCCQaDAmMJsNJBgEaQIGawKKCAGaUASCOAGDOQFFhvQ9AkGegMGegCJEgGYlgSBQwGBQIKyRSM8FgkQBg0WBsEZiz0lXAokGkwKKHAGaoQSCTAGDTQFFkADNUgJBqIDBqIAiSYBmKoEgVcBgVUAxJTCj60gEswIGtQKKLenFAYFEg14BxZgATXkCwbCAQbE4ijIBmvZ0CI7FMTgWp+ZYaOrTITgWx+BYnJpjoTvRITgWx+BYnJpjoTvRITgWx+BYnJpjoQlYh+BYHINjcWqOhSZhHYJjcQyOxak5FpqIdQiOpf2dek/mNSmqZHlVvy/z9etJe+XL3ydR8xKNTCCVJfk+jUwRf/r7n3+612bET+jNGfk3aaxWk7SfmcHaHKzNGaGtxHq6F4f+PhGZN0tL+2lS5M0EeyOGVknKQhtLIXoXH+kUS3ynUyziHFXmNcLoQVHvMzv/Ub68qd441fyaYbdGKtq0r1MjfcEUKwx5GpuX/bEawGpclpr6+vg4y9r3apE+3Ps8p9SVRxvxkOrWoyyXbwx3Ch2ENIcHDF1h+axub0caXaSR+cDqQ2DoKT0fPaY/aYDr8wBivDiKMeLh3mN2n303B9IIE6QReLOh07hEV5LgaYsHGSYjleYbK5xIjhsFAp+psb7aqlODBsWvhULuiKzXiTX3UXDiBUqhpqyK7ULdoYSeDj0bT8/A7amd2hnSy4xz5DWLSCOKUTNejBpxE11nJ0QzMGTOQGWn6RHZIdq4I33+GH3yLuF1XAkv9dUNjTxzjaz1VekmS9e6bxiUTGArXa/yuqosTm3v0NNORzytAcoJhuVkxFPmRsSf4JVtwgta+oedkTIXB1aPF1q6D3JjRTi1cHlhoA53UReqqIQAxb4p82Frtfrlh0gjWsin0xEaOz+1SYzm8AhlzZv2nR6U+HB7D32mDaeceLUIeEPa3DGBtOA8QDLqLC27V9lxfohXxIAXN5s36onsHIdMh7lwaZ8mxB2FsT/l6uq+f43Rj/vc46VN1A3UCA4IpQEPpUph/Qma3beHcQ6FB8LjPa5SqaC6VNczJCLj2Rj5Hcabz5uhndrmE0goCUDanLHaaufK7WplpN0+go3Pm6byOxEUAAMMQOZIZ31XjaI1Go13yBzvrOdWVaQVQTxkDrl5syVeejCEJry5rPSpZ1dOapEYLYnTvbRtmo+n4AGa4gEaoVV2pO0ieuIpL5YqZb3e4WWSO87WdQg48uBtqcd73MHb0tHKhlTPeK4yb8RGAEX9G/L6l3NDOHoIFE+Yu/bhC9uRahQKZrwVslPdqn3KC9n/lHq0As94gUaqFzNXRr+BHkExYcaLCVJvnU7J27Co1Qr5GvB9rTZUvwbIwYDtoFaDMyYdXlMmbCSL0W9GSU4QrNFDWwKPtyWo9XXzolOuKUb9yEwjhOKmnKbNKzStRqrJq2ejlKZFfa42+WzdQ9b/0R4VjTIzGxFa1eTp6Tu0mvADoVLYaBNzUYy0phOFa4+3ZxM6myloPzNoZSy2urfq2cqTcGHZ53vWqmpvPEAKUff57O6rc0MRFB7fiHKYg5MldoREOqt08aKD0cEbAF4mJ1VudL9wjsCMB3UppKk7xOVLkdgpto9nCjPP3H06GuvBi3q9R/1wIk9KcBTqwyo5fFRw5k1f6tOJOJ7iUgYzrSQvFcWFU7yDcrhuqg/d445zcccx+8u4zg9vgjEX5PKcsq6jR0EZP+NknLpCTNmiiGV5T12Xp+lFQ8ysYjdqd1NNzykxjF1eL2bqAspoU19H2Vt8CdECF/IWuFpzo9gqm2BfmSOUiUeO5Af0Kio7QvqYs0XqU+r0GINivcObI90XJvFkw3qYoMnSVVrZlBhGMy8a766jw+jAlSGXB7dsm+UNcOtCQkmWKHCfATO6r+J1+iSmbx2Zxbr7kujlCTSgPq/7djfh4OoJfmovbEKyz1s8ulu8ccTDGpnZgHYhLe44HPeYK1p9wS52CCsBr3lEJnbNq/IwYDDumFmUUrd+omZogAaUWd6U2rrqrVBLog/w3hx4YU9qFvp0PVgNS4tqrmXceCJM2gTAbVg2efCUpdb4HDOOKjjEMwOxLJDEaRRv0ugl0YY4RCMc8nyTyh7z/KVv2nporfR4QUaq7Oe10ag4vFHR9Nm0NqYreaCWrF1NludlasIah1XmiQylT/XfIlutNGUIPy5vAnfKal5R0Yq7dE0yi5oBlKG6vHgjDdQl6ubpNUTiIMGkj6RCOUaLRGVwy1bv97R63jmu2UB5ksuEaWMD9Qk5eAitzCWxOWhiVQgDHIWZ9Zn2yiecCePVhXlkqL0qAnuDYyKzCrWRTOq6MlfQCX4wZuWcuvUUryx4b8MsxFg7acChBvw2xjIJ+Z7dtHypByllPi2+gRPrwj3njfCruYoAjyd2K+SFLaFKLeriKfWkAy90zBDYpPF1Tk/ngBhxzPNCeHNAHXfR6i7AC1eyVBINc3QzNC7Mo1xS63s8Hd78MysxRl0nVRfc4CKAlvrzAtROp6UNZ2Dy2D1HG1lIwGVjYFIMRfy2TLerqDkJE69W0atH7TQRjphAN1QvNkI3oRjBPuQNT6O41is8fvW0VAcNuDeqE+jF30OD7fGWUl3fxtCHYgYz+gg9WZWuknijDziu3sl31Hm66pp5P6MRoADOBHerlKjR4mDLm9RF8t+t2IFGIgSRRBpeRAMmFGuVT/F2kVRKr8ZKIlKSqa7Ms9dkoAvRUzPrjK1O8e8A2YQenRkpGr09RX4UepjHlRp94h9isLVdPVddFb9oIRuffXKZD1lfSIdDNF6jAua0zRcvm1gkSeUiLUvjoBjOAJkJSJG/iXn79hiXqViYxNbWOHmGV5EJLxK0ty/iJ8V5A3M+NPfqYS14mQyYziTrpWixkTxFsozTYlnkG20k0TRgFj7LpKrE5kDvKXyKBZiQqG8/wasjRkRNMIu8NGxPP9cb7Q8nzoTpaHe5Lk6NtGqF0+h22uoP81jG7m5SvAPBsZ55dK/M0s1GbByMwrn8Bg9KCpk+qcOmQtm6ekm1zRFSxgshu5u18OhoJ++ZQ2BFDtT7zOVQ6YjkHjf6z3ZDhXJ8kpAXR5BO2WtvYrEl9KLx5M635oJrHHAx3ry2suW3wGMeIGtvj8fLNlbMLEmIPapxjk9b/HkP2V6fjaGPfWEeG6rkBlfdv4pnJ464zNdY5AFFWbaQ74xkIskxgIvfb2K+QFFrlLqMUifmKZmlcIvAAbyLgjBogxovaCp1i/ruXLw44E0k80CKUmXu4rEeZi6tX6aLncIPyjzYopQRaMc5PjDP4KMbd7FXOAVinjQ17lrEURH7xdwdKW2vcbY1CgF4gWceBbXO74HGpPN1UPEPTWrmOWahal0+GSycVt8YpYY6zI6CMpMVqEScrwyftG5icoMmBzXBOiY8Hd9Flq/X/XECNkJFRJw+wWep9lBF9TbKyJgHxr8nj2VqlC21dxOZb+3JxXlZxNJFjYVAuQzn1MSfH0426SbJ0rUQ+frnP//8P176OLc="; \ 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 aa4729f..96303d4 100644 --- a/docs/classes/SolanaAgentKit.html +++ b/docs/classes/SolanaAgentKit.html @@ -1,7 +1,7 @@ SolanaAgentKit | solana-agent-kit

Class SolanaAgentKit

Main class for interacting with Solana blockchain Provides a unified interface for token operations, NFT management, trading and more

SolanaAgentKit

-

Constructors

Constructors

Properties

config connection wallet @@ -9,25 +9,39 @@ Provides a unified interface for token operations, NFT management, trading and m

Methods

approveMultisigProposal batchOrder cancelAllOrders +closeEmptyTokenAccounts closePerpTradeLong closePerpTradeShort +create3LandCollection +create3LandNft +createDriftUserAccount +createDriftVault createGibworkTask createMultisigProposal createSquadsMultisig createTiplink +CreateWebhook +deleteWebhook deployCollection deployToken +depositIntoDriftVault +depositToDriftUserAccount depositToMultisig +deriveDriftVaultAddress +doesUserHaveDriftAccount +driftUserAccountInfo executeMultisigTransaction fetchTokenDetailedReport fetchTokenPrice fetchTokenReportSummary flashCloseTrade flashOpenTrade +getAllAssetsbyOwner getAllDomainsTLDs getAllRegisteredAllDomains getBalance getBalanceOther +getDriftVaultInfo getMainAllDomainsDomain getOwnedAllDomains getOwnedDomainsForTLD @@ -37,6 +51,8 @@ Provides a unified interface for token operations, NFT management, trading and m getTokenDataByAddress getTokenDataByTicker getTPS +getWebhook +heliusParseTransactions launchPumpFunToken lendAssets limitOrder @@ -57,25 +73,39 @@ Provides a unified interface for token operations, NFT management, trading and m registerDomain rejectMultisigProposal requestFaucetFunds +requestWithdrawalFromDriftVault resolveAllDomains resolveSolDomain restake rockPaperScissors sendCompressedAirdrop +sendTranctionWithPriority stake tensorCancelListing tensorListNFT trade +tradeUsingDelegatedDriftVault +tradeUsingDriftPerpAccount transfer transferFromMultisig +updateDriftVault +updateDriftVaultDelegate withdrawAll +withdrawFromDriftAccount +withdrawFromDriftVault

Constructors

  • Parameters

    • private_key: string
    • rpc_url: string
    • openai_api_key: null | string

    Returns SolanaAgentKit

    Using openai_api_key directly in constructor is deprecated. Please use the new constructor with Config object instead:

    const agent = new SolanaAgentKit(privateKey, rpcUrl, {
    OPENAI_API_KEY: 'your-key'
    });
    -
  • Parameters

    • private_key: string
    • rpc_url: string
    • config: Config

    Returns SolanaAgentKit

Properties

config: Config

Configuration object

-
connection: Connection

Solana RPC connection

-
wallet: Keypair

Wallet keypair for signing transactions

-
wallet_address: PublicKey

Public key of the wallet

-

Methods

  • Parameters

    • marketId: PublicKey

    Returns Promise<string>

  • Parameters

    • args: Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey }, "agent">

    Returns Promise<string>

  • Parameters

    • args: Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey }, "agent">

    Returns Promise<string>

  • Parameters

    • title: string
    • content: string
    • requirements: string
    • tags: string[]
    • tokenMintAddress: string
    • tokenAmount: number
    • Optionalpayer: string

    Returns Promise<GibworkCreateTaskReponse>

  • Parameters

    • amount: number
    • OptionalsplmintAddress: PublicKey

    Returns Promise<{ signature: string; url: string }>

  • Parameters

    • name: string
    • uri: string
    • symbol: string
    • decimals: number = DEFAULT_OPTIONS.TOKEN_DECIMALS
    • OptionalinitialSupply: number

    Returns Promise<{ mint: PublicKey }>

  • Parameters

    • mint: string

    Returns Promise<string>

  • Returns Promise<string[]>

  • Returns Promise<string[]>

  • Parameters

    • Optionaltoken_address: PublicKey

    Returns Promise<number>

  • Parameters

    • walletAddress: PublicKey
    • OptionaltokenAddress: PublicKey

    Returns Promise<number>

  • Parameters

    • owner: PublicKey

    Returns Promise<null | string>

  • Parameters

    • owner: PublicKey

    Returns Promise<string[]>

  • Parameters

    • tld: string

    Returns Promise<string[]>

  • Parameters

    • account: PublicKey

    Returns Promise<string>

  • Parameters

    • priceFeedID: string

    Returns Promise<string>

  • Parameters

    • tokenSymbol: string

    Returns Promise<string>

  • Parameters

    • amount: number

    Returns Promise<string>

  • Parameters

    • marketId: PublicKey
    • quantity: number
    • side: string
    • price: number

    Returns Promise<string>

  • Parameters

    • baseMint: PublicKey
    • quoteMint: PublicKey

    Returns Promise<string[]>

  • Parameters

    • collectionMint: PublicKey
    • metadata: {
          creators?: { address: string; share: number }[];
          name: string;
          sellerFeeBasisPoints?: number;
          uri: string;
      }
    • Optionalrecipient: PublicKey

    Returns Promise<MintCollectionNFTResponse>

  • Parameters

    • baseMint: PublicKey
    • quoteMint: PublicKey
    • lotSize: number = 1
    • tickSize: number = 0.01

    Returns Promise<string[]>

  • Parameters

    • args: Omit<
          {
              agent: SolanaAgentKit;
              collateralAmount: number;
              collateralMint?: PublicKey;
              leverage?: number;
              price: number;
              slippage?: number;
              tradeMint?: PublicKey;
          },
          "agent",
      >

    Returns Promise<string>

  • Parameters

    • args: Omit<
          {
              agent: SolanaAgentKit;
              collateralAmount: number;
              collateralMint?: PublicKey;
              leverage?: number;
              price: number;
              slippage?: number;
              tradeMint?: PublicKey;
          },
          "agent",
      >

    Returns Promise<string>

  • Parameters

    • positionMintAddress: PublicKey

    Returns Promise<string>

  • Parameters

    • mintDeploy: PublicKey
    • mintPair: PublicKey
    • initialPrice: Decimal
    • feeTier: 1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

    Returns Promise<string>

  • Parameters

    • depositTokenAmount: number
    • depositTokenMint: PublicKey
    • otherTokenMint: PublicKey
    • initialPrice: Decimal
    • maxPrice: Decimal
    • feeTier: 1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

    Returns Promise<string>

  • Parameters

    • whirlpoolAddress: PublicKey
    • priceOffsetBps: number
    • inputTokenMint: PublicKey
    • inputAmount: Decimal

    Returns Promise<string>

  • Parameters

    • whirlpoolAddress: PublicKey
    • distanceFromCurrentPriceBps: number
    • widthBps: number
    • inputTokenMint: PublicKey
    • inputAmount: Decimal

    Returns Promise<string>

  • Parameters

    • marketId: PublicKey
    • baseAmount: BN
    • quoteAmount: BN
    • startTime: BN

    Returns Promise<string>

  • Parameters

    • mint1: PublicKey
    • mint2: PublicKey
    • configId: PublicKey
    • initialPrice: Decimal
    • startTime: BN

    Returns Promise<string>

  • Parameters

    • mint1: PublicKey
    • mint2: PublicKey
    • configId: PublicKey
    • mintAAmount: BN
    • mintBAmount: BN
    • startTime: BN

    Returns Promise<string>

  • Parameters

    • name: string
    • OptionalspaceKB: number

    Returns Promise<string>

  • Parameters

    • domain: string

    Returns Promise<undefined | PublicKey>

  • Parameters

    • domain: string

    Returns Promise<PublicKey>

  • Parameters

    • amount: number

    Returns Promise<string>

  • Parameters

    • amount: number
    • choice: "rock" | "paper" | "scissors"

    Returns Promise<string>

  • Parameters

    • mintAddress: string
    • amount: number
    • decimals: number
    • recipients: string[]
    • priorityFeeInLamports: number
    • shouldLog: boolean

    Returns Promise<string[]>

  • Parameters

    • amount: number

    Returns Promise<string>

  • Parameters

    • nftMint: PublicKey

    Returns Promise<string>

  • Parameters

    • nftMint: PublicKey
    • price: number

    Returns Promise<string>

  • Parameters

    • outputMint: PublicKey
    • inputAmount: number
    • OptionalinputMint: PublicKey
    • slippageBps: number = DEFAULT_OPTIONS.SLIPPAGE_BPS

    Returns Promise<string>

  • Parameters

    • to: PublicKey
    • amount: number
    • Optionalmint: PublicKey

    Returns Promise<string>

  • Parameters

    • marketId: PublicKey

    Returns Promise<string>

+
  • Parameters

    Returns SolanaAgentKit

  • Properties

    config: Config

    Configuration object

    +
    connection: Connection

    Solana RPC connection

    +
    wallet: Keypair

    Wallet keypair for signing transactions

    +
    wallet_address: PublicKey

    Public key of the wallet

    +

    Methods

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Returns Promise<{ signature: string; size: number }>

    • Parameters

      • args: Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey }, "agent">

      Returns Promise<string>

    • Parameters

      • args: Omit<{ agent: SolanaAgentKit; price: number; tradeMint: PublicKey }, "agent">

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionOpts: CreateCollectionOptions

      Returns Promise<string>

    • Parameters

      • optionsWithBase58: StoreInitOptions
      • collectionAccount: string
      • createItemOptions: CreateSingleOptions
      • isMainnet: boolean

      Returns Promise<string>

    • Parameters

      • depositAmount: number
      • depositSymbol: string

      Returns Promise<
          | { account: PublicKey; message?: undefined; txSignature: string }
          | { account: PublicKey; message: string; txSignature?: undefined },
      >

    • Parameters

      • params: {
            hurdleRate?: number;
            managementFee: number;
            marketName: `${string}-${string}`;
            maxTokens: number;
            minDepositAmount: number;
            name: string;
            permissioned?: boolean;
            profitShare: number;
            redeemPeriod: number;
        }

      Returns Promise<string>

    • Parameters

      • title: string
      • content: string
      • requirements: string
      • tags: string[]
      • tokenMintAddress: string
      • tokenAmount: number
      • Optionalpayer: string

      Returns Promise<GibworkCreateTaskReponse>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • creator: PublicKey

      Returns Promise<string>

    • Parameters

      • amount: number
      • OptionalsplmintAddress: PublicKey

      Returns Promise<{ signature: string; url: string }>

    • Parameters

      • webhookID: string

      Returns Promise<any>

    • Parameters

      • name: string
      • uri: string
      • symbol: string
      • decimals: number = DEFAULT_OPTIONS.TOKEN_DECIMALS
      • OptionalinitialSupply: number

      Returns Promise<{ mint: PublicKey }>

    • Parameters

      • amount: number
      • vault: string

      Returns Promise<string>

    • Parameters

      • amount: number
      • symbol: string
      • OptionalisRepayment: boolean

      Returns Promise<TxSigAndSlot>

    • Parameters

      • amount: number
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • name: string

      Returns Promise<PublicKey>

    • Returns Promise<{ account: PublicKey; hasAccount: boolean }>

    • Returns Promise<
          {
              authority: PublicKey;
              cumulativePerpFunding: BN;
              cumulativeSpotFees: BN;
              delegate: PublicKey;
              hasOpenAuction: boolean;
              hasOpenOrder: boolean;
              idle: boolean;
              isMarginTradingEnabled: boolean;
              lastActiveSlot: number;
              lastAddPerpLpSharesTs: BN;
              lastFuelBonusUpdateTs: number;
              liquidationMarginFreed: BN;
              marginMode: MarginMode;
              maxMarginRatio: number;
              name: number[];
              nextLiquidationId: number;
              nextOrderId: number;
              openAuctions: number;
              openOrders: number;
              orders: Order[];
              perpPositions: {
                  baseAssetAmount: number;
                  lastBaseAssetAmountPerLp: BN;
                  lastCumulativeFundingRate: BN;
                  lastQuoteAssetAmountPerLp: BN;
                  lpShares: BN;
                  marketIndex: number;
                  openAsks: BN;
                  openBids: BN;
                  openOrders: number;
                  perLpBase: number;
                  quoteAssetAmount: BN;
                  quoteBreakEvenAmount: BN;
                  quoteEntryAmount: BN;
                  remainderBaseAssetAmount: number;
                  settledPnl: number;
              }[];
              poolId: number;
              settledPerpPnl: string;
              spotPositions: {
                  balanceType: SpotBalanceType;
                  cumulativeDeposits: number;
                  marketIndex: number;
                  openAsks: BN;
                  openBids: BN;
                  openOrders: number;
                  scaledBalance: number;
                  symbol: undefined
                  | string;
              }[];
              status: number;
              subAccountId: number;
              totalDeposits: string;
              totalSocialLoss: BN;
              totalWithdraws: string;
          },
      >

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • mint: string

      Returns Promise<string>

    • Opens a new trading position on Flash.Trade

      +

      Parameters

      • params: FlashTradeParams

        Flash trade parameters including market, side, collateral, leverage, and pool name

        +

      Returns Promise<string>

      Transaction signature

      +
    • Parameters

      • owner: PublicKey
      • limit: number

      Returns Promise<any>

    • Parameters

      • Optionaltoken_address: PublicKey

      Returns Promise<number>

    • Parameters

      • walletAddress: PublicKey
      • OptionaltokenAddress: PublicKey

      Returns Promise<number>

    • Parameters

      • vaultName: string

      Returns Promise<
          {
              address: string;
              balance: string;
              delegate: string;
              hurdleRate: number;
              managementFee: number;
              marketName: string;
              maxTokens: number;
              minDepositAmount: number;
              name: string;
              permissioned: boolean;
              profitShare: number;
              redeemPeriod: number;
          },
      >

    • Parameters

      • owner: PublicKey

      Returns Promise<null | string>

    • Parameters

      • owner: PublicKey

      Returns Promise<string[]>

    • Parameters

      • tld: string

      Returns Promise<string[]>

    • Parameters

      • account: PublicKey

      Returns Promise<string>

    • Parameters

      • priceFeedID: string

      Returns Promise<string>

    • Parameters

      • tokenSymbol: string

      Returns Promise<string>

    • Parameters

      • transactionId: string

      Returns Promise<any>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey
      • quantity: number
      • side: string
      • price: number

      Returns Promise<string>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey

      Returns Promise<string[]>

    • Parameters

      • collectionMint: PublicKey
      • metadata: {
            creators?: { address: string; share: number }[];
            name: string;
            sellerFeeBasisPoints?: number;
            uri: string;
        }
      • Optionalrecipient: PublicKey

      Returns Promise<MintCollectionNFTResponse>

    • Parameters

      • baseMint: PublicKey
      • quoteMint: PublicKey
      • lotSize: number = 1
      • tickSize: number = 0.01

      Returns Promise<string[]>

    • Parameters

      • args: Omit<
            {
                agent: SolanaAgentKit;
                collateralAmount: number;
                collateralMint?: PublicKey;
                leverage?: number;
                price: number;
                slippage?: number;
                tradeMint?: PublicKey;
            },
            "agent",
        >

      Returns Promise<string>

    • Parameters

      • args: Omit<
            {
                agent: SolanaAgentKit;
                collateralAmount: number;
                collateralMint?: PublicKey;
                leverage?: number;
                price: number;
                slippage?: number;
                tradeMint?: PublicKey;
            },
            "agent",
        >

      Returns Promise<string>

    • Parameters

      • positionMintAddress: PublicKey

      Returns Promise<string>

    • Parameters

      • mintDeploy: PublicKey
      • mintPair: PublicKey
      • initialPrice: Decimal
      • feeTier: 1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

      Returns Promise<string>

    • Parameters

      • depositTokenAmount: number
      • depositTokenMint: PublicKey
      • otherTokenMint: PublicKey
      • initialPrice: Decimal
      • maxPrice: Decimal
      • feeTier: 1 | 2 | 4 | 5 | 16 | 30 | 65 | 100 | 200

      Returns Promise<string>

    • Parameters

      • whirlpoolAddress: PublicKey
      • priceOffsetBps: number
      • inputTokenMint: PublicKey
      • inputAmount: Decimal

      Returns Promise<string>

    • Parameters

      • whirlpoolAddress: PublicKey
      • distanceFromCurrentPriceBps: number
      • widthBps: number
      • inputTokenMint: PublicKey
      • inputAmount: Decimal

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey
      • baseAmount: BN
      • quoteAmount: BN
      • startTime: BN

      Returns Promise<string>

    • Parameters

      • mint1: PublicKey
      • mint2: PublicKey
      • configId: PublicKey
      • initialPrice: Decimal
      • startTime: BN

      Returns Promise<string>

    • Parameters

      • mint1: PublicKey
      • mint2: PublicKey
      • configId: PublicKey
      • mintAAmount: BN
      • mintBAmount: BN
      • startTime: BN

      Returns Promise<string>

    • Parameters

      • name: string
      • OptionalspaceKB: number

      Returns Promise<string>

    • Parameters

      • OptionaltransactionIndex: number | bigint

      Returns Promise<string>

    • Parameters

      • amount: number
      • vault: string

      Returns Promise<string>

    • Parameters

      • domain: string

      Returns Promise<undefined | PublicKey>

    • Parameters

      • domain: string

      Returns Promise<PublicKey>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • amount: number
      • choice: "rock" | "paper" | "scissors"

      Returns Promise<string>

    • Parameters

      • mintAddress: string
      • amount: number
      • decimals: number
      • recipients: string[]
      • priorityFeeInLamports: number
      • shouldLog: boolean

      Returns Promise<string[]>

    • Parameters

      • priorityLevel: string
      • amount: number
      • to: PublicKey
      • OptionalsplmintAddress: PublicKey

      Returns Promise<{ fee: number; transactionId: string }>

    • Parameters

      • amount: number

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey

      Returns Promise<string>

    • Parameters

      • nftMint: PublicKey
      • price: number

      Returns Promise<string>

    • Parameters

      • outputMint: PublicKey
      • inputAmount: number
      • OptionalinputMint: PublicKey
      • slippageBps: number = DEFAULT_OPTIONS.SLIPPAGE_BPS

      Returns Promise<string>

    • Parameters

      • vault: string
      • amount: number
      • symbol: string
      • action: "long" | "short"
      • type: "market" | "limit"
      • Optionalprice: number

      Returns Promise<TxSigAndSlot>

    • Parameters

      • amount: number
      • symbol: string
      • action: "long" | "short"
      • type: "market" | "limit"
      • Optionalprice: number

      Returns Promise<string>

    • Parameters

      • to: PublicKey
      • amount: number
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • amount: number
      • to: PublicKey
      • vaultIndex: number = 0
      • Optionalmint: PublicKey

      Returns Promise<string>

    • Parameters

      • vaultAddress: string
      • params: {
            hurdleRate?: number;
            managementFee: number;
            marketName: `${string}-${string}`;
            maxTokens: number;
            minDepositAmount: number;
            name: string;
            permissioned?: boolean;
            profitShare: number;
            redeemPeriod: number;
        }

      Returns Promise<string>

    • Parameters

      • vaultAddress: string
      • delegate: string

      Returns Promise<string>

    • Parameters

      • marketId: PublicKey

      Returns Promise<string>

    • Parameters

      • amount: number
      • symbol: string
      • OptionalisBorrow: boolean

      Returns Promise<TxSigAndSlot>

    • Parameters

      • vault: string

      Returns Promise<string>

    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index 6670a6b..af2ba46 100644 --- a/docs/functions/createSolanaTools.html +++ b/docs/functions/createSolanaTools.html @@ -1 +1 @@ -createSolanaTools | solana-agent-kit

    Function createSolanaTools

    • Parameters

      Returns (
          | SolanaBalanceTool
          | SolanaBalanceOtherTool
          | SolanaTransferTool
          | SolanaDeployTokenTool
          | SolanaDeployCollectionTool
          | SolanaMintNFTTool
          | SolanaPerpCloseTradeTool
          | SolanaPerpOpenTradeTool
          | SolanaTradeTool
          | SolanaLimitOrderTool
          | SolanaBatchOrderTool
          | SolanaCancelAllOrdersTool
          | SolanaWithdrawAllTool
          | SolanaRequestFundsTool
          | SolanaRegisterDomainTool
          | SolanaResolveDomainTool
          | SolanaGetDomainTool
          | SolanaGetWalletAddressTool
          | SolanaFlashOpenTrade
          | SolanaFlashCloseTrade
          | SolanaPumpfunTokenLaunchTool
          | SolanaCreateImageTool
          | SolanaLendAssetTool
          | SolanaTPSCalculatorTool
          | SolanaStakeTool
          | SolanaRestakeTool
          | SolanaFetchPriceTool
          | SolanaTokenDataTool
          | SolanaTokenDataByTickerTool
          | SolanaCompressedAirdropTool
          | SolanaClosePosition
          | SolanaOrcaCreateCLMM
          | SolanaOrcaCreateSingleSideLiquidityPool
          | SolanaOrcaFetchPositions
          | SolanaOrcaOpenCenteredPosition
          | SolanaOrcaOpenSingleSidedPosition
          | SolanaRaydiumCreateAmmV4
          | SolanaRaydiumCreateClmm
          | SolanaRaydiumCreateCpmm
          | SolanaOpenbookCreateMarket
          | SolanaManifestCreateMarket
          | SolanaPythFetchPrice
          | SolanaResolveAllDomainsTool
          | SolanaGetOwnedDomains
          | SolanaGetOwnedTldDomains
          | SolanaGetAllTlds
          | SolanaGetMainDomain
          | SolanaCreateGibworkTask
          | SolanaRockPaperScissorsTool
          | SolanaTipLinkTool
          | SolanaListNFTForSaleTool
          | SolanaCancelNFTListingTool
          | SolanaFetchTokenReportSummaryTool
          | SolanaFetchTokenDetailedReportTool
      )[]

    +createSolanaTools | solana-agent-kit

    Function createSolanaTools

    • Parameters

      Returns (
          | SolanaPerpOpenTradeTool
          | SolanaPerpCloseTradeTool
          | SolanaResolveAllDomainsTool
          | SolanaGetOwnedDomains
          | SolanaGetOwnedTldDomains
          | SolanaGetAllTlds
          | SolanaTokenDataByTickerTool
          | SolanaFlashOpenTrade
          | SolanaFlashCloseTrade
          | SolanaCreateGibworkTask
          | SolanaFetchPriceTool
          | SolanaTokenDataTool
          | SolanaTradeTool
          | SolanaStakeTool
          | SolanaLendAssetTool
          | SolanaManifestCreateMarket
          | SolanaBatchOrderTool
          | SolanaCancelAllOrdersTool
          | SolanaLimitOrderTool
          | SolanaWithdrawAllTool
          | SolanaTPSCalculatorTool
          | SolanaRequestFundsTool
          | SolanaBalanceTool
          | SolanaBalanceOtherTool
          | SolanaCloseEmptyTokenAccounts
          | SolanaTransferTool
          | SolanaCreateImageTool
          | SolanaGetWalletAddressTool
          | SolanaDeployCollectionTool
          | SolanaMintNFTTool
          | SolanaDeployTokenTool
          | SolanaOpenbookCreateMarket
          | SolanaOrcaCreateCLMM
          | SolanaOrcaCreateSingleSideLiquidityPool
          | SolanaClosePosition
          | SolanaOrcaFetchPositions
          | SolanaOrcaOpenCenteredPosition
          | SolanaOrcaOpenSingleSidedPosition
          | SolanaPumpfunTokenLaunchTool
          | SolanaPythFetchPrice
          | SolanaRaydiumCreateAmmV4
          | SolanaRaydiumCreateClmm
          | SolanaRaydiumCreateCpmm
          | SolanaFetchTokenReportSummaryTool
          | SolanaFetchTokenDetailedReportTool
          | SolanaRockPaperScissorsTool
          | SolanaRestakeTool
          | SolanaListNFTForSaleTool
          | SolanaCancelNFTListingTool
          | Solana3LandCreateSingle
          | Solana3LandCreateCollection
          | SolanaTipLinkTool
          | SolanaRegisterDomainTool
          | SolanaResolveDomainTool
          | SolanaGetDomainTool
          | SolanaGetMainDomain
          | SolanaCompressedAirdropTool
          | SolanaApproveProposal2by2Multisig
          | SolanaCreate2by2Multisig
          | SolanaCreateProposal2by2Multisig
          | SolanaDepositTo2by2Multisig
          | SolanaExecuteProposal2by2Multisig
          | SolanaRejectProposal2by2Multisig
          | SolanaTransferFrom2by2Multisig
          | SolanaHeliusWebhookTool
          | SolanaDeleteHeliusWebhookTool
          | SolanaGetAllAssetsByOwner
          | SolanaGetHeliusWebhookTool
          | SolanaParseTransactionHeliusTool
          | SolanaSendTransactionWithPriorityFee
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index 5f38ba3..73f2928 100644 --- a/docs/functions/createVercelAITools.html +++ b/docs/functions/createVercelAITools.html @@ -1 +1 @@ -createVercelAITools | solana-agent-kit

    Function createVercelAITools

    +createVercelAITools | solana-agent-kit

    Function createVercelAITools

    diff --git a/docs/functions/executeAction.html b/docs/functions/executeAction.html index 63adb9c..91163d4 100644 --- a/docs/functions/executeAction.html +++ b/docs/functions/executeAction.html @@ -1,2 +1,2 @@ executeAction | solana-agent-kit

    Function executeAction

    • Execute an action with the given input

      -

      Parameters

      Returns Promise<Record<string, any>>

    +

    Parameters

    Returns Promise<Record<string, any>>

    diff --git a/docs/functions/findAction.html b/docs/functions/findAction.html index c24b348..479f85c 100644 --- a/docs/functions/findAction.html +++ b/docs/functions/findAction.html @@ -1,2 +1,2 @@ findAction | solana-agent-kit

    Function findAction

    • Find an action by its name or one of its similes

      -

      Parameters

      • query: string

      Returns Action | undefined

    +

    Parameters

    Returns Action | undefined

    diff --git a/docs/functions/getActionExamples.html b/docs/functions/getActionExamples.html index 76fc9f6..48d9e28 100644 --- a/docs/functions/getActionExamples.html +++ b/docs/functions/getActionExamples.html @@ -1,2 +1,2 @@ getActionExamples | solana-agent-kit

    Function getActionExamples

    • Get examples for an action

      -

      Parameters

      • action: Action

      Returns string

    +

    Parameters

    Returns string

    diff --git a/docs/index.html b/docs/index.html index 4496ee0..97f6b6b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -31,6 +31,14 @@
  • +

    NFTs on 3.Land

    + +
  • +
  • NFT Management via Metaplex

  • @@ -109,6 +118,7 @@
  • +

    You can view the full documentation of the kit at docs.solanaagentkit.xyz

    npm install solana-agent-kit
     
    @@ -118,6 +128,13 @@
    const result = await agent.deployToken(
    "my ai token", // name
    "uri", // uri
    "token", // symbol
    9, // decimals
    1000000 // initial supply
    );

    console.log("Token Mint Address:", result.mint.toString());
    +
    const optionsWithBase58: StoreInitOptions = {
    privateKey: "",
    isMainnet: true, // if false, collection will be created on devnet 3.land (dev.3.land)
    };

    const collectionOpts: CreateCollectionOptions = {
    collectionName: "",
    collectionSymbol: "",
    collectionDescription: "",
    mainImageUrl: ""
    };

    const result = await agent.create3LandCollection(
    optionsWithBase58,
    collectionOpts
    ); +
    + +

    When creating an NFT using 3Land's tool, it automatically goes for sale on 3.land website

    +
    const optionsWithBase58: StoreInitOptions = {
    privateKey: "",
    isMainnet: true, // if false, listing will be on devnet 3.land (dev.3.land)
    };
    const collectionAccount = ""; //hash for the collection
    const createItemOptions: CreateSingleOptions = {
    itemName: "",
    sellerFee: 500, //5%
    itemAmount: 100, //total items to be created
    itemSymbol: "",
    itemDescription: "",
    traits: [
    { trait_type: "", value: "" },
    ],
    price: 0, //100000000 == 0.1 sol, can be set to 0 for a free mint
    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
    );
    +
    +
    const collection = await agent.deployCollection({
    name: "My NFT Collection",
    uri: "https://arweave.net/metadata.json",
    royaltyBasisPoints: 500, // 5%
    creators: [
    {
    address: "creator-wallet-address",
    percentage: 100,
    },
    ],
    });
    @@ -145,6 +162,73 @@
    import { PublicKey } from "@solana/web3.js";

    const signature = await agent.closePerpTradeLong({
    price: 200, // $200 SOL price
    tradeMint: new PublicKey("J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn"), // jitoSOL
    });
    +

    const { signature } = await agent.closeEmptyTokenAccounts(); +
    + +

    Create a drift account with an initial token deposit.

    +
    const result = await agent.createDriftUserAccount()
    +
    + +

    Create a drift vault.

    +
    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 tokens into a drift vault.

    +
    const signature = await agent.depositIntoDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
    +
    + +

    Deposit tokens into your drift account.

    +
    const {txSig} = await agent.depositToDriftUserAccount(100, "USDC")
    +
    + +

    Derive a drift vault address.

    +
    const vaultPublicKey = await agent.deriveDriftVaultAddress("my-drift-vault")
    +
    + +

    Check if agent has a drift account.

    +
    const {hasAccount, account} = await agent.doesUserHaveDriftAccount()
    +
    + +

    Get drift account information.

    +
    const accountInfo = await agent.driftUserAccountInfo()
    +
    + +

    Request withdrawal from drift vault.

    +
    const signature = await agent.requestWithdrawalFromDriftVault(100, "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
    +
    + +

    Open a perpertual trade using a drift vault that is delegated to you.

    +
    const signature = await agent.tradeUsingDelegatedDriftVault({
    vault: "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU",
    amount: 500,
    symbol: "SOL",
    action: "long",
    type: "limit",
    price: 180 // Please long limit order at $180/SOL
    }) +
    + +

    Open a perpertual trade using your drift account.

    +
    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.

    +
    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 tokens from your drift account.

    +
    const {txSig} = await agent.withdrawFromDriftAccount(100, "USDC")
    +
    + +

    Borrow tokens from drift.

    +
    const {txSig} = await agent.withdrawFromDriftAccount(1, "SOL", true)
    +
    + +

    Repay a loan from drift.

    +
    const {txSig} = await agent.depositToDriftUserAccount(1, "SOL", true)
    +
    + +

    Withdraw tokens from a drift vault after the redemption period has elapsed.

    +
    const signature = await agent.withdrawFromDriftVault( "41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU")
    +
    + +

    Update the address a drift vault is delegated to.

    +
    const signature = await agent.updateDriftVaultDelegate("41Y8C4oxk4zgJT1KXyQr35UhZcfsp5mP86Z2G7UUzojU", "new-address")
    +
    +

    The repository includes an advanced example of building a multi-agent system using LangGraph and Solana Agent Kit. Located in examples/agent-kit-langgraph, this example demonstrates: