@cyberdrk/onchain 0.1.0
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/LICENSE +21 -0
- package/README.md +135 -0
- package/dist/cli/program.d.ts +4 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/program.js +43 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/setup-wizard.d.ts +7 -0
- package/dist/cli/setup-wizard.d.ts.map +1 -0
- package/dist/cli/setup-wizard.js +96 -0
- package/dist/cli/setup-wizard.js.map +1 -0
- package/dist/cli/shared.d.ts +35 -0
- package/dist/cli/shared.d.ts.map +1 -0
- package/dist/cli/shared.js +120 -0
- package/dist/cli/shared.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/balance.d.ts +4 -0
- package/dist/commands/balance.d.ts.map +1 -0
- package/dist/commands/balance.js +141 -0
- package/dist/commands/balance.js.map +1 -0
- package/dist/commands/binance.d.ts +4 -0
- package/dist/commands/binance.d.ts.map +1 -0
- package/dist/commands/binance.js +129 -0
- package/dist/commands/binance.js.map +1 -0
- package/dist/commands/coinbase.d.ts +4 -0
- package/dist/commands/coinbase.d.ts.map +1 -0
- package/dist/commands/coinbase.js +122 -0
- package/dist/commands/coinbase.js.map +1 -0
- package/dist/commands/config.d.ts +4 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +90 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/history.d.ts +4 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +124 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/markets.d.ts +4 -0
- package/dist/commands/markets.d.ts.map +1 -0
- package/dist/commands/markets.js +59 -0
- package/dist/commands/markets.js.map +1 -0
- package/dist/commands/polymarket.d.ts +4 -0
- package/dist/commands/polymarket.d.ts.map +1 -0
- package/dist/commands/polymarket.js +180 -0
- package/dist/commands/polymarket.js.map +1 -0
- package/dist/commands/portfolio.d.ts +4 -0
- package/dist/commands/portfolio.d.ts.map +1 -0
- package/dist/commands/portfolio.js +162 -0
- package/dist/commands/portfolio.js.map +1 -0
- package/dist/commands/price.d.ts +4 -0
- package/dist/commands/price.d.ts.map +1 -0
- package/dist/commands/price.js +95 -0
- package/dist/commands/price.js.map +1 -0
- package/dist/commands/setup.d.ts +4 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +47 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/test.d.ts +4 -0
- package/dist/commands/test.d.ts.map +1 -0
- package/dist/commands/test.js +198 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/browser-scraper.d.ts +39 -0
- package/dist/lib/browser-scraper.d.ts.map +1 -0
- package/dist/lib/browser-scraper.js +214 -0
- package/dist/lib/browser-scraper.js.map +1 -0
- package/dist/lib/config.d.ts +19 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +52 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/credentials.d.ts +23 -0
- package/dist/lib/credentials.d.ts.map +1 -0
- package/dist/lib/credentials.js +49 -0
- package/dist/lib/credentials.js.map +1 -0
- package/dist/lib/mixins/binance.d.ts +12 -0
- package/dist/lib/mixins/binance.d.ts.map +1 -0
- package/dist/lib/mixins/binance.js +167 -0
- package/dist/lib/mixins/binance.js.map +1 -0
- package/dist/lib/mixins/coinbase.d.ts +11 -0
- package/dist/lib/mixins/coinbase.d.ts.map +1 -0
- package/dist/lib/mixins/coinbase.js +266 -0
- package/dist/lib/mixins/coinbase.js.map +1 -0
- package/dist/lib/mixins/coingecko.d.ts +10 -0
- package/dist/lib/mixins/coingecko.d.ts.map +1 -0
- package/dist/lib/mixins/coingecko.js +217 -0
- package/dist/lib/mixins/coingecko.js.map +1 -0
- package/dist/lib/mixins/coinmarketcap.d.ts +9 -0
- package/dist/lib/mixins/coinmarketcap.d.ts.map +1 -0
- package/dist/lib/mixins/coinmarketcap.js +142 -0
- package/dist/lib/mixins/coinmarketcap.js.map +1 -0
- package/dist/lib/mixins/debank.d.ts +21 -0
- package/dist/lib/mixins/debank.d.ts.map +1 -0
- package/dist/lib/mixins/debank.js +280 -0
- package/dist/lib/mixins/debank.js.map +1 -0
- package/dist/lib/mixins/helius.d.ts +12 -0
- package/dist/lib/mixins/helius.d.ts.map +1 -0
- package/dist/lib/mixins/helius.js +281 -0
- package/dist/lib/mixins/helius.js.map +1 -0
- package/dist/lib/mixins/polymarket.d.ts +13 -0
- package/dist/lib/mixins/polymarket.d.ts.map +1 -0
- package/dist/lib/mixins/polymarket.js +186 -0
- package/dist/lib/mixins/polymarket.js.map +1 -0
- package/dist/lib/onchain-client-base.d.ts +20 -0
- package/dist/lib/onchain-client-base.d.ts.map +1 -0
- package/dist/lib/onchain-client-base.js +45 -0
- package/dist/lib/onchain-client-base.js.map +1 -0
- package/dist/lib/onchain-client-types.d.ts +228 -0
- package/dist/lib/onchain-client-types.d.ts.map +1 -0
- package/dist/lib/onchain-client-types.js +2 -0
- package/dist/lib/onchain-client-types.js.map +1 -0
- package/dist/lib/onchain-client.d.ts +15 -0
- package/dist/lib/onchain-client.d.ts.map +1 -0
- package/dist/lib/onchain-client.js +13 -0
- package/dist/lib/onchain-client.js.map +1 -0
- package/dist/lib/output.d.ts +28 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +94 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/utils/address.d.ts +26 -0
- package/dist/lib/utils/address.d.ts.map +1 -0
- package/dist/lib/utils/address.js +61 -0
- package/dist/lib/utils/address.js.map +1 -0
- package/dist/lib/utils/formatters.d.ts +42 -0
- package/dist/lib/utils/formatters.d.ts.map +1 -0
- package/dist/lib/utils/formatters.js +173 -0
- package/dist/lib/utils/formatters.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format a USD value for display
|
|
3
|
+
*/
|
|
4
|
+
export function formatUsd(value, options) {
|
|
5
|
+
if (value === null || value === undefined) {
|
|
6
|
+
return '-';
|
|
7
|
+
}
|
|
8
|
+
if (options?.compact) {
|
|
9
|
+
return formatCompactUsd(value);
|
|
10
|
+
}
|
|
11
|
+
if (Math.abs(value) < 0.01 && value !== 0) {
|
|
12
|
+
return `$${value.toFixed(6)}`;
|
|
13
|
+
}
|
|
14
|
+
return new Intl.NumberFormat('en-US', {
|
|
15
|
+
style: 'currency',
|
|
16
|
+
currency: 'USD',
|
|
17
|
+
minimumFractionDigits: 2,
|
|
18
|
+
maximumFractionDigits: 2,
|
|
19
|
+
}).format(value);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Format a large USD value compactly (e.g., $1.2B, $500M, $12.5K)
|
|
23
|
+
*/
|
|
24
|
+
export function formatCompactUsd(value) {
|
|
25
|
+
const absValue = Math.abs(value);
|
|
26
|
+
const sign = value < 0 ? '-' : '';
|
|
27
|
+
if (absValue >= 1_000_000_000_000) {
|
|
28
|
+
return `${sign}$${(absValue / 1_000_000_000_000).toFixed(2)}T`;
|
|
29
|
+
}
|
|
30
|
+
if (absValue >= 1_000_000_000) {
|
|
31
|
+
return `${sign}$${(absValue / 1_000_000_000).toFixed(2)}B`;
|
|
32
|
+
}
|
|
33
|
+
if (absValue >= 1_000_000) {
|
|
34
|
+
return `${sign}$${(absValue / 1_000_000).toFixed(2)}M`;
|
|
35
|
+
}
|
|
36
|
+
if (absValue >= 1_000) {
|
|
37
|
+
return `${sign}$${(absValue / 1_000).toFixed(2)}K`;
|
|
38
|
+
}
|
|
39
|
+
return `${sign}$${absValue.toFixed(2)}`;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Format a percentage value for display
|
|
43
|
+
*/
|
|
44
|
+
export function formatPercent(value, options) {
|
|
45
|
+
if (value === null || value === undefined) {
|
|
46
|
+
return '-';
|
|
47
|
+
}
|
|
48
|
+
const sign = options?.showSign && value > 0 ? '+' : '';
|
|
49
|
+
return `${sign}${value.toFixed(2)}%`;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Format a token amount for display
|
|
53
|
+
*/
|
|
54
|
+
export function formatTokenAmount(amount, options) {
|
|
55
|
+
const decimals = options?.decimals ?? 4;
|
|
56
|
+
if (options?.compact) {
|
|
57
|
+
return formatCompactNumber(amount);
|
|
58
|
+
}
|
|
59
|
+
if (amount === 0) {
|
|
60
|
+
return '0';
|
|
61
|
+
}
|
|
62
|
+
if (Math.abs(amount) < 0.0001) {
|
|
63
|
+
return amount.toExponential(2);
|
|
64
|
+
}
|
|
65
|
+
if (Math.abs(amount) >= 1_000_000) {
|
|
66
|
+
return formatCompactNumber(amount);
|
|
67
|
+
}
|
|
68
|
+
return amount.toLocaleString('en-US', {
|
|
69
|
+
minimumFractionDigits: 0,
|
|
70
|
+
maximumFractionDigits: decimals,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Format a large number compactly (e.g., 1.2B, 500M, 12.5K)
|
|
75
|
+
*/
|
|
76
|
+
export function formatCompactNumber(value) {
|
|
77
|
+
const absValue = Math.abs(value);
|
|
78
|
+
const sign = value < 0 ? '-' : '';
|
|
79
|
+
if (absValue >= 1_000_000_000_000) {
|
|
80
|
+
return `${sign}${(absValue / 1_000_000_000_000).toFixed(2)}T`;
|
|
81
|
+
}
|
|
82
|
+
if (absValue >= 1_000_000_000) {
|
|
83
|
+
return `${sign}${(absValue / 1_000_000_000).toFixed(2)}B`;
|
|
84
|
+
}
|
|
85
|
+
if (absValue >= 1_000_000) {
|
|
86
|
+
return `${sign}${(absValue / 1_000_000).toFixed(2)}M`;
|
|
87
|
+
}
|
|
88
|
+
if (absValue >= 1_000) {
|
|
89
|
+
return `${sign}${(absValue / 1_000).toFixed(2)}K`;
|
|
90
|
+
}
|
|
91
|
+
return `${sign}${absValue.toFixed(2)}`;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Format a timestamp for display
|
|
95
|
+
*/
|
|
96
|
+
export function formatTimestamp(timestamp, options) {
|
|
97
|
+
const date = new Date(timestamp * 1000);
|
|
98
|
+
if (options?.includeTime) {
|
|
99
|
+
return date.toLocaleString('en-US', {
|
|
100
|
+
year: 'numeric',
|
|
101
|
+
month: 'short',
|
|
102
|
+
day: 'numeric',
|
|
103
|
+
hour: '2-digit',
|
|
104
|
+
minute: '2-digit',
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return date.toLocaleDateString('en-US', {
|
|
108
|
+
year: 'numeric',
|
|
109
|
+
month: 'short',
|
|
110
|
+
day: 'numeric',
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Format a relative time (e.g., "2 hours ago", "3 days ago")
|
|
115
|
+
*/
|
|
116
|
+
export function formatRelativeTime(timestamp) {
|
|
117
|
+
const now = Date.now();
|
|
118
|
+
const diff = now - timestamp * 1000;
|
|
119
|
+
const seconds = Math.floor(diff / 1000);
|
|
120
|
+
const minutes = Math.floor(seconds / 60);
|
|
121
|
+
const hours = Math.floor(minutes / 60);
|
|
122
|
+
const days = Math.floor(hours / 24);
|
|
123
|
+
if (days > 30) {
|
|
124
|
+
return formatTimestamp(timestamp);
|
|
125
|
+
}
|
|
126
|
+
if (days > 0) {
|
|
127
|
+
return `${days}d ago`;
|
|
128
|
+
}
|
|
129
|
+
if (hours > 0) {
|
|
130
|
+
return `${hours}h ago`;
|
|
131
|
+
}
|
|
132
|
+
if (minutes > 0) {
|
|
133
|
+
return `${minutes}m ago`;
|
|
134
|
+
}
|
|
135
|
+
return 'just now';
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Format chain name for display
|
|
139
|
+
*/
|
|
140
|
+
export function formatChainName(chain) {
|
|
141
|
+
const chainNames = {
|
|
142
|
+
eth: 'Ethereum',
|
|
143
|
+
bsc: 'BNB Chain',
|
|
144
|
+
polygon: 'Polygon',
|
|
145
|
+
arb: 'Arbitrum',
|
|
146
|
+
op: 'Optimism',
|
|
147
|
+
avax: 'Avalanche',
|
|
148
|
+
base: 'Base',
|
|
149
|
+
zksync: 'zkSync Era',
|
|
150
|
+
linea: 'Linea',
|
|
151
|
+
scroll: 'Scroll',
|
|
152
|
+
blast: 'Blast',
|
|
153
|
+
mantle: 'Mantle',
|
|
154
|
+
manta: 'Manta',
|
|
155
|
+
mode: 'Mode',
|
|
156
|
+
gnosis: 'Gnosis',
|
|
157
|
+
fantom: 'Fantom',
|
|
158
|
+
celo: 'Celo',
|
|
159
|
+
aurora: 'Aurora',
|
|
160
|
+
moonbeam: 'Moonbeam',
|
|
161
|
+
moonriver: 'Moonriver',
|
|
162
|
+
cronos: 'Cronos',
|
|
163
|
+
harmony: 'Harmony',
|
|
164
|
+
metis: 'Metis',
|
|
165
|
+
boba: 'Boba',
|
|
166
|
+
kcc: 'KCC',
|
|
167
|
+
okc: 'OKC',
|
|
168
|
+
heco: 'HECO',
|
|
169
|
+
solana: 'Solana',
|
|
170
|
+
};
|
|
171
|
+
return chainNames[chain] ?? chain.toUpperCase();
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=formatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/lib/utils/formatters.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cyberdrk/onchain",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "CLI tool for crypto portfolio tracking, market data, and CEX history",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"onchain": "dist/cli.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"README.md",
|
|
14
|
+
"CHANGELOG.md",
|
|
15
|
+
"LICENSE"
|
|
16
|
+
],
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/arein/onchain.git"
|
|
20
|
+
},
|
|
21
|
+
"homepage": "https://github.com/arein/onchain#readme",
|
|
22
|
+
"bugs": {
|
|
23
|
+
"url": "https://github.com/arein/onchain/issues"
|
|
24
|
+
},
|
|
25
|
+
"author": "arein",
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"keywords": [
|
|
28
|
+
"crypto",
|
|
29
|
+
"portfolio",
|
|
30
|
+
"cli",
|
|
31
|
+
"defi",
|
|
32
|
+
"ethereum",
|
|
33
|
+
"solana",
|
|
34
|
+
"coinbase",
|
|
35
|
+
"binance",
|
|
36
|
+
"polymarket",
|
|
37
|
+
"wallet"
|
|
38
|
+
],
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "pnpm run build:dist && pnpm run build:binary",
|
|
44
|
+
"build:dist": "tsc",
|
|
45
|
+
"build:binary": "ONCHAIN_VERSION=$(node -p \"require('./package.json').version\") ONCHAIN_GIT_SHA=$(git rev-parse --short=8 HEAD 2>/dev/null || true) bun build --compile --minify --env=ONCHAIN_* src/cli.ts --outfile onchain",
|
|
46
|
+
"dev": "tsx src/cli.ts",
|
|
47
|
+
"onchain": "pnpm run build:dist && node dist/cli.js",
|
|
48
|
+
"test": "vitest run",
|
|
49
|
+
"test:watch": "vitest",
|
|
50
|
+
"lint": "pnpm run lint:biome && pnpm run lint:oxlint",
|
|
51
|
+
"lint:biome": "biome check .",
|
|
52
|
+
"lint:oxlint": "oxlint --type-aware --tsconfig tsconfig.oxlint.json --import-plugin --node-plugin --vitest-plugin --deny-warnings src tests",
|
|
53
|
+
"lint:fix": "pnpm run lint:biome:fix && pnpm run lint:oxlint:fix",
|
|
54
|
+
"lint:biome:fix": "biome check --write .",
|
|
55
|
+
"lint:oxlint:fix": "oxlint --type-aware --tsconfig tsconfig.oxlint.json --import-plugin --node-plugin --vitest-plugin --deny-warnings --fix src tests",
|
|
56
|
+
"format": "biome format --write .",
|
|
57
|
+
"binary": "pnpm run build:binary"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"commander": "^14.0.0",
|
|
61
|
+
"json5": "^2.2.3",
|
|
62
|
+
"kleur": "^4.1.5"
|
|
63
|
+
},
|
|
64
|
+
"devDependencies": {
|
|
65
|
+
"@biomejs/biome": "^2.3.10",
|
|
66
|
+
"@types/node": "^25.0.0",
|
|
67
|
+
"@vitest/coverage-v8": "^4.0.0",
|
|
68
|
+
"oxlint": "^1.36.0",
|
|
69
|
+
"oxlint-tsgolint": "^0.11.0",
|
|
70
|
+
"tsx": "^4.21.0",
|
|
71
|
+
"typescript": "^5.9.0",
|
|
72
|
+
"vitest": "^4.0.0"
|
|
73
|
+
},
|
|
74
|
+
"engines": {
|
|
75
|
+
"node": ">=22"
|
|
76
|
+
}
|
|
77
|
+
}
|