@venusprotocol/oracle 2.8.0-dev.1 → 2.8.0-dev.3

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 (63) hide show
  1. package/deployments/bscmainnet/PendleOracle-PT-SolvBTC.BBN-27MAR2025.json +368 -0
  2. package/deployments/bscmainnet/PendleOracle-PT-SolvBTC.BBN-27MAR2025_Implementation.json +329 -0
  3. package/deployments/bscmainnet/PendleOracle-PT-SolvBTC.BBN-27MAR2025_Proxy.json +224 -0
  4. package/deployments/bscmainnet/SolvBTC.BBN_OneJumpRedStoneOracle.json +295 -0
  5. package/deployments/bscmainnet/SolvBTC.BBN_OneJumpRedStoneOracle_Implementation.json +204 -0
  6. package/deployments/bscmainnet/SolvBTC.BBN_OneJumpRedStoneOracle_Proxy.json +213 -0
  7. package/deployments/bscmainnet/solcInputs/0bebc4f35e59fb8446bd3ebaaccae910.json +64 -0
  8. package/deployments/bscmainnet/solcInputs/6aede02a1ea73715bd2f7f2e6dad96c7.json +64 -0
  9. package/deployments/bscmainnet.json +2439 -1370
  10. package/deployments/bscmainnet_addresses.json +6 -0
  11. package/deployments/bsctestnet/MockPendlePtOracle.json +354 -0
  12. package/deployments/bsctestnet/PendleOracle-PT-SolvBTC.BBN-27MAR2025.json +368 -0
  13. package/deployments/bsctestnet/PendleOracle-PT-SolvBTC.BBN-27MAR2025_Implementation.json +329 -0
  14. package/deployments/bsctestnet/PendleOracle-PT-SolvBTC.BBN-27MAR2025_Proxy.json +224 -0
  15. package/deployments/bsctestnet/SolvBTC.BBN_OneJumpRedStoneOracle.json +295 -0
  16. package/deployments/bsctestnet/SolvBTC.BBN_OneJumpRedStoneOracle_Implementation.json +204 -0
  17. package/deployments/bsctestnet/SolvBTC.BBN_OneJumpRedStoneOracle_Proxy.json +213 -0
  18. package/deployments/bsctestnet/solcInputs/0bebc4f35e59fb8446bd3ebaaccae910.json +64 -0
  19. package/deployments/bsctestnet/solcInputs/6aede02a1ea73715bd2f7f2e6dad96c7.json +64 -0
  20. package/deployments/bsctestnet.json +2473 -1166
  21. package/deployments/bsctestnet_addresses.json +7 -0
  22. package/deployments/ethereum/PendleOracle_PT_USDe_27MAR2025.json +342 -0
  23. package/deployments/ethereum/PendleOracle_PT_USDe_27MAR2025_Implementation.json +274 -0
  24. package/deployments/ethereum/PendleOracle_PT_USDe_27MAR2025_Proxy.json +224 -0
  25. package/deployments/ethereum/PendleOracle_PT_sUSDe_27MAR2025.json +342 -0
  26. package/deployments/ethereum/PendleOracle_PT_sUSDe_27MAR2025_Implementation.json +274 -0
  27. package/deployments/ethereum/PendleOracle_PT_sUSDe_27MAR2025_Proxy.json +224 -0
  28. package/deployments/ethereum/sUSDe_ERC4626Oracle.json +177 -0
  29. package/deployments/ethereum/solcInputs/94bfc5063ff1e6d8e2de1792750dac25.json +58 -0
  30. package/deployments/ethereum/solcInputs/c9234768a0e90787a3e044ab631ca909.json +316 -0
  31. package/deployments/ethereum.json +1188 -0
  32. package/deployments/ethereum_addresses.json +8 -1
  33. package/deployments/sepolia/MockPendleOracle_PT_USDe_27MAR2025.json +275 -0
  34. package/deployments/sepolia/MockPendleOracle_PT_sUSDe_27MAR2025.json +275 -0
  35. package/deployments/sepolia/PendleOracle_PT_USDe_27MAR2025.json +342 -0
  36. package/deployments/sepolia/PendleOracle_PT_USDe_27MAR2025_Implementation.json +274 -0
  37. package/deployments/sepolia/PendleOracle_PT_USDe_27MAR2025_Proxy.json +224 -0
  38. package/deployments/sepolia/PendleOracle_PT_sUSDe_27MAR2025.json +342 -0
  39. package/deployments/sepolia/PendleOracle_PT_sUSDe_27MAR2025_Implementation.json +274 -0
  40. package/deployments/sepolia/PendleOracle_PT_sUSDe_27MAR2025_Proxy.json +224 -0
  41. package/deployments/sepolia/sUSDe_ERC4626Oracle.json +177 -0
  42. package/deployments/sepolia/solcInputs/10211ffe5f5d2e235e8b1b524375aa59.json +58 -0
  43. package/deployments/sepolia/solcInputs/94bfc5063ff1e6d8e2de1792750dac25.json +58 -0
  44. package/deployments/sepolia/solcInputs/c9234768a0e90787a3e044ab631ca909.json +316 -0
  45. package/deployments/sepolia.json +1772 -250
  46. package/deployments/sepolia_addresses.json +10 -1
  47. package/dist/deploy/14-deploy-ERC4626Oracle.d.ts +4 -0
  48. package/dist/deploy/14-deploy-ERC4626Oracle.d.ts.map +1 -0
  49. package/dist/deploy/14-deploy-ERC4626Oracle.js +21 -0
  50. package/dist/deploy/14-deploy-ERC4626Oracle.js.map +1 -0
  51. package/dist/deploy/16-deploy-SolvBTC.BBN-pendle-oracles.d.ts +4 -0
  52. package/dist/deploy/16-deploy-SolvBTC.BBN-pendle-oracles.d.ts.map +1 -0
  53. package/dist/deploy/16-deploy-SolvBTC.BBN-pendle-oracles.js +55 -0
  54. package/dist/deploy/16-deploy-SolvBTC.BBN-pendle-oracles.js.map +1 -0
  55. package/dist/deploy/7-dependencies-pendle-oracle.js +2 -2
  56. package/dist/deploy/7-dependencies-pendle-oracle.js.map +1 -1
  57. package/dist/deploy/7-deploy-pendle-oracle.d.ts.map +1 -1
  58. package/dist/deploy/7-deploy-pendle-oracle.js +72 -17
  59. package/dist/deploy/7-deploy-pendle-oracle.js.map +1 -1
  60. package/dist/helpers/deploymentConfig.d.ts.map +1 -1
  61. package/dist/helpers/deploymentConfig.js +19 -1
  62. package/dist/helpers/deploymentConfig.js.map +1 -1
  63. package/package.json +1 -1
@@ -4623,6 +4623,244 @@
4623
4623
  }
4624
4624
  ]
4625
4625
  },
4626
+ "MockPendlePtOracle": {
4627
+ "address": "0xa37A9127C302fEc17d456a6E1a5643a18a1779aD",
4628
+ "abi": [
4629
+ {
4630
+ "inputs": [],
4631
+ "stateMutability": "nonpayable",
4632
+ "type": "constructor"
4633
+ },
4634
+ {
4635
+ "anonymous": false,
4636
+ "inputs": [
4637
+ {
4638
+ "indexed": true,
4639
+ "internalType": "address",
4640
+ "name": "previousOwner",
4641
+ "type": "address"
4642
+ },
4643
+ {
4644
+ "indexed": true,
4645
+ "internalType": "address",
4646
+ "name": "newOwner",
4647
+ "type": "address"
4648
+ }
4649
+ ],
4650
+ "name": "OwnershipTransferred",
4651
+ "type": "event"
4652
+ },
4653
+ {
4654
+ "inputs": [
4655
+ {
4656
+ "internalType": "address",
4657
+ "name": "",
4658
+ "type": "address"
4659
+ },
4660
+ {
4661
+ "internalType": "uint32",
4662
+ "name": "",
4663
+ "type": "uint32"
4664
+ }
4665
+ ],
4666
+ "name": "getOracleState",
4667
+ "outputs": [
4668
+ {
4669
+ "internalType": "bool",
4670
+ "name": "increaseCardinalityRequired",
4671
+ "type": "bool"
4672
+ },
4673
+ {
4674
+ "internalType": "uint16",
4675
+ "name": "cardinalityRequired",
4676
+ "type": "uint16"
4677
+ },
4678
+ {
4679
+ "internalType": "bool",
4680
+ "name": "oldestObservationSatisfied",
4681
+ "type": "bool"
4682
+ }
4683
+ ],
4684
+ "stateMutability": "pure",
4685
+ "type": "function"
4686
+ },
4687
+ {
4688
+ "inputs": [
4689
+ {
4690
+ "internalType": "address",
4691
+ "name": "market",
4692
+ "type": "address"
4693
+ },
4694
+ {
4695
+ "internalType": "uint32",
4696
+ "name": "duration",
4697
+ "type": "uint32"
4698
+ }
4699
+ ],
4700
+ "name": "getPtToAssetRate",
4701
+ "outputs": [
4702
+ {
4703
+ "internalType": "uint256",
4704
+ "name": "",
4705
+ "type": "uint256"
4706
+ }
4707
+ ],
4708
+ "stateMutability": "view",
4709
+ "type": "function"
4710
+ },
4711
+ {
4712
+ "inputs": [
4713
+ {
4714
+ "internalType": "address",
4715
+ "name": "market",
4716
+ "type": "address"
4717
+ },
4718
+ {
4719
+ "internalType": "uint32",
4720
+ "name": "duration",
4721
+ "type": "uint32"
4722
+ }
4723
+ ],
4724
+ "name": "getPtToSyRate",
4725
+ "outputs": [
4726
+ {
4727
+ "internalType": "uint256",
4728
+ "name": "",
4729
+ "type": "uint256"
4730
+ }
4731
+ ],
4732
+ "stateMutability": "view",
4733
+ "type": "function"
4734
+ },
4735
+ {
4736
+ "inputs": [],
4737
+ "name": "owner",
4738
+ "outputs": [
4739
+ {
4740
+ "internalType": "address",
4741
+ "name": "",
4742
+ "type": "address"
4743
+ }
4744
+ ],
4745
+ "stateMutability": "view",
4746
+ "type": "function"
4747
+ },
4748
+ {
4749
+ "inputs": [
4750
+ {
4751
+ "internalType": "address",
4752
+ "name": "",
4753
+ "type": "address"
4754
+ },
4755
+ {
4756
+ "internalType": "uint32",
4757
+ "name": "",
4758
+ "type": "uint32"
4759
+ }
4760
+ ],
4761
+ "name": "ptToAssetRate",
4762
+ "outputs": [
4763
+ {
4764
+ "internalType": "uint256",
4765
+ "name": "",
4766
+ "type": "uint256"
4767
+ }
4768
+ ],
4769
+ "stateMutability": "view",
4770
+ "type": "function"
4771
+ },
4772
+ {
4773
+ "inputs": [
4774
+ {
4775
+ "internalType": "address",
4776
+ "name": "",
4777
+ "type": "address"
4778
+ },
4779
+ {
4780
+ "internalType": "uint32",
4781
+ "name": "",
4782
+ "type": "uint32"
4783
+ }
4784
+ ],
4785
+ "name": "ptToSyRate",
4786
+ "outputs": [
4787
+ {
4788
+ "internalType": "uint256",
4789
+ "name": "",
4790
+ "type": "uint256"
4791
+ }
4792
+ ],
4793
+ "stateMutability": "view",
4794
+ "type": "function"
4795
+ },
4796
+ {
4797
+ "inputs": [],
4798
+ "name": "renounceOwnership",
4799
+ "outputs": [],
4800
+ "stateMutability": "nonpayable",
4801
+ "type": "function"
4802
+ },
4803
+ {
4804
+ "inputs": [
4805
+ {
4806
+ "internalType": "address",
4807
+ "name": "market",
4808
+ "type": "address"
4809
+ },
4810
+ {
4811
+ "internalType": "uint32",
4812
+ "name": "duration",
4813
+ "type": "uint32"
4814
+ },
4815
+ {
4816
+ "internalType": "uint256",
4817
+ "name": "rate",
4818
+ "type": "uint256"
4819
+ }
4820
+ ],
4821
+ "name": "setPtToAssetRate",
4822
+ "outputs": [],
4823
+ "stateMutability": "nonpayable",
4824
+ "type": "function"
4825
+ },
4826
+ {
4827
+ "inputs": [
4828
+ {
4829
+ "internalType": "address",
4830
+ "name": "market",
4831
+ "type": "address"
4832
+ },
4833
+ {
4834
+ "internalType": "uint32",
4835
+ "name": "duration",
4836
+ "type": "uint32"
4837
+ },
4838
+ {
4839
+ "internalType": "uint256",
4840
+ "name": "rate",
4841
+ "type": "uint256"
4842
+ }
4843
+ ],
4844
+ "name": "setPtToSyRate",
4845
+ "outputs": [],
4846
+ "stateMutability": "nonpayable",
4847
+ "type": "function"
4848
+ },
4849
+ {
4850
+ "inputs": [
4851
+ {
4852
+ "internalType": "address",
4853
+ "name": "newOwner",
4854
+ "type": "address"
4855
+ }
4856
+ ],
4857
+ "name": "transferOwnership",
4858
+ "outputs": [],
4859
+ "stateMutability": "nonpayable",
4860
+ "type": "function"
4861
+ }
4862
+ ]
4863
+ },
4626
4864
  "MockWBETH": {
4627
4865
  "address": "0x9c37E59Ba22c4320547F00D4f1857AF1abd1Dd6f",
4628
4866
  "abi": [
@@ -5010,8 +5248,8 @@
5010
5248
  }
5011
5249
  ]
5012
5250
  },
