vacuum-sol 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -12
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -9
- package/dist/config.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -195,20 +195,25 @@ vacuum config # Show configuration
|
|
|
195
195
|
|
|
196
196
|
## 🤖 Telegram Integration
|
|
197
197
|
|
|
198
|
-
### Setup
|
|
198
|
+
### Setup & Guide
|
|
199
199
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
200
|
+
> **👉 [Read the full Telegram Setup Guide](docs/TELEGRAM.md)**
|
|
201
|
+
|
|
202
|
+
Quick setup:
|
|
203
|
+
|
|
204
|
+
1. **Get Token**: Message @BotFather (`/newbot`)
|
|
205
|
+
2. **Get Chat ID**: Message @userinfobot (`/start`)
|
|
206
|
+
3. **Update Config**: Add to `.env`
|
|
207
|
+
|
|
208
|
+
```env
|
|
209
|
+
TELEGRAM_BOT_TOKEN=...
|
|
210
|
+
TELEGRAM_CHAT_ID=...
|
|
211
|
+
```
|
|
207
212
|
|
|
208
213
|
### Run the Bot
|
|
209
214
|
|
|
210
215
|
```bash
|
|
211
|
-
npm
|
|
216
|
+
npm run bot
|
|
212
217
|
```
|
|
213
218
|
|
|
214
219
|
### Telegram Commands
|
|
@@ -226,6 +231,8 @@ npm start -- bot
|
|
|
226
231
|
|
|
227
232
|
## 💻 Using as an SDK
|
|
228
233
|
|
|
234
|
+
> **👉 [Read the SDK vs CLI Guide](docs/SDK_VS_CLI.md)**
|
|
235
|
+
|
|
229
236
|
Vacuum can be used as a TypeScript library to integrate rent reclamation directly into your backend or scripts.
|
|
230
237
|
|
|
231
238
|
```typescript
|
|
@@ -460,9 +467,9 @@ MIT License - see [LICENSE](LICENSE)
|
|
|
460
467
|
|
|
461
468
|
## 🙏 Acknowledgements
|
|
462
469
|
|
|
463
|
-
- [Kora](https://kora
|
|
470
|
+
- [Kora](https://launch.solana.com/docs/kora) - Gasless transaction infrastructure
|
|
464
471
|
- [Solana](https://solana.com) - High-performance blockchain
|
|
465
|
-
- SuperteamNG
|
|
472
|
+
- SuperteamNG Bounty
|
|
466
473
|
|
|
467
474
|
---
|
|
468
475
|
|
|
@@ -471,5 +478,5 @@ MIT License - see [LICENSE](LICENSE)
|
|
|
471
478
|
<br><br>
|
|
472
479
|
<a href="https://github.com/Don-Vicks/vaccum">GitHub</a> •
|
|
473
480
|
<a href="https://www.npmjs.com/package/vacuum-sol">NPM</a> •
|
|
474
|
-
<a href="http://vaccum-bot.vercel.app">Website</a>
|
|
481
|
+
<a href="http://vaccum-bot.vercel.app">Website</a>
|
|
475
482
|
</div>
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,MAAM,WAAW,MAAM;IAErB,MAAM,EAAE,MAAM,CAAA;IAGd,eAAe,EAAE,SAAS,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,MAAM,EAAE,OAAO,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IAGvB,MAAM,EAAE,MAAM,CAAA;CACf;AAeD,wBAAgB,UAAU,IAAI,MAAM,CA+BnC;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAYnE;AAKD,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,MAAM,WAAW,MAAM;IAErB,MAAM,EAAE,MAAM,CAAA;IAGd,eAAe,EAAE,SAAS,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,MAAM,EAAE,OAAO,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IAGvB,MAAM,EAAE,MAAM,CAAA;CACf;AAeD,wBAAgB,UAAU,IAAI,MAAM,CA+BnC;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAYnE;AAKD,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAShD;AAED,wBAAgB,WAAW,SAE1B"}
|
package/dist/config.js
CHANGED
|
@@ -18,15 +18,19 @@ function getEnv(key, defaultValue) {
|
|
|
18
18
|
}
|
|
19
19
|
export function loadConfig() {
|
|
20
20
|
const treasuryAddressStr = process.env.TREASURY_ADDRESS;
|
|
21
|
-
if (!treasuryAddressStr) {
|
|
22
|
-
throw new Error('TREASURY_ADDRESS is required. Set it in your .env file.');
|
|
23
|
-
}
|
|
24
21
|
let treasuryAddress;
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
if (!treasuryAddressStr) {
|
|
23
|
+
// Default to a zero address or similar if not set, to allow app to start
|
|
24
|
+
// Components that need it will check or fail later
|
|
25
|
+
treasuryAddress = PublicKey.default;
|
|
27
26
|
}
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
else {
|
|
28
|
+
try {
|
|
29
|
+
treasuryAddress = new PublicKey(treasuryAddressStr);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
treasuryAddress = PublicKey.default;
|
|
33
|
+
}
|
|
30
34
|
}
|
|
31
35
|
const operatorKeypairPath = getEnv('OPERATOR_KEYPAIR_PATH', './operator-keypair.json');
|
|
32
36
|
return {
|
|
@@ -58,8 +62,14 @@ export function getConfig() {
|
|
|
58
62
|
return _config;
|
|
59
63
|
}
|
|
60
64
|
export function setConfig(config) {
|
|
61
|
-
// If config is not loaded, load defaults
|
|
62
|
-
|
|
65
|
+
// If config is not loaded, try to load defaults, but don't fail if we can't
|
|
66
|
+
let current;
|
|
67
|
+
try {
|
|
68
|
+
current = _config || loadConfig();
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
current = loadConfig();
|
|
72
|
+
}
|
|
63
73
|
_config = { ...current, ...config };
|
|
64
74
|
}
|
|
65
75
|
export function resetConfig() {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,6BAA6B;AAC7B,OAAO,EAAE,CAAA;AAsBT,8BAA8B;AAC9B,SAAS,MAAM,CAAC,GAAW,EAAE,YAAqB;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,YAAY,CAAA;QACrB,CAAC;QACD,oDAAoD;QACpD,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;IAEvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vacuum-sol",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Vacuum - Suck up forgotten rent from Solana accounts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc",
|
|
12
12
|
"dev": "tsx watch src/cli.ts",
|
|
13
|
+
"bot": "node dist/cli.js bot",
|
|
14
|
+
"bot:dev": "tsx src/cli.ts bot",
|
|
13
15
|
"start": "node dist/cli.js",
|
|
14
16
|
"test": "vitest run",
|
|
15
17
|
"test:watch": "vitest",
|