@pendle/core-v2 4.5.1-oracle-beta → 4.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/interfaces/IPPtLpOracle.sol/IPPtLpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPPYLpOracle.sol/IPPYLpOracle.json → IPPtLpOracle.sol/IPPtLpOracle.json} +2 -50
- package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.json +63 -0
- package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.json +35 -0
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/PendlePtLpOracle.sol/PendlePtLpOracle.json +367 -0
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/{PendlePYOracleLib.sol/PendlePYOracleLib.json → PendlePtOracleLib.sol/PendlePtOracleLib.json} +4 -4
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/samples/BoringPtUsdChainlinkOracle.sol/BoringPtUsdChainlinkOracle.json +157 -0
- package/contracts/interfaces/{IPPYLpOracle.sol → IPPtLpOracle.sol} +1 -5
- package/contracts/offchain-helpers/SupplyCapReader.sol +25 -0
- package/contracts/oracles/PendleLpOracleLib.sol +4 -4
- package/contracts/oracles/{PendlePYLpOracle.sol → PendlePtLpOracle.sol} +16 -44
- package/contracts/oracles/{PendlePYOracleLib.sol → PendlePtOracleLib.sol} +1 -31
- package/contracts/oracles/samples/BoringLpGlpOracle.sol +2 -2
- package/contracts/oracles/samples/{BoringPYUsdChainlinkAssetOracle.sol → BoringPtUsdChainlinkOracle.sol} +12 -36
- package/deployments/1-markets/UNIETH-MAINNET-SEP2024.json +13 -0
- package/deployments/1-offchain-helper.json +2 -1
- package/deployments/10-offchain-helper.json +2 -1
- package/deployments/42161-offchain-helper.json +2 -1
- package/deployments/5000-offchain-helper.json +2 -1
- package/deployments/56-offchain-helper.json +2 -1
- package/package.json +1 -1
- package/typechain-types/IPossibleSupplyCapInterface.ts +142 -0
- package/typechain-types/SupplyCapReader.ts +105 -0
- package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
- package/typechain-types/factories/IPossibleSupplyCapInterface__factory.ts +82 -0
- package/typechain-types/factories/SupplyCapReader__factory.ts +88 -0
- package/typechain-types/hardhat.d.ts +18 -0
- package/typechain-types/index.ts +4 -0
- package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +0 -422
- package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +0 -183
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +0 -4
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +0 -183
- package/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol +0 -102
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
|
-
import "../../interfaces/
|
|
4
|
+
import "../../interfaces/IPPtLpOracle.sol";
|
|
5
5
|
import "../../interfaces/IPMarket.sol";
|
|
6
6
|
import "../../core/libraries/math/PMath.sol";
|
|
7
7
|
import "../PendleLpOracleLib.sol";
|
|
@@ -9,41 +9,29 @@ import "../PendleLpOracleLib.sol";
|
|
|
9
9
|
import {AggregatorV2V3Interface as IChainlinkAggregator} from "@chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface.sol";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* @notice The returned price from this contract is multiplied by the default USD price of the
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* Example of this usage:
|
|
16
|
-
* - PT-wstETH = ptToAssetRate * stETH price
|
|
17
|
-
* - PT-silo-crvUSD = ptToAssetRate * crvUSD price
|
|
18
|
-
*
|
|
19
|
-
* For more details into how the oracle is implemented, refer to PendlePYLpOracle & PendlePYOracleLib.
|
|
12
|
+
* @notice The returned price from this contract is multiplied by the default USD price of the asset, as read from Chainlink Oracles.
|
|
13
|
+
* For more details into how the oracle is implemented, refer to PendlePtOracle & PendlePtOracleLib.
|
|
20
14
|
*/
|
|
21
|
-
contract
|
|
22
|
-
using
|
|
15
|
+
contract BoringPtUsdChainlinkOracle {
|
|
16
|
+
using PendlePtOracleLib for IPMarket;
|
|
23
17
|
|
|
24
18
|
uint32 public immutable twapDuration;
|
|
25
19
|
address public immutable market;
|
|
26
20
|
address public immutable feed;
|
|
27
21
|
uint8 public immutable feedDecimals;
|
|
28
|
-
address public immutable
|
|
22
|
+
address public immutable ptOracle;
|
|
29
23
|
|
|
30
|
-
constructor(uint32 _twapDuration, address _market, address _feed, address
|
|
24
|
+
constructor(uint32 _twapDuration, address _market, address _feed, address _ptOracle) {
|
|
31
25
|
twapDuration = _twapDuration;
|
|
32
26
|
market = _market;
|
|
33
27
|
feed = _feed;
|
|
34
28
|
feedDecimals = IChainlinkAggregator(feed).decimals();
|
|
35
29
|
|
|
36
30
|
// required only for sample2
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* @notice All pricing functions in this contract should only be used after checkOracleState() is ran successfully without reverting.
|
|
41
|
-
* This equals to calling checkOracleState() in your oracle constructor.
|
|
42
|
-
*/
|
|
43
|
-
// checkOracleState();
|
|
31
|
+
ptOracle = _ptOracle;
|
|
44
32
|
}
|
|
45
33
|
|
|
46
|
-
/// @notice direct integration with
|
|
34
|
+
/// @notice direct integration with PendlePtOracleLib, which optimizes gas efficiency.
|
|
47
35
|
/// @notice please checkOracleState() before use
|
|
48
36
|
function getPtPriceSample1() external view virtual returns (uint256) {
|
|
49
37
|
uint256 ptRate = IPMarket(market).getPtToAssetRate(twapDuration);
|
|
@@ -55,23 +43,11 @@ contract BoringPYUsdChainlinkAssetOracle {
|
|
|
55
43
|
/// but slightly higher gas usage (~ 4000 gas, 2 external calls & 1 cold code load)
|
|
56
44
|
/// @notice please checkOracleState() before use
|
|
57
45
|
function getPtPriceSample2() external view virtual returns (uint256) {
|
|
58
|
-
uint256 ptRate =
|
|
46
|
+
uint256 ptRate = IPPtLpOracle(ptOracle).getPtToAssetRate(market, twapDuration);
|
|
59
47
|
uint256 assetPrice = _getUnderlyingAssetPrice();
|
|
60
48
|
return (assetPrice * ptRate) / PMath.ONE;
|
|
61
49
|
}
|
|
62
50
|
|
|
63
|
-
function getYtPriceSample1() external view virtual returns (uint256) {
|
|
64
|
-
uint256 ytRate = IPMarket(market).getYtToAssetRate(twapDuration);
|
|
65
|
-
uint256 assetPrice = _getUnderlyingAssetPrice();
|
|
66
|
-
return (assetPrice * ytRate) / PMath.ONE;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
function getYtPriceSample2() external view virtual returns (uint256) {
|
|
70
|
-
uint256 ytRate = IPPYLpOracle(pyLpOracle).getYtToAssetRate(market, twapDuration);
|
|
71
|
-
uint256 assetPrice = _getUnderlyingAssetPrice();
|
|
72
|
-
return (assetPrice * ytRate) / PMath.ONE;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
51
|
function _getUnderlyingAssetPrice() internal view virtual returns (uint256) {
|
|
76
52
|
uint256 rawPrice = uint256(IChainlinkAggregator(feed).latestAnswer());
|
|
77
53
|
return feedDecimals < 18 ? rawPrice * 10 ** (18 - feedDecimals) : rawPrice / 10 ** (feedDecimals - 18);
|
|
@@ -84,8 +60,8 @@ contract BoringPYUsdChainlinkAssetOracle {
|
|
|
84
60
|
|
|
85
61
|
/// @notice Call only once for each (market, duration). Once successful, it's permanently valid (also for any shorter duration).
|
|
86
62
|
function checkOracleState() external view {
|
|
87
|
-
(bool increaseCardinalityRequired, uint16 cardinalityRequired, bool oldestObservationSatisfied) =
|
|
88
|
-
|
|
63
|
+
(bool increaseCardinalityRequired, uint16 cardinalityRequired, bool oldestObservationSatisfied) = IPPtLpOracle(
|
|
64
|
+
ptOracle
|
|
89
65
|
).getOracleState(market, twapDuration);
|
|
90
66
|
|
|
91
67
|
if (increaseCardinalityRequired) {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "UNIETH-MAINNET-SEP2024",
|
|
3
|
+
"SY": "0xc430dB19339A3051192233B4c49f9aB3DC6D16b7",
|
|
4
|
+
"YT": "0xdF74bA4436478969A54eCB352093312fE97EBAa5",
|
|
5
|
+
"PT": "0x15fA86404BFbA8b46684552F792558128bFB6418",
|
|
6
|
+
"market": "0xBaE2Df4DfCd0c613018D6056A40077F2d1eFf28A",
|
|
7
|
+
"expiry": 1727308800,
|
|
8
|
+
"lnFeeRateRoot": "2995508979000000",
|
|
9
|
+
"scalarRoot": "7770558179000000000",
|
|
10
|
+
"initAnchor": "1110275954000000000",
|
|
11
|
+
"doCacheIndexSameBlock": true,
|
|
12
|
+
"deployTxHash": "0x4e509feb8502bee0c719c1a9eb2c73c9e1b070fc8424e1f4f31618bdc764a560"
|
|
13
|
+
}
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
"multicall": "0xfd6Df9EFACfEfdF4E610d687A9c9b941D1b1Bf75",
|
|
3
3
|
"pendleMulticallV2": "0x539fd510fE352CC81822a222F821c340133Ed41C",
|
|
4
4
|
"implicitSwapfeeContract": "0x43D03031FAb845065e9CEfE89Dd122d63F72011F",
|
|
5
|
-
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA"
|
|
5
|
+
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
|
|
6
|
+
"supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf"
|
|
6
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"multicall": "0xfd6Df9EFACfEfdF4E610d687A9c9b941D1b1Bf75",
|
|
3
3
|
"pendleMulticallV2": "0x539fd510fE352CC81822a222F821c340133Ed41C",
|
|
4
|
-
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA"
|
|
4
|
+
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
|
|
5
|
+
"supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf"
|
|
5
6
|
}
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
"multicall": "0xfd6Df9EFACfEfdF4E610d687A9c9b941D1b1Bf75",
|
|
3
3
|
"pendleMulticallV2": "0x539fd510fE352CC81822a222F821c340133Ed41C",
|
|
4
4
|
"implicitSwapfeeContract": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
|
|
5
|
-
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA"
|
|
5
|
+
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
|
|
6
|
+
"supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf"
|
|
6
7
|
}
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
"multicall": "0xfd6Df9EFACfEfdF4E610d687A9c9b941D1b1Bf75",
|
|
3
3
|
"pendleMulticallV2": "0x539fd510fE352CC81822a222F821c340133Ed41C",
|
|
4
4
|
"implicitSwapfeeContract": "0xa87f7EeDD570943BcFFcE6D00B13D9a95ede8810",
|
|
5
|
-
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA"
|
|
5
|
+
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
|
|
6
|
+
"supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf"
|
|
6
7
|
}
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
"multicall": "0xfd6Df9EFACfEfdF4E610d687A9c9b941D1b1Bf75",
|
|
3
3
|
"pendleMulticallV2": "0x539fd510fE352CC81822a222F821c340133Ed41C",
|
|
4
4
|
"implicitSwapfeeContract": "0xed18de5442297a4ec1ce59c7c7d9427adc2a012b",
|
|
5
|
-
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA"
|
|
5
|
+
"simulateHelper": "0x2b3EC64160F658fFe7061769415Ff080fca80BbA",
|
|
6
|
+
"supplyCapReader": "0x438C7dBA7d355aA0c77459AF38B2E62f9f9EccBf"
|
|
6
7
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import {
|
|
5
|
+
BaseContract,
|
|
6
|
+
BigNumber,
|
|
7
|
+
BytesLike,
|
|
8
|
+
CallOverrides,
|
|
9
|
+
PopulatedTransaction,
|
|
10
|
+
Signer,
|
|
11
|
+
utils,
|
|
12
|
+
} from "ethers";
|
|
13
|
+
import { FunctionFragment, Result } from "@ethersproject/abi";
|
|
14
|
+
import { Listener, Provider } from "@ethersproject/providers";
|
|
15
|
+
import type {
|
|
16
|
+
TypedEventFilter,
|
|
17
|
+
TypedEvent,
|
|
18
|
+
TypedListener,
|
|
19
|
+
OnEvent,
|
|
20
|
+
} from "./common";
|
|
21
|
+
|
|
22
|
+
export interface IPossibleSupplyCapInterfaceInterface extends utils.Interface {
|
|
23
|
+
contractName: "IPossibleSupplyCapInterface";
|
|
24
|
+
functions: {
|
|
25
|
+
"getAbsoluteSupplyCap()": FunctionFragment;
|
|
26
|
+
"getAbsoluteTotalSupply()": FunctionFragment;
|
|
27
|
+
"supplyCap()": FunctionFragment;
|
|
28
|
+
"totalSupply()": FunctionFragment;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
encodeFunctionData(
|
|
32
|
+
functionFragment: "getAbsoluteSupplyCap",
|
|
33
|
+
values?: undefined
|
|
34
|
+
): string;
|
|
35
|
+
encodeFunctionData(
|
|
36
|
+
functionFragment: "getAbsoluteTotalSupply",
|
|
37
|
+
values?: undefined
|
|
38
|
+
): string;
|
|
39
|
+
encodeFunctionData(functionFragment: "supplyCap", values?: undefined): string;
|
|
40
|
+
encodeFunctionData(
|
|
41
|
+
functionFragment: "totalSupply",
|
|
42
|
+
values?: undefined
|
|
43
|
+
): string;
|
|
44
|
+
|
|
45
|
+
decodeFunctionResult(
|
|
46
|
+
functionFragment: "getAbsoluteSupplyCap",
|
|
47
|
+
data: BytesLike
|
|
48
|
+
): Result;
|
|
49
|
+
decodeFunctionResult(
|
|
50
|
+
functionFragment: "getAbsoluteTotalSupply",
|
|
51
|
+
data: BytesLike
|
|
52
|
+
): Result;
|
|
53
|
+
decodeFunctionResult(functionFragment: "supplyCap", data: BytesLike): Result;
|
|
54
|
+
decodeFunctionResult(
|
|
55
|
+
functionFragment: "totalSupply",
|
|
56
|
+
data: BytesLike
|
|
57
|
+
): Result;
|
|
58
|
+
|
|
59
|
+
events: {};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface IPossibleSupplyCapInterface extends BaseContract {
|
|
63
|
+
contractName: "IPossibleSupplyCapInterface";
|
|
64
|
+
connect(signerOrProvider: Signer | Provider | string): this;
|
|
65
|
+
attach(addressOrName: string): this;
|
|
66
|
+
deployed(): Promise<this>;
|
|
67
|
+
|
|
68
|
+
interface: IPossibleSupplyCapInterfaceInterface;
|
|
69
|
+
|
|
70
|
+
queryFilter<TEvent extends TypedEvent>(
|
|
71
|
+
event: TypedEventFilter<TEvent>,
|
|
72
|
+
fromBlockOrBlockhash?: string | number | undefined,
|
|
73
|
+
toBlock?: string | number | undefined
|
|
74
|
+
): Promise<Array<TEvent>>;
|
|
75
|
+
|
|
76
|
+
listeners<TEvent extends TypedEvent>(
|
|
77
|
+
eventFilter?: TypedEventFilter<TEvent>
|
|
78
|
+
): Array<TypedListener<TEvent>>;
|
|
79
|
+
listeners(eventName?: string): Array<Listener>;
|
|
80
|
+
removeAllListeners<TEvent extends TypedEvent>(
|
|
81
|
+
eventFilter: TypedEventFilter<TEvent>
|
|
82
|
+
): this;
|
|
83
|
+
removeAllListeners(eventName?: string): this;
|
|
84
|
+
off: OnEvent<this>;
|
|
85
|
+
on: OnEvent<this>;
|
|
86
|
+
once: OnEvent<this>;
|
|
87
|
+
removeListener: OnEvent<this>;
|
|
88
|
+
|
|
89
|
+
functions: {
|
|
90
|
+
getAbsoluteSupplyCap(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
91
|
+
|
|
92
|
+
getAbsoluteTotalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
93
|
+
|
|
94
|
+
supplyCap(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
95
|
+
|
|
96
|
+
totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
getAbsoluteSupplyCap(overrides?: CallOverrides): Promise<BigNumber>;
|
|
100
|
+
|
|
101
|
+
getAbsoluteTotalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
102
|
+
|
|
103
|
+
supplyCap(overrides?: CallOverrides): Promise<BigNumber>;
|
|
104
|
+
|
|
105
|
+
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
106
|
+
|
|
107
|
+
callStatic: {
|
|
108
|
+
getAbsoluteSupplyCap(overrides?: CallOverrides): Promise<BigNumber>;
|
|
109
|
+
|
|
110
|
+
getAbsoluteTotalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
111
|
+
|
|
112
|
+
supplyCap(overrides?: CallOverrides): Promise<BigNumber>;
|
|
113
|
+
|
|
114
|
+
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
filters: {};
|
|
118
|
+
|
|
119
|
+
estimateGas: {
|
|
120
|
+
getAbsoluteSupplyCap(overrides?: CallOverrides): Promise<BigNumber>;
|
|
121
|
+
|
|
122
|
+
getAbsoluteTotalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
123
|
+
|
|
124
|
+
supplyCap(overrides?: CallOverrides): Promise<BigNumber>;
|
|
125
|
+
|
|
126
|
+
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
populateTransaction: {
|
|
130
|
+
getAbsoluteSupplyCap(
|
|
131
|
+
overrides?: CallOverrides
|
|
132
|
+
): Promise<PopulatedTransaction>;
|
|
133
|
+
|
|
134
|
+
getAbsoluteTotalSupply(
|
|
135
|
+
overrides?: CallOverrides
|
|
136
|
+
): Promise<PopulatedTransaction>;
|
|
137
|
+
|
|
138
|
+
supplyCap(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
139
|
+
|
|
140
|
+
totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import {
|
|
5
|
+
BaseContract,
|
|
6
|
+
BigNumber,
|
|
7
|
+
BytesLike,
|
|
8
|
+
CallOverrides,
|
|
9
|
+
PopulatedTransaction,
|
|
10
|
+
Signer,
|
|
11
|
+
utils,
|
|
12
|
+
} from "ethers";
|
|
13
|
+
import { FunctionFragment, Result } from "@ethersproject/abi";
|
|
14
|
+
import { Listener, Provider } from "@ethersproject/providers";
|
|
15
|
+
import type {
|
|
16
|
+
TypedEventFilter,
|
|
17
|
+
TypedEvent,
|
|
18
|
+
TypedListener,
|
|
19
|
+
OnEvent,
|
|
20
|
+
} from "./common";
|
|
21
|
+
|
|
22
|
+
export interface SupplyCapReaderInterface extends utils.Interface {
|
|
23
|
+
contractName: "SupplyCapReader";
|
|
24
|
+
functions: {
|
|
25
|
+
"read(address)": FunctionFragment;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
encodeFunctionData(functionFragment: "read", values: [string]): string;
|
|
29
|
+
|
|
30
|
+
decodeFunctionResult(functionFragment: "read", data: BytesLike): Result;
|
|
31
|
+
|
|
32
|
+
events: {};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface SupplyCapReader extends BaseContract {
|
|
36
|
+
contractName: "SupplyCapReader";
|
|
37
|
+
connect(signerOrProvider: Signer | Provider | string): this;
|
|
38
|
+
attach(addressOrName: string): this;
|
|
39
|
+
deployed(): Promise<this>;
|
|
40
|
+
|
|
41
|
+
interface: SupplyCapReaderInterface;
|
|
42
|
+
|
|
43
|
+
queryFilter<TEvent extends TypedEvent>(
|
|
44
|
+
event: TypedEventFilter<TEvent>,
|
|
45
|
+
fromBlockOrBlockhash?: string | number | undefined,
|
|
46
|
+
toBlock?: string | number | undefined
|
|
47
|
+
): Promise<Array<TEvent>>;
|
|
48
|
+
|
|
49
|
+
listeners<TEvent extends TypedEvent>(
|
|
50
|
+
eventFilter?: TypedEventFilter<TEvent>
|
|
51
|
+
): Array<TypedListener<TEvent>>;
|
|
52
|
+
listeners(eventName?: string): Array<Listener>;
|
|
53
|
+
removeAllListeners<TEvent extends TypedEvent>(
|
|
54
|
+
eventFilter: TypedEventFilter<TEvent>
|
|
55
|
+
): this;
|
|
56
|
+
removeAllListeners(eventName?: string): this;
|
|
57
|
+
off: OnEvent<this>;
|
|
58
|
+
on: OnEvent<this>;
|
|
59
|
+
once: OnEvent<this>;
|
|
60
|
+
removeListener: OnEvent<this>;
|
|
61
|
+
|
|
62
|
+
functions: {
|
|
63
|
+
read(
|
|
64
|
+
syAddr: string,
|
|
65
|
+
overrides?: CallOverrides
|
|
66
|
+
): Promise<
|
|
67
|
+
[BigNumber, BigNumber] & {
|
|
68
|
+
currentSupply: BigNumber;
|
|
69
|
+
supplyCap: BigNumber;
|
|
70
|
+
}
|
|
71
|
+
>;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
read(
|
|
75
|
+
syAddr: string,
|
|
76
|
+
overrides?: CallOverrides
|
|
77
|
+
): Promise<
|
|
78
|
+
[BigNumber, BigNumber] & { currentSupply: BigNumber; supplyCap: BigNumber }
|
|
79
|
+
>;
|
|
80
|
+
|
|
81
|
+
callStatic: {
|
|
82
|
+
read(
|
|
83
|
+
syAddr: string,
|
|
84
|
+
overrides?: CallOverrides
|
|
85
|
+
): Promise<
|
|
86
|
+
[BigNumber, BigNumber] & {
|
|
87
|
+
currentSupply: BigNumber;
|
|
88
|
+
supplyCap: BigNumber;
|
|
89
|
+
}
|
|
90
|
+
>;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
filters: {};
|
|
94
|
+
|
|
95
|
+
estimateGas: {
|
|
96
|
+
read(syAddr: string, overrides?: CallOverrides): Promise<BigNumber>;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
populateTransaction: {
|
|
100
|
+
read(
|
|
101
|
+
syAddr: string,
|
|
102
|
+
overrides?: CallOverrides
|
|
103
|
+
): Promise<PopulatedTransaction>;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
@@ -174,7 +174,7 @@ const _abi = [
|
|
|
174
174
|
];
|
|
175
175
|
|
|
176
176
|
const _bytecode =
|
|
177
|
-
"0x60e06040523480156200001157600080fd5b5060405162001c8738038062001c8783398101604081905262000034916200012f565b63ffffffff831660808190526001600160a01b0383811660a081905283821660c05260405162439f4b60e91b815260048101919091526024810192909252600091829187169063873e960090604401606060405180830381865afa158015620000a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c79190620001a7565b92505091508180620000d7575080155b15620001065760405163685ddbe760e11b81528215156004820152811515602482015260440160405180910390fd5b505050505050620001f9565b80516001600160a01b03811681146200012a57600080fd5b919050565b600080600080608085870312156200014657600080fd5b620001518562000112565b9350602085015163ffffffff811681146200016b57600080fd5b92506200017b6040860162000112565b91506200018b6060860162000112565b905092959194509250565b805180151581146200012a57600080fd5b600080600060608486031215620001bd57600080fd5b620001c88462000196565b9250602084015161ffff81168114620001e057600080fd5b9150620001f06040850162000196565b90509250925092565b60805160a05160c051611a4c6200023b6000396000818160fb015261019701526000818160c7015261012d0152600081816061015261014f0152611a4c6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806326d895451461005c578063313ce5671461009d5780634c7198f4146100ac57806380f55605146100c2578063fa6db1bc146100f6575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405160128152602001610094565b6100b461011d565b604051908152602001610094565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b60405161009491906115ad565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b6000806101736001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000061022c565b60405163e245b5af60e01b8152600160048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e245b5af90602401602060405180830381865afa1580156101de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020291906115c1565b905068327cb2734119d3b7a9601e1b61021b83836115f0565b610225919061161d565b9250505090565b600080600061023a8561027f565b91509150600061024b8686846104af565b905081831061025e579250610279915050565b8161026984836115f0565b610273919061161d565b93505050505b92915050565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e79190611649565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906115c1565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b491906115c1565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611696565b801561048d575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048291906116b8565b6001600160801b0316145b1561049a578093506104a7565b6104a48582610646565b93505b505050915091565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b81526004016104df91906115ad565b61012060405180830381865afa1580156104fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610521919061175b565b90506000428260a00151116105515761053e84836020015161065e565b825161054a91906117dd565b905061061d565b600061055e8386426106a2565b905060008061056e89868a6107a8565b91509150600061059761059285604001518561058a9190611805565b865190610818565b61083b565b905060006105dc6105a88385610c50565b6105ba90670de0b6b3a76400006117dd565b885160208801516105cc908690610818565b6105d69190611805565b90610c50565b90506105f2848289600001516105d691906117dd565b6105fc8285610c50565b866020015161060b9190611805565b61061591906117dd565b955050505050505b61063c610637836040015183610c5090919063ffffffff16565b610c76565b9695505050505050565b60008183116106555781610657565b825b9392505050565b60008060008312610670576001610674565b6000195b905061069061068b8561068686610c89565b610c9b565b610cba565b61069a9082611825565b949350505050565b6106cd6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106106f15760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516107039190611855565b905061070f8582610cd0565b8252602085015161072190859061065e565b60208301528451158061073657506020820151155b15610769578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b61078785600001518661010001518460200151856000015185610d2c565b604083015260c085015161079b9082610dad565b6060830152509392505050565b6000806107d36107c461068b6001600160a01b03881686610de1565b670de0b6b3a764000090610c50565b915060006107f5856101000151428760a001516107f09190611855565b610dad565b9050600261080384836117dd565b61080d9190611868565b915050935093915050565b6000806108258385611825565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610860575068070c1cc73b00c800008213155b61089f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610760565b60008212156108d7576108b48260000361083b565b6a0c097ce7bc90715b34b9f160241b816108d0576108d0611607565b0592915050565b60006806f05b59d3b2000000831261091557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61094b565b6803782dace9d9000000831261094757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061094b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261099b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126109d7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610a1157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610a4b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610a8457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610abd5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610af6576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610b2f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080610c65670de0b6b3a764000085611825565b905082818161083257610832611607565b600080821215610c8557600080fd5b5090565b6000808213610c855761027982611896565b6000670de0b6b3a7640000610cb084846115f0565b610657919061161d565b60006001600160ff1b03821115610c8557600080fd5b6000610cdb82610cba565b610ced61068b6201518061016d6115f0565b8460800151610cfc9190611825565b610d069190611868565b90506000811361027957604051630e520c3b60e11b815260048101829052602401610760565b600080610d398684610dad565b9050670de0b6b3a7640000811215610d675760405163329e322960e21b815260048101829052602401610760565b6000610d7d610d76878a6117dd565b8990610c50565b90506000610d8a82610eb1565b9050610d968187610c50565b610da09084611805565b9998505050505050505050565b600080610dbf6201518061016d6115f0565b610dc984866115f0565b610dd3919061161d565b905061069a61059282610cba565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906115c1565b9050428111610e6057670de0b6b3a7640000915050610279565b6000610e6c8585610f04565b90506000610e7a4284611855565b90506000610e8b6106378484610dad565b9050610e9f670de0b6b3a76400008261102b565b945050505050610279565b5092915050565b6000670de0b6b3a76400008203610edb5760405163a9c8b14d60e01b815260040160405180910390fd5b6000610ef9610ef284670de0b6b3a7640000611805565b8490610c50565b90506106578161105a565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610f3d57610f3d6118b2565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610f819085906004016118c8565b600060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fc69190810190611912565b90508363ffffffff1681600081518110610fe257610fe26118b2565b602002602001015182600181518110610ffd57610ffd6118b2565b602002602001015161100f91906119d0565b61101991906119f0565b6001600160d81b031695945050505050565b600080611040670de0b6b3a7640000856115f0565b905082818161105157611051611607565b04949350505050565b600080821361109b5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610760565b670c7d713b49da0000821380156110b95750670f43fc2c04ee000082125b156110dd57670de0b6b3a76400006110d0836110eb565b816108d0576108d0611607565b6102798261120a565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161112c5761112c611607565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561124b57611242826a0c097ce7bc90715b34b9f160241b8161123c5761123c611607565b0561120a565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126112965772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126112cd576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611315576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611350576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261138757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126113be57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126113f35768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261141e57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611453576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611488576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126114bc576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126114f0576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161151957611519611607565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0391909116815260200190565b6000602082840312156115d357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610279576102796115da565b634e487b7160e01b600052601260045260246000fd5b60008261162c5761162c611607565b500490565b6001600160a01b038116811461164657600080fd5b50565b60008060006060848603121561165e57600080fd5b835161166981611631565b602085015190935061167a81611631565b604085015190925061168b81611631565b809150509250925092565b6000602082840312156116a857600080fd5b8151801515811461065757600080fd5b6000602082840312156116ca57600080fd5b81516001600160801b038116811461065757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561171a5761171a6116e1565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611748576117486116e1565b604052919050565b80516110e681611631565b6000610120828403121561176e57600080fd5b6117766116f7565b82518152602083015160208201526040830151604082015261179a60608401611750565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b80820182811260008312801582168215821617156117fd576117fd6115da565b505092915050565b8181036000831280158383131683831282161715610eaa57610eaa6115da565b80820260008212600160ff1b84141615611841576118416115da565b8181058314821517610279576102796115da565b81810381811115610279576102796115da565b60008261187757611877611607565b600160ff1b821460001984141615611891576118916115da565b500590565b6000600160ff1b82016118ab576118ab6115da565b5060000390565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561190657835163ffffffff16835292840192918401916001016118e4565b50909695505050505050565b6000602080838503121561192557600080fd5b82516001600160401b038082111561193c57600080fd5b818501915085601f83011261195057600080fd5b815181811115611962576119626116e1565b8060051b9150611973848301611720565b818152918301840191848101908884111561198d57600080fd5b938501935b838510156119c457845192506001600160d81b03831683146119b45760008081fd5b8282529385019390850190611992565b98975050505050505050565b6001600160d81b03828116828216039080821115610eaa57610eaa6115da565b60006001600160d81b0383811680611a0a57611a0a611607565b9216919091049291505056fea2646970667358221220fa47ab8ac91376d35ff4d4843c32dc9ed4c7dd405243e1a5d3190843cdce525964736f6c63430008170033";
|
|
177
|
+
"0x60e06040523480156200001157600080fd5b5060405162001c8738038062001c8783398101604081905262000034916200012f565b63ffffffff831660808190526001600160a01b0383811660a081905283821660c05260405162439f4b60e91b815260048101919091526024810192909252600091829187169063873e960090604401606060405180830381865afa158015620000a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c79190620001a7565b92505091508180620000d7575080155b15620001065760405163685ddbe760e11b81528215156004820152811515602482015260440160405180910390fd5b505050505050620001f9565b80516001600160a01b03811681146200012a57600080fd5b919050565b600080600080608085870312156200014657600080fd5b620001518562000112565b9350602085015163ffffffff811681146200016b57600080fd5b92506200017b6040860162000112565b91506200018b6060860162000112565b905092959194509250565b805180151581146200012a57600080fd5b600080600060608486031215620001bd57600080fd5b620001c88462000196565b9250602084015161ffff81168114620001e057600080fd5b9150620001f06040850162000196565b90509250925092565b60805160a05160c051611a4c6200023b6000396000818160fb015261019701526000818160c7015261012d0152600081816061015261014f0152611a4c6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806326d895451461005c578063313ce5671461009d5780634c7198f4146100ac57806380f55605146100c2578063fa6db1bc146100f6575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405160128152602001610094565b6100b461011d565b604051908152602001610094565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b60405161009491906115ad565b6100e97f000000000000000000000000000000000000000000000000000000000000000081565b6000806101736001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000061022c565b60405163e245b5af60e01b8152600160048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e245b5af90602401602060405180830381865afa1580156101de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020291906115c1565b905068327cb2734119d3b7a9601e1b61021b83836115f0565b610225919061161d565b9250505090565b600080600061023a8561027f565b91509150600061024b8686846104af565b905081831061025e579250610279915050565b8161026984836115f0565b610273919061161d565b93505050505b92915050565b600080600080846001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e79190611649565b9250509150816001600160a01b0316633ba0b9a96040518163ffffffff1660e01b8152600401602060405180830381865afa15801561032a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034e91906115c1565b93506000816001600160a01b031663d2a3584e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b491906115c1565b9050816001600160a01b031663516399df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190611696565b801561048d575043826001600160a01b03166360e0a9e16040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048291906116b8565b6001600160801b0316145b1561049a578093506104a7565b6104a48582610646565b93505b505050915091565b600080846001600160a01b031663794052f360006040518263ffffffff1660e01b81526004016104df91906115ad565b61012060405180830381865afa1580156104fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610521919061175b565b90506000428260a00151116105515761053e84836020015161065e565b825161054a91906117dd565b905061061d565b600061055e8386426106a2565b905060008061056e89868a6107a8565b91509150600061059761059285604001518561058a9190611805565b865190610818565b61083b565b905060006105dc6105a88385610c50565b6105ba90670de0b6b3a76400006117dd565b885160208801516105cc908690610818565b6105d69190611805565b90610c50565b90506105f2848289600001516105d691906117dd565b6105fc8285610c50565b866020015161060b9190611805565b61061591906117dd565b955050505050505b61063c610637836040015183610c5090919063ffffffff16565b610c76565b9695505050505050565b60008183116106555781610657565b825b9392505050565b60008060008312610670576001610674565b6000195b905061069061068b8561068686610c89565b610c9b565b610cba565b61069a9082611825565b949350505050565b6106cd6040518060800160405280600081526020016000815260200160008152602001600081525090565b60a084015182106106f15760405163b2094b5960e01b815260040160405180910390fd5b6000828560a001516107039190611855565b905061070f8582610cd0565b8252602085015161072190859061065e565b60208301528451158061073657506020820151155b15610769578451602083015160405163b1c4aefb60e01b8152600481019290925260248201526044015b60405180910390fd5b61078785600001518661010001518460200151856000015185610d2c565b604083015260c085015161079b9082610dad565b6060830152509392505050565b6000806107d36107c461068b6001600160a01b03881686610de1565b670de0b6b3a764000090610c50565b915060006107f5856101000151428760a001516107f09190611855565b610dad565b9050600261080384836117dd565b61080d9190611868565b915050935093915050565b6000806108258385611825565b9050670de0b6b3a7640000815b05949350505050565b6000680238fd42c5cf03ffff198212158015610860575068070c1cc73b00c800008213155b61089f5760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610760565b60008212156108d7576108b48260000361083b565b6a0c097ce7bc90715b34b9f160241b816108d0576108d0611607565b0592915050565b60006806f05b59d3b2000000831261091557506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61094b565b6803782dace9d9000000831261094757506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061094b565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261099b5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d63100000084126109d7576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b188000008412610a1157682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412610a4b576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac62000008412610a8457680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d631000008412610abd5768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b18800008412610af6576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c400008412610b2f5768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b600080610c65670de0b6b3a764000085611825565b905082818161083257610832611607565b600080821215610c8557600080fd5b5090565b6000808213610c855761027982611896565b6000670de0b6b3a7640000610cb084846115f0565b610657919061161d565b60006001600160ff1b03821115610c8557600080fd5b6000610cdb82610cba565b610ced61068b6201518061016d6115f0565b8460800151610cfc9190611825565b610d069190611868565b90506000811361027957604051630e520c3b60e11b815260048101829052602401610760565b600080610d398684610dad565b9050670de0b6b3a7640000811215610d675760405163329e322960e21b815260048101829052602401610760565b6000610d7d610d76878a6117dd565b8990610c50565b90506000610d8a82610eb1565b9050610d968187610c50565b610da09084611805565b9998505050505050505050565b600080610dbf6201518061016d6115f0565b610dc984866115f0565b610dd3919061161d565b905061069a61059282610cba565b600080836001600160a01b031663e184c9be6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906115c1565b9050428111610e6057670de0b6b3a7640000915050610279565b6000610e6c8585610f04565b90506000610e7a4284611855565b90506000610e8b6106378484610dad565b9050610e9f670de0b6b3a76400008261102b565b945050505050610279565b5092915050565b6000670de0b6b3a76400008203610edb5760405163a9c8b14d60e01b815260040160405180910390fd5b6000610ef9610ef284670de0b6b3a7640000611805565b8490610c50565b90506106578161105a565b604080516002808252606082018352600092839291906020830190803683370190505090508281600081518110610f3d57610f3d6118b2565b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0386169063883bdbfd90610f819085906004016118c8565b600060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fc69190810190611912565b90508363ffffffff1681600081518110610fe257610fe26118b2565b602002602001015182600181518110610ffd57610ffd6118b2565b602002602001015161100f91906119d0565b61101991906119f0565b6001600160d81b031695945050505050565b600080611040670de0b6b3a7640000856115f0565b905082818161105157611051611607565b04949350505050565b600080821361109b5760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610760565b670c7d713b49da0000821380156110b95750670f43fc2c04ee000082125b156110dd57670de0b6b3a76400006110d0836110eb565b816108d0576108d0611607565b6102798261120a565b919050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161112c5761112c611607565b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b6000670de0b6b3a764000082121561124b57611242826a0c097ce7bc90715b34b9f160241b8161123c5761123c611607565b0561120a565b60000392915050565b6000775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b83126112965772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126112cd576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611315576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611350576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261138757693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126113be57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126113f35768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261141e57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d8312611453576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611488576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126114bc576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126114f0576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161151957611519611607565b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0391909116815260200190565b6000602082840312156115d357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610279576102796115da565b634e487b7160e01b600052601260045260246000fd5b60008261162c5761162c611607565b500490565b6001600160a01b038116811461164657600080fd5b50565b60008060006060848603121561165e57600080fd5b835161166981611631565b602085015190935061167a81611631565b604085015190925061168b81611631565b809150509250925092565b6000602082840312156116a857600080fd5b8151801515811461065757600080fd5b6000602082840312156116ca57600080fd5b81516001600160801b038116811461065757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b038111828210171561171a5761171a6116e1565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611748576117486116e1565b604052919050565b80516110e681611631565b6000610120828403121561176e57600080fd5b6117766116f7565b82518152602083015160208201526040830151604082015261179a60608401611750565b60608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b80820182811260008312801582168215821617156117fd576117fd6115da565b505092915050565b8181036000831280158383131683831282161715610eaa57610eaa6115da565b80820260008212600160ff1b84141615611841576118416115da565b8181058314821517610279576102796115da565b81810381811115610279576102796115da565b60008261187757611877611607565b600160ff1b821460001984141615611891576118916115da565b500590565b6000600160ff1b82016118ab576118ab6115da565b5060000390565b634e487b7160e01b600052603260045260246000fd5b6020808252825182820181905260009190848201906040850190845b8181101561190657835163ffffffff16835292840192918401916001016118e4565b50909695505050505050565b6000602080838503121561192557600080fd5b82516001600160401b038082111561193c57600080fd5b818501915085601f83011261195057600080fd5b815181811115611962576119626116e1565b8060051b9150611973848301611720565b818152918301840191848101908884111561198d57600080fd5b938501935b838510156119c457845192506001600160d81b03831683146119b45760008081fd5b8282529385019390850190611992565b98975050505050505050565b6001600160d81b03828116828216039080821115610eaa57610eaa6115da565b60006001600160d81b0383811680611a0a57611a0a611607565b9216919091049291505056fea26469706673582212201b1d20c6b62e1bd1c1e9c2141efc4e7fc9619937e7683ea8c3f397244f4a2e0c64736f6c63430008170033";
|
|
178
178
|
|
|
179
179
|
type BoringLpGlpOracleConstructorParams =
|
|
180
180
|
| [signer?: Signer]
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { Contract, Signer, utils } from "ethers";
|
|
6
|
+
import { Provider } from "@ethersproject/providers";
|
|
7
|
+
import type {
|
|
8
|
+
IPossibleSupplyCapInterface,
|
|
9
|
+
IPossibleSupplyCapInterfaceInterface,
|
|
10
|
+
} from "../IPossibleSupplyCapInterface";
|
|
11
|
+
|
|
12
|
+
const _abi = [
|
|
13
|
+
{
|
|
14
|
+
inputs: [],
|
|
15
|
+
name: "getAbsoluteSupplyCap",
|
|
16
|
+
outputs: [
|
|
17
|
+
{
|
|
18
|
+
internalType: "uint256",
|
|
19
|
+
name: "",
|
|
20
|
+
type: "uint256",
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
stateMutability: "view",
|
|
24
|
+
type: "function",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
inputs: [],
|
|
28
|
+
name: "getAbsoluteTotalSupply",
|
|
29
|
+
outputs: [
|
|
30
|
+
{
|
|
31
|
+
internalType: "uint256",
|
|
32
|
+
name: "",
|
|
33
|
+
type: "uint256",
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
stateMutability: "view",
|
|
37
|
+
type: "function",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
inputs: [],
|
|
41
|
+
name: "supplyCap",
|
|
42
|
+
outputs: [
|
|
43
|
+
{
|
|
44
|
+
internalType: "uint256",
|
|
45
|
+
name: "",
|
|
46
|
+
type: "uint256",
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
stateMutability: "view",
|
|
50
|
+
type: "function",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
inputs: [],
|
|
54
|
+
name: "totalSupply",
|
|
55
|
+
outputs: [
|
|
56
|
+
{
|
|
57
|
+
internalType: "uint256",
|
|
58
|
+
name: "",
|
|
59
|
+
type: "uint256",
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
stateMutability: "view",
|
|
63
|
+
type: "function",
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
export class IPossibleSupplyCapInterface__factory {
|
|
68
|
+
static readonly abi = _abi;
|
|
69
|
+
static createInterface(): IPossibleSupplyCapInterfaceInterface {
|
|
70
|
+
return new utils.Interface(_abi) as IPossibleSupplyCapInterfaceInterface;
|
|
71
|
+
}
|
|
72
|
+
static connect(
|
|
73
|
+
address: string,
|
|
74
|
+
signerOrProvider: Signer | Provider
|
|
75
|
+
): IPossibleSupplyCapInterface {
|
|
76
|
+
return new Contract(
|
|
77
|
+
address,
|
|
78
|
+
_abi,
|
|
79
|
+
signerOrProvider
|
|
80
|
+
) as IPossibleSupplyCapInterface;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
|
|
5
|
+
import { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
6
|
+
import type {
|
|
7
|
+
SupplyCapReader,
|
|
8
|
+
SupplyCapReaderInterface,
|
|
9
|
+
} from "../SupplyCapReader";
|
|
10
|
+
|
|
11
|
+
const _abi = [
|
|
12
|
+
{
|
|
13
|
+
inputs: [
|
|
14
|
+
{
|
|
15
|
+
internalType: "address",
|
|
16
|
+
name: "syAddr",
|
|
17
|
+
type: "address",
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
name: "read",
|
|
21
|
+
outputs: [
|
|
22
|
+
{
|
|
23
|
+
internalType: "uint256",
|
|
24
|
+
name: "currentSupply",
|
|
25
|
+
type: "uint256",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
internalType: "uint256",
|
|
29
|
+
name: "supplyCap",
|
|
30
|
+
type: "uint256",
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
stateMutability: "view",
|
|
34
|
+
type: "function",
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const _bytecode =
|
|
39
|
+
"0x608060405234801561001057600080fd5b5061027d806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a087a87e14610030575b600080fd5b61004361003e3660046101fe565b61005c565b6040805192835260208301919091520160405180910390f35b6000806000839050806001600160a01b0316630186533d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156100be575060408051601f3d908101601f191682019092526100bb9181019061022e565b60015b61018f57806001600160a01b0316638f770ad06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610100573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610124919061022e565b9150806001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610188919061022e565b92506101f8565b809250816001600160a01b03166380975cc46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f4919061022e565b9350505b50915091565b60006020828403121561021057600080fd5b81356001600160a01b038116811461022757600080fd5b9392505050565b60006020828403121561024057600080fd5b505191905056fea264697066735822122086be295fb62371de6ec86acab7ca4bbd9f43202da5f9337fb67a85ca99aeb7cc64736f6c63430008170033";
|
|
40
|
+
|
|
41
|
+
type SupplyCapReaderConstructorParams =
|
|
42
|
+
| [signer?: Signer]
|
|
43
|
+
| ConstructorParameters<typeof ContractFactory>;
|
|
44
|
+
|
|
45
|
+
const isSuperArgs = (
|
|
46
|
+
xs: SupplyCapReaderConstructorParams
|
|
47
|
+
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
|
|
48
|
+
|
|
49
|
+
export class SupplyCapReader__factory extends ContractFactory {
|
|
50
|
+
constructor(...args: SupplyCapReaderConstructorParams) {
|
|
51
|
+
if (isSuperArgs(args)) {
|
|
52
|
+
super(...args);
|
|
53
|
+
} else {
|
|
54
|
+
super(_abi, _bytecode, args[0]);
|
|
55
|
+
}
|
|
56
|
+
this.contractName = "SupplyCapReader";
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
deploy(
|
|
60
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
61
|
+
): Promise<SupplyCapReader> {
|
|
62
|
+
return super.deploy(overrides || {}) as Promise<SupplyCapReader>;
|
|
63
|
+
}
|
|
64
|
+
getDeployTransaction(
|
|
65
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
66
|
+
): TransactionRequest {
|
|
67
|
+
return super.getDeployTransaction(overrides || {});
|
|
68
|
+
}
|
|
69
|
+
attach(address: string): SupplyCapReader {
|
|
70
|
+
return super.attach(address) as SupplyCapReader;
|
|
71
|
+
}
|
|
72
|
+
connect(signer: Signer): SupplyCapReader__factory {
|
|
73
|
+
return super.connect(signer) as SupplyCapReader__factory;
|
|
74
|
+
}
|
|
75
|
+
static readonly contractName: "SupplyCapReader";
|
|
76
|
+
public readonly contractName: "SupplyCapReader";
|
|
77
|
+
static readonly bytecode = _bytecode;
|
|
78
|
+
static readonly abi = _abi;
|
|
79
|
+
static createInterface(): SupplyCapReaderInterface {
|
|
80
|
+
return new utils.Interface(_abi) as SupplyCapReaderInterface;
|
|
81
|
+
}
|
|
82
|
+
static connect(
|
|
83
|
+
address: string,
|
|
84
|
+
signerOrProvider: Signer | Provider
|
|
85
|
+
): SupplyCapReader {
|
|
86
|
+
return new Contract(address, _abi, signerOrProvider) as SupplyCapReader;
|
|
87
|
+
}
|
|
88
|
+
}
|