@swapkit/core 1.0.0-rc.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 (35) hide show
  1. package/LICENSE +201 -0
  2. package/dist/index-9e36735e.cjs +1 -0
  3. package/dist/index-cf1865cd.js +649 -0
  4. package/dist/index.cjs +2 -0
  5. package/dist/index.d.ts +214 -0
  6. package/dist/index.es-320ea117.js +13836 -0
  7. package/dist/index.es-66e7d15a.js +11436 -0
  8. package/dist/index.es-8503fb04-8503fb04.js +34669 -0
  9. package/dist/index.es-8503fb04-903b9173.cjs +1 -0
  10. package/dist/index.es-c82b553a.cjs +14 -0
  11. package/dist/index.es-e22f22e9.cjs +1 -0
  12. package/dist/index.es.js +3743 -0
  13. package/package.json +57 -0
  14. package/src/aggregator/contracts/avaxGeneric.ts +92 -0
  15. package/src/aggregator/contracts/avaxWoofi.ts +145 -0
  16. package/src/aggregator/contracts/bscGeneric.ts +106 -0
  17. package/src/aggregator/contracts/ethGeneric.ts +92 -0
  18. package/src/aggregator/contracts/index.ts +74 -0
  19. package/src/aggregator/contracts/pancakeV2.ts +145 -0
  20. package/src/aggregator/contracts/pangolin.ts +120 -0
  21. package/src/aggregator/contracts/sushiswap.ts +120 -0
  22. package/src/aggregator/contracts/traderJoe.ts +120 -0
  23. package/src/aggregator/contracts/uniswapV2.ts +120 -0
  24. package/src/aggregator/contracts/uniswapV2Leg.ts +128 -0
  25. package/src/aggregator/contracts/uniswapV3_100.ts +128 -0
  26. package/src/aggregator/contracts/uniswapV3_10000.ts +128 -0
  27. package/src/aggregator/contracts/uniswapV3_3000.ts +128 -0
  28. package/src/aggregator/contracts/uniswapV3_500.ts +128 -0
  29. package/src/aggregator/getSwapParams.ts +70 -0
  30. package/src/client/__tests__/helpers.test.ts +69 -0
  31. package/src/client/explorerUrls.ts +60 -0
  32. package/src/client/index.ts +690 -0
  33. package/src/client/thornode.ts +31 -0
  34. package/src/client/types.ts +101 -0
  35. package/src/index.ts +4 -0
