├── .gitignore
├── README.md
├── data.json
├── package-lock.json
├── package.json
├── proxy_list.json
├── src
├── bot.ts
├── commands
│ ├── clis.ts
│ └── index.ts
├── config.ts
├── constants.ts
├── funcs
│ └── index.ts
├── index.ts
├── test.ts
├── types.ts
└── utils.ts
├── tsconfig.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 | .pnpm-debug.log*
9 |
10 | # Diagnostic reports (https://nodejs.org/api/report.html)
11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
12 |
13 | # Runtime data
14 | pids
15 | *.pid
16 | *.seed
17 | *.pid.lock
18 |
19 | # Directory for instrumented libs generated by jscoverage/JSCover
20 | lib-cov
21 |
22 | # Coverage directory used by tools like istanbul
23 | coverage
24 | *.lcov
25 |
26 | # nyc test coverage
27 | .nyc_output
28 |
29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
30 | .grunt
31 |
32 | # Bower dependency directory (https://bower.io/)
33 | bower_components
34 |
35 | # node-waf configuration
36 | .lock-wscript
37 |
38 | # Compiled binary addons (https://nodejs.org/api/addons.html)
39 | build/Release
40 |
41 | # Dependency directories
42 | node_modules/
43 | jspm_packages/
44 |
45 | # Snowpack dependency directory (https://snowpack.dev/)
46 | web_modules/
47 |
48 | # TypeScript cache
49 | *.tsbuildinfo
50 |
51 | # Optional npm cache directory
52 | .npm
53 |
54 | # Optional eslint cache
55 | .eslintcache
56 |
57 | # Optional stylelint cache
58 | .stylelintcache
59 |
60 | # Microbundle cache
61 | .rpt2_cache/
62 | .rts2_cache_cjs/
63 | .rts2_cache_es/
64 | .rts2_cache_umd/
65 |
66 | # Optional REPL history
67 | .node_repl_history
68 |
69 | # Output of 'npm pack'
70 | *.tgz
71 |
72 | # Yarn Integrity file
73 | .yarn-integrity
74 |
75 | # dotenv environment variable files
76 | .env
77 | .env.development.local
78 | .env.test.local
79 | .env.production.local
80 | .env.local
81 |
82 | # parcel-bundler cache (https://parceljs.org/)
83 | .cache
84 | .parcel-cache
85 |
86 | # Next.js build output
87 | .next
88 | out
89 |
90 | # Nuxt.js build / generate output
91 | .nuxt
92 | dist
93 |
94 | # Gatsby files
95 | .cache/
96 | # Comment in the public line in if your project uses Gatsby and not Next.js
97 | # https://nextjs.org/blog/next-9-1#public-directory-support
98 | # public
99 |
100 | # vuepress build output
101 | .vuepress/dist
102 |
103 | # vuepress v2.x temp and cache directory
104 | .temp
105 | .cache
106 |
107 | # Docusaurus cache and generated files
108 | .docusaurus
109 |
110 | # Serverless directories
111 | .serverless/
112 |
113 | # FuseBox cache
114 | .fusebox/
115 |
116 | # DynamoDB Local files
117 | .dynamodb/
118 |
119 | # TernJS port file
120 | .tern-port
121 |
122 | # Stores VSCode versions used for testing VSCode extensions
123 | .vscode-test
124 |
125 | # yarn v2
126 | .yarn/cache
127 | .yarn/unplugged
128 | .yarn/build-state.yml
129 | .yarn/install-state.gz
130 | .pnp.*
131 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PumpFun AI Trading Bot
2 |
3 | PumpFun is a sophisticated AI-powered trading bot designed to make data-driven decisions and automate trading strategies. It leverages machine learning algorithms to predict market movements and optimize trade execution, making it an ideal tool for algorithmic traders looking for an automated solution to capitalize on market opportunities.
4 |
5 | # 💬 Contact Me
6 |
7 | If you have any question or something, feel free to reach out me anytime via telegram, discord or twitter.
8 |
9 | #### 🌹 You're always welcome 🌹
10 |
11 | Telegram: [@jackhuang166](https://t.me/jackhuang166)
12 |
13 | ## Features
14 |
15 | - **AI-Powered Trading**: Utilizes advanced machine learning algorithms to analyze market data and predict trends.
16 | - **Customizable Strategies**: Users can configure the trading strategies to match their preferences and risk tolerance.
17 | - **Real-Time Market Analysis**: Continuously monitors market conditions to identify optimal trade setups.
18 | - **Backtesting**: Test trading strategies on historical data to evaluate their performance before going live.
19 | - **Automatic Trade Execution**: Trades are automatically executed based on pre-defined strategies without manual intervention.
20 |
21 | ## Installation
22 |
23 | To run the PumpFun AI Trading Bot locally, follow the steps below:
24 |
25 | ### Prerequisites
26 |
27 | - Python 3.7 or higher
28 | - Pip (Python package installer)
29 | - Git (to clone the repository)
30 |
31 | ### Setup Instructions
32 |
33 | 1. Clone the repository to your local machine:
34 |
35 | ```bash
36 | git clone https://github.com/yourusername/pumpfun-ai-trading-bot.git
37 | cd pumpfun-ai-trading-bot
38 | ```
39 |
40 | 2. Install the required dependencies:
41 |
42 | ```bash
43 | pip install -r requirements.txt
44 | ```
45 |
46 | 3. Configure the bot with your trading preferences:
47 |
48 | - Set up your API keys from your trading platform (e.g., Binance, Coinbase).
49 | - Edit the configuration file (`config.json` or `.env`) with the necessary information.
50 |
51 | 4. Run the bot:
52 |
53 | ```bash
54 | python main.py
55 | ```
56 |
57 | ## Usage
58 |
59 | Once the bot is set up, it will start analyzing the market data and executing trades automatically based on the selected strategy. You can monitor the trading process by checking the logs or using the web dashboard if applicable.
60 |
61 | ### Configuration
62 |
63 | The bot’s behavior can be configured by modifying the `config.json` file or environment variables. Common configurations include:
64 |
65 | - API keys
66 | - Trading pairs (e.g., BTC/USD)
67 | - Risk management settings (e.g., stop loss, take profit)
68 | - Timeframe for trading signals (e.g., 1 minute, 5 minutes)
69 |
70 | ## Contributing
71 |
72 | We welcome contributions! If you'd like to contribute to the development of PumpFun, please follow these steps:
73 |
74 | 1. Fork the repository.
75 | 2. Create a new branch (`git checkout -b feature-branch`).
76 | 3. Make your changes and commit them (`git commit -am 'Add new feature'`).
77 | 4. Push to your forked repository (`git push origin feature-branch`).
78 | 5. Open a pull request to the main repository.
79 |
80 | ## License
81 |
82 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
83 |
84 | ## Disclaimer
85 |
86 | Please note that the use of this trading bot carries inherent risks due to the volatility of the market. The creators of this bot are not responsible for any financial losses incurred through the use of this software. Use at your own risk.
87 |
--------------------------------------------------------------------------------
/data.json:
--------------------------------------------------------------------------------
1 | [
2 | "🚀 Just got my hands on some $BOB tokens on PumpFun! Can’t wait to see where this goes! 🌟",
3 | "💥 $BOB is on the rise! PumpFun is the place to be, folks! Don’t miss out! 📈",
4 | "🌈 Loving the community support for $BOB on PumpFun! Let's pump this together! 🙌",
5 | "🔊 Have you seen the potential of $BOB? PumpFun is the perfect platform to grow! 🌍",
6 | "🔥 The $BOB token is heating up! Join us on PumpFun for the ride! ⏳",
7 | "💎 Anyone else bullish on $BOB? PumpFun is buzzing with excitement! 🐝",
8 | "🚀 Just staked some $BOB on PumpFun! Who’s with me? Let’s skyrocket! 💸",
9 | "📊 Watching the charts for $BOB on PumpFun! The future looks bright, everyone! 🌞",
10 | "🎉 PumpFun + $BOB = success! Can't wait for the next pump! Let's go! 📅",
11 | "📈 If you're not on the $BOB train on PumpFun, what are you waiting for? All aboard! 🛤️",
12 | "Let's do it as end"
13 | ]
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Bot",
3 | "lockfileVersion": 3,
4 | "requires": true,
5 | "packages": {
6 | "": {
7 | "dependencies": {
8 | "@solana/web3.js": "^1.95.5",
9 | "axios": "^1.7.8",
10 | "bs58": "^6.0.0",
11 | "ts-node": "^10.9.2",
12 | "tweetnacl": "^1.0.3",
13 | "typescript": "^5.7.2"
14 | }
15 | },
16 | "node_modules/@babel/runtime": {
17 | "version": "7.26.0",
18 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz",
19 | "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
20 | "license": "MIT",
21 | "dependencies": {
22 | "regenerator-runtime": "^0.14.0"
23 | },
24 | "engines": {
25 | "node": ">=6.9.0"
26 | }
27 | },
28 | "node_modules/@cspotcode/source-map-support": {
29 | "version": "0.8.1",
30 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
31 | "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
32 | "license": "MIT",
33 | "dependencies": {
34 | "@jridgewell/trace-mapping": "0.3.9"
35 | },
36 | "engines": {
37 | "node": ">=12"
38 | }
39 | },
40 | "node_modules/@jridgewell/resolve-uri": {
41 | "version": "3.1.2",
42 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
43 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
44 | "license": "MIT",
45 | "engines": {
46 | "node": ">=6.0.0"
47 | }
48 | },
49 | "node_modules/@jridgewell/sourcemap-codec": {
50 | "version": "1.5.0",
51 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
52 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
53 | "license": "MIT"
54 | },
55 | "node_modules/@jridgewell/trace-mapping": {
56 | "version": "0.3.9",
57 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
58 | "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
59 | "license": "MIT",
60 | "dependencies": {
61 | "@jridgewell/resolve-uri": "^3.0.3",
62 | "@jridgewell/sourcemap-codec": "^1.4.10"
63 | }
64 | },
65 | "node_modules/@noble/curves": {
66 | "version": "1.7.0",
67 | "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz",
68 | "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==",
69 | "license": "MIT",
70 | "dependencies": {
71 | "@noble/hashes": "1.6.0"
72 | },
73 | "engines": {
74 | "node": "^14.21.3 || >=16"
75 | },
76 | "funding": {
77 | "url": "https://paulmillr.com/funding/"
78 | }
79 | },
80 | "node_modules/@noble/curves/node_modules/@noble/hashes": {
81 | "version": "1.6.0",
82 | "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz",
83 | "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==",
84 | "license": "MIT",
85 | "engines": {
86 | "node": "^14.21.3 || >=16"
87 | },
88 | "funding": {
89 | "url": "https://paulmillr.com/funding/"
90 | }
91 | },
92 | "node_modules/@noble/hashes": {
93 | "version": "1.6.1",
94 | "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz",
95 | "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==",
96 | "license": "MIT",
97 | "engines": {
98 | "node": "^14.21.3 || >=16"
99 | },
100 | "funding": {
101 | "url": "https://paulmillr.com/funding/"
102 | }
103 | },
104 | "node_modules/@solana/buffer-layout": {
105 | "version": "4.0.1",
106 | "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz",
107 | "integrity": "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==",
108 | "license": "MIT",
109 | "dependencies": {
110 | "buffer": "~6.0.3"
111 | },
112 | "engines": {
113 | "node": ">=5.10"
114 | }
115 | },
116 | "node_modules/@solana/web3.js": {
117 | "version": "1.95.5",
118 | "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.95.5.tgz",
119 | "integrity": "sha512-hU9cBrbg1z6gEjLH9vwIckGBVB78Ijm0iZFNk4ocm5OD82piPwuk3MeQ1rfiKD9YQtr95krrcaopb49EmQJlRg==",
120 | "license": "MIT",
121 | "dependencies": {
122 | "@babel/runtime": "^7.25.0",
123 | "@noble/curves": "^1.4.2",
124 | "@noble/hashes": "^1.4.0",
125 | "@solana/buffer-layout": "^4.0.1",
126 | "agentkeepalive": "^4.5.0",
127 | "bigint-buffer": "^1.1.5",
128 | "bn.js": "^5.2.1",
129 | "borsh": "^0.7.0",
130 | "bs58": "^4.0.1",
131 | "buffer": "6.0.3",
132 | "fast-stable-stringify": "^1.0.0",
133 | "jayson": "^4.1.1",
134 | "node-fetch": "^2.7.0",
135 | "rpc-websockets": "^9.0.2",
136 | "superstruct": "^2.0.2"
137 | }
138 | },
139 | "node_modules/@solana/web3.js/node_modules/base-x": {
140 | "version": "3.0.10",
141 | "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz",
142 | "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==",
143 | "license": "MIT",
144 | "dependencies": {
145 | "safe-buffer": "^5.0.1"
146 | }
147 | },
148 | "node_modules/@solana/web3.js/node_modules/bs58": {
149 | "version": "4.0.1",
150 | "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
151 | "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==",
152 | "license": "MIT",
153 | "dependencies": {
154 | "base-x": "^3.0.2"
155 | }
156 | },
157 | "node_modules/@swc/helpers": {
158 | "version": "0.5.15",
159 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
160 | "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
161 | "license": "Apache-2.0",
162 | "dependencies": {
163 | "tslib": "^2.8.0"
164 | }
165 | },
166 | "node_modules/@tsconfig/node10": {
167 | "version": "1.0.11",
168 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
169 | "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
170 | "license": "MIT"
171 | },
172 | "node_modules/@tsconfig/node12": {
173 | "version": "1.0.11",
174 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
175 | "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
176 | "license": "MIT"
177 | },
178 | "node_modules/@tsconfig/node14": {
179 | "version": "1.0.3",
180 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
181 | "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
182 | "license": "MIT"
183 | },
184 | "node_modules/@tsconfig/node16": {
185 | "version": "1.0.4",
186 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
187 | "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
188 | "license": "MIT"
189 | },
190 | "node_modules/@types/connect": {
191 | "version": "3.4.38",
192 | "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
193 | "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
194 | "license": "MIT",
195 | "dependencies": {
196 | "@types/node": "*"
197 | }
198 | },
199 | "node_modules/@types/node": {
200 | "version": "12.20.55",
201 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz",
202 | "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==",
203 | "license": "MIT"
204 | },
205 | "node_modules/@types/uuid": {
206 | "version": "8.3.4",
207 | "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz",
208 | "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==",
209 | "license": "MIT"
210 | },
211 | "node_modules/@types/ws": {
212 | "version": "7.4.7",
213 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
214 | "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
215 | "license": "MIT",
216 | "dependencies": {
217 | "@types/node": "*"
218 | }
219 | },
220 | "node_modules/acorn": {
221 | "version": "8.14.0",
222 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
223 | "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
224 | "license": "MIT",
225 | "bin": {
226 | "acorn": "bin/acorn"
227 | },
228 | "engines": {
229 | "node": ">=0.4.0"
230 | }
231 | },
232 | "node_modules/acorn-walk": {
233 | "version": "8.3.4",
234 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
235 | "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
236 | "license": "MIT",
237 | "dependencies": {
238 | "acorn": "^8.11.0"
239 | },
240 | "engines": {
241 | "node": ">=0.4.0"
242 | }
243 | },
244 | "node_modules/agentkeepalive": {
245 | "version": "4.5.0",
246 | "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
247 | "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
248 | "license": "MIT",
249 | "dependencies": {
250 | "humanize-ms": "^1.2.1"
251 | },
252 | "engines": {
253 | "node": ">= 8.0.0"
254 | }
255 | },
256 | "node_modules/arg": {
257 | "version": "4.1.3",
258 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
259 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
260 | "license": "MIT"
261 | },
262 | "node_modules/asynckit": {
263 | "version": "0.4.0",
264 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
265 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
266 | "license": "MIT"
267 | },
268 | "node_modules/axios": {
269 | "version": "1.7.8",
270 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.8.tgz",
271 | "integrity": "sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==",
272 | "license": "MIT",
273 | "dependencies": {
274 | "follow-redirects": "^1.15.6",
275 | "form-data": "^4.0.0",
276 | "proxy-from-env": "^1.1.0"
277 | }
278 | },
279 | "node_modules/base-x": {
280 | "version": "5.0.0",
281 | "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.0.tgz",
282 | "integrity": "sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==",
283 | "license": "MIT"
284 | },
285 | "node_modules/base64-js": {
286 | "version": "1.5.1",
287 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
288 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
289 | "funding": [
290 | {
291 | "type": "github",
292 | "url": "https://github.com/sponsors/feross"
293 | },
294 | {
295 | "type": "patreon",
296 | "url": "https://www.patreon.com/feross"
297 | },
298 | {
299 | "type": "consulting",
300 | "url": "https://feross.org/support"
301 | }
302 | ],
303 | "license": "MIT"
304 | },
305 | "node_modules/bigint-buffer": {
306 | "version": "1.1.5",
307 | "resolved": "https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz",
308 | "integrity": "sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==",
309 | "hasInstallScript": true,
310 | "license": "Apache-2.0",
311 | "dependencies": {
312 | "bindings": "^1.3.0"
313 | },
314 | "engines": {
315 | "node": ">= 10.0.0"
316 | }
317 | },
318 | "node_modules/bindings": {
319 | "version": "1.5.0",
320 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
321 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
322 | "license": "MIT",
323 | "dependencies": {
324 | "file-uri-to-path": "1.0.0"
325 | }
326 | },
327 | "node_modules/bn.js": {
328 | "version": "5.2.1",
329 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
330 | "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
331 | "license": "MIT"
332 | },
333 | "node_modules/borsh": {
334 | "version": "0.7.0",
335 | "resolved": "https://registry.npmjs.org/borsh/-/borsh-0.7.0.tgz",
336 | "integrity": "sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==",
337 | "license": "Apache-2.0",
338 | "dependencies": {
339 | "bn.js": "^5.2.0",
340 | "bs58": "^4.0.0",
341 | "text-encoding-utf-8": "^1.0.2"
342 | }
343 | },
344 | "node_modules/borsh/node_modules/base-x": {
345 | "version": "3.0.10",
346 | "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz",
347 | "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==",
348 | "license": "MIT",
349 | "dependencies": {
350 | "safe-buffer": "^5.0.1"
351 | }
352 | },
353 | "node_modules/borsh/node_modules/bs58": {
354 | "version": "4.0.1",
355 | "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
356 | "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==",
357 | "license": "MIT",
358 | "dependencies": {
359 | "base-x": "^3.0.2"
360 | }
361 | },
362 | "node_modules/bs58": {
363 | "version": "6.0.0",
364 | "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz",
365 | "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==",
366 | "license": "MIT",
367 | "dependencies": {
368 | "base-x": "^5.0.0"
369 | }
370 | },
371 | "node_modules/buffer": {
372 | "version": "6.0.3",
373 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
374 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
375 | "funding": [
376 | {
377 | "type": "github",
378 | "url": "https://github.com/sponsors/feross"
379 | },
380 | {
381 | "type": "patreon",
382 | "url": "https://www.patreon.com/feross"
383 | },
384 | {
385 | "type": "consulting",
386 | "url": "https://feross.org/support"
387 | }
388 | ],
389 | "license": "MIT",
390 | "dependencies": {
391 | "base64-js": "^1.3.1",
392 | "ieee754": "^1.2.1"
393 | }
394 | },
395 | "node_modules/bufferutil": {
396 | "version": "4.0.8",
397 | "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz",
398 | "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==",
399 | "hasInstallScript": true,
400 | "license": "MIT",
401 | "optional": true,
402 | "dependencies": {
403 | "node-gyp-build": "^4.3.0"
404 | },
405 | "engines": {
406 | "node": ">=6.14.2"
407 | }
408 | },
409 | "node_modules/combined-stream": {
410 | "version": "1.0.8",
411 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
412 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
413 | "license": "MIT",
414 | "dependencies": {
415 | "delayed-stream": "~1.0.0"
416 | },
417 | "engines": {
418 | "node": ">= 0.8"
419 | }
420 | },
421 | "node_modules/commander": {
422 | "version": "2.20.3",
423 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
424 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
425 | "license": "MIT"
426 | },
427 | "node_modules/create-require": {
428 | "version": "1.1.1",
429 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
430 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
431 | "license": "MIT"
432 | },
433 | "node_modules/delay": {
434 | "version": "5.0.0",
435 | "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
436 | "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==",
437 | "license": "MIT",
438 | "engines": {
439 | "node": ">=10"
440 | },
441 | "funding": {
442 | "url": "https://github.com/sponsors/sindresorhus"
443 | }
444 | },
445 | "node_modules/delayed-stream": {
446 | "version": "1.0.0",
447 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
448 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
449 | "license": "MIT",
450 | "engines": {
451 | "node": ">=0.4.0"
452 | }
453 | },
454 | "node_modules/diff": {
455 | "version": "4.0.2",
456 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
457 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
458 | "license": "BSD-3-Clause",
459 | "engines": {
460 | "node": ">=0.3.1"
461 | }
462 | },
463 | "node_modules/es6-promise": {
464 | "version": "4.2.8",
465 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
466 | "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
467 | "license": "MIT"
468 | },
469 | "node_modules/es6-promisify": {
470 | "version": "5.0.0",
471 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
472 | "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==",
473 | "license": "MIT",
474 | "dependencies": {
475 | "es6-promise": "^4.0.3"
476 | }
477 | },
478 | "node_modules/eventemitter3": {
479 | "version": "5.0.1",
480 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
481 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
482 | "license": "MIT"
483 | },
484 | "node_modules/eyes": {
485 | "version": "0.1.8",
486 | "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
487 | "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==",
488 | "engines": {
489 | "node": "> 0.1.90"
490 | }
491 | },
492 | "node_modules/fast-stable-stringify": {
493 | "version": "1.0.0",
494 | "resolved": "https://registry.npmjs.org/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz",
495 | "integrity": "sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==",
496 | "license": "MIT"
497 | },
498 | "node_modules/file-uri-to-path": {
499 | "version": "1.0.0",
500 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
501 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
502 | "license": "MIT"
503 | },
504 | "node_modules/follow-redirects": {
505 | "version": "1.15.9",
506 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
507 | "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
508 | "funding": [
509 | {
510 | "type": "individual",
511 | "url": "https://github.com/sponsors/RubenVerborgh"
512 | }
513 | ],
514 | "license": "MIT",
515 | "engines": {
516 | "node": ">=4.0"
517 | },
518 | "peerDependenciesMeta": {
519 | "debug": {
520 | "optional": true
521 | }
522 | }
523 | },
524 | "node_modules/form-data": {
525 | "version": "4.0.1",
526 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
527 | "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
528 | "license": "MIT",
529 | "dependencies": {
530 | "asynckit": "^0.4.0",
531 | "combined-stream": "^1.0.8",
532 | "mime-types": "^2.1.12"
533 | },
534 | "engines": {
535 | "node": ">= 6"
536 | }
537 | },
538 | "node_modules/humanize-ms": {
539 | "version": "1.2.1",
540 | "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
541 | "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
542 | "license": "MIT",
543 | "dependencies": {
544 | "ms": "^2.0.0"
545 | }
546 | },
547 | "node_modules/ieee754": {
548 | "version": "1.2.1",
549 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
550 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
551 | "funding": [
552 | {
553 | "type": "github",
554 | "url": "https://github.com/sponsors/feross"
555 | },
556 | {
557 | "type": "patreon",
558 | "url": "https://www.patreon.com/feross"
559 | },
560 | {
561 | "type": "consulting",
562 | "url": "https://feross.org/support"
563 | }
564 | ],
565 | "license": "BSD-3-Clause"
566 | },
567 | "node_modules/isomorphic-ws": {
568 | "version": "4.0.1",
569 | "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz",
570 | "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==",
571 | "license": "MIT",
572 | "peerDependencies": {
573 | "ws": "*"
574 | }
575 | },
576 | "node_modules/jayson": {
577 | "version": "4.1.3",
578 | "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.1.3.tgz",
579 | "integrity": "sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==",
580 | "license": "MIT",
581 | "dependencies": {
582 | "@types/connect": "^3.4.33",
583 | "@types/node": "^12.12.54",
584 | "@types/ws": "^7.4.4",
585 | "commander": "^2.20.3",
586 | "delay": "^5.0.0",
587 | "es6-promisify": "^5.0.0",
588 | "eyes": "^0.1.8",
589 | "isomorphic-ws": "^4.0.1",
590 | "json-stringify-safe": "^5.0.1",
591 | "JSONStream": "^1.3.5",
592 | "uuid": "^8.3.2",
593 | "ws": "^7.5.10"
594 | },
595 | "bin": {
596 | "jayson": "bin/jayson.js"
597 | },
598 | "engines": {
599 | "node": ">=8"
600 | }
601 | },
602 | "node_modules/json-stringify-safe": {
603 | "version": "5.0.1",
604 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
605 | "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
606 | "license": "ISC"
607 | },
608 | "node_modules/jsonparse": {
609 | "version": "1.3.1",
610 | "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
611 | "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
612 | "engines": [
613 | "node >= 0.2.0"
614 | ],
615 | "license": "MIT"
616 | },
617 | "node_modules/JSONStream": {
618 | "version": "1.3.5",
619 | "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
620 | "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
621 | "license": "(MIT OR Apache-2.0)",
622 | "dependencies": {
623 | "jsonparse": "^1.2.0",
624 | "through": ">=2.2.7 <3"
625 | },
626 | "bin": {
627 | "JSONStream": "bin.js"
628 | },
629 | "engines": {
630 | "node": "*"
631 | }
632 | },
633 | "node_modules/make-error": {
634 | "version": "1.3.6",
635 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
636 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
637 | "license": "ISC"
638 | },
639 | "node_modules/mime-db": {
640 | "version": "1.52.0",
641 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
642 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
643 | "license": "MIT",
644 | "engines": {
645 | "node": ">= 0.6"
646 | }
647 | },
648 | "node_modules/mime-types": {
649 | "version": "2.1.35",
650 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
651 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
652 | "license": "MIT",
653 | "dependencies": {
654 | "mime-db": "1.52.0"
655 | },
656 | "engines": {
657 | "node": ">= 0.6"
658 | }
659 | },
660 | "node_modules/ms": {
661 | "version": "2.1.3",
662 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
663 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
664 | "license": "MIT"
665 | },
666 | "node_modules/node-fetch": {
667 | "version": "2.7.0",
668 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
669 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
670 | "license": "MIT",
671 | "dependencies": {
672 | "whatwg-url": "^5.0.0"
673 | },
674 | "engines": {
675 | "node": "4.x || >=6.0.0"
676 | },
677 | "peerDependencies": {
678 | "encoding": "^0.1.0"
679 | },
680 | "peerDependenciesMeta": {
681 | "encoding": {
682 | "optional": true
683 | }
684 | }
685 | },
686 | "node_modules/node-gyp-build": {
687 | "version": "4.8.4",
688 | "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
689 | "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
690 | "license": "MIT",
691 | "optional": true,
692 | "bin": {
693 | "node-gyp-build": "bin.js",
694 | "node-gyp-build-optional": "optional.js",
695 | "node-gyp-build-test": "build-test.js"
696 | }
697 | },
698 | "node_modules/proxy-from-env": {
699 | "version": "1.1.0",
700 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
701 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
702 | "license": "MIT"
703 | },
704 | "node_modules/regenerator-runtime": {
705 | "version": "0.14.1",
706 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
707 | "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
708 | "license": "MIT"
709 | },
710 | "node_modules/rpc-websockets": {
711 | "version": "9.0.4",
712 | "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-9.0.4.tgz",
713 | "integrity": "sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==",
714 | "license": "LGPL-3.0-only",
715 | "dependencies": {
716 | "@swc/helpers": "^0.5.11",
717 | "@types/uuid": "^8.3.4",
718 | "@types/ws": "^8.2.2",
719 | "buffer": "^6.0.3",
720 | "eventemitter3": "^5.0.1",
721 | "uuid": "^8.3.2",
722 | "ws": "^8.5.0"
723 | },
724 | "funding": {
725 | "type": "paypal",
726 | "url": "https://paypal.me/kozjak"
727 | },
728 | "optionalDependencies": {
729 | "bufferutil": "^4.0.1",
730 | "utf-8-validate": "^5.0.2"
731 | }
732 | },
733 | "node_modules/rpc-websockets/node_modules/@types/ws": {
734 | "version": "8.5.13",
735 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz",
736 | "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==",
737 | "license": "MIT",
738 | "dependencies": {
739 | "@types/node": "*"
740 | }
741 | },
742 | "node_modules/rpc-websockets/node_modules/ws": {
743 | "version": "8.18.0",
744 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
745 | "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
746 | "license": "MIT",
747 | "engines": {
748 | "node": ">=10.0.0"
749 | },
750 | "peerDependencies": {
751 | "bufferutil": "^4.0.1",
752 | "utf-8-validate": ">=5.0.2"
753 | },
754 | "peerDependenciesMeta": {
755 | "bufferutil": {
756 | "optional": true
757 | },
758 | "utf-8-validate": {
759 | "optional": true
760 | }
761 | }
762 | },
763 | "node_modules/safe-buffer": {
764 | "version": "5.2.1",
765 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
766 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
767 | "funding": [
768 | {
769 | "type": "github",
770 | "url": "https://github.com/sponsors/feross"
771 | },
772 | {
773 | "type": "patreon",
774 | "url": "https://www.patreon.com/feross"
775 | },
776 | {
777 | "type": "consulting",
778 | "url": "https://feross.org/support"
779 | }
780 | ],
781 | "license": "MIT"
782 | },
783 | "node_modules/superstruct": {
784 | "version": "2.0.2",
785 | "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-2.0.2.tgz",
786 | "integrity": "sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==",
787 | "license": "MIT",
788 | "engines": {
789 | "node": ">=14.0.0"
790 | }
791 | },
792 | "node_modules/text-encoding-utf-8": {
793 | "version": "1.0.2",
794 | "resolved": "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz",
795 | "integrity": "sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg=="
796 | },
797 | "node_modules/through": {
798 | "version": "2.3.8",
799 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
800 | "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
801 | "license": "MIT"
802 | },
803 | "node_modules/tr46": {
804 | "version": "0.0.3",
805 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
806 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
807 | "license": "MIT"
808 | },
809 | "node_modules/ts-node": {
810 | "version": "10.9.2",
811 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
812 | "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
813 | "license": "MIT",
814 | "dependencies": {
815 | "@cspotcode/source-map-support": "^0.8.0",
816 | "@tsconfig/node10": "^1.0.7",
817 | "@tsconfig/node12": "^1.0.7",
818 | "@tsconfig/node14": "^1.0.0",
819 | "@tsconfig/node16": "^1.0.2",
820 | "acorn": "^8.4.1",
821 | "acorn-walk": "^8.1.1",
822 | "arg": "^4.1.0",
823 | "create-require": "^1.1.0",
824 | "diff": "^4.0.1",
825 | "make-error": "^1.1.1",
826 | "v8-compile-cache-lib": "^3.0.1",
827 | "yn": "3.1.1"
828 | },
829 | "bin": {
830 | "ts-node": "dist/bin.js",
831 | "ts-node-cwd": "dist/bin-cwd.js",
832 | "ts-node-esm": "dist/bin-esm.js",
833 | "ts-node-script": "dist/bin-script.js",
834 | "ts-node-transpile-only": "dist/bin-transpile.js",
835 | "ts-script": "dist/bin-script-deprecated.js"
836 | },
837 | "peerDependencies": {
838 | "@swc/core": ">=1.2.50",
839 | "@swc/wasm": ">=1.2.50",
840 | "@types/node": "*",
841 | "typescript": ">=2.7"
842 | },
843 | "peerDependenciesMeta": {
844 | "@swc/core": {
845 | "optional": true
846 | },
847 | "@swc/wasm": {
848 | "optional": true
849 | }
850 | }
851 | },
852 | "node_modules/tslib": {
853 | "version": "2.8.1",
854 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
855 | "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
856 | "license": "0BSD"
857 | },
858 | "node_modules/tweetnacl": {
859 | "version": "1.0.3",
860 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
861 | "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==",
862 | "license": "Unlicense"
863 | },
864 | "node_modules/typescript": {
865 | "version": "5.7.2",
866 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
867 | "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
868 | "license": "Apache-2.0",
869 | "bin": {
870 | "tsc": "bin/tsc",
871 | "tsserver": "bin/tsserver"
872 | },
873 | "engines": {
874 | "node": ">=14.17"
875 | }
876 | },
877 | "node_modules/utf-8-validate": {
878 | "version": "5.0.10",
879 | "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz",
880 | "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==",
881 | "hasInstallScript": true,
882 | "license": "MIT",
883 | "optional": true,
884 | "dependencies": {
885 | "node-gyp-build": "^4.3.0"
886 | },
887 | "engines": {
888 | "node": ">=6.14.2"
889 | }
890 | },
891 | "node_modules/uuid": {
892 | "version": "8.3.2",
893 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
894 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
895 | "license": "MIT",
896 | "bin": {
897 | "uuid": "dist/bin/uuid"
898 | }
899 | },
900 | "node_modules/v8-compile-cache-lib": {
901 | "version": "3.0.1",
902 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
903 | "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
904 | "license": "MIT"
905 | },
906 | "node_modules/webidl-conversions": {
907 | "version": "3.0.1",
908 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
909 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
910 | "license": "BSD-2-Clause"
911 | },
912 | "node_modules/whatwg-url": {
913 | "version": "5.0.0",
914 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
915 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
916 | "license": "MIT",
917 | "dependencies": {
918 | "tr46": "~0.0.3",
919 | "webidl-conversions": "^3.0.0"
920 | }
921 | },
922 | "node_modules/ws": {
923 | "version": "7.5.10",
924 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
925 | "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
926 | "license": "MIT",
927 | "engines": {
928 | "node": ">=8.3.0"
929 | },
930 | "peerDependencies": {
931 | "bufferutil": "^4.0.1",
932 | "utf-8-validate": "^5.0.2"
933 | },
934 | "peerDependenciesMeta": {
935 | "bufferutil": {
936 | "optional": true
937 | },
938 | "utf-8-validate": {
939 | "optional": true
940 | }
941 | }
942 | },
943 | "node_modules/yn": {
944 | "version": "3.1.1",
945 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
946 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
947 | "license": "MIT",
948 | "engines": {
949 | "node": ">=6"
950 | }
951 | }
952 | }
953 | }
954 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pump.fun-comment-bot",
3 | "version": "1.0.0",
4 | "description": "This is comment bot which is running on pump.fun",
5 | "main": "index.ts",
6 | "dependencies": {
7 | "@solana/web3.js": "^1.95.5",
8 | "axios": "^1.7.8",
9 | "bs58": "^6.0.0",
10 | "chalk": "^5.4.1",
11 | "dotenv": "^16.4.7",
12 | "fs": "^0.0.1-security",
13 | "https-proxy-agent": "^7.0.6",
14 | "openai": "^4.77.0",
15 | "readline": "^1.3.0",
16 | "socks-proxy-agent": "^8.0.5",
17 | "ts-node": "^10.9.2",
18 | "tweetnacl": "^1.0.3",
19 | "typescript": "^5.7.2"
20 | },
21 | "scripts": {
22 | "dev": "ts-node src/index.ts",
23 | "test": "ts-node src/test.ts"
24 | },
25 | "keywords": [
26 | "pumpfun",
27 | "comment",
28 | "bot",
29 | "solana",
30 | "dex"
31 | ],
32 | "author": "https://github.com/wizasol",
33 | "license": "ISC"
34 | }
35 |
--------------------------------------------------------------------------------
/proxy_list.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "_id": "677a8c546b79c1e0b5e26ac7",
4 | "ip": "123.30.154.171",
5 | "anonymityLevel": "elite",
6 | "asn": "AS135905",
7 | "city": "Hanoi",
8 | "country": "VN",
9 | "created_at": "2025-01-05T13:42:44.148Z",
10 | "google": false,
11 | "isp": "VietNam Post and Telecom Corporation",
12 | "lastChecked": 1736282180,
13 | "latency": 294.451,
14 | "org": "Vietnam Posts and Telecommunications Group",
15 | "port": "7777",
16 | "protocols": [
17 | "http"
18 | ],
19 | "speed": 12111,
20 | "upTime": 100,
21 | "upTimeSuccessCount": 18,
22 | "upTimeTryCount": 18,
23 | "updated_at": "2025-01-07T20:36:20.212Z",
24 | "responseTime": 449
25 | },
26 | {
27 | "_id": "677c760f6b79c1e0b5247ae8",
28 | "ip": "27.77.79.174",
29 | "anonymityLevel": "elite",
30 | "asn": "AS7552",
31 | "city": "Biên Hòa",
32 | "country": "VN",
33 | "created_at": "2025-01-07T00:32:15.899Z",
34 | "google": false,
35 | "isp": "Newass2011xDSLHCMC",
36 | "lastChecked": 1736282152,
37 | "latency": 197,
38 | "org": "",
39 | "port": "8118",
40 | "protocols": [
41 | "http"
42 | ],
43 | "speed": 9007,
44 | "upTime": 100,
45 | "upTimeSuccessCount": 7,
46 | "upTimeTryCount": 7,
47 | "updated_at": "2025-01-07T20:35:52.108Z",
48 | "responseTime": 255
49 | },
50 | {
51 | "_id": "677c0d066b79c1e0b515d21a",
52 | "ip": "112.78.39.252",
53 | "anonymityLevel": "transparent",
54 | "asn": "AS55666",
55 | "country": "ID",
56 | "created_at": "2025-01-06T17:03:06.060Z",
57 | "google": false,
58 | "lastChecked": 1736282122,
59 | "latency": 179.852,
60 | "org": "Gmedia ID Semarang",
61 | "port": "8080",
62 | "protocols": [
63 | "http"
64 | ],
65 | "speed": 8397,
66 | "upTime": 100,
67 | "upTimeSuccessCount": 9,
68 | "upTimeTryCount": 9,
69 | "updated_at": "2025-01-07T20:35:22.523Z",
70 | "city": "Semarang",
71 | "isp": "PT Media Sarana Data",
72 | "responseTime": 403
73 | },
74 | {
75 | "_id": "677c74506b79c1e0b5244335",
76 | "ip": "114.218.77.228",
77 | "anonymityLevel": "elite",
78 | "asn": "AS140292",
79 | "city": "Nanjing",
80 | "country": "CN",
81 | "created_at": "2025-01-07T00:24:48.581Z",
82 | "google": false,
83 | "isp": "China Telecom",
84 | "lastChecked": 1736282057,
85 | "latency": 225.778,
86 | "org": "Chinanet JS",
87 | "port": "8089",
88 | "protocols": [
89 | "http"
90 | ],
91 | "speed": 10410,
92 | "upTime": 100,
93 | "upTimeSuccessCount": 7,
94 | "upTimeTryCount": 7,
95 | "updated_at": "2025-01-07T20:34:17.021Z",
96 | "responseTime": 273
97 | },
98 | {
99 | "_id": "676d10a66b79c1e0b506fffc",
100 | "ip": "136.243.82.121",
101 | "anonymityLevel": "elite",
102 | "asn": "AS24940",
103 | "country": "DE",
104 | "created_at": "2024-12-26T08:15:34.463Z",
105 | "google": false,
106 | "lastChecked": 1736282000,
107 | "latency": 22.224,
108 | "org": "Hetzner",
109 | "port": "1082",
110 | "protocols": [
111 | "http"
112 | ],
113 | "speed": 19696,
114 | "upTime": 100,
115 | "upTimeSuccessCount": 93,
116 | "upTimeTryCount": 93,
117 | "updated_at": "2025-01-07T20:33:20.409Z",
118 | "city": "Falkenstein",
119 | "isp": "Hetzner Online GmbH",
120 | "responseTime": 401
121 | },
122 | {
123 | "_id": "677a8ba16b79c1e0b5e250e5",
124 | "ip": "109.61.42.223",
125 | "anonymityLevel": "elite",
126 | "asn": "AS199524",
127 | "city": "Dubai",
128 | "country": "AE",
129 | "created_at": "2025-01-05T13:39:45.505Z",
130 | "google": false,
131 | "isp": "G-Core Labs S.A.",
132 | "lastChecked": 1736281855,
133 | "latency": 183.702,
134 | "org": "GCL",
135 | "port": "80",
136 | "protocols": [
137 | "http"
138 | ],
139 | "speed": 7896,
140 | "upTime": 94.73684210526315,
141 | "upTimeSuccessCount": 18,
142 | "upTimeTryCount": 19,
143 | "updated_at": "2025-01-07T20:30:55.107Z",
144 | "responseTime": 307
145 | },
146 | {
147 | "_id": "677a8ee16b79c1e0b5e2bd5a",
148 | "ip": "27.79.235.193",
149 | "anonymityLevel": "elite",
150 | "asn": "AS7552",
151 | "city": "Hanoi",
152 | "country": "VN",
153 | "created_at": "2025-01-05T13:53:37.199Z",
154 | "google": false,
155 | "isp": "Viettel Corporation",
156 | "lastChecked": 1736281745,
157 | "latency": 292.556,
158 | "org": "VIETEL",
159 | "port": "16000",
160 | "protocols": [
161 | "http"
162 | ],
163 | "speed": 7409,
164 | "upTime": 100,
165 | "upTimeSuccessCount": 17,
166 | "upTimeTryCount": 17,
167 | "updated_at": "2025-01-07T20:29:05.515Z",
168 | "responseTime": 338
169 | },
170 | {
171 | "_id": "677c6f296b79c1e0b5237f32",
172 | "ip": "200.10.31.220",
173 | "anonymityLevel": "transparent",
174 | "asn": "AS270075",
175 | "city": "Pereira",
176 | "country": "CO",
177 | "created_at": "2025-01-07T00:02:49.373Z",
178 | "google": false,
179 | "isp": "Super Redes S.A.S",
180 | "lastChecked": 1736281734,
181 | "latency": 283.646,
182 | "org": "Super Redes",
183 | "port": "999",
184 | "protocols": [
185 | "http"
186 | ],
187 | "speed": 14893,
188 | "upTime": 100,
189 | "upTimeSuccessCount": 7,
190 | "upTimeTryCount": 7,
191 | "updated_at": "2025-01-07T20:28:54.609Z",
192 | "responseTime": 327
193 | },
194 | {
195 | "_id": "677a8cee6b79c1e0b5e280cc",
196 | "ip": "91.197.1.203",
197 | "anonymityLevel": "elite",
198 | "asn": "AS42532",
199 | "city": "Riga",
200 | "country": "LV",
201 | "created_at": "2025-01-05T13:45:18.831Z",
202 | "google": false,
203 | "isp": "SIA VEESP",
204 | "lastChecked": 1736281727,
205 | "latency": 36.732,
206 | "org": "SIA VEESP",
207 | "port": "8888",
208 | "protocols": [
209 | "http"
210 | ],
211 | "speed": 11900,
212 | "upTime": 100,
213 | "upTimeSuccessCount": 18,
214 | "upTimeTryCount": 18,
215 | "updated_at": "2025-01-07T20:28:47.208Z",
216 | "responseTime": 1013
217 | },
218 | {
219 | "_id": "677c72726b79c1e0b524016e",
220 | "ip": "58.136.170.59",
221 | "anonymityLevel": "transparent",
222 | "asn": "AS133481",
223 | "city": "Bangkok",
224 | "country": "TH",
225 | "created_at": "2025-01-07T00:16:50.008Z",
226 | "google": false,
227 | "isp": "AIS-Fibre",
228 | "lastChecked": 1736281700,
229 | "latency": 200.447,
230 | "org": "",
231 | "port": "8080",
232 | "protocols": [
233 | "http"
234 | ],
235 | "speed": 12603,
236 | "upTime": 100,
237 | "upTimeSuccessCount": 7,
238 | "upTimeTryCount": 7,
239 | "updated_at": "2025-01-07T20:28:20.812Z",
240 | "responseTime": 275
241 | },
242 | {
243 | "_id": "677a8bd56b79c1e0b5e25953",
244 | "ip": "191.252.113.131",
245 | "anonymityLevel": "elite",
246 | "asn": "AS27715",
247 | "city": "São Paulo",
248 | "country": "BR",
249 | "created_at": "2025-01-05T13:40:37.024Z",
250 | "google": false,
251 | "isp": "Locaweb Serviços de Internet S/A",
252 | "lastChecked": 1736281693,
253 | "latency": 195.143,
254 | "org": "Locaweb Serviços de Internet S/A",
255 | "port": "80",
256 | "protocols": [
257 | "http"
258 | ],
259 | "speed": 13905,
260 | "upTime": 100,
261 | "upTimeSuccessCount": 18,
262 | "upTimeTryCount": 18,
263 | "updated_at": "2025-01-07T20:28:13.511Z",
264 | "responseTime": 445
265 | },
266 | {
267 | "_id": "6747b29c6b79c1e0b50e3b14",
268 | "ip": "157.66.16.33",
269 | "anonymityLevel": "anonymous",
270 | "asn": "AS136089",
271 | "city": "Indramayu",
272 | "country": "ID",
273 | "created_at": "2024-11-28T00:00:28.549Z",
274 | "google": false,
275 | "isp": "PT Mitra Mandiri Network",
276 | "lastChecked": 1736281680,
277 | "latency": 198.769,
278 | "org": "PT Mitra Mandiri Network",
279 | "port": "8070",
280 | "protocols": [
281 | "http"
282 | ],
283 | "speed": 25501,
284 | "upTime": 99.36305732484077,
285 | "upTimeSuccessCount": 312,
286 | "upTimeTryCount": 314,
287 | "updated_at": "2025-01-07T20:28:00.719Z",
288 | "responseTime": 686
289 | },
290 | {
291 | "_id": "677c716e6b79c1e0b523d936",
292 | "ip": "182.253.159.210",
293 | "anonymityLevel": "transparent",
294 | "asn": "AS17451",
295 | "city": "Jakarta",
296 | "country": "ID",
297 | "created_at": "2025-01-07T00:12:30.682Z",
298 | "google": false,
299 | "isp": "BIZNET",
300 | "lastChecked": 1736281655,
301 | "latency": 184.154,
302 | "org": "",
303 | "port": "8080",
304 | "protocols": [
305 | "http"
306 | ],
307 | "speed": 11189,
308 | "upTime": 100,
309 | "upTimeSuccessCount": 7,
310 | "upTimeTryCount": 7,
311 | "updated_at": "2025-01-07T20:27:35.507Z",
312 | "responseTime": 282
313 | },
314 | {
315 | "_id": "677bbc4f6b79c1e0b509d896",
316 | "ip": "179.49.117.19",
317 | "anonymityLevel": "transparent",
318 | "asn": "AS262234",
319 | "country": "HN",
320 | "created_at": "2025-01-06T11:19:43.556Z",
321 | "google": false,
322 | "lastChecked": 1736281655,
323 | "latency": 131.747,
324 | "org": "Asociacion De Servicio De Internet S. De RL",
325 | "port": "999",
326 | "protocols": [
327 | "http"
328 | ],
329 | "speed": 11299,
330 | "upTime": 100,
331 | "upTimeSuccessCount": 10,
332 | "upTimeTryCount": 10,
333 | "updated_at": "2025-01-07T20:27:35.506Z",
334 | "city": "Tegucigalpa",
335 | "isp": "Asociacion De Servicio De Internet S. De RL.",
336 | "responseTime": 1315
337 | },
338 | {
339 | "_id": "677c73316b79c1e0b5241c4b",
340 | "ip": "103.85.183.30",
341 | "anonymityLevel": "transparent",
342 | "asn": "AS134952",
343 | "city": "Dhaka",
344 | "country": "BD",
345 | "created_at": "2025-01-07T00:20:01.085Z",
346 | "google": false,
347 | "isp": "Smart Online",
348 | "lastChecked": 1736281623,
349 | "latency": 190.852,
350 | "org": "Leased to Airnet Communications",
351 | "port": "4995",
352 | "protocols": [
353 | "http"
354 | ],
355 | "speed": 5691,
356 | "upTime": 100,
357 | "upTimeSuccessCount": 7,
358 | "upTimeTryCount": 7,
359 | "updated_at": "2025-01-07T20:27:03.613Z",
360 | "responseTime": 323
361 | },
362 | {
363 | "_id": "677c71b96b79c1e0b523e611",
364 | "ip": "181.114.7.114",
365 | "anonymityLevel": "transparent",
366 | "asn": "AS52286",
367 | "city": "Guatemala City",
368 | "country": "GT",
369 | "created_at": "2025-01-07T00:13:45.306Z",
370 | "google": false,
371 | "isp": "Columbus Networks Guatemala",
372 | "lastChecked": 1736281592,
373 | "latency": 127.231,
374 | "org": "LIBERTY NETWORKS GUATEMALA, LIMITADA",
375 | "port": "999",
376 | "protocols": [
377 | "http"
378 | ],
379 | "speed": 8908,
380 | "upTime": 100,
381 | "upTimeSuccessCount": 7,
382 | "upTimeTryCount": 7,
383 | "updated_at": "2025-01-07T20:26:32.706Z",
384 | "responseTime": 269
385 | },
386 | {
387 | "_id": "67668ada6b79c1e0b51ea7f6",
388 | "ip": "185.142.131.113",
389 | "anonymityLevel": "transparent",
390 | "asn": "AS50666",
391 | "city": "Caldas da Rainha",
392 | "country": "PT",
393 | "created_at": "2024-12-21T09:31:06.969Z",
394 | "google": false,
395 | "isp": "LigaT Telecom Sociedade Unipessoal LDA",
396 | "lastChecked": 1736281545,
397 | "latency": 47.293,
398 | "org": "LigaT Telecom Sociedade Unipessoal LDA",
399 | "port": "8080",
400 | "protocols": [
401 | "http"
402 | ],
403 | "speed": 5300,
404 | "upTime": 100,
405 | "upTimeSuccessCount": 131,
406 | "upTimeTryCount": 131,
407 | "updated_at": "2025-01-07T20:25:45.116Z",
408 | "responseTime": 1261
409 | },
410 | {
411 | "_id": "677a8bfb6b79c1e0b5e25d58",
412 | "ip": "206.189.41.13",
413 | "anonymityLevel": "elite",
414 | "asn": "AS14061",
415 | "city": "Singapore",
416 | "country": "SG",
417 | "created_at": "2025-01-05T13:41:15.328Z",
418 | "google": false,
419 | "isp": "DigitalOcean, LLC",
420 | "lastChecked": 1736281533,
421 | "latency": 188.821,
422 | "org": "DigitalOcean, LLC",
423 | "port": "8888",
424 | "protocols": [
425 | "http"
426 | ],
427 | "speed": 13097,
428 | "upTime": 66.66666666666666,
429 | "upTimeSuccessCount": 12,
430 | "upTimeTryCount": 18,
431 | "updated_at": "2025-01-07T20:25:33.320Z",
432 | "responseTime": 492
433 | },
434 | {
435 | "_id": "6767e8f16b79c1e0b54f9d40",
436 | "ip": "103.135.24.109",
437 | "anonymityLevel": "transparent",
438 | "asn": "AS38320",
439 | "city": "Denpasar",
440 | "country": "ID",
441 | "created_at": "2024-12-22T10:24:49.842Z",
442 | "google": false,
443 | "isp": "PT Maxindo Mitra Solusi",
444 | "lastChecked": 1736281465,
445 | "latency": 204.856,
446 | "org": "PT. TRI KERISNA UTAMA",
447 | "port": "57413",
448 | "protocols": [
449 | "http"
450 | ],
451 | "speed": 7092,
452 | "upTime": 100,
453 | "upTimeSuccessCount": 127,
454 | "upTimeTryCount": 127,
455 | "updated_at": "2025-01-07T20:24:25.005Z",
456 | "responseTime": 515
457 | },
458 | {
459 | "_id": "677cef156b79c1e0b5349d3f",
460 | "ip": "186.96.74.147",
461 | "anonymityLevel": "transparent",
462 | "asn": "AS394684",
463 | "city": "Caracas",
464 | "country": "VE",
465 | "created_at": "2025-01-07T09:08:37.036Z",
466 | "google": false,
467 | "isp": "Gold Data USA Inc",
468 | "lastChecked": 1736281464,
469 | "latency": 191.262,
470 | "org": "Gold Data C.A",
471 | "port": "999",
472 | "protocols": [
473 | "http"
474 | ],
475 | "speed": 7193,
476 | "upTime": 100,
477 | "upTimeSuccessCount": 4,
478 | "upTimeTryCount": 4,
479 | "updated_at": "2025-01-07T20:24:24.922Z",
480 | "responseTime": 2290
481 | },
482 | {
483 | "_id": "677a8b0b6b79c1e0b5e23b35",
484 | "ip": "202.6.233.133",
485 | "anonymityLevel": "elite",
486 | "asn": "AS23756",
487 | "country": "ID",
488 | "created_at": "2025-01-05T13:37:15.358Z",
489 | "google": false,
490 | "lastChecked": 1736281464,
491 | "latency": 192.772,
492 | "org": "",
493 | "port": "80",
494 | "protocols": [
495 | "http"
496 | ],
497 | "speed": 7497,
498 | "upTime": 94.73684210526315,
499 | "upTimeSuccessCount": 18,
500 | "upTimeTryCount": 19,
501 | "updated_at": "2025-01-07T20:24:24.920Z",
502 | "city": "Surabaya",
503 | "isp": "PT Padi Internet",
504 | "responseTime": 693
505 | },
506 | {
507 | "_id": "677bee856b79c1e0b5118290",
508 | "ip": "113.160.132.195",
509 | "anonymityLevel": "elite",
510 | "asn": "AS45899",
511 | "country": "VN",
512 | "created_at": "2025-01-06T14:53:57.255Z",
513 | "google": false,
514 | "lastChecked": 1736281464,
515 | "latency": 253.018,
516 | "org": "Vietnam Posts and Telecommunications Group",
517 | "port": "8080",
518 | "protocols": [
519 | "http"
520 | ],
521 | "speed": 7387,
522 | "upTime": 100,
523 | "upTimeSuccessCount": 10,
524 | "upTimeTryCount": 10,
525 | "updated_at": "2025-01-07T20:24:24.921Z",
526 | "city": "Hanoi",
527 | "isp": "VietNam Post and Telecom Corporation",
528 | "responseTime": 334
529 | },
530 | {
531 | "_id": "677a8f696b79c1e0b5e2cd77",
532 | "ip": "27.79.196.228",
533 | "anonymityLevel": "elite",
534 | "asn": "AS7552",
535 | "city": "Hanoi",
536 | "country": "VN",
537 | "created_at": "2025-01-05T13:55:53.929Z",
538 | "google": false,
539 | "isp": "Viettel Corporation",
540 | "lastChecked": 1736281257,
541 | "latency": 283.629,
542 | "org": "VIETEL",
543 | "port": "16000",
544 | "protocols": [
545 | "http"
546 | ],
547 | "speed": 9591,
548 | "upTime": 100,
549 | "upTimeSuccessCount": 18,
550 | "upTimeTryCount": 18,
551 | "updated_at": "2025-01-07T20:20:57.825Z",
552 | "responseTime": 399
553 | },
554 | {
555 | "_id": "677bc79c6b79c1e0b50b9915",
556 | "ip": "180.112.180.131",
557 | "anonymityLevel": "elite",
558 | "asn": null,
559 | "country": "CN",
560 | "created_at": "2025-01-06T12:07:56.961Z",
561 | "google": false,
562 | "lastChecked": 1736281250,
563 | "latency": 204.249,
564 | "org": null,
565 | "port": "8089",
566 | "protocols": [
567 | "http"
568 | ],
569 | "speed": 9907,
570 | "upTime": 100,
571 | "upTimeSuccessCount": 10,
572 | "upTimeTryCount": 10,
573 | "updated_at": "2025-01-07T20:20:50.723Z",
574 | "city": "Nanjing",
575 | "isp": "Chinanet",
576 | "responseTime": 3692
577 | },
578 | {
579 | "_id": "677cf5276b79c1e0b5356d24",
580 | "ip": "162.241.207.217",
581 | "anonymityLevel": "elite",
582 | "asn": "AS46606",
583 | "city": "Salt Lake City",
584 | "country": "US",
585 | "created_at": "2025-01-07T09:34:31.318Z",
586 | "google": false,
587 | "isp": "Unified Layer",
588 | "lastChecked": 1736281250,
589 | "latency": 126.291,
590 | "org": "Unified Layer",
591 | "port": "80",
592 | "protocols": [
593 | "http"
594 | ],
595 | "speed": 20604,
596 | "upTime": 100,
597 | "upTimeSuccessCount": 4,
598 | "upTimeTryCount": 4,
599 | "updated_at": "2025-01-07T20:20:50.419Z",
600 | "responseTime": 404
601 | },
602 | {
603 | "_id": "677c70076b79c1e0b5239ee6",
604 | "ip": "67.43.227.229",
605 | "anonymityLevel": "elite",
606 | "asn": "AS36666",
607 | "city": "Montreal",
608 | "country": "CA",
609 | "created_at": "2025-01-07T00:06:31.368Z",
610 | "google": false,
611 | "isp": "GloboTech Communications",
612 | "lastChecked": 1736281150,
613 | "latency": 97.571,
614 | "org": "",
615 | "port": "1033",
616 | "protocols": [
617 | "http"
618 | ],
619 | "speed": 9997,
620 | "upTime": 100,
621 | "upTimeSuccessCount": 7,
622 | "upTimeTryCount": 7,
623 | "updated_at": "2025-01-07T20:19:10.206Z",
624 | "responseTime": 273
625 | },
626 | {
627 | "_id": "677a8d7b6b79c1e0b5e290b7",
628 | "ip": "27.79.134.113",
629 | "anonymityLevel": "elite",
630 | "asn": "AS7552",
631 | "city": "Hanoi",
632 | "country": "VN",
633 | "created_at": "2025-01-05T13:47:39.452Z",
634 | "google": false,
635 | "isp": "Viettel Corporation",
636 | "lastChecked": 1736281105,
637 | "latency": 289.316,
638 | "org": "VIETEL",
639 | "port": "16000",
640 | "protocols": [
641 | "http"
642 | ],
643 | "speed": 12898,
644 | "upTime": 100,
645 | "upTimeSuccessCount": 18,
646 | "upTimeTryCount": 18,
647 | "updated_at": "2025-01-07T20:18:25.904Z",
648 | "responseTime": 384
649 | },
650 | {
651 | "_id": "676bc2d16b79c1e0b5d73432",
652 | "ip": "38.156.72.203",
653 | "anonymityLevel": "transparent",
654 | "asn": null,
655 | "country": "US",
656 | "created_at": "2024-12-25T08:31:13.165Z",
657 | "google": false,
658 | "lastChecked": 1736281080,
659 | "latency": 69.199,
660 | "org": null,
661 | "port": "8080",
662 | "protocols": [
663 | "http"
664 | ],
665 | "speed": 5410,
666 | "upTime": 97.0873786407767,
667 | "upTimeSuccessCount": 100,
668 | "upTimeTryCount": 103,
669 | "updated_at": "2025-01-07T20:18:00.205Z",
670 | "city": "Antakya",
671 | "isp": "High Speed Telekomunikasyon ve Hab. Hiz. Ltd. Sti.",
672 | "responseTime": 492
673 | },
674 | {
675 | "_id": "677c726c6b79c1e0b52400b1",
676 | "ip": "43.243.174.26",
677 | "anonymityLevel": "transparent",
678 | "asn": "AS134254",
679 | "city": "Pune",
680 | "country": "IN",
681 | "created_at": "2025-01-07T00:16:44.673Z",
682 | "google": false,
683 | "isp": "Shah Solutions",
684 | "lastChecked": 1736281056,
685 | "latency": 113.596,
686 | "org": "Shah Solutions",
687 | "port": "82",
688 | "protocols": [
689 | "http"
690 | ],
691 | "speed": 9294,
692 | "upTime": 100,
693 | "upTimeSuccessCount": 7,
694 | "upTimeTryCount": 7,
695 | "updated_at": "2025-01-07T20:17:36.321Z",
696 | "responseTime": 288
697 | },
698 | {
699 | "_id": "677cee546b79c1e0b5348550",
700 | "ip": "189.195.139.178",
701 | "anonymityLevel": "transparent",
702 | "asn": "AS13999",
703 | "city": "Zamora",
704 | "country": "MX",
705 | "created_at": "2025-01-07T09:05:24.617Z",
706 | "google": false,
707 | "isp": "Mega Cable, S.A. de C.V.",
708 | "lastChecked": 1736280878,
709 | "latency": 182.901,
710 | "org": "Mega Cable, S.A. de C.V",
711 | "port": "999",
712 | "protocols": [
713 | "http"
714 | ],
715 | "speed": 13212,
716 | "upTime": 100,
717 | "upTimeSuccessCount": 4,
718 | "upTimeTryCount": 4,
719 | "updated_at": "2025-01-07T20:14:38.210Z",
720 | "responseTime": 700
721 | },
722 | {
723 | "_id": "677a8fdf6b79c1e0b5e2d7b6",
724 | "ip": "27.79.157.40",
725 | "anonymityLevel": "elite",
726 | "asn": "AS7552",
727 | "city": "Hanoi",
728 | "country": "VN",
729 | "created_at": "2025-01-05T13:57:51.363Z",
730 | "google": false,
731 | "isp": "Viettel Corporation",
732 | "lastChecked": 1736280878,
733 | "latency": 281.967,
734 | "org": "VIETEL",
735 | "port": "16000",
736 | "protocols": [
737 | "http"
738 | ],
739 | "speed": 13109,
740 | "upTime": 100,
741 | "upTimeSuccessCount": 16,
742 | "upTimeTryCount": 16,
743 | "updated_at": "2025-01-07T20:14:38.212Z",
744 | "responseTime": 4301
745 | },
746 | {
747 | "_id": "677c70d96b79c1e0b523c05a",
748 | "ip": "84.255.40.228",
749 | "anonymityLevel": "transparent",
750 | "asn": "AS12709",
751 | "city": "Birkirkara",
752 | "country": "MT",
753 | "created_at": "2025-01-07T00:10:01.134Z",
754 | "google": false,
755 | "isp": "Melita plc",
756 | "lastChecked": 1736280829,
757 | "latency": 93.914,
758 | "org": "Melita plc",
759 | "port": "8998",
760 | "protocols": [
761 | "http"
762 | ],
763 | "speed": 12406,
764 | "upTime": 100,
765 | "upTimeSuccessCount": 7,
766 | "upTimeTryCount": 7,
767 | "updated_at": "2025-01-07T20:13:49.116Z",
768 | "responseTime": 267
769 | },
770 | {
771 | "_id": "677bcc256b79c1e0b50c334b",
772 | "ip": "185.35.130.16",
773 | "anonymityLevel": "transparent",
774 | "asn": "AS62440",
775 | "country": "RU",
776 | "created_at": "2025-01-06T12:27:17.872Z",
777 | "google": false,
778 | "lastChecked": 1736280806,
779 | "latency": 80.547,
780 | "org": "PLAZMA Static IPs",
781 | "port": "55520",
782 | "protocols": [
783 | "http"
784 | ],
785 | "speed": 9809,
786 | "upTime": 100,
787 | "upTimeSuccessCount": 10,
788 | "upTimeTryCount": 10,
789 | "updated_at": "2025-01-07T20:13:26.504Z",
790 | "city": "Moscow",
791 | "isp": "Plazmatelekom LLC",
792 | "responseTime": 5509
793 | },
794 | {
795 | "_id": "677ba0166b79c1e0b505c580",
796 | "ip": "38.165.231.59",
797 | "anonymityLevel": "elite",
798 | "asn": "AS263812",
799 | "country": "EC",
800 | "created_at": "2025-01-06T09:19:18.255Z",
801 | "google": false,
802 | "lastChecked": 1736280796,
803 | "latency": 192.274,
804 | "org": "IPXON Networks Ecuador - Quito EC-UIO",
805 | "port": "8080",
806 | "protocols": [
807 | "http"
808 | ],
809 | "speed": 15301,
810 | "upTime": 100,
811 | "upTimeSuccessCount": 12,
812 | "upTimeTryCount": 12,
813 | "updated_at": "2025-01-07T20:13:16.317Z",
814 | "city": "Quito",
815 | "isp": "IPXON Networks",
816 | "responseTime": 3108
817 | },
818 | {
819 | "_id": "677c73336b79c1e0b5241d46",
820 | "ip": "120.28.210.205",
821 | "anonymityLevel": "transparent",
822 | "asn": "AS132199",
823 | "city": "Davao City",
824 | "country": "PH",
825 | "created_at": "2025-01-07T00:20:03.895Z",
826 | "google": false,
827 | "isp": "Globe Telecom",
828 | "lastChecked": 1736280726,
829 | "latency": 242.299,
830 | "org": "",
831 | "port": "8080",
832 | "protocols": [
833 | "http"
834 | ],
835 | "speed": 11713,
836 | "upTime": 100,
837 | "upTimeSuccessCount": 7,
838 | "upTimeTryCount": 7,
839 | "updated_at": "2025-01-07T20:12:06.822Z",
840 | "responseTime": 317
841 | },
842 | {
843 | "_id": "677be2f66b79c1e0b50fd0c2",
844 | "ip": "117.1.196.7",
845 | "anonymityLevel": "elite",
846 | "asn": "AS7552",
847 | "country": "VN",
848 | "created_at": "2025-01-06T14:04:38.670Z",
849 | "google": false,
850 | "lastChecked": 1736280726,
851 | "latency": 275.239,
852 | "org": "",
853 | "port": "10003",
854 | "protocols": [
855 | "http"
856 | ],
857 | "speed": 12013,
858 | "upTime": 100,
859 | "upTimeSuccessCount": 10,
860 | "upTimeTryCount": 10,
861 | "updated_at": "2025-01-07T20:12:06.819Z",
862 | "city": "Hanoi",
863 | "isp": "Viettel Corporation",
864 | "responseTime": 254
865 | },
866 | {
867 | "_id": "677be60d6b79c1e0b5105548",
868 | "ip": "187.102.236.209",
869 | "anonymityLevel": "transparent",
870 | "asn": "AS270114",
871 | "country": "MX",
872 | "created_at": "2025-01-06T14:17:12.159Z",
873 | "google": false,
874 | "lastChecked": 1736280718,
875 | "latency": 151.214,
876 | "org": "SERVICIOS DE INFRAESTRUCTURA DE RADIOCOMUNICACION Y REDES PRIVADAS DE DATOS HYPERNET, SC DE RL DE CV",
877 | "port": "999",
878 | "protocols": [
879 | "http"
880 | ],
881 | "speed": 13316,
882 | "upTime": 100,
883 | "upTimeSuccessCount": 9,
884 | "upTimeTryCount": 9,
885 | "updated_at": "2025-01-07T20:11:58.417Z",
886 | "city": "Parral",
887 | "isp": "Servicios De Infraestructura De Radiocomunicacion Y Redes Privadas De Datos Hype",
888 | "responseTime": 598
889 | },
890 | {
891 | "_id": "677a8d956b79c1e0b5e292e3",
892 | "ip": "27.79.240.105",
893 | "anonymityLevel": "elite",
894 | "asn": "AS7552",
895 | "city": "Hanoi",
896 | "country": "VN",
897 | "created_at": "2025-01-05T13:48:05.338Z",
898 | "google": false,
899 | "isp": "Viettel Corporation",
900 | "lastChecked": 1736280673,
901 | "latency": 282.275,
902 | "org": "VIETEL",
903 | "port": "16000",
904 | "protocols": [
905 | "http"
906 | ],
907 | "speed": 12606,
908 | "upTime": 100,
909 | "upTimeSuccessCount": 17,
910 | "upTimeTryCount": 17,
911 | "updated_at": "2025-01-07T20:11:13.806Z",
912 | "responseTime": 344
913 | },
914 | {
915 | "_id": "677a8bc66b79c1e0b5e25731",
916 | "ip": "144.48.162.103",
917 | "anonymityLevel": "elite",
918 | "asn": "AS135353",
919 | "city": "Kāfrul",
920 | "country": "BD",
921 | "created_at": "2025-01-05T13:40:22.114Z",
922 | "google": false,
923 | "isp": "Cue Club Technology",
924 | "lastChecked": 1736280638,
925 | "latency": 181.295,
926 | "org": "Cue Club Technology",
927 | "port": "8080",
928 | "protocols": [
929 | "http"
930 | ],
931 | "speed": 10001,
932 | "upTime": 100,
933 | "upTimeSuccessCount": 17,
934 | "upTimeTryCount": 17,
935 | "updated_at": "2025-01-07T20:10:38.620Z",
936 | "responseTime": 845
937 | },
938 | {
939 | "_id": "677a68816b79c1e0b5dd7d77",
940 | "ip": "67.43.227.226",
941 | "anonymityLevel": "elite",
942 | "asn": "AS36666",
943 | "country": "CA",
944 | "created_at": "2025-01-05T11:09:53.262Z",
945 | "google": false,
946 | "lastChecked": 1736280497,
947 | "latency": 83.723,
948 | "org": "",
949 | "port": "6639",
950 | "protocols": [
951 | "http"
952 | ],
953 | "speed": 11115,
954 | "upTime": 100,
955 | "upTimeSuccessCount": 17,
956 | "upTimeTryCount": 17,
957 | "updated_at": "2025-01-07T20:08:17.512Z",
958 | "city": "Montreal",
959 | "isp": "GloboTech Communications",
960 | "responseTime": 396
961 | },
962 | {
963 | "_id": "677ba2876b79c1e0b50629f5",
964 | "ip": "67.43.228.253",
965 | "anonymityLevel": "elite",
966 | "asn": "AS36666",
967 | "country": "CA",
968 | "created_at": "2025-01-06T09:29:43.467Z",
969 | "google": false,
970 | "lastChecked": 1736280486,
971 | "latency": 83.61,
972 | "org": "",
973 | "port": "32861",
974 | "protocols": [
975 | "http"
976 | ],
977 | "speed": 8503,
978 | "upTime": 100,
979 | "upTimeSuccessCount": 12,
980 | "upTimeTryCount": 12,
981 | "updated_at": "2025-01-07T20:08:06.509Z",
982 | "city": "Montreal",
983 | "isp": "GloboTech Communications",
984 | "responseTime": 266
985 | },
986 | {
987 | "_id": "667287086fb9cbee371871f5",
988 | "ip": "176.105.220.74",
989 | "anonymityLevel": "transparent",
990 | "asn": "AS24812",
991 | "country": "UA",
992 | "created_at": "2024-06-19T07:21:44.692Z",
993 | "google": false,
994 | "lastChecked": 1736280452,
995 | "latency": 55.751,
996 | "org": "NPK Home-Net Ltd",
997 | "port": "3129",
998 | "protocols": [
999 | "http"
1000 | ],
1001 | "speed": 592,
1002 | "upTime": 99.52702702702703,
1003 | "upTimeSuccessCount": 1473,
1004 | "upTimeTryCount": 1480,
1005 | "updated_at": "2025-01-07T20:07:32.919Z",
1006 | "city": "Kremenchug",
1007 | "isp": "NPK Home-Net Ltd.",
1008 | "responseTime": 2482
1009 | },
1010 | {
1011 | "_id": "677a8f7f6b79c1e0b5e2cf7f",
1012 | "ip": "27.79.171.247",
1013 | "anonymityLevel": "elite",
1014 | "asn": "AS7552",
1015 | "city": "Hanoi",
1016 | "country": "VN",
1017 | "created_at": "2025-01-05T13:56:15.678Z",
1018 | "google": false,
1019 | "isp": "Viettel Corporation",
1020 | "lastChecked": 1736280452,
1021 | "latency": 280.944,
1022 | "org": "VIETEL",
1023 | "port": "16000",
1024 | "protocols": [
1025 | "http"
1026 | ],
1027 | "speed": 12998,
1028 | "upTime": 100,
1029 | "upTimeSuccessCount": 17,
1030 | "upTimeTryCount": 17,
1031 | "updated_at": "2025-01-07T20:07:32.908Z",
1032 | "responseTime": 282
1033 | },
1034 | {
1035 | "_id": "677ceff36b79c1e0b534bea5",
1036 | "ip": "190.97.238.85",
1037 | "anonymityLevel": "transparent",
1038 | "asn": "AS263703",
1039 | "city": "Ciudad Guayana",
1040 | "country": "VE",
1041 | "created_at": "2025-01-07T09:12:19.542Z",
1042 | "google": false,
1043 | "isp": "Viginet C.A",
1044 | "lastChecked": 1736280346,
1045 | "latency": 286.374,
1046 | "org": "",
1047 | "port": "999",
1048 | "protocols": [
1049 | "http"
1050 | ],
1051 | "speed": 16103,
1052 | "upTime": 100,
1053 | "upTimeSuccessCount": 4,
1054 | "upTimeTryCount": 4,
1055 | "updated_at": "2025-01-07T20:05:46.011Z",
1056 | "responseTime": 483
1057 | },
1058 | {
1059 | "_id": "677a902b6b79c1e0b5e2dee0",
1060 | "ip": "27.79.177.174",
1061 | "anonymityLevel": "elite",
1062 | "asn": "AS7552",
1063 | "city": "Hanoi",
1064 | "country": "VN",
1065 | "created_at": "2025-01-05T13:59:07.950Z",
1066 | "google": false,
1067 | "isp": "Viettel Corporation",
1068 | "lastChecked": 1736280345,
1069 | "latency": 298.338,
1070 | "org": "VIETEL",
1071 | "port": "16000",
1072 | "protocols": [
1073 | "http"
1074 | ],
1075 | "speed": 10704,
1076 | "upTime": 100,
1077 | "upTimeSuccessCount": 19,
1078 | "upTimeTryCount": 19,
1079 | "updated_at": "2025-01-07T20:05:45.922Z",
1080 | "responseTime": 328
1081 | },
1082 | {
1083 | "_id": "677c70e96b79c1e0b523c290",
1084 | "ip": "177.44.223.109",
1085 | "anonymityLevel": "transparent",
1086 | "asn": "AS263139",
1087 | "city": "Mariópolis",
1088 | "country": "BR",
1089 | "created_at": "2025-01-07T00:10:17.498Z",
1090 | "google": false,
1091 | "isp": "Dataware Telecomunicações LTDA. - EPP",
1092 | "lastChecked": 1736280283,
1093 | "latency": 213.482,
1094 | "org": "Dataware Telecomunicações LTDA. - EPP",
1095 | "port": "8080",
1096 | "protocols": [
1097 | "http"
1098 | ],
1099 | "speed": 8298,
1100 | "upTime": 100,
1101 | "upTimeSuccessCount": 7,
1102 | "upTimeTryCount": 7,
1103 | "updated_at": "2025-01-07T20:04:43.809Z",
1104 | "responseTime": 271
1105 | },
1106 | {
1107 | "_id": "677653226b79c1e0b54e2e93",
1108 | "ip": "177.93.45.226",
1109 | "anonymityLevel": "transparent",
1110 | "asn": "AS262186",
1111 | "city": "Bogotá",
1112 | "country": "CO",
1113 | "created_at": "2025-01-02T08:49:38.631Z",
1114 | "google": false,
1115 | "isp": "TV AZTECA SUCURSAL COLOMBIA",
1116 | "lastChecked": 1736280235,
1117 | "latency": 193.65,
1118 | "org": "TV AZTECA SUCURSAL COLOMBIA",
1119 | "port": "999",
1120 | "protocols": [
1121 | "http"
1122 | ],
1123 | "speed": 8897,
1124 | "upTime": 100,
1125 | "upTimeSuccessCount": 43,
1126 | "upTimeTryCount": 43,
1127 | "updated_at": "2025-01-07T20:03:55.509Z",
1128 | "responseTime": 275
1129 | },
1130 | {
1131 | "_id": "675aa24f6b79c1e0b591696d",
1132 | "ip": "194.28.224.123",
1133 | "anonymityLevel": "elite",
1134 | "asn": "AS199785",
1135 | "country": "DE",
1136 | "created_at": "2024-12-12T08:43:59.962Z",
1137 | "google": false,
1138 | "lastChecked": 1736280156,
1139 | "latency": 30.11,
1140 | "org": "Cloud Hosting Solutions, Limited",
1141 | "port": "8080",
1142 | "protocols": [
1143 | "http"
1144 | ],
1145 | "speed": 9689,
1146 | "upTime": 98.52216748768473,
1147 | "upTimeSuccessCount": 200,
1148 | "upTimeTryCount": 203,
1149 | "updated_at": "2025-01-07T20:02:36.518Z",
1150 | "city": "Frankfurt am Main",
1151 | "isp": "Cloud Hosting Solutions, Limited.",
1152 | "responseTime": 525
1153 | },
1154 | {
1155 | "_id": "677a8b566b79c1e0b5e245cd",
1156 | "ip": "45.92.177.60",
1157 | "anonymityLevel": "elite",
1158 | "asn": "AS49505",
1159 | "city": "St Petersburg",
1160 | "country": "RU",
1161 | "created_at": "2025-01-05T13:38:30.770Z",
1162 | "google": false,
1163 | "isp": "JSC Selectel",
1164 | "lastChecked": 1736280131,
1165 | "latency": 39.786,
1166 | "org": "Selectel",
1167 | "port": "8080",
1168 | "protocols": [
1169 | "http"
1170 | ],
1171 | "speed": 17417,
1172 | "upTime": 100,
1173 | "upTimeSuccessCount": 18,
1174 | "upTimeTryCount": 18,
1175 | "updated_at": "2025-01-07T20:02:11.217Z",
1176 | "responseTime": 413
1177 | },
1178 | {
1179 | "_id": "677a5a136b79c1e0b5db923e",
1180 | "ip": "103.49.202.252",
1181 | "anonymityLevel": "elite",
1182 | "asn": "AS133957",
1183 | "country": "BD",
1184 | "created_at": "2025-01-05T10:07:46.072Z",
1185 | "google": false,
1186 | "lastChecked": 1736280123,
1187 | "latency": 180.54,
1188 | "org": "BTS Communications Ltd.",
1189 | "port": "80",
1190 | "protocols": [
1191 | "http"
1192 | ],
1193 | "speed": 19188,
1194 | "upTime": 100,
1195 | "upTimeSuccessCount": 63,
1196 | "upTimeTryCount": 63,
1197 | "updated_at": "2025-01-07T20:02:03.223Z",
1198 | "city": "Kāfrul",
1199 | "isp": "BTS COMMUNICATIONS LTD",
1200 | "responseTime": 281
1201 | },
1202 | {
1203 | "_id": "677a8bc76b79c1e0b5e2576b",
1204 | "ip": "185.159.153.234",
1205 | "anonymityLevel": "elite",
1206 | "asn": "AS201999",
1207 | "city": "Kerman",
1208 | "country": "IR",
1209 | "created_at": "2025-01-05T13:40:23.414Z",
1210 | "google": false,
1211 | "isp": "Serverpars Webhosting",
1212 | "lastChecked": 1736280085,
1213 | "latency": 98.918,
1214 | "org": "",
1215 | "port": "80",
1216 | "protocols": [
1217 | "http"
1218 | ],
1219 | "speed": 14901,
1220 | "upTime": 100,
1221 | "upTimeSuccessCount": 17,
1222 | "upTimeTryCount": 17,
1223 | "updated_at": "2025-01-07T20:01:25.515Z",
1224 | "responseTime": 764
1225 | },
1226 | {
1227 | "_id": "677a8b436b79c1e0b5e2439e",
1228 | "ip": "42.113.4.255",
1229 | "anonymityLevel": "elite",
1230 | "asn": "AS18403",
1231 | "city": "Hanoi",
1232 | "country": "VN",
1233 | "created_at": "2025-01-05T13:38:11.418Z",
1234 | "google": false,
1235 | "isp": "FPT Telecom Company",
1236 | "lastChecked": 1736273909,
1237 | "latency": 202.939,
1238 | "org": "Vietnam Internet Network Information Center",
1239 | "port": "10005",
1240 | "protocols": [
1241 | "http"
1242 | ],
1243 | "speed": 5002,
1244 | "upTime": 100,
1245 | "upTimeSuccessCount": 17,
1246 | "upTimeTryCount": 17,
1247 | "updated_at": "2025-01-07T18:18:29.511Z",
1248 | "responseTime": 392
1249 | },
1250 | {
1251 | "_id": "677c700a6b79c1e0b5239f88",
1252 | "ip": "67.43.236.19",
1253 | "anonymityLevel": "elite",
1254 | "asn": "AS36666",
1255 | "city": "Montreal",
1256 | "country": "CA",
1257 | "created_at": "2025-01-07T00:06:34.700Z",
1258 | "google": false,
1259 | "isp": "GloboTech Communications",
1260 | "lastChecked": 1736273900,
1261 | "latency": 93.101,
1262 | "org": "",
1263 | "port": "31953",
1264 | "protocols": [
1265 | "http"
1266 | ],
1267 | "speed": 222,
1268 | "upTime": 100,
1269 | "upTimeSuccessCount": 6,
1270 | "upTimeTryCount": 6,
1271 | "updated_at": "2025-01-07T18:18:20.773Z",
1272 | "responseTime": 368
1273 | },
1274 | {
1275 | "_id": "677ba3396b79c1e0b506487e",
1276 | "ip": "67.43.227.228",
1277 | "anonymityLevel": "elite",
1278 | "asn": "AS36666",
1279 | "country": "CA",
1280 | "created_at": "2025-01-06T09:32:41.566Z",
1281 | "google": false,
1282 | "lastChecked": 1736273899,
1283 | "latency": 85.379,
1284 | "org": "",
1285 | "port": "33227",
1286 | "protocols": [
1287 | "http"
1288 | ],
1289 | "speed": 350,
1290 | "upTime": 90,
1291 | "upTimeSuccessCount": 9,
1292 | "upTimeTryCount": 10,
1293 | "updated_at": "2025-01-07T18:18:19.932Z",
1294 | "city": "Montreal",
1295 | "isp": "GloboTech Communications",
1296 | "responseTime": 395
1297 | },
1298 | {
1299 | "_id": "677ce72f6b79c1e0b53343f5",
1300 | "ip": "67.43.227.230",
1301 | "anonymityLevel": "elite",
1302 | "asn": "AS36666",
1303 | "country": "CA",
1304 | "created_at": "2025-01-07T08:34:55.208Z",
1305 | "google": false,
1306 | "lastChecked": 1736273898,
1307 | "latency": 86.511,
1308 | "org": "",
1309 | "port": "2887",
1310 | "protocols": [
1311 | "http"
1312 | ],
1313 | "speed": 232,
1314 | "upTime": 100,
1315 | "upTimeSuccessCount": 3,
1316 | "upTimeTryCount": 3,
1317 | "updated_at": "2025-01-07T18:18:18.985Z",
1318 | "city": "Montreal",
1319 | "isp": "GloboTech Communications",
1320 | "responseTime": 372
1321 | },
1322 | {
1323 | "_id": "677d531a6b79c1e0b542b31e",
1324 | "ip": "119.76.173.95",
1325 | "anonymityLevel": "transparent",
1326 | "asn": "AS17552",
1327 | "country": "TH",
1328 | "created_at": "2025-01-07T16:15:22.627Z",
1329 | "google": false,
1330 | "lastChecked": 1736273897,
1331 | "latency": 177.857,
1332 | "org": "TRUE",
1333 | "port": "8080",
1334 | "protocols": [
1335 | "http"
1336 | ],
1337 | "speed": 1379,
1338 | "upTime": 100,
1339 | "upTimeSuccessCount": 1,
1340 | "upTimeTryCount": 1,
1341 | "updated_at": "2025-01-07T18:18:17.485Z",
1342 | "city": "Bangkok",
1343 | "isp": "True Internet Co., Ltd.",
1344 | "responseTime": 351
1345 | },
1346 | {
1347 | "_id": "677a94586b79c1e0b5e34ff9",
1348 | "ip": "63.143.57.116",
1349 | "anonymityLevel": "elite",
1350 | "asn": "AS46475",
1351 | "country": "US",
1352 | "created_at": "2025-01-05T14:16:56.255Z",
1353 | "google": false,
1354 | "lastChecked": 1736273893,
1355 | "latency": 104.571,
1356 | "org": "Limestone Networks",
1357 | "port": "80",
1358 | "protocols": [
1359 | "http"
1360 | ],
1361 | "speed": 5002,
1362 | "upTime": 100,
1363 | "upTimeSuccessCount": 16,
1364 | "upTimeTryCount": 16,
1365 | "updated_at": "2025-01-07T18:18:13.960Z",
1366 | "city": "Dallas",
1367 | "isp": "Limestone Networks, Inc.",
1368 | "responseTime": 280
1369 | },
1370 | {
1371 | "_id": "677a8b2b6b79c1e0b5e2419c",
1372 | "ip": "222.252.194.204",
1373 | "anonymityLevel": "elite",
1374 | "asn": "AS45899",
1375 | "city": "Hải Dương",
1376 | "country": "VN",
1377 | "created_at": "2025-01-05T13:37:47.362Z",
1378 | "google": true,
1379 | "isp": "VietNam Post and Telecom Corporation",
1380 | "lastChecked": 1736273890,
1381 | "latency": 342.456,
1382 | "org": "",
1383 | "port": "8080",
1384 | "protocols": [
1385 | "http"
1386 | ],
1387 | "speed": 3896,
1388 | "upTime": 75,
1389 | "upTimeSuccessCount": 12,
1390 | "upTimeTryCount": 16,
1391 | "updated_at": "2025-01-07T18:18:10.554Z",
1392 | "responseTime": 438
1393 | },
1394 | {
1395 | "_id": "677bbe4b6b79c1e0b50a2f6f",
1396 | "ip": "186.167.80.234",
1397 | "anonymityLevel": "transparent",
1398 | "asn": "AS27717",
1399 | "country": "VE",
1400 | "created_at": "2025-01-06T11:28:11.260Z",
1401 | "google": false,
1402 | "lastChecked": 1736273882,
1403 | "latency": 136.596,
1404 | "org": "Telecomunicaciones Rocarli Sede Lecheria",
1405 | "port": "8090",
1406 | "protocols": [
1407 | "http"
1408 | ],
1409 | "speed": 484,
1410 | "upTime": 100,
1411 | "upTimeSuccessCount": 9,
1412 | "upTimeTryCount": 9,
1413 | "updated_at": "2025-01-07T18:18:02.752Z",
1414 | "city": "Caracas",
1415 | "isp": "Corporacion Digitel C.A",
1416 | "responseTime": 322
1417 | },
1418 | {
1419 | "_id": "677c06526b79c1e0b51502d3",
1420 | "ip": "103.91.62.37",
1421 | "anonymityLevel": "transparent",
1422 | "asn": "AS136356",
1423 | "country": "IN",
1424 | "created_at": "2025-01-06T16:35:30.672Z",
1425 | "google": false,
1426 | "lastChecked": 1736273882,
1427 | "latency": 254.663,
1428 | "org": "Purenet Telecom India Pvt. Ltd.",
1429 | "port": "80",
1430 | "protocols": [
1431 | "http"
1432 | ],
1433 | "speed": 5024,
1434 | "upTime": 100,
1435 | "upTimeSuccessCount": 8,
1436 | "upTimeTryCount": 8,
1437 | "updated_at": "2025-01-07T18:18:02.106Z",
1438 | "city": "Jabalpur",
1439 | "isp": "Purenet Telecom India Pvt. Ltd.",
1440 | "responseTime": 316
1441 | },
1442 | {
1443 | "_id": "677a8e246b79c1e0b5e2a417",
1444 | "ip": "27.79.189.11",
1445 | "anonymityLevel": "elite",
1446 | "asn": "AS7552",
1447 | "city": "Hanoi",
1448 | "country": "VN",
1449 | "created_at": "2025-01-05T13:50:28.759Z",
1450 | "google": false,
1451 | "isp": "Viettel Corporation",
1452 | "lastChecked": 1736273881,
1453 | "latency": 283.216,
1454 | "org": "VIETEL",
1455 | "port": "16000",
1456 | "protocols": [
1457 | "http"
1458 | ],
1459 | "speed": 5007,
1460 | "upTime": 100,
1461 | "upTimeSuccessCount": 18,
1462 | "upTimeTryCount": 18,
1463 | "updated_at": "2025-01-07T18:18:01.004Z",
1464 | "responseTime": 2912
1465 | },
1466 | {
1467 | "_id": "677b947c6b79c1e0b5042fa4",
1468 | "ip": "14.224.218.210",
1469 | "anonymityLevel": "transparent",
1470 | "asn": "AS45899",
1471 | "country": "VN",
1472 | "created_at": "2025-01-06T08:28:11.763Z",
1473 | "google": false,
1474 | "lastChecked": 1736273880,
1475 | "latency": 225.687,
1476 | "org": "Vietnam Posts and Telecommunications Group",
1477 | "port": "8080",
1478 | "protocols": [
1479 | "http"
1480 | ],
1481 | "speed": 586,
1482 | "upTime": 100,
1483 | "upTimeSuccessCount": 11,
1484 | "upTimeTryCount": 11,
1485 | "updated_at": "2025-01-07T18:18:00.459Z",
1486 | "city": "Hanoi",
1487 | "isp": "VNPT",
1488 | "responseTime": 331
1489 | },
1490 | {
1491 | "_id": "677d515b6b79c1e0b5427a06",
1492 | "ip": "175.158.57.136",
1493 | "anonymityLevel": "transparent",
1494 | "asn": "AS135478",
1495 | "city": "Jakarta",
1496 | "country": "ID",
1497 | "created_at": "2025-01-07T16:07:55.859Z",
1498 | "google": false,
1499 | "isp": "CBNNAP",
1500 | "lastChecked": 1736273880,
1501 | "latency": 167.349,
1502 | "org": "",
1503 | "port": "7788",
1504 | "protocols": [
1505 | "http"
1506 | ],
1507 | "speed": 210,
1508 | "upTime": 100,
1509 | "upTimeSuccessCount": 1,
1510 | "upTimeTryCount": 1,
1511 | "updated_at": "2025-01-07T18:18:00.031Z",
1512 | "responseTime": 441
1513 | },
1514 | {
1515 | "_id": "677a7ed16b79c1e0b5e082a1",
1516 | "ip": "97.74.87.226",
1517 | "anonymityLevel": "elite",
1518 | "asn": "AS26496",
1519 | "country": "SG",
1520 | "created_at": "2025-01-05T12:45:05.159Z",
1521 | "google": true,
1522 | "lastChecked": 1736273880,
1523 | "latency": 156.519,
1524 | "org": "GoDaddy.com, LLC",
1525 | "port": "80",
1526 | "protocols": [
1527 | "http"
1528 | ],
1529 | "speed": 461,
1530 | "upTime": 76.47058823529412,
1531 | "upTimeSuccessCount": 13,
1532 | "upTimeTryCount": 17,
1533 | "updated_at": "2025-01-07T18:18:00.337Z",
1534 | "city": "Singapore",
1535 | "isp": "GoDaddy.com, LLC",
1536 | "responseTime": 500
1537 | },
1538 | {
1539 | "_id": "6773c8cc6b79c1e0b5f5aafd",
1540 | "ip": "188.134.91.83",
1541 | "anonymityLevel": "transparent",
1542 | "asn": null,
1543 | "city": "St Petersburg",
1544 | "country": "RU",
1545 | "created_at": "2024-12-31T10:34:52.789Z",
1546 | "google": false,
1547 | "isp": "Interzet",
1548 | "lastChecked": 1736273842,
1549 | "latency": 81.582,
1550 | "org": null,
1551 | "port": "8080",
1552 | "protocols": [
1553 | "http"
1554 | ],
1555 | "speed": 11694,
1556 | "upTime": 100,
1557 | "upTimeSuccessCount": 56,
1558 | "upTimeTryCount": 56,
1559 | "updated_at": "2025-01-07T18:17:22.708Z",
1560 | "responseTime": 872
1561 | },
1562 | {
1563 | "_id": "677c11846b79c1e0b516648d",
1564 | "ip": "190.186.18.161",
1565 | "anonymityLevel": "transparent",
1566 | "asn": "AS25620",
1567 | "country": "BO",
1568 | "created_at": "2025-01-06T17:23:16.863Z",
1569 | "google": false,
1570 | "lastChecked": 1736273785,
1571 | "latency": 203.14,
1572 | "org": "Adsl-ip-fija - Generico",
1573 | "port": "999",
1574 | "protocols": [
1575 | "http"
1576 | ],
1577 | "speed": 6492,
1578 | "upTime": 100,
1579 | "upTimeSuccessCount": 8,
1580 | "upTimeTryCount": 8,
1581 | "updated_at": "2025-01-07T18:16:25.323Z",
1582 | "city": "Santa Cruz",
1583 | "isp": "Cotas Ltda.",
1584 | "responseTime": 1801
1585 | },
1586 | {
1587 | "_id": "677c71a66b79c1e0b523e3f8",
1588 | "ip": "49.48.82.51",
1589 | "anonymityLevel": "transparent",
1590 | "asn": "AS45758",
1591 | "city": "Nakhon Ratchasima",
1592 | "country": "TH",
1593 | "created_at": "2025-01-07T00:13:26.403Z",
1594 | "google": false,
1595 | "isp": "Triple T Broadband Public Company Limited",
1596 | "lastChecked": 1736273680,
1597 | "latency": 285.481,
1598 | "org": "Triple T Broadband Public Company Limited",
1599 | "port": "8080",
1600 | "protocols": [
1601 | "http"
1602 | ],
1603 | "speed": 9489,
1604 | "upTime": 100,
1605 | "upTimeSuccessCount": 6,
1606 | "upTimeTryCount": 6,
1607 | "updated_at": "2025-01-07T18:14:40.731Z",
1608 | "responseTime": 769
1609 | },
1610 | {
1611 | "_id": "677c736f6b79c1e0b5242590",
1612 | "ip": "66.96.233.62",
1613 | "anonymityLevel": "transparent",
1614 | "asn": "AS63859",
1615 | "city": "Jakarta",
1616 | "country": "ID",
1617 | "created_at": "2025-01-07T00:21:03.920Z",
1618 | "google": false,
1619 | "isp": "MYREPUBLIC",
1620 | "lastChecked": 1736273575,
1621 | "latency": 179.146,
1622 | "org": "",
1623 | "port": "8085",
1624 | "protocols": [
1625 | "http"
1626 | ],
1627 | "speed": 9000,
1628 | "upTime": 100,
1629 | "upTimeSuccessCount": 6,
1630 | "upTimeTryCount": 6,
1631 | "updated_at": "2025-01-07T18:12:55.223Z",
1632 | "responseTime": 3205
1633 | },
1634 | {
1635 | "_id": "677a8b5d6b79c1e0b5e246d3",
1636 | "ip": "47.243.114.192",
1637 | "anonymityLevel": "elite",
1638 | "asn": "AS45102",
1639 | "city": "Hong Kong",
1640 | "country": "HK",
1641 | "created_at": "2025-01-05T13:38:37.870Z",
1642 | "google": false,
1643 | "isp": "Alibaba (US) Technology Co., Ltd.",
1644 | "lastChecked": 1736273461,
1645 | "latency": 298.039,
1646 | "org": "Alibaba.com LLC",
1647 | "port": "8180",
1648 | "protocols": [
1649 | "http"
1650 | ],
1651 | "speed": 9414,
1652 | "upTime": 100,
1653 | "upTimeSuccessCount": 16,
1654 | "upTimeTryCount": 16,
1655 | "updated_at": "2025-01-07T18:11:01.212Z",
1656 | "responseTime": 3098
1657 | },
1658 | {
1659 | "_id": "677bf4136b79c1e0b5125686",
1660 | "ip": "103.78.201.242",
1661 | "anonymityLevel": "transparent",
1662 | "asn": "AS135697",
1663 | "country": "IN",
1664 | "created_at": "2025-01-06T15:17:39.361Z",
1665 | "google": false,
1666 | "lastChecked": 1736273439,
1667 | "latency": 198.13,
1668 | "org": "Tachyon Communications Pvt Ltd",
1669 | "port": "5001",
1670 | "protocols": [
1671 | "http"
1672 | ],
1673 | "speed": 7599,
1674 | "upTime": 100,
1675 | "upTimeSuccessCount": 9,
1676 | "upTimeTryCount": 9,
1677 | "updated_at": "2025-01-07T18:10:39.218Z",
1678 | "city": "Lucknow",
1679 | "isp": "Tachyon Communications Pvt Ltd",
1680 | "responseTime": 594
1681 | },
1682 | {
1683 | "_id": "677c71ad6b79c1e0b523e4c0",
1684 | "ip": "85.30.219.207",
1685 | "anonymityLevel": "transparent",
1686 | "asn": "AS42610",
1687 | "city": "Moscow",
1688 | "country": "RU",
1689 | "created_at": "2025-01-07T00:13:33.756Z",
1690 | "google": false,
1691 | "isp": "National Cable Networks",
1692 | "lastChecked": 1736273370,
1693 | "latency": 51.544,
1694 | "org": "",
1695 | "port": "80",
1696 | "protocols": [
1697 | "http"
1698 | ],
1699 | "speed": 12206,
1700 | "upTime": 100,
1701 | "upTimeSuccessCount": 6,
1702 | "upTimeTryCount": 6,
1703 | "updated_at": "2025-01-07T18:09:30.914Z",
1704 | "responseTime": 369
1705 | },
1706 | {
1707 | "_id": "677c70ec6b79c1e0b523c2db",
1708 | "ip": "171.250.132.168",
1709 | "anonymityLevel": "transparent",
1710 | "asn": "AS7552",
1711 | "city": "Ho Chi Minh City",
1712 | "country": "VN",
1713 | "created_at": "2025-01-07T00:10:20.255Z",
1714 | "google": false,
1715 | "isp": "Viettel Corporation",
1716 | "lastChecked": 1736273315,
1717 | "latency": 219.357,
1718 | "org": "VIETEL",
1719 | "port": "8080",
1720 | "protocols": [
1721 | "http"
1722 | ],
1723 | "speed": 8193,
1724 | "upTime": 100,
1725 | "upTimeSuccessCount": 6,
1726 | "upTimeTryCount": 6,
1727 | "updated_at": "2025-01-07T18:08:35.716Z",
1728 | "responseTime": 257
1729 | },
1730 | {
1731 | "_id": "67556fa66b79c1e0b5e0f395",
1732 | "ip": "46.47.197.210",
1733 | "anonymityLevel": "elite",
1734 | "asn": "AS20632",
1735 | "city": "St Petersburg",
1736 | "country": "RU",
1737 | "created_at": "2024-12-08T10:06:30.562Z",
1738 | "google": false,
1739 | "isp": "PJSC Megafon SZF",
1740 | "lastChecked": 1736273304,
1741 | "latency": 82.203,
1742 | "org": "JSC PeterStar",
1743 | "port": "3128",
1744 | "protocols": [
1745 | "http"
1746 | ],
1747 | "speed": 9089,
1748 | "upTime": 99.55947136563876,
1749 | "upTimeSuccessCount": 226,
1750 | "upTimeTryCount": 227,
1751 | "updated_at": "2025-01-07T18:08:24.907Z",
1752 | "responseTime": 1777
1753 | },
1754 | {
1755 | "_id": "677a8d066b79c1e0b5e2832c",
1756 | "ip": "123.136.93.179",
1757 | "anonymityLevel": "elite",
1758 | "asn": "AS55933",
1759 | "city": "Shanghai",
1760 | "country": "CN",
1761 | "created_at": "2025-01-05T13:45:42.841Z",
1762 | "google": false,
1763 | "isp": "Cloudie Limited",
1764 | "lastChecked": 1736273191,
1765 | "latency": 189.419,
1766 | "org": "NIU Telecommunications Inc",
1767 | "port": "1111",
1768 | "protocols": [
1769 | "http"
1770 | ],
1771 | "speed": 10599,
1772 | "upTime": 100,
1773 | "upTimeSuccessCount": 16,
1774 | "upTimeTryCount": 16,
1775 | "updated_at": "2025-01-07T18:06:31.919Z",
1776 | "responseTime": 260
1777 | },
1778 | {
1779 | "_id": "6776b9446b79c1e0b55bfc38",
1780 | "ip": "43.252.11.195",
1781 | "anonymityLevel": "transparent",
1782 | "asn": "AS46023",
1783 | "city": "Jakarta",
1784 | "country": "ID",
1785 | "created_at": "2025-01-02T16:05:24.674Z",
1786 | "google": false,
1787 | "isp": "QUANTUMNET",
1788 | "lastChecked": 1736273116,
1789 | "latency": 194.327,
1790 | "org": "",
1791 | "port": "7878",
1792 | "protocols": [
1793 | "http"
1794 | ],
1795 | "speed": 15703,
1796 | "upTime": 97.5609756097561,
1797 | "upTimeSuccessCount": 40,
1798 | "upTimeTryCount": 41,
1799 | "updated_at": "2025-01-07T18:05:16.105Z",
1800 | "responseTime": 835
1801 | },
1802 | {
1803 | "_id": "676bcd4c6b79c1e0b5d91be4",
1804 | "ip": "168.181.87.49",
1805 | "anonymityLevel": "transparent",
1806 | "asn": "AS265331",
1807 | "city": "Sobral",
1808 | "country": "BR",
1809 | "created_at": "2024-12-25T09:15:56.703Z",
1810 | "google": false,
1811 | "isp": "M. R. MELO ALEXANDRINO",
1812 | "lastChecked": 1736273090,
1813 | "latency": 154.704,
1814 | "org": "M. R. MELO ALEXANDRINO",
1815 | "port": "8080",
1816 | "protocols": [
1817 | "http"
1818 | ],
1819 | "speed": 10103,
1820 | "upTime": 100,
1821 | "upTimeSuccessCount": 102,
1822 | "upTimeTryCount": 102,
1823 | "updated_at": "2025-01-07T18:04:50.219Z",
1824 | "responseTime": 1396
1825 | },
1826 | {
1827 | "_id": "677bbae36b79c1e0b509a39a",
1828 | "ip": "157.100.63.129",
1829 | "anonymityLevel": "transparent",
1830 | "asn": "AS52468",
1831 | "country": "EC",
1832 | "created_at": "2025-01-06T11:13:38.968Z",
1833 | "google": false,
1834 | "lastChecked": 1736273051,
1835 | "latency": 196.447,
1836 | "org": "Negocios Y Telefonia Nedetel S.A",
1837 | "port": "80",
1838 | "protocols": [
1839 | "http"
1840 | ],
1841 | "speed": 9398,
1842 | "upTime": 100,
1843 | "upTimeSuccessCount": 9,
1844 | "upTimeTryCount": 9,
1845 | "updated_at": "2025-01-07T18:04:11.207Z",
1846 | "city": "Cuenca",
1847 | "isp": "Ufinet Panama S.A.",
1848 | "responseTime": 704
1849 | },
1850 | {
1851 | "_id": "677a90146b79c1e0b5e2dd20",
1852 | "ip": "49.73.4.150",
1853 | "anonymityLevel": "elite",
1854 | "asn": "AS140292",
1855 | "city": "Nanjing",
1856 | "country": "CN",
1857 | "created_at": "2025-01-05T13:58:44.831Z",
1858 | "google": false,
1859 | "isp": "China Telecom",
1860 | "lastChecked": 1736272803,
1861 | "latency": 291.855,
1862 | "org": "Chinanet JS",
1863 | "port": "8089",
1864 | "protocols": [
1865 | "http"
1866 | ],
1867 | "speed": 11108,
1868 | "upTime": 83.33333333333334,
1869 | "upTimeSuccessCount": 15,
1870 | "upTimeTryCount": 18,
1871 | "updated_at": "2025-01-07T18:00:03.218Z",
1872 | "responseTime": 320
1873 | },
1874 | {
1875 | "_id": "677c77ca6b79c1e0b524b304",
1876 | "ip": "58.208.159.199",
1877 | "anonymityLevel": "elite",
1878 | "asn": "AS140292",
1879 | "city": "Nanjing",
1880 | "country": "CN",
1881 | "created_at": "2025-01-07T00:39:38.640Z",
1882 | "google": false,
1883 | "isp": "China Telecom",
1884 | "lastChecked": 1736272803,
1885 | "latency": 222.479,
1886 | "org": "Chinanet JS",
1887 | "port": "8089",
1888 | "protocols": [
1889 | "http"
1890 | ],
1891 | "speed": 10995,
1892 | "upTime": 100,
1893 | "upTimeSuccessCount": 6,
1894 | "upTimeTryCount": 6,
1895 | "updated_at": "2025-01-07T18:00:03.014Z",
1896 | "responseTime": 1399
1897 | },
1898 | {
1899 | "_id": "677ceff26b79c1e0b534be3b",
1900 | "ip": "188.166.56.246",
1901 | "anonymityLevel": "elite",
1902 | "asn": "AS14061",
1903 | "city": "Amsterdam",
1904 | "country": "NL",
1905 | "created_at": "2025-01-07T09:12:18.457Z",
1906 | "google": false,
1907 | "isp": "DigitalOcean, LLC",
1908 | "lastChecked": 1736272745,
1909 | "latency": 11.557,
1910 | "org": "Digital Ocean",
1911 | "port": "80",
1912 | "protocols": [
1913 | "http"
1914 | ],
1915 | "speed": 10604,
1916 | "upTime": 100,
1917 | "upTimeSuccessCount": 3,
1918 | "upTimeTryCount": 3,
1919 | "updated_at": "2025-01-07T17:59:05.808Z",
1920 | "responseTime": 2588
1921 | },
1922 | {
1923 | "_id": "677cf0d66b79c1e0b534dc0b",
1924 | "ip": "103.36.11.238",
1925 | "anonymityLevel": "transparent",
1926 | "asn": "AS133360",
1927 | "city": "Pandeglang",
1928 | "country": "ID",
1929 | "created_at": "2025-01-07T09:16:06.730Z",
1930 | "google": false,
1931 | "isp": "PT Awinet Global Mandiri",
1932 | "lastChecked": 1736272677,
1933 | "latency": 179.929,
1934 | "org": "",
1935 | "port": "3125",
1936 | "protocols": [
1937 | "http"
1938 | ],
1939 | "speed": 15705,
1940 | "upTime": 100,
1941 | "upTimeSuccessCount": 3,
1942 | "upTimeTryCount": 3,
1943 | "updated_at": "2025-01-07T17:57:57.608Z",
1944 | "responseTime": 607
1945 | },
1946 | {
1947 | "_id": "677c732e6b79c1e0b5241be0",
1948 | "ip": "116.109.219.171",
1949 | "anonymityLevel": "transparent",
1950 | "asn": "AS24086",
1951 | "city": "Ho Chi Minh City",
1952 | "country": "VN",
1953 | "created_at": "2025-01-07T00:19:58.415Z",
1954 | "google": false,
1955 | "isp": "Viettel Corporation",
1956 | "lastChecked": 1736272541,
1957 | "latency": 196.481,
1958 | "org": "Viettel Group",
1959 | "port": "80",
1960 | "protocols": [
1961 | "http"
1962 | ],
1963 | "speed": 10708,
1964 | "upTime": 100,
1965 | "upTimeSuccessCount": 6,
1966 | "upTimeTryCount": 6,
1967 | "updated_at": "2025-01-07T17:55:41.907Z",
1968 | "responseTime": 375
1969 | },
1970 | {
1971 | "_id": "677c70e36b79c1e0b523c1a6",
1972 | "ip": "182.253.233.123",
1973 | "anonymityLevel": "transparent",
1974 | "asn": "AS17451",
1975 | "city": "Jakarta",
1976 | "country": "ID",
1977 | "created_at": "2025-01-07T00:10:11.237Z",
1978 | "google": false,
1979 | "isp": "BIZNET",
1980 | "lastChecked": 1736272463,
1981 | "latency": 166.805,
1982 | "org": "",
1983 | "port": "8080",
1984 | "protocols": [
1985 | "http"
1986 | ],
1987 | "speed": 12099,
1988 | "upTime": 100,
1989 | "upTimeSuccessCount": 6,
1990 | "upTimeTryCount": 6,
1991 | "updated_at": "2025-01-07T17:54:23.506Z",
1992 | "responseTime": 366
1993 | },
1994 | {
1995 | "_id": "677a5c126b79c1e0b5dbc4ab",
1996 | "ip": "103.86.109.38",
1997 | "anonymityLevel": "elite",
1998 | "asn": "AS136395",
1999 | "country": "BD",
2000 | "created_at": "2025-01-05T10:16:50.766Z",
2001 | "google": false,
2002 | "lastChecked": 1736272463,
2003 | "latency": 181.509,
2004 | "org": "",
2005 | "port": "80",
2006 | "protocols": [
2007 | "http"
2008 | ],
2009 | "speed": 11915,
2010 | "upTime": 98.4126984126984,
2011 | "upTimeSuccessCount": 62,
2012 | "upTimeTryCount": 63,
2013 | "updated_at": "2025-01-07T17:54:23.506Z",
2014 | "city": "Dhaka",
2015 | "isp": "Mahfujul Haque t/a Expert Online",
2016 | "responseTime": 573
2017 | },
2018 | {
2019 | "_id": "677c6f096b79c1e0b5237cc9",
2020 | "ip": "168.119.53.93",
2021 | "anonymityLevel": "elite",
2022 | "asn": "AS24940",
2023 | "country": "DE",
2024 | "created_at": "2025-01-07T00:02:17.420Z",
2025 | "google": false,
2026 | "lastChecked": 1736272442,
2027 | "latency": 22.793,
2028 | "org": "Hetzner",
2029 | "port": "80",
2030 | "protocols": [
2031 | "http"
2032 | ],
2033 | "speed": 14292,
2034 | "upTime": 100,
2035 | "upTimeSuccessCount": 6,
2036 | "upTimeTryCount": 6,
2037 | "updated_at": "2025-01-07T17:54:02.509Z",
2038 | "city": "Falkenstein",
2039 | "isp": "Hetzner Online GmbH",
2040 | "responseTime": 4801
2041 | },
2042 | {
2043 | "_id": "677cf0036b79c1e0b534c1ad",
2044 | "ip": "190.60.37.10",
2045 | "anonymityLevel": "transparent",
2046 | "asn": "AS52468",
2047 | "city": "Pueblo Nuevo",
2048 | "country": "CO",
2049 | "created_at": "2025-01-07T09:12:35.722Z",
2050 | "google": false,
2051 | "isp": "IFX NETWORKS COLOMBIA",
2052 | "lastChecked": 1736272442,
2053 | "latency": 194.521,
2054 | "org": "UFINET COLOMBIA, S. A",
2055 | "port": "999",
2056 | "protocols": [
2057 | "http"
2058 | ],
2059 | "speed": 14199,
2060 | "upTime": 100,
2061 | "upTimeSuccessCount": 3,
2062 | "upTimeTryCount": 3,
2063 | "updated_at": "2025-01-07T17:54:02.511Z",
2064 | "responseTime": 287
2065 | },
2066 | {
2067 | "_id": "6767e8a96b79c1e0b54f94bb",
2068 | "ip": "188.253.112.218",
2069 | "anonymityLevel": "elite",
2070 | "asn": "AS38136",
2071 | "city": "Hong Kong",
2072 | "country": "HK",
2073 | "created_at": "2024-12-22T10:23:37.662Z",
2074 | "google": false,
2075 | "isp": "Akari Networks",
2076 | "lastChecked": 1736272382,
2077 | "latency": 194.186,
2078 | "org": "Akari Networks Limited",
2079 | "port": "80",
2080 | "protocols": [
2081 | "http"
2082 | ],
2083 | "speed": 595,
2084 | "upTime": 100,
2085 | "upTimeSuccessCount": 124,
2086 | "upTimeTryCount": 124,
2087 | "updated_at": "2025-01-07T17:53:02.604Z",
2088 | "responseTime": 393
2089 | },
2090 | {
2091 | "_id": "677bad076b79c1e0b507840d",
2092 | "ip": "8.219.97.248",
2093 | "anonymityLevel": "elite",
2094 | "asn": "AS45102",
2095 | "country": "SG",
2096 | "created_at": "2025-01-06T10:14:31.663Z",
2097 | "google": false,
2098 | "lastChecked": 1736272314,
2099 | "latency": 184.172,
2100 | "org": "Alibaba.com Singapore E-Commerce Private Limited",
2101 | "port": "80",
2102 | "protocols": [
2103 | "http"
2104 | ],
2105 | "speed": 9397,
2106 | "upTime": 100,
2107 | "upTimeSuccessCount": 11,
2108 | "upTimeTryCount": 11,
2109 | "updated_at": "2025-01-07T17:51:54.722Z",
2110 | "city": "Singapore",
2111 | "isp": "Alibaba Cloud (Singapore) Private Limited",
2112 | "responseTime": 270
2113 | },
2114 | {
2115 | "_id": "677c70da6b79c1e0b523c085",
2116 | "ip": "179.252.184.165",
2117 | "anonymityLevel": "elite",
2118 | "asn": "AS8167",
2119 | "city": "Brasília",
2120 | "country": "BR",
2121 | "created_at": "2025-01-07T00:10:02.276Z",
2122 | "google": false,
2123 | "isp": "V tal",
2124 | "lastChecked": 1736272223,
2125 | "latency": 206.493,
2126 | "org": "V tal",
2127 | "port": "8080",
2128 | "protocols": [
2129 | "http"
2130 | ],
2131 | "speed": 11397,
2132 | "upTime": 100,
2133 | "upTimeSuccessCount": 6,
2134 | "upTimeTryCount": 6,
2135 | "updated_at": "2025-01-07T17:50:23.121Z",
2136 | "responseTime": 253
2137 | },
2138 | {
2139 | "_id": "677c70ee6b79c1e0b523c30b",
2140 | "ip": "181.224.205.42",
2141 | "anonymityLevel": "transparent",
2142 | "asn": "AS52412",
2143 | "city": "Santiago de los Caballeros",
2144 | "country": "DO",
2145 | "created_at": "2025-01-07T00:10:22.839Z",
2146 | "google": false,
2147 | "isp": "BW TELECOM",
2148 | "lastChecked": 1736272167,
2149 | "latency": 138.238,
2150 | "org": "BW TELECOM SRL",
2151 | "port": "999",
2152 | "protocols": [
2153 | "http"
2154 | ],
2155 | "speed": 10106,
2156 | "upTime": 100,
2157 | "upTimeSuccessCount": 6,
2158 | "upTimeTryCount": 6,
2159 | "updated_at": "2025-01-07T17:49:27.808Z",
2160 | "responseTime": 254
2161 | },
2162 | {
2163 | "_id": "67790b026b79c1e0b5ae425d",
2164 | "ip": "38.41.0.60",
2165 | "anonymityLevel": "transparent",
2166 | "asn": "AS269832",
2167 | "city": "El Tocuyo",
2168 | "country": "VE",
2169 | "created_at": "2025-01-04T10:18:42.673Z",
2170 | "google": false,
2171 | "isp": "MDS TELECOM C.A.",
2172 | "lastChecked": 1736272167,
2173 | "latency": 146.774,
2174 | "org": "MDS Telecom LLC",
2175 | "port": "11201",
2176 | "protocols": [
2177 | "http"
2178 | ],
2179 | "speed": 13516,
2180 | "upTime": 100,
2181 | "upTimeSuccessCount": 27,
2182 | "upTimeTryCount": 27,
2183 | "updated_at": "2025-01-07T17:49:27.809Z",
2184 | "responseTime": 3292
2185 | },
2186 | {
2187 | "_id": "677c72766b79c1e0b5240215",
2188 | "ip": "94.247.129.244",
2189 | "anonymityLevel": "elite",
2190 | "asn": "AS48716",
2191 | "city": "Almaty",
2192 | "country": "KZ",
2193 | "created_at": "2025-01-07T00:16:54.711Z",
2194 | "google": false,
2195 | "isp": "PS Internet Company LLP",
2196 | "lastChecked": 1736272144,
2197 | "latency": 103.143,
2198 | "org": "PS Internet Company LLC",
2199 | "port": "3128",
2200 | "protocols": [
2201 | "http"
2202 | ],
2203 | "speed": 10897,
2204 | "upTime": 100,
2205 | "upTimeSuccessCount": 6,
2206 | "upTimeTryCount": 6,
2207 | "updated_at": "2025-01-07T17:49:04.208Z",
2208 | "responseTime": 267
2209 | },
2210 | {
2211 | "_id": "67780db56b79c1e0b58ba886",
2212 | "ip": "109.127.82.166",
2213 | "anonymityLevel": "transparent",
2214 | "asn": "AS21277",
2215 | "city": "Erbil",
2216 | "country": "IQ",
2217 | "created_at": "2025-01-03T16:17:57.703Z",
2218 | "google": false,
2219 | "isp": "Newroz Telecom",
2220 | "lastChecked": 1736271994,
2221 | "latency": 80.824,
2222 | "org": "",
2223 | "port": "8080",
2224 | "protocols": [
2225 | "http"
2226 | ],
2227 | "speed": 9404,
2228 | "upTime": 100,
2229 | "upTimeSuccessCount": 32,
2230 | "upTimeTryCount": 32,
2231 | "updated_at": "2025-01-07T17:46:34.414Z",
2232 | "responseTime": 3099
2233 | },
2234 | {
2235 | "_id": "677a59846b79c1e0b5db87a2",
2236 | "ip": "170.81.210.254",
2237 | "anonymityLevel": "transparent",
2238 | "asn": "AS266423",
2239 | "country": "BR",
2240 | "created_at": "2025-01-05T10:05:13.659Z",
2241 | "google": false,
2242 | "lastChecked": 1736271812,
2243 | "latency": 197.316,
2244 | "org": "Connectvy Telecomunicacoes Ltda",
2245 | "port": "8080",
2246 | "protocols": [
2247 | "http"
2248 | ],
2249 | "speed": 8008,
2250 | "upTime": 100,
2251 | "upTimeSuccessCount": 17,
2252 | "upTimeTryCount": 17,
2253 | "updated_at": "2025-01-07T17:43:32.716Z",
2254 | "city": "Carapicuíba",
2255 | "isp": "Connectvy Telecomunicacoes Ltda",
2256 | "responseTime": 1095
2257 | },
2258 | {
2259 | "_id": "677c70026b79c1e0b5239e54",
2260 | "ip": "181.78.105.152",
2261 | "anonymityLevel": "transparent",
2262 | "asn": "AS52468",
2263 | "country": "GT",
2264 | "created_at": "2025-01-07T00:06:26.796Z",
2265 | "google": false,
2266 | "lastChecked": 1736271787,
2267 | "latency": 138.723,
2268 | "org": "UFINET Guatemala S. A",
2269 | "port": "999",
2270 | "protocols": [
2271 | "http"
2272 | ],
2273 | "speed": 8007,
2274 | "upTime": 100,
2275 | "upTimeSuccessCount": 6,
2276 | "upTimeTryCount": 6,
2277 | "updated_at": "2025-01-07T17:43:07.922Z",
2278 | "city": "Guatemala City",
2279 | "isp": "Ufinet Panama S.A.",
2280 | "responseTime": 319
2281 | },
2282 | {
2283 | "_id": "676530226b79c1e0b5f101f8",
2284 | "ip": "151.80.199.88",
2285 | "anonymityLevel": "transparent",
2286 | "asn": "AS16276",
2287 | "city": "Roubaix",
2288 | "country": "FR",
2289 | "created_at": "2024-12-20T08:51:46.830Z",
2290 | "google": false,
2291 | "isp": "OVH SAS",
2292 | "lastChecked": 1736271601,
2293 | "latency": 5.488,
2294 | "org": "OVH",
2295 | "port": "3128",
2296 | "protocols": [
2297 | "http"
2298 | ],
2299 | "speed": 9009,
2300 | "upTime": 98.56115107913669,
2301 | "upTimeSuccessCount": 137,
2302 | "upTimeTryCount": 139,
2303 | "updated_at": "2025-01-07T17:40:01.804Z",
2304 | "responseTime": 795
2305 | },
2306 | {
2307 | "_id": "677a990b6b79c1e0b5e40241",
2308 | "ip": "63.143.57.119",
2309 | "anonymityLevel": "elite",
2310 | "asn": "AS46475",
2311 | "country": "US",
2312 | "created_at": "2025-01-05T14:36:59.764Z",
2313 | "google": false,
2314 | "lastChecked": 1736271601,
2315 | "latency": 106.645,
2316 | "org": "Limestone Networks",
2317 | "port": "80",
2318 | "protocols": [
2319 | "http"
2320 | ],
2321 | "speed": 9398,
2322 | "upTime": 100,
2323 | "upTimeSuccessCount": 17,
2324 | "upTimeTryCount": 17,
2325 | "updated_at": "2025-01-07T17:40:01.721Z",
2326 | "city": "Dallas",
2327 | "isp": "Limestone Networks, Inc.",
2328 | "responseTime": 1006
2329 | },
2330 | {
2331 | "_id": "673692066b79c1e0b5df1a1e",
2332 | "ip": "49.51.244.112",
2333 | "anonymityLevel": "anonymous",
2334 | "asn": null,
2335 | "city": "Santa Clara",
2336 | "country": "US",
2337 | "created_at": "2024-11-15T00:12:54.834Z",
2338 | "google": false,
2339 | "isp": "OPHL",
2340 | "lastChecked": 1736271546,
2341 | "latency": 145.288,
2342 | "org": null,
2343 | "port": "8888",
2344 | "protocols": [
2345 | "http"
2346 | ],
2347 | "speed": 407,
2348 | "upTime": 99.51338199513383,
2349 | "upTimeSuccessCount": 409,
2350 | "upTimeTryCount": 411,
2351 | "updated_at": "2025-01-07T17:39:06.309Z",
2352 | "responseTime": 510
2353 | },
2354 | {
2355 | "_id": "677a8bcd6b79c1e0b5e25826",
2356 | "ip": "185.105.102.189",
2357 | "anonymityLevel": "elite",
2358 | "asn": "AS58224",
2359 | "city": "Tehran",
2360 | "country": "IR",
2361 | "created_at": "2025-01-05T13:40:29.008Z",
2362 | "google": false,
2363 | "isp": "Iran Telecommunication Company PJS",
2364 | "lastChecked": 1736271536,
2365 | "latency": 87.076,
2366 | "org": "Telecommunication Company of Iran",
2367 | "port": "80",
2368 | "protocols": [
2369 | "http"
2370 | ],
2371 | "speed": 11203,
2372 | "upTime": 100,
2373 | "upTimeSuccessCount": 16,
2374 | "upTimeTryCount": 16,
2375 | "updated_at": "2025-01-07T17:38:56.410Z",
2376 | "responseTime": 665
2377 | },
2378 | {
2379 | "_id": "677c71b46b79c1e0b523e584",
2380 | "ip": "103.88.44.21",
2381 | "anonymityLevel": "elite",
2382 | "asn": "AS4785",
2383 | "city": "Osaka",
2384 | "country": "JP",
2385 | "created_at": "2025-01-07T00:13:40.084Z",
2386 | "google": false,
2387 | "isp": "xTom Limited",
2388 | "lastChecked": 1736271455,
2389 | "latency": 243.053,
2390 | "org": "Owl Limited",
2391 | "port": "80",
2392 | "protocols": [
2393 | "http"
2394 | ],
2395 | "speed": 8288,
2396 | "upTime": 100,
2397 | "upTimeSuccessCount": 6,
2398 | "upTimeTryCount": 6,
2399 | "updated_at": "2025-01-07T17:37:35.215Z",
2400 | "responseTime": 258
2401 | }
2402 | ]
--------------------------------------------------------------------------------
/src/bot.ts:
--------------------------------------------------------------------------------
1 | import axios from 'axios'
2 | import nacl from 'tweetnacl'
3 | import bs58 from 'bs58'
4 | import { HttpsProxyAgent } from 'https-proxy-agent';
5 | import { readJson } from './utils';
6 |
7 |
8 | function signAndEncodeSignature(privateKeyBase58: any, timestamp: any) {
9 | const privateKey = bs58.decode(privateKeyBase58)
10 | const keypair = nacl.sign.keyPair.fromSecretKey(privateKey)
11 | const message = new TextEncoder().encode(`Sign in to pump.fun: ${timestamp}`)
12 | // const message = `Sign in to pump.fun: ${timestamp}`
13 | const signature = nacl.sign.detached(message, keypair.secretKey)
14 |
15 | if (!nacl.sign.detached.verify(message, signature, keypair.publicKey)) {
16 | throw new Error('Signature verification failed')
17 | }
18 |
19 | return {
20 | timestamp,
21 | signature: bs58.encode(signature),
22 | publicKey: bs58.encode(keypair.publicKey)
23 | }
24 | }
25 |
26 | // Function to perform login
27 | async function performLogin(wallet: any) {
28 | try {
29 | const timestamp = Date.now().toString()
30 | const { signature } = signAndEncodeSignature(
31 | bs58.encode(wallet.secretKey),
32 | timestamp
33 | )
34 |
35 | const payload = {
36 | address: wallet.publicKey.toString(),
37 | signature: signature,
38 | timestamp: timestamp
39 | }
40 |
41 | const response = await axios.post(
42 | 'https://frontend-api.pump.fun/auth/login',
43 | payload,
44 | {
45 | headers: {
46 | Accept: '*/*',
47 | 'Content-Type': 'application/json',
48 | Origin: 'https://pump.fun',
49 | 'User-Agent':
50 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
51 | 'sec-ch-ua':
52 | '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
53 | 'sec-ch-ua-mobile': '?0',
54 | 'sec-ch-ua-platform': '"Windows"'
55 | }
56 | }
57 | )
58 |
59 | if (response.headers['set-cookie']) {
60 | const authCookie = response.headers['set-cookie'].find((cookie: any) =>
61 | cookie.startsWith('auth_token=')
62 | )
63 | return authCookie ? authCookie.split('=')[1].split(';')[0] : null
64 | }
65 | console.log("Perform Login: ", response.status);
66 | return null
67 | } catch (error: any) {
68 | console.error('Login error:', error.message)
69 | throw error
70 | }
71 | }
72 |
73 | // Function to get token
74 | async function getToken(walletPublicKey: any, authToken: any) {
75 | try {
76 | const response = await axios.get(
77 | `https://frontend-api.pump.fun/token/generateTokenForThread?user=${walletPublicKey}`,
78 | {
79 | headers: {
80 | accept: 'application/json',
81 | Cookie: `auth_token=${authToken}`,
82 | 'User-Agent':
83 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'
84 | }
85 | }
86 | )
87 | return response.data.token
88 | } catch (error: any) {
89 | console.error('Token error:', error.message)
90 | throw error
91 | }
92 | }
93 |
94 | async function postCommentWithProxy(token: any, mint: any, text: any) {
95 | const proxyList = readJson("proxy_list.json");
96 | const usedProxies = new Set();
97 | const userAgents = [
98 | // Chrome on Windows
99 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
100 | // Chrome on macOS
101 | 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
102 | // Firefox on Windows
103 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0',
104 | // Firefox on macOS
105 | 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Firefox/102.0',
106 | // Safari on macOS
107 | 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15',
108 | // Edge on Windows
109 | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.64',
110 | // Samsung Browser on Android
111 | 'Mozilla/5.0 (Linux; Android 10; SM-G973F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/13.2 Chrome/91.0.4472.124 Mobile Safari/537.36',
112 | // Chrome on Android
113 | 'Mozilla/5.0 (Linux; Android 10; SM-A505F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.199 Mobile Safari/537.36',
114 | // Safari on iPhone
115 | 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Mobile/15E148 Safari/604.1',
116 | // Safari on iPad
117 | 'Mozilla/5.0 (iPad; CPU OS 15_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Mobile/15E148 Safari/604.1',
118 | ];
119 |
120 | while (usedProxies.size < proxyList.length) {
121 | const randIdx = Math.floor(Math.random() * proxyList.length);
122 | if (usedProxies.has(randIdx)) continue;
123 |
124 | usedProxies.add(randIdx);
125 | const proxy = proxyList[randIdx];
126 |
127 | // @ts-ignore
128 | const proxyUrl = `${proxy.protocols}://${proxy.ip}:${proxy.port}`;
129 | console.log(`Using Proxy: ${proxyUrl}`);
130 | const agent = new HttpsProxyAgent(proxyUrl);
131 | const randomUserAgent = userAgents[Math.floor(Math.random() * userAgents.length)];
132 |
133 | try {
134 | const response = await axios.post(
135 | 'https://client-proxy-server.pump.fun/comment',
136 | { text, mint },
137 | {
138 | headers: {
139 | accept: '*/*',
140 | 'content-type': 'application/json',
141 | origin: 'https://pump.fun',
142 | referer: 'https://pump.fun/',
143 | 'x-aws-proxy-token': token,
144 | 'User-Agent': randomUserAgent,
145 | },
146 | httpAgent: agent,
147 | timeout: 10000,
148 | validateStatus: (status) =>
149 | status === 200 || status === 201 || status === 429,
150 | }
151 | );
152 |
153 | return response.status === 200 || response.status === 201;
154 | } catch (error) {
155 | // @ts-ignore
156 | console.error(`Proxy ${proxyUrl} failed. Error: ${error.message}`);
157 |
158 | console.log(error);
159 | }
160 | }
161 |
162 | throw new Error("All proxies failed");
163 | }
164 |
165 |
166 |
167 | export {
168 | performLogin,
169 | getToken,
170 | postCommentWithProxy,
171 | }
--------------------------------------------------------------------------------
/src/commands/clis.ts:
--------------------------------------------------------------------------------
1 | import { aboutMenu, exit, genMenu, mainMenu, runBotMenu } from ".";
2 | import { genAIComments, getCommentList, inputComment, runBotExistWallet, runBotNewWallet } from "../funcs";
3 | import { CommandLineFunction } from "../types";
4 |
5 | const mainMenuBar: CommandLineFunction[] = [
6 | {
7 | command: "Generate AI Comments",
8 | fn: () => genMenu()
9 | },
10 | {
11 | command: "Get Comment List",
12 | fn: () => getCommentList()
13 | },
14 | {
15 | command: "Run Comment Bot",
16 | fn: () => runBotMenu()
17 | },
18 | {
19 | command: "About Pumpfun Comment Bot",
20 | fn: () => aboutMenu()
21 | },
22 | {
23 | command: "Exit",
24 | fn: () => exit()
25 | },
26 | ]
27 |
28 | const genBar: CommandLineFunction[] = [
29 | {
30 | command: "Generate Comment with AI",
31 | fn: () => genAIComments()
32 | },
33 | {
34 | command: "Input Comment Manually",
35 | fn: () => inputComment()
36 | },
37 | {
38 | command: "Return Back to [Main Menu]",
39 | fn: () => mainMenu()
40 | }
41 | ]
42 |
43 | const runBotBar: CommandLineFunction[] = [
44 | {
45 | command: "Run Bot from new Wallet",
46 | fn: () => runBotNewWallet()
47 | },
48 | {
49 | command: "Run Bot from existing Wallet in .env",
50 | fn: () => runBotExistWallet()
51 | },
52 | {
53 | command: "Return Back to [Main Menu]",
54 | fn: () => mainMenu()
55 | }
56 | ]
57 |
58 | const returnToMain: CommandLineFunction[] = [
59 | {
60 | command: "Return Back to [Main Menu]",
61 | fn: () => mainMenu()
62 | }
63 | ]
64 |
65 |
66 |
67 | export {
68 | mainMenuBar,
69 | genBar,
70 | runBotBar,
71 | returnToMain
72 | }
--------------------------------------------------------------------------------
/src/commands/index.ts:
--------------------------------------------------------------------------------
1 | import { aboutBotStr } from "../constants";
2 | import { CommandLineFunction } from "../types";
3 | import { cliMenu } from "../utils";
4 | import { genBar, mainMenuBar, returnToMain, runBotBar } from "./clis";
5 |
6 | const mainMenu = () => cliMenu('[Main Menu]', mainMenuBar)
7 | const genMenu = () => cliMenu('[Main Menu] > [Generate & Add Comments]', genBar)
8 | const runBotMenu = () => cliMenu('[Main Menu] > [Run Comment Bot]', runBotBar)
9 | const aboutMenu = () => {
10 | console.log(`${aboutBotStr}`);
11 | cliMenu('', returnToMain , false)
12 | }
13 | const exit = () => {
14 | console.clear()
15 | console.log("Welcome Feedback on https://t.me/wizardev");
16 | process.exit(0)
17 | }
18 |
19 | export {
20 | mainMenu,
21 | genMenu,
22 | runBotMenu,
23 | exit,
24 | aboutMenu
25 | }
--------------------------------------------------------------------------------
/src/config.ts:
--------------------------------------------------------------------------------
1 | import { Keypair } from '@solana/web3.js';
2 | import { config } from 'dotenv';
3 | import bs58 from 'bs58';
4 | config()
5 |
6 | const OPENAI_KEY = process.env.OPENAI_KEY || "";
7 | const PUMP_MINT = process.env.PUMP_MINT || "";
8 | const BOT_KEY = process.env.BOT_KEY || "";
9 | const COMMENT_MIN_INTERVAL = parseInt(process.env.COMMENT_MIN_INTERVAL || "1000")
10 | const COMMENT_MAX_INTERVAL = parseInt(process.env.COMMENT_MAX_INTERVAL || "4000");
11 | const payer = Keypair.fromSecretKey(bs58.decode(BOT_KEY));
12 |
13 |
14 | export {
15 | OPENAI_KEY,
16 | PUMP_MINT,
17 | COMMENT_MIN_INTERVAL,
18 | COMMENT_MAX_INTERVAL,
19 | payer
20 | }
--------------------------------------------------------------------------------
/src/constants.ts:
--------------------------------------------------------------------------------
1 | import { PublicKey } from "@solana/web3.js";
2 | import { COMMENT_MAX_INTERVAL, COMMENT_MIN_INTERVAL, PUMP_MINT } from "./config";
3 | import { readJson } from "./utils";
4 |
5 | const genAiCommentStr = `Please Input Key sentence for AI Comment Generate
6 |
7 | Tip: Please Input concise and core sentense for AI generating.
8 | It'd better if there is official link and additional info for token.
9 | `
10 |
11 | const aboutBotStr = `Pumpfun Comment Bot v1.0
12 |
13 | This bot helps user to create AI comments on pumpfun.
14 | The usage method is simple.
15 |
16 | 1. Generate Comment with AI automatically ,or else Input Comment Manually.
17 | 2. Run Comment Bot
18 |
19 | Clue: Pumpfun, Comment, Bot, Solana
20 |
21 | If you have any question on Pumpfun Comment Bot , feel free to contact on https://t.me/wizardev`
22 |
23 | const defaultInput = 'Provide discussing e-chat sentences about the token pumpfun on solana in an array format. Exclude any unnecessary words like "```" or "json or javascript" for chatgpt.';
24 |
25 | const runBotPanel = (pubkey: PublicKey, isNew: boolean = true) => `Run Bot from ${isNew ? 'New' : 'Existing'} Wallet\n
26 | PUBKEY: ${pubkey.toBase58()}
27 | PUMP_MINT: ${PUMP_MINT}`
28 | export {
29 | aboutBotStr,
30 | genAiCommentStr,
31 | defaultInput,
32 | runBotPanel
33 | }
--------------------------------------------------------------------------------
/src/funcs/index.ts:
--------------------------------------------------------------------------------
1 | import OpenAI from "openai";
2 | import { returnToMain } from "../commands/clis";
3 | import { defaultInput, genAiCommentStr, runBotPanel } from "../constants";
4 | import { addJson, cliMenu, readJson, rl } from "../utils";
5 | import { COMMENT_MAX_INTERVAL, COMMENT_MIN_INTERVAL, OPENAI_KEY, payer, PUMP_MINT } from "../config";
6 | import { Keypair } from "@solana/web3.js";
7 | import { getToken, performLogin, postCommentWithProxy } from "../bot";
8 | import { sleep } from "openai/core";
9 |
10 | const openai = new OpenAI({
11 | apiKey: OPENAI_KEY,
12 | });
13 |
14 | const genAIComments = () => {
15 | console.log("[Main Menu] > [Generate & Add Comments] > [Generate Comment with AI]\n");
16 | rl.question(`${genAiCommentStr}\n`, async (additionalInput) => {
17 |
18 | const completion = await openai.chat.completions.create({
19 | model: "gpt-4o-mini",
20 | store: true,
21 | messages: [
22 | { "role": "user", "content": `${additionalInput}. ${defaultInput}` },
23 | ],
24 | });
25 |
26 | const value = completion.choices[0].message.content || '';
27 |
28 | const sentences = JSON.parse(value)
29 |
30 | if (sentences.length > 0) {
31 | console.log("\nGenerated AI comments :", sentences);
32 | addJson(sentences)
33 | console.log(`\nSuccessfully added ${sentences.length} comments.`);
34 | } else console.log("Error in Generating AI comment\n");
35 |
36 | cliMenu('', returnToMain, false)
37 | })
38 | }
39 |
40 | const inputComment = () => {
41 | console.log("[Main Menu] > [Generate & Add Comments] > [Input Comment Manually]\n");
42 |
43 | rl.question(`Please input comment.\n\n`, (answer) => {
44 | addJson([answer])
45 | console.log("\nSuccessfully added comment.");
46 | cliMenu('', returnToMain, false)
47 | })
48 | }
49 |
50 | const getCommentList = () => {
51 | console.log("[Main Menu] > [Get Comment List]\n");
52 |
53 | const data = readJson()
54 |
55 | console.log(`\t${data.length} comments found.\n`);
56 | data.forEach((ele, idx) => console.log(`\t\t${idx + 1}. ${ele}`))
57 |
58 | cliMenu('', returnToMain, false)
59 | }
60 |
61 | const runBotNewWallet = async () => {
62 | console.log("[Main Menu] > [Run Comment Bot] > [Run Bot from new Wallet]\n");
63 |
64 | let i = true
65 | while (i) {
66 | const commentWallet = Keypair.generate()
67 |
68 | console.log(runBotPanel(commentWallet.publicKey))
69 |
70 | const authToken = await performLogin(commentWallet)
71 | if (!authToken) throw new Error('Failed to login')
72 |
73 | const token = await getToken(
74 | commentWallet.publicKey.toString(),
75 | authToken
76 | )
77 | if (!token) throw new Error('Failed to get token')
78 |
79 |
80 | const data = readJson()
81 | const randIdx = Math.floor(Math.random() * (data.length + 1));
82 | let success = await postCommentWithProxy(
83 | token,
84 | PUMP_MINT,
85 | data[randIdx],
86 | )
87 | const randSlp = Math.floor(Math.random() * (COMMENT_MAX_INTERVAL - COMMENT_MIN_INTERVAL) + COMMENT_MIN_INTERVAL);
88 | await sleep(randSlp)
89 |
90 | if (success) {
91 | console.log("New Comment : ", data[randIdx]);
92 | }
93 |
94 | rl.question("", (code) => {
95 | if (code == "0") {
96 | i = false;
97 | console.log("Exiting...");
98 | }
99 | })
100 | }
101 |
102 | }
103 | const runBotExistWallet = async () => {
104 | console.log("[Main Menu] > [Run Comment Bot] > [Run Bot from existing Wallet in .env]\n");
105 |
106 | console.log(runBotPanel(payer.publicKey, false))
107 |
108 | const authToken = await performLogin(payer)
109 | if (!authToken) throw new Error('Failed to login')
110 |
111 | const token = await getToken(
112 | payer.publicKey.toString(),
113 | authToken
114 | )
115 | if (!token) throw new Error('Failed to get token')
116 |
117 | const data = readJson()
118 |
119 | let i = true
120 | while (i) {
121 | const randIdx = Math.floor(Math.random() * (data.length + 1));
122 | let success = await postCommentWithProxy(
123 | token,
124 | PUMP_MINT,
125 | data[randIdx],
126 | )
127 | const randSlp = Math.floor(Math.random() * (COMMENT_MAX_INTERVAL - COMMENT_MIN_INTERVAL) + COMMENT_MIN_INTERVAL);
128 | await sleep(randSlp)
129 |
130 | if (success) {
131 | console.log("New Comment : ", data[randIdx]);
132 | }
133 |
134 | rl.question("", (code) => {
135 | if (code == "0") {
136 | i = false;
137 | console.log("Exiting...");
138 | }
139 | })
140 | }
141 |
142 | }
143 |
144 | export {
145 | genAIComments,
146 | inputComment,
147 | getCommentList,
148 | runBotNewWallet,
149 | runBotExistWallet
150 | }
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { config } from 'dotenv';
2 | import { mainMenu } from './commands';
3 |
4 | config()
5 |
6 | mainMenu()
--------------------------------------------------------------------------------
/src/test.ts:
--------------------------------------------------------------------------------
1 | import { Keypair } from "@solana/web3.js";
2 | import { getToken, performLogin, postCommentWithProxy } from "./bot";
3 | import { PUMP_MINT } from "./config";
4 |
5 | async function mainFunc() {
6 | const commentWallet = Keypair.generate()
7 | const authToken = await performLogin(commentWallet)
8 | if (!authToken) throw new Error('Failed to login')
9 |
10 | const token = await getToken(
11 | commentWallet.publicKey.toString(),
12 | authToken
13 | )
14 | if (!token) throw new Error('Failed to get token')
15 |
16 | console.log("token: ", token)
17 |
18 | let success = await postCommentWithProxy(
19 | token,
20 | PUMP_MINT,
21 | "tahki",
22 | )
23 |
24 | console.log(success);
25 | }
26 |
27 |
28 | mainFunc();
--------------------------------------------------------------------------------
/src/types.ts:
--------------------------------------------------------------------------------
1 | interface CommandLineFunction {
2 | command : string,
3 | fn : Function
4 | };
5 |
6 | export {
7 | CommandLineFunction
8 | }
--------------------------------------------------------------------------------
/src/utils.ts:
--------------------------------------------------------------------------------
1 | import { createInterface } from 'readline';
2 | import { CommandLineFunction } from './types';
3 | import fs from 'fs';
4 |
5 | const rl = createInterface({
6 | input: process.stdin,
7 | output: process.stdout,
8 | });
9 |
10 | const cliMenu = (headline: string, command_line: CommandLineFunction[], clear: boolean = true) => {
11 | if (clear) console.clear()
12 | const title = headline == "" ? `${command_line.map((ele, idx) => `\n\t[${idx + 1}] ${ele.command}`)}\n` : `${headline}\n${command_line.map((ele, idx) => `\n\t[${idx + 1}] ${ele.command}`)}\n`
13 | const temp = () => rl.question(title, (answer: string) => {
14 | console.clear()
15 | try {
16 | const i = parseInt(answer) - 1
17 | command_line[i].fn()
18 | } catch (error) {
19 | console.error(" =============== Invalid Input =============== \n");
20 | temp()
21 | }
22 | })
23 |
24 | temp()
25 | }
26 |
27 |
28 | // Function to read JSON file
29 | const readJson = (filename: string = "data.json"): string[] => {
30 | if (!fs.existsSync(filename)) {
31 | // If the file does not exist, create an empty array
32 | fs.writeFileSync(filename, '[]', 'utf-8');
33 | }
34 | const data = fs.readFileSync(filename, 'utf-8');
35 | return JSON.parse(data) as string[];
36 | }
37 |
38 | // Function to write JSON file
39 | const writeJson = (data: string[], filename: string = "data.json",): void => {
40 | fs.writeFileSync(filename, JSON.stringify(data, null, 4), 'utf-8');
41 | }
42 |
43 | // Function to add JSON file
44 | const addJson = (data: string[], filename: string = "data.json",): void => {
45 | const oldData = readJson(filename)
46 | writeJson([...oldData, ...data], filename)
47 | }
48 |
49 | export {
50 | cliMenu,
51 | rl,
52 | readJson,
53 | writeJson,
54 | addJson,
55 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | /* Visit https://aka.ms/tsconfig to read more about this file */
4 |
5 | /* Projects */
6 | // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
8 | // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
12 |
13 | /* Language and Environment */
14 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
16 | // "jsx": "preserve", /* Specify what JSX code is generated. */
17 | // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
22 | // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
25 | // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
26 |
27 | /* Modules */
28 | "module": "commonjs", /* Specify what module code is generated. */
29 | // "rootDir": "./", /* Specify the root folder within your source files. */
30 | // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
31 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
32 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
33 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
34 | // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
35 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */
36 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
37 | // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
38 | // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
39 | // "rewriteRelativeImportExtensions": true, /* Rewrite '.ts', '.tsx', '.mts', and '.cts' file extensions in relative import paths to their JavaScript equivalent in output files. */
40 | // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */
41 | // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */
42 | // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
43 | // "noUncheckedSideEffectImports": true, /* Check side effect imports. */
44 | // "resolveJsonModule": true, /* Enable importing .json files. */
45 | // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
46 | // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */
47 |
48 | /* JavaScript Support */
49 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
50 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
51 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
52 |
53 | /* Emit */
54 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
55 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */
56 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
57 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */
58 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
59 | // "noEmit": true, /* Disable emitting files from a compilation. */
60 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
61 | // "outDir": "./", /* Specify an output folder for all emitted files. */
62 | // "removeComments": true, /* Disable emitting comments. */
63 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
64 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
65 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
66 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
67 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
68 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
69 | // "newLine": "crlf", /* Set the newline character for emitting files. */
70 | // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
71 | // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
72 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
73 | // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
74 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */
75 |
76 | /* Interop Constraints */
77 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
78 | // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
79 | // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */
80 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
81 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
82 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
83 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
84 |
85 | /* Type Checking */
86 | "strict": true, /* Enable all strict type-checking options. */
87 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
88 | // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
89 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
90 | // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
91 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
92 | // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */
93 | // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
94 | // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
95 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
96 | // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
97 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
98 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
99 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
100 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
101 | // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
102 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
103 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
104 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
105 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
106 |
107 | /* Completeness */
108 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
109 | "skipLibCheck": true /* Skip type checking all .d.ts files. */
110 | }
111 | }
112 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/runtime@^7.25.0":
6 | version "7.26.0"
7 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1"
8 | integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==
9 | dependencies:
10 | regenerator-runtime "^0.14.0"
11 |
12 | "@cspotcode/source-map-support@^0.8.0":
13 | version "0.8.1"
14 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
15 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
16 | dependencies:
17 | "@jridgewell/trace-mapping" "0.3.9"
18 |
19 | "@jridgewell/resolve-uri@^3.0.3":
20 | version "3.1.2"
21 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
22 | integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
23 |
24 | "@jridgewell/sourcemap-codec@^1.4.10":
25 | version "1.5.0"
26 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
27 | integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
28 |
29 | "@jridgewell/trace-mapping@0.3.9":
30 | version "0.3.9"
31 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
32 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
33 | dependencies:
34 | "@jridgewell/resolve-uri" "^3.0.3"
35 | "@jridgewell/sourcemap-codec" "^1.4.10"
36 |
37 | "@noble/curves@^1.4.2":
38 | version "1.7.0"
39 | resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45"
40 | integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==
41 | dependencies:
42 | "@noble/hashes" "1.6.0"
43 |
44 | "@noble/hashes@1.6.0":
45 | version "1.6.0"
46 | resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5"
47 | integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==
48 |
49 | "@noble/hashes@^1.4.0":
50 | version "1.6.1"
51 | resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5"
52 | integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==
53 |
54 | "@solana/buffer-layout@^4.0.1":
55 | version "4.0.1"
56 | resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15"
57 | integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==
58 | dependencies:
59 | buffer "~6.0.3"
60 |
61 | "@solana/web3.js@^1.95.5":
62 | version "1.98.0"
63 | resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.98.0.tgz#21ecfe8198c10831df6f0cfde7f68370d0405917"
64 | integrity sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA==
65 | dependencies:
66 | "@babel/runtime" "^7.25.0"
67 | "@noble/curves" "^1.4.2"
68 | "@noble/hashes" "^1.4.0"
69 | "@solana/buffer-layout" "^4.0.1"
70 | agentkeepalive "^4.5.0"
71 | bigint-buffer "^1.1.5"
72 | bn.js "^5.2.1"
73 | borsh "^0.7.0"
74 | bs58 "^4.0.1"
75 | buffer "6.0.3"
76 | fast-stable-stringify "^1.0.0"
77 | jayson "^4.1.1"
78 | node-fetch "^2.7.0"
79 | rpc-websockets "^9.0.2"
80 | superstruct "^2.0.2"
81 |
82 | "@swc/helpers@^0.5.11":
83 | version "0.5.15"
84 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7"
85 | integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==
86 | dependencies:
87 | tslib "^2.8.0"
88 |
89 | "@tsconfig/node10@^1.0.7":
90 | version "1.0.11"
91 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2"
92 | integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==
93 |
94 | "@tsconfig/node12@^1.0.7":
95 | version "1.0.11"
96 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
97 | integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
98 |
99 | "@tsconfig/node14@^1.0.0":
100 | version "1.0.3"
101 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
102 | integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
103 |
104 | "@tsconfig/node16@^1.0.2":
105 | version "1.0.4"
106 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
107 | integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
108 |
109 | "@types/connect@^3.4.33":
110 | version "3.4.38"
111 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858"
112 | integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==
113 | dependencies:
114 | "@types/node" "*"
115 |
116 | "@types/node-fetch@^2.6.4":
117 | version "2.6.12"
118 | resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.12.tgz#8ab5c3ef8330f13100a7479e2cd56d3386830a03"
119 | integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==
120 | dependencies:
121 | "@types/node" "*"
122 | form-data "^4.0.0"
123 |
124 | "@types/node@*":
125 | version "22.10.2"
126 | resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.2.tgz#a485426e6d1fdafc7b0d4c7b24e2c78182ddabb9"
127 | integrity sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==
128 | dependencies:
129 | undici-types "~6.20.0"
130 |
131 | "@types/node@^12.12.54":
132 | version "12.20.55"
133 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240"
134 | integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==
135 |
136 | "@types/node@^18.11.18":
137 | version "18.19.68"
138 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.68.tgz#f4f10d9927a7eaf3568c46a6d739cc0967ccb701"
139 | integrity sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==
140 | dependencies:
141 | undici-types "~5.26.4"
142 |
143 | "@types/uuid@^8.3.4":
144 | version "8.3.4"
145 | resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc"
146 | integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==
147 |
148 | "@types/ws@^7.4.4":
149 | version "7.4.7"
150 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702"
151 | integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==
152 | dependencies:
153 | "@types/node" "*"
154 |
155 | "@types/ws@^8.2.2":
156 | version "8.5.13"
157 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.13.tgz#6414c280875e2691d0d1e080b05addbf5cb91e20"
158 | integrity sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==
159 | dependencies:
160 | "@types/node" "*"
161 |
162 | JSONStream@^1.3.5:
163 | version "1.3.5"
164 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
165 | integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
166 | dependencies:
167 | jsonparse "^1.2.0"
168 | through ">=2.2.7 <3"
169 |
170 | abort-controller@^3.0.0:
171 | version "3.0.0"
172 | resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
173 | integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
174 | dependencies:
175 | event-target-shim "^5.0.0"
176 |
177 | acorn-walk@^8.1.1:
178 | version "8.3.4"
179 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7"
180 | integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==
181 | dependencies:
182 | acorn "^8.11.0"
183 |
184 | acorn@^8.11.0, acorn@^8.4.1:
185 | version "8.14.0"
186 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
187 | integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
188 |
189 | agent-base@^7.1.2:
190 | version "7.1.3"
191 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1"
192 | integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==
193 |
194 | agentkeepalive@^4.2.1, agentkeepalive@^4.5.0:
195 | version "4.5.0"
196 | resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923"
197 | integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==
198 | dependencies:
199 | humanize-ms "^1.2.1"
200 |
201 | arg@^4.1.0:
202 | version "4.1.3"
203 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
204 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
205 |
206 | asynckit@^0.4.0:
207 | version "0.4.0"
208 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
209 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
210 |
211 | axios@^1.7.8:
212 | version "1.7.9"
213 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a"
214 | integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==
215 | dependencies:
216 | follow-redirects "^1.15.6"
217 | form-data "^4.0.0"
218 | proxy-from-env "^1.1.0"
219 |
220 | base-x@^3.0.2:
221 | version "3.0.10"
222 | resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.10.tgz#62de58653f8762b5d6f8d9fe30fa75f7b2585a75"
223 | integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==
224 | dependencies:
225 | safe-buffer "^5.0.1"
226 |
227 | base-x@^5.0.0:
228 | version "5.0.0"
229 | resolved "https://registry.yarnpkg.com/base-x/-/base-x-5.0.0.tgz#6d835ceae379130e1a4cb846a70ac4746f28ea9b"
230 | integrity sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==
231 |
232 | base64-js@^1.3.1:
233 | version "1.5.1"
234 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
235 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
236 |
237 | bigint-buffer@^1.1.5:
238 | version "1.1.5"
239 | resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442"
240 | integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==
241 | dependencies:
242 | bindings "^1.3.0"
243 |
244 | bindings@^1.3.0:
245 | version "1.5.0"
246 | resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
247 | integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
248 | dependencies:
249 | file-uri-to-path "1.0.0"
250 |
251 | bn.js@^5.2.0, bn.js@^5.2.1:
252 | version "5.2.1"
253 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
254 | integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
255 |
256 | borsh@^0.7.0:
257 | version "0.7.0"
258 | resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a"
259 | integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==
260 | dependencies:
261 | bn.js "^5.2.0"
262 | bs58 "^4.0.0"
263 | text-encoding-utf-8 "^1.0.2"
264 |
265 | bs58@^4.0.0, bs58@^4.0.1:
266 | version "4.0.1"
267 | resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a"
268 | integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==
269 | dependencies:
270 | base-x "^3.0.2"
271 |
272 | bs58@^6.0.0:
273 | version "6.0.0"
274 | resolved "https://registry.yarnpkg.com/bs58/-/bs58-6.0.0.tgz#a2cda0130558535dd281a2f8697df79caaf425d8"
275 | integrity sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==
276 | dependencies:
277 | base-x "^5.0.0"
278 |
279 | buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3:
280 | version "6.0.3"
281 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
282 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
283 | dependencies:
284 | base64-js "^1.3.1"
285 | ieee754 "^1.2.1"
286 |
287 | bufferutil@^4.0.1:
288 | version "4.0.8"
289 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea"
290 | integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==
291 | dependencies:
292 | node-gyp-build "^4.3.0"
293 |
294 | chalk@^5.4.1:
295 | version "5.4.1"
296 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8"
297 | integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==
298 |
299 | combined-stream@^1.0.8:
300 | version "1.0.8"
301 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
302 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
303 | dependencies:
304 | delayed-stream "~1.0.0"
305 |
306 | commander@^2.20.3:
307 | version "2.20.3"
308 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
309 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
310 |
311 | create-require@^1.1.0:
312 | version "1.1.1"
313 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
314 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
315 |
316 | debug@4, debug@^4.3.4:
317 | version "4.4.0"
318 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
319 | integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
320 | dependencies:
321 | ms "^2.1.3"
322 |
323 | delay@^5.0.0:
324 | version "5.0.0"
325 | resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d"
326 | integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==
327 |
328 | delayed-stream@~1.0.0:
329 | version "1.0.0"
330 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
331 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
332 |
333 | diff@^4.0.1:
334 | version "4.0.2"
335 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
336 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
337 |
338 | dotenv@^16.4.7:
339 | version "16.4.7"
340 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26"
341 | integrity sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==
342 |
343 | es6-promise@^4.0.3:
344 | version "4.2.8"
345 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
346 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
347 |
348 | es6-promisify@^5.0.0:
349 | version "5.0.0"
350 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
351 | integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==
352 | dependencies:
353 | es6-promise "^4.0.3"
354 |
355 | event-target-shim@^5.0.0:
356 | version "5.0.1"
357 | resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
358 | integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
359 |
360 | eventemitter3@^5.0.1:
361 | version "5.0.1"
362 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4"
363 | integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==
364 |
365 | eyes@^0.1.8:
366 | version "0.1.8"
367 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
368 | integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==
369 |
370 | fast-stable-stringify@^1.0.0:
371 | version "1.0.0"
372 | resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313"
373 | integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==
374 |
375 | file-uri-to-path@1.0.0:
376 | version "1.0.0"
377 | resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
378 | integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
379 |
380 | follow-redirects@^1.15.6:
381 | version "1.15.9"
382 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
383 | integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
384 |
385 | form-data-encoder@1.7.2:
386 | version "1.7.2"
387 | resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040"
388 | integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==
389 |
390 | form-data@^4.0.0:
391 | version "4.0.1"
392 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48"
393 | integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==
394 | dependencies:
395 | asynckit "^0.4.0"
396 | combined-stream "^1.0.8"
397 | mime-types "^2.1.12"
398 |
399 | formdata-node@^4.3.2:
400 | version "4.4.1"
401 | resolved "https://registry.yarnpkg.com/formdata-node/-/formdata-node-4.4.1.tgz#23f6a5cb9cb55315912cbec4ff7b0f59bbd191e2"
402 | integrity sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==
403 | dependencies:
404 | node-domexception "1.0.0"
405 | web-streams-polyfill "4.0.0-beta.3"
406 |
407 | fs@^0.0.1-security:
408 | version "0.0.1-security"
409 | resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4"
410 | integrity sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==
411 |
412 | https-proxy-agent@^7.0.6:
413 | version "7.0.6"
414 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9"
415 | integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==
416 | dependencies:
417 | agent-base "^7.1.2"
418 | debug "4"
419 |
420 | humanize-ms@^1.2.1:
421 | version "1.2.1"
422 | resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
423 | integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==
424 | dependencies:
425 | ms "^2.0.0"
426 |
427 | ieee754@^1.2.1:
428 | version "1.2.1"
429 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
430 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
431 |
432 | ip-address@^9.0.5:
433 | version "9.0.5"
434 | resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a"
435 | integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==
436 | dependencies:
437 | jsbn "1.1.0"
438 | sprintf-js "^1.1.3"
439 |
440 | isomorphic-ws@^4.0.1:
441 | version "4.0.1"
442 | resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
443 | integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==
444 |
445 | jayson@^4.1.1:
446 | version "4.1.3"
447 | resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.3.tgz#db9be2e4287d9fef4fc05b5fe367abe792c2eee8"
448 | integrity sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==
449 | dependencies:
450 | "@types/connect" "^3.4.33"
451 | "@types/node" "^12.12.54"
452 | "@types/ws" "^7.4.4"
453 | JSONStream "^1.3.5"
454 | commander "^2.20.3"
455 | delay "^5.0.0"
456 | es6-promisify "^5.0.0"
457 | eyes "^0.1.8"
458 | isomorphic-ws "^4.0.1"
459 | json-stringify-safe "^5.0.1"
460 | uuid "^8.3.2"
461 | ws "^7.5.10"
462 |
463 | jsbn@1.1.0:
464 | version "1.1.0"
465 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040"
466 | integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==
467 |
468 | json-stringify-safe@^5.0.1:
469 | version "5.0.1"
470 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
471 | integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
472 |
473 | jsonparse@^1.2.0:
474 | version "1.3.1"
475 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
476 | integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
477 |
478 | make-error@^1.1.1:
479 | version "1.3.6"
480 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
481 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
482 |
483 | mime-db@1.52.0:
484 | version "1.52.0"
485 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
486 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
487 |
488 | mime-types@^2.1.12:
489 | version "2.1.35"
490 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
491 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
492 | dependencies:
493 | mime-db "1.52.0"
494 |
495 | ms@^2.0.0, ms@^2.1.3:
496 | version "2.1.3"
497 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
498 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
499 |
500 | node-domexception@1.0.0:
501 | version "1.0.0"
502 | resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
503 | integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
504 |
505 | node-fetch@^2.6.7, node-fetch@^2.7.0:
506 | version "2.7.0"
507 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
508 | integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
509 | dependencies:
510 | whatwg-url "^5.0.0"
511 |
512 | node-gyp-build@^4.3.0:
513 | version "4.8.4"
514 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8"
515 | integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==
516 |
517 | openai@^4.77.0:
518 | version "4.77.0"
519 | resolved "https://registry.yarnpkg.com/openai/-/openai-4.77.0.tgz#228f2d43ffa79ae9d8b5d4155e965da82e5ac330"
520 | integrity sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==
521 | dependencies:
522 | "@types/node" "^18.11.18"
523 | "@types/node-fetch" "^2.6.4"
524 | abort-controller "^3.0.0"
525 | agentkeepalive "^4.2.1"
526 | form-data-encoder "1.7.2"
527 | formdata-node "^4.3.2"
528 | node-fetch "^2.6.7"
529 |
530 | proxy-from-env@^1.1.0:
531 | version "1.1.0"
532 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
533 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
534 |
535 | readline@^1.3.0:
536 | version "1.3.0"
537 | resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c"
538 | integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==
539 |
540 | regenerator-runtime@^0.14.0:
541 | version "0.14.1"
542 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
543 | integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
544 |
545 | rpc-websockets@^9.0.2:
546 | version "9.0.4"
547 | resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-9.0.4.tgz#9d8ee82533b5d1e13d9ded729e3e38d0d8fa083f"
548 | integrity sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==
549 | dependencies:
550 | "@swc/helpers" "^0.5.11"
551 | "@types/uuid" "^8.3.4"
552 | "@types/ws" "^8.2.2"
553 | buffer "^6.0.3"
554 | eventemitter3 "^5.0.1"
555 | uuid "^8.3.2"
556 | ws "^8.5.0"
557 | optionalDependencies:
558 | bufferutil "^4.0.1"
559 | utf-8-validate "^5.0.2"
560 |
561 | safe-buffer@^5.0.1:
562 | version "5.2.1"
563 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
564 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
565 |
566 | smart-buffer@^4.2.0:
567 | version "4.2.0"
568 | resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
569 | integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
570 |
571 | socks-proxy-agent@^8.0.5:
572 | version "8.0.5"
573 | resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz#b9cdb4e7e998509d7659d689ce7697ac21645bee"
574 | integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==
575 | dependencies:
576 | agent-base "^7.1.2"
577 | debug "^4.3.4"
578 | socks "^2.8.3"
579 |
580 | socks@^2.8.3:
581 | version "2.8.3"
582 | resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5"
583 | integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==
584 | dependencies:
585 | ip-address "^9.0.5"
586 | smart-buffer "^4.2.0"
587 |
588 | sprintf-js@^1.1.3:
589 | version "1.1.3"
590 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a"
591 | integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==
592 |
593 | superstruct@^2.0.2:
594 | version "2.0.2"
595 | resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-2.0.2.tgz#3f6d32fbdc11c357deff127d591a39b996300c54"
596 | integrity sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==
597 |
598 | text-encoding-utf-8@^1.0.2:
599 | version "1.0.2"
600 | resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13"
601 | integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==
602 |
603 | "through@>=2.2.7 <3":
604 | version "2.3.8"
605 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
606 | integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
607 |
608 | tr46@~0.0.3:
609 | version "0.0.3"
610 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
611 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
612 |
613 | ts-node@^10.9.2:
614 | version "10.9.2"
615 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f"
616 | integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==
617 | dependencies:
618 | "@cspotcode/source-map-support" "^0.8.0"
619 | "@tsconfig/node10" "^1.0.7"
620 | "@tsconfig/node12" "^1.0.7"
621 | "@tsconfig/node14" "^1.0.0"
622 | "@tsconfig/node16" "^1.0.2"
623 | acorn "^8.4.1"
624 | acorn-walk "^8.1.1"
625 | arg "^4.1.0"
626 | create-require "^1.1.0"
627 | diff "^4.0.1"
628 | make-error "^1.1.1"
629 | v8-compile-cache-lib "^3.0.1"
630 | yn "3.1.1"
631 |
632 | tslib@^2.8.0:
633 | version "2.8.1"
634 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
635 | integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
636 |
637 | tweetnacl@^1.0.3:
638 | version "1.0.3"
639 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596"
640 | integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
641 |
642 | typescript@^5.7.2:
643 | version "5.7.2"
644 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6"
645 | integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==
646 |
647 | undici-types@~5.26.4:
648 | version "5.26.5"
649 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617"
650 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
651 |
652 | undici-types@~6.20.0:
653 | version "6.20.0"
654 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433"
655 | integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==
656 |
657 | utf-8-validate@^5.0.2:
658 | version "5.0.10"
659 | resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2"
660 | integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==
661 | dependencies:
662 | node-gyp-build "^4.3.0"
663 |
664 | uuid@^8.3.2:
665 | version "8.3.2"
666 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
667 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
668 |
669 | v8-compile-cache-lib@^3.0.1:
670 | version "3.0.1"
671 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
672 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
673 |
674 | web-streams-polyfill@4.0.0-beta.3:
675 | version "4.0.0-beta.3"
676 | resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz#2898486b74f5156095e473efe989dcf185047a38"
677 | integrity sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==
678 |
679 | webidl-conversions@^3.0.0:
680 | version "3.0.1"
681 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
682 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
683 |
684 | whatwg-url@^5.0.0:
685 | version "5.0.0"
686 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
687 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
688 | dependencies:
689 | tr46 "~0.0.3"
690 | webidl-conversions "^3.0.0"
691 |
692 | ws@^7.5.10:
693 | version "7.5.10"
694 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9"
695 | integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
696 |
697 | ws@^8.5.0:
698 | version "8.18.0"
699 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"
700 | integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
701 |
702 | yn@3.1.1:
703 | version "3.1.1"
704 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
705 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
706 |
--------------------------------------------------------------------------------