Skip to content

Commit 524390f

Browse files
authored
Merge pull request #687 from VenusProtocol/vip/vpd-816
[VPD-816]: VIP for Oracle Configuration Update — Core Pool (BNB Chain)
2 parents ade9eb0 + 2df982d commit 524390f

7 files changed

Lines changed: 1970 additions & 0 deletions

File tree

Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
[
2+
{
3+
"inputs": [
4+
{
5+
"components": [
6+
{ "internalType": "address", "name": "market", "type": "address" },
7+
{ "internalType": "address", "name": "ptOracle", "type": "address" },
8+
{ "internalType": "enum PendleOracle.RateKind", "name": "rateKind", "type": "uint8" },
9+
{ "internalType": "address", "name": "ptToken", "type": "address" },
10+
{ "internalType": "address", "name": "underlyingToken", "type": "address" },
11+
{ "internalType": "address", "name": "resilientOracle", "type": "address" },
12+
{ "internalType": "uint32", "name": "twapDuration", "type": "uint32" },
13+
{ "internalType": "uint256", "name": "annualGrowthRate", "type": "uint256" },
14+
{ "internalType": "uint256", "name": "snapshotInterval", "type": "uint256" },
15+
{ "internalType": "uint256", "name": "initialSnapshotMaxExchangeRate", "type": "uint256" },
16+
{ "internalType": "uint256", "name": "initialSnapshotTimestamp", "type": "uint256" },
17+
{ "internalType": "address", "name": "accessControlManager", "type": "address" },
18+
{ "internalType": "uint256", "name": "snapshotGap", "type": "uint256" }
19+
],
20+
"internalType": "struct PendleOracle.ConstructorParams",
21+
"name": "params",
22+
"type": "tuple"
23+
}
24+
],
25+
"stateMutability": "nonpayable",
26+
"type": "constructor"
27+
},
28+
{ "inputs": [], "name": "InvalidDuration", "type": "error" },
29+
{ "inputs": [], "name": "InvalidGrowthRate", "type": "error" },
30+
{ "inputs": [], "name": "InvalidInitialSnapshot", "type": "error" },
31+
{ "inputs": [], "name": "InvalidSnapshotMaxExchangeRate", "type": "error" },
32+
{ "inputs": [], "name": "InvalidTokenAddress", "type": "error" },
33+
{
34+
"inputs": [
35+
{ "internalType": "address", "name": "sender", "type": "address" },
36+
{ "internalType": "address", "name": "calledContract", "type": "address" },
37+
{ "internalType": "string", "name": "methodSignature", "type": "string" }
38+
],
39+
"name": "Unauthorized",
40+
"type": "error"
41+
},
42+
{ "inputs": [], "name": "ZeroAddressNotAllowed", "type": "error" },
43+
{ "inputs": [], "name": "ZeroValueNotAllowed", "type": "error" },
44+
{
45+
"anonymous": false,
46+
"inputs": [
47+
{ "indexed": true, "internalType": "uint256", "name": "oldGrowthRatePerSecond", "type": "uint256" },
48+
{ "indexed": true, "internalType": "uint256", "name": "newGrowthRatePerSecond", "type": "uint256" },
49+
{ "indexed": true, "internalType": "uint256", "name": "oldSnapshotInterval", "type": "uint256" },
50+
{ "indexed": false, "internalType": "uint256", "name": "newSnapshotInterval", "type": "uint256" }
51+
],
52+
"name": "GrowthRateUpdated",
53+
"type": "event"
54+
},
55+
{
56+
"anonymous": false,
57+
"inputs": [
58+
{ "indexed": true, "internalType": "uint256", "name": "oldSnapshotGap", "type": "uint256" },
59+
{ "indexed": true, "internalType": "uint256", "name": "newSnapshotGap", "type": "uint256" }
60+
],
61+
"name": "SnapshotGapUpdated",
62+
"type": "event"
63+
},
64+
{
65+
"anonymous": false,
66+
"inputs": [
67+
{ "indexed": true, "internalType": "uint256", "name": "maxExchangeRate", "type": "uint256" },
68+
{ "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" }
69+
],
70+
"name": "SnapshotUpdated",
71+
"type": "event"
72+
},
73+
{
74+
"inputs": [],
75+
"name": "ACCESS_CONTROL_MANAGER",
76+
"outputs": [{ "internalType": "contract IAccessControlManagerV8", "name": "", "type": "address" }],
77+
"stateMutability": "view",
78+
"type": "function"
79+
},
80+
{
81+
"inputs": [],
82+
"name": "CORRELATED_TOKEN",
83+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
84+
"stateMutability": "view",
85+
"type": "function"
86+
},
87+
{
88+
"inputs": [],
89+
"name": "MARKET",
90+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
91+
"stateMutability": "view",
92+
"type": "function"
93+
},
94+
{
95+
"inputs": [],
96+
"name": "PT_ORACLE",
97+
"outputs": [{ "internalType": "contract IPendlePtOracle", "name": "", "type": "address" }],
98+
"stateMutability": "view",
99+
"type": "function"
100+
},
101+
{
102+
"inputs": [],
103+
"name": "RATE_KIND",
104+
"outputs": [{ "internalType": "enum PendleOracle.RateKind", "name": "", "type": "uint8" }],
105+
"stateMutability": "view",
106+
"type": "function"
107+
},
108+
{
109+
"inputs": [],
110+
"name": "RESILIENT_ORACLE",
111+
"outputs": [{ "internalType": "contract ResilientOracleInterface", "name": "", "type": "address" }],
112+
"stateMutability": "view",
113+
"type": "function"
114+
},
115+
{
116+
"inputs": [],
117+
"name": "TWAP_DURATION",
118+
"outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }],
119+
"stateMutability": "view",
120+
"type": "function"
121+
},
122+
{
123+
"inputs": [],
124+
"name": "UNDERLYING_DECIMALS",
125+
"outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }],
126+
"stateMutability": "view",
127+
"type": "function"
128+
},
129+
{
130+
"inputs": [],
131+
"name": "UNDERLYING_TOKEN",
132+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
133+
"stateMutability": "view",
134+
"type": "function"
135+
},
136+
{
137+
"inputs": [],
138+
"name": "getMaxAllowedExchangeRate",
139+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
140+
"stateMutability": "view",
141+
"type": "function"
142+
},
143+
{
144+
"inputs": [{ "internalType": "address", "name": "asset", "type": "address" }],
145+
"name": "getPrice",
146+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
147+
"stateMutability": "view",
148+
"type": "function"
149+
},
150+
{
151+
"inputs": [],
152+
"name": "getUnderlyingAmount",
153+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
154+
"stateMutability": "view",
155+
"type": "function"
156+
},
157+
{
158+
"inputs": [],
159+
"name": "growthRatePerSecond",
160+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
161+
"stateMutability": "view",
162+
"type": "function"
163+
},
164+
{
165+
"inputs": [],
166+
"name": "isCapped",
167+
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
168+
"stateMutability": "view",
169+
"type": "function"
170+
},
171+
{
172+
"inputs": [
173+
{ "internalType": "uint256", "name": "_annualGrowthRate", "type": "uint256" },
174+
{ "internalType": "uint256", "name": "_snapshotInterval", "type": "uint256" }
175+
],
176+
"name": "setGrowthRate",
177+
"outputs": [],
178+
"stateMutability": "nonpayable",
179+
"type": "function"
180+
},
181+
{
182+
"inputs": [
183+
{ "internalType": "uint256", "name": "_snapshotMaxExchangeRate", "type": "uint256" },
184+
{ "internalType": "uint256", "name": "_snapshotTimestamp", "type": "uint256" }
185+
],
186+
"name": "setSnapshot",
187+
"outputs": [],
188+
"stateMutability": "nonpayable",
189+
"type": "function"
190+
},
191+
{
192+
"inputs": [{ "internalType": "uint256", "name": "_snapshotGap", "type": "uint256" }],
193+
"name": "setSnapshotGap",
194+
"outputs": [],
195+
"stateMutability": "nonpayable",
196+
"type": "function"
197+
},
198+
{
199+
"inputs": [],
200+
"name": "snapshotGap",
201+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
202+
"stateMutability": "view",
203+
"type": "function"
204+
},
205+
{
206+
"inputs": [],
207+
"name": "snapshotInterval",
208+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
209+
"stateMutability": "view",
210+
"type": "function"
211+
},
212+
{
213+
"inputs": [],
214+
"name": "snapshotMaxExchangeRate",
215+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
216+
"stateMutability": "view",
217+
"type": "function"
218+
},
219+
{
220+
"inputs": [],
221+
"name": "snapshotTimestamp",
222+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
223+
"stateMutability": "view",
224+
"type": "function"
225+
},
226+
{ "inputs": [], "name": "updateSnapshot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }
227+
]

0 commit comments

Comments
 (0)