@luxfi/exchange 1.0.0 → 1.0.3
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/dist/chains/lux.d.ts +6 -116
- package/dist/chains/lux.d.ts.map +1 -1
- package/dist/contracts/abis/amm-v2-factory.d.ts +2 -2
- package/dist/contracts/abis/amm-v2-factory.d.ts.map +1 -1
- package/dist/contracts/abis/amm-v2-factory.js +2 -2
- package/dist/contracts/abis/amm-v2-pair.d.ts +2 -2
- package/dist/contracts/abis/amm-v2-pair.d.ts.map +1 -1
- package/dist/contracts/abis/amm-v2-pair.js +2 -2
- package/dist/contracts/abis/amm-v2-router.d.ts +2 -2
- package/dist/contracts/abis/amm-v2-router.d.ts.map +1 -1
- package/dist/contracts/abis/amm-v2-router.js +2 -2
- package/dist/contracts/abis/amm-v3-factory.d.ts +2 -2
- package/dist/contracts/abis/amm-v3-factory.d.ts.map +1 -1
- package/dist/contracts/abis/amm-v3-factory.js +2 -2
- package/dist/contracts/abis/amm-v3-pool.d.ts +2 -2
- package/dist/contracts/abis/amm-v3-pool.d.ts.map +1 -1
- package/dist/contracts/abis/amm-v3-pool.js +2 -2
- package/dist/contracts/abis/index.d.ts +7 -7
- package/dist/contracts/abis/index.d.ts.map +1 -1
- package/dist/contracts/abis/index.js +7 -7
- package/dist/contracts/abis/pool-manager.d.ts +1 -1
- package/dist/contracts/abis/pool-manager.js +1 -1
- package/dist/contracts/addresses.d.ts +31 -13
- package/dist/contracts/addresses.d.ts.map +1 -1
- package/dist/contracts/addresses.js +25 -34
- package/dist/hooks/use-pools.d.ts.map +1 -1
- package/dist/hooks/use-pools.js +8 -6
- package/dist/hooks/use-swap.js +1 -1
- package/dist/hooks/use-token-allowance.d.ts +1 -1
- package/dist/tokens/index.d.ts +6 -3
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +57 -38
- package/package.json +2 -1
- package/dist/contracts/abis/lux-amm-v2-factory.d.ts +0 -148
- package/dist/contracts/abis/lux-amm-v2-factory.d.ts.map +0 -1
- package/dist/contracts/abis/lux-amm-v2-factory.js +0 -52
- package/dist/contracts/abis/lux-amm-v2-pair.d.ts +0 -236
- package/dist/contracts/abis/lux-amm-v2-pair.d.ts.map +0 -1
- package/dist/contracts/abis/lux-amm-v2-pair.js +0 -88
- package/dist/contracts/abis/lux-amm-v2-router.d.ts +0 -496
- package/dist/contracts/abis/lux-amm-v2-router.d.ts.map +0 -1
- package/dist/contracts/abis/lux-amm-v2-router.js +0 -149
- package/dist/contracts/abis/lux-amm-v3-factory.d.ts +0 -152
- package/dist/contracts/abis/lux-amm-v3-factory.d.ts.map +0 -1
- package/dist/contracts/abis/lux-amm-v3-factory.js +0 -48
- package/dist/contracts/abis/lux-amm-v3-pool.d.ts +0 -254
- package/dist/contracts/abis/lux-amm-v3-pool.d.ts.map +0 -1
- package/dist/contracts/abis/lux-amm-v3-pool.js +0 -84
- package/dist/contracts/abis/uniswap-v2-factory.d.ts +0 -75
- package/dist/contracts/abis/uniswap-v2-factory.d.ts.map +0 -1
- package/dist/contracts/abis/uniswap-v2-factory.js +0 -49
- package/dist/contracts/abis/uniswap-v2-pair.d.ts +0 -119
- package/dist/contracts/abis/uniswap-v2-pair.d.ts.map +0 -1
- package/dist/contracts/abis/uniswap-v2-pair.js +0 -85
- package/dist/contracts/abis/uniswap-v2-router.d.ts +0 -249
- package/dist/contracts/abis/uniswap-v2-router.d.ts.map +0 -1
- package/dist/contracts/abis/uniswap-v2-router.js +0 -146
- package/dist/contracts/abis/uniswap-v3-factory.d.ts +0 -77
- package/dist/contracts/abis/uniswap-v3-factory.d.ts.map +0 -1
- package/dist/contracts/abis/uniswap-v3-factory.js +0 -45
- package/dist/contracts/abis/uniswap-v3-pool.d.ts +0 -128
- package/dist/contracts/abis/uniswap-v3-pool.d.ts.map +0 -1
- package/dist/contracts/abis/uniswap-v3-pool.js +0 -81
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Contract ABIs for Lux Exchange
|
|
3
3
|
*
|
|
4
|
-
* AMM V2/V3 - Concentrated liquidity AMM (
|
|
5
|
-
* DEX V4 - Hook-based DEX with singleton pool manager (
|
|
4
|
+
* AMM V2/V3 - Concentrated liquidity AMM (Lux V2/V3 compatible)
|
|
5
|
+
* DEX V4 - Hook-based DEX with singleton pool manager (Lux V4 compatible)
|
|
6
6
|
*/
|
|
7
7
|
// AMM V2 ABIs
|
|
8
|
-
export { AMM_V2_ROUTER_ABI,
|
|
9
|
-
export { AMM_V2_FACTORY_ABI,
|
|
10
|
-
export { AMM_V2_PAIR_ABI,
|
|
8
|
+
export { AMM_V2_ROUTER_ABI, LUX_V2_ROUTER_ABI } from './amm-v2-router';
|
|
9
|
+
export { AMM_V2_FACTORY_ABI, LUX_V2_FACTORY_ABI } from './amm-v2-factory';
|
|
10
|
+
export { AMM_V2_PAIR_ABI, LUX_V2_PAIR_ABI } from './amm-v2-pair';
|
|
11
11
|
// AMM V3 ABIs
|
|
12
|
-
export { AMM_V3_FACTORY_ABI,
|
|
13
|
-
export { AMM_V3_POOL_ABI,
|
|
12
|
+
export { AMM_V3_FACTORY_ABI, LUX_V3_FACTORY_ABI } from './amm-v3-factory';
|
|
13
|
+
export { AMM_V3_POOL_ABI, LUX_V3_POOL_ABI } from './amm-v3-pool';
|
|
14
14
|
// AMM V3 Periphery ABIs
|
|
15
15
|
export { SWAP_ROUTER_ABI } from './swap-router';
|
|
16
16
|
export { QUOTER_V2_ABI } from './quoter-v2';
|
|
@@ -11,6 +11,9 @@ export declare const LUX_MAINNET_CONTRACTS: {
|
|
|
11
11
|
readonly LETH: Address;
|
|
12
12
|
readonly LBTC: Address;
|
|
13
13
|
readonly LUSD: Address;
|
|
14
|
+
readonly LSOL: Address;
|
|
15
|
+
readonly LTON: Address;
|
|
16
|
+
readonly LAVAX: Address;
|
|
14
17
|
readonly V2_FACTORY: Address;
|
|
15
18
|
readonly V2_ROUTER: Address;
|
|
16
19
|
readonly V3_FACTORY: Address;
|
|
@@ -18,33 +21,22 @@ export declare const LUX_MAINNET_CONTRACTS: {
|
|
|
18
21
|
readonly V3_SWAP_ROUTER_02: Address;
|
|
19
22
|
readonly V3_QUOTER: Address;
|
|
20
23
|
readonly V3_QUOTER_V2: Address;
|
|
21
|
-
readonly V3_TICK_LENS: Address;
|
|
22
24
|
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
23
|
-
readonly V3_NFT_DESCRIPTOR: Address;
|
|
24
25
|
};
|
|
25
26
|
/**
|
|
26
27
|
* Contract addresses for Lux Testnet (96368)
|
|
27
28
|
*/
|
|
28
29
|
export declare const LUX_TESTNET_CONTRACTS: {
|
|
29
30
|
readonly WLUX: Address;
|
|
30
|
-
readonly WETH: Address;
|
|
31
31
|
readonly MULTICALL: Address;
|
|
32
32
|
readonly LETH: Address;
|
|
33
33
|
readonly LBTC: Address;
|
|
34
|
-
readonly
|
|
34
|
+
readonly LUSDC: Address;
|
|
35
35
|
readonly V2_FACTORY: Address;
|
|
36
36
|
readonly V2_ROUTER: Address;
|
|
37
|
-
readonly V3_FACTORY: Address;
|
|
38
|
-
readonly V3_SWAP_ROUTER: Address;
|
|
39
|
-
readonly V3_SWAP_ROUTER_02: Address;
|
|
40
|
-
readonly V3_QUOTER: Address;
|
|
41
|
-
readonly V3_QUOTER_V2: Address;
|
|
42
|
-
readonly V3_TICK_LENS: Address;
|
|
43
|
-
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
44
|
-
readonly V3_NFT_DESCRIPTOR: Address;
|
|
45
37
|
};
|
|
46
38
|
/**
|
|
47
|
-
* DEX Precompile addresses (native AMM -
|
|
39
|
+
* DEX Precompile addresses (native AMM - Lux v4 style singleton PoolManager)
|
|
48
40
|
* These provide sub-microsecond execution via native Go implementation
|
|
49
41
|
*
|
|
50
42
|
* Address format: 0x0000...00LPNUMBER (addresses end with LP number)
|
|
@@ -91,6 +83,31 @@ export declare const LUX_DEV_CONTRACTS: {
|
|
|
91
83
|
* Get contracts for a specific chain
|
|
92
84
|
*/
|
|
93
85
|
export declare function getContracts(chainId: number): {
|
|
86
|
+
readonly WLUX: Address;
|
|
87
|
+
readonly MULTICALL: Address;
|
|
88
|
+
readonly LETH: Address;
|
|
89
|
+
readonly LBTC: Address;
|
|
90
|
+
readonly LUSD: Address;
|
|
91
|
+
readonly LSOL: Address;
|
|
92
|
+
readonly LTON: Address;
|
|
93
|
+
readonly LAVAX: Address;
|
|
94
|
+
readonly V2_FACTORY: Address;
|
|
95
|
+
readonly V2_ROUTER: Address;
|
|
96
|
+
readonly V3_FACTORY: Address;
|
|
97
|
+
readonly V3_SWAP_ROUTER: Address;
|
|
98
|
+
readonly V3_SWAP_ROUTER_02: Address;
|
|
99
|
+
readonly V3_QUOTER: Address;
|
|
100
|
+
readonly V3_QUOTER_V2: Address;
|
|
101
|
+
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
102
|
+
} | {
|
|
103
|
+
readonly WLUX: Address;
|
|
104
|
+
readonly MULTICALL: Address;
|
|
105
|
+
readonly LETH: Address;
|
|
106
|
+
readonly LBTC: Address;
|
|
107
|
+
readonly LUSDC: Address;
|
|
108
|
+
readonly V2_FACTORY: Address;
|
|
109
|
+
readonly V2_ROUTER: Address;
|
|
110
|
+
} | {
|
|
94
111
|
readonly WLUX: Address;
|
|
95
112
|
readonly MULTICALL: Address;
|
|
96
113
|
readonly LETH: Address;
|
|
@@ -106,6 +123,7 @@ export declare function getContracts(chainId: number): {
|
|
|
106
123
|
readonly V3_TICK_LENS: Address;
|
|
107
124
|
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
108
125
|
readonly V3_NFT_DESCRIPTOR: Address;
|
|
126
|
+
readonly STAKED_LUX: Address;
|
|
109
127
|
};
|
|
110
128
|
export type ContractAddresses = typeof LUX_MAINNET_CONTRACTS;
|
|
111
129
|
//# sourceMappingURL=addresses.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../src/contracts/addresses.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,qBAAqB;mBAEsB,OAAO;wBACF,OAAO;mBAGZ,OAAO;mBACP,OAAO;mBACP,OAAO;
|
|
1
|
+
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../src/contracts/addresses.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,qBAAqB;mBAEsB,OAAO;wBACF,OAAO;mBAGZ,OAAO;mBACP,OAAO;mBACP,OAAO;mBACP,OAAO;mBACP,OAAO;oBACN,OAAO;yBAGF,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;sCACI,OAAO;CACxE,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,qBAAqB;mBAEsB,OAAO;wBACF,OAAO;mBAGZ,OAAO;mBACP,OAAO;oBACN,OAAO;yBAGF,OAAO;wBACR,OAAO;CAC1D,CAAA;AAEV;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe;2BAEoC,OAAO;0BACR,OAAO;6BACJ,OAAO;yBACX,OAAO;yBAGP,OAAO;mBACb,OAAO;oBACN,OAAO;uBAGJ,OAAO;CACzD,CAAA;AAEV;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;mBAE0B,OAAO;wBACF,OAAO;mBAGZ,OAAO;mBACP,OAAO;mBACP,OAAO;yBAGD,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;2BACP,OAAO;sCACI,OAAO;gCACb,OAAO;yBAGd,OAAO;CAC3D,CAAA;AAEV;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM;mBAzGY,OAAO;wBACF,OAAO;mBAGZ,OAAO;mBACP,OAAO;mBACP,OAAO;mBACP,OAAO;mBACP,OAAO;oBACN,OAAO;yBAGF,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;sCACI,OAAO;;mBAQ1B,OAAO;wBACF,OAAO;mBAGZ,OAAO;mBACP,OAAO;oBACN,OAAO;yBAGF,OAAO;wBACR,OAAO;;mBAqCZ,OAAO;wBACF,OAAO;mBAGZ,OAAO;mBACP,OAAO;mBACP,OAAO;yBAGD,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;2BACP,OAAO;sCACI,OAAO;gCACb,OAAO;yBAGd,OAAO;EAiBpE;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,qBAAqB,CAAA"}
|
|
@@ -2,53 +2,44 @@
|
|
|
2
2
|
* Contract addresses for Lux Mainnet (96369)
|
|
3
3
|
*/
|
|
4
4
|
export const LUX_MAINNET_CONTRACTS = {
|
|
5
|
-
// Core
|
|
6
|
-
WLUX: '
|
|
5
|
+
// Core — verified on-chain 2026-03-05 (149M supply)
|
|
6
|
+
WLUX: '0x4888e4a2ee0f03051c72d2bd3acf755ed3498b3e',
|
|
7
7
|
MULTICALL: '0xd25F88CBdAe3c2CCA3Bb75FC4E723b44C0Ea362F',
|
|
8
|
-
// Bridge tokens
|
|
9
|
-
LETH: '
|
|
10
|
-
LBTC: '
|
|
11
|
-
LUSD: '
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
// AMM
|
|
16
|
-
|
|
8
|
+
// Bridge tokens — verified on-chain via V3 pools and bridge MPC
|
|
9
|
+
LETH: '0x60E0a8167FC13dE89348978860466C9ceC24B9ba',
|
|
10
|
+
LBTC: '0x1E48D32a4F5e9f08DB9aE4959163300FaF8A6C8e',
|
|
11
|
+
LUSD: '0x848Cff46eb323f323b6Bbe1Df274E40793d7f2c2',
|
|
12
|
+
LSOL: '0x26B40f650156C7EbF9e087Dd0dca181Fe87625B7',
|
|
13
|
+
LTON: '0x3141b94b89691009b950c96e97Bff48e0C543E3C',
|
|
14
|
+
LAVAX: '0x0e4bD0DD67c15dECfBBBdbbE07FC9d51D737693D',
|
|
15
|
+
// AMM V2 (CREATE2) — 1 pair on-chain
|
|
16
|
+
V2_FACTORY: '0xD173926A10A0C4eCd3A51B1422270b65Df0551c1',
|
|
17
|
+
V2_ROUTER: '0xAe2cf1E403aAFE6C05A5b8Ef63EB19ba591d8511',
|
|
18
|
+
// AMM V3 (CREATE2) — 8+ pools, active trading, verified on-chain
|
|
19
|
+
V3_FACTORY: '0x80bBc7C4C7a59C899D1B37BC14539A22D5830a84',
|
|
17
20
|
V3_SWAP_ROUTER: '0xE8fb25086C8652c92f5AF90D730Bac7C63Fc9A58',
|
|
18
21
|
V3_SWAP_ROUTER_02: '0x939bC0Bca6F9B9c52E6e3AD8A3C590b5d9B9D10E',
|
|
19
22
|
V3_QUOTER: '0x12e2B76FaF4dDA5a173a4532916bb6Bfa3645275',
|
|
20
23
|
V3_QUOTER_V2: '0x15C729fdd833Ba675edd466Dfc63E1B737925A4c',
|
|
21
|
-
V3_TICK_LENS: '0x57A22965AdA0e52D785A9Aa155beF423D573b879',
|
|
22
24
|
V3_NFT_POSITION_MANAGER: '0x7a4C48B9dae0b7c396569b34042fcA604150Ee28',
|
|
23
|
-
V3_NFT_DESCRIPTOR: '0x53B1aAA5b6DDFD4eD00D0A7b5Ef333dc74B605b5',
|
|
24
25
|
};
|
|
25
26
|
/**
|
|
26
27
|
* Contract addresses for Lux Testnet (96368)
|
|
27
28
|
*/
|
|
28
29
|
export const LUX_TESTNET_CONTRACTS = {
|
|
29
|
-
// Core
|
|
30
|
-
WLUX: '
|
|
31
|
-
WETH: '0xd9956542B51032d940ef076d70B69410667277A3',
|
|
30
|
+
// Core — deployed via DeployMultiNetwork.s.sol 2026-02-27
|
|
31
|
+
WLUX: '0xDe5310d0Eccc04C8987cB66Ff6b89Ee793442C91',
|
|
32
32
|
MULTICALL: '0xd25F88CBdAe3c2CCA3Bb75FC4E723b44C0Ea362F',
|
|
33
|
-
// Bridge tokens
|
|
34
|
-
LETH: '
|
|
35
|
-
LBTC: '
|
|
36
|
-
|
|
37
|
-
// AMM V2
|
|
38
|
-
V2_FACTORY: '
|
|
39
|
-
V2_ROUTER: '
|
|
40
|
-
// AMM V3
|
|
41
|
-
V3_FACTORY: '0x80bBc7C4C7a59C899D1B37BC14539A22D5830a84',
|
|
42
|
-
V3_SWAP_ROUTER: '0xE8fb25086C8652c92f5AF90D730Bac7C63Fc9A58',
|
|
43
|
-
V3_SWAP_ROUTER_02: '0x939bC0Bca6F9B9c52E6e3AD8A3C590b5d9B9D10E',
|
|
44
|
-
V3_QUOTER: '0x12e2B76FaF4dDA5a173a4532916bb6Bfa3645275',
|
|
45
|
-
V3_QUOTER_V2: '0x15C729fdd833Ba675edd466Dfc63E1B737925A4c',
|
|
46
|
-
V3_TICK_LENS: '0x57A22965AdA0e52D785A9Aa155beF423D573b879',
|
|
47
|
-
V3_NFT_POSITION_MANAGER: '0x7a4C48B9dae0b7c396569b34042fcA604150Ee28',
|
|
48
|
-
V3_NFT_DESCRIPTOR: '0x53B1aAA5b6DDFD4eD00D0A7b5Ef333dc74B605b5',
|
|
33
|
+
// Bridge tokens — deployed via DeployMultiNetwork.s.sol 2026-02-27
|
|
34
|
+
LETH: '0xA695a8A66fbe3E32d15a531db04185313595771A',
|
|
35
|
+
LBTC: '0x5a88986958ea76Dd043f834542724F081cA1443B',
|
|
36
|
+
LUSDC: '0x8a3fad1c7FB94461621351aa6A983B6f814F039c',
|
|
37
|
+
// AMM V2 — deployed via DeployMultiNetwork.s.sol 2026-02-27
|
|
38
|
+
V2_FACTORY: '0x1DD4e6cbC6B8FD032fCAD5A3B0a45e446A014637',
|
|
39
|
+
V2_ROUTER: '0xb06B31521Afc434F87Fe4852c98FC15A26c92aE8',
|
|
49
40
|
};
|
|
50
41
|
/**
|
|
51
|
-
* DEX Precompile addresses (native AMM -
|
|
42
|
+
* DEX Precompile addresses (native AMM - Lux v4 style singleton PoolManager)
|
|
52
43
|
* These provide sub-microsecond execution via native Go implementation
|
|
53
44
|
*
|
|
54
45
|
* Address format: 0x0000...00LPNUMBER (addresses end with LP number)
|
|
@@ -59,7 +50,7 @@ export const LUX_TESTNET_CONTRACTS = {
|
|
|
59
50
|
* @see ~/work/lux/dex/pkg/gateway/lux/provider.go for gateway implementation
|
|
60
51
|
*/
|
|
61
52
|
export const DEX_PRECOMPILES = {
|
|
62
|
-
// Core DEX (LP-9010 series -
|
|
53
|
+
// Core DEX (LP-9010 series - Lux v4 style)
|
|
63
54
|
POOL_MANAGER: '0x0000000000000000000000000000000000009010', // LP-9010
|
|
64
55
|
SWAP_ROUTER: '0x0000000000000000000000000000000000009012', // LP-9012
|
|
65
56
|
HOOKS_REGISTRY: '0x0000000000000000000000000000000000009013', // LP-9013
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-pools.d.ts","sourceRoot":"","sources":["../../src/hooks/use-pools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-pools.d.ts","sourceRoot":"","sources":["../../src/hooks/use-pools.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,sEA6DhB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,OAAO,EAAE,MAAM;;;;EAqBhB"}
|
package/dist/hooks/use-pools.js
CHANGED
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
import { useQuery } from '@tanstack/react-query';
|
|
3
3
|
import { usePublicClient } from 'wagmi';
|
|
4
4
|
import { getContracts } from '../contracts';
|
|
5
|
-
import {
|
|
5
|
+
import { LUX_V3_FACTORY_ABI, LUX_V3_POOL_ABI } from '../contracts/abis';
|
|
6
|
+
import { LUX_MAINNET_CONTRACTS } from '../contracts/addresses';
|
|
6
7
|
/**
|
|
7
8
|
* Hook to get pool information
|
|
8
9
|
*/
|
|
9
10
|
export function usePool(token0, token1, fee, chainId) {
|
|
10
11
|
const publicClient = usePublicClient({ chainId });
|
|
11
12
|
const contracts = getContracts(chainId);
|
|
13
|
+
const v3Factory = 'V3_FACTORY' in contracts ? contracts.V3_FACTORY : LUX_MAINNET_CONTRACTS.V3_FACTORY;
|
|
12
14
|
return useQuery({
|
|
13
15
|
queryKey: ['pool', token0, token1, fee, chainId],
|
|
14
16
|
queryFn: async () => {
|
|
@@ -17,8 +19,8 @@ export function usePool(token0, token1, fee, chainId) {
|
|
|
17
19
|
try {
|
|
18
20
|
// Get pool address from factory
|
|
19
21
|
const poolAddress = await publicClient.readContract({
|
|
20
|
-
address:
|
|
21
|
-
abi:
|
|
22
|
+
address: v3Factory,
|
|
23
|
+
abi: LUX_V3_FACTORY_ABI,
|
|
22
24
|
functionName: 'getPool',
|
|
23
25
|
args: [token0, token1, fee],
|
|
24
26
|
});
|
|
@@ -29,17 +31,17 @@ export function usePool(token0, token1, fee, chainId) {
|
|
|
29
31
|
const [slot0, liquidity, tickSpacing] = await Promise.all([
|
|
30
32
|
publicClient.readContract({
|
|
31
33
|
address: poolAddress,
|
|
32
|
-
abi:
|
|
34
|
+
abi: LUX_V3_POOL_ABI,
|
|
33
35
|
functionName: 'slot0',
|
|
34
36
|
}),
|
|
35
37
|
publicClient.readContract({
|
|
36
38
|
address: poolAddress,
|
|
37
|
-
abi:
|
|
39
|
+
abi: LUX_V3_POOL_ABI,
|
|
38
40
|
functionName: 'liquidity',
|
|
39
41
|
}),
|
|
40
42
|
publicClient.readContract({
|
|
41
43
|
address: poolAddress,
|
|
42
|
-
abi:
|
|
44
|
+
abi: LUX_V3_POOL_ABI,
|
|
43
45
|
functionName: 'tickSpacing',
|
|
44
46
|
}),
|
|
45
47
|
]);
|
package/dist/hooks/use-swap.js
CHANGED
|
@@ -15,7 +15,7 @@ export function useSwap() {
|
|
|
15
15
|
const contracts = getContracts(params.chainId);
|
|
16
16
|
const isNativeIn = isNativeToken(params.tokenIn);
|
|
17
17
|
const txHash = await writeContractAsync({
|
|
18
|
-
address: contracts.V3_SWAP_ROUTER_02,
|
|
18
|
+
address: contracts.V3_SWAP_ROUTER_02 ?? contracts.V2_ROUTER,
|
|
19
19
|
abi: SWAP_ROUTER_ABI,
|
|
20
20
|
functionName: 'exactInputSingle',
|
|
21
21
|
args: [
|
|
@@ -18,7 +18,7 @@ export declare function useTokenAllowance(token: Token | null, owner: Address |
|
|
|
18
18
|
isPending: boolean;
|
|
19
19
|
isConfirming: boolean;
|
|
20
20
|
isSuccess: boolean;
|
|
21
|
-
refetch: (options?: import("@tanstack/query
|
|
21
|
+
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<bigint, import("viem").ReadContractErrorType>>;
|
|
22
22
|
};
|
|
23
23
|
/**
|
|
24
24
|
* Check if approval is needed for a specific amount
|
package/dist/tokens/index.d.ts
CHANGED
|
@@ -32,6 +32,9 @@ export declare const LUSD: Token;
|
|
|
32
32
|
*/
|
|
33
33
|
export declare const LETH: Token;
|
|
34
34
|
export declare const LBTC: Token;
|
|
35
|
+
export declare const LSOL: Token;
|
|
36
|
+
export declare const LTON: Token;
|
|
37
|
+
export declare const LAVAX: Token;
|
|
35
38
|
/**
|
|
36
39
|
* Testnet bridge tokens
|
|
37
40
|
*/
|
|
@@ -56,9 +59,9 @@ export declare const DAI_LUX: Token;
|
|
|
56
59
|
* Zoo chain tokens
|
|
57
60
|
*/
|
|
58
61
|
export declare const WZOO: Token;
|
|
59
|
-
export declare const
|
|
60
|
-
export declare const
|
|
61
|
-
export declare const
|
|
62
|
+
export declare const LETH_ZOO: Token;
|
|
63
|
+
export declare const LBTC_ZOO: Token;
|
|
64
|
+
export declare const LUSD_ZOO: Token;
|
|
62
65
|
/**
|
|
63
66
|
* Default token list for Lux Mainnet
|
|
64
67
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,EASrC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,EAMrC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,EAKrC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,EAKjC,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,CAa1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAWnE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEnD"}
|
package/dist/tokens/index.js
CHANGED
|
@@ -21,14 +21,14 @@ export const NATIVE_ZOO = {
|
|
|
21
21
|
* Wrapped native tokens
|
|
22
22
|
*/
|
|
23
23
|
export const WLUX_MAINNET = {
|
|
24
|
-
address: '
|
|
24
|
+
address: '0x4888e4a2ee0f03051c72d2bd3acf755ed3498b3e',
|
|
25
25
|
chainId: 96369,
|
|
26
26
|
decimals: 18,
|
|
27
27
|
symbol: 'WLUX',
|
|
28
28
|
name: 'Wrapped LUX',
|
|
29
29
|
};
|
|
30
30
|
export const WLUX_TESTNET = {
|
|
31
|
-
address: '
|
|
31
|
+
address: '0xDe5310d0Eccc04C8987cB66Ff6b89Ee793442C91',
|
|
32
32
|
chainId: 96368,
|
|
33
33
|
decimals: 18,
|
|
34
34
|
symbol: 'WLUX',
|
|
@@ -46,53 +46,74 @@ export const WLUX_DEV = {
|
|
|
46
46
|
* Stablecoins
|
|
47
47
|
*/
|
|
48
48
|
export const LUSD = {
|
|
49
|
-
address: '
|
|
49
|
+
address: '0x848Cff46eb323f323b6Bbe1Df274E40793d7f2c2',
|
|
50
50
|
chainId: 96369,
|
|
51
|
-
decimals:
|
|
51
|
+
decimals: 18,
|
|
52
52
|
symbol: 'LUSD',
|
|
53
|
-
name: 'Lux
|
|
53
|
+
name: 'Lux USD',
|
|
54
54
|
};
|
|
55
55
|
/**
|
|
56
56
|
* Bridge tokens (L-prefix for assets bridged to Lux)
|
|
57
57
|
* These are the canonical mainnet addresses from @luxfi/config
|
|
58
58
|
*/
|
|
59
59
|
export const LETH = {
|
|
60
|
-
address: '
|
|
60
|
+
address: '0x60E0a8167FC13dE89348978860466C9ceC24B9ba',
|
|
61
61
|
chainId: 96369,
|
|
62
62
|
decimals: 18,
|
|
63
63
|
symbol: 'LETH',
|
|
64
64
|
name: 'Lux ETH',
|
|
65
65
|
};
|
|
66
66
|
export const LBTC = {
|
|
67
|
-
address: '
|
|
67
|
+
address: '0x1E48D32a4F5e9f08DB9aE4959163300FaF8A6C8e',
|
|
68
68
|
chainId: 96369,
|
|
69
69
|
decimals: 8,
|
|
70
70
|
symbol: 'LBTC',
|
|
71
71
|
name: 'Lux BTC',
|
|
72
72
|
};
|
|
73
|
+
export const LSOL = {
|
|
74
|
+
address: '0x26B40f650156C7EbF9e087Dd0dca181Fe87625B7',
|
|
75
|
+
chainId: 96369,
|
|
76
|
+
decimals: 18,
|
|
77
|
+
symbol: 'LSOL',
|
|
78
|
+
name: 'Lux SOL',
|
|
79
|
+
};
|
|
80
|
+
export const LTON = {
|
|
81
|
+
address: '0x3141b94b89691009b950c96e97Bff48e0C543E3C',
|
|
82
|
+
chainId: 96369,
|
|
83
|
+
decimals: 9,
|
|
84
|
+
symbol: 'LTON',
|
|
85
|
+
name: 'Lux TON',
|
|
86
|
+
};
|
|
87
|
+
export const LAVAX = {
|
|
88
|
+
address: '0x0e4bD0DD67c15dECfBBBdbbE07FC9d51D737693D',
|
|
89
|
+
chainId: 96369,
|
|
90
|
+
decimals: 18,
|
|
91
|
+
symbol: 'LAVAX',
|
|
92
|
+
name: 'Lux AVAX',
|
|
93
|
+
};
|
|
73
94
|
/**
|
|
74
95
|
* Testnet bridge tokens
|
|
75
96
|
*/
|
|
76
97
|
export const LETH_TESTNET = {
|
|
77
|
-
address: '
|
|
98
|
+
address: '0xA695a8A66fbe3E32d15a531db04185313595771A',
|
|
78
99
|
chainId: 96368,
|
|
79
100
|
decimals: 18,
|
|
80
101
|
symbol: 'LETH',
|
|
81
102
|
name: 'Lux ETH',
|
|
82
103
|
};
|
|
83
104
|
export const LBTC_TESTNET = {
|
|
84
|
-
address: '
|
|
105
|
+
address: '0x5a88986958ea76Dd043f834542724F081cA1443B',
|
|
85
106
|
chainId: 96368,
|
|
86
107
|
decimals: 8,
|
|
87
108
|
symbol: 'LBTC',
|
|
88
109
|
name: 'Lux BTC',
|
|
89
110
|
};
|
|
90
111
|
export const LUSD_TESTNET = {
|
|
91
|
-
address: '
|
|
112
|
+
address: '0x8a3fad1c7FB94461621351aa6A983B6f814F039c',
|
|
92
113
|
chainId: 96368,
|
|
93
|
-
decimals:
|
|
94
|
-
symbol: '
|
|
95
|
-
name: 'Lux
|
|
114
|
+
decimals: 6,
|
|
115
|
+
symbol: 'LUSDC',
|
|
116
|
+
name: 'Lux USDC',
|
|
96
117
|
};
|
|
97
118
|
/**
|
|
98
119
|
* Dev mode bridge tokens (deterministic CREATE addresses)
|
|
@@ -150,7 +171,7 @@ export const WBTC_LUX = {
|
|
|
150
171
|
name: 'Wrapped Bitcoin',
|
|
151
172
|
};
|
|
152
173
|
export const DAI_LUX = {
|
|
153
|
-
address: '
|
|
174
|
+
address: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
154
175
|
chainId: 96369,
|
|
155
176
|
decimals: 18,
|
|
156
177
|
symbol: 'DAI',
|
|
@@ -160,32 +181,32 @@ export const DAI_LUX = {
|
|
|
160
181
|
* Zoo chain tokens
|
|
161
182
|
*/
|
|
162
183
|
export const WZOO = {
|
|
163
|
-
address: '
|
|
184
|
+
address: '0x5491216406daB99b7032b83765F36790E27F8A61',
|
|
164
185
|
chainId: 200200,
|
|
165
186
|
decimals: 18,
|
|
166
187
|
symbol: 'WZOO',
|
|
167
188
|
name: 'Wrapped ZOO',
|
|
168
189
|
};
|
|
169
|
-
export const
|
|
170
|
-
address: '
|
|
190
|
+
export const LETH_ZOO = {
|
|
191
|
+
address: '0x4870621EA8be7a383eFCfdA225249d35888bD9f2',
|
|
171
192
|
chainId: 200200,
|
|
172
|
-
decimals:
|
|
173
|
-
symbol: '
|
|
174
|
-
name: '
|
|
193
|
+
decimals: 18,
|
|
194
|
+
symbol: 'LETH',
|
|
195
|
+
name: 'Lux ETH',
|
|
175
196
|
};
|
|
176
|
-
export const
|
|
177
|
-
address: '
|
|
197
|
+
export const LBTC_ZOO = {
|
|
198
|
+
address: '0x6fc44509a32E513bE1aa00d27bb298e63830C6A8',
|
|
178
199
|
chainId: 200200,
|
|
179
|
-
decimals:
|
|
180
|
-
symbol: '
|
|
181
|
-
name: '
|
|
200
|
+
decimals: 8,
|
|
201
|
+
symbol: 'LBTC',
|
|
202
|
+
name: 'Lux BTC',
|
|
182
203
|
};
|
|
183
|
-
export const
|
|
184
|
-
address: '
|
|
204
|
+
export const LUSD_ZOO = {
|
|
205
|
+
address: '0xb2ee1CE7b84853b83AA08702aD0aD4D79711882D',
|
|
185
206
|
chainId: 200200,
|
|
186
207
|
decimals: 18,
|
|
187
|
-
symbol: '
|
|
188
|
-
name: '
|
|
208
|
+
symbol: 'LUSD',
|
|
209
|
+
name: 'Lux USD',
|
|
189
210
|
};
|
|
190
211
|
/**
|
|
191
212
|
* Default token list for Lux Mainnet
|
|
@@ -193,14 +214,12 @@ export const WETH_ZOO = {
|
|
|
193
214
|
export const LUX_MAINNET_TOKENS = [
|
|
194
215
|
NATIVE_LUX,
|
|
195
216
|
WLUX_MAINNET,
|
|
196
|
-
|
|
197
|
-
USDT_LUX,
|
|
198
|
-
WETH_LUX,
|
|
199
|
-
WBTC_LUX,
|
|
200
|
-
DAI_LUX,
|
|
217
|
+
LUSD,
|
|
201
218
|
LETH,
|
|
202
219
|
LBTC,
|
|
203
|
-
|
|
220
|
+
LSOL,
|
|
221
|
+
LTON,
|
|
222
|
+
LAVAX,
|
|
204
223
|
];
|
|
205
224
|
/**
|
|
206
225
|
* Default token list for Zoo Mainnet
|
|
@@ -208,9 +227,9 @@ export const LUX_MAINNET_TOKENS = [
|
|
|
208
227
|
export const ZOO_MAINNET_TOKENS = [
|
|
209
228
|
NATIVE_ZOO,
|
|
210
229
|
WZOO,
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
230
|
+
LUSD_ZOO,
|
|
231
|
+
LETH_ZOO,
|
|
232
|
+
LBTC_ZOO,
|
|
214
233
|
];
|
|
215
234
|
/**
|
|
216
235
|
* Default token list for Lux Testnet
|