diff --git a/.env.example b/.env.example index e8004fdf..52fdf995 100644 --- a/.env.example +++ b/.env.example @@ -2,4 +2,5 @@ OPENAI_API_KEY= RPC_URL= SOLANA_PRIVATE_KEY= JUPITER_REFERRAL_ACCOUNT= -JUPITER_FEE_BPS= \ No newline at end of file +JUPITER_FEE_BPS= +FLASH_PRIVILEGE= referral | nft | none \ No newline at end of file diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js index fb85f0ad..88636f05 100644 --- a/docs/assets/hierarchy.js +++ b/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg==" \ No newline at end of file +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 94a19edf..2f5fc3c7 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 = "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 diff --git a/docs/assets/search.js b/docs/assets/search.js index 919304b5..940ddfaf 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "eJy1nVtz4zbShv+LfOtK1DzoMHcaW0688dheW5NUypVi0RJkc02RXJKaib+p/PevAJJSA2jSTUl7ldQY3WgCD079guKPQZ5+Lwafnn4M3qJkNfgEzuR8kIQbMfg0eEzjMAlnLyIpf4vKwflgm8eDT4NlHBaFKH7W//zTa7mJB+fNXwefBoN/zhuvPjg7r8s0Kcp8uyzTnOPyTC+P3J8PsjAXSWlHuq8Yho6Ha07EsozShFvxvvgx9X4P41iw2u9sV/T4+oJwtcpFUfSoF5kc2c7r6IXbxlXRnvU5Q2/PaS7+uxVFeRVul6K82iYr3jPXZmtltq7NjoljJbI4fV+kb4IHWFW+rMsfX/NFGsc9+K6MltjomBheRPk5jMNkKVi1v4jyeVf8NPXela+CN6fsK09rm2Mi2ERJeXu1YNUsyybrA0a4VmOZh0mxZj4sKnzcKHuJilLkl+kmjHiENSarxuS4+os0/iYe07hXBMqoSOOTxPAiyvs82oT5e48YXkSZVUYniaHMwxVviDUlj6ktjjZReZevmKyp4mld/Jh6n8Ny+cqvVxU/Rb1LOSnEszhWdfMWksomjOO0sTkmgu9R+brKw++zOOYt3XX5MI6PrDnNRHIv8mwhublJE94SLq0ykWeKtriyOlkUj69pzts5aWEUtdlRJMRpIQ4IRNn9DyNhd4weyAl6JhbJalYUouQNC1k8bIofOesu7h+5c22ZnaI+uSm7DMvw8/usxzZaVi8tV2EZPr8fvJvuiGYRLd/4mxwUTNkYHhPLWpTLVxXNfR4xN3rKRgWS1TZHMRhuk+Xr/XaTXW0T/la7Msu2m2y9TU6x4y7K8I33/E3JI/c+7Pr2ZY96PpGsLtJNJgEWq1mUr/I04z2vSFbLnWW4szxqTciX4YWaBdMiYh9wpFU1Ce6tjo4iF2EpLm6+fOGHoEyW8WZzsvofo+QlFo/RSqxuov9uo1VUvt+nKW/DsI+pUG4K6SZu3GSVm2PjvJKjvukt3uQpzdRkkSGzY+O4y0RyIZJS5GLVhPNHVL7umo0dmtxgLGtPTYRy7xUjT6eIFvVtb9pljKhTT8R9fYiaxfXJi5teUVZhXB+9TrAO3n1PxKpnGC+iTKXZyeOog7hK88XNZa9Q6jjWaV7Gq+Oj2TfI4uaS3Sj79ijjozNfVRQP9XH/kD4K4zjfmZ+yr76EUbIPp9+xXZbdx3KaLEb4voq2m2oan202v3u8wVSZVdN2uNl8804Zx0W1NvUM4wQrmh5FdlAU2fHraiaS5zR9q8L4EuZvzGx9Y1hFsmkMj8olhkm0FkXZO5bG8ISxyGzXe/mqtvpXQqyu2dNc9l6+qt3+WohVdII5bhdH7wiOPXur5vwlev6e5m+LsHjjHb2V1UtlVVZWR42TdPl2H2Yif1xGRZEy81LSKpNWxd7q+LZYRFkcJX3aodxZHJX3FEmR5jdRwc61VxZxVJwi4658XahMn4whYiZhKrsqQxjv7E5zBn8QWZqXj9uNzC33PIvnyrbY2Z4moktRhlEsVlVkPUNa1cZ5Y3xUTHFYvMrt9IKdLlcmcko/Rd5cOVNH1p4BqAPrgRGMPGOsViUXaRrvZ4z1NlFyX/GzVaZTw7ec/y5ymSq/7navleqswN3fEZhdLK7vbvcpv29hHoXPsSh+rv/S6UgTo/+Y3dzMF8Hs8vJh/vgYVPYfOD4LgvI9E7ooHoTdKmnjoLJtC+dyfn9z92ewuPttftsrmEqtDdRIOU0on2c3s9uLea8oatX0NAEsHma3j1fzh14RNGrmSbvj4u7mZq4MDumTvYR+mqC+XN8ugturRa9YpLAcJOvyZF1z2Y8MNWWdpvKH+b+/zh8XwdXX28t+I7a+0hGo2xynCubx7ub3eXB592V23Q+POgMSVAfH04Tzy3xRTx6Xs8WsVzgvoqynD6kInDCc+36dpOLITtQ9V/PFxa/B/cN1z4lMbTsCdUI4TSCPi9lv8+CP68Wvwb++3veKReXrA5lLDP6zzU4ezuPdzezPnrMsCqlI4/D9VPPtw/yX68fF/OGw4VTlh046nm7mt5fB7PFx3m+2ldpmoMTN04Rx8TCfLebBL9ef/7h7+C1YzB5/6xVPtdcK6hNnII+cp53+Hu9ujpkCizQ+abfd/7n4NTh07MvcQHDyCUBOhXd/3M4v63Z6DK7uHoLFzWXvyVElievmKoJ1mgdlvDpdkPcP119mD38e0p0yuvou08lXtdnNza7lFjc9F34ZWBjHu0aTOe1TdysO8LAuxRGectq4/jL7pd8QqOeLaBO+nBD/iifUTAciVoGFGut/wVqzFB3ZszLMvXJx+i5+mP15ef31S1B39cX9ly/9ZuAqWR7UPS7T5f+TwGZfvgS/e8eEFm42wTfvpAPj7uFiFjxe3/5yMw8ery/nl8Efv14/3Nzf3d0cMlxkIi+o9NVACazB99coj6VkfqLdyOzrrVzSvn65v/p6e0CWoLrnEtQXXU6ZLbi6mT3+Gtzdz2+D/odDldkKZG4tOOE5sQrp4ubucX5wTCrddmRQjj/ag6e/+xDJ+wLrcCmKn6u/8BNXsqln18Hs/jr4bf7nBx6VFBVGQZhFwZtoT+jW4bVU+a+v99dyc/4wv5o/PMzkGLm4+3q7+Kjy/2yzSG7Mc7EWeR7KwbBMt0l7DpcXxtV8HnxGF/8+qH0tRPDccfnPqlTrNznC0RtJuK7qT/yeM1+8afF19tH9wCamlmoymVlNyvBFfFiTVpRbmY51k+K6y/QbPVqnGIX4Tab+w3Z5Vhdv62cz1pZKt3nUo86q9JFV5ul7GJfvn8MiKu7TKCl7NORZbfwsjbPG+MiAllW39wkDmfSvnIbqUiVSNyIpu+PYl+Ojtc/Omjd5OVWc7c0/HK7U47QEVUQvSVhu8w+gN4PBZgcFgZv/S5SU++K3V4sHUWRpUpAxtRbmd4TMUPd3fVab0Y/b/gxtQYgylOnPQwLZmx4eDO4AfIu5Y1olivEbvfwelaUg17U2v2d7G/o5qbjbqhexeMnDTb/690ZHB/BdPBdRSSLdWv/e5ujqoyQqozDe3TZ9vLvpFUptv7tjWnRczu0RVhFHWRa+iM9ZL+LOGruubVaPMLI8SvOofL8S/TqosVuLQzvJHIbrbXKjjk5dcyBZkD8UO+f8dt+MSZ9+gp7TcEcEnVNwv8rrOfQrvfXqiqG27NqG9QpF5Dm93+8IorE5rHoM3c02TmfVKam6NFN0kddeusdKkJZh/HsYbw+p4UxZf6ut6cfveKTW2VEmzYpyHuaJWB0SVuNBNB5OFVouwriMNmKWvR8SV2MeZu1n8f5BFaKUF8jIOfujiJDtEeFghP9Vnbt3L6dRUZllTnKIJp1+eJq2wu15FKVr7TyJcqss3jfP6OWdDyvdlT+u2pVYRpsw7tHGyOK4qsuQppiuti59XJVx+pJ+fbjm1yoNulYbdjOHUfwefEvjbR+wDKvjQljnQvyfCMJt+ao2TvwwCMvjQlH3lA4IxLI7LoxM5JswEUkZrORpI6SPCHQopO1x4Yi/5UXhthMgHYZm07t6PJNXL+tJKbxrE2KX6rH3LcNySz5bi9eznQX9ZETIrfueN5Fck7uLtrqVScdrC/zK1f2C6+Tr4+VFnwCUWZRsi9XyBEFsRFG0ZInbAtibHFv5Ml31qrkuf0C12pnuvXzlUU2XPAXZHZ4/orsl/C7CH1v3EF1xKNMPthP9gsmIt4WYwXDeGDogmIPCOFEAHUOvK4SPhl+/INqGYFcEncPww+rxUKzfnapeaJNvUMmXQ1oGY1vZUwzHTt8fDcjWh2jd3xZv9JrTHYa066C/bxidKacPGuTDrBMjGMzBTGXF53+Hmywm49EK8Hs8SrItmdCy/Z01ZVsEfi3ClurSbcmvb1f4iArF35l8QUf7HYDuWnWLflU7w+kY/P2bOL+GySpG+oG6HPxz/a+dnWT3fXv4xwvFyE/3mbwOpXXAbKJYkPMHrmFf7JBKVqJY5lHGaJIzveghlYmqiz98JFTuoIZbvooNmQLS2q0pdUgVrwaKLXXsizErwaCqk9LFq1i+UdXs/9on7ap+LSltU8EMn2f1LyWlnQIYCrOr2oW8p8Sts6wKH1phHhVvJGRmZU3BQysqlim9npkVNQV7VGQeIdCr79eloFVMu1iPtYvcIrS5PPtgX2xG25ZZLcs8et6W9JzQWrlmdkgQZON+2Kz9GvQ5SvC70J0Oz3aFP3iarsbMwrygpQuiwl3hfhXihlM/S3kf5uGG7D30Z36j/XcbJmVLMs50eIYK00+BI2xdZekDiVVZXfDgilrPf1ZN3Yc+uircL593v1d6H8rLE+TKbhXqIx7TTUa77G44O9YuyfDfHXS01K7sPgSFHYbqm4cwoc/RLTEoo7w2OjKAIguX+AcfGO2/sziy6mS7eRb53dr4OdqPI6gM0/UHv0nLDiRKVtG3aLU9CIi98VFUaDlreX1b/bZC+2xolum5a2O7POv+RUkr1J5jnK6zc4hzq5S3G8NS5GH8taBT5GTde7Nt0ZEmZwYRi28ib0tQk/Uji95VWxDtf6XjA5LMgqfCifTLYcqK/BCw6No/pqujcvRTIesoWRmn//0vhOz/2NmUI3yaFcttKVo9an/nOpW/XofTIdSPmVhlKOd/nctpUvw9+PRj8E3kUpsbfBo4P7k/TQfng3Uk5C/tfXpqkhjLdFNfeV6ly63637/qYr+Lpbpi/empKv3zcHD+NDz3pj85Y/evv86fGmP1B/UPjY/9vyhDGJw/AWUIliFohs7g/MmhDB3L0NEM3cH5k0sZupahqxl6g/MnjzL0LENPM/QH50/+uef9BCNPM/QtQ18zHA3On0ZUjSPLcKQZjgfnT2PKcGwZjjXDyeD8aUIZTizDiWY4HZw/TSnDqWU41QGQPADJDtjwgEGPwofmhwBIJwgkF0AyBDZEoFMEkg0gOQIbJNBJAskHkCyBDRPoNIFkBHzS2AYKdKJAcgIkU2BDBTpVIFkBkiuwwQKdLJC8AMkW2HCBThdIZoDkC2zAQCfMkcw4JGGOTZijE+ZIZhySMMcmzDHmKDVJ0bMUMU3phDmSGYckzLEJc3TCHMmMQxLm2IQ5OmGOZMYhCXNswhydMEcy45CEOTZhjk6YI5lxSMIcmzBHJ8yRzDgkYY5NmKMT5khmHJIwxybM0QlzJTMuSZhrE+bqhLmSGZckzLUJc3XCXMmMSxLm2oS5xkqolkJ6LSQWQ50wVzLjkoS5NmGuTpgrmXFJwlybMFcnzJXMuCRhrk2YqxPmSmZckjDXJszVCXMlMy5JmGsT5uqEuZIZlyTMtQlzdcI8yYxHEubZhHk6YZ5kxiMJ82zCPJ0wTzLjkYR5NmGeTpgnmfFIwjybMM/Yb6kNF73jIrZcOmGeZMYjCfNswjydME8y45GEeTZhnk6YJ5nxSMI8mzBPJ8yTzHgkYZ5NmKcT5klmPJIwzybM0wnzJTM+SZhvE+brhPmSGZ8kzLcJ83XCfMmMTxLm24T5OmG+ZMYnCfNtwnydMF8y45OE+TZhvrGrV9t6kjCf2NjrhPmSGZ8kzLcJ83XCfMmMTxLm24T5OmG+ZMYnCfNtwnydMF8y45OE+TZhvk7YSDIzIgkb2YSNdMJGkpkRSdjIJmykEzaSzIxIwkY2YSOdsJFkZkQSNrIJG+mEjSQzI5KwkU3YSCdsJJkZkYSNbMJGxtlRHR7p0yNxfNQJG0lmRiRhI5uwkU7YSDIzIgkb2YSNdMJGkpkRSdjIJmykEzaWzIxJwsY2YWOdsLFkZkwSNrYJG+uEjSUzY5KwsU3YWCdsLJkZk4SNbcLGOmFjycyYJGxsEzbWCRtLZsYkYWObsLFO2FgyMyYJG9uEjY0MhUpR0DkKIkmhEzaWzIxJwsY2YWOdsLFkZkwSNrYJG+uETSQzE5KwiU3YRCdsIpmZkIRNbMImOmETycyEJGxiEzbRCZtIZiYkYRObsIlO2EQyMyEJm9iETXTCJpKZCUnYxCZsohM2kcxMSMImNmETnbCJZGZCEjaxCZsYeTCVCKMzYUQqTCdsIpmZkIRNbMImOmFTycyUJGxqEzbVCZtKZqYkYVObsKlO2FQyMyUJm9qETXXCppKZKUnY1CZsqhM2lcxMScKmNmFTnbCpZGZKEja1CZvqhE0lM1OSsKlN2FQnbDpuS+xObcCmOmBTicyUpHNqAzY1kq0q20rSOSXyrWbCVRFGJ9OGVMrVyLkOVdJ12JKyJdKuQyPvOlSJ1yFQLVf90XRg5F6HKvk6pFO3QyL9OjTyr0OVgB3S6dshkYIdGjnYoUrCDr1zb/jTxDAnkrBDIws7VGnYIZ3EHRKJ2KGRiR2qVOyQTuQOiWTs0MjGDlU6dkgnc4dEQnZoZGSHKiU7pBO6QyIpOzQwrBP/NIdU6t/K/VfJ/yHRB2Ty36CwSv+3iQcEhaYCUEkAUkAgMKZEAFMFqGSAFhGBEgJMJaCSAlqEBEoMMNWASg5oERMoQcBUBCpJoEVQoEQBUxWoZIEWUYESBkxloJIGWoQFShww1AFQCX9oERcIgQAMhQBU0h9ogQEIkQAMlQCcSoiiSSSEAjCUAnDc1pFASAVgaAXgeB0gE3IBGHoBKAkAaKEDCMkADM0AlAwAtNgBhGwAhm4ASgoAWvAAQjoAQzsAJQcALXoAIR+AoR+AkgSAFj6AkBDA0BBAyQJAix9AyAhg6AjgVhzSI4GQEsDQEsCtOKRHAiEngKEngOt2LOyEpACGpgCu17qsEqICGKoCKKEAaCEGCGEBDGUBlFgAtBgDhLgAhroASjAAWpABQmAAQ2EAJRoALcoAITKAoTKAEg6AFmaAEBrAUBpAiQdAizNAiA1gqA2gBASgBRogBAcwFAdQIgLQIg0QogMYqgN4lThPjwRCeABDeQAlJgAt1gAhPoChPoASFMCjZmRCfgBDfwAlKQAt2QAhQYChQYCSFYCWbYCQIcDQIUBJCyClG2IoE1IEGFoEKHkBpHxDOSA4NPQIUBID0BIOEJIEGJoEKJmB7gNClABDlQAlNACtAgEhTIChTIASG4BWgoAQJ8BQJ8CvrolMyCYkBAowFArw/Y5OJEQKMFQK8EcdnUgIFWAoFeBXHNIDiRArwFArwJ+0dyJBoaFXgJIggJa1gJAswNAsYDRs3VoRogUYqgUoIQJoZQwI4QIM5QKUGAG0OgaEeAGGegFKkABaIQNCwABDwQAlSgCtkgEhYoChYsCourBEJkqAEDLAUDJAiRNAq2VAiBlgqBkwGrduKwg5Aww9A5REAbTgBoSkAYamAaOKQno9ImQNMHQNUFIF0MIbENIGGNoGKLkCaPENCHkDDH0Dxk5HJxISBxgaByjZAmgFDwiZAwydA5R0AbSKB4TUAYbWAUq+AFrJA0LuAEPvgHF1eY4eCYTkAYbmAUrGAFrRA0L2AEP3ACVlAK3qASF9gKF9gJIzgFb2gJA/wNA/QEkaQKt7QEggYGggMKlIpFEmZBAwdBBQ0gbQKh8QUggYWggoeQNopQ8IOQQMPQSUxAG02geEJAKGJgJK5gBa8QNCFgFDFwEldcDYO3cnPzmTkeGAINHQRmAy7thaEPIIGPoIKMkDaOkQCIkEDI0ElOzR+ggEiYZOAkr6AFp/BEIqAUMrASV/AK1BAiGXgKGXwLQikR4LhGQChmYC04rElnutBImGbgJKCgFajwRCOgFDOwElhwCtSQIhn4Chn4CSRGBC544ICQUMDQWm4w4OCB0FDCEFptXFYnowEVoKGGIKKH0EaIETCD0FDEHFUQIJ0CKnQygqjqGoOJWiQjeiQygqjqGoOJWiQjeiQygqjqGoOJWiQkutDqGoOIai4lSKCi23OoSi4hiKilMpKrTk6hCaSvNv6qWWbyIvxeq6ernl6WnQfCrlxyCo33iB/WtVPwZyg/jpxz//7N9x+fTjH/Sai/ybrKxyI5rfhMHeAHuDHt4K7Gf/ls+PwcjjeWl+RxRFM8TRDJ3KUibXWA7Ri/PI52iCfE6GLFfm53fRg47Rg46Zzsrlq3o9VItLC6uno6x59xn5G/vYIdNj/WY+djPEbhyWm+qz62EcNy/BIn9T5G7K8yZfeMtEnqmvBcWpfL1379BBpDk80nSHxav66jny6CKPPNSqX+1CT+mhqGQCqALX541O4y1PzIiLW4/Xp8SHNPAIw/0BvNGw97hC3w/BTjHLQ2Yv75ymmTWdSEUbeWR2c/1JqL0bNCL8ymjKG7LLNEmENfYdxAnXTVHm26X64BF6OvRsPD8dXx3du50gv5NejvXPEyKPqF+ZM0qPL7jt65mi3p4yR6Cqp24R2SBavyN/fh9/8hu8SVimaayvbqjnR8yuV/7KKIujRI8NQ+n38PVNflsqDiM7OvS0ox5Pa0A5xBP/sAc/qTHjD8fYEQ8b/VeYkTMXT6wub2rZ/3o2doRHncubmNu/O49aH02oI258yq3+0UDkEW3wmPu7yuM+Tm0QozHcw1n9WvzeD+pV3iSq/aYa3nLi1YLZZPUHIZAXvGpLFZ3lZffeOQ4Hr4hj3opYv/5O7M4nqJkc5sKl/Y4gjgyzz9xV4x+rxvTjNvd4kwT15WaEA6J0zGt+5bD6vZjdDwXjGHFHeLzHVS4Vqiv1LQWxykVm7O9wB/s83PZu698rQpsA5M3p660KrthuNsa2G48JnzdM5Y86UACOMIDMnm79RCdao5HfKbO/275Giryi1XDKWw2VVxWrcqrNnGiOZ55lDW9Z/cskuEF93KC8+UF5lQ9uh4hW2VEPZ63R4WWN24LWtwbwKMTHSI8XYedXwdFKhBCa8BBifvkZAYXad8qP/qMvYaOHQON/whv/3R8mR67R2jHhrbEff8YeuUfLyYQ3vXZ8hx75RcRMeARKv9X2R35qilpdUKxjfqxlRrUrzoyM2QFqOTNj0E3wlMD3GMd1L8kBgj16aDPDXJ0rf/txsXeuOUbtyFxSX0RZp7+0cYWGVU83aflqpL60kwbXm3y2/UNW/9EeFfWyx+4TNXha2g5NrR5vNWkc1t7WaV7GWkbHQydJj3eSfBFlPQTtZwY8WbOfOXsvX619jY8i8/mRNa6azwkgh6j5fHbzVXu5sAyf34n0lYN31+wZEvkso+WbDqODxzJv5yVdZnpceNPFXNmq1EWdJwiLt1zYW2IPb4l93gPvfpcZY4I5GdW5MHmzgeNQ71bAGXCpqrNcEL9LiOdTPCFMedMU+cVO5FPLrzMzz/XP1uOGc3DDMdvL+FYePrRi7YZ5erA+u44mZYwHc2va/g155Be13bRXlLuhpj82jtPltWKsvu4YZNW3HluTJVO0wDHJqTzXjq00h4tYdHlNGotkFchfpyup3RHyx1SfpD/lTp9j8DmEN9fvf74RDzacVWD2bhxtotKWsLSZgOeo+dYbPnHgTI7Lm4LjbZzW4FYH/4JMKWCxCJgLxiZMorUoympm3oT5m9DTCahDfV6H7j4zg6d2/NTepJ6SmRnh/Sey8YyHPQJvLGhfe8UNh+c9Jm3V12txQNgJuPUjMkU78zt0GBg8izJ3ZspdsqZGKFY8mfk/6W2fbU3WJUkf4LM58KY96TlZG+2I3bC8qOLajhsPhGGzAXC9+n+YSrb5W8d4KtB0Xt4RRiZIwigIsyh4E1oXT9HMwpQ9pbPnNH1rG7Z4K+XxZj3psl2HRr3i8HpF82fL0Fhe5MEiVbZK3E6LyMQaKycub8wpf6r9lvFmozlDi4/Lmw72ziodUMmAu+2aVAK1CtCYZqozsoIqpVw/vUakixByeXhLh7KPlkLt4FaN3+9R+boLXKsD7ZOYC1dTB2oTsvMQrUzVq74YYmUIx3gWZuZ9mu8p4Z0wXl2YMmPzHQYcDZ7MJkw3UvlMSnMFHeIHY2a6qU+K4pUF72iY53PrJC1vo6JTWzPHMjN6Ladp+foNcsp8Wvx5S+wLt5zXI676d/5xf+Kwprx5MMsjtaivhbFbw8dA5pxab+OrPT29B8TEMSdWfDigrqcAXk6ZiReZKgm6NTV83Yc7Nt7L1w90NU9LEvE2OEZeJ1Jfj8FJALwFG/Omvp1P2xvePDCvrpCJhDGepJi56Dx8X0XbTVDfXAk3m+CbR5000aCZ8jAyXC+zzYZyjABljqDaceU33Gy+edpWB3WOx1tLNYfm4o+nHuZsofvLDH9ofvR47OQijMtoI8JM73CcEATmcb3JmbcrGngzy8xwNU6JHK12vGU6++9WFGWw3iakkIaXdGYSr3a5DrdLUSq/miqJREmmuyKNv4mOJkRPPeY+deWzSOMOsQk9OvN2au23JcmP1hym2ln7K9KY6GztHijXXRm+aVO2ix6SmS6rv/aGJ1UcCvOGRp4u37IwE3mxjIrCuNiFr6P4zGdL38O4fH8Oi6jI0igpjZtieBUZ8maW5tOG+EnxvmHMm0Hrj9ZhL3iZHDODEclqmW4yqVOIVRjlqzzNtJ5Ew4B5jb0QZRklL3pLYZVC/twFy1FkXFLGoipUArzclza3lau7secDZ8hDDn25Fm+NcGdU6QqZ9GmyP8w7D7sPf+ITCJ7rR7x1o4ijLAtfhJE4B+1ausOMSV0ODV9EUr5F2uEIPTLTVfPZKtw7uIuZGwx75kB7CS4m0kcgz7jBf7YZNZXjm3/McbH3KVvtXeSUX/TAzC1k8/VoPOFi3rwms+U34DEvUzWfZsfLNnbMzHmUoTFu8UwOzDRE821qjD6OhXmHrZQHXPVxU8w9nnGZOXt5oVCmLeQ7HnFUlAa4eFgyJcrKo/RlpDrxu03MlycsAQfwFgGmo2ZS440G5W5ZfZgWLw74EMnczyhX5ike+2HuzfUv1eKg8IMyb8koZwTt+MwATP0ffc4WR4X3u8zrNsaHDPGsiONiXuhS3r6F8dZIBOAFnin1W/f3tAHE7L+Wu484FcbctZR5mBRrQ4XTpJpebqjL52hSZq6x5fdIvo2mzzO4rZntZGpQQ+xjyPPxPYxjPe+PN2A9XATE7RN8l+oAV1Rro0cc8YbKd/FcREbaUhNimS8TysV5lYcyRE2FQCsNZ1/01/kgizIRR4kYfHr6659//h+urOYd"; \ 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 aef96597..ca38fd62 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 @@ -67,14 +67,14 @@
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>

    • Closes an existing trading position on Flash.Trade

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

    • 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

      -
    • 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>

    +
    diff --git a/docs/functions/createSolanaTools.html b/docs/functions/createSolanaTools.html index e96b027a..6670a6b9 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 (
          | 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
      )[]

    diff --git a/docs/functions/createVercelAITools.html b/docs/functions/createVercelAITools.html index a07bdef1..5f38ba31 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 8b452c01..63adb9cc 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 00914126..c24b3482 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 6fb7f3f8..76fc9f6f 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/interfaces/Action.html b/docs/interfaces/Action.html index 6c816ee1..38682fa5 100644 --- a/docs/interfaces/Action.html +++ b/docs/interfaces/Action.html @@ -1,16 +1,16 @@ Action | solana-agent-kit

    Interface Action

    Main Action interface inspired by ELIZA This interface makes it easier to implement actions across different frameworks

    -
    interface Action {
        description: string;
        examples: ActionExample[][];
        handler: Handler;
        name: string;
        schema: ZodType;
        similes: string[];
    }

    Properties

    interface Action {
        description: string;
        examples: ActionExample[][];
        handler: Handler;
        name: string;
        schema: ZodType;
        similes: string[];
    }

    Properties

    description: string

    Detailed description of what the action does

    -
    examples: ActionExample[][]

    Array of example inputs and outputs for the action +

    examples: ActionExample[][]

    Array of example inputs and outputs for the action Each inner array represents a group of related examples

    -
    handler: Handler

    Function that executes the action

    -
    name: string

    Unique name of the action

    -
    schema: ZodType

    Zod schema for input validation

    -
    similes: string[]

    Alternative names/phrases that can trigger this action

    -
    +
    handler: Handler

    Function that executes the action

    +
    name: string

    Unique name of the action

    +
    schema: ZodType

    Zod schema for input validation

    +
    similes: string[]

    Alternative names/phrases that can trigger this action

    +
    diff --git a/docs/interfaces/ActionExample.html b/docs/interfaces/ActionExample.html index 3cbe5732..1ccbff9c 100644 --- a/docs/interfaces/ActionExample.html +++ b/docs/interfaces/ActionExample.html @@ -1,5 +1,5 @@ ActionExample | solana-agent-kit

    Interface ActionExample

    Example of an action with input and output

    -
    interface ActionExample {
        explanation: string;
        input: Record<string, any>;
        output: Record<string, any>;
    }

    Properties

    interface ActionExample {
        explanation: string;
        input: Record<string, any>;
        output: Record<string, any>;
    }

    Properties

    explanation: string
    input: Record<string, any>
    output: Record<string, any>
    +

    Properties

    explanation: string
    input: Record<string, any>
    output: Record<string, any>
    diff --git a/docs/interfaces/BatchOrderPattern.html b/docs/interfaces/BatchOrderPattern.html index 6f75427b..bb59b512 100644 --- a/docs/interfaces/BatchOrderPattern.html +++ b/docs/interfaces/BatchOrderPattern.html @@ -1,7 +1,7 @@ -BatchOrderPattern | solana-agent-kit

    Interface BatchOrderPattern

    interface BatchOrderPattern {
        individualQuantity?: number;
        numberOfOrders?: number;
        priceRange?: { max?: number; min?: number };
        side: string;
        spacing?: { type: "percentage" | "fixed"; value: number };
        totalQuantity?: number;
    }

    Properties

    individualQuantity? +BatchOrderPattern | solana-agent-kit

    Interface BatchOrderPattern

    interface BatchOrderPattern {
        individualQuantity?: number;
        numberOfOrders?: number;
        priceRange?: { max?: number; min?: number };
        side: string;
        spacing?: { type: "percentage" | "fixed"; value: number };
        totalQuantity?: number;
    }

    Properties

    individualQuantity?: number
    numberOfOrders?: number
    priceRange?: { max?: number; min?: number }
    side: string
    spacing?: { type: "percentage" | "fixed"; value: number }
    totalQuantity?: number
    +

    Properties

    individualQuantity?: number
    numberOfOrders?: number
    priceRange?: { max?: number; min?: number }
    side: string
    spacing?: { type: "percentage" | "fixed"; value: number }
    totalQuantity?: number
    diff --git a/docs/interfaces/CollectionDeployment.html b/docs/interfaces/CollectionDeployment.html index 26b3c779..39fd7c64 100644 --- a/docs/interfaces/CollectionDeployment.html +++ b/docs/interfaces/CollectionDeployment.html @@ -1,3 +1,3 @@ -CollectionDeployment | solana-agent-kit

    Interface CollectionDeployment

    interface CollectionDeployment {
        collectionAddress: PublicKey;
        signature: Uint8Array;
    }

    Properties

    collectionAddress +CollectionDeployment | solana-agent-kit

    Interface CollectionDeployment

    interface CollectionDeployment {
        collectionAddress: PublicKey;
        signature: Uint8Array;
    }

    Properties

    collectionAddress: PublicKey
    signature: Uint8Array
    +

    Properties

    collectionAddress: PublicKey
    signature: Uint8Array
    diff --git a/docs/interfaces/CollectionOptions.html b/docs/interfaces/CollectionOptions.html index 573d9747..326ae905 100644 --- a/docs/interfaces/CollectionOptions.html +++ b/docs/interfaces/CollectionOptions.html @@ -1,5 +1,5 @@ -CollectionOptions | solana-agent-kit

    Interface CollectionOptions

    interface CollectionOptions {
        creators?: Creator[];
        name: string;
        royaltyBasisPoints?: number;
        uri: string;
    }

    Properties

    creators? +CollectionOptions | solana-agent-kit

    Interface CollectionOptions

    interface CollectionOptions {
        creators?: Creator[];
        name: string;
        royaltyBasisPoints?: number;
        uri: string;
    }

    Properties

    creators?: Creator[]
    name: string
    royaltyBasisPoints?: number
    uri: string
    +

    Properties

    creators?: Creator[]
    name: string
    royaltyBasisPoints?: number
    uri: string
    diff --git a/docs/interfaces/Config.html b/docs/interfaces/Config.html index e55da042..7ec97b9b 100644 --- a/docs/interfaces/Config.html +++ b/docs/interfaces/Config.html @@ -1,4 +1,5 @@ -Config | solana-agent-kit

    Interface Config

    interface Config {
        JUPITER_FEE_BPS?: number;
        JUPITER_REFERRAL_ACCOUNT?: string;
        OPENAI_API_KEY?: string;
    }

    Properties

    JUPITER_FEE_BPS? +Config | solana-agent-kit

    Interface Config

    interface Config {
        FLASH_PRIVILEGE?: string;
        JUPITER_FEE_BPS?: number;
        JUPITER_REFERRAL_ACCOUNT?: string;
        OPENAI_API_KEY?: string;
    }

    Properties

    JUPITER_FEE_BPS?: number
    JUPITER_REFERRAL_ACCOUNT?: string
    OPENAI_API_KEY?: string
    +

    Properties

    FLASH_PRIVILEGE?: string
    JUPITER_FEE_BPS?: number
    JUPITER_REFERRAL_ACCOUNT?: string
    OPENAI_API_KEY?: string
    diff --git a/docs/interfaces/Creator.html b/docs/interfaces/Creator.html index cefbd9ad..b19a317b 100644 --- a/docs/interfaces/Creator.html +++ b/docs/interfaces/Creator.html @@ -1,3 +1,3 @@ -Creator | solana-agent-kit

    Interface Creator

    interface Creator {
        address: string;
        percentage: number;
    }

    Properties

    address +Creator | solana-agent-kit

    Interface Creator

    interface Creator {
        address: string;
        percentage: number;
    }

    Properties

    Properties

    address: string
    percentage: number
    +

    Properties

    address: string
    percentage: number
    diff --git a/docs/interfaces/FetchPriceResponse.html b/docs/interfaces/FetchPriceResponse.html index 0e5eb815..c7eada59 100644 --- a/docs/interfaces/FetchPriceResponse.html +++ b/docs/interfaces/FetchPriceResponse.html @@ -1,6 +1,6 @@ -FetchPriceResponse | solana-agent-kit

    Interface FetchPriceResponse

    interface FetchPriceResponse {
        code?: string;
        message?: string;
        priceInUSDC?: string;
        status: "success" | "error";
        tokenId?: string;
    }

    Properties

    code? +FetchPriceResponse | solana-agent-kit

    Interface FetchPriceResponse

    interface FetchPriceResponse {
        code?: string;
        message?: string;
        priceInUSDC?: string;
        status: "success" | "error";
        tokenId?: string;
    }

    Properties

    code?: string
    message?: string
    priceInUSDC?: string
    status: "success" | "error"
    tokenId?: string
    +

    Properties

    code?: string
    message?: string
    priceInUSDC?: string
    status: "success" | "error"
    tokenId?: string
    diff --git a/docs/interfaces/FlashCloseTradeParams.html b/docs/interfaces/FlashCloseTradeParams.html index 8df72420..578f8bd9 100644 --- a/docs/interfaces/FlashCloseTradeParams.html +++ b/docs/interfaces/FlashCloseTradeParams.html @@ -1,3 +1,3 @@ -FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

    interface FlashCloseTradeParams {
        side: "long" | "short";
        token: string;
    }

    Properties

    side +FlashCloseTradeParams | solana-agent-kit

    Interface FlashCloseTradeParams

    interface FlashCloseTradeParams {
        side: "long" | "short";
        token: string;
    }

    Properties

    Properties

    side: "long" | "short"
    token: string
    +

    Properties

    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/FlashTradeParams.html b/docs/interfaces/FlashTradeParams.html index c23d316a..d894b97b 100644 --- a/docs/interfaces/FlashTradeParams.html +++ b/docs/interfaces/FlashTradeParams.html @@ -1,5 +1,5 @@ -FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

    interface FlashTradeParams {
        collateralUsd: number;
        leverage: number;
        side: "long" | "short";
        token: string;
    }

    Properties

    collateralUsd +FlashTradeParams | solana-agent-kit

    Interface FlashTradeParams

    interface FlashTradeParams {
        collateralUsd: number;
        leverage: number;
        side: "long" | "short";
        token: string;
    }

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    +

    Properties

    collateralUsd: number
    leverage: number
    side: "long" | "short"
    token: string
    diff --git a/docs/interfaces/GibworkCreateTaskReponse.html b/docs/interfaces/GibworkCreateTaskReponse.html index f2fe654f..dc407409 100644 --- a/docs/interfaces/GibworkCreateTaskReponse.html +++ b/docs/interfaces/GibworkCreateTaskReponse.html @@ -1,4 +1,4 @@ -GibworkCreateTaskReponse | solana-agent-kit

    Interface GibworkCreateTaskReponse

    interface GibworkCreateTaskReponse {
        signature?: string;
        status: "success" | "error";
        taskId?: string;
    }

    Properties

    signature? +GibworkCreateTaskReponse | solana-agent-kit

    Interface GibworkCreateTaskReponse

    interface GibworkCreateTaskReponse {
        signature?: string;
        status: "success" | "error";
        taskId?: string;
    }

    Properties

    signature?: string
    status: "success" | "error"
    taskId?: string
    +

    Properties

    signature?: string
    status: "success" | "error"
    taskId?: string
    diff --git a/docs/interfaces/JupiterTokenData.html b/docs/interfaces/JupiterTokenData.html index eb2c24f0..d813c9b0 100644 --- a/docs/interfaces/JupiterTokenData.html +++ b/docs/interfaces/JupiterTokenData.html @@ -1,4 +1,4 @@ -JupiterTokenData | solana-agent-kit

    Interface JupiterTokenData

    interface JupiterTokenData {
        address: string;
        daily_volume: number;
        decimals: number;
        extensions: { coingeckoId?: string };
        freeze_authority: null | string;
        logoURI: string;
        mint_authority: null | string;
        name: string;
        permanent_delegate: null | string;
        symbol: string;
        tags: string[];
    }

    Properties

    address +JupiterTokenData | solana-agent-kit

    Interface JupiterTokenData

    interface JupiterTokenData {
        address: string;
        daily_volume: number;
        decimals: number;
        extensions: { coingeckoId?: string };
        freeze_authority: null | string;
        logoURI: string;
        mint_authority: null | string;
        name: string;
        permanent_delegate: null | string;
        symbol: string;
        tags: string[];
    }

    Properties

    address: string
    daily_volume: number
    decimals: number
    extensions: { coingeckoId?: string }
    freeze_authority: null | string
    logoURI: string
    mint_authority: null | string
    name: string
    permanent_delegate: null | string
    symbol: string
    tags: string[]
    +

    Properties

    address: string
    daily_volume: number
    decimals: number
    extensions: { coingeckoId?: string }
    freeze_authority: null | string
    logoURI: string
    mint_authority: null | string
    name: string
    permanent_delegate: null | string
    symbol: string
    tags: string[]
    diff --git a/docs/interfaces/LuloAccountDetailsResponse.html b/docs/interfaces/LuloAccountDetailsResponse.html index 17f0aa94..5baf9566 100644 --- a/docs/interfaces/LuloAccountDetailsResponse.html +++ b/docs/interfaces/LuloAccountDetailsResponse.html @@ -1,6 +1,6 @@ LuloAccountDetailsResponse | solana-agent-kit

    Interface LuloAccountDetailsResponse

    Lulo Account Details response format

    -
    interface LuloAccountDetailsResponse {
        interestEarned: number;
        realtimeApy: number;
        settings: {
            allowedProtocols: null | string;
            homebase: null | string;
            minimumRate: string;
            owner: string;
        };
        totalValue: number;
    }

    Properties

    interface LuloAccountDetailsResponse {
        interestEarned: number;
        realtimeApy: number;
        settings: {
            allowedProtocols: null | string;
            homebase: null | string;
            minimumRate: string;
            owner: string;
        };
        totalValue: number;
    }

    Properties

    interestEarned: number
    realtimeApy: number
    settings: {
        allowedProtocols: null | string;
        homebase: null | string;
        minimumRate: string;
        owner: string;
    }
    totalValue: number
    +

    Properties

    interestEarned: number
    realtimeApy: number
    settings: {
        allowedProtocols: null | string;
        homebase: null | string;
        minimumRate: string;
        owner: string;
    }
    totalValue: number
    diff --git a/docs/interfaces/MintCollectionNFTResponse.html b/docs/interfaces/MintCollectionNFTResponse.html index 2039bcf4..b5758869 100644 --- a/docs/interfaces/MintCollectionNFTResponse.html +++ b/docs/interfaces/MintCollectionNFTResponse.html @@ -1,3 +1,3 @@ -MintCollectionNFTResponse | solana-agent-kit

    Interface MintCollectionNFTResponse

    interface MintCollectionNFTResponse {
        metadata: PublicKey;
        mint: PublicKey;
    }

    Properties

    metadata +MintCollectionNFTResponse | solana-agent-kit

    Interface MintCollectionNFTResponse

    interface MintCollectionNFTResponse {
        metadata: PublicKey;
        mint: PublicKey;
    }

    Properties

    Properties

    metadata: PublicKey
    mint: PublicKey
    +

    Properties

    metadata: PublicKey
    mint: PublicKey
    diff --git a/docs/interfaces/OrderParams.html b/docs/interfaces/OrderParams.html index fe3c8110..00df0bd7 100644 --- a/docs/interfaces/OrderParams.html +++ b/docs/interfaces/OrderParams.html @@ -1,4 +1,4 @@ -OrderParams | solana-agent-kit

    Interface OrderParams

    interface OrderParams {
        price: number;
        quantity: number;
        side: string;
    }

    Properties

    price +OrderParams | solana-agent-kit

    Interface OrderParams

    interface OrderParams {
        price: number;
        quantity: number;
        side: string;
    }

    Properties

    Properties

    price: number
    quantity: number
    side: string
    +

    Properties

    price: number
    quantity: number
    side: string
    diff --git a/docs/interfaces/PumpFunTokenOptions.html b/docs/interfaces/PumpFunTokenOptions.html index d1886e34..f279978f 100644 --- a/docs/interfaces/PumpFunTokenOptions.html +++ b/docs/interfaces/PumpFunTokenOptions.html @@ -1,7 +1,7 @@ -PumpFunTokenOptions | solana-agent-kit

    Interface PumpFunTokenOptions

    interface PumpFunTokenOptions {
        initialLiquiditySOL?: number;
        priorityFee?: number;
        slippageBps?: number;
        telegram?: string;
        twitter?: string;
        website?: string;
    }

    Properties

    initialLiquiditySOL? +PumpFunTokenOptions | solana-agent-kit

    Interface PumpFunTokenOptions

    interface PumpFunTokenOptions {
        initialLiquiditySOL?: number;
        priorityFee?: number;
        slippageBps?: number;
        telegram?: string;
        twitter?: string;
        website?: string;
    }

    Properties

    initialLiquiditySOL?: number
    priorityFee?: number
    slippageBps?: number
    telegram?: string
    twitter?: string
    website?: string
    +

    Properties

    initialLiquiditySOL?: number
    priorityFee?: number
    slippageBps?: number
    telegram?: string
    twitter?: string
    website?: string
    diff --git a/docs/interfaces/PumpfunLaunchResponse.html b/docs/interfaces/PumpfunLaunchResponse.html index 52421d31..b6b18d13 100644 --- a/docs/interfaces/PumpfunLaunchResponse.html +++ b/docs/interfaces/PumpfunLaunchResponse.html @@ -1,5 +1,5 @@ -PumpfunLaunchResponse | solana-agent-kit

    Interface PumpfunLaunchResponse

    interface PumpfunLaunchResponse {
        error?: string;
        metadataUri?: string;
        mint: string;
        signature: string;
    }

    Properties

    error? +PumpfunLaunchResponse | solana-agent-kit

    Interface PumpfunLaunchResponse

    interface PumpfunLaunchResponse {
        error?: string;
        metadataUri?: string;
        mint: string;
        signature: string;
    }

    Properties

    error?: string
    metadataUri?: string
    mint: string
    signature: string
    +

    Properties

    error?: string
    metadataUri?: string
    mint: string
    signature: string
    diff --git a/docs/interfaces/PythFetchPriceResponse.html b/docs/interfaces/PythFetchPriceResponse.html index b2b1875b..f202f4b2 100644 --- a/docs/interfaces/PythFetchPriceResponse.html +++ b/docs/interfaces/PythFetchPriceResponse.html @@ -1,7 +1,7 @@ -PythFetchPriceResponse | solana-agent-kit

    Interface PythFetchPriceResponse

    interface PythFetchPriceResponse {
        code?: string;
        message?: string;
        price?: string;
        priceFeedID?: string;
        status: "success" | "error";
        tokenSymbol: string;
    }

    Properties

    code? +PythFetchPriceResponse | solana-agent-kit

    Interface PythFetchPriceResponse

    interface PythFetchPriceResponse {
        code?: string;
        message?: string;
        price?: string;
        priceFeedID?: string;
        status: "success" | "error";
        tokenSymbol: string;
    }

    Properties

    code?: string
    message?: string
    price?: string
    priceFeedID?: string
    status: "success" | "error"
    tokenSymbol: string
    +

    Properties

    code?: string
    message?: string
    price?: string
    priceFeedID?: string
    status: "success" | "error"
    tokenSymbol: string
    diff --git a/docs/interfaces/PythPriceFeedIDItem.html b/docs/interfaces/PythPriceFeedIDItem.html index fe13f4fb..5fc51fde 100644 --- a/docs/interfaces/PythPriceFeedIDItem.html +++ b/docs/interfaces/PythPriceFeedIDItem.html @@ -1,3 +1,3 @@ -PythPriceFeedIDItem | solana-agent-kit

    Interface PythPriceFeedIDItem

    interface PythPriceFeedIDItem {
        attributes: { asset_type: string; base: string };
        id: string;
    }

    Properties

    attributes +PythPriceFeedIDItem | solana-agent-kit

    Interface PythPriceFeedIDItem

    interface PythPriceFeedIDItem {
        attributes: { asset_type: string; base: string };
        id: string;
    }

    Properties

    Properties

    attributes: { asset_type: string; base: string }
    id: string
    +

    Properties

    attributes: { asset_type: string; base: string }
    id: string
    diff --git a/docs/interfaces/PythPriceItem.html b/docs/interfaces/PythPriceItem.html index 8c47136d..286dd061 100644 --- a/docs/interfaces/PythPriceItem.html +++ b/docs/interfaces/PythPriceItem.html @@ -1,3 +1,3 @@ -PythPriceItem | solana-agent-kit

    Interface PythPriceItem

    interface PythPriceItem {
        binary: { data: string[]; encoding: string };
        parsed: [
            {
                ema_price: {
                    conf: string;
                    expo: number;
                    price: string;
                    publish_time: number;
                };
                id: string;
                metadata: {
                    prev_publish_time: number;
                    proof_available_time: number;
                    slot: number;
                };
                price: {
                    conf: string;
                    expo: number;
                    price: string;
                    publish_time: number;
                };
            }[],
        ];
    }

    Properties

    binary +PythPriceItem | solana-agent-kit

    Interface PythPriceItem

    interface PythPriceItem {
        binary: { data: string[]; encoding: string };
        parsed: [
            {
                ema_price: {
                    conf: string;
                    expo: number;
                    price: string;
                    publish_time: number;
                };
                id: string;
                metadata: {
                    prev_publish_time: number;
                    proof_available_time: number;
                    slot: number;
                };
                price: {
                    conf: string;
                    expo: number;
                    price: string;
                    publish_time: number;
                };
            }[],
        ];
    }

    Properties

    Properties

    binary: { data: string[]; encoding: string }
    parsed: [
        {
            ema_price: {
                conf: string;
                expo: number;
                price: string;
                publish_time: number;
            };
            id: string;
            metadata: {
                prev_publish_time: number;
                proof_available_time: number;
                slot: number;
            };
            price: { conf: string; expo: number; price: string; publish_time: number };
        }[],
    ]
    +

    Properties

    binary: { data: string[]; encoding: string }
    parsed: [
        {
            ema_price: {
                conf: string;
                expo: number;
                price: string;
                publish_time: number;
            };
            id: string;
            metadata: {
                prev_publish_time: number;
                proof_available_time: number;
                slot: number;
            };
            price: { conf: string; expo: number; price: string; publish_time: number };
        }[],
    ]
    diff --git a/docs/interfaces/TokenCheck.html b/docs/interfaces/TokenCheck.html index 947cece6..668a432a 100644 --- a/docs/interfaces/TokenCheck.html +++ b/docs/interfaces/TokenCheck.html @@ -1,5 +1,5 @@ -TokenCheck | solana-agent-kit

    Interface TokenCheck

    interface TokenCheck {
        risks: {
            description: string;
            level: string;
            name: string;
            score: number;
        }[];
        score: number;
        tokenProgram: string;
        tokenType: string;
    }

    Properties

    risks +TokenCheck | solana-agent-kit

    Interface TokenCheck

    interface TokenCheck {
        risks: {
            description: string;
            level: string;
            name: string;
            score: number;
        }[];
        score: number;
        tokenProgram: string;
        tokenType: string;
    }

    Properties

    risks: { description: string; level: string; name: string; score: number }[]
    score: number
    tokenProgram: string
    tokenType: string
    +

    Properties

    risks: { description: string; level: string; name: string; score: number }[]
    score: number
    tokenProgram: string
    tokenType: string
    diff --git a/docs/types/Handler.html b/docs/types/Handler.html index feede00b..900c63e7 100644 --- a/docs/types/Handler.html +++ b/docs/types/Handler.html @@ -1,2 +1,2 @@ Handler | solana-agent-kit

    Type Alias Handler

    Handler: (
        agent: SolanaAgentKit,
        input: Record<string, any>,
    ) => Promise<Record<string, any>>

    Handler function type for executing the action

    -

    Type declaration

      • (
            agent: SolanaAgentKit,
            input: Record<string, any>,
        ): Promise<Record<string, any>>
      • Parameters

        Returns Promise<Record<string, any>>

    +

    Type declaration

    diff --git a/docs/variables/actions.html b/docs/variables/actions.html index 2a0fff2c..5d9a2911 100644 --- a/docs/variables/actions.html +++ b/docs/variables/actions.html @@ -1 +1 @@ -ACTIONS | solana-agent-kit

    Variable ACTIONSConst

    ACTIONS: {
        BALANCE_ACTION: Action;
        CREATE_GIBWORK_TASK_ACTION: Action;
        CREATE_IMAGE_ACTION: Action;
        CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action;
        DEPLOY_COLLECTION_ACTION: Action;
        DEPLOY_TOKEN_ACTION: Action;
        FETCH_PRICE_ACTION: Action;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_ACTION: Action;
        GET_ALL_DOMAINS_TLDS_ACTION: Action;
        GET_ALL_REGISTERED_ALL_DOMAINS_ACTION: Action;
        GET_MAIN_ALL_DOMAINS_DOMAIN_ACTION: Action;
        GET_OWNED_ALL_DOMAINS_ACTION: Action;
        GET_OWNED_DOMAINS_FOR_TLD_ACTION: Action;
        GET_PRIMARY_DOMAIN_ACTION: Action;
        GET_TOKEN_DATA_ACTION: Action;
        GET_TPS_ACTION: Action;
        LAUNCH_PUMPFUN_TOKEN_ACTION: Action;
        LEND_ASSET_ACTION: Action;
        MINT_NFT_ACTION: Action;
        PYTH_FETCH_PRICE_ACTION: Action;
        RAYDIUM_CREATE_AMM_V4_ACTION: Action;
        RAYDIUM_CREATE_CPMM_ACTION: Action;
        REGISTER_DOMAIN_ACTION: Action;
        REQUEST_FUNDS_ACTION: Action;
        RESOLVE_DOMAIN_ACTION: Action;
        RESOLVE_SOL_DOMAIN_ACTION: Action;
        STAKE_WITH_JUP_ACTION: Action;
        STAKE_WITH_SOLAYER_ACTION: Action;
        TRADE_ACTION: Action;
        TRANSFER_ACTION: Action;
        WALLET_ADDRESS_ACTION: Action;
    } = ...

    Type declaration

    • BALANCE_ACTION: Action
    • CREATE_GIBWORK_TASK_ACTION: Action
    • CREATE_IMAGE_ACTION: Action
    • CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action
    • DEPLOY_COLLECTION_ACTION: Action
    • DEPLOY_TOKEN_ACTION: Action
    • FETCH_PRICE_ACTION: Action
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_ACTION: Action
    • GET_ALL_DOMAINS_TLDS_ACTION: Action
    • GET_ALL_REGISTERED_ALL_DOMAINS_ACTION: Action
    • GET_MAIN_ALL_DOMAINS_DOMAIN_ACTION: Action
    • GET_OWNED_ALL_DOMAINS_ACTION: Action
    • GET_OWNED_DOMAINS_FOR_TLD_ACTION: Action
    • GET_PRIMARY_DOMAIN_ACTION: Action
    • GET_TOKEN_DATA_ACTION: Action
    • GET_TPS_ACTION: Action
    • LAUNCH_PUMPFUN_TOKEN_ACTION: Action
    • LEND_ASSET_ACTION: Action
    • MINT_NFT_ACTION: Action
    • PYTH_FETCH_PRICE_ACTION: Action
    • RAYDIUM_CREATE_AMM_V4_ACTION: Action
    • RAYDIUM_CREATE_CPMM_ACTION: Action
    • REGISTER_DOMAIN_ACTION: Action
    • REQUEST_FUNDS_ACTION: Action
    • RESOLVE_DOMAIN_ACTION: Action
    • RESOLVE_SOL_DOMAIN_ACTION: Action
    • STAKE_WITH_JUP_ACTION: Action
    • STAKE_WITH_SOLAYER_ACTION: Action
    • TRADE_ACTION: Action
    • TRANSFER_ACTION: Action
    • WALLET_ADDRESS_ACTION: Action
    +ACTIONS | solana-agent-kit

    Variable ACTIONSConst

    ACTIONS: {
        BALANCE_ACTION: Action;
        CREATE_GIBWORK_TASK_ACTION: Action;
        CREATE_IMAGE_ACTION: Action;
        CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action;
        DEPLOY_COLLECTION_ACTION: Action;
        DEPLOY_TOKEN_ACTION: Action;
        FETCH_PRICE_ACTION: Action;
        FLASH_CLOSE_TRADE_ACTION: Action;
        FLASH_OPEN_TRADE_ACTION: Action;
        GET_ALL_DOMAINS_TLDS_ACTION: Action;
        GET_ALL_REGISTERED_ALL_DOMAINS_ACTION: Action;
        GET_MAIN_ALL_DOMAINS_DOMAIN_ACTION: Action;
        GET_OWNED_ALL_DOMAINS_ACTION: Action;
        GET_OWNED_DOMAINS_FOR_TLD_ACTION: Action;
        GET_PRIMARY_DOMAIN_ACTION: Action;
        GET_TOKEN_DATA_ACTION: Action;
        GET_TPS_ACTION: Action;
        LAUNCH_PUMPFUN_TOKEN_ACTION: Action;
        LEND_ASSET_ACTION: Action;
        MINT_NFT_ACTION: Action;
        PYTH_FETCH_PRICE_ACTION: Action;
        RAYDIUM_CREATE_AMM_V4_ACTION: Action;
        RAYDIUM_CREATE_CPMM_ACTION: Action;
        REGISTER_DOMAIN_ACTION: Action;
        REQUEST_FUNDS_ACTION: Action;
        RESOLVE_DOMAIN_ACTION: Action;
        RESOLVE_SOL_DOMAIN_ACTION: Action;
        STAKE_WITH_JUP_ACTION: Action;
        STAKE_WITH_SOLAYER_ACTION: Action;
        TRADE_ACTION: Action;
        TRANSFER_ACTION: Action;
        WALLET_ADDRESS_ACTION: Action;
    } = ...

    Type declaration

    • BALANCE_ACTION: Action
    • CREATE_GIBWORK_TASK_ACTION: Action
    • CREATE_IMAGE_ACTION: Action
    • CREATE_ORCA_SINGLE_SIDED_WHIRLPOOL_ACTION: Action
    • DEPLOY_COLLECTION_ACTION: Action
    • DEPLOY_TOKEN_ACTION: Action
    • FETCH_PRICE_ACTION: Action
    • FLASH_CLOSE_TRADE_ACTION: Action
    • FLASH_OPEN_TRADE_ACTION: Action
    • GET_ALL_DOMAINS_TLDS_ACTION: Action
    • GET_ALL_REGISTERED_ALL_DOMAINS_ACTION: Action
    • GET_MAIN_ALL_DOMAINS_DOMAIN_ACTION: Action
    • GET_OWNED_ALL_DOMAINS_ACTION: Action
    • GET_OWNED_DOMAINS_FOR_TLD_ACTION: Action
    • GET_PRIMARY_DOMAIN_ACTION: Action
    • GET_TOKEN_DATA_ACTION: Action
    • GET_TPS_ACTION: Action
    • LAUNCH_PUMPFUN_TOKEN_ACTION: Action
    • LEND_ASSET_ACTION: Action
    • MINT_NFT_ACTION: Action
    • PYTH_FETCH_PRICE_ACTION: Action
    • RAYDIUM_CREATE_AMM_V4_ACTION: Action
    • RAYDIUM_CREATE_CPMM_ACTION: Action
    • REGISTER_DOMAIN_ACTION: Action
    • REQUEST_FUNDS_ACTION: Action
    • RESOLVE_DOMAIN_ACTION: Action
    • RESOLVE_SOL_DOMAIN_ACTION: Action
    • STAKE_WITH_JUP_ACTION: Action
    • STAKE_WITH_SOLAYER_ACTION: Action
    • TRADE_ACTION: Action
    • TRANSFER_ACTION: Action
    • WALLET_ADDRESS_ACTION: Action
    diff --git a/src/langchain/index.ts b/src/langchain/index.ts index ecb35666..ec7bccd3 100644 --- a/src/langchain/index.ts +++ b/src/langchain/index.ts @@ -9,6 +9,7 @@ import { SolanaAgentKit, } from "../index"; import { create_image, FEE_TIERS, generateOrdersfromPattern } from "../tools"; +import { marketTokenMap } from "../utils/flashUtils"; import { CreateCollectionOptions, CreateSingleOptions, @@ -803,10 +804,14 @@ export class SolanaFlashOpenTrade extends Tool { if (!parsedInput.token) { throw new Error("Token is required, received: " + parsedInput.token); } - if (!["SOL", "BTC", "ETH", "USDC"].includes(parsedInput.token)) { + if (!Object.keys(marketTokenMap).includes(parsedInput.token)) { throw new Error( - 'Token must be one of ["SOL", "BTC", "ETH", "USDC"], received: ' + - parsedInput.token, + "Token must be one of " + + Object.keys(marketTokenMap).join(", ") + + ", received: " + + parsedInput.token + + "\n" + + "Please check https://beast.flash.trade/ for the list of supported tokens", ); } if (!["long", "short"].includes(parsedInput.type)) { diff --git a/src/tools/flash_close_trade.ts b/src/tools/flash_close_trade.ts index ffbe0c8f..c30d0b65 100644 --- a/src/tools/flash_close_trade.ts +++ b/src/tools/flash_close_trade.ts @@ -1,5 +1,5 @@ import { ComputeBudgetProgram } from "@solana/web3.js"; -import { PoolConfig, Privilege, Side } from "flash-sdk"; +import { PoolConfig, Side } from "flash-sdk"; import { BN } from "@coral-xyz/anchor"; import { SolanaAgentKit } from "../index"; import { @@ -9,6 +9,7 @@ import { getNftTradingAccountInfo, fetchOraclePrice, createPerpClient, + get_flash_privilege, } from "../utils/flashUtils"; import { FlashCloseTradeParams } from "../types"; @@ -93,7 +94,7 @@ export async function flashCloseTrade( priceWithSlippage, sideEnum, poolConfig, - Privilege.Referral, + get_flash_privilege(agent), tradingAccounts.nftTradingAccountPk, tradingAccounts.nftReferralAccountPK, tradingAccounts.nftOwnerRebateTokenAccountPk, diff --git a/src/tools/flash_open_trade.ts b/src/tools/flash_open_trade.ts index 9896ed4d..6a646dcd 100644 --- a/src/tools/flash_open_trade.ts +++ b/src/tools/flash_open_trade.ts @@ -3,7 +3,6 @@ import { PerpetualsClient, OraclePrice, PoolConfig, - Privilege, Side, CustodyAccount, Custody, @@ -18,6 +17,7 @@ import { OPEN_POSITION_CU, fetchOraclePrice, createPerpClient, + get_flash_privilege, } from "../utils/flashUtils"; import { FlashTradeParams } from "../types"; @@ -141,7 +141,7 @@ export async function flashOpenTrade( positionSize, side === "long" ? Side.Long : Side.Short, poolConfig, - Privilege.Referral, + get_flash_privilege(agent), tradingAccounts.nftTradingAccountPk, tradingAccounts.nftReferralAccountPK, tradingAccounts.nftOwnerRebateTokenAccountPk!, diff --git a/src/types/index.ts b/src/types/index.ts index 71dab5db..01ac152a 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -6,6 +6,7 @@ export interface Config { OPENAI_API_KEY?: string; JUPITER_REFERRAL_ACCOUNT?: string; JUPITER_FEE_BPS?: number; + FLASH_PRIVILEGE?: string; } export interface Creator { diff --git a/src/utils/flashUtils.ts b/src/utils/flashUtils.ts index 34e89a7e..5008d85e 100644 --- a/src/utils/flashUtils.ts +++ b/src/utils/flashUtils.ts @@ -1,9 +1,16 @@ import { HermesClient } from "@pythnetwork/hermes-client"; import { OraclePrice } from "flash-sdk"; import { AnchorProvider, BN, Wallet } from "@coral-xyz/anchor"; -import { PoolConfig, Token, Referral, PerpetualsClient } from "flash-sdk"; +import { + PoolConfig, + Token, + Referral, + PerpetualsClient, + Privilege, +} from "flash-sdk"; import { Cluster, PublicKey, Connection, Keypair } from "@solana/web3.js"; import { getAssociatedTokenAddressSync } from "@solana/spl-token"; +import { SolanaAgentKit } from "../index"; const POOL_NAMES = [ "Crypto.1", @@ -278,3 +285,16 @@ export function createPerpClient( {}, ); } + +export function get_flash_privilege(agent: SolanaAgentKit): Privilege { + const FLASH_PRIVILEGE = agent.config.FLASH_PRIVILEGE || "None"; + + switch (FLASH_PRIVILEGE.toLowerCase()) { + case "referral": + return Privilege.Referral; + case "nft": + return Privilege.NFT; + default: + return Privilege.None; + } +}