Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
572e09d
Adding pump.fun python class with new token listener, token listener …
nunquen Nov 19, 2024
9891299
Adding basic testtings to pump class
nunquen Nov 19, 2024
5a48313
add comments, new libraries and a list of bypasses
nunquen Nov 20, 2024
97b9bc2
Refactoring: having buy and sell in a single trade function
nunquen Nov 20, 2024
5db35f4
Adding redis domain object with basic functions
nunquen Nov 23, 2024
96b491c
Basic Redis implementation. Sniper and copytrade Trade Roadmaps defin…
nunquen Nov 24, 2024
00cf1d8
redisdb: close connection implementation , and both get_fresh_tokens …
nunquen Nov 24, 2024
79ad655
Getting token balance after buying and selling. redis_db: token is ch…
nunquen Nov 26, 2024
bae783f
Adding libraries for data analytics and utils. Pump: working with man…
nunquen Nov 28, 2024
fb9c604
test for pump and bug fixing
nunquen Nov 28, 2024
c3304b0
Sniper trade map almost done: Need to mark the token as closed in red…
nunquen Nov 28, 2024
fdf33a5
Adding criterias tests (under development). Wizard image. Pump: disca…
nunquen Nov 30, 2024
9a3a3c0
Test criterias: adding test_max_seconds_between_buys
nunquen Nov 30, 2024
0c500a8
Test criterias: adding test_trader_has_sold
nunquen Nov 30, 2024
8c3638c
Adding track_traders both in redis reading nd in trading_analytics fu…
nunquen Nov 30, 2024
fb2dd83
Pump: Bug fixed when token is too old to deal with and we're not read…
nunquen Nov 30, 2024
9331d63
Adding market inactivity for trading timeout in config. Adding timeou…
nunquen Nov 30, 2024
d0d813f
Including scanner functionality
nunquen Dec 1, 2024
d8bfc82
Adding first draft of dockerfile. Adding base58 to requirements.txt. …
nunquen Dec 2, 2024
609dbc3
Pump: adding keppalive loop above main websocket main thread. Scanner…
nunquen Dec 2, 2024
b4328ad
Bug solved related to how trades are stored in token's lists in memory.
nunquen Dec 3, 2024
6111a57
trading_analytics minor refactoring to deal with own trades processin…
nunquen Dec 3, 2024
b497ce6
adding Ump.log_trade_token_timestamp and adjust timestamp printing af…
nunquen Dec 4, 2024
b28d351
pump: adding trade fees, increase and decrease fees, also test fees d…
nunquen Dec 4, 2024
5d2d4f5
Implementing exit criteria for timedelta exceeded when trading
nunquen Dec 5, 2024
b43a7d5
Implementing timedelta exceeded in trade function to increase fees. A…
nunquen Dec 5, 2024
7d78bbe
New criteria: seller_is_a_known_trader applied to sniper_1 and tested…
nunquen Dec 6, 2024
64cc746
refactor: seller_is_a_known_trader -> seller_is_an_unknown_traderdef
nunquen Dec 6, 2024
5771144
Scanner step: delete_unchecked_tokens function included before starti…
nunquen Dec 6, 2024
71656d1
Bug fix: trader_has_sold was receiving bad few arguments. Dockerfile:…
nunquen Dec 6, 2024
06b0343
Keeping track of the developer as an exit criteria if he/she sells. C…
nunquen Dec 7, 2024
bd828d3
Bug: seller_is_an_unknown_trader can only be set for sell tardes from…
nunquen Dec 7, 2024
74b5d33
Including jito bundle transactions
nunquen Dec 13, 2024
9874c80
Sniper2: detecting artifical pumps on dummy mode. unit testing done
nunquen Dec 15, 2024
9928fa7
Solving bugs: websocket now pings back to keep conection alive. Olds …
nunquen Dec 17, 2024
3edc33d
For associated token accounts: count them and get basic metadata to t…
nunquen Dec 22, 2024
6b02fb4
utils: count_associated_token_accounts now returns a dic with account…
nunquen Dec 23, 2024
5ece621
detect_dust_token_accounts implementation with latest changes.
nunquen Dec 24, 2024
7fe34f3
Burn associated token account tokens implementation
nunquen Dec 25, 2024
a33a976
Utils: reorganizing functions
nunquen Dec 27, 2024
31883ef
burn and close_and_burn functions implemented
nunquen Dec 27, 2024
66099bd
adding todo.yaml
nunquen Dec 27, 2024
58d0058
Including backend FastAPI skeleton draft and openAPI spceficication f…
nunquen Dec 28, 2024
ee0689b
Adding outer count_associated_token_accounts and fetch_associated_tok…
nunquen Dec 28, 2024
3559c70
/associated_token_accounts/count endpoint implementation. Adding debu…
nunquen Dec 28, 2024
e744a95
Implmenting fetch_associated_token_accounts endpoint, updating requir…
nunquen Dec 28, 2024
e7d3efc
AWS Docker image, EC2 config step by step and api gateway config
nunquen Jan 2, 2025
28c90c7
new generate_vanity_wallet function
nunquen Jan 2, 2025
ff9bb9c
INtroducing pagination for detect_dust_token_accounts and fetch_assoc…
nunquen Jan 3, 2025
da2bd09
adding new end point POST /associated_token_accounts/burn_and_close/g…
nunquen Jan 5, 2025
2353289
Adding skeleton for new POST endpoint to retreive transaction for ata…
nunquen Jan 6, 2025
030803d
request_close_ata_transaction implementation and adding exception han…
nunquen Jan 6, 2025
1c223d2
updating todo list
nunquen Jan 6, 2025
3b26caf
app: adding recover_rent_client function for testing
nunquen Jan 6, 2025
052f08f
Adding new POST endpoint: /associated_token_accounts/burn_and_close/i…
nunquen Jan 9, 2025
105c4f9
Including variable fees for GhostFunds
nunquen Jan 9, 2025
2e40c79
updating utils functions
nunquen Jan 11, 2025
7101257
app config: adding request_heap_frame and set_compute_unit_limit inst…
nunquen Jan 12, 2025
63b5875
adding steps to stop, pull and publish latest docker image in AWS ec2…
nunquen Jan 12, 2025
9931de0
adding flake8. having app.api.libs.utils.py flake8 complient
nunquen Jan 13, 2025
5c2c67d
having app project flake8 compliant
nunquen Jan 13, 2025
b1f3d9d
more flake8 validations
nunquen Jan 13, 2025
5324f05
new todo: week 2 2025
nunquen Jan 13, 2025
17eada0
Adding fee value validation when fetching instructions
nunquen Jan 14, 2025
1f2ea3d
close_burn_ata_instructions now receives a list of tokens
nunquen Jan 14, 2025
4985111
now request_close_ata_instructions receives and process many instruct…
nunquen Jan 14, 2025
b4f05a6
Adding TooManyInstructionsException if submitted instructions exceed …
nunquen Jan 14, 2025
e311070
increasing fees and adding MIN_TOKEN_VALUE = 0.0001 to config file
nunquen Jan 19, 2025
3bf321c
APP: adding middleware, controlling max retrievable accounts,
nunquen Jan 20, 2025
1904b6c
Adding endpoints rotation when getting solana price in USD. Adding fi…
nunquen Jan 29, 2025
b0c4db9
abli.libs.utils.count_associated_token_accounts: unecessary print was…
nunquen Feb 5, 2025
2ca9fb9
refixing bug when calculation the average_balance when doing aproxima…
nunquen Feb 5, 2025
4eb6eac
AWS Lambda Function arm64 implementation with logging
nunquen Feb 17, 2025
49c138e
Adding token_amount_lamports and removing get_account_info for each t…
nunquen Feb 18, 2025
3f014b0
request_close_ata_transaction: adding ErrorProcessingData exception h…
nunquen Feb 18, 2025
b6d6307
Adding new "close to the metal" buy and sell and token scanner
nunquen Feb 22, 2025
5f266dc
latest jito implelentation on bot
nunquen Mar 8, 2025
823a5c2
minor changes
nunquen Mar 8, 2025
b3abdb0
returning a list of transactions is implemented
nunquen Mar 12, 2025
5caee0d
increasing max instructions per transaction
nunquen Mar 16, 2025
9e038dd
Include Strapi as a new middleware adapter. Adding referral fees
nunquen Mar 29, 2025
41246da
BUG fixed in detect_dust_token_accounts function when retrieving toke…
nunquen Apr 7, 2025
b0ac323
MIN_TOKEN_VALUE is now lower: from 0.0001 to 0.000001
nunquen Apr 9, 2025
7986ea2
deploy lambda function: now it can update with latest docker iamge an…
nunquen Apr 9, 2025
b98d7ff
Middleware typo class and variable name solved. API points to product…
nunquen Apr 10, 2025
15e2251
api: Adding busines logic to prevent closing and burning tokens with …
nunquen Apr 10, 2025
70b441f
RequestTransactionToken.is_dust now is mandatory with no default value
nunquen Apr 10, 2025
6375b40
adding logger to utils
nunquen Apr 10, 2025
c2d1b63
adding logger to utils
nunquen Apr 10, 2025
c65dc65
test
nunquen Apr 10, 2025
70fdf1f
Merge pull request #1 from 0xjorgev/GHOSTFUNDS-LAMBDA-RETRIEVE-MANY_T…
nunquen Apr 30, 2025
cf69466
adding telegram bot
nunquen May 1, 2025
f0cc9bb
adding x class
nunquen May 1, 2025
fe96827
removing dummy secrets
nunquen May 1, 2025
31fd409
removing chatgpt secret
nunquen May 1, 2025
38fc0a7
None value for chatgpt key
nunquen May 1, 2025
535f58d
removing key
nunquen May 1, 2025
d698ed0
...
nunquen May 1, 2025
38f8cfe
dummy commit
nunquen May 1, 2025
f81369c
.
nunquen May 1, 2025
f61f404
dummy change
nunquen May 1, 2025
69d0ed5
minor change
nunquen May 1, 2025
566cbf5
Adding telegram bot and openai api
nunquen May 8, 2025
e6598ef
updaing files
nunquen May 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
168 changes: 167 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,174 @@ test-ledger

dist/

site-packages/

.keys*/
.keys*/**

.env
refs/
refs/

# Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
Empty file added MODULE
Empty file.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
"name": "pumpdotfun-sdk",
"version": "1.3.2",
"description": "A simple SDK for interacting with pumpdotfun",

"module": "./dist/esm/index.js",
"main": "./dist/cjs/index.js",
"browser": "./dist/browser/index.js",
Expand Down Expand Up @@ -48,5 +47,6 @@
"@rollup/plugin-json": "^6.1.0",
"@solana/spl-token": "0.4.6",
"@solana/web3.js": "^1.92.1"
}
},
"packageManager": "pnpm@9.15.4+sha512.b2dc20e2fc72b3e18848459b37359a32064663e5627a51e4c74b2c29dd8e8e0491483c3abb40789cfd578bf362fb6ba8261b05f0387d76792ed6e23ea3b1b6a0"
}
10 changes: 10 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[flake8]
max-line-length=120
exclude = # Exclude specific files or directories
.git,
__pycache__,
docs/conf.py,
old,
build,
dist
ignore = F722