@pendle/core-v2 0.6.6 → 0.6.7
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/build/artifacts/contracts/interfaces/IPendleGauge.sol/IPendleGauge.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPendleGauge.sol/IPendleGauge.json +113 -0
- package/build/artifacts/contracts/interfaces/IVePToken.sol/IVePToken.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IVePToken.sol/IVePToken.json +43 -0
- package/build/artifacts/contracts/interfaces/IVotingEscrowController.sol/VotingEscrowController.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IVotingEscrowController.sol/VotingEscrowController.json +61 -0
- package/build/artifacts/contracts/interfaces/IVotingEscrowPendle.sol/IVotingEscrowPendle.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IVotingEscrowPendle.sol/IVotingEscrowPendle.json +167 -0
- package/contracts/interfaces/IPendleGauge.sol +32 -0
- package/contracts/interfaces/IVePToken.sol +14 -0
- package/contracts/interfaces/IVotingEscrowController.sol +14 -0
- package/contracts/interfaces/IVotingEscrowPendle.sol +32 -0
- package/package.json +1 -1
- package/typechain-types/IPendleGauge.ts +241 -0
- package/typechain-types/IVePToken.ts +103 -0
- package/typechain-types/IVotingEscrowPendle.ts +297 -0
- package/typechain-types/VotingEscrowController.ts +154 -0
- package/typechain-types/factories/IPendleGauge__factory.ts +125 -0
- package/typechain-types/factories/IVePToken__factory.ts +55 -0
- package/typechain-types/factories/IVotingEscrowPendle__factory.ts +182 -0
- package/typechain-types/factories/VotingEscrowController__factory.ts +80 -0
- package/typechain-types/hardhat.d.ts +36 -0
- package/typechain-types/index.ts +8 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "IPendleGauge",
|
|
4
|
+
"sourceName": "contracts/interfaces/IPendleGauge.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"name": "readGlobalInfo",
|
|
9
|
+
"outputs": [
|
|
10
|
+
{
|
|
11
|
+
"internalType": "uint256",
|
|
12
|
+
"name": "totalLpStaked",
|
|
13
|
+
"type": "uint256"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"internalType": "uint256",
|
|
17
|
+
"name": "totalActiveLp",
|
|
18
|
+
"type": "uint256"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"internalType": "uint256",
|
|
22
|
+
"name": "pendlePerSec",
|
|
23
|
+
"type": "uint256"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"stateMutability": "nonpayable",
|
|
27
|
+
"type": "function"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"inputs": [
|
|
31
|
+
{
|
|
32
|
+
"internalType": "address",
|
|
33
|
+
"name": "user",
|
|
34
|
+
"type": "address"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"name": "readUserInfo",
|
|
38
|
+
"outputs": [
|
|
39
|
+
{
|
|
40
|
+
"internalType": "uint256",
|
|
41
|
+
"name": "lpStaked",
|
|
42
|
+
"type": "uint256"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"internalType": "uint256",
|
|
46
|
+
"name": "activeLpAmount",
|
|
47
|
+
"type": "uint256"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"internalType": "uint256",
|
|
51
|
+
"name": "accruedReward",
|
|
52
|
+
"type": "uint256"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"stateMutability": "nonpayable",
|
|
56
|
+
"type": "function"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"inputs": [
|
|
60
|
+
{
|
|
61
|
+
"internalType": "address",
|
|
62
|
+
"name": "receiver",
|
|
63
|
+
"type": "address"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"name": "redeemReward",
|
|
67
|
+
"outputs": [
|
|
68
|
+
{
|
|
69
|
+
"internalType": "uint256",
|
|
70
|
+
"name": "redeemedReward",
|
|
71
|
+
"type": "uint256"
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"stateMutability": "nonpayable",
|
|
75
|
+
"type": "function"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"inputs": [
|
|
79
|
+
{
|
|
80
|
+
"internalType": "address",
|
|
81
|
+
"name": "receiver",
|
|
82
|
+
"type": "address"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"name": "stake",
|
|
86
|
+
"outputs": [],
|
|
87
|
+
"stateMutability": "nonpayable",
|
|
88
|
+
"type": "function"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"inputs": [
|
|
92
|
+
{
|
|
93
|
+
"internalType": "address",
|
|
94
|
+
"name": "receiver",
|
|
95
|
+
"type": "address"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"internalType": "uint256",
|
|
99
|
+
"name": "amount",
|
|
100
|
+
"type": "uint256"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"name": "withdraw",
|
|
104
|
+
"outputs": [],
|
|
105
|
+
"stateMutability": "nonpayable",
|
|
106
|
+
"type": "function"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"bytecode": "0x",
|
|
110
|
+
"deployedBytecode": "0x",
|
|
111
|
+
"linkReferences": {},
|
|
112
|
+
"deployedLinkReferences": {}
|
|
113
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "IVePToken",
|
|
4
|
+
"sourceName": "contracts/interfaces/IVePToken.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "user",
|
|
11
|
+
"type": "address"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"name": "balanceOf",
|
|
15
|
+
"outputs": [
|
|
16
|
+
{
|
|
17
|
+
"internalType": "uint256",
|
|
18
|
+
"name": "",
|
|
19
|
+
"type": "uint256"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"stateMutability": "view",
|
|
23
|
+
"type": "function"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"inputs": [],
|
|
27
|
+
"name": "totalSupply",
|
|
28
|
+
"outputs": [
|
|
29
|
+
{
|
|
30
|
+
"internalType": "uint256",
|
|
31
|
+
"name": "",
|
|
32
|
+
"type": "uint256"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"stateMutability": "view",
|
|
36
|
+
"type": "function"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"bytecode": "0x",
|
|
40
|
+
"deployedBytecode": "0x",
|
|
41
|
+
"linkReferences": {},
|
|
42
|
+
"deployedLinkReferences": {}
|
|
43
|
+
}
|
package/build/artifacts/contracts/interfaces/IVotingEscrowController.sol/VotingEscrowController.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "VotingEscrowController",
|
|
4
|
+
"sourceName": "contracts/interfaces/IVotingEscrowController.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"name": "pendlePerSec",
|
|
9
|
+
"outputs": [
|
|
10
|
+
{
|
|
11
|
+
"internalType": "uint256",
|
|
12
|
+
"name": "",
|
|
13
|
+
"type": "uint256"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"stateMutability": "nonpayable",
|
|
17
|
+
"type": "function"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"inputs": [
|
|
21
|
+
{
|
|
22
|
+
"internalType": "address",
|
|
23
|
+
"name": "pool",
|
|
24
|
+
"type": "address"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"name": "readPoolRewardInfo",
|
|
28
|
+
"outputs": [
|
|
29
|
+
{
|
|
30
|
+
"internalType": "uint256",
|
|
31
|
+
"name": "vote",
|
|
32
|
+
"type": "uint256"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"internalType": "uint256",
|
|
36
|
+
"name": "pendleSpeed",
|
|
37
|
+
"type": "uint256"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"stateMutability": "nonpayable",
|
|
41
|
+
"type": "function"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"inputs": [],
|
|
45
|
+
"name": "totalVote",
|
|
46
|
+
"outputs": [
|
|
47
|
+
{
|
|
48
|
+
"internalType": "uint256",
|
|
49
|
+
"name": "",
|
|
50
|
+
"type": "uint256"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"stateMutability": "nonpayable",
|
|
54
|
+
"type": "function"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"bytecode": "0x",
|
|
58
|
+
"deployedBytecode": "0x",
|
|
59
|
+
"linkReferences": {},
|
|
60
|
+
"deployedLinkReferences": {}
|
|
61
|
+
}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "IVotingEscrowPendle",
|
|
4
|
+
"sourceName": "contracts/interfaces/IVotingEscrowPendle.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "user",
|
|
11
|
+
"type": "address"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"name": "balanceOf",
|
|
15
|
+
"outputs": [
|
|
16
|
+
{
|
|
17
|
+
"internalType": "uint256",
|
|
18
|
+
"name": "",
|
|
19
|
+
"type": "uint256"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"stateMutability": "view",
|
|
23
|
+
"type": "function"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"inputs": [
|
|
27
|
+
{
|
|
28
|
+
"internalType": "address",
|
|
29
|
+
"name": "receiver",
|
|
30
|
+
"type": "address"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"name": "increaseLockAmount",
|
|
34
|
+
"outputs": [
|
|
35
|
+
{
|
|
36
|
+
"internalType": "uint256",
|
|
37
|
+
"name": "",
|
|
38
|
+
"type": "uint256"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"stateMutability": "nonpayable",
|
|
42
|
+
"type": "function"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"inputs": [
|
|
46
|
+
{
|
|
47
|
+
"internalType": "uint256",
|
|
48
|
+
"name": "duration",
|
|
49
|
+
"type": "uint256"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"name": "increaseLockDuration",
|
|
53
|
+
"outputs": [
|
|
54
|
+
{
|
|
55
|
+
"internalType": "uint256",
|
|
56
|
+
"name": "",
|
|
57
|
+
"type": "uint256"
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"stateMutability": "nonpayable",
|
|
61
|
+
"type": "function"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"inputs": [
|
|
65
|
+
{
|
|
66
|
+
"internalType": "uint256",
|
|
67
|
+
"name": "expiry",
|
|
68
|
+
"type": "uint256"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"name": "lock",
|
|
72
|
+
"outputs": [
|
|
73
|
+
{
|
|
74
|
+
"internalType": "uint256",
|
|
75
|
+
"name": "",
|
|
76
|
+
"type": "uint256"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"stateMutability": "nonpayable",
|
|
80
|
+
"type": "function"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"inputs": [
|
|
84
|
+
{
|
|
85
|
+
"internalType": "address",
|
|
86
|
+
"name": "user",
|
|
87
|
+
"type": "address"
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"name": "readUserInfo",
|
|
91
|
+
"outputs": [
|
|
92
|
+
{
|
|
93
|
+
"internalType": "uint256",
|
|
94
|
+
"name": "lockedAmount",
|
|
95
|
+
"type": "uint256"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"internalType": "uint256",
|
|
99
|
+
"name": "expiry",
|
|
100
|
+
"type": "uint256"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"stateMutability": "view",
|
|
104
|
+
"type": "function"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"inputs": [],
|
|
108
|
+
"name": "totalSupply",
|
|
109
|
+
"outputs": [
|
|
110
|
+
{
|
|
111
|
+
"internalType": "uint256",
|
|
112
|
+
"name": "",
|
|
113
|
+
"type": "uint256"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"stateMutability": "view",
|
|
117
|
+
"type": "function"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"inputs": [
|
|
121
|
+
{
|
|
122
|
+
"internalType": "address",
|
|
123
|
+
"name": "gauge",
|
|
124
|
+
"type": "address"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"internalType": "uint256",
|
|
128
|
+
"name": "weight",
|
|
129
|
+
"type": "uint256"
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
"name": "vote",
|
|
133
|
+
"outputs": [
|
|
134
|
+
{
|
|
135
|
+
"internalType": "uint256",
|
|
136
|
+
"name": "amount",
|
|
137
|
+
"type": "uint256"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"stateMutability": "nonpayable",
|
|
141
|
+
"type": "function"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"inputs": [
|
|
145
|
+
{
|
|
146
|
+
"internalType": "address",
|
|
147
|
+
"name": "user",
|
|
148
|
+
"type": "address"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"name": "withdraw",
|
|
152
|
+
"outputs": [
|
|
153
|
+
{
|
|
154
|
+
"internalType": "uint256",
|
|
155
|
+
"name": "",
|
|
156
|
+
"type": "uint256"
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
"stateMutability": "nonpayable",
|
|
160
|
+
"type": "function"
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"bytecode": "0x",
|
|
164
|
+
"deployedBytecode": "0x",
|
|
165
|
+
"linkReferences": {},
|
|
166
|
+
"deployedLinkReferences": {}
|
|
167
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
pragma solidity 0.8.9;
|
|
2
|
+
pragma abicoder v2;
|
|
3
|
+
|
|
4
|
+
interface IPendleGauge {
|
|
5
|
+
// ============= ACTIONS =============
|
|
6
|
+
|
|
7
|
+
function stake(address receiver) external;
|
|
8
|
+
|
|
9
|
+
function withdraw(address receiver, uint256 amount) external;
|
|
10
|
+
|
|
11
|
+
function redeemReward(address receiver) external returns (uint256 redeemedReward);
|
|
12
|
+
|
|
13
|
+
// ============= USER INFO =============
|
|
14
|
+
|
|
15
|
+
function readUserInfo(address user)
|
|
16
|
+
external
|
|
17
|
+
returns (
|
|
18
|
+
uint256 lpStaked,
|
|
19
|
+
uint256 activeLpAmount,
|
|
20
|
+
uint256 accruedReward
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
// ============= META DATA =============
|
|
24
|
+
|
|
25
|
+
function readGlobalInfo()
|
|
26
|
+
external
|
|
27
|
+
returns (
|
|
28
|
+
uint256 totalLpStaked,
|
|
29
|
+
uint256 totalActiveLp,
|
|
30
|
+
uint256 pendlePerSec
|
|
31
|
+
);
|
|
32
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
pragma solidity 0.8.9;
|
|
4
|
+
pragma abicoder v2;
|
|
5
|
+
|
|
6
|
+
interface IVePToken {
|
|
7
|
+
// ============= USER INFO =============
|
|
8
|
+
|
|
9
|
+
function balanceOf(address user) external view returns (uint256);
|
|
10
|
+
|
|
11
|
+
// ============= META DATA =============
|
|
12
|
+
|
|
13
|
+
function totalSupply() external view returns (uint256);
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
pragma solidity 0.8.9;
|
|
2
|
+
pragma abicoder v2;
|
|
3
|
+
|
|
4
|
+
interface VotingEscrowController {
|
|
5
|
+
function pendlePerSec() external returns (uint256);
|
|
6
|
+
|
|
7
|
+
function totalVote() external returns (uint256);
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @return vote :Amount of vePendle voted for pool
|
|
11
|
+
* @return pendleSpeed :Amount of Pendle incentivized for pool per second
|
|
12
|
+
*/
|
|
13
|
+
function readPoolRewardInfo(address pool) external returns (uint256 vote, uint256 pendleSpeed);
|
|
14
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
pragma solidity 0.8.9;
|
|
2
|
+
pragma abicoder v2;
|
|
3
|
+
|
|
4
|
+
import "./IVePToken.sol";
|
|
5
|
+
|
|
6
|
+
interface IVotingEscrowPendle is IVePToken {
|
|
7
|
+
// ============= ACTIONS =============
|
|
8
|
+
|
|
9
|
+
function lock(uint256 expiry) external returns (uint256);
|
|
10
|
+
|
|
11
|
+
function increaseLockAmount(address receiver) external returns (uint256);
|
|
12
|
+
|
|
13
|
+
function increaseLockDuration(uint256 duration) external returns (uint256);
|
|
14
|
+
|
|
15
|
+
function withdraw(address user) external returns (uint256);
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @return amount :amount of vePendle voted for pool
|
|
19
|
+
*/
|
|
20
|
+
function vote(address gauge, uint256 weight) external returns (uint256 amount);
|
|
21
|
+
|
|
22
|
+
// ============= USER INFO =============
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @return lockedAmount :amount of PENDLE user locked
|
|
26
|
+
* @return expiry :expiry of users' locked PENDLE
|
|
27
|
+
*/
|
|
28
|
+
function readUserInfo(address user)
|
|
29
|
+
external
|
|
30
|
+
view
|
|
31
|
+
returns (uint256 lockedAmount, uint256 expiry);
|
|
32
|
+
}
|