@@ -0,0 +1,128 @@
1
+ export const uniswapV2Leg = [
2
+ {
3
+ inputs: [
4
+ { internalType: 'address', name: '_ttp', type: 'address' },
5
+ { internalType: 'address', name: '_weth', type: 'address' },
6
+ { internalType: 'address', name: '_swapRouter', type: 'address' },
7
+ { internalType: 'address', name: '_legToken', type: 'address' },
8
+ ],
9
+ stateMutability: 'nonpayable',
10
+ type: 'constructor',
11
+ },
12
+ {
13
+ anonymous: false,
14
+ inputs: [
15
+ { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },
16
+ { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },
17
+ ],
18
+ name: 'FeeSet',
19
+ type: 'event',
20
+ },
21
+ {
22
+ anonymous: false,
23
+ inputs: [
24
+ { indexed: true, internalType: 'address', name: 'owner', type: 'address' },
25
+ { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },
26
+ ],
27
+ name: 'OwnerSet',
28
+ type: 'event',
29
+ },
30
+ {
31
+ inputs: [],
32
+ name: 'fee',
33
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
34
+ stateMutability: 'view',
35
+ type: 'function',
36
+ },
37
+ {
38
+ inputs: [],
39
+ name: 'feeRecipient',
40
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
41
+ stateMutability: 'view',
42
+ type: 'function',
43
+ },
44
+ {
45
+ inputs: [],
46
+ name: 'legToken',
47
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
48
+ stateMutability: 'view',
49
+ type: 'function',
50
+ },
51
+ {
52
+ inputs: [{ internalType: 'address', name: '', type: 'address' }],
53
+ name: 'owners',
54
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
55
+ stateMutability: 'view',
56
+ type: 'function',
57
+ },
58
+ {
59
+ inputs: [
60
+ { internalType: 'uint256', name: '_fee', type: 'uint256' },
61
+ { internalType: 'address', name: '_feeRecipient', type: 'address' },
62
+ ],
63
+ name: 'setFee',
64
+ outputs: [],
65
+ stateMutability: 'nonpayable',
66
+ type: 'function',
67
+ },
68
+ {
69
+ inputs: [
70
+ { internalType: 'address', name: 'owner', type: 'address' },
71
+ { internalType: 'bool', name: 'active', type: 'bool' },
72
+ ],
73
+ name: 'setOwner',
74
+ outputs: [],
75
+ stateMutability: 'nonpayable',
76
+ type: 'function',
77
+ },
78
+ {
79
+ inputs: [
80
+ { internalType: 'address', name: 'tcRouter', type: 'address' },
81
+ { internalType: 'address', name: 'tcVault', type: 'address' },
82
+ { internalType: 'string', name: 'tcMemo', type: 'string' },
83
+ { internalType: 'address', name: 'token', type: 'address' },
84
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
85
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
86
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
87
+ ],
88
+ name: 'swapIn',
89
+ outputs: [],
90
+ stateMutability: 'nonpayable',
91
+ type: 'function',
92
+ },
93
+ {
94
+ inputs: [
95
+ { internalType: 'address', name: 'token', type: 'address' },
96
+ { internalType: 'address', name: 'to', type: 'address' },
97
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
98
+ ],
99
+ name: 'swapOut',
100
+ outputs: [],
101
+ stateMutability: 'payable',
102
+ type: 'function',
103
+ },
104
+ {
105
+ inputs: [],
106
+ name: 'swapRouter',
107
+ outputs: [{ internalType: 'contract IUniswapRouterV2', name: '', type: 'address' }],
108
+ stateMutability: 'view',
109
+ type: 'function',
110
+ },
111
+ {
112
+ inputs: [],
113
+ name: 'tokenTransferProxy',
114
+ outputs: [
115
+ { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },
116
+ ],
117
+ stateMutability: 'view',
118
+ type: 'function',
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: 'weth',
123
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
124
+ stateMutability: 'view',
125
+ type: 'function',
126
+ },
127
+ { stateMutability: 'payable', type: 'receive' },
128
+ ];
@@ -0,0 +1,128 @@
1
+ export const uniswapV3_100 = [
2
+ {
3
+ inputs: [
4
+ { internalType: 'address', name: '_ttp', type: 'address' },
5
+ { internalType: 'address', name: '_weth', type: 'address' },
6
+ { internalType: 'address', name: '_swapRouter', type: 'address' },
7
+ { internalType: 'uint24', name: '_poolFee', type: 'uint24' },
8
+ ],
9
+ stateMutability: 'nonpayable',
10
+ type: 'constructor',
11
+ },
12
+ {
13
+ anonymous: false,
14
+ inputs: [
15
+ { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },
16
+ { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },
17
+ ],
18
+ name: 'FeeSet',
19
+ type: 'event',
20
+ },
21
+ {
22
+ anonymous: false,
23
+ inputs: [
24
+ { indexed: true, internalType: 'address', name: 'owner', type: 'address' },
25
+ { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },
26
+ ],
27
+ name: 'OwnerSet',
28
+ type: 'event',
29
+ },
30
+ {
31
+ inputs: [],
32
+ name: 'fee',
33
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
34
+ stateMutability: 'view',
35
+ type: 'function',
36
+ },
37
+ {
38
+ inputs: [],
39
+ name: 'feeRecipient',
40
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
41
+ stateMutability: 'view',
42
+ type: 'function',
43
+ },
44
+ {
45
+ inputs: [{ internalType: 'address', name: '', type: 'address' }],
46
+ name: 'owners',
47
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
48
+ stateMutability: 'view',
49
+ type: 'function',
50
+ },
51
+ {
52
+ inputs: [],
53
+ name: 'poolFee',
54
+ outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],
55
+ stateMutability: 'view',
56
+ type: 'function',
57
+ },
58
+ {
59
+ inputs: [
60
+ { internalType: 'uint256', name: '_fee', type: 'uint256' },
61
+ { internalType: 'address', name: '_feeRecipient', type: 'address' },
62
+ ],
63
+ name: 'setFee',
64
+ outputs: [],
65
+ stateMutability: 'nonpayable',
66
+ type: 'function',
67
+ },
68
+ {
69
+ inputs: [
70
+ { internalType: 'address', name: 'owner', type: 'address' },
71
+ { internalType: 'bool', name: 'active', type: 'bool' },
72
+ ],
73
+ name: 'setOwner',
74
+ outputs: [],
75
+ stateMutability: 'nonpayable',
76
+ type: 'function',
77
+ },
78
+ {
79
+ inputs: [
80
+ { internalType: 'address', name: 'tcRouter', type: 'address' },
81
+ { internalType: 'address', name: 'tcVault', type: 'address' },
82
+ { internalType: 'string', name: 'tcMemo', type: 'string' },
83
+ { internalType: 'address', name: 'token', type: 'address' },
84
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
85
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
86
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
87
+ ],
88
+ name: 'swapIn',
89
+ outputs: [],
90
+ stateMutability: 'nonpayable',
91
+ type: 'function',
92
+ },
93
+ {
94
+ inputs: [
95
+ { internalType: 'address', name: 'token', type: 'address' },
96
+ { internalType: 'address', name: 'to', type: 'address' },
97
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
98
+ ],
99
+ name: 'swapOut',
100
+ outputs: [],
101
+ stateMutability: 'payable',
102
+ type: 'function',
103
+ },
104
+ {
105
+ inputs: [],
106
+ name: 'swapRouter',
107
+ outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],
108
+ stateMutability: 'view',
109
+ type: 'function',
110
+ },
111
+ {
112
+ inputs: [],
113
+ name: 'tokenTransferProxy',
114
+ outputs: [
115
+ { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },
116
+ ],
117
+ stateMutability: 'view',
118
+ type: 'function',
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: 'weth',
123
+ outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],
124
+ stateMutability: 'view',
125
+ type: 'function',
126
+ },
127
+ { stateMutability: 'payable', type: 'receive' },
128
+ ];
@@ -0,0 +1,128 @@
1
+ export const uniswapV3_10000 = [
2
+ {
3
+ inputs: [
4
+ { internalType: 'address', name: '_ttp', type: 'address' },
5
+ { internalType: 'address', name: '_weth', type: 'address' },
6
+ { internalType: 'address', name: '_swapRouter', type: 'address' },
7
+ { internalType: 'uint24', name: '_poolFee', type: 'uint24' },
8
+ ],
9
+ stateMutability: 'nonpayable',
10
+ type: 'constructor',
11
+ },
12
+ {
13
+ anonymous: false,
14
+ inputs: [
15
+ { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },
16
+ { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },
17
+ ],
18
+ name: 'FeeSet',
19
+ type: 'event',
20
+ },
21
+ {
22
+ anonymous: false,
23
+ inputs: [
24
+ { indexed: true, internalType: 'address', name: 'owner', type: 'address' },
25
+ { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },
26
+ ],
27
+ name: 'OwnerSet',
28
+ type: 'event',
29
+ },
30
+ {
31
+ inputs: [],
32
+ name: 'fee',
33
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
34
+ stateMutability: 'view',
35
+ type: 'function',
36
+ },
37
+ {
38
+ inputs: [],
39
+ name: 'feeRecipient',
40
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
41
+ stateMutability: 'view',
42
+ type: 'function',
43
+ },
44
+ {
45
+ inputs: [{ internalType: 'address', name: '', type: 'address' }],
46
+ name: 'owners',
47
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
48
+ stateMutability: 'view',
49
+ type: 'function',
50
+ },
51
+ {
52
+ inputs: [],
53
+ name: 'poolFee',
54
+ outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],
55
+ stateMutability: 'view',
56
+ type: 'function',
57
+ },
58
+ {
59
+ inputs: [
60
+ { internalType: 'uint256', name: '_fee', type: 'uint256' },
61
+ { internalType: 'address', name: '_feeRecipient', type: 'address' },
62
+ ],
63
+ name: 'setFee',
64
+ outputs: [],
65
+ stateMutability: 'nonpayable',
66
+ type: 'function',
67
+ },
68
+ {
69
+ inputs: [
70
+ { internalType: 'address', name: 'owner', type: 'address' },
71
+ { internalType: 'bool', name: 'active', type: 'bool' },
72
+ ],
73
+ name: 'setOwner',
74
+ outputs: [],
75
+ stateMutability: 'nonpayable',
76
+ type: 'function',
77
+ },
78
+ {
79
+ inputs: [
80
+ { internalType: 'address', name: 'tcRouter', type: 'address' },
81
+ { internalType: 'address', name: 'tcVault', type: 'address' },
82
+ { internalType: 'string', name: 'tcMemo', type: 'string' },
83
+ { internalType: 'address', name: 'token', type: 'address' },
84
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
85
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
86
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
87
+ ],
88
+ name: 'swapIn',
89
+ outputs: [],
90
+ stateMutability: 'nonpayable',
91
+ type: 'function',
92
+ },
93
+ {
94
+ inputs: [
95
+ { internalType: 'address', name: 'token', type: 'address' },
96
+ { internalType: 'address', name: 'to', type: 'address' },
97
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
98
+ ],
99
+ name: 'swapOut',
100
+ outputs: [],
101
+ stateMutability: 'payable',
102
+ type: 'function',
103
+ },
104
+ {
105
+ inputs: [],
106
+ name: 'swapRouter',
107
+ outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],
108
+ stateMutability: 'view',
109
+ type: 'function',
110
+ },
111
+ {
112
+ inputs: [],
113
+ name: 'tokenTransferProxy',
114
+ outputs: [
115
+ { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },
116
+ ],
117
+ stateMutability: 'view',
118
+ type: 'function',
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: 'weth',
123
+ outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],
124
+ stateMutability: 'view',
125
+ type: 'function',
126
+ },
127
+ { stateMutability: 'payable', type: 'receive' },
128
+ ];
@@ -0,0 +1,128 @@
1
+ export const uniswapV3_3000 = [
2
+ {
3
+ inputs: [
4
+ { internalType: 'address', name: '_ttp', type: 'address' },
5
+ { internalType: 'address', name: '_weth', type: 'address' },
6
+ { internalType: 'address', name: '_swapRouter', type: 'address' },
7
+ { internalType: 'uint24', name: '_poolFee', type: 'uint24' },
8
+ ],
9
+ stateMutability: 'nonpayable',
10
+ type: 'constructor',
11
+ },
12
+ {
13
+ anonymous: false,
14
+ inputs: [
15
+ { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },
16
+ { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },
17
+ ],
18
+ name: 'FeeSet',
19
+ type: 'event',
20
+ },
21
+ {
22
+ anonymous: false,
23
+ inputs: [
24
+ { indexed: true, internalType: 'address', name: 'owner', type: 'address' },
25
+ { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },
26
+ ],
27
+ name: 'OwnerSet',
28
+ type: 'event',
29
+ },
30
+ {
31
+ inputs: [],
32
+ name: 'fee',
33
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
34
+ stateMutability: 'view',
35
+ type: 'function',
36
+ },
37
+ {
38
+ inputs: [],
39
+ name: 'feeRecipient',
40
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
41
+ stateMutability: 'view',
42
+ type: 'function',
43
+ },
44
+ {
45
+ inputs: [{ internalType: 'address', name: '', type: 'address' }],
46
+ name: 'owners',
47
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
48
+ stateMutability: 'view',
49
+ type: 'function',
50
+ },
51
+ {
52
+ inputs: [],
53
+ name: 'poolFee',
54
+ outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],
55
+ stateMutability: 'view',
56
+ type: 'function',
57
+ },
58
+ {
59
+ inputs: [
60
+ { internalType: 'uint256', name: '_fee', type: 'uint256' },
61
+ { internalType: 'address', name: '_feeRecipient', type: 'address' },
62
+ ],
63
+ name: 'setFee',
64
+ outputs: [],
65
+ stateMutability: 'nonpayable',
66
+ type: 'function',
67
+ },
68
+ {
69
+ inputs: [
70
+ { internalType: 'address', name: 'owner', type: 'address' },
71
+ { internalType: 'bool', name: 'active', type: 'bool' },
72
+ ],
73
+ name: 'setOwner',
74
+ outputs: [],
75
+ stateMutability: 'nonpayable',
76
+ type: 'function',
77
+ },
78
+ {
79
+ inputs: [
80
+ { internalType: 'address', name: 'tcRouter', type: 'address' },
81
+ { internalType: 'address', name: 'tcVault', type: 'address' },
82
+ { internalType: 'string', name: 'tcMemo', type: 'string' },
83
+ { internalType: 'address', name: 'token', type: 'address' },
84
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
85
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
86
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
87
+ ],
88
+ name: 'swapIn',
89
+ outputs: [],
90
+ stateMutability: 'nonpayable',
91
+ type: 'function',
92
+ },
93
+ {
94
+ inputs: [
95
+ { internalType: 'address', name: 'token', type: 'address' },
96
+ { internalType: 'address', name: 'to', type: 'address' },
97
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
98
+ ],
99
+ name: 'swapOut',
100
+ outputs: [],
101
+ stateMutability: 'payable',
102
+ type: 'function',
103
+ },
104
+ {
105
+ inputs: [],
106
+ name: 'swapRouter',
107
+ outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],
108
+ stateMutability: 'view',
109
+ type: 'function',
110
+ },
111
+ {
112
+ inputs: [],
113
+ name: 'tokenTransferProxy',
114
+ outputs: [
115
+ { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },
116
+ ],
117
+ stateMutability: 'view',
118
+ type: 'function',
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: 'weth',
123
+ outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],
124
+ stateMutability: 'view',
125
+ type: 'function',
126
+ },
127
+ { stateMutability: 'payable', type: 'receive' },
128
+ ];
@@ -0,0 +1,128 @@
1
+ export const uniswapV3_500 = [
2
+ {
3
+ inputs: [
4
+ { internalType: 'address', name: '_ttp', type: 'address' },
5
+ { internalType: 'address', name: '_weth', type: 'address' },
6
+ { internalType: 'address', name: '_swapRouter', type: 'address' },
7
+ { internalType: 'uint24', name: '_poolFee', type: 'uint24' },
8
+ ],
9
+ stateMutability: 'nonpayable',
10
+ type: 'constructor',
11
+ },
12
+ {
13
+ anonymous: false,
14
+ inputs: [
15
+ { indexed: false, internalType: 'uint256', name: 'fee', type: 'uint256' },
16
+ { indexed: false, internalType: 'address', name: 'feeRecipient', type: 'address' },
17
+ ],
18
+ name: 'FeeSet',
19
+ type: 'event',
20
+ },
21
+ {
22
+ anonymous: false,
23
+ inputs: [
24
+ { indexed: true, internalType: 'address', name: 'owner', type: 'address' },
25
+ { indexed: false, internalType: 'bool', name: 'active', type: 'bool' },
26
+ ],
27
+ name: 'OwnerSet',
28
+ type: 'event',
29
+ },
30
+ {
31
+ inputs: [],
32
+ name: 'fee',
33
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
34
+ stateMutability: 'view',
35
+ type: 'function',
36
+ },
37
+ {
38
+ inputs: [],
39
+ name: 'feeRecipient',
40
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
41
+ stateMutability: 'view',
42
+ type: 'function',
43
+ },
44
+ {
45
+ inputs: [{ internalType: 'address', name: '', type: 'address' }],
46
+ name: 'owners',
47
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
48
+ stateMutability: 'view',
49
+ type: 'function',
50
+ },
51
+ {
52
+ inputs: [],
53
+ name: 'poolFee',
54
+ outputs: [{ internalType: 'uint24', name: '', type: 'uint24' }],
55
+ stateMutability: 'view',
56
+ type: 'function',
57
+ },
58
+ {
59
+ inputs: [
60
+ { internalType: 'uint256', name: '_fee', type: 'uint256' },
61
+ { internalType: 'address', name: '_feeRecipient', type: 'address' },
62
+ ],
63
+ name: 'setFee',
64
+ outputs: [],
65
+ stateMutability: 'nonpayable',
66
+ type: 'function',
67
+ },
68
+ {
69
+ inputs: [
70
+ { internalType: 'address', name: 'owner', type: 'address' },
71
+ { internalType: 'bool', name: 'active', type: 'bool' },
72
+ ],
73
+ name: 'setOwner',
74
+ outputs: [],
75
+ stateMutability: 'nonpayable',
76
+ type: 'function',
77
+ },
78
+ {
79
+ inputs: [
80
+ { internalType: 'address', name: 'tcRouter', type: 'address' },
81
+ { internalType: 'address', name: 'tcVault', type: 'address' },
82
+ { internalType: 'string', name: 'tcMemo', type: 'string' },
83
+ { internalType: 'address', name: 'token', type: 'address' },
84
+ { internalType: 'uint256', name: 'amount', type: 'uint256' },
85
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
86
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
87
+ ],
88
+ name: 'swapIn',
89
+ outputs: [],
90
+ stateMutability: 'nonpayable',
91
+ type: 'function',
92
+ },
93
+ {
94
+ inputs: [
95
+ { internalType: 'address', name: 'token', type: 'address' },
96
+ { internalType: 'address', name: 'to', type: 'address' },
97
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
98
+ ],
99
+ name: 'swapOut',
100
+ outputs: [],
101
+ stateMutability: 'payable',
102
+ type: 'function',
103
+ },
104
+ {
105
+ inputs: [],
106
+ name: 'swapRouter',
107
+ outputs: [{ internalType: 'contract IUniswapRouterV3', name: '', type: 'address' }],
108
+ stateMutability: 'view',
109
+ type: 'function',
110
+ },
111
+ {
112
+ inputs: [],
113
+ name: 'tokenTransferProxy',
114
+ outputs: [
115
+ { internalType: 'contract TSAggregatorTokenTransferProxy', name: '', type: 'address' },
116
+ ],
117
+ stateMutability: 'view',
118
+ type: 'function',
119
+ },
120
+ {
121
+ inputs: [],
122
+ name: 'weth',
123
+ outputs: [{ internalType: 'contract IWETH9', name: '', type: 'address' }],
124
+ stateMutability: 'view',
125
+ type: 'function',
126
+ },
127
+ { stateMutability: 'payable', type: 'receive' },
128
+ ];