5013
- "PythOracle": {
5014
- "address": "0x94E1534c14e0736BB24decA625f2F5364B198E0C",
5251
+ "PendleOracle-PT-SolvBTC.BBN-27MAR2025": {
5252
+ "address": "0x31B78f0Ef6A87cF0E812197226306954a65907d5",
5015
5253
  "abi": [
5016
5254
  {
5017
5255
  "anonymous": false,
@@ -5124,143 +5362,238 @@
5124
5362
  "type": "receive"
5125
5363
  },
5126
5364
  {
5127
- "inputs": [
5128
- {
5129
- "internalType": "address",
5130
- "name": "sender",
5131
- "type": "address"
5132
- },
5365
+ "inputs": [],
5366
+ "name": "InvalidDuration",
5367
+ "type": "error"
5368
+ },
5369
+ {
5370
+ "inputs": [],
5371
+ "name": "InvalidTokenAddress",
5372
+ "type": "error"
5373
+ },
5374
+ {
5375
+ "inputs": [],
5376
+ "name": "ZeroAddressNotAllowed",
5377
+ "type": "error"
5378
+ },
5379
+ {
5380
+ "inputs": [],
5381
+ "name": "ZeroValueNotAllowed",
5382
+ "type": "error"
5383
+ },
5384
+ {
5385
+ "inputs": [],
5386
+ "name": "CORRELATED_TOKEN",
5387
+ "outputs": [
5133
5388
  {
5134
5389
  "internalType": "address",
5135
- "name": "calledContract",
5390
+ "name": "",
5136
5391
  "type": "address"
5137
- },
5138
- {
5139
- "internalType": "string",
5140
- "name": "methodSignature",
5141
- "type": "string"
5142
5392
  }
5143
5393
  ],
5144
- "name": "Unauthorized",
5145
- "type": "error"
5394
+ "stateMutability": "view",
5395
+ "type": "function"
5146
5396
  },
5147
5397
  {
5148
- "anonymous": false,
5149
- "inputs": [
5398
+ "inputs": [],
5399
+ "name": "MARKET",
5400
+ "outputs": [
5150
5401
  {
5151
- "indexed": false,
5152
- "internalType": "uint8",
5153
- "name": "version",
5154
- "type": "uint8"
5402
+ "internalType": "address",
5403
+ "name": "",
5404
+ "type": "address"
5155
5405
  }
5156
5406
  ],
5157
- "name": "Initialized",
5158
- "type": "event"
5407
+ "stateMutability": "view",
5408
+ "type": "function"
5159
5409
  },
5160
5410
  {
5161
- "anonymous": false,
5162
- "inputs": [
5411
+ "inputs": [],
5412
+ "name": "PT_ORACLE",
5413
+ "outputs": [
5163
5414
  {
5164
- "indexed": false,
5165
- "internalType": "address",
5166
- "name": "oldAccessControlManager",
5415
+ "internalType": "contract IPendlePtOracle",
5416
+ "name": "",
5167
5417
  "type": "address"
5168
- },
5418
+ }
5419
+ ],
5420
+ "stateMutability": "view",
5421
+ "type": "function"
5422
+ },
5423
+ {
5424
+ "inputs": [],
5425
+ "name": "RATE_KIND",
5426
+ "outputs": [
5169
5427
  {
5170
- "indexed": false,
5171
- "internalType": "address",
5172
- "name": "newAccessControlManager",
5173
- "type": "address"
5428
+ "internalType": "enum PendleOracle.RateKind",
5429
+ "name": "",
5430
+ "type": "uint8"
5174
5431
  }
5175
5432
  ],
5176
- "name": "NewAccessControlManager",
5177
- "type": "event"
5433
+ "stateMutability": "view",
5434
+ "type": "function"
5178
5435
  },
5179
5436
  {
5180
- "anonymous": false,
5181
- "inputs": [
5437
+ "inputs": [],
5438
+ "name": "RESILIENT_ORACLE",
5439
+ "outputs": [
5182
5440
  {
5183
- "indexed": true,
5184
- "internalType": "address",
5185
- "name": "previousOwner",
5441
+ "internalType": "contract OracleInterface",
5442
+ "name": "",
5186
5443
  "type": "address"
5187
- },
5444
+ }
5445
+ ],
5446
+ "stateMutability": "view",
5447
+ "type": "function"
5448
+ },
5449
+ {
5450
+ "inputs": [],
5451
+ "name": "TWAP_DURATION",
5452
+ "outputs": [
5453
+ {
5454
+ "internalType": "uint32",
5455
+ "name": "",
5456
+ "type": "uint32"
5457
+ }
5458
+ ],
5459
+ "stateMutability": "view",
5460
+ "type": "function"
5461
+ },
5462
+ {
5463
+ "inputs": [],
5464
+ "name": "UNDERLYING_DECIMALS",
5465
+ "outputs": [
5466
+ {
5467
+ "internalType": "uint8",
5468
+ "name": "",
5469
+ "type": "uint8"
5470
+ }
5471
+ ],
5472
+ "stateMutability": "view",
5473
+ "type": "function"
5474
+ },
5475
+ {
5476
+ "inputs": [],
5477
+ "name": "UNDERLYING_TOKEN",
5478
+ "outputs": [
5188
5479
  {
5189
- "indexed": true,
5190
5480
  "internalType": "address",
5191
- "name": "newOwner",
5481
+ "name": "",
5192
5482
  "type": "address"
5193
5483
  }
5194
5484
  ],
5195
- "name": "OwnershipTransferStarted",
5196
- "type": "event"
5485
+ "stateMutability": "view",
5486
+ "type": "function"
5197
5487
  },
5198
5488
  {
5199
- "anonymous": false,
5200
5489
  "inputs": [
5201
5490
  {
5202
- "indexed": true,
5203
5491
  "internalType": "address",
5204
- "name": "previousOwner",
5492
+ "name": "asset",
5205
5493
  "type": "address"
5206
- },
5494
+ }
5495
+ ],
5496
+ "name": "getPrice",
5497
+ "outputs": [
5207
5498
  {
5208
- "indexed": true,
5209
- "internalType": "address",
5210
- "name": "newOwner",
5211
- "type": "address"
5499
+ "internalType": "uint256",
5500
+ "name": "",
5501
+ "type": "uint256"
5212
5502
  }
5213
5503
  ],
5214
- "name": "OwnershipTransferred",
5215
- "type": "event"
5504
+ "stateMutability": "view",
5505
+ "type": "function"
5216
5506
  },
5217
5507
  {
5218
- "anonymous": false,
5219
5508
  "inputs": [
5220
5509
  {
5221
- "indexed": true,
5222
5510
  "internalType": "address",
5223
- "name": "oldPythOracle",
5511
+ "name": "_logic",
5224
5512
  "type": "address"
5225
5513
  },
5226
5514
  {
5227
- "indexed": true,
5228
5515
  "internalType": "address",
5229
- "name": "newPythOracle",
5516
+ "name": "admin_",
5230
5517
  "type": "address"
5518
+ },
5519
+ {
5520
+ "internalType": "bytes",
5521
+ "name": "_data",
5522
+ "type": "bytes"
5231
5523
  }
5232
5524
  ],
5233
- "name": "PythOracleSet",
5234
- "type": "event"
5235
- },
5525
+ "stateMutability": "payable",
5526
+ "type": "constructor"
5527
+ }
5528
+ ]
5529
+ },
5530
+ "PendleOracle-PT-SolvBTC.BBN-27MAR2025_Implementation": {
5531
+ "address": "0x2EC23cBc3A111D4265d9fE7dcf319b2Ff4F23f2D",
5532
+ "abi": [
5236
5533
  {
5237
- "anonymous": false,
5238
5534
  "inputs": [
5239
5535
  {
5240
- "indexed": true,
5241
5536
  "internalType": "address",
5242
- "name": "vToken",
5537
+ "name": "market",
5243
5538
  "type": "address"
5244
5539
  },
5245
5540
  {
5246
- "indexed": true,
5247
- "internalType": "bytes32",
5248
- "name": "pythId",
5249
- "type": "bytes32"
5541
+ "internalType": "address",
5542
+ "name": "ptOracle",
5543
+ "type": "address"
5250
5544
  },
5251
5545
  {
5252
- "indexed": true,
5253
- "internalType": "uint64",
5254
- "name": "maxStalePeriod",
5255
- "type": "uint64"
5546
+ "internalType": "enum PendleOracle.RateKind",
5547
+ "name": "rateKind",
5548
+ "type": "uint8"
5549
+ },
5550
+ {
5551
+ "internalType": "address",
5552
+ "name": "ptToken",
5553
+ "type": "address"
5554
+ },
5555
+ {
5556
+ "internalType": "address",
5557
+ "name": "underlyingToken",
5558
+ "type": "address"
5559
+ },
5560
+ {
5561
+ "internalType": "address",
5562
+ "name": "resilientOracle",
5563
+ "type": "address"
5564
+ },
5565
+ {
5566
+ "internalType": "uint32",
5567
+ "name": "twapDuration",
5568
+ "type": "uint32"
5256
5569
  }
5257
5570
  ],
5258
- "name": "TokenConfigAdded",
5259
- "type": "event"
5571
+ "stateMutability": "nonpayable",
5572
+ "type": "constructor"
5260
5573
  },
5261
5574
  {
5262
5575
  "inputs": [],
5263
- "name": "BNB_ADDR",
5576
+ "name": "InvalidDuration",
5577
+ "type": "error"
5578
+ },
5579
+ {
5580
+ "inputs": [],
5581
+ "name": "InvalidTokenAddress",
5582
+ "type": "error"
5583
+ },
5584
+ {
5585
+ "inputs": [],
5586
+ "name": "ZeroAddressNotAllowed",
5587
+ "type": "error"
5588
+ },
5589
+ {
5590
+ "inputs": [],
5591
+ "name": "ZeroValueNotAllowed",
5592
+ "type": "error"
5593
+ },
5594
+ {
5595
+ "inputs": [],
5596
+ "name": "CORRELATED_TOKEN",
5264
5597
  "outputs": [
5265
5598
  {
5266
5599
  "internalType": "address",
@@ -5273,12 +5606,12 @@
5273
5606
  },
5274
5607
  {
5275
5608
  "inputs": [],
5276
- "name": "EXP_SCALE",
5609
+ "name": "MARKET",
5277
5610
  "outputs": [
5278
5611
  {
5279
- "internalType": "uint256",
5612
+ "internalType": "address",
5280
5613
  "name": "",
5281
- "type": "uint256"
5614
+ "type": "address"
5282
5615
  }
5283
5616
  ],
5284
5617
  "stateMutability": "view",
@@ -5286,17 +5619,10 @@
5286
5619
  },
5287
5620
  {
5288
5621
  "inputs": [],
5289
- "name": "acceptOwnership",
5290
- "outputs": [],
5291
- "stateMutability": "nonpayable",
5292
- "type": "function"
5293
- },
5294
- {
5295
- "inputs": [],
5296
- "name": "accessControlManager",
5622
+ "name": "PT_ORACLE",
5297
5623
  "outputs": [
5298
5624
  {
5299
- "internalType": "contract IAccessControlManagerV8",
5625
+ "internalType": "contract IPendlePtOracle",
5300
5626
  "name": "",
5301
5627
  "type": "address"
5302
5628
  }
@@ -5305,50 +5631,39 @@
5305
5631
  "type": "function"
5306
5632
  },
5307
5633
  {
5308
- "inputs": [
5309
- {
5310
- "internalType": "address",
5311
- "name": "vToken",
5312
- "type": "address"
5313
- }
5314
- ],
5315
- "name": "getUnderlyingPrice",
5634
+ "inputs": [],
5635
+ "name": "RATE_KIND",
5316
5636
  "outputs": [
5317
5637
  {
5318
- "internalType": "uint256",
5638
+ "internalType": "enum PendleOracle.RateKind",
5319
5639
  "name": "",
5320
- "type": "uint256"
5640
+ "type": "uint8"
5321
5641
  }
5322
5642
  ],
5323
5643
  "stateMutability": "view",
5324
5644
  "type": "function"
5325
5645
  },
5326
5646
  {
5327
- "inputs": [
5328
- {
5329
- "internalType": "address",
5330
- "name": "underlyingPythOracle_",
5331
- "type": "address"
5332
- },
5647
+ "inputs": [],
5648
+ "name": "RESILIENT_ORACLE",
5649
+ "outputs": [
5333
5650
  {
5334
- "internalType": "address",
5335
- "name": "accessControlManager_",
5651
+ "internalType": "contract OracleInterface",
5652
+ "name": "",
5336
5653
  "type": "address"
5337
5654
  }
5338
5655
  ],
5339
- "name": "initialize",
5340
- "outputs": [],
5341
- "stateMutability": "nonpayable",
5656
+ "stateMutability": "view",
5342
5657
  "type": "function"
5343
5658
  },
5344
5659
  {
5345
5660
  "inputs": [],
5346
- "name": "owner",
5661
+ "name": "TWAP_DURATION",
5347
5662
  "outputs": [
5348
5663
  {
5349
- "internalType": "address",
5664
+ "internalType": "uint32",
5350
5665
  "name": "",
5351
- "type": "address"
5666
+ "type": "uint32"
5352
5667
  }
5353
5668
  ],
5354
5669
  "stateMutability": "view",
@@ -5356,12 +5671,12 @@
5356
5671
  },
5357
5672
  {
5358
5673
  "inputs": [],
5359
- "name": "pendingOwner",
5674
+ "name": "UNDERLYING_DECIMALS",
5360
5675
  "outputs": [
5361
5676
  {
5362
- "internalType": "address",
5677
+ "internalType": "uint8",
5363
5678
  "name": "",
5364
- "type": "address"
5679
+ "type": "uint8"
5365
5680
  }
5366
5681
  ],
5367
5682
  "stateMutability": "view",
@@ -5369,303 +5684,370 @@
5369
5684
  },
5370
5685
  {
5371
5686
  "inputs": [],
5372
- "name": "renounceOwnership",
5373
- "outputs": [],
5374
- "stateMutability": "nonpayable",
5687
+ "name": "UNDERLYING_TOKEN",
5688
+ "outputs": [
5689
+ {
5690
+ "internalType": "address",
5691
+ "name": "",
5692
+ "type": "address"
5693
+ }
5694
+ ],
5695
+ "stateMutability": "view",
5375
5696
  "type": "function"
5376
5697
  },
5377
5698
  {
5378
5699
  "inputs": [
5379
5700
  {
5380
5701
  "internalType": "address",
5381
- "name": "accessControlManager_",
5702
+ "name": "asset",
5382
5703
  "type": "address"
5383
5704
  }
5384
5705
  ],
5385
- "name": "setAccessControlManager",
5386
- "outputs": [],
5387
- "stateMutability": "nonpayable",
5706
+ "name": "getPrice",
5707
+ "outputs": [
5708
+ {
5709
+ "internalType": "uint256",
5710
+ "name": "",
5711
+ "type": "uint256"
5712
+ }
5713
+ ],
5714
+ "stateMutability": "view",
5388
5715
  "type": "function"
5389
- },
5716
+ }
5717
+ ]
5718
+ },
5719
+ "PendleOracle-PT-SolvBTC.BBN-27MAR2025_Proxy": {
5720
+ "address": "0x31B78f0Ef6A87cF0E812197226306954a65907d5",
5721
+ "abi": [
5390
5722
  {
5391
5723
  "inputs": [
5392
5724
  {
5393
- "components": [
5394
- {
5395
- "internalType": "bytes32",
5396
- "name": "pythId",
5397
- "type": "bytes32"
5398
- },
5399
- {
5400
- "internalType": "address",
5401
- "name": "asset",
5402
- "type": "address"
5403
- },
5404
- {
5405
- "internalType": "uint64",
5406
- "name": "maxStalePeriod",
5407
- "type": "uint64"
5408
- }
5409
- ],
5410
- "internalType": "struct PythOracle.TokenConfig",
5411
- "name": "tokenConfig",
5412
- "type": "tuple"
5413
- }
5414
- ],
5415
- "name": "setTokenConfig",
5416
- "outputs": [],
5417
- "stateMutability": "nonpayable",
5418
- "type": "function"
5419
- },
5420
- {
5421
- "inputs": [
5422
- {
5423
- "components": [
5424
- {
5425
- "internalType": "bytes32",
5426
- "name": "pythId",
5427
- "type": "bytes32"
5428
- },
5429
- {
5430
- "internalType": "address",
5431
- "name": "asset",
5432
- "type": "address"
5433
- },
5434
- {
5435
- "internalType": "uint64",
5436
- "name": "maxStalePeriod",
5437
- "type": "uint64"
5438
- }
5439
- ],
5440
- "internalType": "struct PythOracle.TokenConfig[]",
5441
- "name": "tokenConfigs_",
5442
- "type": "tuple[]"
5443
- }
5444
- ],
5445
- "name": "setTokenConfigs",
5446
- "outputs": [],
5447
- "stateMutability": "nonpayable",
5448
- "type": "function"
5449
- },
5450
- {
5451
- "inputs": [
5725
+ "internalType": "address",
5726
+ "name": "_logic",
5727
+ "type": "address"
5728
+ },
5452
5729
  {
5453
- "internalType": "contract IPyth",
5454
- "name": "underlyingPythOracle_",
5730
+ "internalType": "address",
5731
+ "name": "admin_",
5455
5732
  "type": "address"
5733
+ },
5734
+ {
5735
+ "internalType": "bytes",
5736
+ "name": "_data",
5737
+ "type": "bytes"
5456
5738
  }
5457
5739
  ],
5458
- "name": "setUnderlyingPythOracle",
5459
- "outputs": [],
5460
- "stateMutability": "nonpayable",
5461
- "type": "function"
5740
+ "stateMutability": "payable",
5741
+ "type": "constructor"
5462
5742
  },
5463
5743
  {
5744
+ "anonymous": false,
5464
5745
  "inputs": [
5465
5746
  {
5747
+ "indexed": false,
5466
5748
  "internalType": "address",
5467
- "name": "",
5749
+ "name": "previousAdmin",
5468
5750
  "type": "address"
5469
- }
5470
- ],
5471
- "name": "tokenConfigs",
5472
- "outputs": [
5473
- {
5474
- "internalType": "bytes32",
5475
- "name": "pythId",
5476
- "type": "bytes32"
5477
5751
  },
5478
5752
  {
5753
+ "indexed": false,
5479
5754
  "internalType": "address",
5480
- "name": "asset",
5755
+ "name": "newAdmin",
5481
5756
  "type": "address"
5482
- },
5483
- {
5484
- "internalType": "uint64",
5485
- "name": "maxStalePeriod",
5486
- "type": "uint64"
5487
5757
  }
5488
5758
  ],
5489
- "stateMutability": "view",
5490
- "type": "function"
5759
+ "name": "AdminChanged",
5760
+ "type": "event"
5491
5761
  },
5492
5762
  {
5763
+ "anonymous": false,
5493
5764
  "inputs": [
5494
5765
  {
5766
+ "indexed": true,
5495
5767
  "internalType": "address",
5496
- "name": "newOwner",
5768
+ "name": "beacon",
5497
5769
  "type": "address"
5498
5770
  }
5499
5771
  ],
5500
- "name": "transferOwnership",
5501
- "outputs": [],
5502
- "stateMutability": "nonpayable",
5503
- "type": "function"
5772
+ "name": "BeaconUpgraded",
5773
+ "type": "event"
5504
5774
  },
5505
5775
  {
5506
- "inputs": [],
5507
- "name": "underlyingPythOracle",
5508
- "outputs": [
5776
+ "anonymous": false,
5777
+ "inputs": [
5509
5778
  {
5510
- "internalType": "contract IPyth",
5511
- "name": "",
5779
+ "indexed": true,
5780
+ "internalType": "address",
5781
+ "name": "implementation",
5512
5782
  "type": "address"
5513
5783
  }
5514
5784
  ],
5515
- "stateMutability": "view",
5516
- "type": "function"
5785
+ "name": "Upgraded",
5786
+ "type": "event"
5787
+ },
5788
+ {
5789
+ "stateMutability": "payable",
5790
+ "type": "fallback"
5517
5791
  },
5518
5792
  {
5519
5793
  "inputs": [],
5520
- "name": "vBnb",
5794
+ "name": "admin",
5521
5795
  "outputs": [
5522
5796
  {
5523
5797
  "internalType": "address",
5524
- "name": "",
5798
+ "name": "admin_",
5525
5799
  "type": "address"
5526
5800
  }
5527
5801
  ],
5528
- "stateMutability": "view",
5802
+ "stateMutability": "nonpayable",
5529
5803
  "type": "function"
5530
5804
  },
5531
5805
  {
5532
5806
  "inputs": [],
5533
- "name": "vai",
5807
+ "name": "implementation",
5534
5808
  "outputs": [
5535
5809
  {
5536
5810
  "internalType": "address",
5537
- "name": "",
5811
+ "name": "implementation_",
5538
5812
  "type": "address"
5539
5813
  }
5540
5814
  ],
5541
- "stateMutability": "view",
5815
+ "stateMutability": "nonpayable",
5542
5816
  "type": "function"
5543
5817
  },
5544
5818
  {
5545
5819
  "inputs": [
5546
5820
  {
5547
5821
  "internalType": "address",
5548
- "name": "_logic",
5822
+ "name": "newImplementation",
5549
5823
  "type": "address"
5550
- },
5824
+ }
5825
+ ],
5826
+ "name": "upgradeTo",
5827
+ "outputs": [],
5828
+ "stateMutability": "nonpayable",
5829
+ "type": "function"
5830
+ },
5831
+ {
5832
+ "inputs": [
5551
5833
  {
5552
5834
  "internalType": "address",
5553
- "name": "admin_",
5835
+ "name": "newImplementation",
5554
5836
  "type": "address"
5555
5837
  },
5556
5838
  {
5557
5839
  "internalType": "bytes",
5558
- "name": "_data",
5840
+ "name": "data",
5559
5841
  "type": "bytes"
5560
5842
  }
5561
5843
  ],
5844
+ "name": "upgradeToAndCall",
5845
+ "outputs": [],
5562
5846
  "stateMutability": "payable",
5563
- "type": "constructor"
5847
+ "type": "function"
5848
+ },
5849
+ {
5850
+ "stateMutability": "payable",
5851
+ "type": "receive"
5564
5852
  }
5565
5853
  ]
5566
5854
  },
5567
- "PythOracle_Implementation": {
5568
- "address": "0xb8a450101DF8ab770c8F8521E189a4B39e7Cf5f5",
5855
+ "PythOracle": {
5856
+ "address": "0x94E1534c14e0736BB24decA625f2F5364B198E0C",
5569
5857
  "abi": [
5570
5858
  {
5859
+ "anonymous": false,
5571
5860
  "inputs": [
5572
5861
  {
5862
+ "indexed": false,
5573
5863
  "internalType": "address",
5574
- "name": "vBnbAddress",
5864
+ "name": "previousAdmin",
5575
5865
  "type": "address"
5576
5866
  },
5577
5867
  {
5868
+ "indexed": false,
5578
5869
  "internalType": "address",
5579
- "name": "vaiAddress",
5870
+ "name": "newAdmin",
5580
5871
  "type": "address"
5581
5872
  }
5582
5873
  ],
5583
- "stateMutability": "nonpayable",
5584
- "type": "constructor"
5874
+ "name": "AdminChanged",
5875
+ "type": "event"
5585
5876
  },
5586
5877
  {
5878
+ "anonymous": false,
5587
5879
  "inputs": [
5588
5880
  {
5881
+ "indexed": true,
5589
5882
  "internalType": "address",
5590
- "name": "sender",
5591
- "type": "address"
5592
- },
5593
- {
5594
- "internalType": "address",
5595
- "name": "calledContract",
5883
+ "name": "beacon",
5596
5884
  "type": "address"
5597
- },
5598
- {
5599
- "internalType": "string",
5600
- "name": "methodSignature",
5601
- "type": "string"
5602
5885
  }
5603
5886
  ],
5604
- "name": "Unauthorized",
5605
- "type": "error"
5887
+ "name": "BeaconUpgraded",
5888
+ "type": "event"
5606
5889
  },
5607
5890
  {
5608
5891
  "anonymous": false,
5609
5892
  "inputs": [
5610
5893
  {
5611
- "indexed": false,
5612
- "internalType": "uint8",
5613
- "name": "version",
5614
- "type": "uint8"
5894
+ "indexed": true,
5895
+ "internalType": "address",
5896
+ "name": "implementation",
5897
+ "type": "address"
5615
5898
  }
5616
5899
  ],
5617
- "name": "Initialized",
5900
+ "name": "Upgraded",
5618
5901
  "type": "event"
5619
5902
  },
5620
5903
  {
5621
- "anonymous": false,
5622
- "inputs": [
5904
+ "stateMutability": "payable",
5905
+ "type": "fallback"
5906
+ },
5907
+ {
5908
+ "inputs": [],
5909
+ "name": "admin",
5910
+ "outputs": [
5623
5911
  {
5624
- "indexed": false,
5625
5912
  "internalType": "address",
5626
- "name": "oldAccessControlManager",
5913
+ "name": "admin_",
5627
5914
  "type": "address"
5628
- },
5915
+ }
5916
+ ],
5917
+ "stateMutability": "nonpayable",
5918
+ "type": "function"
5919
+ },
5920
+ {
5921
+ "inputs": [],
5922
+ "name": "implementation",
5923
+ "outputs": [
5629
5924
  {
5630
- "indexed": false,
5631
5925
  "internalType": "address",
5632
- "name": "newAccessControlManager",
5926
+ "name": "implementation_",
5633
5927
  "type": "address"
5634
5928
  }
5635
5929
  ],
5636
- "name": "NewAccessControlManager",
5637
- "type": "event"
5930
+ "stateMutability": "nonpayable",
5931
+ "type": "function"
5638
5932
  },
5639
5933
  {
5640
- "anonymous": false,
5641
5934
  "inputs": [
5642
5935
  {
5643
- "indexed": true,
5644
- "internalType": "address",
5645
- "name": "previousOwner",
5646
- "type": "address"
5647
- },
5648
- {
5649
- "indexed": true,
5650
5936
  "internalType": "address",
5651
- "name": "newOwner",
5937
+ "name": "newImplementation",
5652
5938
  "type": "address"
5653
5939
  }
5654
5940
  ],
5655
- "name": "OwnershipTransferStarted",
5656
- "type": "event"
5941
+ "name": "upgradeTo",
5942
+ "outputs": [],
5943
+ "stateMutability": "nonpayable",
5944
+ "type": "function"
5657
5945
  },
5658
5946
  {
5659
- "anonymous": false,
5660
5947
  "inputs": [
5661
5948
  {
5662
- "indexed": true,
5663
5949
  "internalType": "address",
5664
- "name": "previousOwner",
5950
+ "name": "newImplementation",
5665
5951
  "type": "address"
5666
5952
  },
5667
5953
  {
5668
- "indexed": true,
5954
+ "internalType": "bytes",
5955
+ "name": "data",
5956
+ "type": "bytes"
5957
+ }
5958
+ ],
5959
+ "name": "upgradeToAndCall",
5960
+ "outputs": [],
5961
+ "stateMutability": "payable",
5962
+ "type": "function"
5963
+ },
5964
+ {
5965
+ "stateMutability": "payable",
5966
+ "type": "receive"
5967
+ },
5968
+ {
5969
+ "inputs": [
5970
+ {
5971
+ "internalType": "address",
5972
+ "name": "sender",
5973
+ "type": "address"
5974
+ },
5975
+ {
5976
+ "internalType": "address",
5977
+ "name": "calledContract",
5978
+ "type": "address"
5979
+ },
5980
+ {
5981
+ "internalType": "string",
5982
+ "name": "methodSignature",
5983
+ "type": "string"
5984
+ }
5985
+ ],
5986
+ "name": "Unauthorized",
5987
+ "type": "error"
5988
+ },
5989
+ {
5990
+ "anonymous": false,
5991
+ "inputs": [
5992
+ {
5993
+ "indexed": false,
5994
+ "internalType": "uint8",
5995
+ "name": "version",
5996
+ "type": "uint8"
5997
+ }
5998
+ ],
5999
+ "name": "Initialized",
6000
+ "type": "event"
6001
+ },
6002
+ {
6003
+ "anonymous": false,
6004
+ "inputs": [
6005
+ {
6006
+ "indexed": false,
6007
+ "internalType": "address",
6008
+ "name": "oldAccessControlManager",
6009
+ "type": "address"
6010
+ },
6011
+ {
6012
+ "indexed": false,
6013
+ "internalType": "address",
6014
+ "name": "newAccessControlManager",
6015
+ "type": "address"
6016
+ }
6017
+ ],
6018
+ "name": "NewAccessControlManager",
6019
+ "type": "event"
6020
+ },
6021
+ {
6022
+ "anonymous": false,
6023
+ "inputs": [
6024
+ {
6025
+ "indexed": true,
6026
+ "internalType": "address",
6027
+ "name": "previousOwner",
6028
+ "type": "address"
6029
+ },
6030
+ {
6031
+ "indexed": true,
6032
+ "internalType": "address",
6033
+ "name": "newOwner",
6034
+ "type": "address"
6035
+ }
6036
+ ],
6037
+ "name": "OwnershipTransferStarted",
6038
+ "type": "event"
6039
+ },
6040
+ {
6041
+ "anonymous": false,
6042
+ "inputs": [
6043
+ {
6044
+ "indexed": true,
6045
+ "internalType": "address",
6046
+ "name": "previousOwner",
6047
+ "type": "address"
6048
+ },
6049
+ {
6050
+ "indexed": true,
5669
6051
  "internalType": "address",
5670
6052
  "name": "newOwner",
5671
6053
  "type": "address"
@@ -5943,31 +6325,942 @@
5943
6325
  {
5944
6326
  "internalType": "uint64",
5945
6327
  "name": "maxStalePeriod",
5946
- "type": "uint64"
6328
+ "type": "uint64"
6329
+ }
6330
+ ],
6331
+ "stateMutability": "view",
6332
+ "type": "function"
6333
+ },
6334
+ {
6335
+ "inputs": [
6336
+ {
6337
+ "internalType": "address",
6338
+ "name": "newOwner",
6339
+ "type": "address"
6340
+ }
6341
+ ],
6342
+ "name": "transferOwnership",
6343
+ "outputs": [],
6344
+ "stateMutability": "nonpayable",
6345
+ "type": "function"
6346
+ },
6347
+ {
6348
+ "inputs": [],
6349
+ "name": "underlyingPythOracle",
6350
+ "outputs": [
6351
+ {
6352
+ "internalType": "contract IPyth",
6353
+ "name": "",
6354
+ "type": "address"
6355
+ }
6356
+ ],
6357
+ "stateMutability": "view",
6358
+ "type": "function"
6359
+ },
6360
+ {
6361
+ "inputs": [],
6362
+ "name": "vBnb",
6363
+ "outputs": [
6364
+ {
6365
+ "internalType": "address",
6366
+ "name": "",
6367
+ "type": "address"
6368
+ }
6369
+ ],
6370
+ "stateMutability": "view",
6371
+ "type": "function"
6372
+ },
6373
+ {
6374
+ "inputs": [],
6375
+ "name": "vai",
6376
+ "outputs": [
6377
+ {
6378
+ "internalType": "address",
6379
+ "name": "",
6380
+ "type": "address"
6381
+ }
6382
+ ],
6383
+ "stateMutability": "view",
6384
+ "type": "function"
6385
+ },
6386
+ {
6387
+ "inputs": [
6388
+ {
6389
+ "internalType": "address",
6390
+ "name": "_logic",
6391
+ "type": "address"
6392
+ },
6393
+ {
6394
+ "internalType": "address",
6395
+ "name": "admin_",
6396
+ "type": "address"
6397
+ },
6398
+ {
6399
+ "internalType": "bytes",
6400
+ "name": "_data",
6401
+ "type": "bytes"
6402
+ }
6403
+ ],
6404
+ "stateMutability": "payable",
6405
+ "type": "constructor"
6406
+ }
6407
+ ]
6408
+ },
6409
+ "PythOracle_Implementation": {
6410
+ "address": "0xb8a450101DF8ab770c8F8521E189a4B39e7Cf5f5",
6411
+ "abi": [
6412
+ {
6413
+ "inputs": [
6414
+ {
6415
+ "internalType": "address",
6416
+ "name": "vBnbAddress",
6417
+ "type": "address"
6418
+ },
6419
+ {
6420
+ "internalType": "address",
6421
+ "name": "vaiAddress",
6422
+ "type": "address"
6423
+ }
6424
+ ],
6425
+ "stateMutability": "nonpayable",
6426
+ "type": "constructor"
6427
+ },
6428
+ {
6429
+ "inputs": [
6430
+ {
6431
+ "internalType": "address",
6432
+ "name": "sender",
6433
+ "type": "address"
6434
+ },
6435
+ {
6436
+ "internalType": "address",
6437
+ "name": "calledContract",
6438
+ "type": "address"
6439
+ },
6440
+ {
6441
+ "internalType": "string",
6442
+ "name": "methodSignature",
6443
+ "type": "string"
6444
+ }
6445
+ ],
6446
+ "name": "Unauthorized",
6447
+ "type": "error"
6448
+ },
6449
+ {
6450
+ "anonymous": false,
6451
+ "inputs": [
6452
+ {
6453
+ "indexed": false,
6454
+ "internalType": "uint8",
6455
+ "name": "version",
6456
+ "type": "uint8"
6457
+ }
6458
+ ],
6459
+ "name": "Initialized",
6460
+ "type": "event"
6461
+ },
6462
+ {
6463
+ "anonymous": false,
6464
+ "inputs": [
6465
+ {
6466
+ "indexed": false,
6467
+ "internalType": "address",
6468
+ "name": "oldAccessControlManager",
6469
+ "type": "address"
6470
+ },
6471
+ {
6472
+ "indexed": false,
6473
+ "internalType": "address",
6474
+ "name": "newAccessControlManager",
6475
+ "type": "address"
6476
+ }
6477
+ ],
6478
+ "name": "NewAccessControlManager",
6479
+ "type": "event"
6480
+ },
6481
+ {
6482
+ "anonymous": false,
6483
+ "inputs": [
6484
+ {
6485
+ "indexed": true,
6486
+ "internalType": "address",
6487
+ "name": "previousOwner",
6488
+ "type": "address"
6489
+ },
6490
+ {
6491
+ "indexed": true,
6492
+ "internalType": "address",
6493
+ "name": "newOwner",
6494
+ "type": "address"
6495
+ }
6496
+ ],
6497
+ "name": "OwnershipTransferStarted",
6498
+ "type": "event"
6499
+ },
6500
+ {
6501
+ "anonymous": false,
6502
+ "inputs": [
6503
+ {
6504
+ "indexed": true,
6505
+ "internalType": "address",
6506
+ "name": "previousOwner",
6507
+ "type": "address"
6508
+ },
6509
+ {
6510
+ "indexed": true,
6511
+ "internalType": "address",
6512
+ "name": "newOwner",
6513
+ "type": "address"
6514
+ }
6515
+ ],
6516
+ "name": "OwnershipTransferred",
6517
+ "type": "event"
6518
+ },
6519
+ {
6520
+ "anonymous": false,
6521
+ "inputs": [
6522
+ {
6523
+ "indexed": true,
6524
+ "internalType": "address",
6525
+ "name": "oldPythOracle",
6526
+ "type": "address"
6527
+ },
6528
+ {
6529
+ "indexed": true,
6530
+ "internalType": "address",
6531
+ "name": "newPythOracle",
6532
+ "type": "address"
6533
+ }
6534
+ ],
6535
+ "name": "PythOracleSet",
6536
+ "type": "event"
6537
+ },
6538
+ {
6539
+ "anonymous": false,
6540
+ "inputs": [
6541
+ {
6542
+ "indexed": true,
6543
+ "internalType": "address",
6544
+ "name": "vToken",
6545
+ "type": "address"
6546
+ },
6547
+ {
6548
+ "indexed": true,
6549
+ "internalType": "bytes32",
6550
+ "name": "pythId",
6551
+ "type": "bytes32"
6552
+ },
6553
+ {
6554
+ "indexed": true,
6555
+ "internalType": "uint64",
6556
+ "name": "maxStalePeriod",
6557
+ "type": "uint64"
6558
+ }
6559
+ ],
6560
+ "name": "TokenConfigAdded",
6561
+ "type": "event"
6562
+ },
6563
+ {
6564
+ "inputs": [],
6565
+ "name": "BNB_ADDR",
6566
+ "outputs": [
6567
+ {
6568
+ "internalType": "address",
6569
+ "name": "",
6570
+ "type": "address"
6571
+ }
6572
+ ],
6573
+ "stateMutability": "view",
6574
+ "type": "function"
6575
+ },
6576
+ {
6577
+ "inputs": [],
6578
+ "name": "EXP_SCALE",
6579
+ "outputs": [
6580
+ {
6581
+ "internalType": "uint256",
6582
+ "name": "",
6583
+ "type": "uint256"
6584
+ }
6585
+ ],
6586
+ "stateMutability": "view",
6587
+ "type": "function"
6588
+ },
6589
+ {
6590
+ "inputs": [],
6591
+ "name": "acceptOwnership",
6592
+ "outputs": [],
6593
+ "stateMutability": "nonpayable",
6594
+ "type": "function"
6595
+ },
6596
+ {
6597
+ "inputs": [],
6598
+ "name": "accessControlManager",
6599
+ "outputs": [
6600
+ {
6601
+ "internalType": "contract IAccessControlManagerV8",
6602
+ "name": "",
6603
+ "type": "address"
6604
+ }
6605
+ ],
6606
+ "stateMutability": "view",
6607
+ "type": "function"
6608
+ },
6609
+ {
6610
+ "inputs": [
6611
+ {
6612
+ "internalType": "address",
6613
+ "name": "vToken",
6614
+ "type": "address"
6615
+ }
6616
+ ],
6617
+ "name": "getUnderlyingPrice",
6618
+ "outputs": [
6619
+ {
6620
+ "internalType": "uint256",
6621
+ "name": "",
6622
+ "type": "uint256"
6623
+ }
6624
+ ],
6625
+ "stateMutability": "view",
6626
+ "type": "function"
6627
+ },
6628
+ {
6629
+ "inputs": [
6630
+ {
6631
+ "internalType": "address",
6632
+ "name": "underlyingPythOracle_",
6633
+ "type": "address"
6634
+ },
6635
+ {
6636
+ "internalType": "address",
6637
+ "name": "accessControlManager_",
6638
+ "type": "address"
6639
+ }
6640
+ ],
6641
+ "name": "initialize",
6642
+ "outputs": [],
6643
+ "stateMutability": "nonpayable",
6644
+ "type": "function"
6645
+ },
6646
+ {
6647
+ "inputs": [],
6648
+ "name": "owner",
6649
+ "outputs": [
6650
+ {
6651
+ "internalType": "address",
6652
+ "name": "",
6653
+ "type": "address"
6654
+ }
6655
+ ],
6656
+ "stateMutability": "view",
6657
+ "type": "function"
6658
+ },
6659
+ {
6660
+ "inputs": [],
6661
+ "name": "pendingOwner",
6662
+ "outputs": [
6663
+ {
6664
+ "internalType": "address",
6665
+ "name": "",
6666
+ "type": "address"
6667
+ }
6668
+ ],
6669
+ "stateMutability": "view",
6670
+ "type": "function"
6671
+ },
6672
+ {
6673
+ "inputs": [],
6674
+ "name": "renounceOwnership",
6675
+ "outputs": [],
6676
+ "stateMutability": "nonpayable",
6677
+ "type": "function"
6678
+ },
6679
+ {
6680
+ "inputs": [
6681
+ {
6682
+ "internalType": "address",
6683
+ "name": "accessControlManager_",
6684
+ "type": "address"
6685
+ }
6686
+ ],
6687
+ "name": "setAccessControlManager",
6688
+ "outputs": [],
6689
+ "stateMutability": "nonpayable",
6690
+ "type": "function"
6691
+ },
6692
+ {
6693
+ "inputs": [
6694
+ {
6695
+ "components": [
6696
+ {
6697
+ "internalType": "bytes32",
6698
+ "name": "pythId",
6699
+ "type": "bytes32"
6700
+ },
6701
+ {
6702
+ "internalType": "address",
6703
+ "name": "asset",
6704
+ "type": "address"
6705
+ },
6706
+ {
6707
+ "internalType": "uint64",
6708
+ "name": "maxStalePeriod",
6709
+ "type": "uint64"
6710
+ }
6711
+ ],
6712
+ "internalType": "struct PythOracle.TokenConfig",
6713
+ "name": "tokenConfig",
6714
+ "type": "tuple"
6715
+ }
6716
+ ],
6717
+ "name": "setTokenConfig",
6718
+ "outputs": [],
6719
+ "stateMutability": "nonpayable",
6720
+ "type": "function"
6721
+ },
6722
+ {
6723
+ "inputs": [
6724
+ {
6725
+ "components": [
6726
+ {
6727
+ "internalType": "bytes32",
6728
+ "name": "pythId",
6729
+ "type": "bytes32"
6730
+ },
6731
+ {
6732
+ "internalType": "address",
6733
+ "name": "asset",
6734
+ "type": "address"
6735
+ },
6736
+ {
6737
+ "internalType": "uint64",
6738
+ "name": "maxStalePeriod",
6739
+ "type": "uint64"
6740
+ }
6741
+ ],
6742
+ "internalType": "struct PythOracle.TokenConfig[]",
6743
+ "name": "tokenConfigs_",
6744
+ "type": "tuple[]"
6745
+ }
6746
+ ],
6747
+ "name": "setTokenConfigs",
6748
+ "outputs": [],
6749
+ "stateMutability": "nonpayable",
6750
+ "type": "function"
6751
+ },
6752
+ {
6753
+ "inputs": [
6754
+ {
6755
+ "internalType": "contract IPyth",
6756
+ "name": "underlyingPythOracle_",
6757
+ "type": "address"
6758
+ }
6759
+ ],
6760
+ "name": "setUnderlyingPythOracle",
6761
+ "outputs": [],
6762
+ "stateMutability": "nonpayable",
6763
+ "type": "function"
6764
+ },
6765
+ {
6766
+ "inputs": [
6767
+ {
6768
+ "internalType": "address",
6769
+ "name": "",
6770
+ "type": "address"
6771
+ }
6772
+ ],
6773
+ "name": "tokenConfigs",
6774
+ "outputs": [
6775
+ {
6776
+ "internalType": "bytes32",
6777
+ "name": "pythId",
6778
+ "type": "bytes32"
6779
+ },
6780
+ {
6781
+ "internalType": "address",
6782
+ "name": "asset",
6783
+ "type": "address"
6784
+ },
6785
+ {
6786
+ "internalType": "uint64",
6787
+ "name": "maxStalePeriod",
6788
+ "type": "uint64"
6789
+ }
6790
+ ],
6791
+ "stateMutability": "view",
6792
+ "type": "function"
6793
+ },
6794
+ {
6795
+ "inputs": [
6796
+ {
6797
+ "internalType": "address",
6798
+ "name": "newOwner",
6799
+ "type": "address"
6800
+ }
6801
+ ],
6802
+ "name": "transferOwnership",
6803
+ "outputs": [],
6804
+ "stateMutability": "nonpayable",
6805
+ "type": "function"
6806
+ },
6807
+ {
6808
+ "inputs": [],
6809
+ "name": "underlyingPythOracle",
6810
+ "outputs": [
6811
+ {
6812
+ "internalType": "contract IPyth",
6813
+ "name": "",
6814
+ "type": "address"
6815
+ }
6816
+ ],
6817
+ "stateMutability": "view",
6818
+ "type": "function"
6819
+ },
6820
+ {
6821
+ "inputs": [],
6822
+ "name": "vBnb",
6823
+ "outputs": [
6824
+ {
6825
+ "internalType": "address",
6826
+ "name": "",
6827
+ "type": "address"
6828
+ }
6829
+ ],
6830
+ "stateMutability": "view",
6831
+ "type": "function"
6832
+ },
6833
+ {
6834
+ "inputs": [],
6835
+ "name": "vai",
6836
+ "outputs": [
6837
+ {
6838
+ "internalType": "address",
6839
+ "name": "",
6840
+ "type": "address"
6841
+ }
6842
+ ],
6843
+ "stateMutability": "view",
6844
+ "type": "function"
6845
+ }
6846
+ ]
6847
+ },
6848
+ "PythOracle_Proxy": {
6849
+ "address": "0x94E1534c14e0736BB24decA625f2F5364B198E0C",
6850
+ "abi": [
6851
+ {
6852
+ "inputs": [
6853
+ {
6854
+ "internalType": "address",
6855
+ "name": "_logic",
6856
+ "type": "address"
6857
+ },
6858
+ {
6859
+ "internalType": "address",
6860
+ "name": "admin_",
6861
+ "type": "address"
6862
+ },
6863
+ {
6864
+ "internalType": "bytes",
6865
+ "name": "_data",
6866
+ "type": "bytes"
6867
+ }
6868
+ ],
6869
+ "stateMutability": "payable",
6870
+ "type": "constructor"
6871
+ },
6872
+ {
6873
+ "anonymous": false,
6874
+ "inputs": [
6875
+ {
6876
+ "indexed": false,
6877
+ "internalType": "address",
6878
+ "name": "previousAdmin",
6879
+ "type": "address"
6880
+ },
6881
+ {
6882
+ "indexed": false,
6883
+ "internalType": "address",
6884
+ "name": "newAdmin",
6885
+ "type": "address"
6886
+ }
6887
+ ],
6888
+ "name": "AdminChanged",
6889
+ "type": "event"
6890
+ },
6891
+ {
6892
+ "anonymous": false,
6893
+ "inputs": [
6894
+ {
6895
+ "indexed": true,
6896
+ "internalType": "address",
6897
+ "name": "beacon",
6898
+ "type": "address"
6899
+ }
6900
+ ],
6901
+ "name": "BeaconUpgraded",
6902
+ "type": "event"
6903
+ },
6904
+ {
6905
+ "anonymous": false,
6906
+ "inputs": [
6907
+ {
6908
+ "indexed": true,
6909
+ "internalType": "address",
6910
+ "name": "implementation",
6911
+ "type": "address"
6912
+ }
6913
+ ],
6914
+ "name": "Upgraded",
6915
+ "type": "event"
6916
+ },
6917
+ {
6918
+ "stateMutability": "payable",
6919
+ "type": "fallback"
6920
+ },
6921
+ {
6922
+ "inputs": [],
6923
+ "name": "admin",
6924
+ "outputs": [
6925
+ {
6926
+ "internalType": "address",
6927
+ "name": "admin_",
6928
+ "type": "address"
6929
+ }
6930
+ ],
6931
+ "stateMutability": "nonpayable",
6932
+ "type": "function"
6933
+ },
6934
+ {
6935
+ "inputs": [],
6936
+ "name": "implementation",
6937
+ "outputs": [
6938
+ {
6939
+ "internalType": "address",
6940
+ "name": "implementation_",
6941
+ "type": "address"
6942
+ }
6943
+ ],
6944
+ "stateMutability": "nonpayable",
6945
+ "type": "function"
6946
+ },
6947
+ {
6948
+ "inputs": [
6949
+ {
6950
+ "internalType": "address",
6951
+ "name": "newImplementation",
6952
+ "type": "address"
6953
+ }
6954
+ ],
6955
+ "name": "upgradeTo",
6956
+ "outputs": [],
6957
+ "stateMutability": "nonpayable",
6958
+ "type": "function"
6959
+ },
6960
+ {
6961
+ "inputs": [
6962
+ {
6963
+ "internalType": "address",
6964
+ "name": "newImplementation",
6965
+ "type": "address"
6966
+ },
6967
+ {
6968
+ "internalType": "bytes",
6969
+ "name": "data",
6970
+ "type": "bytes"
6971
+ }
6972
+ ],
6973
+ "name": "upgradeToAndCall",
6974
+ "outputs": [],
6975
+ "stateMutability": "payable",
6976
+ "type": "function"
6977
+ },
6978
+ {
6979
+ "stateMutability": "payable",
6980
+ "type": "receive"
6981
+ }
6982
+ ]
6983
+ },
6984
+ "RedStoneOracle": {
6985
+ "address": "0x0Af51d1504ac5B711A9EAFe2fAC11A51d32029Ad",
6986
+ "abi": [
6987
+ {
6988
+ "anonymous": false,
6989
+ "inputs": [
6990
+ {
6991
+ "indexed": false,
6992
+ "internalType": "address",
6993
+ "name": "previousAdmin",
6994
+ "type": "address"
6995
+ },
6996
+ {
6997
+ "indexed": false,
6998
+ "internalType": "address",
6999
+ "name": "newAdmin",
7000
+ "type": "address"
7001
+ }
7002
+ ],
7003
+ "name": "AdminChanged",
7004
+ "type": "event"
7005
+ },
7006
+ {
7007
+ "anonymous": false,
7008
+ "inputs": [
7009
+ {
7010
+ "indexed": true,
7011
+ "internalType": "address",
7012
+ "name": "beacon",
7013
+ "type": "address"
7014
+ }
7015
+ ],
7016
+ "name": "BeaconUpgraded",
7017
+ "type": "event"
7018
+ },
7019
+ {
7020
+ "anonymous": false,
7021
+ "inputs": [
7022
+ {
7023
+ "indexed": true,
7024
+ "internalType": "address",
7025
+ "name": "implementation",
7026
+ "type": "address"
7027
+ }
7028
+ ],
7029
+ "name": "Upgraded",
7030
+ "type": "event"
7031
+ },
7032
+ {
7033
+ "stateMutability": "payable",
7034
+ "type": "fallback"
7035
+ },
7036
+ {
7037
+ "inputs": [],
7038
+ "name": "admin",
7039
+ "outputs": [
7040
+ {
7041
+ "internalType": "address",
7042
+ "name": "admin_",
7043
+ "type": "address"
7044
+ }
7045
+ ],
7046
+ "stateMutability": "nonpayable",
7047
+ "type": "function"
7048
+ },
7049
+ {
7050
+ "inputs": [],
7051
+ "name": "implementation",
7052
+ "outputs": [
7053
+ {
7054
+ "internalType": "address",
7055
+ "name": "implementation_",
7056
+ "type": "address"
7057
+ }
7058
+ ],
7059
+ "stateMutability": "nonpayable",
7060
+ "type": "function"
7061
+ },
7062
+ {
7063
+ "inputs": [
7064
+ {
7065
+ "internalType": "address",
7066
+ "name": "newImplementation",
7067
+ "type": "address"
7068
+ }
7069
+ ],
7070
+ "name": "upgradeTo",
7071
+ "outputs": [],
7072
+ "stateMutability": "nonpayable",
7073
+ "type": "function"
7074
+ },
7075
+ {
7076
+ "inputs": [
7077
+ {
7078
+ "internalType": "address",
7079
+ "name": "newImplementation",
7080
+ "type": "address"
7081
+ },
7082
+ {
7083
+ "internalType": "bytes",
7084
+ "name": "data",
7085
+ "type": "bytes"
7086
+ }
7087
+ ],
7088
+ "name": "upgradeToAndCall",
7089
+ "outputs": [],
7090
+ "stateMutability": "payable",
7091
+ "type": "function"
7092
+ },
7093
+ {
7094
+ "stateMutability": "payable",
7095
+ "type": "receive"
7096
+ },
7097
+ {
7098
+ "inputs": [
7099
+ {
7100
+ "internalType": "address",
7101
+ "name": "sender",
7102
+ "type": "address"
7103
+ },
7104
+ {
7105
+ "internalType": "address",
7106
+ "name": "calledContract",
7107
+ "type": "address"
7108
+ },
7109
+ {
7110
+ "internalType": "string",
7111
+ "name": "methodSignature",
7112
+ "type": "string"
7113
+ }
7114
+ ],
7115
+ "name": "Unauthorized",
7116
+ "type": "error"
7117
+ },
7118
+ {
7119
+ "anonymous": false,
7120
+ "inputs": [
7121
+ {
7122
+ "indexed": false,
7123
+ "internalType": "uint8",
7124
+ "name": "version",
7125
+ "type": "uint8"
7126
+ }
7127
+ ],
7128
+ "name": "Initialized",
7129
+ "type": "event"
7130
+ },
7131
+ {
7132
+ "anonymous": false,
7133
+ "inputs": [
7134
+ {
7135
+ "indexed": false,
7136
+ "internalType": "address",
7137
+ "name": "oldAccessControlManager",
7138
+ "type": "address"
7139
+ },
7140
+ {
7141
+ "indexed": false,
7142
+ "internalType": "address",
7143
+ "name": "newAccessControlManager",
7144
+ "type": "address"
7145
+ }
7146
+ ],
7147
+ "name": "NewAccessControlManager",
7148
+ "type": "event"
7149
+ },
7150
+ {
7151
+ "anonymous": false,
7152
+ "inputs": [
7153
+ {
7154
+ "indexed": true,
7155
+ "internalType": "address",
7156
+ "name": "previousOwner",
7157
+ "type": "address"
7158
+ },
7159
+ {
7160
+ "indexed": true,
7161
+ "internalType": "address",
7162
+ "name": "newOwner",
7163
+ "type": "address"
7164
+ }
7165
+ ],
7166
+ "name": "OwnershipTransferStarted",
7167
+ "type": "event"
7168
+ },
7169
+ {
7170
+ "anonymous": false,
7171
+ "inputs": [
7172
+ {
7173
+ "indexed": true,
7174
+ "internalType": "address",
7175
+ "name": "previousOwner",
7176
+ "type": "address"
7177
+ },
7178
+ {
7179
+ "indexed": true,
7180
+ "internalType": "address",
7181
+ "name": "newOwner",
7182
+ "type": "address"
7183
+ }
7184
+ ],
7185
+ "name": "OwnershipTransferred",
7186
+ "type": "event"
7187
+ },
7188
+ {
7189
+ "anonymous": false,
7190
+ "inputs": [
7191
+ {
7192
+ "indexed": true,
7193
+ "internalType": "address",
7194
+ "name": "asset",
7195
+ "type": "address"
7196
+ },
7197
+ {
7198
+ "indexed": false,
7199
+ "internalType": "uint256",
7200
+ "name": "previousPriceMantissa",
7201
+ "type": "uint256"
7202
+ },
7203
+ {
7204
+ "indexed": false,
7205
+ "internalType": "uint256",
7206
+ "name": "newPriceMantissa",
7207
+ "type": "uint256"
7208
+ }
7209
+ ],
7210
+ "name": "PricePosted",
7211
+ "type": "event"
7212
+ },
7213
+ {
7214
+ "anonymous": false,
7215
+ "inputs": [
7216
+ {
7217
+ "indexed": true,
7218
+ "internalType": "address",
7219
+ "name": "asset",
7220
+ "type": "address"
7221
+ },
7222
+ {
7223
+ "indexed": false,
7224
+ "internalType": "address",
7225
+ "name": "feed",
7226
+ "type": "address"
7227
+ },
7228
+ {
7229
+ "indexed": false,
7230
+ "internalType": "uint256",
7231
+ "name": "maxStalePeriod",
7232
+ "type": "uint256"
5947
7233
  }
5948
7234
  ],
5949
- "stateMutability": "view",
5950
- "type": "function"
7235
+ "name": "TokenConfigAdded",
7236
+ "type": "event"
5951
7237
  },
5952
7238
  {
5953
- "inputs": [
7239
+ "inputs": [],
7240
+ "name": "BNB_ADDR",
7241
+ "outputs": [
5954
7242
  {
5955
7243
  "internalType": "address",
5956
- "name": "newOwner",
7244
+ "name": "",
5957
7245
  "type": "address"
5958
7246
  }
5959
7247
  ],
5960
- "name": "transferOwnership",
7248
+ "stateMutability": "view",
7249
+ "type": "function"
7250
+ },
7251
+ {
7252
+ "inputs": [],
7253
+ "name": "acceptOwnership",
5961
7254
  "outputs": [],
5962
7255
  "stateMutability": "nonpayable",
5963
7256
  "type": "function"
5964
7257
  },
5965
7258
  {
5966
7259
  "inputs": [],
5967
- "name": "underlyingPythOracle",
7260
+ "name": "accessControlManager",
5968
7261
  "outputs": [
5969
7262
  {
5970
- "internalType": "contract IPyth",
7263
+ "internalType": "contract IAccessControlManagerV8",
5971
7264
  "name": "",
5972
7265
  "type": "address"
5973
7266
  }
@@ -5976,129 +7269,86 @@
5976
7269
  "type": "function"
5977
7270
  },
5978
7271
  {
5979
- "inputs": [],
5980
- "name": "vBnb",
5981
- "outputs": [
7272
+ "inputs": [
5982
7273
  {
5983
7274
  "internalType": "address",
5984
- "name": "",
7275
+ "name": "asset",
5985
7276
  "type": "address"
5986
7277
  }
5987
7278
  ],
5988
- "stateMutability": "view",
5989
- "type": "function"
5990
- },
5991
- {
5992
- "inputs": [],
5993
- "name": "vai",
7279
+ "name": "getPrice",
5994
7280
  "outputs": [
5995
7281
  {
5996
- "internalType": "address",
7282
+ "internalType": "uint256",
5997
7283
  "name": "",
5998
- "type": "address"
7284
+ "type": "uint256"
5999
7285
  }
6000
7286
  ],
6001
7287
  "stateMutability": "view",
6002
7288
  "type": "function"
6003
- }
6004
- ]
6005
- },
6006
- "PythOracle_Proxy": {
6007
- "address": "0x94E1534c14e0736BB24decA625f2F5364B198E0C",
6008
- "abi": [
7289
+ },
6009
7290
  {
6010
7291
  "inputs": [
6011
7292
  {
6012
7293
  "internalType": "address",
6013
- "name": "_logic",
6014
- "type": "address"
6015
- },
6016
- {
6017
- "internalType": "address",
6018
- "name": "admin_",
7294
+ "name": "accessControlManager_",
6019
7295
  "type": "address"
6020
- },
6021
- {
6022
- "internalType": "bytes",
6023
- "name": "_data",
6024
- "type": "bytes"
6025
7296
  }
6026
7297
  ],
6027
- "stateMutability": "payable",
6028
- "type": "constructor"
7298
+ "name": "initialize",
7299
+ "outputs": [],
7300
+ "stateMutability": "nonpayable",
7301
+ "type": "function"
6029
7302
  },
6030
7303
  {
6031
- "anonymous": false,
6032
- "inputs": [
6033
- {
6034
- "indexed": false,
6035
- "internalType": "address",
6036
- "name": "previousAdmin",
6037
- "type": "address"
6038
- },
7304
+ "inputs": [],
7305
+ "name": "owner",
7306
+ "outputs": [
6039
7307
  {
6040
- "indexed": false,
6041
7308
  "internalType": "address",
6042
- "name": "newAdmin",
7309
+ "name": "",
6043
7310
  "type": "address"
6044
7311
  }
6045
7312
  ],
6046
- "name": "AdminChanged",
6047
- "type": "event"
7313
+ "stateMutability": "view",
7314
+ "type": "function"
6048
7315
  },
6049
7316
  {
6050
- "anonymous": false,
6051
- "inputs": [
7317
+ "inputs": [],
7318
+ "name": "pendingOwner",
7319
+ "outputs": [
6052
7320
  {
6053
- "indexed": true,
6054
7321
  "internalType": "address",
6055
- "name": "beacon",
7322
+ "name": "",
6056
7323
  "type": "address"
6057
7324
  }
6058
7325
  ],
6059
- "name": "BeaconUpgraded",
6060
- "type": "event"
7326
+ "stateMutability": "view",
7327
+ "type": "function"
6061
7328
  },
6062
7329
  {
6063
- "anonymous": false,
6064
7330
  "inputs": [
6065
7331
  {
6066
- "indexed": true,
6067
7332
  "internalType": "address",
6068
- "name": "implementation",
7333
+ "name": "",
6069
7334
  "type": "address"
6070
7335
  }
6071
7336
  ],
6072
- "name": "Upgraded",
6073
- "type": "event"
6074
- },
6075
- {
6076
- "stateMutability": "payable",
6077
- "type": "fallback"
6078
- },
6079
- {
6080
- "inputs": [],
6081
- "name": "admin",
7337
+ "name": "prices",
6082
7338
  "outputs": [
6083
7339
  {
6084
- "internalType": "address",
6085
- "name": "admin_",
6086
- "type": "address"
7340
+ "internalType": "uint256",
7341
+ "name": "",
7342
+ "type": "uint256"
6087
7343
  }
6088
7344
  ],
6089
- "stateMutability": "nonpayable",
7345
+ "stateMutability": "view",
6090
7346
  "type": "function"
6091
7347
  },
6092
7348
  {
6093
7349
  "inputs": [],
6094
- "name": "implementation",
6095
- "outputs": [
6096
- {
6097
- "internalType": "address",
6098
- "name": "implementation_",
6099
- "type": "address"
6100
- }
6101
- ],
7350
+ "name": "renounceOwnership",
7351
+ "outputs": [],
6102
7352
  "stateMutability": "nonpayable",
6103
7353
  "type": "function"
6104
7354
  },
@@ -6106,11 +7356,11 @@
6106
7356
  "inputs": [
6107
7357
  {
6108
7358
  "internalType": "address",
6109
- "name": "newImplementation",
7359
+ "name": "accessControlManager_",
6110
7360
  "type": "address"
6111
7361
  }
6112
7362
  ],
6113
- "name": "upgradeTo",
7363
+ "name": "setAccessControlManager",
6114
7364
  "outputs": [],
6115
7365
  "stateMutability": "nonpayable",
6116
7366
  "type": "function"
@@ -6119,113 +7369,118 @@
6119
7369
  "inputs": [
6120
7370
  {
6121
7371
  "internalType": "address",
6122
- "name": "newImplementation",
7372
+ "name": "asset",
6123
7373
  "type": "address"
6124
7374
  },
6125
7375
  {
6126
- "internalType": "bytes",
6127
- "name": "data",
6128
- "type": "bytes"
7376
+ "internalType": "uint256",
7377
+ "name": "price",
7378
+ "type": "uint256"
6129
7379
  }
6130
7380
  ],
6131
- "name": "upgradeToAndCall",
7381
+ "name": "setDirectPrice",
6132
7382
  "outputs": [],
6133
- "stateMutability": "payable",
7383
+ "stateMutability": "nonpayable",
6134
7384
  "type": "function"
6135
7385
  },
6136
7386
  {
6137
- "stateMutability": "payable",
6138
- "type": "receive"
6139
- }
6140
- ]
6141
- },
6142
- "RedStoneOracle": {
6143
- "address": "0x0Af51d1504ac5B711A9EAFe2fAC11A51d32029Ad",
6144
- "abi": [
6145
- {
6146
- "anonymous": false,
6147
7387
  "inputs": [
6148
7388
  {
6149
- "indexed": false,
6150
- "internalType": "address",
6151
- "name": "previousAdmin",
6152
- "type": "address"
6153
- },
6154
- {
6155
- "indexed": false,
6156
- "internalType": "address",
6157
- "name": "newAdmin",
6158
- "type": "address"
7389
+ "components": [
7390
+ {
7391
+ "internalType": "address",
7392
+ "name": "asset",
7393
+ "type": "address"
7394
+ },
7395
+ {
7396
+ "internalType": "address",
7397
+ "name": "feed",
7398
+ "type": "address"
7399
+ },
7400
+ {
7401
+ "internalType": "uint256",
7402
+ "name": "maxStalePeriod",
7403
+ "type": "uint256"
7404
+ }
7405
+ ],
7406
+ "internalType": "struct ChainlinkOracle.TokenConfig",
7407
+ "name": "tokenConfig",
7408
+ "type": "tuple"
6159
7409
  }
6160
7410
  ],
6161
- "name": "AdminChanged",
6162
- "type": "event"
7411
+ "name": "setTokenConfig",
7412
+ "outputs": [],
7413
+ "stateMutability": "nonpayable",
7414
+ "type": "function"
6163
7415
  },
6164
7416
  {
6165
- "anonymous": false,
6166
7417
  "inputs": [
6167
7418
  {
6168
- "indexed": true,
6169
- "internalType": "address",
6170
- "name": "beacon",
6171
- "type": "address"
7419
+ "components": [
7420
+ {
7421
+ "internalType": "address",
7422
+ "name": "asset",
7423
+ "type": "address"
7424
+ },
7425
+ {
7426
+ "internalType": "address",
7427
+ "name": "feed",
7428
+ "type": "address"
7429
+ },
7430
+ {
7431
+ "internalType": "uint256",
7432
+ "name": "maxStalePeriod",
7433
+ "type": "uint256"
7434
+ }
7435
+ ],
7436
+ "internalType": "struct ChainlinkOracle.TokenConfig[]",
7437
+ "name": "tokenConfigs_",
7438
+ "type": "tuple[]"
6172
7439
  }
6173
7440
  ],
6174
- "name": "BeaconUpgraded",
6175
- "type": "event"
7441
+ "name": "setTokenConfigs",
7442
+ "outputs": [],
7443
+ "stateMutability": "nonpayable",
7444
+ "type": "function"
6176
7445
  },
6177
7446
  {
6178
- "anonymous": false,
6179
7447
  "inputs": [
6180
7448
  {
6181
- "indexed": true,
6182
7449
  "internalType": "address",
6183
- "name": "implementation",
7450
+ "name": "",
6184
7451
  "type": "address"
6185
7452
  }
6186
7453
  ],
6187
- "name": "Upgraded",
6188
- "type": "event"
6189
- },
6190
- {
6191
- "stateMutability": "payable",
6192
- "type": "fallback"
6193
- },
6194
- {
6195
- "inputs": [],
6196
- "name": "admin",
7454
+ "name": "tokenConfigs",
6197
7455
  "outputs": [
6198
7456
  {
6199
7457
  "internalType": "address",
6200
- "name": "admin_",
7458
+ "name": "asset",
6201
7459
  "type": "address"
6202
- }
6203
- ],
6204
- "stateMutability": "nonpayable",
6205
- "type": "function"
6206
- },
6207
- {
6208
- "inputs": [],
6209
- "name": "implementation",
6210
- "outputs": [
7460
+ },
6211
7461
  {
6212
7462
  "internalType": "address",
6213
- "name": "implementation_",
7463
+ "name": "feed",
6214
7464
  "type": "address"
7465
+ },
7466
+ {
7467
+ "internalType": "uint256",
7468
+ "name": "maxStalePeriod",
7469
+ "type": "uint256"
6215
7470
  }
6216
7471
  ],
6217
- "stateMutability": "nonpayable",
7472
+ "stateMutability": "view",
6218
7473
  "type": "function"
6219
7474
  },
6220
7475
  {
6221
7476
  "inputs": [
6222
7477
  {
6223
7478
  "internalType": "address",
6224
- "name": "newImplementation",
7479
+ "name": "newOwner",
6225
7480
  "type": "address"
6226
7481
  }
6227
7482
  ],
6228
- "name": "upgradeTo",
7483
+ "name": "transferOwnership",
6229
7484
  "outputs": [],
6230
7485
  "stateMutability": "nonpayable",
6231
7486
  "type": "function"
@@ -6234,23 +7489,32 @@
6234
7489
  "inputs": [
6235
7490
  {
6236
7491
  "internalType": "address",
6237
- "name": "newImplementation",
7492
+ "name": "_logic",
7493
+ "type": "address"
7494
+ },
7495
+ {
7496
+ "internalType": "address",
7497
+ "name": "admin_",
6238
7498
  "type": "address"
6239
7499
  },
6240
7500
  {
6241
7501
  "internalType": "bytes",
6242
- "name": "data",
7502
+ "name": "_data",
6243
7503
  "type": "bytes"
6244
7504
  }
6245
7505
  ],
6246
- "name": "upgradeToAndCall",
6247
- "outputs": [],
6248
7506
  "stateMutability": "payable",
6249
- "type": "function"
6250
- },
7507
+ "type": "constructor"
7508
+ }
7509
+ ]
7510
+ },
7511
+ "RedStoneOracle_Implementation": {
7512
+ "address": "0xCAC32CFceAe762Bd6DA9C1d24DCB9Ce7FB6C2e73",
7513
+ "abi": [
6251
7514
  {
6252
- "stateMutability": "payable",
6253
- "type": "receive"
7515
+ "inputs": [],
7516
+ "stateMutability": "nonpayable",
7517
+ "type": "constructor"
6254
7518
  },
6255
7519
  {
6256
7520
  "inputs": [
@@ -6642,7 +7906,12 @@
6642
7906
  "outputs": [],
6643
7907
  "stateMutability": "nonpayable",
6644
7908
  "type": "function"
6645
- },
7909
+ }
7910
+ ]
7911
+ },
7912
+ "RedStoneOracle_Proxy": {
7913
+ "address": "0x0Af51d1504ac5B711A9EAFe2fAC11A51d32029Ad",
7914
+ "abi": [
6646
7915
  {
6647
7916
  "inputs": [
6648
7917
  {
@@ -6663,16 +7932,231 @@
6663
7932
  ],
6664
7933
  "stateMutability": "payable",
6665
7934
  "type": "constructor"
7935
+ },
7936
+ {
7937
+ "anonymous": false,
7938
+ "inputs": [
7939
+ {
7940
+ "indexed": false,
7941
+ "internalType": "address",
7942
+ "name": "previousAdmin",
7943
+ "type": "address"
7944
+ },
7945
+ {
7946
+ "indexed": false,
7947
+ "internalType": "address",
7948
+ "name": "newAdmin",
7949
+ "type": "address"
7950
+ }
7951
+ ],
7952
+ "name": "AdminChanged",
7953
+ "type": "event"
7954
+ },
7955
+ {
7956
+ "anonymous": false,
7957
+ "inputs": [
7958
+ {
7959
+ "indexed": true,
7960
+ "internalType": "address",
7961
+ "name": "beacon",
7962
+ "type": "address"
7963
+ }
7964
+ ],
7965
+ "name": "BeaconUpgraded",
7966
+ "type": "event"
7967
+ },
7968
+ {
7969
+ "anonymous": false,
7970
+ "inputs": [
7971
+ {
7972
+ "indexed": true,
7973
+ "internalType": "address",
7974
+ "name": "implementation",
7975
+ "type": "address"
7976
+ }
7977
+ ],
7978
+ "name": "Upgraded",
7979
+ "type": "event"
7980
+ },
7981
+ {
7982
+ "stateMutability": "payable",
7983
+ "type": "fallback"
7984
+ },
7985
+ {
7986
+ "inputs": [],
7987
+ "name": "admin",
7988
+ "outputs": [
7989
+ {
7990
+ "internalType": "address",
7991
+ "name": "admin_",
7992
+ "type": "address"
7993
+ }
7994
+ ],
7995
+ "stateMutability": "nonpayable",
7996
+ "type": "function"
7997
+ },
7998
+ {
7999
+ "inputs": [],
8000
+ "name": "implementation",
8001
+ "outputs": [
8002
+ {
8003
+ "internalType": "address",
8004
+ "name": "implementation_",
8005
+ "type": "address"
8006
+ }
8007
+ ],
8008
+ "stateMutability": "nonpayable",
8009
+ "type": "function"
8010
+ },
8011
+ {
8012
+ "inputs": [
8013
+ {
8014
+ "internalType": "address",
8015
+ "name": "newImplementation",
8016
+ "type": "address"
8017
+ }
8018
+ ],
8019
+ "name": "upgradeTo",
8020
+ "outputs": [],
8021
+ "stateMutability": "nonpayable",
8022
+ "type": "function"
8023
+ },
8024
+ {
8025
+ "inputs": [
8026
+ {
8027
+ "internalType": "address",
8028
+ "name": "newImplementation",
8029
+ "type": "address"
8030
+ },
8031
+ {
8032
+ "internalType": "bytes",
8033
+ "name": "data",
8034
+ "type": "bytes"
8035
+ }
8036
+ ],
8037
+ "name": "upgradeToAndCall",
8038
+ "outputs": [],
8039
+ "stateMutability": "payable",
8040
+ "type": "function"
8041
+ },
8042
+ {
8043
+ "stateMutability": "payable",
8044
+ "type": "receive"
6666
8045
  }
6667
8046
  ]
6668
8047
  },
6669
- "RedStoneOracle_Implementation": {
6670
- "address": "0xCAC32CFceAe762Bd6DA9C1d24DCB9Ce7FB6C2e73",
8048
+ "ResilientOracle": {
8049
+ "address": "0x3cD69251D04A28d887Ac14cbe2E14c52F3D57823",
6671
8050
  "abi": [
8051
+ {
8052
+ "anonymous": false,
8053
+ "inputs": [
8054
+ {
8055
+ "indexed": false,
8056
+ "internalType": "address",
8057
+ "name": "previousAdmin",
8058
+ "type": "address"
8059
+ },
8060
+ {
8061
+ "indexed": false,
8062
+ "internalType": "address",
8063
+ "name": "newAdmin",
8064
+ "type": "address"
8065
+ }
8066
+ ],
8067
+ "name": "AdminChanged",
8068
+ "type": "event"
8069
+ },
8070
+ {
8071
+ "anonymous": false,
8072
+ "inputs": [
8073
+ {
8074
+ "indexed": true,
8075
+ "internalType": "address",
8076
+ "name": "beacon",
8077
+ "type": "address"
8078
+ }
8079
+ ],
8080
+ "name": "BeaconUpgraded",
8081
+ "type": "event"
8082
+ },
8083
+ {
8084
+ "anonymous": false,
8085
+ "inputs": [
8086
+ {
8087
+ "indexed": true,
8088
+ "internalType": "address",
8089
+ "name": "implementation",
8090
+ "type": "address"
8091
+ }
8092
+ ],
8093
+ "name": "Upgraded",
8094
+ "type": "event"
8095
+ },
8096
+ {
8097
+ "stateMutability": "payable",
8098
+ "type": "fallback"
8099
+ },
8100
+ {
8101
+ "inputs": [],
8102
+ "name": "admin",
8103
+ "outputs": [
8104
+ {
8105
+ "internalType": "address",
8106
+ "name": "admin_",
8107
+ "type": "address"
8108
+ }
8109
+ ],
8110
+ "stateMutability": "nonpayable",
8111
+ "type": "function"
8112
+ },
6672
8113
  {
6673
8114
  "inputs": [],
8115
+ "name": "implementation",
8116
+ "outputs": [
8117
+ {
8118
+ "internalType": "address",
8119
+ "name": "implementation_",
8120
+ "type": "address"
8121
+ }
8122
+ ],
6674
8123
  "stateMutability": "nonpayable",
6675
- "type": "constructor"
8124
+ "type": "function"
8125
+ },
8126
+ {
8127
+ "inputs": [
8128
+ {
8129
+ "internalType": "address",
8130
+ "name": "newImplementation",
8131
+ "type": "address"
8132
+ }
8133
+ ],
8134
+ "name": "upgradeTo",
8135
+ "outputs": [],
8136
+ "stateMutability": "nonpayable",
8137
+ "type": "function"
8138
+ },
8139
+ {
8140
+ "inputs": [
8141
+ {
8142
+ "internalType": "address",
8143
+ "name": "newImplementation",
8144
+ "type": "address"
8145
+ },
8146
+ {
8147
+ "internalType": "bytes",
8148
+ "name": "data",
8149
+ "type": "bytes"
8150
+ }
8151
+ ],
8152
+ "name": "upgradeToAndCall",
8153
+ "outputs": [],
8154
+ "stateMutability": "payable",
8155
+ "type": "function"
8156
+ },
8157
+ {
8158
+ "stateMutability": "payable",
8159
+ "type": "receive"
6676
8160
  },
6677
8161
  {
6678
8162
  "inputs": [
@@ -6733,17 +8217,48 @@
6733
8217
  {
6734
8218
  "indexed": true,
6735
8219
  "internalType": "address",
6736
- "name": "previousOwner",
8220
+ "name": "asset",
8221
+ "type": "address"
8222
+ },
8223
+ {
8224
+ "indexed": true,
8225
+ "internalType": "uint256",
8226
+ "name": "role",
8227
+ "type": "uint256"
8228
+ },
8229
+ {
8230
+ "indexed": true,
8231
+ "internalType": "bool",
8232
+ "name": "enable",
8233
+ "type": "bool"
8234
+ }
8235
+ ],
8236
+ "name": "OracleEnabled",
8237
+ "type": "event"
8238
+ },
8239
+ {
8240
+ "anonymous": false,
8241
+ "inputs": [
8242
+ {
8243
+ "indexed": true,
8244
+ "internalType": "address",
8245
+ "name": "asset",
6737
8246
  "type": "address"
6738
8247
  },
6739
8248
  {
6740
8249
  "indexed": true,
6741
8250
  "internalType": "address",
6742
- "name": "newOwner",
8251
+ "name": "oracle",
6743
8252
  "type": "address"
8253
+ },
8254
+ {
8255
+ "indexed": true,
8256
+ "internalType": "uint256",
8257
+ "name": "role",
8258
+ "type": "uint256"
6744
8259
  }
6745
8260
  ],
6746
- "name": "OwnershipTransferStarted",
8261
+ "name": "OracleSet",
6747
8262
  "type": "event"
6748
8263
  },
6749
8264
  {
@@ -6762,7 +8277,7 @@
6762
8277
  "type": "address"
6763
8278
  }
6764
8279
  ],
6765
- "name": "OwnershipTransferred",
8280
+ "name": "OwnershipTransferStarted",
6766
8281
  "type": "event"
6767
8282
  },
6768
8283
  {
@@ -6771,23 +8286,30 @@
6771
8286
  {
6772
8287
  "indexed": true,
6773
8288
  "internalType": "address",
6774
- "name": "asset",
8289
+ "name": "previousOwner",
6775
8290
  "type": "address"
6776
8291
  },
6777
8292
  {
6778
- "indexed": false,
6779
- "internalType": "uint256",
6780
- "name": "previousPriceMantissa",
6781
- "type": "uint256"
6782
- },
8293
+ "indexed": true,
8294
+ "internalType": "address",
8295
+ "name": "newOwner",
8296
+ "type": "address"
8297
+ }
8298
+ ],
8299
+ "name": "OwnershipTransferred",
8300
+ "type": "event"
8301
+ },
8302
+ {
8303
+ "anonymous": false,
8304
+ "inputs": [
6783
8305
  {
6784
8306
  "indexed": false,
6785
- "internalType": "uint256",
6786
- "name": "newPriceMantissa",
6787
- "type": "uint256"
8307
+ "internalType": "address",
8308
+ "name": "account",
8309
+ "type": "address"
6788
8310
  }
6789
8311
  ],
6790
- "name": "PricePosted",
8312
+ "name": "Paused",
6791
8313
  "type": "event"
6792
8314
  },
6793
8315
  {
@@ -6800,21 +8322,40 @@
6800
8322
  "type": "address"
6801
8323
  },
6802
8324
  {
6803
- "indexed": false,
8325
+ "indexed": true,
6804
8326
  "internalType": "address",
6805
- "name": "feed",
8327
+ "name": "mainOracle",
8328
+ "type": "address"
8329
+ },
8330
+ {
8331
+ "indexed": true,
8332
+ "internalType": "address",
8333
+ "name": "pivotOracle",
6806
8334
  "type": "address"
6807
8335
  },
6808
8336
  {
6809
8337
  "indexed": false,
6810
- "internalType": "uint256",
6811
- "name": "maxStalePeriod",
6812
- "type": "uint256"
8338
+ "internalType": "address",
8339
+ "name": "fallbackOracle",
8340
+ "type": "address"
6813
8341
  }
6814
8342
  ],
6815
8343
  "name": "TokenConfigAdded",
6816
8344
  "type": "event"
6817
8345
  },
8346
+ {
8347
+ "anonymous": false,
8348
+ "inputs": [
8349
+ {
8350
+ "indexed": false,
8351
+ "internalType": "address",
8352
+ "name": "account",
8353
+ "type": "address"
8354
+ }
8355
+ ],
8356
+ "name": "Unpaused",
8357
+ "type": "event"
8358
+ },
6818
8359
  {
6819
8360
  "inputs": [],
6820
8361
  "name": "BNB_ADDR",
@@ -6828,6 +8369,19 @@
6828
8369
  "stateMutability": "view",
6829
8370
  "type": "function"
6830
8371
  },
8372
+ {
8373
+ "inputs": [],
8374
+ "name": "INVALID_PRICE",
8375
+ "outputs": [
8376
+ {
8377
+ "internalType": "uint256",
8378
+ "name": "",
8379
+ "type": "uint256"
8380
+ }
8381
+ ],
8382
+ "stateMutability": "view",
8383
+ "type": "function"
8384
+ },
6831
8385
  {
6832
8386
  "inputs": [],
6833
8387
  "name": "acceptOwnership",
@@ -6848,6 +8402,71 @@
6848
8402
  "stateMutability": "view",
6849
8403
  "type": "function"
6850
8404
  },
8405
+ {
8406
+ "inputs": [],
8407
+ "name": "boundValidator",
8408
+ "outputs": [
8409
+ {
8410
+ "internalType": "contract BoundValidatorInterface",
8411
+ "name": "",
8412
+ "type": "address"
8413
+ }
8414
+ ],
8415
+ "stateMutability": "view",
8416
+ "type": "function"
8417
+ },
8418
+ {
8419
+ "inputs": [
8420
+ {
8421
+ "internalType": "address",
8422
+ "name": "asset",
8423
+ "type": "address"
8424
+ },
8425
+ {
8426
+ "internalType": "enum ResilientOracle.OracleRole",
8427
+ "name": "role",
8428
+ "type": "uint8"
8429
+ },
8430
+ {
8431
+ "internalType": "bool",
8432
+ "name": "enable",
8433
+ "type": "bool"
8434
+ }
8435
+ ],
8436
+ "name": "enableOracle",
8437
+ "outputs": [],
8438
+ "stateMutability": "nonpayable",
8439
+ "type": "function"
8440
+ },
8441
+ {
8442
+ "inputs": [
8443
+ {
8444
+ "internalType": "address",
8445
+ "name": "asset",
8446
+ "type": "address"
8447
+ },
8448
+ {
8449
+ "internalType": "enum ResilientOracle.OracleRole",
8450
+ "name": "role",
8451
+ "type": "uint8"
8452
+ }
8453
+ ],
8454
+ "name": "getOracle",
8455
+ "outputs": [
8456
+ {
8457
+ "internalType": "address",
8458
+ "name": "oracle",
8459
+ "type": "address"
8460
+ },
8461
+ {
8462
+ "internalType": "bool",
8463
+ "name": "enabled",
8464
+ "type": "bool"
8465
+ }
8466
+ ],
8467
+ "stateMutability": "view",
8468
+ "type": "function"
8469
+ },
6851
8470
  {
6852
8471
  "inputs": [
6853
8472
  {
@@ -6867,6 +8486,61 @@
6867
8486
  "stateMutability": "view",
6868
8487
  "type": "function"
6869
8488
  },
8489
+ {
8490
+ "inputs": [
8491
+ {
8492
+ "internalType": "address",
8493
+ "name": "asset",
8494
+ "type": "address"
8495
+ }
8496
+ ],
8497
+ "name": "getTokenConfig",
8498
+ "outputs": [
8499
+ {
8500
+ "components": [
8501
+ {
8502
+ "internalType": "address",
8503
+ "name": "asset",
8504
+ "type": "address"
8505
+ },
8506
+ {
8507
+ "internalType": "address[3]",
8508
+ "name": "oracles",
8509
+ "type": "address[3]"
8510
+ },
8511
+ {
8512
+ "internalType": "bool[3]",
8513
+ "name": "enableFlagsForOracles",
8514
+ "type": "bool[3]"
8515
+ }
8516
+ ],
8517
+ "internalType": "struct ResilientOracle.TokenConfig",
8518
+ "name": "",
8519
+ "type": "tuple"
8520
+ }
8521
+ ],
8522
+ "stateMutability": "view",
8523
+ "type": "function"
8524
+ },
8525
+ {
8526
+ "inputs": [
8527
+ {
8528
+ "internalType": "address",
8529
+ "name": "vToken",
8530
+ "type": "address"
8531
+ }
8532
+ ],
8533
+ "name": "getUnderlyingPrice",
8534
+ "outputs": [
8535
+ {
8536
+ "internalType": "uint256",
8537
+ "name": "",
8538
+ "type": "uint256"
8539
+ }
8540
+ ],
8541
+ "stateMutability": "view",
8542
+ "type": "function"
8543
+ },
6870
8544
  {
6871
8545
  "inputs": [
6872
8546
  {
@@ -6895,31 +8569,32 @@
6895
8569
  },
6896
8570
  {
6897
8571
  "inputs": [],
6898
- "name": "pendingOwner",
8572
+ "name": "pause",
8573
+ "outputs": [],
8574
+ "stateMutability": "nonpayable",
8575
+ "type": "function"
8576
+ },
8577
+ {
8578
+ "inputs": [],
8579
+ "name": "paused",
6899
8580
  "outputs": [
6900
8581
  {
6901
- "internalType": "address",
8582
+ "internalType": "bool",
6902
8583
  "name": "",
6903
- "type": "address"
8584
+ "type": "bool"
6904
8585
  }
6905
8586
  ],
6906
8587
  "stateMutability": "view",
6907
8588
  "type": "function"
6908
8589
  },
6909
8590
  {
6910
- "inputs": [
6911
- {
6912
- "internalType": "address",
6913
- "name": "",
6914
- "type": "address"
6915
- }
6916
- ],
6917
- "name": "prices",
8591
+ "inputs": [],
8592
+ "name": "pendingOwner",
6918
8593
  "outputs": [
6919
8594
  {
6920
- "internalType": "uint256",
8595
+ "internalType": "address",
6921
8596
  "name": "",
6922
- "type": "uint256"
8597
+ "type": "address"
6923
8598
  }
6924
8599
  ],
6925
8600
  "stateMutability": "view",
@@ -6953,12 +8628,17 @@
6953
8628
  "type": "address"
6954
8629
  },
6955
8630
  {
6956
- "internalType": "uint256",
6957
- "name": "price",
6958
- "type": "uint256"
8631
+ "internalType": "address",
8632
+ "name": "oracle",
8633
+ "type": "address"
8634
+ },
8635
+ {
8636
+ "internalType": "enum ResilientOracle.OracleRole",
8637
+ "name": "role",
8638
+ "type": "uint8"
6959
8639
  }
6960
8640
  ],
6961
- "name": "setDirectPrice",
8641
+ "name": "setOracle",
6962
8642
  "outputs": [],
6963
8643
  "stateMutability": "nonpayable",
6964
8644
  "type": "function"
@@ -6973,17 +8653,17 @@
6973
8653
  "type": "address"
6974
8654
  },
6975
8655
  {
6976
- "internalType": "address",
6977
- "name": "feed",
6978
- "type": "address"
8656
+ "internalType": "address[3]",
8657
+ "name": "oracles",
8658
+ "type": "address[3]"
6979
8659
  },
6980
8660
  {
6981
- "internalType": "uint256",
6982
- "name": "maxStalePeriod",
6983
- "type": "uint256"
8661
+ "internalType": "bool[3]",
8662
+ "name": "enableFlagsForOracles",
8663
+ "type": "bool[3]"
6984
8664
  }
6985
8665
  ],
6986
- "internalType": "struct ChainlinkOracle.TokenConfig",
8666
+ "internalType": "struct ResilientOracle.TokenConfig",
6987
8667
  "name": "tokenConfig",
6988
8668
  "type": "tuple"
6989
8669
  }
@@ -7003,17 +8683,17 @@
7003
8683
  "type": "address"
7004
8684
  },
7005
8685
  {
7006
- "internalType": "address",
7007
- "name": "feed",
7008
- "type": "address"
8686
+ "internalType": "address[3]",
8687
+ "name": "oracles",
8688
+ "type": "address[3]"
7009
8689
  },
7010
8690
  {
7011
- "internalType": "uint256",
7012
- "name": "maxStalePeriod",
7013
- "type": "uint256"
8691
+ "internalType": "bool[3]",
8692
+ "name": "enableFlagsForOracles",
8693
+ "type": "bool[3]"
7014
8694
  }
7015
8695
  ],
7016
- "internalType": "struct ChainlinkOracle.TokenConfig[]",
8696
+ "internalType": "struct ResilientOracle.TokenConfig[]",
7017
8697
  "name": "tokenConfigs_",
7018
8698
  "type": "tuple[]"
7019
8699
  }
@@ -7023,35 +8703,6 @@
7023
8703
  "stateMutability": "nonpayable",
7024
8704
  "type": "function"
7025
8705
  },
