@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.
Files changed (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +135 -0
  3. package/dist/cli/program.d.ts +4 -0
  4. package/dist/cli/program.d.ts.map +1 -0
  5. package/dist/cli/program.js +43 -0
  6. package/dist/cli/program.js.map +1 -0
  7. package/dist/cli/setup-wizard.d.ts +7 -0
  8. package/dist/cli/setup-wizard.d.ts.map +1 -0
  9. package/dist/cli/setup-wizard.js +96 -0
  10. package/dist/cli/setup-wizard.js.map +1 -0
  11. package/dist/cli/shared.d.ts +35 -0
  12. package/dist/cli/shared.d.ts.map +1 -0
  13. package/dist/cli/shared.js +120 -0
  14. package/dist/cli/shared.js.map +1 -0
  15. package/dist/cli.d.ts +3 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +10 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/commands/balance.d.ts +4 -0
  20. package/dist/commands/balance.d.ts.map +1 -0
  21. package/dist/commands/balance.js +141 -0
  22. package/dist/commands/balance.js.map +1 -0
  23. package/dist/commands/binance.d.ts +4 -0
  24. package/dist/commands/binance.d.ts.map +1 -0
  25. package/dist/commands/binance.js +129 -0
  26. package/dist/commands/binance.js.map +1 -0
  27. package/dist/commands/coinbase.d.ts +4 -0
  28. package/dist/commands/coinbase.d.ts.map +1 -0
  29. package/dist/commands/coinbase.js +122 -0
  30. package/dist/commands/coinbase.js.map +1 -0
  31. package/dist/commands/config.d.ts +4 -0
  32. package/dist/commands/config.d.ts.map +1 -0
  33. package/dist/commands/config.js +90 -0
  34. package/dist/commands/config.js.map +1 -0
  35. package/dist/commands/history.d.ts +4 -0
  36. package/dist/commands/history.d.ts.map +1 -0
  37. package/dist/commands/history.js +124 -0
  38. package/dist/commands/history.js.map +1 -0
  39. package/dist/commands/markets.d.ts +4 -0
  40. package/dist/commands/markets.d.ts.map +1 -0
  41. package/dist/commands/markets.js +59 -0
  42. package/dist/commands/markets.js.map +1 -0
  43. package/dist/commands/polymarket.d.ts +4 -0
  44. package/dist/commands/polymarket.d.ts.map +1 -0
  45. package/dist/commands/polymarket.js +180 -0
  46. package/dist/commands/polymarket.js.map +1 -0
  47. package/dist/commands/portfolio.d.ts +4 -0
  48. package/dist/commands/portfolio.d.ts.map +1 -0
  49. package/dist/commands/portfolio.js +162 -0
  50. package/dist/commands/portfolio.js.map +1 -0
  51. package/dist/commands/price.d.ts +4 -0
  52. package/dist/commands/price.d.ts.map +1 -0
  53. package/dist/commands/price.js +95 -0
  54. package/dist/commands/price.js.map +1 -0
  55. package/dist/commands/setup.d.ts +4 -0
  56. package/dist/commands/setup.d.ts.map +1 -0
  57. package/dist/commands/setup.js +47 -0
  58. package/dist/commands/setup.js.map +1 -0
  59. package/dist/commands/test.d.ts +4 -0
  60. package/dist/commands/test.d.ts.map +1 -0
  61. package/dist/commands/test.js +198 -0
  62. package/dist/commands/test.js.map +1 -0
  63. package/dist/index.d.ts +5 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +6 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/lib/browser-scraper.d.ts +39 -0
  68. package/dist/lib/browser-scraper.d.ts.map +1 -0
  69. package/dist/lib/browser-scraper.js +214 -0
  70. package/dist/lib/browser-scraper.js.map +1 -0
  71. package/dist/lib/config.d.ts +19 -0
  72. package/dist/lib/config.d.ts.map +1 -0
  73. package/dist/lib/config.js +52 -0
  74. package/dist/lib/config.js.map +1 -0
  75. package/dist/lib/credentials.d.ts +23 -0
  76. package/dist/lib/credentials.d.ts.map +1 -0
  77. package/dist/lib/credentials.js +49 -0
  78. package/dist/lib/credentials.js.map +1 -0
  79. package/dist/lib/mixins/binance.d.ts +12 -0
  80. package/dist/lib/mixins/binance.d.ts.map +1 -0
  81. package/dist/lib/mixins/binance.js +167 -0
  82. package/dist/lib/mixins/binance.js.map +1 -0
  83. package/dist/lib/mixins/coinbase.d.ts +11 -0
  84. package/dist/lib/mixins/coinbase.d.ts.map +1 -0
  85. package/dist/lib/mixins/coinbase.js +266 -0
  86. package/dist/lib/mixins/coinbase.js.map +1 -0
  87. package/dist/lib/mixins/coingecko.d.ts +10 -0
  88. package/dist/lib/mixins/coingecko.d.ts.map +1 -0
  89. package/dist/lib/mixins/coingecko.js +217 -0
  90. package/dist/lib/mixins/coingecko.js.map +1 -0
  91. package/dist/lib/mixins/coinmarketcap.d.ts +9 -0
  92. package/dist/lib/mixins/coinmarketcap.d.ts.map +1 -0
  93. package/dist/lib/mixins/coinmarketcap.js +142 -0
  94. package/dist/lib/mixins/coinmarketcap.js.map +1 -0
  95. package/dist/lib/mixins/debank.d.ts +21 -0
  96. package/dist/lib/mixins/debank.d.ts.map +1 -0
  97. package/dist/lib/mixins/debank.js +280 -0
  98. package/dist/lib/mixins/debank.js.map +1 -0
  99. package/dist/lib/mixins/helius.d.ts +12 -0
  100. package/dist/lib/mixins/helius.d.ts.map +1 -0
  101. package/dist/lib/mixins/helius.js +281 -0
  102. package/dist/lib/mixins/helius.js.map +1 -0
  103. package/dist/lib/mixins/polymarket.d.ts +13 -0
  104. package/dist/lib/mixins/polymarket.d.ts.map +1 -0
  105. package/dist/lib/mixins/polymarket.js +186 -0
  106. package/dist/lib/mixins/polymarket.js.map +1 -0
  107. package/dist/lib/onchain-client-base.d.ts +20 -0
  108. package/dist/lib/onchain-client-base.d.ts.map +1 -0
  109. package/dist/lib/onchain-client-base.js +45 -0
  110. package/dist/lib/onchain-client-base.js.map +1 -0
  111. package/dist/lib/onchain-client-types.d.ts +228 -0
  112. package/dist/lib/onchain-client-types.d.ts.map +1 -0
  113. package/dist/lib/onchain-client-types.js +2 -0
  114. package/dist/lib/onchain-client-types.js.map +1 -0
  115. package/dist/lib/onchain-client.d.ts +15 -0
  116. package/dist/lib/onchain-client.d.ts.map +1 -0
  117. package/dist/lib/onchain-client.js +13 -0
  118. package/dist/lib/onchain-client.js.map +1 -0
  119. package/dist/lib/output.d.ts +28 -0
  120. package/dist/lib/output.d.ts.map +1 -0
  121. package/dist/lib/output.js +94 -0
  122. package/dist/lib/output.js.map +1 -0
  123. package/dist/lib/utils/address.d.ts +26 -0
  124. package/dist/lib/utils/address.d.ts.map +1 -0
  125. package/dist/lib/utils/address.js +61 -0
  126. package/dist/lib/utils/address.js.map +1 -0
  127. package/dist/lib/utils/formatters.d.ts +42 -0
  128. package/dist/lib/utils/formatters.d.ts.map +1 -0
  129. package/dist/lib/utils/formatters.js +173 -0
  130. package/dist/lib/utils/formatters.js.map +1 -0
  131. 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
+ }