@luxfi/exchange 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 (154) hide show
  1. package/dist/bridge/__tests__/use-private-teleport.test.d.ts +2 -0
  2. package/dist/bridge/__tests__/use-private-teleport.test.d.ts.map +1 -0
  3. package/dist/bridge/__tests__/use-private-teleport.test.js +272 -0
  4. package/dist/bridge/cross-chain-store.d.ts +57 -0
  5. package/dist/bridge/cross-chain-store.d.ts.map +1 -0
  6. package/dist/bridge/cross-chain-store.js +158 -0
  7. package/dist/bridge/index.d.ts +78 -0
  8. package/dist/bridge/index.d.ts.map +1 -0
  9. package/dist/bridge/index.js +79 -0
  10. package/dist/bridge/private-teleport-types.d.ts +634 -0
  11. package/dist/bridge/private-teleport-types.d.ts.map +1 -0
  12. package/dist/bridge/private-teleport-types.js +308 -0
  13. package/dist/bridge/types.d.ts +84 -0
  14. package/dist/bridge/types.d.ts.map +1 -0
  15. package/dist/bridge/types.js +37 -0
  16. package/dist/bridge/use-cross-chain-mint.d.ts +34 -0
  17. package/dist/bridge/use-cross-chain-mint.d.ts.map +1 -0
  18. package/dist/bridge/use-cross-chain-mint.js +228 -0
  19. package/dist/bridge/use-private-teleport.d.ts +69 -0
  20. package/dist/bridge/use-private-teleport.d.ts.map +1 -0
  21. package/dist/bridge/use-private-teleport.js +666 -0
  22. package/dist/chains/index.d.ts +6 -0
  23. package/dist/chains/index.d.ts.map +1 -0
  24. package/dist/chains/index.js +6 -0
  25. package/dist/chains/lux.d.ts +508 -0
  26. package/dist/chains/lux.d.ts.map +1 -0
  27. package/dist/chains/lux.js +131 -0
  28. package/dist/contracts/abis/dex-swap-router.d.ts +137 -0
  29. package/dist/contracts/abis/dex-swap-router.d.ts.map +1 -0
  30. package/dist/contracts/abis/dex-swap-router.js +95 -0
  31. package/dist/contracts/abis/erc20.d.ts +136 -0
  32. package/dist/contracts/abis/erc20.d.ts.map +1 -0
  33. package/dist/contracts/abis/erc20.js +96 -0
  34. package/dist/contracts/abis/index.d.ts +15 -0
  35. package/dist/contracts/abis/index.d.ts.map +1 -0
  36. package/dist/contracts/abis/index.js +15 -0
  37. package/dist/contracts/abis/nft-position-manager.d.ts +235 -0
  38. package/dist/contracts/abis/nft-position-manager.d.ts.map +1 -0
  39. package/dist/contracts/abis/nft-position-manager.js +146 -0
  40. package/dist/contracts/abis/pool-manager.d.ts +315 -0
  41. package/dist/contracts/abis/pool-manager.d.ts.map +1 -0
  42. package/dist/contracts/abis/pool-manager.js +191 -0
  43. package/dist/contracts/abis/quoter-v2.d.ts +103 -0
  44. package/dist/contracts/abis/quoter-v2.d.ts.map +1 -0
  45. package/dist/contracts/abis/quoter-v2.js +68 -0
  46. package/dist/contracts/abis/swap-router.d.ts +119 -0
  47. package/dist/contracts/abis/swap-router.d.ts.map +1 -0
  48. package/dist/contracts/abis/swap-router.js +75 -0
  49. package/dist/contracts/abis/uniswap-v2-factory.d.ts +75 -0
  50. package/dist/contracts/abis/uniswap-v2-factory.d.ts.map +1 -0
  51. package/dist/contracts/abis/uniswap-v2-factory.js +49 -0
  52. package/dist/contracts/abis/uniswap-v2-pair.d.ts +119 -0
  53. package/dist/contracts/abis/uniswap-v2-pair.d.ts.map +1 -0
  54. package/dist/contracts/abis/uniswap-v2-pair.js +85 -0
  55. package/dist/contracts/abis/uniswap-v2-router.d.ts +249 -0
  56. package/dist/contracts/abis/uniswap-v2-router.d.ts.map +1 -0
  57. package/dist/contracts/abis/uniswap-v2-router.js +146 -0
  58. package/dist/contracts/abis/uniswap-v3-factory.d.ts +77 -0
  59. package/dist/contracts/abis/uniswap-v3-factory.d.ts.map +1 -0
  60. package/dist/contracts/abis/uniswap-v3-factory.js +45 -0
  61. package/dist/contracts/abis/uniswap-v3-pool.d.ts +128 -0
  62. package/dist/contracts/abis/uniswap-v3-pool.d.ts.map +1 -0
  63. package/dist/contracts/abis/uniswap-v3-pool.js +81 -0
  64. package/dist/contracts/addresses.d.ts +141 -0
  65. package/dist/contracts/addresses.d.ts.map +1 -0
  66. package/dist/contracts/addresses.js +108 -0
  67. package/dist/contracts/index.d.ts +6 -0
  68. package/dist/contracts/index.d.ts.map +1 -0
  69. package/dist/contracts/index.js +5 -0
  70. package/dist/dex/balance-delta.d.ts +27 -0
  71. package/dist/dex/balance-delta.d.ts.map +1 -0
  72. package/dist/dex/balance-delta.js +45 -0
  73. package/dist/dex/index.d.ts +7 -0
  74. package/dist/dex/index.d.ts.map +1 -0
  75. package/dist/dex/index.js +6 -0
  76. package/dist/dex/pool-key.d.ts +19 -0
  77. package/dist/dex/pool-key.d.ts.map +1 -0
  78. package/dist/dex/pool-key.js +44 -0
  79. package/dist/dex/types.d.ts +71 -0
  80. package/dist/dex/types.d.ts.map +1 -0
  81. package/dist/dex/types.js +28 -0
  82. package/dist/hooks/index.d.ts +10 -0
  83. package/dist/hooks/index.d.ts.map +1 -0
  84. package/dist/hooks/index.js +9 -0
  85. package/dist/hooks/use-pools.d.ts +24 -0
  86. package/dist/hooks/use-pools.d.ts.map +1 -0
  87. package/dist/hooks/use-pools.js +85 -0
  88. package/dist/hooks/use-positions.d.ts +17 -0
  89. package/dist/hooks/use-positions.d.ts.map +1 -0
  90. package/dist/hooks/use-positions.js +65 -0
  91. package/dist/hooks/use-swap-quote.d.ts +19 -0
  92. package/dist/hooks/use-swap-quote.d.ts.map +1 -0
  93. package/dist/hooks/use-swap-quote.js +54 -0
  94. package/dist/hooks/use-swap.d.ts +22 -0
  95. package/dist/hooks/use-swap.d.ts.map +1 -0
  96. package/dist/hooks/use-swap.js +46 -0
  97. package/dist/hooks/use-token-allowance.d.ts +27 -0
  98. package/dist/hooks/use-token-allowance.d.ts.map +1 -0
  99. package/dist/hooks/use-token-allowance.js +59 -0
  100. package/dist/hooks/use-token-balance.d.ts +17 -0
  101. package/dist/hooks/use-token-balance.d.ts.map +1 -0
  102. package/dist/hooks/use-token-balance.js +58 -0
  103. package/dist/index.d.ts +17 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +24 -0
  106. package/dist/stores/index.d.ts +7 -0
  107. package/dist/stores/index.d.ts.map +1 -0
  108. package/dist/stores/index.js +6 -0
  109. package/dist/stores/settings-store.d.ts +25 -0
  110. package/dist/stores/settings-store.d.ts.map +1 -0
  111. package/dist/stores/settings-store.js +16 -0
  112. package/dist/stores/swap-store.d.ts +38 -0
  113. package/dist/stores/swap-store.d.ts.map +1 -0
  114. package/dist/stores/swap-store.js +58 -0
  115. package/dist/stores/token-store.d.ts +21 -0
  116. package/dist/stores/token-store.d.ts.map +1 -0
  117. package/dist/stores/token-store.js +32 -0
  118. package/dist/tokens/index.d.ts +65 -0
  119. package/dist/tokens/index.d.ts.map +1 -0
  120. package/dist/tokens/index.js +185 -0
  121. package/package.json +78 -0
  122. package/src/chains/index.ts +21 -0
  123. package/src/chains/lux.ts +141 -0
  124. package/src/contracts/abis/dex-swap-router.ts +98 -0
  125. package/src/contracts/abis/erc20.ts +96 -0
  126. package/src/contracts/abis/index.ts +17 -0
  127. package/src/contracts/abis/nft-position-manager.ts +146 -0
  128. package/src/contracts/abis/pool-manager.ts +198 -0
  129. package/src/contracts/abis/quoter-v2.ts +68 -0
  130. package/src/contracts/abis/swap-router.ts +75 -0
  131. package/src/contracts/abis/uniswap-v2-factory.ts +49 -0
  132. package/src/contracts/abis/uniswap-v2-pair.ts +85 -0
  133. package/src/contracts/abis/uniswap-v2-router.ts +146 -0
  134. package/src/contracts/abis/uniswap-v3-factory.ts +45 -0
  135. package/src/contracts/abis/uniswap-v3-pool.ts +81 -0
  136. package/src/contracts/addresses.ts +128 -0
  137. package/src/contracts/index.ts +14 -0
  138. package/src/dex/balance-delta.ts +52 -0
  139. package/src/dex/index.ts +7 -0
  140. package/src/dex/pool-key.ts +62 -0
  141. package/src/dex/types.ts +87 -0
  142. package/src/hooks/index.ts +10 -0
  143. package/src/hooks/use-pools.ts +116 -0
  144. package/src/hooks/use-positions.ts +90 -0
  145. package/src/hooks/use-swap-quote.ts +81 -0
  146. package/src/hooks/use-swap.ts +64 -0
  147. package/src/hooks/use-token-allowance.ts +74 -0
  148. package/src/hooks/use-token-balance.ts +71 -0
  149. package/src/index.ts +31 -0
  150. package/src/stores/index.ts +7 -0
  151. package/src/stores/settings-store.ts +54 -0
  152. package/src/stores/swap-store.ts +112 -0
  153. package/src/stores/token-store.ts +62 -0
  154. package/src/tokens/index.ts +220 -0
