@gearbox-protocol/sdk 9.14.0 → 9.15.0
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/dist/cjs/permissionless/bindings/address-provider.js +51 -0
- package/dist/cjs/permissionless/bindings/base-contract.js +173 -0
- package/dist/cjs/permissionless/bindings/bytecode-repository.js +526 -0
- package/dist/cjs/permissionless/bindings/compressors/index.js +24 -0
- package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +110 -0
- package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +60 -0
- package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +355 -0
- package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +52 -0
- package/dist/cjs/permissionless/bindings/factory/credit-factory.js +197 -0
- package/dist/cjs/permissionless/bindings/factory/pool-factory.js +69 -0
- package/dist/cjs/permissionless/bindings/factory/price-oracle-factory.js +47 -0
- package/dist/cjs/permissionless/bindings/governance/batches-chain.js +41 -0
- package/dist/cjs/permissionless/bindings/governance/governor.js +243 -0
- package/dist/cjs/permissionless/bindings/governance/index.js +26 -0
- package/dist/cjs/permissionless/bindings/governance/timelock.js +104 -0
- package/dist/cjs/permissionless/bindings/governance/types.js +16 -0
- package/dist/cjs/permissionless/bindings/index.js +48 -0
- package/dist/cjs/permissionless/bindings/instance-manager.js +244 -0
- package/dist/cjs/permissionless/bindings/market-configurator-factory.js +75 -0
- package/dist/cjs/permissionless/bindings/market-configurator.js +771 -0
- package/dist/cjs/permissionless/bindings/price-feed-store.js +395 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/balancer-stable.js +63 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/balancer-weighted.js +63 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/bounded.js +47 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/composite.js +43 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/constant.js +42 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/curve-crypto.js +67 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/curve-stable.js +67 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/curve-twap.js +70 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/curve-usd.js +50 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/erc4626.js +72 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/external.js +38 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/index.js +63 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/kodiak.js +50 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/mellow-lrt.js +122 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/pendle-pt-twap.js +51 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/pyth.js +65 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/redstone.js +81 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/wsteth.js +63 -0
- package/dist/cjs/permissionless/bindings/pricefeeds/zero.js +33 -0
- package/dist/cjs/permissionless/bindings/router/index.js +22 -0
- package/dist/cjs/permissionless/bindings/router/routing-manager.js +58 -0
- package/dist/cjs/permissionless/bindings/treasury-splitter.js +60 -0
- package/dist/cjs/permissionless/bindings/types.js +16 -0
- package/dist/cjs/permissionless/chains/archive-transport.js +274 -0
- package/dist/cjs/permissionless/core/auditor.js +16 -0
- package/dist/cjs/permissionless/core/bytecode.js +16 -0
- package/dist/cjs/permissionless/core/index.js +32 -0
- package/dist/cjs/permissionless/core/pricefeed-builder.js +16 -0
- package/dist/cjs/permissionless/core/pricefeed.js +16 -0
- package/dist/cjs/permissionless/core/proposal.js +16 -0
- package/dist/cjs/permissionless/core/raw-tx.js +38 -0
- package/dist/cjs/permissionless/deployment/addresses.js +35 -0
- package/dist/cjs/permissionless/deployment/mainnet.js +54 -0
- package/dist/cjs/permissionless/index.js +32 -0
- package/dist/cjs/permissionless/package.json +1 -0
- package/dist/cjs/permissionless/plugins/index.js +40 -0
- package/dist/cjs/permissionless/plugins/irm/constructor-params-abi.js +81 -0
- package/dist/cjs/permissionless/plugins/loss-policies/constructor-params-abi.js +79 -0
- package/dist/cjs/permissionless/plugins/rate-keepers/constructor-params-abi.js +89 -0
- package/dist/cjs/permissionless/utils/abi-decoder.js +72 -0
- package/dist/cjs/permissionless/utils/abi-encoder.js +89 -0
- package/dist/cjs/permissionless/utils/block-utils.js +55 -0
- package/dist/cjs/permissionless/utils/create2.js +113 -0
- package/dist/cjs/permissionless/utils/format.js +97 -0
- package/dist/cjs/permissionless/utils/governance/batch.js +114 -0
- package/dist/cjs/permissionless/utils/governance/index.js +26 -0
- package/dist/cjs/permissionless/utils/governance/timelock-txs.js +44 -0
- package/dist/cjs/permissionless/utils/governance/types.js +16 -0
- package/dist/cjs/permissionless/utils/index.js +38 -0
- package/dist/cjs/permissionless/utils/literals.js +46 -0
- package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +91 -0
- package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +84 -0
- package/dist/cjs/permissionless/utils/price-update/get-prices.js +123 -0
- package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +52 -0
- package/dist/cjs/permissionless/utils/price-update/index.js +28 -0
- package/dist/cjs/permissionless/utils/signature.js +35 -0
- package/dist/cjs/sdk/GearboxSDK.js +5 -1
- package/dist/esm/permissionless/bindings/address-provider.js +27 -0
- package/dist/esm/permissionless/bindings/base-contract.js +151 -0
- package/dist/esm/permissionless/bindings/bytecode-repository.js +508 -0
- package/dist/esm/permissionless/bindings/compressors/index.js +2 -0
- package/dist/esm/permissionless/bindings/compressors/token-compressor.js +89 -0
- package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +38 -0
- package/dist/esm/permissionless/bindings/cross-chain-multisig.js +336 -0
- package/dist/esm/permissionless/bindings/factory/abstract-factory.js +28 -0
- package/dist/esm/permissionless/bindings/factory/credit-factory.js +177 -0
- package/dist/esm/permissionless/bindings/factory/pool-factory.js +45 -0
- package/dist/esm/permissionless/bindings/factory/price-oracle-factory.js +23 -0
- package/dist/esm/permissionless/bindings/governance/batches-chain.js +17 -0
- package/dist/esm/permissionless/bindings/governance/governor.js +224 -0
- package/dist/esm/permissionless/bindings/governance/index.js +3 -0
- package/dist/esm/permissionless/bindings/governance/timelock.js +80 -0
- package/dist/esm/permissionless/bindings/governance/types.js +0 -0
- package/dist/esm/permissionless/bindings/index.js +14 -0
- package/dist/esm/permissionless/bindings/instance-manager.js +223 -0
- package/dist/esm/permissionless/bindings/market-configurator-factory.js +51 -0
- package/dist/esm/permissionless/bindings/market-configurator.js +765 -0
- package/dist/esm/permissionless/bindings/price-feed-store.js +376 -0
- package/dist/esm/permissionless/bindings/pricefeeds/balancer-stable.js +39 -0
- package/dist/esm/permissionless/bindings/pricefeeds/balancer-weighted.js +39 -0
- package/dist/esm/permissionless/bindings/pricefeeds/bounded.js +23 -0
- package/dist/esm/permissionless/bindings/pricefeeds/composite.js +19 -0
- package/dist/esm/permissionless/bindings/pricefeeds/constant.js +18 -0
- package/dist/esm/permissionless/bindings/pricefeeds/curve-crypto.js +43 -0
- package/dist/esm/permissionless/bindings/pricefeeds/curve-stable.js +43 -0
- package/dist/esm/permissionless/bindings/pricefeeds/curve-twap.js +46 -0
- package/dist/esm/permissionless/bindings/pricefeeds/curve-usd.js +26 -0
- package/dist/esm/permissionless/bindings/pricefeeds/erc4626.js +48 -0
- package/dist/esm/permissionless/bindings/pricefeeds/external.js +14 -0
- package/dist/esm/permissionless/bindings/pricefeeds/index.js +39 -0
- package/dist/esm/permissionless/bindings/pricefeeds/kodiak.js +26 -0
- package/dist/esm/permissionless/bindings/pricefeeds/mellow-lrt.js +98 -0
- package/dist/esm/permissionless/bindings/pricefeeds/pendle-pt-twap.js +27 -0
- package/dist/esm/permissionless/bindings/pricefeeds/pyth.js +41 -0
- package/dist/esm/permissionless/bindings/pricefeeds/redstone.js +57 -0
- package/dist/esm/permissionless/bindings/pricefeeds/wsteth.js +39 -0
- package/dist/esm/permissionless/bindings/pricefeeds/zero.js +9 -0
- package/dist/esm/permissionless/bindings/router/index.js +1 -0
- package/dist/esm/permissionless/bindings/router/routing-manager.js +36 -0
- package/dist/esm/permissionless/bindings/treasury-splitter.js +36 -0
- package/dist/esm/permissionless/bindings/types.js +0 -0
- package/dist/esm/permissionless/chains/archive-transport.js +250 -0
- package/dist/esm/permissionless/core/auditor.js +0 -0
- package/dist/esm/permissionless/core/bytecode.js +0 -0
- package/dist/esm/permissionless/core/index.js +6 -0
- package/dist/esm/permissionless/core/pricefeed-builder.js +0 -0
- package/dist/esm/permissionless/core/pricefeed.js +0 -0
- package/dist/esm/permissionless/core/proposal.js +0 -0
- package/dist/esm/permissionless/core/raw-tx.js +14 -0
- package/dist/esm/permissionless/deployment/addresses.js +11 -0
- package/dist/esm/permissionless/deployment/mainnet.js +27 -0
- package/dist/esm/permissionless/index.js +6 -0
- package/dist/esm/permissionless/package.json +1 -0
- package/dist/esm/permissionless/plugins/index.js +20 -0
- package/dist/esm/permissionless/plugins/irm/constructor-params-abi.js +52 -0
- package/dist/esm/permissionless/plugins/loss-policies/constructor-params-abi.js +50 -0
- package/dist/esm/permissionless/plugins/rate-keepers/constructor-params-abi.js +59 -0
- package/dist/esm/permissionless/utils/abi-decoder.js +50 -0
- package/dist/esm/permissionless/utils/abi-encoder.js +65 -0
- package/dist/esm/permissionless/utils/block-utils.js +31 -0
- package/dist/esm/permissionless/utils/create2.js +85 -0
- package/dist/esm/permissionless/utils/format.js +67 -0
- package/dist/esm/permissionless/utils/governance/batch.js +87 -0
- package/dist/esm/permissionless/utils/governance/index.js +3 -0
- package/dist/esm/permissionless/utils/governance/timelock-txs.js +20 -0
- package/dist/esm/permissionless/utils/governance/types.js +0 -0
- package/dist/esm/permissionless/utils/index.js +9 -0
- package/dist/esm/permissionless/utils/literals.js +16 -0
- package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +65 -0
- package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +65 -0
- package/dist/esm/permissionless/utils/price-update/get-prices.js +103 -0
- package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +31 -0
- package/dist/esm/permissionless/utils/price-update/index.js +4 -0
- package/dist/esm/permissionless/utils/signature.js +11 -0
- package/dist/esm/sdk/GearboxSDK.js +5 -1
- package/dist/types/permissionless/bindings/address-provider.d.ts +259 -0
- package/dist/types/permissionless/bindings/base-contract.d.ts +23 -0
- package/dist/types/permissionless/bindings/bytecode-repository.d.ts +1352 -0
- package/dist/types/permissionless/bindings/compressors/index.d.ts +2 -0
- package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +118 -0
- package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +331 -0
- package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +835 -0
- package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +17 -0
- package/dist/types/permissionless/bindings/factory/credit-factory.d.ts +224 -0
- package/dist/types/permissionless/bindings/factory/pool-factory.d.ts +86 -0
- package/dist/types/permissionless/bindings/factory/price-oracle-factory.d.ts +38 -0
- package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +39 -0
- package/dist/types/permissionless/bindings/governance/governor.d.ts +615 -0
- package/dist/types/permissionless/bindings/governance/index.d.ts +3 -0
- package/dist/types/permissionless/bindings/governance/timelock.d.ts +10 -0
- package/dist/types/permissionless/bindings/governance/types.d.ts +42 -0
- package/dist/types/permissionless/bindings/index.d.ts +14 -0
- package/dist/types/permissionless/bindings/instance-manager.d.ts +361 -0
- package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +244 -0
- package/dist/types/permissionless/bindings/market-configurator.d.ts +1656 -0
- package/dist/types/permissionless/bindings/price-feed-store.d.ts +605 -0
- package/dist/types/permissionless/bindings/pricefeeds/balancer-stable.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/balancer-weighted.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/bounded.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/composite.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/constant.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/curve-crypto.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/curve-stable.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/curve-twap.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/curve-usd.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/erc4626.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/external.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/index.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/kodiak.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/mellow-lrt.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/pendle-pt-twap.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/pyth.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/redstone.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/wsteth.d.ts +2 -0
- package/dist/types/permissionless/bindings/pricefeeds/zero.d.ts +2 -0
- package/dist/types/permissionless/bindings/router/index.d.ts +1 -0
- package/dist/types/permissionless/bindings/router/routing-manager.d.ts +502 -0
- package/dist/types/permissionless/bindings/treasury-splitter.d.ts +21 -0
- package/dist/types/permissionless/bindings/types.d.ts +65 -0
- package/dist/types/permissionless/chains/archive-transport.d.ts +49 -0
- package/dist/types/permissionless/core/auditor.d.ts +7 -0
- package/dist/types/permissionless/core/bytecode.d.ts +46 -0
- package/dist/types/permissionless/core/index.d.ts +6 -0
- package/dist/types/permissionless/core/pricefeed-builder.d.ts +59 -0
- package/dist/types/permissionless/core/pricefeed.d.ts +10 -0
- package/dist/types/permissionless/core/proposal.d.ts +33 -0
- package/dist/types/permissionless/core/raw-tx.d.ts +4 -0
- package/dist/types/permissionless/deployment/addresses.d.ts +7 -0
- package/dist/types/permissionless/deployment/mainnet.d.ts +10 -0
- package/dist/types/permissionless/index.d.ts +6 -0
- package/dist/types/permissionless/plugins/index.d.ts +3 -0
- package/dist/types/permissionless/plugins/irm/constructor-params-abi.d.ts +63 -0
- package/dist/types/permissionless/plugins/loss-policies/constructor-params-abi.d.ts +48 -0
- package/dist/types/permissionless/plugins/rate-keepers/constructor-params-abi.d.ts +55 -0
- package/dist/types/permissionless/utils/abi-decoder.d.ts +13 -0
- package/dist/types/permissionless/utils/abi-encoder.d.ts +7 -0
- package/dist/types/permissionless/utils/block-utils.d.ts +8 -0
- package/dist/types/permissionless/utils/create2.d.ts +17 -0
- package/dist/types/permissionless/utils/format.d.ts +7 -0
- package/dist/types/permissionless/utils/governance/batch.d.ts +17 -0
- package/dist/types/permissionless/utils/governance/index.d.ts +3 -0
- package/dist/types/permissionless/utils/governance/timelock-txs.d.ts +2 -0
- package/dist/types/permissionless/utils/governance/types.d.ts +16 -0
- package/dist/types/permissionless/utils/index.d.ts +9 -0
- package/dist/types/permissionless/utils/literals.d.ts +7 -0
- package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +8 -0
- package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +9 -0
- package/dist/types/permissionless/utils/price-update/get-prices.d.ts +6 -0
- package/dist/types/permissionless/utils/price-update/get-updatable-feeds.d.ts +8 -0
- package/dist/types/permissionless/utils/price-update/index.d.ts +4 -0
- package/dist/types/permissionless/utils/signature.d.ts +2 -0
- package/package.json +11 -1
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var price_feed_store_exports = {};
|
|
20
|
+
__export(price_feed_store_exports, {
|
|
21
|
+
PriceFeedStoreContract: () => PriceFeedStoreContract
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(price_feed_store_exports);
|
|
24
|
+
var import_viem = require("viem");
|
|
25
|
+
var import_iPriceFeedStore = require("../../abi/310/iPriceFeedStore.js");
|
|
26
|
+
var import_utils = require("../../sdk/utils/index.js");
|
|
27
|
+
var import_utils2 = require("../utils");
|
|
28
|
+
var import_base_contract = require("./base-contract");
|
|
29
|
+
var import_pricefeeds = require("./pricefeeds");
|
|
30
|
+
const abi = import_iPriceFeedStore.iPriceFeedStoreAbi;
|
|
31
|
+
class PriceFeedStoreContract extends import_base_contract.BaseContract {
|
|
32
|
+
chainId;
|
|
33
|
+
constructor(address, client, chainId = 1) {
|
|
34
|
+
super(abi, address, client, "PriceFeedStore");
|
|
35
|
+
this.chainId = chainId;
|
|
36
|
+
}
|
|
37
|
+
async getZeroPriceFeed() {
|
|
38
|
+
const result = await this.contract.read.zeroPriceFeed();
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
async getAllowedPriceFeeds(fromBlock, toBlock) {
|
|
42
|
+
const events = await this.getEvents("AllowPriceFeed", fromBlock, toBlock);
|
|
43
|
+
return events.map((e) => ({
|
|
44
|
+
token: e.args.token,
|
|
45
|
+
priceFeed: e.args.priceFeed
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
async getTokenPriceFeedsMap() {
|
|
49
|
+
const tokenPriceFeedsMap = await this.contract.read.getTokenPriceFeedsMap();
|
|
50
|
+
return tokenPriceFeedsMap;
|
|
51
|
+
}
|
|
52
|
+
async getAddPriceFeedEvents(fromBlock, toBlock) {
|
|
53
|
+
const events = await this.getEvents("AddPriceFeed", fromBlock, toBlock);
|
|
54
|
+
const result = [];
|
|
55
|
+
for (const e of events) {
|
|
56
|
+
result.push({
|
|
57
|
+
priceFeed: e.args.priceFeed,
|
|
58
|
+
stalenessPeriod: Number(e.args.stalenessPeriod)
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
async getNewPriceFeeds(fromBlock, toBlock) {
|
|
64
|
+
const events = await this.getAddPriceFeedEvents(fromBlock, toBlock);
|
|
65
|
+
const priceFeedInfo = await Promise.all(
|
|
66
|
+
events.map((event) => this.contract.read.priceFeedInfo([event.priceFeed]))
|
|
67
|
+
);
|
|
68
|
+
return priceFeedInfo.map((info, index) => ({
|
|
69
|
+
address: events[index].priceFeed,
|
|
70
|
+
contractType: (0, import_viem.hexToString)(info.priceFeedType, { size: 32 }),
|
|
71
|
+
version: Number(info.version),
|
|
72
|
+
deployedBy: this.address,
|
|
73
|
+
stalenessPeriod: info.stalenessPeriod,
|
|
74
|
+
name: info.name,
|
|
75
|
+
isInStore: true,
|
|
76
|
+
parameters: {}
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
async getStalenessPeriodUpdates(fromBlock, toBlock) {
|
|
80
|
+
const events = await this.getEvents(
|
|
81
|
+
"SetStalenessPeriod",
|
|
82
|
+
fromBlock,
|
|
83
|
+
toBlock
|
|
84
|
+
);
|
|
85
|
+
return events.map((e) => ({
|
|
86
|
+
priceFeed: e.args.priceFeed,
|
|
87
|
+
stalenessPeriod: Number(e.args.stalenessPeriod)
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
async getOwner() {
|
|
91
|
+
const result = await this.contract.read.owner();
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
async getPriceFeeds(token) {
|
|
95
|
+
const result = await this.contract.read.getPriceFeeds([token]);
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
async getStalenessPeriod(priceFeed) {
|
|
99
|
+
const result = await this.contract.read.getStalenessPeriod([priceFeed]);
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
102
|
+
async isAllowedPriceFeed(token, priceFeed) {
|
|
103
|
+
const result = await this.contract.read.isAllowedPriceFeed([
|
|
104
|
+
token,
|
|
105
|
+
priceFeed
|
|
106
|
+
]);
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
computeEIP712ExternalPriceFeedDigest(priceFeed, name, stalenessPeriod, chainId) {
|
|
110
|
+
return {
|
|
111
|
+
domain: this.getEIP712Domain(chainId),
|
|
112
|
+
types: {
|
|
113
|
+
ExternalPriceFeed: [
|
|
114
|
+
{ name: "priceFeed", type: "address" },
|
|
115
|
+
{ name: "name", type: "string" },
|
|
116
|
+
{ name: "stalenessPeriod", type: "uint256" }
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
primaryType: "ExternalPriceFeed",
|
|
120
|
+
message: {
|
|
121
|
+
priceFeed: priceFeed.toLowerCase(),
|
|
122
|
+
name,
|
|
123
|
+
stalenessPeriod: BigInt(stalenessPeriod)
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
getEIP712Domain(chainId) {
|
|
128
|
+
return {
|
|
129
|
+
name: import_utils2.PRICE_FEED_STORE,
|
|
130
|
+
version: "310",
|
|
131
|
+
chainId: chainId ?? this.chainId,
|
|
132
|
+
verifyingContract: this.address
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
async recoverExternalPriceFeedSigner(priceFeed, name, stalenessPeriod, signature, chainId) {
|
|
136
|
+
const digest = this.computeEIP712ExternalPriceFeedDigest(
|
|
137
|
+
priceFeed,
|
|
138
|
+
name,
|
|
139
|
+
stalenessPeriod,
|
|
140
|
+
chainId
|
|
141
|
+
);
|
|
142
|
+
return await (0, import_viem.recoverTypedDataAddress)({
|
|
143
|
+
...digest,
|
|
144
|
+
signature
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
async getKnownTokens() {
|
|
148
|
+
const result = await this.contract.read.getKnownTokens();
|
|
149
|
+
return result;
|
|
150
|
+
}
|
|
151
|
+
async getKnownPriceFeeds() {
|
|
152
|
+
const result = await this.contract.read.getKnownPriceFeeds();
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
155
|
+
async isKnownPriceFeed(priceFeed) {
|
|
156
|
+
const result = await this.contract.read.isKnownPriceFeed([priceFeed]);
|
|
157
|
+
return result;
|
|
158
|
+
}
|
|
159
|
+
async encodeConstructorParams(contractType, version, data) {
|
|
160
|
+
const types = [];
|
|
161
|
+
const values = [];
|
|
162
|
+
let flattenedAddresses = [];
|
|
163
|
+
let flattenedPeriods = [];
|
|
164
|
+
const params = import_pricefeeds.priceFeedSetupParams.find(
|
|
165
|
+
(p) => p.contractType === contractType && p.version === version
|
|
166
|
+
)?.constructorParams;
|
|
167
|
+
if (!params) {
|
|
168
|
+
throw new Error("Params not found");
|
|
169
|
+
}
|
|
170
|
+
for (let i = 0; i < params.length; i++) {
|
|
171
|
+
const param = params[i];
|
|
172
|
+
if (param.type.type === "pricefeedParamsFlattened") {
|
|
173
|
+
const p = data[param.label];
|
|
174
|
+
flattenedAddresses.push(p.address);
|
|
175
|
+
flattenedPeriods.push(BigInt(p.stalenessPeriod));
|
|
176
|
+
if (i + 1 < params.length && params[i + 1].type.type === "pricefeedParamsFlattened") {
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
if (flattenedAddresses.length > 0) {
|
|
180
|
+
for (const addr of flattenedAddresses) {
|
|
181
|
+
types.push({ type: "address" });
|
|
182
|
+
values.push(addr);
|
|
183
|
+
}
|
|
184
|
+
for (const period of flattenedPeriods) {
|
|
185
|
+
types.push({ type: "uint32" });
|
|
186
|
+
values.push(period);
|
|
187
|
+
}
|
|
188
|
+
flattenedAddresses = [];
|
|
189
|
+
flattenedPeriods = [];
|
|
190
|
+
}
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
switch (param.type.type) {
|
|
194
|
+
case "address":
|
|
195
|
+
case "bytes32":
|
|
196
|
+
case "string":
|
|
197
|
+
types.push({ type: param.type.type });
|
|
198
|
+
values.push(data[param.label]);
|
|
199
|
+
break;
|
|
200
|
+
case "uint256":
|
|
201
|
+
case "int256":
|
|
202
|
+
case "uint32":
|
|
203
|
+
types.push({ type: param.type.type });
|
|
204
|
+
values.push(BigInt(data[param.label]));
|
|
205
|
+
break;
|
|
206
|
+
case "uint8":
|
|
207
|
+
types.push({ type: param.type.type });
|
|
208
|
+
values.push(Number(data[param.label]));
|
|
209
|
+
break;
|
|
210
|
+
case "bool":
|
|
211
|
+
types.push({ type: param.type.type });
|
|
212
|
+
values.push(data[param.label]);
|
|
213
|
+
break;
|
|
214
|
+
case "owner":
|
|
215
|
+
types.push({ type: "address" });
|
|
216
|
+
values.push(this.address);
|
|
217
|
+
break;
|
|
218
|
+
case "pricefeedParamsFixed":
|
|
219
|
+
case "pricefeedParamsVariable": {
|
|
220
|
+
const structType = param.type.type === "pricefeedParamsFixed" ? `tuple[${param.type.qty}]` : `tuple[]`;
|
|
221
|
+
const structData = Array.from(
|
|
222
|
+
{
|
|
223
|
+
length: param.type.qty
|
|
224
|
+
},
|
|
225
|
+
(_, i2) => {
|
|
226
|
+
const key = `${param.label}-${i2}`;
|
|
227
|
+
const priceFeedParams = data[key];
|
|
228
|
+
if (!priceFeedParams) {
|
|
229
|
+
if (param.type.type === "pricefeedParamsFixed") {
|
|
230
|
+
throw new Error(`${key} not found`);
|
|
231
|
+
} else {
|
|
232
|
+
return void 0;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return [
|
|
236
|
+
priceFeedParams.address,
|
|
237
|
+
BigInt(priceFeedParams.stalenessPeriod)
|
|
238
|
+
];
|
|
239
|
+
}
|
|
240
|
+
).filter((d) => !!d);
|
|
241
|
+
types.push({
|
|
242
|
+
type: structType,
|
|
243
|
+
components: [{ type: "address" }, { type: "uint256" }]
|
|
244
|
+
});
|
|
245
|
+
values.push(structData);
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
case "addressArrayFixed": {
|
|
249
|
+
const arrayData = Array.from(
|
|
250
|
+
{
|
|
251
|
+
length: param.type.qty
|
|
252
|
+
},
|
|
253
|
+
(_, i2) => {
|
|
254
|
+
const key = `${param.label}-${i2}`;
|
|
255
|
+
const address = data[key];
|
|
256
|
+
if (!address) {
|
|
257
|
+
throw new Error(`${key} not found`);
|
|
258
|
+
}
|
|
259
|
+
return address;
|
|
260
|
+
}
|
|
261
|
+
).filter((d) => !!d);
|
|
262
|
+
types.push({
|
|
263
|
+
type: `address[${param.type.qty}]`
|
|
264
|
+
});
|
|
265
|
+
values.push(arrayData);
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
case "lowerbound": {
|
|
269
|
+
const lowerbound = await param.type.getter(data, this.client);
|
|
270
|
+
types.push({ type: "uint256" });
|
|
271
|
+
values.push(lowerbound * 99n / 100n);
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return (0, import_viem.encodeAbiParameters)(types, values);
|
|
277
|
+
}
|
|
278
|
+
updatePricesTx(updates) {
|
|
279
|
+
return this.createRawTx({
|
|
280
|
+
functionName: "updatePrices",
|
|
281
|
+
args: [updates]
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
addPriceFeedTx(priceFeed, stalenessPeriod, name) {
|
|
285
|
+
return this.createRawTx({
|
|
286
|
+
functionName: "addPriceFeed",
|
|
287
|
+
args: [priceFeed, stalenessPeriod, name]
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
removePriceFeedTx(priceFeed) {
|
|
291
|
+
return this.createRawTx({
|
|
292
|
+
functionName: "removePriceFeed",
|
|
293
|
+
args: [priceFeed]
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
allowPriceFeedTx(token, priceFeed) {
|
|
297
|
+
return this.createRawTx({
|
|
298
|
+
functionName: "allowPriceFeed",
|
|
299
|
+
args: [token, priceFeed]
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
setStalenessPeriodTx(priceFeed, stalenessPeriod) {
|
|
303
|
+
return this.createRawTx({
|
|
304
|
+
functionName: "setStalenessPeriod",
|
|
305
|
+
args: [priceFeed, stalenessPeriod]
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
updatePrices(updates) {
|
|
309
|
+
return this.createRawTx({
|
|
310
|
+
functionName: "updatePrices",
|
|
311
|
+
args: [updates]
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
configurePriceFeeds(priceFeeds) {
|
|
315
|
+
return this.createRawTx({
|
|
316
|
+
functionName: "configurePriceFeeds",
|
|
317
|
+
args: [priceFeeds]
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
async getPriceFeedsInfo(priceFeeds) {
|
|
321
|
+
if (priceFeeds.length === 0) {
|
|
322
|
+
return [];
|
|
323
|
+
}
|
|
324
|
+
const multicallCalls = priceFeeds.map((priceFeed) => ({
|
|
325
|
+
address: this.address,
|
|
326
|
+
abi: this.abi,
|
|
327
|
+
functionName: "priceFeedInfo",
|
|
328
|
+
args: [priceFeed]
|
|
329
|
+
}));
|
|
330
|
+
const results = await this.client.multicall({
|
|
331
|
+
contracts: multicallCalls
|
|
332
|
+
});
|
|
333
|
+
return results.map((result, index) => {
|
|
334
|
+
if (result.status === "failure") {
|
|
335
|
+
throw new Error(
|
|
336
|
+
`Failed to get price feed info for ${priceFeeds[index]}: ${result.error}`
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
const info = result.result;
|
|
340
|
+
return {
|
|
341
|
+
address: priceFeeds[index],
|
|
342
|
+
contractType: (0, import_viem.hexToString)(info.priceFeedType, { size: 32 }),
|
|
343
|
+
version: Number(info.version),
|
|
344
|
+
deployedBy: this.address,
|
|
345
|
+
stalenessPeriod: Number(info.stalenessPeriod),
|
|
346
|
+
name: info.name,
|
|
347
|
+
isInStore: true,
|
|
348
|
+
parameters: {}
|
|
349
|
+
};
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
parseFunctionParams(params) {
|
|
353
|
+
switch (params.functionName) {
|
|
354
|
+
case "configurePriceFeeds": {
|
|
355
|
+
const [priceFeedCalls] = params.args;
|
|
356
|
+
const calls = [];
|
|
357
|
+
for (const priceFeedCall of priceFeedCalls) {
|
|
358
|
+
const selector = priceFeedCall.callData.slice(0, 10).toLowerCase();
|
|
359
|
+
if (selector === "0xbc489a65") {
|
|
360
|
+
calls.push({
|
|
361
|
+
target: priceFeedCall.target,
|
|
362
|
+
functionName: "setLimiter",
|
|
363
|
+
args: {
|
|
364
|
+
lowerBound: (0, import_viem.formatUnits)(
|
|
365
|
+
BigInt("0x" + priceFeedCall.callData.slice(10)),
|
|
366
|
+
18
|
|
367
|
+
// TODO: use decimals returned by getScale()
|
|
368
|
+
)
|
|
369
|
+
// uint256 formatted with 18 decimals
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
} else {
|
|
373
|
+
calls.push({
|
|
374
|
+
target: priceFeedCall.target,
|
|
375
|
+
callData: priceFeedCall.callData
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
return {
|
|
380
|
+
chainId: 0,
|
|
381
|
+
target: this.address,
|
|
382
|
+
label: this.name,
|
|
383
|
+
functionName: params.functionName,
|
|
384
|
+
args: { calls: (0, import_utils.json_stringify)(calls) }
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
default:
|
|
388
|
+
return void 0;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
393
|
+
0 && (module.exports = {
|
|
394
|
+
PriceFeedStoreContract
|
|
395
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var balancer_stable_exports = {};
|
|
20
|
+
__export(balancer_stable_exports, {
|
|
21
|
+
balancerStablePriceFeed: () => balancerStablePriceFeed
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(balancer_stable_exports);
|
|
24
|
+
var import_viem = require("viem");
|
|
25
|
+
const balancerStablePriceFeed = {
|
|
26
|
+
contractType: "PRICE_FEED::BALANCER_STABLE",
|
|
27
|
+
version: 310,
|
|
28
|
+
constructorParams: [
|
|
29
|
+
{
|
|
30
|
+
label: "priceStore",
|
|
31
|
+
type: { type: "owner" }
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
label: "lowerbound",
|
|
35
|
+
type: {
|
|
36
|
+
type: "lowerbound",
|
|
37
|
+
getter: async (values, publicClient) => {
|
|
38
|
+
const { balancerPool } = values;
|
|
39
|
+
return await publicClient.readContract({
|
|
40
|
+
abi: (0, import_viem.parseAbi)([
|
|
41
|
+
"function getRate() external view returns (uint256)"
|
|
42
|
+
]),
|
|
43
|
+
address: balancerPool,
|
|
44
|
+
functionName: "getRate"
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
label: "balancerPool",
|
|
51
|
+
type: { type: "address" }
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
label: "underlyingPriceFeeds",
|
|
55
|
+
type: { type: "pricefeedParamsFixed", qty: 5, minNonZero: 2 }
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
stalenessPeriod: false
|
|
59
|
+
};
|
|
60
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
61
|
+
0 && (module.exports = {
|
|
62
|
+
balancerStablePriceFeed
|
|
63
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var balancer_weighted_exports = {};
|
|
20
|
+
__export(balancer_weighted_exports, {
|
|
21
|
+
balancerWeightedPriceFeed: () => balancerWeightedPriceFeed
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(balancer_weighted_exports);
|
|
24
|
+
var import_viem = require("viem");
|
|
25
|
+
const balancerWeightedPriceFeed = {
|
|
26
|
+
contractType: "PRICE_FEED::BALANCER_WEIGHTED",
|
|
27
|
+
version: 310,
|
|
28
|
+
constructorParams: [
|
|
29
|
+
{
|
|
30
|
+
label: "priceStore",
|
|
31
|
+
type: { type: "owner" }
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
label: "lowerbound",
|
|
35
|
+
type: {
|
|
36
|
+
type: "lowerbound",
|
|
37
|
+
getter: async (values, publicClient) => {
|
|
38
|
+
const { balancerPool } = values;
|
|
39
|
+
return await publicClient.readContract({
|
|
40
|
+
abi: (0, import_viem.parseAbi)([
|
|
41
|
+
"function getRate() external view returns (uint256)"
|
|
42
|
+
]),
|
|
43
|
+
address: balancerPool,
|
|
44
|
+
functionName: "getRate"
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
label: "balancerPool",
|
|
51
|
+
type: { type: "address" }
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
label: "underlyingPriceFeeds",
|
|
55
|
+
type: { type: "pricefeedParamsVariable", qty: 8, minNonZero: 2 }
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
stalenessPeriod: false
|
|
59
|
+
};
|
|
60
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
61
|
+
0 && (module.exports = {
|
|
62
|
+
balancerWeightedPriceFeed
|
|
63
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var bounded_exports = {};
|
|
20
|
+
__export(bounded_exports, {
|
|
21
|
+
boundedPriceFeed: () => boundedPriceFeed
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(bounded_exports);
|
|
24
|
+
const boundedPriceFeed = {
|
|
25
|
+
contractType: "PRICE_FEED::BOUNDED",
|
|
26
|
+
version: 310,
|
|
27
|
+
constructorParams: [
|
|
28
|
+
{
|
|
29
|
+
label: "underlyingPriceFeed",
|
|
30
|
+
type: { type: "pricefeedParamsFlattened" }
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
label: "upperBound ($)",
|
|
34
|
+
type: { type: "int256", decimals: 8 }
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
label: "descriptionTicker",
|
|
38
|
+
type: { type: "string", maxLen: 32 },
|
|
39
|
+
displayOrder: 1
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
stalenessPeriod: false
|
|
43
|
+
};
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
boundedPriceFeed
|
|
47
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var composite_exports = {};
|
|
20
|
+
__export(composite_exports, {
|
|
21
|
+
compositePriceFeed: () => compositePriceFeed
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(composite_exports);
|
|
24
|
+
const compositePriceFeed = {
|
|
25
|
+
contractType: "PRICE_FEED::COMPOSITE",
|
|
26
|
+
version: 310,
|
|
27
|
+
constructorParams: [
|
|
28
|
+
{
|
|
29
|
+
label: "underlyingPriceFeed",
|
|
30
|
+
type: { type: "pricefeedParamsFixed", qty: 2 }
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
label: "descriptionTicker",
|
|
34
|
+
type: { type: "string", maxLen: 32 },
|
|
35
|
+
displayOrder: 1
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
stalenessPeriod: false
|
|
39
|
+
};
|
|
40
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
41
|
+
0 && (module.exports = {
|
|
42
|
+
compositePriceFeed
|
|
43
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var constant_exports = {};
|
|
20
|
+
__export(constant_exports, {
|
|
21
|
+
constantPriceFeed: () => constantPriceFeed
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(constant_exports);
|
|
24
|
+
const constantPriceFeed = {
|
|
25
|
+
contractType: "PRICE_FEED::CONSTANT",
|
|
26
|
+
version: 310,
|
|
27
|
+
constructorParams: [
|
|
28
|
+
{
|
|
29
|
+
label: "price ($)",
|
|
30
|
+
type: { type: "int256", decimals: 8 }
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
label: "descriptionTicker",
|
|
34
|
+
type: { type: "string", maxLen: 32 }
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
stalenessPeriod: false
|
|
38
|
+
};
|
|
39
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
40
|
+
0 && (module.exports = {
|
|
41
|
+
constantPriceFeed
|
|
42
|
+
});
|