voxelithic-interfaces 0.4.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 ADDED
@@ -0,0 +1,15 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Voxelithic
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files, to deal in the Software
7
+ without restriction, including without limitation the rights to use, copy,
8
+ modify, merge, publish, distribute, sublicense, and/or sell copies of the
9
+ Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
package/README.md ADDED
@@ -0,0 +1,76 @@
1
+ # voxelithic-interfaces
2
+
3
+ TypeScript types, contract ABIs and verified addresses for Voxelithic on Robinhood Chain (4663).
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install voxelithic-interfaces
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import {
15
+ CHAIN_ID, ROUTER, QUOTER, ROUTER_V4, QUOTER_V4,
16
+ TOKENS, SYMBOLS, addressOf,
17
+ VoxRouterABI,
18
+ } from 'voxelithic-interfaces'
19
+
20
+ addressOf('NVDA') // 0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec
21
+ TOKENS.USDG.decimals // 6
22
+ CHAIN_ID // 4663
23
+ ```
24
+
25
+ ## Why `addressOf` matters
26
+
27
+ On this chain a ticker is not an identifier. 39 contracts answer to a stock
28
+ symbol that is not theirs, and one of them holds more than half a million
29
+ dollars of liquidity while trading two cents a day. Resolving a symbol by
30
+ searching an indexer will eventually hand you the wrong address.
31
+
32
+ `TOKENS` is generated from the router's own configuration and every entry is
33
+ checked against the chain before it is written: `symbol()` and `decimals()`
34
+ must match, and an address with no contract fails the build. So the addresses
35
+ in this package cannot drift from the ones the router actually trades.
36
+
37
+ The full picture of what else carries these tickers is at
38
+ [voxelithic.xyz/registry](https://voxelithic.xyz/registry), machine readable at
39
+ [/tokens.json](https://voxelithic.xyz/tokens.json).
40
+
41
+ ## Exports
42
+
43
+ | Export | What it is |
44
+ |---|---|
45
+ | `CHAIN_ID` | 4663 |
46
+ | `ROUTER`, `QUOTER` | Uniswap v3 style venues, deployed and verified |
47
+ | `ROUTER_V4`, `QUOTER_V4` | Uniswap v4 singleton branch |
48
+ | `UNISWAP_V4_SINGLETON` | the v4 pool manager |
49
+ | `TOKENS`, `SYMBOLS`, `addressOf` | canonical token set |
50
+ | `VoxRouterABI`, `VoxQuoterABI`, `VoxRouterV4ABI`, `VoxQuoterV4ABI` | ABIs taken from the Foundry build artifacts, not retyped |
51
+ | `Hop`, `Route`, `Quote`, `PoolKey` | request and response shapes |
52
+
53
+ ## Regenerating the token set
54
+
55
+ ```bash
56
+ node scripts/gen-tokens.mjs /path/to/app/config.js
57
+ ```
58
+
59
+ Every address is verified against mainnet as it is written. The script exits
60
+ non-zero and leaves the file untouched if anything fails.
61
+
62
+ ## Contracts
63
+
64
+ | Contract | Address |
65
+ |---|---|
66
+ | VoxRouter | `0x87cD7EbE8c213455e5e5a8554657D5f294a82e64` |
67
+ | VoxQuoter | `0x9616627E871c96e38cb21b9551F62Ed93366bE1B` |
68
+ | VoxRouterV4 | `0x290b9b46308f7a3B80A5F62214B426d3bfAfaab5` |
69
+ | VoxQuoterV4 | `0x5858F06894623eF4862103A747074E5AA3436d4F` |
70
+
71
+ All four are verified on
72
+ [Blockscout](https://robinhoodchain.blockscout.com/address/0x87cD7EbE8c213455e5e5a8554657D5f294a82e64).
73
+
74
+ ## License
75
+
76
+ MIT