@@ -0,0 +1,220 @@
1
+ import type { Address } from 'viem'
2
+
3
+ /**
4
+ * Token type definition
5
+ */
6
+ export interface Token {
7
+ address: Address
8
+ chainId: number
9
+ decimals: number
10
+ symbol: string
11
+ name: string
12
+ logoURI?: string
13
+ isNative?: boolean
14
+ }
15
+
16
+ /**
17
+ * Native tokens
18
+ */
19
+ export const NATIVE_LUX: Token = {
20
+ address: '0x0000000000000000000000000000000000000000',
21
+ chainId: 96369,
22
+ decimals: 18,
23
+ symbol: 'LUX',
24
+ name: 'LUX',
25
+ isNative: true,
26
+ }
27
+
28
+ export const NATIVE_ZOO: Token = {
29
+ address: '0x0000000000000000000000000000000000000000',
30
+ chainId: 200200,
31
+ decimals: 18,
32
+ symbol: 'ZOO',
33
+ name: 'ZOO',
34
+ isNative: true,
35
+ }
36
+
37
+ /**
38
+ * Wrapped native tokens
39
+ */
40
+ export const WLUX_MAINNET: Token = {
41
+ address: '0x55750d6CA62a041c06a8E28626b10Be6c688f471',
42
+ chainId: 96369,
43
+ decimals: 18,
44
+ symbol: 'WLUX',
45
+ name: 'Wrapped LUX',
46
+ }
47
+
48
+ export const WLUX_TESTNET: Token = {
49
+ address: '0x732740c5c895C9FCF619930ed4293fc858eb44c7',
50
+ chainId: 96368,
51
+ decimals: 18,
52
+ symbol: 'WLUX',
53
+ name: 'Wrapped LUX',
54
+ }
55
+
56
+ export const WLUX_DEV: Token = {
57
+ address: '0x610178dA211FEF7D417bC0e6FeD39F05609AD788',
58
+ chainId: 1337,
59
+ decimals: 18,
60
+ symbol: 'WLUX',
61
+ name: 'Wrapped LUX',
62
+ }
63
+
64
+ /**
65
+ * Stablecoins
66
+ */
67
+ export const LUSD: Token = {
68
+ address: '0x0000000000000000000000000000000000000000', // TODO: Deploy
69
+ chainId: 96369,
70
+ decimals: 18,
71
+ symbol: 'LUSD',
72
+ name: 'Lux Dollar',
73
+ }
74
+
75
+ /**
76
+ * Bridge tokens (L-prefix for assets bridged to Lux)
77
+ */
78
+ export const LETH: Token = {
79
+ address: '0xAA3AE951A7925F25aE8Ad65b052a76Bd8f052598',
80
+ chainId: 96369,
81
+ decimals: 18,
82
+ symbol: 'LETH',
83
+ name: 'Lux ETH',
84
+ }
85
+
86
+ export const LBTC: Token = {
87
+ address: '0x526903Ee6118de6737D11b37f82fC7f69B13685D',
88
+ chainId: 96369,
89
+ decimals: 8,
90
+ symbol: 'LBTC',
91
+ name: 'Lux BTC',
92
+ }
93
+
94
+ /**
95
+ * Major tokens on Lux Mainnet
96
+ */
97
+ export const USDC_LUX: Token = {
98
+ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
99
+ chainId: 96369,
100
+ decimals: 6,
101
+ symbol: 'USDC',
102
+ name: 'USD Coin',
103
+ }
104
+
105
+ export const USDT_LUX: Token = {
106
+ address: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
107
+ chainId: 96369,
108
+ decimals: 6,
109
+ symbol: 'USDT',
110
+ name: 'Tether USD',
111
+ }
112
+
113
+ export const WETH_LUX: Token = {
114
+ address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
115
+ chainId: 96369,
116
+ decimals: 18,
117
+ symbol: 'WETH',
118
+ name: 'Wrapped Ether',
119
+ }
120
+
121
+ export const WBTC_LUX: Token = {
122
+ address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
123
+ chainId: 96369,
124
+ decimals: 8,
125
+ symbol: 'WBTC',
126
+ name: 'Wrapped Bitcoin',
127
+ }
128
+
129
+ export const DAI_LUX: Token = {
130
+ address: '0x6B175474E89094C44Da98b954EesdscdKD34eL55',
131
+ chainId: 96369,
132
+ decimals: 18,
133
+ symbol: 'DAI',
134
+ name: 'Dai Stablecoin',
135
+ }
136
+
137
+ /**
138
+ * Zoo chain tokens
139
+ */
140
+ export const WZOO: Token = {
141
+ address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
142
+ chainId: 200200,
143
+ decimals: 18,
144
+ symbol: 'WZOO',
145
+ name: 'Wrapped ZOO',
146
+ }
147
+
148
+ export const USDC_ZOO: Token = {
149
+ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
150
+ chainId: 200200,
151
+ decimals: 6,
152
+ symbol: 'USDC',
153
+ name: 'USD Coin',
154
+ }
155
+
156
+ export const USDT_ZOO: Token = {
157
+ address: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
158
+ chainId: 200200,
159
+ decimals: 6,
160
+ symbol: 'USDT',
161
+ name: 'Tether USD',
162
+ }
163
+
164
+ export const WETH_ZOO: Token = {
165
+ address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
166
+ chainId: 200200,
167
+ decimals: 18,
168
+ symbol: 'WETH',
169
+ name: 'Wrapped Ether',
170
+ }
171
+
172
+ /**
173
+ * Default token list for Lux Mainnet
174
+ */
175
+ export const LUX_MAINNET_TOKENS: Token[] = [
176
+ NATIVE_LUX,
177
+ WLUX_MAINNET,
178
+ USDC_LUX,
179
+ USDT_LUX,
180
+ WETH_LUX,
181
+ WBTC_LUX,
182
+ DAI_LUX,
183
+ LETH,
184
+ LBTC,
185
+ LUSD,
186
+ ]
187
+
188
+ /**
189
+ * Default token list for Zoo Mainnet
190
+ */
191
+ export const ZOO_MAINNET_TOKENS: Token[] = [
192
+ NATIVE_ZOO,
193
+ WZOO,
194
+ USDC_ZOO,
195
+ USDT_ZOO,
196
+ WETH_ZOO,
197
+ ]
198
+
199
+ /**
200
+ * Get wrapped native token for chain
201
+ */
202
+ export function getWrappedNative(chainId: number): Token | undefined {
203
+ switch (chainId) {
204
+ case 96369:
205
+ return WLUX_MAINNET
206
+ case 96368:
207
+ return WLUX_TESTNET
208
+ case 1337:
209
+ return WLUX_DEV
210
+ default:
211
+ return undefined
212
+ }
213
+ }
214
+
215
+ /**
216
+ * Check if token is native
217
+ */
218
+ export function isNativeToken(token: Token): boolean {
219
+ return token.isNative === true || token.address === '0x0000000000000000000000000000000000000000'
220
+ }