@luxfi/exchange 0.2.0 → 1.0.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/dist/contracts/abis/amm-v2-factory.d.ts +148 -0
- package/dist/contracts/abis/amm-v2-factory.d.ts.map +1 -0
- package/dist/contracts/abis/amm-v2-factory.js +52 -0
- package/dist/contracts/abis/amm-v2-pair.d.ts +236 -0
- package/dist/contracts/abis/amm-v2-pair.d.ts.map +1 -0
- package/dist/contracts/abis/amm-v2-pair.js +88 -0
- package/dist/contracts/abis/amm-v2-router.d.ts +496 -0
- package/dist/contracts/abis/amm-v2-router.d.ts.map +1 -0
- package/dist/contracts/abis/amm-v2-router.js +149 -0
- package/dist/contracts/abis/amm-v3-factory.d.ts +152 -0
- package/dist/contracts/abis/amm-v3-factory.d.ts.map +1 -0
- package/dist/contracts/abis/amm-v3-factory.js +48 -0
- package/dist/contracts/abis/amm-v3-pool.d.ts +254 -0
- package/dist/contracts/abis/amm-v3-pool.d.ts.map +1 -0
- package/dist/contracts/abis/amm-v3-pool.js +84 -0
- package/dist/contracts/abis/index.d.ts +8 -5
- package/dist/contracts/abis/index.d.ts.map +1 -1
- package/dist/contracts/abis/index.js +13 -6
- package/dist/contracts/abis/lux-amm-v2-factory.d.ts +148 -0
- package/dist/contracts/abis/lux-amm-v2-factory.d.ts.map +1 -0
- package/dist/contracts/abis/lux-amm-v2-factory.js +52 -0
- package/dist/contracts/abis/lux-amm-v2-pair.d.ts +236 -0
- package/dist/contracts/abis/lux-amm-v2-pair.d.ts.map +1 -0
- package/dist/contracts/abis/lux-amm-v2-pair.js +88 -0
- package/dist/contracts/abis/lux-amm-v2-router.d.ts +496 -0
- package/dist/contracts/abis/lux-amm-v2-router.d.ts.map +1 -0
- package/dist/contracts/abis/lux-amm-v2-router.js +149 -0
- package/dist/contracts/abis/lux-amm-v3-factory.d.ts +152 -0
- package/dist/contracts/abis/lux-amm-v3-factory.d.ts.map +1 -0
- package/dist/contracts/abis/lux-amm-v3-factory.js +48 -0
- package/dist/contracts/abis/lux-amm-v3-pool.d.ts +254 -0
- package/dist/contracts/abis/lux-amm-v3-pool.d.ts.map +1 -0
- package/dist/contracts/abis/lux-amm-v3-pool.js +84 -0
- package/dist/contracts/addresses.d.ts +18 -48
- package/dist/contracts/addresses.d.ts.map +1 -1
- package/dist/contracts/addresses.js +30 -22
- package/dist/tokens/index.d.ts +25 -0
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +90 -5
- package/package.json +2 -2
- package/src/contracts/abis/{uniswap-v2-factory.ts → amm-v2-factory.ts} +6 -2
- package/src/contracts/abis/{uniswap-v2-pair.ts → amm-v2-pair.ts} +6 -2
- package/src/contracts/abis/{uniswap-v2-router.ts → amm-v2-router.ts} +6 -2
- package/src/contracts/abis/{uniswap-v3-factory.ts → amm-v3-factory.ts} +6 -2
- package/src/contracts/abis/{uniswap-v3-pool.ts → amm-v3-pool.ts} +6 -2
- package/src/contracts/abis/index.ts +16 -6
- package/src/contracts/abis/pool-manager.ts +1 -1
- package/src/contracts/addresses.ts +53 -52
- package/src/hooks/use-pools.ts +8 -6
- package/src/hooks/use-positions.ts +3 -3
- package/src/hooks/use-swap-quote.ts +1 -1
- package/src/hooks/use-swap.ts +1 -1
- package/src/tokens/index.ts +148 -32
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lux AMM V3 Factory ABI
|
|
3
|
+
* Compatible with Uniswap V3 Factory interface
|
|
4
|
+
*/
|
|
5
|
+
export declare const LUX_AMM_V3_FACTORY_ABI: readonly [{
|
|
6
|
+
readonly type: "function";
|
|
7
|
+
readonly name: "getPool";
|
|
8
|
+
readonly inputs: readonly [{
|
|
9
|
+
readonly name: "tokenA";
|
|
10
|
+
readonly type: "address";
|
|
11
|
+
}, {
|
|
12
|
+
readonly name: "tokenB";
|
|
13
|
+
readonly type: "address";
|
|
14
|
+
}, {
|
|
15
|
+
readonly name: "fee";
|
|
16
|
+
readonly type: "uint24";
|
|
17
|
+
}];
|
|
18
|
+
readonly outputs: readonly [{
|
|
19
|
+
readonly name: "pool";
|
|
20
|
+
readonly type: "address";
|
|
21
|
+
}];
|
|
22
|
+
readonly stateMutability: "view";
|
|
23
|
+
}, {
|
|
24
|
+
readonly type: "function";
|
|
25
|
+
readonly name: "createPool";
|
|
26
|
+
readonly inputs: readonly [{
|
|
27
|
+
readonly name: "tokenA";
|
|
28
|
+
readonly type: "address";
|
|
29
|
+
}, {
|
|
30
|
+
readonly name: "tokenB";
|
|
31
|
+
readonly type: "address";
|
|
32
|
+
}, {
|
|
33
|
+
readonly name: "fee";
|
|
34
|
+
readonly type: "uint24";
|
|
35
|
+
}];
|
|
36
|
+
readonly outputs: readonly [{
|
|
37
|
+
readonly name: "pool";
|
|
38
|
+
readonly type: "address";
|
|
39
|
+
}];
|
|
40
|
+
readonly stateMutability: "nonpayable";
|
|
41
|
+
}, {
|
|
42
|
+
readonly type: "function";
|
|
43
|
+
readonly name: "feeAmountTickSpacing";
|
|
44
|
+
readonly inputs: readonly [{
|
|
45
|
+
readonly name: "fee";
|
|
46
|
+
readonly type: "uint24";
|
|
47
|
+
}];
|
|
48
|
+
readonly outputs: readonly [{
|
|
49
|
+
readonly name: "tickSpacing";
|
|
50
|
+
readonly type: "int24";
|
|
51
|
+
}];
|
|
52
|
+
readonly stateMutability: "view";
|
|
53
|
+
}, {
|
|
54
|
+
readonly type: "event";
|
|
55
|
+
readonly name: "PoolCreated";
|
|
56
|
+
readonly inputs: readonly [{
|
|
57
|
+
readonly name: "token0";
|
|
58
|
+
readonly type: "address";
|
|
59
|
+
readonly indexed: true;
|
|
60
|
+
}, {
|
|
61
|
+
readonly name: "token1";
|
|
62
|
+
readonly type: "address";
|
|
63
|
+
readonly indexed: true;
|
|
64
|
+
}, {
|
|
65
|
+
readonly name: "fee";
|
|
66
|
+
readonly type: "uint24";
|
|
67
|
+
readonly indexed: true;
|
|
68
|
+
}, {
|
|
69
|
+
readonly name: "tickSpacing";
|
|
70
|
+
readonly type: "int24";
|
|
71
|
+
readonly indexed: false;
|
|
72
|
+
}, {
|
|
73
|
+
readonly name: "pool";
|
|
74
|
+
readonly type: "address";
|
|
75
|
+
readonly indexed: false;
|
|
76
|
+
}];
|
|
77
|
+
}];
|
|
78
|
+
/** @deprecated Use LUX_AMM_V3_FACTORY_ABI instead */
|
|
79
|
+
export declare const UNISWAP_V3_FACTORY_ABI: readonly [{
|
|
80
|
+
readonly type: "function";
|
|
81
|
+
readonly name: "getPool";
|
|
82
|
+
readonly inputs: readonly [{
|
|
83
|
+
readonly name: "tokenA";
|
|
84
|
+
readonly type: "address";
|
|
85
|
+
}, {
|
|
86
|
+
readonly name: "tokenB";
|
|
87
|
+
readonly type: "address";
|
|
88
|
+
}, {
|
|
89
|
+
readonly name: "fee";
|
|
90
|
+
readonly type: "uint24";
|
|
91
|
+
}];
|
|
92
|
+
readonly outputs: readonly [{
|
|
93
|
+
readonly name: "pool";
|
|
94
|
+
readonly type: "address";
|
|
95
|
+
}];
|
|
96
|
+
readonly stateMutability: "view";
|
|
97
|
+
}, {
|
|
98
|
+
readonly type: "function";
|
|
99
|
+
readonly name: "createPool";
|
|
100
|
+
readonly inputs: readonly [{
|
|
101
|
+
readonly name: "tokenA";
|
|
102
|
+
readonly type: "address";
|
|
103
|
+
}, {
|
|
104
|
+
readonly name: "tokenB";
|
|
105
|
+
readonly type: "address";
|
|
106
|
+
}, {
|
|
107
|
+
readonly name: "fee";
|
|
108
|
+
readonly type: "uint24";
|
|
109
|
+
}];
|
|
110
|
+
readonly outputs: readonly [{
|
|
111
|
+
readonly name: "pool";
|
|
112
|
+
readonly type: "address";
|
|
113
|
+
}];
|
|
114
|
+
readonly stateMutability: "nonpayable";
|
|
115
|
+
}, {
|
|
116
|
+
readonly type: "function";
|
|
117
|
+
readonly name: "feeAmountTickSpacing";
|
|
118
|
+
readonly inputs: readonly [{
|
|
119
|
+
readonly name: "fee";
|
|
120
|
+
readonly type: "uint24";
|
|
121
|
+
}];
|
|
122
|
+
readonly outputs: readonly [{
|
|
123
|
+
readonly name: "tickSpacing";
|
|
124
|
+
readonly type: "int24";
|
|
125
|
+
}];
|
|
126
|
+
readonly stateMutability: "view";
|
|
127
|
+
}, {
|
|
128
|
+
readonly type: "event";
|
|
129
|
+
readonly name: "PoolCreated";
|
|
130
|
+
readonly inputs: readonly [{
|
|
131
|
+
readonly name: "token0";
|
|
132
|
+
readonly type: "address";
|
|
133
|
+
readonly indexed: true;
|
|
134
|
+
}, {
|
|
135
|
+
readonly name: "token1";
|
|
136
|
+
readonly type: "address";
|
|
137
|
+
readonly indexed: true;
|
|
138
|
+
}, {
|
|
139
|
+
readonly name: "fee";
|
|
140
|
+
readonly type: "uint24";
|
|
141
|
+
readonly indexed: true;
|
|
142
|
+
}, {
|
|
143
|
+
readonly name: "tickSpacing";
|
|
144
|
+
readonly type: "int24";
|
|
145
|
+
readonly indexed: false;
|
|
146
|
+
}, {
|
|
147
|
+
readonly name: "pool";
|
|
148
|
+
readonly type: "address";
|
|
149
|
+
readonly indexed: false;
|
|
150
|
+
}];
|
|
151
|
+
}];
|
|
152
|
+
//# sourceMappingURL=lux-amm-v3-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lux-amm-v3-factory.d.ts","sourceRoot":"","sources":["../../../src/contracts/abis/lux-amm-v3-factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCzB,CAAA;AAEV,qDAAqD;AACrD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyB,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lux AMM V3 Factory ABI
|
|
3
|
+
* Compatible with Uniswap V3 Factory interface
|
|
4
|
+
*/
|
|
5
|
+
export const LUX_AMM_V3_FACTORY_ABI = [
|
|
6
|
+
{
|
|
7
|
+
type: 'function',
|
|
8
|
+
name: 'getPool',
|
|
9
|
+
inputs: [
|
|
10
|
+
{ name: 'tokenA', type: 'address' },
|
|
11
|
+
{ name: 'tokenB', type: 'address' },
|
|
12
|
+
{ name: 'fee', type: 'uint24' },
|
|
13
|
+
],
|
|
14
|
+
outputs: [{ name: 'pool', type: 'address' }],
|
|
15
|
+
stateMutability: 'view',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
type: 'function',
|
|
19
|
+
name: 'createPool',
|
|
20
|
+
inputs: [
|
|
21
|
+
{ name: 'tokenA', type: 'address' },
|
|
22
|
+
{ name: 'tokenB', type: 'address' },
|
|
23
|
+
{ name: 'fee', type: 'uint24' },
|
|
24
|
+
],
|
|
25
|
+
outputs: [{ name: 'pool', type: 'address' }],
|
|
26
|
+
stateMutability: 'nonpayable',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
type: 'function',
|
|
30
|
+
name: 'feeAmountTickSpacing',
|
|
31
|
+
inputs: [{ name: 'fee', type: 'uint24' }],
|
|
32
|
+
outputs: [{ name: 'tickSpacing', type: 'int24' }],
|
|
33
|
+
stateMutability: 'view',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: 'event',
|
|
37
|
+
name: 'PoolCreated',
|
|
38
|
+
inputs: [
|
|
39
|
+
{ name: 'token0', type: 'address', indexed: true },
|
|
40
|
+
{ name: 'token1', type: 'address', indexed: true },
|
|
41
|
+
{ name: 'fee', type: 'uint24', indexed: true },
|
|
42
|
+
{ name: 'tickSpacing', type: 'int24', indexed: false },
|
|
43
|
+
{ name: 'pool', type: 'address', indexed: false },
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
/** @deprecated Use LUX_AMM_V3_FACTORY_ABI instead */
|
|
48
|
+
export const UNISWAP_V3_FACTORY_ABI = LUX_AMM_V3_FACTORY_ABI;
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lux AMM V3 Pool ABI
|
|
3
|
+
* Compatible with Uniswap V3 Pool interface
|
|
4
|
+
*/
|
|
5
|
+
export declare const LUX_AMM_V3_POOL_ABI: readonly [{
|
|
6
|
+
readonly type: "function";
|
|
7
|
+
readonly name: "token0";
|
|
8
|
+
readonly inputs: readonly [];
|
|
9
|
+
readonly outputs: readonly [{
|
|
10
|
+
readonly type: "address";
|
|
11
|
+
}];
|
|
12
|
+
readonly stateMutability: "view";
|
|
13
|
+
}, {
|
|
14
|
+
readonly type: "function";
|
|
15
|
+
readonly name: "token1";
|
|
16
|
+
readonly inputs: readonly [];
|
|
17
|
+
readonly outputs: readonly [{
|
|
18
|
+
readonly type: "address";
|
|
19
|
+
}];
|
|
20
|
+
readonly stateMutability: "view";
|
|
21
|
+
}, {
|
|
22
|
+
readonly type: "function";
|
|
23
|
+
readonly name: "fee";
|
|
24
|
+
readonly inputs: readonly [];
|
|
25
|
+
readonly outputs: readonly [{
|
|
26
|
+
readonly type: "uint24";
|
|
27
|
+
}];
|
|
28
|
+
readonly stateMutability: "view";
|
|
29
|
+
}, {
|
|
30
|
+
readonly type: "function";
|
|
31
|
+
readonly name: "tickSpacing";
|
|
32
|
+
readonly inputs: readonly [];
|
|
33
|
+
readonly outputs: readonly [{
|
|
34
|
+
readonly type: "int24";
|
|
35
|
+
}];
|
|
36
|
+
readonly stateMutability: "view";
|
|
37
|
+
}, {
|
|
38
|
+
readonly type: "function";
|
|
39
|
+
readonly name: "liquidity";
|
|
40
|
+
readonly inputs: readonly [];
|
|
41
|
+
readonly outputs: readonly [{
|
|
42
|
+
readonly type: "uint128";
|
|
43
|
+
}];
|
|
44
|
+
readonly stateMutability: "view";
|
|
45
|
+
}, {
|
|
46
|
+
readonly type: "function";
|
|
47
|
+
readonly name: "slot0";
|
|
48
|
+
readonly inputs: readonly [];
|
|
49
|
+
readonly outputs: readonly [{
|
|
50
|
+
readonly name: "sqrtPriceX96";
|
|
51
|
+
readonly type: "uint160";
|
|
52
|
+
}, {
|
|
53
|
+
readonly name: "tick";
|
|
54
|
+
readonly type: "int24";
|
|
55
|
+
}, {
|
|
56
|
+
readonly name: "observationIndex";
|
|
57
|
+
readonly type: "uint16";
|
|
58
|
+
}, {
|
|
59
|
+
readonly name: "observationCardinality";
|
|
60
|
+
readonly type: "uint16";
|
|
61
|
+
}, {
|
|
62
|
+
readonly name: "observationCardinalityNext";
|
|
63
|
+
readonly type: "uint16";
|
|
64
|
+
}, {
|
|
65
|
+
readonly name: "feeProtocol";
|
|
66
|
+
readonly type: "uint8";
|
|
67
|
+
}, {
|
|
68
|
+
readonly name: "unlocked";
|
|
69
|
+
readonly type: "bool";
|
|
70
|
+
}];
|
|
71
|
+
readonly stateMutability: "view";
|
|
72
|
+
}, {
|
|
73
|
+
readonly type: "function";
|
|
74
|
+
readonly name: "positions";
|
|
75
|
+
readonly inputs: readonly [{
|
|
76
|
+
readonly name: "key";
|
|
77
|
+
readonly type: "bytes32";
|
|
78
|
+
}];
|
|
79
|
+
readonly outputs: readonly [{
|
|
80
|
+
readonly name: "liquidity";
|
|
81
|
+
readonly type: "uint128";
|
|
82
|
+
}, {
|
|
83
|
+
readonly name: "feeGrowthInside0LastX128";
|
|
84
|
+
readonly type: "uint256";
|
|
85
|
+
}, {
|
|
86
|
+
readonly name: "feeGrowthInside1LastX128";
|
|
87
|
+
readonly type: "uint256";
|
|
88
|
+
}, {
|
|
89
|
+
readonly name: "tokensOwed0";
|
|
90
|
+
readonly type: "uint128";
|
|
91
|
+
}, {
|
|
92
|
+
readonly name: "tokensOwed1";
|
|
93
|
+
readonly type: "uint128";
|
|
94
|
+
}];
|
|
95
|
+
readonly stateMutability: "view";
|
|
96
|
+
}, {
|
|
97
|
+
readonly type: "event";
|
|
98
|
+
readonly name: "Swap";
|
|
99
|
+
readonly inputs: readonly [{
|
|
100
|
+
readonly name: "sender";
|
|
101
|
+
readonly type: "address";
|
|
102
|
+
readonly indexed: true;
|
|
103
|
+
}, {
|
|
104
|
+
readonly name: "recipient";
|
|
105
|
+
readonly type: "address";
|
|
106
|
+
readonly indexed: true;
|
|
107
|
+
}, {
|
|
108
|
+
readonly name: "amount0";
|
|
109
|
+
readonly type: "int256";
|
|
110
|
+
readonly indexed: false;
|
|
111
|
+
}, {
|
|
112
|
+
readonly name: "amount1";
|
|
113
|
+
readonly type: "int256";
|
|
114
|
+
readonly indexed: false;
|
|
115
|
+
}, {
|
|
116
|
+
readonly name: "sqrtPriceX96";
|
|
117
|
+
readonly type: "uint160";
|
|
118
|
+
readonly indexed: false;
|
|
119
|
+
}, {
|
|
120
|
+
readonly name: "liquidity";
|
|
121
|
+
readonly type: "uint128";
|
|
122
|
+
readonly indexed: false;
|
|
123
|
+
}, {
|
|
124
|
+
readonly name: "tick";
|
|
125
|
+
readonly type: "int24";
|
|
126
|
+
readonly indexed: false;
|
|
127
|
+
}];
|
|
128
|
+
}];
|
|
129
|
+
/** @deprecated Use LUX_AMM_V3_POOL_ABI instead */
|
|
130
|
+
export declare const UNISWAP_V3_POOL_ABI: readonly [{
|
|
131
|
+
readonly type: "function";
|
|
132
|
+
readonly name: "token0";
|
|
133
|
+
readonly inputs: readonly [];
|
|
134
|
+
readonly outputs: readonly [{
|
|
135
|
+
readonly type: "address";
|
|
136
|
+
}];
|
|
137
|
+
readonly stateMutability: "view";
|
|
138
|
+
}, {
|
|
139
|
+
readonly type: "function";
|
|
140
|
+
readonly name: "token1";
|
|
141
|
+
readonly inputs: readonly [];
|
|
142
|
+
readonly outputs: readonly [{
|
|
143
|
+
readonly type: "address";
|
|
144
|
+
}];
|
|
145
|
+
readonly stateMutability: "view";
|
|
146
|
+
}, {
|
|
147
|
+
readonly type: "function";
|
|
148
|
+
readonly name: "fee";
|
|
149
|
+
readonly inputs: readonly [];
|
|
150
|
+
readonly outputs: readonly [{
|
|
151
|
+
readonly type: "uint24";
|
|
152
|
+
}];
|
|
153
|
+
readonly stateMutability: "view";
|
|
154
|
+
}, {
|
|
155
|
+
readonly type: "function";
|
|
156
|
+
readonly name: "tickSpacing";
|
|
157
|
+
readonly inputs: readonly [];
|
|
158
|
+
readonly outputs: readonly [{
|
|
159
|
+
readonly type: "int24";
|
|
160
|
+
}];
|
|
161
|
+
readonly stateMutability: "view";
|
|
162
|
+
}, {
|
|
163
|
+
readonly type: "function";
|
|
164
|
+
readonly name: "liquidity";
|
|
165
|
+
readonly inputs: readonly [];
|
|
166
|
+
readonly outputs: readonly [{
|
|
167
|
+
readonly type: "uint128";
|
|
168
|
+
}];
|
|
169
|
+
readonly stateMutability: "view";
|
|
170
|
+
}, {
|
|
171
|
+
readonly type: "function";
|
|
172
|
+
readonly name: "slot0";
|
|
173
|
+
readonly inputs: readonly [];
|
|
174
|
+
readonly outputs: readonly [{
|
|
175
|
+
readonly name: "sqrtPriceX96";
|
|
176
|
+
readonly type: "uint160";
|
|
177
|
+
}, {
|
|
178
|
+
readonly name: "tick";
|
|
179
|
+
readonly type: "int24";
|
|
180
|
+
}, {
|
|
181
|
+
readonly name: "observationIndex";
|
|
182
|
+
readonly type: "uint16";
|
|
183
|
+
}, {
|
|
184
|
+
readonly name: "observationCardinality";
|
|
185
|
+
readonly type: "uint16";
|
|
186
|
+
}, {
|
|
187
|
+
readonly name: "observationCardinalityNext";
|
|
188
|
+
readonly type: "uint16";
|
|
189
|
+
}, {
|
|
190
|
+
readonly name: "feeProtocol";
|
|
191
|
+
readonly type: "uint8";
|
|
192
|
+
}, {
|
|
193
|
+
readonly name: "unlocked";
|
|
194
|
+
readonly type: "bool";
|
|
195
|
+
}];
|
|
196
|
+
readonly stateMutability: "view";
|
|
197
|
+
}, {
|
|
198
|
+
readonly type: "function";
|
|
199
|
+
readonly name: "positions";
|
|
200
|
+
readonly inputs: readonly [{
|
|
201
|
+
readonly name: "key";
|
|
202
|
+
readonly type: "bytes32";
|
|
203
|
+
}];
|
|
204
|
+
readonly outputs: readonly [{
|
|
205
|
+
readonly name: "liquidity";
|
|
206
|
+
readonly type: "uint128";
|
|
207
|
+
}, {
|
|
208
|
+
readonly name: "feeGrowthInside0LastX128";
|
|
209
|
+
readonly type: "uint256";
|
|
210
|
+
}, {
|
|
211
|
+
readonly name: "feeGrowthInside1LastX128";
|
|
212
|
+
readonly type: "uint256";
|
|
213
|
+
}, {
|
|
214
|
+
readonly name: "tokensOwed0";
|
|
215
|
+
readonly type: "uint128";
|
|
216
|
+
}, {
|
|
217
|
+
readonly name: "tokensOwed1";
|
|
218
|
+
readonly type: "uint128";
|
|
219
|
+
}];
|
|
220
|
+
readonly stateMutability: "view";
|
|
221
|
+
}, {
|
|
222
|
+
readonly type: "event";
|
|
223
|
+
readonly name: "Swap";
|
|
224
|
+
readonly inputs: readonly [{
|
|
225
|
+
readonly name: "sender";
|
|
226
|
+
readonly type: "address";
|
|
227
|
+
readonly indexed: true;
|
|
228
|
+
}, {
|
|
229
|
+
readonly name: "recipient";
|
|
230
|
+
readonly type: "address";
|
|
231
|
+
readonly indexed: true;
|
|
232
|
+
}, {
|
|
233
|
+
readonly name: "amount0";
|
|
234
|
+
readonly type: "int256";
|
|
235
|
+
readonly indexed: false;
|
|
236
|
+
}, {
|
|
237
|
+
readonly name: "amount1";
|
|
238
|
+
readonly type: "int256";
|
|
239
|
+
readonly indexed: false;
|
|
240
|
+
}, {
|
|
241
|
+
readonly name: "sqrtPriceX96";
|
|
242
|
+
readonly type: "uint160";
|
|
243
|
+
readonly indexed: false;
|
|
244
|
+
}, {
|
|
245
|
+
readonly name: "liquidity";
|
|
246
|
+
readonly type: "uint128";
|
|
247
|
+
readonly indexed: false;
|
|
248
|
+
}, {
|
|
249
|
+
readonly name: "tick";
|
|
250
|
+
readonly type: "int24";
|
|
251
|
+
readonly indexed: false;
|
|
252
|
+
}];
|
|
253
|
+
}];
|
|
254
|
+
//# sourceMappingURL=lux-amm-v3-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lux-amm-v3-pool.d.ts","sourceRoot":"","sources":["../../../src/contracts/abis/lux-amm-v3-pool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6EtB,CAAA;AAEV,kDAAkD;AAClD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsB,CAAA"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lux AMM V3 Pool ABI
|
|
3
|
+
* Compatible with Uniswap V3 Pool interface
|
|
4
|
+
*/
|
|
5
|
+
export const LUX_AMM_V3_POOL_ABI = [
|
|
6
|
+
{
|
|
7
|
+
type: 'function',
|
|
8
|
+
name: 'token0',
|
|
9
|
+
inputs: [],
|
|
10
|
+
outputs: [{ type: 'address' }],
|
|
11
|
+
stateMutability: 'view',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
type: 'function',
|
|
15
|
+
name: 'token1',
|
|
16
|
+
inputs: [],
|
|
17
|
+
outputs: [{ type: 'address' }],
|
|
18
|
+
stateMutability: 'view',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
type: 'function',
|
|
22
|
+
name: 'fee',
|
|
23
|
+
inputs: [],
|
|
24
|
+
outputs: [{ type: 'uint24' }],
|
|
25
|
+
stateMutability: 'view',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'function',
|
|
29
|
+
name: 'tickSpacing',
|
|
30
|
+
inputs: [],
|
|
31
|
+
outputs: [{ type: 'int24' }],
|
|
32
|
+
stateMutability: 'view',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
type: 'function',
|
|
36
|
+
name: 'liquidity',
|
|
37
|
+
inputs: [],
|
|
38
|
+
outputs: [{ type: 'uint128' }],
|
|
39
|
+
stateMutability: 'view',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: 'function',
|
|
43
|
+
name: 'slot0',
|
|
44
|
+
inputs: [],
|
|
45
|
+
outputs: [
|
|
46
|
+
{ name: 'sqrtPriceX96', type: 'uint160' },
|
|
47
|
+
{ name: 'tick', type: 'int24' },
|
|
48
|
+
{ name: 'observationIndex', type: 'uint16' },
|
|
49
|
+
{ name: 'observationCardinality', type: 'uint16' },
|
|
50
|
+
{ name: 'observationCardinalityNext', type: 'uint16' },
|
|
51
|
+
{ name: 'feeProtocol', type: 'uint8' },
|
|
52
|
+
{ name: 'unlocked', type: 'bool' },
|
|
53
|
+
],
|
|
54
|
+
stateMutability: 'view',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
type: 'function',
|
|
58
|
+
name: 'positions',
|
|
59
|
+
inputs: [{ name: 'key', type: 'bytes32' }],
|
|
60
|
+
outputs: [
|
|
61
|
+
{ name: 'liquidity', type: 'uint128' },
|
|
62
|
+
{ name: 'feeGrowthInside0LastX128', type: 'uint256' },
|
|
63
|
+
{ name: 'feeGrowthInside1LastX128', type: 'uint256' },
|
|
64
|
+
{ name: 'tokensOwed0', type: 'uint128' },
|
|
65
|
+
{ name: 'tokensOwed1', type: 'uint128' },
|
|
66
|
+
],
|
|
67
|
+
stateMutability: 'view',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: 'event',
|
|
71
|
+
name: 'Swap',
|
|
72
|
+
inputs: [
|
|
73
|
+
{ name: 'sender', type: 'address', indexed: true },
|
|
74
|
+
{ name: 'recipient', type: 'address', indexed: true },
|
|
75
|
+
{ name: 'amount0', type: 'int256', indexed: false },
|
|
76
|
+
{ name: 'amount1', type: 'int256', indexed: false },
|
|
77
|
+
{ name: 'sqrtPriceX96', type: 'uint160', indexed: false },
|
|
78
|
+
{ name: 'liquidity', type: 'uint128', indexed: false },
|
|
79
|
+
{ name: 'tick', type: 'int24', indexed: false },
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
/** @deprecated Use LUX_AMM_V3_POOL_ABI instead */
|
|
84
|
+
export const UNISWAP_V3_POOL_ABI = LUX_AMM_V3_POOL_ABI;
|
|
@@ -29,6 +29,9 @@ export declare const LUX_TESTNET_CONTRACTS: {
|
|
|
29
29
|
readonly WLUX: Address;
|
|
30
30
|
readonly WETH: Address;
|
|
31
31
|
readonly MULTICALL: Address;
|
|
32
|
+
readonly LETH: Address;
|
|
33
|
+
readonly LBTC: Address;
|
|
34
|
+
readonly LUSD: Address;
|
|
32
35
|
readonly V2_FACTORY: Address;
|
|
33
36
|
readonly V2_ROUTER: Address;
|
|
34
37
|
readonly V3_FACTORY: Address;
|
|
@@ -41,36 +44,37 @@ export declare const LUX_TESTNET_CONTRACTS: {
|
|
|
41
44
|
readonly V3_NFT_DESCRIPTOR: Address;
|
|
42
45
|
};
|
|
43
46
|
/**
|
|
44
|
-
* DEX Precompile addresses (native AMM)
|
|
45
|
-
* These provide sub-microsecond execution
|
|
47
|
+
* DEX Precompile addresses (native AMM - Uniswap v4 style singleton PoolManager)
|
|
48
|
+
* These provide sub-microsecond execution via native Go implementation
|
|
46
49
|
*
|
|
47
|
-
*
|
|
48
|
-
* -
|
|
49
|
-
* -
|
|
50
|
+
* Address format: 0x0000...00LPNUMBER (addresses end with LP number)
|
|
51
|
+
* LP-9010: DEX Precompile - Native HFT Order Book (PoolManager)
|
|
52
|
+
* LP-9011: Oracle Precompile - Multi-Source Price Aggregation
|
|
50
53
|
*
|
|
51
|
-
* @see ~/work/lux/precompile/
|
|
54
|
+
* @see ~/work/lux/precompile/registry/registry.go for the full address scheme
|
|
55
|
+
* @see ~/work/lux/dex/pkg/gateway/lux/provider.go for gateway implementation
|
|
52
56
|
*/
|
|
53
57
|
export declare const DEX_PRECOMPILES: {
|
|
54
58
|
readonly POOL_MANAGER: Address;
|
|
55
59
|
readonly SWAP_ROUTER: Address;
|
|
56
60
|
readonly HOOKS_REGISTRY: Address;
|
|
57
61
|
readonly FLASH_LOAN: Address;
|
|
58
|
-
readonly
|
|
59
|
-
readonly
|
|
62
|
+
readonly ORACLE_HUB: Address;
|
|
63
|
+
readonly CLOB: Address;
|
|
64
|
+
readonly VAULT: Address;
|
|
60
65
|
readonly TELEPORT: Address;
|
|
61
66
|
};
|
|
62
67
|
/**
|
|
63
68
|
* Contract addresses for Lux Dev (1337)
|
|
69
|
+
* Deterministic CREATE addresses from DeployFullStack.s.sol deployed by anvil account 0
|
|
70
|
+
* Account 0: 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
|
|
64
71
|
*/
|
|
65
72
|
export declare const LUX_DEV_CONTRACTS: {
|
|
66
73
|
readonly WLUX: Address;
|
|
67
74
|
readonly MULTICALL: Address;
|
|
68
|
-
readonly
|
|
69
|
-
readonly
|
|
70
|
-
readonly
|
|
71
|
-
readonly USDT: Address;
|
|
72
|
-
readonly DAI: Address;
|
|
73
|
-
readonly AI: Address;
|
|
75
|
+
readonly LETH: Address;
|
|
76
|
+
readonly LBTC: Address;
|
|
77
|
+
readonly LUSD: Address;
|
|
74
78
|
readonly V2_FACTORY: Address;
|
|
75
79
|
readonly V2_ROUTER: Address;
|
|
76
80
|
readonly V3_FACTORY: Address;
|
|
@@ -102,40 +106,6 @@ export declare function getContracts(chainId: number): {
|
|
|
102
106
|
readonly V3_TICK_LENS: Address;
|
|
103
107
|
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
104
108
|
readonly V3_NFT_DESCRIPTOR: Address;
|
|
105
|
-
} | {
|
|
106
|
-
readonly WLUX: Address;
|
|
107
|
-
readonly WETH: Address;
|
|
108
|
-
readonly MULTICALL: Address;
|
|
109
|
-
readonly V2_FACTORY: Address;
|
|
110
|
-
readonly V2_ROUTER: Address;
|
|
111
|
-
readonly V3_FACTORY: Address;
|
|
112
|
-
readonly V3_SWAP_ROUTER: Address;
|
|
113
|
-
readonly V3_SWAP_ROUTER_02: Address;
|
|
114
|
-
readonly V3_QUOTER: Address;
|
|
115
|
-
readonly V3_QUOTER_V2: Address;
|
|
116
|
-
readonly V3_TICK_LENS: Address;
|
|
117
|
-
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
118
|
-
readonly V3_NFT_DESCRIPTOR: Address;
|
|
119
|
-
} | {
|
|
120
|
-
readonly WLUX: Address;
|
|
121
|
-
readonly MULTICALL: Address;
|
|
122
|
-
readonly ETH: Address;
|
|
123
|
-
readonly BTC: Address;
|
|
124
|
-
readonly USDC: Address;
|
|
125
|
-
readonly USDT: Address;
|
|
126
|
-
readonly DAI: Address;
|
|
127
|
-
readonly AI: Address;
|
|
128
|
-
readonly V2_FACTORY: Address;
|
|
129
|
-
readonly V2_ROUTER: Address;
|
|
130
|
-
readonly V3_FACTORY: Address;
|
|
131
|
-
readonly V3_SWAP_ROUTER: Address;
|
|
132
|
-
readonly V3_SWAP_ROUTER_02: Address;
|
|
133
|
-
readonly V3_QUOTER: Address;
|
|
134
|
-
readonly V3_QUOTER_V2: Address;
|
|
135
|
-
readonly V3_TICK_LENS: Address;
|
|
136
|
-
readonly V3_NFT_POSITION_MANAGER: Address;
|
|
137
|
-
readonly V3_NFT_DESCRIPTOR: Address;
|
|
138
|
-
readonly STAKED_LUX: Address;
|
|
139
109
|
};
|
|
140
110
|
export type ContractAddresses = typeof LUX_MAINNET_CONTRACTS;
|
|
141
111
|
//# 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;yBAGD,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;2BACP,OAAO;sCACI,OAAO;gCACb,OAAO;CAClE,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,qBAAqB;mBAEsB,OAAO;mBACP,OAAO;wBACF,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;yBAGD,OAAO;wBACR,OAAO;yBAGN,OAAO;6BACH,OAAO;gCACJ,OAAO;wBACf,OAAO;2BACJ,OAAO;2BACP,OAAO;sCACI,OAAO;gCACb,OAAO;CAClE,CAAA;AAEV;;GAEG;AACH,eAAO,MAAM,qBAAqB;mBAEsB,OAAO;mBACP,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;CAClE,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;mBAnHY,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;EA0G3E;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,qBAAqB,CAAA"}
|