Skip to content

Commit 665accc

Browse files
authored
Merge pull request #669 from VenusProtocol/feat/VPD-566
[VPD-566]: RedStone oracle feed expansion for BSC Core Pool
2 parents 1e6100c + 41ef154 commit 665accc

File tree

5 files changed

+1467
-0
lines changed

5 files changed

+1467
-0
lines changed
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
[
2+
{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" },
3+
{
4+
"inputs": [
5+
{ "internalType": "address", "name": "sender", "type": "address" },
6+
{ "internalType": "address", "name": "calledContract", "type": "address" },
7+
{ "internalType": "string", "name": "methodSignature", "type": "string" }
8+
],
9+
"name": "Unauthorized",
10+
"type": "error"
11+
},
12+
{
13+
"anonymous": false,
14+
"inputs": [{ "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" }],
15+
"name": "Initialized",
16+
"type": "event"
17+
},
18+
{
19+
"anonymous": false,
20+
"inputs": [
21+
{ "indexed": false, "internalType": "address", "name": "oldAccessControlManager", "type": "address" },
22+
{ "indexed": false, "internalType": "address", "name": "newAccessControlManager", "type": "address" }
23+
],
24+
"name": "NewAccessControlManager",
25+
"type": "event"
26+
},
27+
{
28+
"anonymous": false,
29+
"inputs": [
30+
{ "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" },
31+
{ "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }
32+
],
33+
"name": "OwnershipTransferStarted",
34+
"type": "event"
35+
},
36+
{
37+
"anonymous": false,
38+
"inputs": [
39+
{ "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" },
40+
{ "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }
41+
],
42+
"name": "OwnershipTransferred",
43+
"type": "event"
44+
},
45+
{
46+
"anonymous": false,
47+
"inputs": [
48+
{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
49+
{ "indexed": true, "internalType": "uint256", "name": "upperBound", "type": "uint256" },
50+
{ "indexed": true, "internalType": "uint256", "name": "lowerBound", "type": "uint256" }
51+
],
52+
"name": "ValidateConfigAdded",
53+
"type": "event"
54+
},
55+
{ "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
56+
{
57+
"inputs": [],
58+
"name": "accessControlManager",
59+
"outputs": [{ "internalType": "contract IAccessControlManagerV8", "name": "", "type": "address" }],
60+
"stateMutability": "view",
61+
"type": "function"
62+
},
63+
{
64+
"inputs": [{ "internalType": "address", "name": "accessControlManager_", "type": "address" }],
65+
"name": "initialize",
66+
"outputs": [],
67+
"stateMutability": "nonpayable",
68+
"type": "function"
69+
},
70+
{
71+
"inputs": [],
72+
"name": "owner",
73+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
74+
"stateMutability": "view",
75+
"type": "function"
76+
},
77+
{
78+
"inputs": [],
79+
"name": "pendingOwner",
80+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
81+
"stateMutability": "view",
82+
"type": "function"
83+
},
84+
{ "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
85+
{
86+
"inputs": [{ "internalType": "address", "name": "accessControlManager_", "type": "address" }],
87+
"name": "setAccessControlManager",
88+
"outputs": [],
89+
"stateMutability": "nonpayable",
90+
"type": "function"
91+
},
92+
{
93+
"inputs": [
94+
{
95+
"components": [
96+
{ "internalType": "address", "name": "asset", "type": "address" },
97+
{ "internalType": "uint256", "name": "upperBoundRatio", "type": "uint256" },
98+
{ "internalType": "uint256", "name": "lowerBoundRatio", "type": "uint256" }
99+
],
100+
"internalType": "struct BoundValidator.ValidateConfig",
101+
"name": "config",
102+
"type": "tuple"
103+
}
104+
],
105+
"name": "setValidateConfig",
106+
"outputs": [],
107+
"stateMutability": "nonpayable",
108+
"type": "function"
109+
},
110+
{
111+
"inputs": [
112+
{
113+
"components": [
114+
{ "internalType": "address", "name": "asset", "type": "address" },
115+
{ "internalType": "uint256", "name": "upperBoundRatio", "type": "uint256" },
116+
{ "internalType": "uint256", "name": "lowerBoundRatio", "type": "uint256" }
117+
],
118+
"internalType": "struct BoundValidator.ValidateConfig[]",
119+
"name": "configs",
120+
"type": "tuple[]"
121+
}
122+
],
123+
"name": "setValidateConfigs",
124+
"outputs": [],
125+
"stateMutability": "nonpayable",
126+
"type": "function"
127+
},
128+
{
129+
"inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }],
130+
"name": "transferOwnership",
131+
"outputs": [],
132+
"stateMutability": "nonpayable",
133+
"type": "function"
134+
},
135+
{
136+
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
137+
"name": "validateConfigs",
138+
"outputs": [
139+
{ "internalType": "address", "name": "asset", "type": "address" },
140+
{ "internalType": "uint256", "name": "upperBoundRatio", "type": "uint256" },
141+
{ "internalType": "uint256", "name": "lowerBoundRatio", "type": "uint256" }
142+
],
143+
"stateMutability": "view",
144+
"type": "function"
145+
},
146+
{
147+
"inputs": [
148+
{ "internalType": "address", "name": "asset", "type": "address" },
149+
{ "internalType": "uint256", "name": "reportedPrice", "type": "uint256" },
150+
{ "internalType": "uint256", "name": "anchorPrice", "type": "uint256" }
151+
],
152+
"name": "validatePriceWithAnchorPrice",
153+
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
154+
"stateMutability": "view",
155+
"type": "function"
156+
}
157+
]
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
[
2+
{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" },
3+
{
4+
"inputs": [
5+
{ "internalType": "address", "name": "sender", "type": "address" },
6+
{ "internalType": "address", "name": "calledContract", "type": "address" },
7+
{ "internalType": "string", "name": "methodSignature", "type": "string" }
8+
],
9+
"name": "Unauthorized",
10+
"type": "error"
11+
},
12+
{
13+
"anonymous": false,
14+
"inputs": [{ "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" }],
15+
"name": "Initialized",
16+
"type": "event"
17+
},
18+
{
19+
"anonymous": false,
20+
"inputs": [
21+
{ "indexed": false, "internalType": "address", "name": "oldAccessControlManager", "type": "address" },
22+
{ "indexed": false, "internalType": "address", "name": "newAccessControlManager", "type": "address" }
23+
],
24+
"name": "NewAccessControlManager",
25+
"type": "event"
26+
},
27+
{
28+
"anonymous": false,
29+
"inputs": [
30+
{ "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" },
31+
{ "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }
32+
],
33+
"name": "OwnershipTransferStarted",
34+
"type": "event"
35+
},
36+
{
37+
"anonymous": false,
38+
"inputs": [
39+
{ "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" },
40+
{ "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }
41+
],
42+
"name": "OwnershipTransferred",
43+
"type": "event"
44+
},
45+
{
46+
"anonymous": false,
47+
"inputs": [
48+
{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
49+
{ "indexed": false, "internalType": "uint256", "name": "previousPriceMantissa", "type": "uint256" },
50+
{ "indexed": false, "internalType": "uint256", "name": "newPriceMantissa", "type": "uint256" }
51+
],
52+
"name": "PricePosted",
53+
"type": "event"
54+
},
55+
{
56+
"anonymous": false,
57+
"inputs": [
58+
{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
59+
{ "indexed": false, "internalType": "address", "name": "feed", "type": "address" },
60+
{ "indexed": false, "internalType": "uint256", "name": "maxStalePeriod", "type": "uint256" }
61+
],
62+
"name": "TokenConfigAdded",
63+
"type": "event"
64+
},
65+
{
66+
"inputs": [],
67+
"name": "NATIVE_TOKEN_ADDR",
68+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
69+
"stateMutability": "view",
70+
"type": "function"
71+
},
72+
{ "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
73+
{
74+
"inputs": [],
75+
"name": "accessControlManager",
76+
"outputs": [{ "internalType": "contract IAccessControlManagerV8", "name": "", "type": "address" }],
77+
"stateMutability": "view",
78+
"type": "function"
79+
},
80+
{
81+
"inputs": [{ "internalType": "address", "name": "asset", "type": "address" }],
82+
"name": "getPrice",
83+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
84+
"stateMutability": "view",
85+
"type": "function"
86+
},
87+
{
88+
"inputs": [{ "internalType": "address", "name": "accessControlManager_", "type": "address" }],
89+
"name": "initialize",
90+
"outputs": [],
91+
"stateMutability": "nonpayable",
92+
"type": "function"
93+
},
94+
{
95+
"inputs": [],
96+
"name": "owner",
97+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
98+
"stateMutability": "view",
99+
"type": "function"
100+
},
101+
{
102+
"inputs": [],
103+
"name": "pendingOwner",
104+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
105+
"stateMutability": "view",
106+
"type": "function"
107+
},
108+
{
109+
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
110+
"name": "prices",
111+
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
112+
"stateMutability": "view",
113+
"type": "function"
114+
},
115+
{ "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
116+
{
117+
"inputs": [{ "internalType": "address", "name": "accessControlManager_", "type": "address" }],
118+
"name": "setAccessControlManager",
119+
"outputs": [],
120+
"stateMutability": "nonpayable",
121+
"type": "function"
122+
},
123+
{
124+
"inputs": [
125+
{ "internalType": "address", "name": "asset", "type": "address" },
126+
{ "internalType": "uint256", "name": "price", "type": "uint256" }
127+
],
128+
"name": "setDirectPrice",
129+
"outputs": [],
130+
"stateMutability": "nonpayable",
131+
"type": "function"
132+
},
133+
{
134+
"inputs": [
135+
{
136+
"components": [
137+
{ "internalType": "address", "name": "asset", "type": "address" },
138+
{ "internalType": "address", "name": "feed", "type": "address" },
139+
{ "internalType": "uint256", "name": "maxStalePeriod", "type": "uint256" }
140+
],
141+
"internalType": "struct ChainlinkOracle.TokenConfig",
142+
"name": "tokenConfig",
143+
"type": "tuple"
144+
}
145+
],
146+
"name": "setTokenConfig",
147+
"outputs": [],
148+
"stateMutability": "nonpayable",
149+
"type": "function"
150+
},
151+
{
152+
"inputs": [
153+
{
154+
"components": [
155+
{ "internalType": "address", "name": "asset", "type": "address" },
156+
{ "internalType": "address", "name": "feed", "type": "address" },
157+
{ "internalType": "uint256", "name": "maxStalePeriod", "type": "uint256" }
158+
],
159+
"internalType": "struct ChainlinkOracle.TokenConfig[]",
160+
"name": "tokenConfigs_",
161+
"type": "tuple[]"
162+
}
163+
],
164+
"name": "setTokenConfigs",
165+
"outputs": [],
166+
"stateMutability": "nonpayable",
167+
"type": "function"
168+
},
169+
{
170+
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
171+
"name": "tokenConfigs",
172+
"outputs": [
173+
{ "internalType": "address", "name": "asset", "type": "address" },
174+
{ "internalType": "address", "name": "feed", "type": "address" },
175+
{ "internalType": "uint256", "name": "maxStalePeriod", "type": "uint256" }
176+
],
177+
"stateMutability": "view",
178+
"type": "function"
179+
},
180+
{
181+
"inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }],
182+
"name": "transferOwnership",
183+
"outputs": [],
184+
"stateMutability": "nonpayable",
185+
"type": "function"
186+
}
187+
]

0 commit comments

Comments
 (0)