7026
- {
7027
- "inputs": [
7028
- {
7029
- "internalType": "address",
7030
- "name": "",
7031
- "type": "address"
7032
- }
7033
- ],
7034
- "name": "tokenConfigs",
7035
- "outputs": [
7036
- {
7037
- "internalType": "address",
7038
- "name": "asset",
7039
- "type": "address"
7040
- },
7041
- {
7042
- "internalType": "address",
7043
- "name": "feed",
7044
- "type": "address"
7045
- },
7046
- {
7047
- "internalType": "uint256",
7048
- "name": "maxStalePeriod",
7049
- "type": "uint256"
7050
- }
7051
- ],
7052
- "stateMutability": "view",
7053
- "type": "function"
7054
- },
7055
8706
  {
7056
8707
  "inputs": [
7057
8708
  {
@@ -7064,105 +8715,11 @@
7064
8715
  "outputs": [],
7065
8716
  "stateMutability": "nonpayable",
7066
8717
  "type": "function"
7067
- }
7068
- ]
7069
- },
7070
- "RedStoneOracle_Proxy": {
7071
- "address": "0x0Af51d1504ac5B711A9EAFe2fAC11A51d32029Ad",
7072
- "abi": [
7073
- {
7074
- "inputs": [
7075
- {
7076
- "internalType": "address",
7077
- "name": "_logic",
7078
- "type": "address"
7079
- },
7080
- {
7081
- "internalType": "address",
7082
- "name": "admin_",
7083
- "type": "address"
7084
- },
7085
- {
7086
- "internalType": "bytes",
7087
- "name": "_data",
7088
- "type": "bytes"
7089
- }
7090
- ],
7091
- "stateMutability": "payable",
7092
- "type": "constructor"
7093
- },
7094
- {
7095
- "anonymous": false,
7096
- "inputs": [
7097
- {
7098
- "indexed": false,
7099
- "internalType": "address",
7100
- "name": "previousAdmin",
7101
- "type": "address"
7102
- },
7103
- {
7104
- "indexed": false,
7105
- "internalType": "address",
7106
- "name": "newAdmin",
7107
- "type": "address"
7108
- }
7109
- ],
7110
- "name": "AdminChanged",
7111
- "type": "event"
7112
- },
7113
- {
7114
- "anonymous": false,
7115
- "inputs": [
7116
- {
7117
- "indexed": true,
7118
- "internalType": "address",
7119
- "name": "beacon",
7120
- "type": "address"
7121
- }
7122
- ],
7123
- "name": "BeaconUpgraded",
7124
- "type": "event"
7125
- },
7126
- {
7127
- "anonymous": false,
7128
- "inputs": [
7129
- {
7130
- "indexed": true,
7131
- "internalType": "address",
7132
- "name": "implementation",
7133
- "type": "address"
7134
- }
7135
- ],
7136
- "name": "Upgraded",
7137
- "type": "event"
7138
- },
7139
- {
7140
- "stateMutability": "payable",
7141
- "type": "fallback"
7142
- },
7143
- {
7144
- "inputs": [],
7145
- "name": "admin",
7146
- "outputs": [
7147
- {
7148
- "internalType": "address",
7149
- "name": "admin_",
7150
- "type": "address"
7151
- }
7152
- ],
7153
- "stateMutability": "nonpayable",
7154
- "type": "function"
7155
8718
  },
7156
8719
  {
7157
8720
  "inputs": [],
7158
- "name": "implementation",
7159
- "outputs": [
7160
- {
7161
- "internalType": "address",
7162
- "name": "implementation_",
7163
- "type": "address"
7164
- }
7165
- ],
8721
+ "name": "unpause",
8722
+ "outputs": [],
7166
8723
  "stateMutability": "nonpayable",
7167
8724
  "type": "function"
7168
8725
  },
@@ -7170,11 +8727,11 @@
7170
8727
  "inputs": [
7171
8728
  {
7172
8729
  "internalType": "address",
7173
- "name": "newImplementation",
8730
+ "name": "asset",
7174
8731
  "type": "address"
7175
8732
  }
7176
8733
  ],
7177
- "name": "upgradeTo",
8734
+ "name": "updateAssetPrice",
7178
8735
  "outputs": [],
7179
8736
  "stateMutability": "nonpayable",
7180
8737
  "type": "function"
@@ -7183,138 +8740,87 @@
7183
8740
  "inputs": [
7184
8741
  {
7185
8742
  "internalType": "address",
7186
- "name": "newImplementation",
8743
+ "name": "vToken",
7187
8744
  "type": "address"
7188
- },
7189
- {
7190
- "internalType": "bytes",
7191
- "name": "data",
7192
- "type": "bytes"
7193
8745
  }
7194
8746
  ],
7195
- "name": "upgradeToAndCall",
8747
+ "name": "updatePrice",
7196
8748
  "outputs": [],
7197
- "stateMutability": "payable",
7198
- "type": "function"
7199
- },
7200
- {
7201
- "stateMutability": "payable",
7202
- "type": "receive"
7203
- }
7204
- ]
7205
- },
7206
- "ResilientOracle": {
7207
- "address": "0x3cD69251D04A28d887Ac14cbe2E14c52F3D57823",
7208
- "abi": [
7209
- {
7210
- "anonymous": false,
7211
- "inputs": [
7212
- {
7213
- "indexed": false,
7214
- "internalType": "address",
7215
- "name": "previousAdmin",
7216
- "type": "address"
7217
- },
7218
- {
7219
- "indexed": false,
7220
- "internalType": "address",
7221
- "name": "newAdmin",
7222
- "type": "address"
7223
- }
7224
- ],
7225
- "name": "AdminChanged",
7226
- "type": "event"
7227
- },
7228
- {
7229
- "anonymous": false,
7230
- "inputs": [
7231
- {
7232
- "indexed": true,
7233
- "internalType": "address",
7234
- "name": "beacon",
7235
- "type": "address"
7236
- }
7237
- ],
7238
- "name": "BeaconUpgraded",
7239
- "type": "event"
7240
- },
7241
- {
7242
- "anonymous": false,
7243
- "inputs": [
7244
- {
7245
- "indexed": true,
7246
- "internalType": "address",
7247
- "name": "implementation",
7248
- "type": "address"
7249
- }
7250
- ],
7251
- "name": "Upgraded",
7252
- "type": "event"
7253
- },
7254
- {
7255
- "stateMutability": "payable",
7256
- "type": "fallback"
7257
- },
7258
- {
7259
- "inputs": [],
7260
- "name": "admin",
7261
- "outputs": [
7262
- {
7263
- "internalType": "address",
7264
- "name": "admin_",
7265
- "type": "address"
7266
- }
7267
- ],
7268
8749
  "stateMutability": "nonpayable",
7269
8750
  "type": "function"
7270
8751
  },
7271
8752
  {
7272
8753
  "inputs": [],
7273
- "name": "implementation",
8754
+ "name": "vBnb",
7274
8755
  "outputs": [
7275
8756
  {
7276
8757
  "internalType": "address",
7277
- "name": "implementation_",
8758
+ "name": "",
7278
8759
  "type": "address"
7279
8760
  }
7280
8761
  ],
7281
- "stateMutability": "nonpayable",
8762
+ "stateMutability": "view",
7282
8763
  "type": "function"
7283
8764
  },
7284
8765
  {
7285
- "inputs": [
8766
+ "inputs": [],
8767
+ "name": "vai",
8768
+ "outputs": [
7286
8769
  {
7287
8770
  "internalType": "address",
7288
- "name": "newImplementation",
8771
+ "name": "",
7289
8772
  "type": "address"
7290
8773
  }
7291
8774
  ],
7292
- "name": "upgradeTo",
7293
- "outputs": [],
7294
- "stateMutability": "nonpayable",
8775
+ "stateMutability": "view",
7295
8776
  "type": "function"
7296
8777
  },
7297
8778
  {
7298
8779
  "inputs": [
7299
8780
  {
7300
8781
  "internalType": "address",
7301
- "name": "newImplementation",
8782
+ "name": "_logic",
8783
+ "type": "address"
8784
+ },
8785
+ {
8786
+ "internalType": "address",
8787
+ "name": "admin_",
7302
8788
  "type": "address"
7303
8789
  },
7304
8790
  {
7305
8791
  "internalType": "bytes",
7306
- "name": "data",
8792
+ "name": "_data",
7307
8793
  "type": "bytes"
7308
8794
  }
7309
8795
  ],
7310
- "name": "upgradeToAndCall",
7311
- "outputs": [],
7312
8796
  "stateMutability": "payable",
7313
- "type": "function"
7314
- },
8797
+ "type": "constructor"
8798
+ }
8799
+ ]
8800
+ },
8801
+ "ResilientOracle_Implementation": {
8802
+ "address": "0x35cC3b99985F9d970aEcc9BD83d5Ac78a074a896",
8803
+ "abi": [
7315
8804
  {
7316
- "stateMutability": "payable",
7317
- "type": "receive"
8805
+ "inputs": [
8806
+ {
8807
+ "internalType": "address",
8808
+ "name": "vBnbAddress",
8809
+ "type": "address"
8810
+ },
8811
+ {
8812
+ "internalType": "address",
8813
+ "name": "vaiAddress",
8814
+ "type": "address"
8815
+ },
8816
+ {
8817
+ "internalType": "contract BoundValidatorInterface",
8818
+ "name": "_boundValidator",
8819
+ "type": "address"
8820
+ }
8821
+ ],
8822
+ "stateMutability": "nonpayable",
8823
+ "type": "constructor"
7318
8824
  },
7319
8825
  {
7320
8826
  "inputs": [
@@ -7923,462 +9429,293 @@
7923
9429
  {
7924
9430
  "inputs": [],
7925
9431
  "name": "vai",
7926
- "outputs": [
7927
- {
7928
- "internalType": "address",
7929
- "name": "",
7930
- "type": "address"
7931
- }
7932
- ],
7933
- "stateMutability": "view",
7934
- "type": "function"
7935
- },
7936
- {
7937
- "inputs": [
7938
- {
7939
- "internalType": "address",
7940
- "name": "_logic",
7941
- "type": "address"
7942
- },
7943
- {
7944
- "internalType": "address",
7945
- "name": "admin_",
7946
- "type": "address"
7947
- },
7948
- {
7949
- "internalType": "bytes",
7950
- "name": "_data",
7951
- "type": "bytes"
7952
- }
7953
- ],
7954
- "stateMutability": "payable",
7955
- "type": "constructor"
7956
- }
7957
- ]
7958
- },
7959
- "ResilientOracle_Implementation": {
7960
- "address": "0x35cC3b99985F9d970aEcc9BD83d5Ac78a074a896",
7961
- "abi": [
7962
- {
7963
- "inputs": [
7964
- {
7965
- "internalType": "address",
7966
- "name": "vBnbAddress",
7967
- "type": "address"
7968
- },
7969
- {
7970
- "internalType": "address",
7971
- "name": "vaiAddress",
7972
- "type": "address"
7973
- },
7974
- {
7975
- "internalType": "contract BoundValidatorInterface",
7976
- "name": "_boundValidator",
7977
- "type": "address"
7978
- }
7979
- ],
7980
- "stateMutability": "nonpayable",
7981
- "type": "constructor"
7982
- },
7983
- {
7984
- "inputs": [
7985
- {
7986
- "internalType": "address",
7987
- "name": "sender",
7988
- "type": "address"
7989
- },
7990
- {
7991
- "internalType": "address",
7992
- "name": "calledContract",
7993
- "type": "address"
7994
- },
7995
- {
7996
- "internalType": "string",
7997
- "name": "methodSignature",
7998
- "type": "string"
7999
- }
8000
- ],
8001
- "name": "Unauthorized",
8002
- "type": "error"
8003
- },
8004
- {
8005
- "anonymous": false,
8006
- "inputs": [
8007
- {
8008
- "indexed": false,
8009
- "internalType": "uint8",
8010
- "name": "version",
8011
- "type": "uint8"
8012
- }
8013
- ],
8014
- "name": "Initialized",
8015
- "type": "event"
8016
- },
8017
- {
8018
- "anonymous": false,
8019
- "inputs": [
8020
- {
8021
- "indexed": false,
8022
- "internalType": "address",
8023
- "name": "oldAccessControlManager",
8024
- "type": "address"
8025
- },
8026
- {
8027
- "indexed": false,
8028
- "internalType": "address",
8029
- "name": "newAccessControlManager",
8030
- "type": "address"
8031
- }
8032
- ],
8033
- "name": "NewAccessControlManager",
8034
- "type": "event"
8035
- },
8036
- {
8037
- "anonymous": false,
8038
- "inputs": [
8039
- {
8040
- "indexed": true,
8041
- "internalType": "address",
8042
- "name": "asset",
8043
- "type": "address"
8044
- },
8045
- {
8046
- "indexed": true,
8047
- "internalType": "uint256",
8048
- "name": "role",
8049
- "type": "uint256"
8050
- },
8051
- {
8052
- "indexed": true,
8053
- "internalType": "bool",
8054
- "name": "enable",
8055
- "type": "bool"
8056
- }
8057
- ],
8058
- "name": "OracleEnabled",
8059
- "type": "event"
8060
- },
8061
- {
8062
- "anonymous": false,
8063
- "inputs": [
8064
- {
8065
- "indexed": true,
8066
- "internalType": "address",
8067
- "name": "asset",
8068
- "type": "address"
8069
- },
8070
- {
8071
- "indexed": true,
8072
- "internalType": "address",
8073
- "name": "oracle",
8074
- "type": "address"
8075
- },
8076
- {
8077
- "indexed": true,
8078
- "internalType": "uint256",
8079
- "name": "role",
8080
- "type": "uint256"
8081
- }
8082
- ],
8083
- "name": "OracleSet",
8084
- "type": "event"
8085
- },
8086
- {
8087
- "anonymous": false,
8088
- "inputs": [
8089
- {
8090
- "indexed": true,
8091
- "internalType": "address",
8092
- "name": "previousOwner",
8093
- "type": "address"
8094
- },
8095
- {
8096
- "indexed": true,
8097
- "internalType": "address",
8098
- "name": "newOwner",
8099
- "type": "address"
8100
- }
8101
- ],
8102
- "name": "OwnershipTransferStarted",
8103
- "type": "event"
8104
- },
8105
- {
8106
- "anonymous": false,
8107
- "inputs": [
8108
- {
8109
- "indexed": true,
8110
- "internalType": "address",
8111
- "name": "previousOwner",
8112
- "type": "address"
8113
- },
8114
- {
8115
- "indexed": true,
8116
- "internalType": "address",
8117
- "name": "newOwner",
8118
- "type": "address"
8119
- }
8120
- ],
8121
- "name": "OwnershipTransferred",
8122
- "type": "event"
8123
- },
8124
- {
8125
- "anonymous": false,
8126
- "inputs": [
9432
+ "outputs": [
8127
9433
  {
8128
- "indexed": false,
8129
9434
  "internalType": "address",
8130
- "name": "account",
9435
+ "name": "",
8131
9436
  "type": "address"
8132
9437
  }
8133
9438
  ],
8134
- "name": "Paused",
8135
- "type": "event"
8136
- },
9439
+ "stateMutability": "view",
9440
+ "type": "function"
9441
+ }
9442
+ ]
9443
+ },
9444
+ "ResilientOracle_Proxy": {
9445
+ "address": "0x3cD69251D04A28d887Ac14cbe2E14c52F3D57823",
9446
+ "abi": [
8137
9447
  {
8138
- "anonymous": false,
8139
9448
  "inputs": [
8140
9449
  {
8141
- "indexed": true,
8142
9450
  "internalType": "address",
8143
- "name": "asset",
9451
+ "name": "_logic",
8144
9452
  "type": "address"
8145
9453
  },
8146
9454
  {
8147
- "indexed": true,
8148
9455
  "internalType": "address",
8149
- "name": "mainOracle",
9456
+ "name": "admin_",
8150
9457
  "type": "address"
8151
9458
  },
8152
9459
  {
8153
- "indexed": true,
9460
+ "internalType": "bytes",
9461
+ "name": "_data",
9462
+ "type": "bytes"
9463
+ }
9464
+ ],
9465
+ "stateMutability": "payable",
9466
+ "type": "constructor"
9467
+ },
9468
+ {
9469
+ "anonymous": false,
9470
+ "inputs": [
9471
+ {
9472
+ "indexed": false,
8154
9473
  "internalType": "address",
8155
- "name": "pivotOracle",
9474
+ "name": "previousAdmin",
8156
9475
  "type": "address"
8157
9476
  },
8158
9477
  {
8159
9478
  "indexed": false,
8160
9479
  "internalType": "address",
8161
- "name": "fallbackOracle",
9480
+ "name": "newAdmin",
8162
9481
  "type": "address"
8163
9482
  }
8164
9483
  ],
8165
- "name": "TokenConfigAdded",
9484
+ "name": "AdminChanged",
8166
9485
  "type": "event"
8167
9486
  },
8168
9487
  {
8169
9488
  "anonymous": false,
8170
9489
  "inputs": [
8171
9490
  {
8172
- "indexed": false,
9491
+ "indexed": true,
8173
9492
  "internalType": "address",
8174
- "name": "account",
9493
+ "name": "beacon",
8175
9494
  "type": "address"
8176
9495
  }
8177
9496
  ],
8178
- "name": "Unpaused",
9497
+ "name": "BeaconUpgraded",
8179
9498
  "type": "event"
8180
9499
  },
8181
9500
  {
8182
- "inputs": [],
8183
- "name": "BNB_ADDR",
8184
- "outputs": [
9501
+ "anonymous": false,
9502
+ "inputs": [
8185
9503
  {
9504
+ "indexed": true,
8186
9505
  "internalType": "address",
8187
- "name": "",
9506
+ "name": "implementation",
8188
9507
  "type": "address"
8189
9508
  }
8190
9509
  ],
8191
- "stateMutability": "view",
8192
- "type": "function"
9510
+ "name": "Upgraded",
9511
+ "type": "event"
9512
+ },
9513
+ {
9514
+ "stateMutability": "payable",
9515
+ "type": "fallback"
8193
9516
  },
8194
9517
  {
8195
9518
  "inputs": [],
8196
- "name": "INVALID_PRICE",
9519
+ "name": "admin",
8197
9520
  "outputs": [
8198
9521
  {
8199
- "internalType": "uint256",
8200
- "name": "",
8201
- "type": "uint256"
9522
+ "internalType": "address",
9523
+ "name": "admin_",
9524
+ "type": "address"
8202
9525
  }
8203
9526
  ],
8204
- "stateMutability": "view",
8205
- "type": "function"
8206
- },
8207
- {
8208
- "inputs": [],
8209
- "name": "acceptOwnership",
8210
- "outputs": [],
8211
9527
  "stateMutability": "nonpayable",
8212
9528
  "type": "function"
8213
9529
  },
8214
9530
  {
8215
9531
  "inputs": [],
8216
- "name": "accessControlManager",
9532
+ "name": "implementation",
8217
9533
  "outputs": [
8218
9534
  {
8219
- "internalType": "contract IAccessControlManagerV8",
8220
- "name": "",
9535
+ "internalType": "address",
9536
+ "name": "implementation_",
8221
9537
  "type": "address"
8222
9538
  }
8223
9539
  ],
8224
- "stateMutability": "view",
9540
+ "stateMutability": "nonpayable",
8225
9541
  "type": "function"
8226
9542
  },
8227
9543
  {
8228
- "inputs": [],
8229
- "name": "boundValidator",
8230
- "outputs": [
9544
+ "inputs": [
8231
9545
  {
8232
- "internalType": "contract BoundValidatorInterface",
8233
- "name": "",
9546
+ "internalType": "address",
9547
+ "name": "newImplementation",
8234
9548
  "type": "address"
8235
9549
  }
8236
9550
  ],
8237
- "stateMutability": "view",
9551
+ "name": "upgradeTo",
9552
+ "outputs": [],
9553
+ "stateMutability": "nonpayable",
8238
9554
  "type": "function"
8239
9555
  },
8240
9556
  {
8241
9557
  "inputs": [
8242
9558
  {
8243
9559
  "internalType": "address",
8244
- "name": "asset",
9560
+ "name": "newImplementation",
8245
9561
  "type": "address"
8246
9562
  },
8247
9563
  {
8248
- "internalType": "enum ResilientOracle.OracleRole",
8249
- "name": "role",
8250
- "type": "uint8"
8251
- },
8252
- {
8253
- "internalType": "bool",
8254
- "name": "enable",
8255
- "type": "bool"
9564
+ "internalType": "bytes",
9565
+ "name": "data",
9566
+ "type": "bytes"
8256
9567
  }
8257
9568
  ],
8258
- "name": "enableOracle",
9569
+ "name": "upgradeToAndCall",
8259
9570
  "outputs": [],
8260
- "stateMutability": "nonpayable",
9571
+ "stateMutability": "payable",
8261
9572
  "type": "function"
8262
9573
  },
8263
9574
  {
9575
+ "stateMutability": "payable",
9576
+ "type": "receive"
9577
+ }
9578
+ ]
9579
+ },
9580
+ "SlisBNBOracle": {
9581
+ "address": "0x57e9230b8e57561e0Be71075A0BAC1B6e6a3369E",
9582
+ "abi": [
9583
+ {
9584
+ "anonymous": false,
8264
9585
  "inputs": [
8265
9586
  {
9587
+ "indexed": false,
8266
9588
  "internalType": "address",
8267
- "name": "asset",
9589
+ "name": "previousAdmin",
8268
9590
  "type": "address"
8269
9591
  },
8270
9592
  {
8271
- "internalType": "enum ResilientOracle.OracleRole",
8272
- "name": "role",
8273
- "type": "uint8"
9593
+ "indexed": false,
9594
+ "internalType": "address",
9595
+ "name": "newAdmin",
9596
+ "type": "address"
8274
9597
  }
8275
9598
  ],
8276
- "name": "getOracle",
8277
- "outputs": [
9599
+ "name": "AdminChanged",
9600
+ "type": "event"
9601
+ },
9602
+ {
9603
+ "anonymous": false,
9604
+ "inputs": [
8278
9605
  {
9606
+ "indexed": true,
8279
9607
  "internalType": "address",
8280
- "name": "oracle",
9608
+ "name": "beacon",
8281
9609
  "type": "address"
8282
- },
8283
- {
8284
- "internalType": "bool",
8285
- "name": "enabled",
8286
- "type": "bool"
8287
9610
  }
8288
9611
  ],
8289
- "stateMutability": "view",
8290
- "type": "function"
9612
+ "name": "BeaconUpgraded",
9613
+ "type": "event"
8291
9614
  },
8292
9615
  {
9616
+ "anonymous": false,
8293
9617
  "inputs": [
8294
9618
  {
9619
+ "indexed": true,
8295
9620
  "internalType": "address",
8296
- "name": "asset",
9621
+ "name": "implementation",
8297
9622
  "type": "address"
8298
9623
  }
8299
9624
  ],
8300
- "name": "getPrice",
9625
+ "name": "Upgraded",
9626
+ "type": "event"
9627
+ },
9628
+ {
9629
+ "stateMutability": "payable",
9630
+ "type": "fallback"
9631
+ },
9632
+ {
9633
+ "inputs": [],
9634
+ "name": "admin",
8301
9635
  "outputs": [
8302
9636
  {
8303
- "internalType": "uint256",
8304
- "name": "",
8305
- "type": "uint256"
9637
+ "internalType": "address",
9638
+ "name": "admin_",
9639
+ "type": "address"
8306
9640
  }
8307
9641
  ],
8308
- "stateMutability": "view",
9642
+ "stateMutability": "nonpayable",
8309
9643
  "type": "function"
8310
9644
  },
8311
9645
  {
8312
- "inputs": [
9646
+ "inputs": [],
9647
+ "name": "implementation",
9648
+ "outputs": [
8313
9649
  {
8314
9650
  "internalType": "address",
8315
- "name": "asset",
9651
+ "name": "implementation_",
8316
9652
  "type": "address"
8317
9653
  }
8318
9654
  ],
8319
- "name": "getTokenConfig",
8320
- "outputs": [
9655
+ "stateMutability": "nonpayable",
9656
+ "type": "function"
9657
+ },
9658
+ {
9659
+ "inputs": [
8321
9660
  {
8322
- "components": [
8323
- {
8324
- "internalType": "address",
8325
- "name": "asset",
8326
- "type": "address"
8327
- },
8328
- {
8329
- "internalType": "address[3]",
8330
- "name": "oracles",
8331
- "type": "address[3]"
8332
- },
8333
- {
8334
- "internalType": "bool[3]",
8335
- "name": "enableFlagsForOracles",
8336
- "type": "bool[3]"
8337
- }
8338
- ],
8339
- "internalType": "struct ResilientOracle.TokenConfig",
8340
- "name": "",
8341
- "type": "tuple"
9661
+ "internalType": "address",
9662
+ "name": "newImplementation",
9663
+ "type": "address"
8342
9664
  }
8343
9665
  ],
8344
- "stateMutability": "view",
9666
+ "name": "upgradeTo",
9667
+ "outputs": [],
9668
+ "stateMutability": "nonpayable",
8345
9669
  "type": "function"
8346
9670
  },
8347
9671
  {
8348
9672
  "inputs": [
8349
9673
  {
8350
9674
  "internalType": "address",
8351
- "name": "vToken",
9675
+ "name": "newImplementation",
8352
9676
  "type": "address"
8353
- }
8354
- ],
8355
- "name": "getUnderlyingPrice",
8356
- "outputs": [
9677
+ },
8357
9678
  {
8358
- "internalType": "uint256",
8359
- "name": "",
8360
- "type": "uint256"
9679
+ "internalType": "bytes",
9680
+ "name": "data",
9681
+ "type": "bytes"
8361
9682
  }
8362
9683
  ],
8363
- "stateMutability": "view",
9684
+ "name": "upgradeToAndCall",
9685
+ "outputs": [],
9686
+ "stateMutability": "payable",
8364
9687
  "type": "function"
8365
9688
  },
8366
9689
  {
8367
- "inputs": [
9690
+ "stateMutability": "payable",
9691
+ "type": "receive"
9692
+ },
9693
+ {
9694
+ "inputs": [],
9695
+ "name": "InvalidTokenAddress",
9696
+ "type": "error"
9697
+ },
9698
+ {
9699
+ "inputs": [],
9700
+ "name": "ZeroAddressNotAllowed",
9701
+ "type": "error"
9702
+ },
9703
+ {
9704
+ "inputs": [],
9705
+ "name": "CORRELATED_TOKEN",
9706
+ "outputs": [
8368
9707
  {
8369
9708
  "internalType": "address",
8370
- "name": "accessControlManager_",
9709
+ "name": "",
8371
9710
  "type": "address"
8372
9711
  }
8373
9712
  ],
8374
- "name": "initialize",
8375
- "outputs": [],
8376
- "stateMutability": "nonpayable",
9713
+ "stateMutability": "view",
8377
9714
  "type": "function"
8378
9715
  },
8379
9716
  {
8380
9717
  "inputs": [],
8381
- "name": "owner",
9718
+ "name": "NATIVE_TOKEN_ADDR",
8382
9719
  "outputs": [
8383
9720
  {
8384
9721
  "internalType": "address",
@@ -8391,19 +9728,25 @@
8391
9728
  },
8392
9729
  {
8393
9730
  "inputs": [],
8394
- "name": "pause",
8395
- "outputs": [],
8396
- "stateMutability": "nonpayable",
9731
+ "name": "RESILIENT_ORACLE",
9732
+ "outputs": [
9733
+ {
9734
+ "internalType": "contract OracleInterface",
9735
+ "name": "",
9736
+ "type": "address"
9737
+ }
9738
+ ],
9739
+ "stateMutability": "view",
8397
9740
  "type": "function"
8398
9741
  },
8399
9742
  {
8400
9743
  "inputs": [],
8401
- "name": "paused",
9744
+ "name": "STAKE_MANAGER",
8402
9745
  "outputs": [
8403
9746
  {
8404
- "internalType": "bool",
9747
+ "internalType": "contract ISynclubStakeManager",
8405
9748
  "name": "",
8406
- "type": "bool"
9749
+ "type": "address"
8407
9750
  }
8408
9751
  ],
8409
9752
  "stateMutability": "view",
@@ -8411,7 +9754,7 @@
8411
9754
  },
8412
9755
  {
8413
9756
  "inputs": [],
8414
- "name": "pendingOwner",
9757
+ "name": "UNDERLYING_TOKEN",
8415
9758
  "outputs": [
8416
9759
  {
8417
9760
  "internalType": "address",
@@ -8422,158 +9765,137 @@
8422
9765
  "stateMutability": "view",
8423
9766
  "type": "function"
8424
9767
  },
8425
- {
8426
- "inputs": [],
8427
- "name": "renounceOwnership",
8428
- "outputs": [],
8429
- "stateMutability": "nonpayable",
8430
- "type": "function"
8431
- },
8432
9768
  {
8433
9769
  "inputs": [
8434
9770
  {
8435
9771
  "internalType": "address",
8436
- "name": "accessControlManager_",
9772
+ "name": "asset",
8437
9773
  "type": "address"
8438
9774
  }
8439
9775
  ],
8440
- "name": "setAccessControlManager",
8441
- "outputs": [],
8442
- "stateMutability": "nonpayable",
9776
+ "name": "getPrice",
9777
+ "outputs": [
9778
+ {
9779
+ "internalType": "uint256",
9780
+ "name": "",
9781
+ "type": "uint256"
9782
+ }
9783
+ ],
9784
+ "stateMutability": "view",
8443
9785
  "type": "function"
8444
9786
  },
8445
9787
  {
8446
9788
  "inputs": [
8447
9789
  {
8448
9790
  "internalType": "address",
8449
- "name": "asset",
9791
+ "name": "_logic",
8450
9792
  "type": "address"
8451
9793
  },
8452
9794
  {
8453
9795
  "internalType": "address",
8454
- "name": "oracle",
9796
+ "name": "admin_",
8455
9797
  "type": "address"
8456
9798
  },
8457
9799
  {
8458
- "internalType": "enum ResilientOracle.OracleRole",
8459
- "name": "role",
8460
- "type": "uint8"
9800
+ "internalType": "bytes",
9801
+ "name": "_data",
9802
+ "type": "bytes"
8461
9803
  }
8462
9804
  ],
8463
- "name": "setOracle",
8464
- "outputs": [],
8465
- "stateMutability": "nonpayable",
8466
- "type": "function"
8467
- },
9805
+ "stateMutability": "payable",
9806
+ "type": "constructor"
9807
+ }
9808
+ ]
9809
+ },
9810
+ "SlisBNBOracle_Implementation": {
9811
+ "address": "0x2d8207811E58303c64871e0BdcBD56B99F4b4324",
9812
+ "abi": [
8468
9813
  {
8469
9814
  "inputs": [
8470
9815
  {
8471
- "components": [
8472
- {
8473
- "internalType": "address",
8474
- "name": "asset",
8475
- "type": "address"
8476
- },
8477
- {
8478
- "internalType": "address[3]",
8479
- "name": "oracles",
8480
- "type": "address[3]"
8481
- },
8482
- {
8483
- "internalType": "bool[3]",
8484
- "name": "enableFlagsForOracles",
8485
- "type": "bool[3]"
8486
- }
8487
- ],
8488
- "internalType": "struct ResilientOracle.TokenConfig",
8489
- "name": "tokenConfig",
8490
- "type": "tuple"
9816
+ "internalType": "address",
9817
+ "name": "stakeManager",
9818
+ "type": "address"
9819
+ },
9820
+ {
9821
+ "internalType": "address",
9822
+ "name": "slisBNB",
9823
+ "type": "address"
9824
+ },
9825
+ {
9826
+ "internalType": "address",
9827
+ "name": "resilientOracle",
9828
+ "type": "address"
8491
9829
  }
8492
9830
  ],
8493
- "name": "setTokenConfig",
8494
- "outputs": [],
8495
9831
  "stateMutability": "nonpayable",
8496
- "type": "function"
9832
+ "type": "constructor"
8497
9833
  },
8498
9834
  {
8499
- "inputs": [
9835
+ "inputs": [],
9836
+ "name": "InvalidTokenAddress",
9837
+ "type": "error"
9838
+ },
9839
+ {
9840
+ "inputs": [],
9841
+ "name": "ZeroAddressNotAllowed",
9842
+ "type": "error"
9843
+ },
9844
+ {
9845
+ "inputs": [],
9846
+ "name": "CORRELATED_TOKEN",
9847
+ "outputs": [
8500
9848
  {
8501
- "components": [
8502
- {
8503
- "internalType": "address",
8504
- "name": "asset",
8505
- "type": "address"
8506
- },
8507
- {
8508
- "internalType": "address[3]",
8509
- "name": "oracles",
8510
- "type": "address[3]"
8511
- },
8512
- {
8513
- "internalType": "bool[3]",
8514
- "name": "enableFlagsForOracles",
8515
- "type": "bool[3]"
8516
- }
8517
- ],
8518
- "internalType": "struct ResilientOracle.TokenConfig[]",
8519
- "name": "tokenConfigs_",
8520
- "type": "tuple[]"
9849
+ "internalType": "address",
9850
+ "name": "",
9851
+ "type": "address"
8521
9852
  }
8522
9853
  ],
8523
- "name": "setTokenConfigs",
8524
- "outputs": [],
8525
- "stateMutability": "nonpayable",
9854
+ "stateMutability": "view",
8526
9855
  "type": "function"
8527
9856
  },
8528
9857
  {
8529
- "inputs": [
9858
+ "inputs": [],
9859
+ "name": "NATIVE_TOKEN_ADDR",
9860
+ "outputs": [
8530
9861
  {
8531
9862
  "internalType": "address",
8532
- "name": "newOwner",
9863
+ "name": "",
8533
9864
  "type": "address"
8534
9865
  }
8535
9866
  ],
8536
- "name": "transferOwnership",
8537
- "outputs": [],
8538
- "stateMutability": "nonpayable",
9867
+ "stateMutability": "view",
8539
9868
  "type": "function"
8540
9869
  },
8541
9870
  {
8542
9871
  "inputs": [],
8543
- "name": "unpause",
8544
- "outputs": [],
8545
- "stateMutability": "nonpayable",
8546
- "type": "function"
8547
- },
8548
- {
8549
- "inputs": [
9872
+ "name": "RESILIENT_ORACLE",
9873
+ "outputs": [
8550
9874
  {
8551
- "internalType": "address",
8552
- "name": "asset",
9875
+ "internalType": "contract OracleInterface",
9876
+ "name": "",
8553
9877
  "type": "address"
8554
9878
  }
8555
9879
  ],
8556
- "name": "updateAssetPrice",
8557
- "outputs": [],
8558
- "stateMutability": "nonpayable",
9880
+ "stateMutability": "view",
8559
9881
  "type": "function"
8560
9882
  },
8561
9883
  {
8562
- "inputs": [
9884
+ "inputs": [],
9885
+ "name": "STAKE_MANAGER",
9886
+ "outputs": [
8563
9887
  {
8564
- "internalType": "address",
8565
- "name": "vToken",
9888
+ "internalType": "contract ISynclubStakeManager",
9889
+ "name": "",
8566
9890
  "type": "address"
8567
9891
  }
8568
9892
  ],
8569
- "name": "updatePrice",
8570
- "outputs": [],
8571
- "stateMutability": "nonpayable",
9893
+ "stateMutability": "view",
8572
9894
  "type": "function"
8573
9895
  },
8574
9896
  {
8575
9897
  "inputs": [],
8576
- "name": "vBnb",
9898
+ "name": "UNDERLYING_TOKEN",
8577
9899
  "outputs": [
8578
9900
  {
8579
9901
  "internalType": "address",
@@ -8585,22 +9907,28 @@
8585
9907
  "type": "function"
8586
9908
  },
8587
9909
  {
8588
- "inputs": [],
8589
- "name": "vai",
8590
- "outputs": [
9910
+ "inputs": [
8591
9911
  {
8592
9912
  "internalType": "address",
8593
- "name": "",
9913
+ "name": "asset",
8594
9914
  "type": "address"
8595
9915
  }
8596
9916
  ],
9917
+ "name": "getPrice",
9918
+ "outputs": [
9919
+ {
9920
+ "internalType": "uint256",
9921
+ "name": "",
9922
+ "type": "uint256"
9923
+ }
9924
+ ],
8597
9925
  "stateMutability": "view",
8598
9926
  "type": "function"
8599
9927
  }
8600
9928
  ]
8601
9929
  },
8602
- "ResilientOracle_Proxy": {
8603
- "address": "0x3cD69251D04A28d887Ac14cbe2E14c52F3D57823",
9930
+ "SlisBNBOracle_Proxy": {
9931
+ "address": "0x57e9230b8e57561e0Be71075A0BAC1B6e6a3369E",
8604
9932
  "abi": [
8605
9933
  {
8606
9934
  "inputs": [
@@ -8735,8 +10063,8 @@
8735
10063
  }
8736
10064
  ]
8737
10065
  },
8738
- "SlisBNBOracle": {
8739
- "address": "0x57e9230b8e57561e0Be71075A0BAC1B6e6a3369E",
10066
+ "SolvBTC.BBN_OneJumpRedStoneOracle": {
10067
+ "address": "0x9767348B2e36E649A42b1DEA975D2474F72C6B96",
8740
10068
  "abi": [
8741
10069
  {
8742
10070
  "anonymous": false,
@@ -8873,10 +10201,10 @@
8873
10201
  },
8874
10202
  {
8875
10203
  "inputs": [],
8876
- "name": "NATIVE_TOKEN_ADDR",
10204
+ "name": "INTERMEDIATE_ORACLE",
8877
10205
  "outputs": [
8878
10206
  {
8879
- "internalType": "address",
10207
+ "internalType": "contract OracleInterface",
8880
10208
  "name": "",
8881
10209
  "type": "address"
8882
10210
  }
@@ -8897,19 +10225,6 @@
8897
10225
  "stateMutability": "view",
8898
10226
  "type": "function"
8899
10227
  },
8900
- {
8901
- "inputs": [],
8902
- "name": "STAKE_MANAGER",
8903
- "outputs": [
8904
- {
8905
- "internalType": "contract ISynclubStakeManager",
8906
- "name": "",
8907
- "type": "address"
8908
- }
8909
- ],
8910
- "stateMutability": "view",
8911
- "type": "function"
8912
- },
8913
10228
  {
8914
10229
  "inputs": [],
8915
10230
  "name": "UNDERLYING_TOKEN",
@@ -8965,25 +10280,30 @@
8965
10280
  }
8966
10281
  ]
8967
10282
  },
8968
- "SlisBNBOracle_Implementation": {
8969
- "address": "0x2d8207811E58303c64871e0BdcBD56B99F4b4324",
10283
+ "SolvBTC.BBN_OneJumpRedStoneOracle_Implementation": {
10284
+ "address": "0x2369b65Bad881489F8fE1d8233E756e913F7C6DC",
8970
10285
  "abi": [
8971
10286
  {
8972
10287
  "inputs": [
8973
10288
  {
8974
10289
  "internalType": "address",
8975
- "name": "stakeManager",
10290
+ "name": "correlatedToken",
8976
10291
  "type": "address"
8977
10292
  },
8978
10293
  {
8979
10294
  "internalType": "address",
8980
- "name": "slisBNB",
10295
+ "name": "underlyingToken",
8981
10296
  "type": "address"
8982
10297
  },
8983
10298
  {
8984
10299
  "internalType": "address",
8985
10300
  "name": "resilientOracle",
8986
10301
  "type": "address"
10302
+ },
10303
+ {
10304
+ "internalType": "address",
10305
+ "name": "intermediateOracle",
10306
+ "type": "address"
8987
10307
  }
8988
10308
  ],
8989
10309
  "stateMutability": "nonpayable",
@@ -9014,10 +10334,10 @@
9014
10334
  },
9015
10335
  {
9016
10336
  "inputs": [],
9017
- "name": "NATIVE_TOKEN_ADDR",
10337
+ "name": "INTERMEDIATE_ORACLE",
9018
10338
  "outputs": [
9019
10339
  {
9020
- "internalType": "address",
10340
+ "internalType": "contract OracleInterface",
9021
10341
  "name": "",
9022
10342
  "type": "address"
9023
10343
  }
@@ -9038,19 +10358,6 @@
9038
10358
  "stateMutability": "view",
9039
10359
  "type": "function"
9040
10360
  },
9041
- {
9042
- "inputs": [],
9043
- "name": "STAKE_MANAGER",
9044
- "outputs": [
9045
- {
9046
- "internalType": "contract ISynclubStakeManager",
9047
- "name": "",
9048
- "type": "address"
9049
- }
9050
- ],
9051
- "stateMutability": "view",
9052
- "type": "function"
9053
- },
9054
10361
  {
9055
10362
  "inputs": [],
9056
10363
  "name": "UNDERLYING_TOKEN",
@@ -9085,8 +10392,8 @@
9085
10392
  }
9086
10393
  ]
9087
10394
  },
9088
- "SlisBNBOracle_Proxy": {
9089
- "address": "0x57e9230b8e57561e0Be71075A0BAC1B6e6a3369E",
10395
+ "SolvBTC.BBN_OneJumpRedStoneOracle_Proxy": {
10396
+ "address": "0x9767348B2e36E649A42b1DEA975D2474F72C6B96",
9090
10397
  "abi": [
9091
10398
  {
9092
10399
  "inputs": [