@gearbox-protocol/sdk 12.4.0 → 12.5.1
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/plugins/adapters/AdaptersPlugin.js +1 -1
- package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +20 -3
- package/dist/cjs/sdk/core/address-provider/AddressProviderV300Contract.js +1 -1
- package/dist/cjs/sdk/core/address-provider/AddressProviderV310Contract.js +1 -1
- package/dist/cjs/sdk/core/address-provider/createAddressProvider.js +18 -2
- package/dist/esm/plugins/adapters/AdaptersPlugin.js +1 -1
- package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +20 -3
- package/dist/esm/sdk/core/address-provider/AddressProviderV300Contract.js +1 -1
- package/dist/esm/sdk/core/address-provider/AddressProviderV310Contract.js +1 -1
- package/dist/esm/sdk/core/address-provider/createAddressProvider.js +20 -2
- package/dist/types/plugins/adapters/types.d.ts +1 -1
- package/dist/types/sdk/core/address-provider/AbstractAddressProviderContract.d.ts +2 -2
- package/dist/types/sdk/core/address-provider/AddressProviderV300Contract.d.ts +2 -2
- package/dist/types/sdk/core/address-provider/AddressProviderV310Contract.d.ts +2 -2
- package/dist/types/sdk/core/address-provider/types.d.ts +15 -0
- package/package.json +1 -1
|
@@ -79,7 +79,7 @@ class AdaptersPlugin extends import_sdk.BasePlugin {
|
|
|
79
79
|
return new import_InfinifiUnwindingGatewayAdapterContract.InfinifiUnwindingGatewayAdapterContract(this.sdk, args);
|
|
80
80
|
case "ADAPTER::INFRARED_VAULT":
|
|
81
81
|
return new import_contracts.InfraredVaultAdapterContract(this.sdk, args);
|
|
82
|
-
case "ADAPTER::
|
|
82
|
+
case "ADAPTER::KELP_DEPOSIT_POOL":
|
|
83
83
|
return new import_contracts.KelpLRTDepositPoolAdapterContract(this.sdk, args);
|
|
84
84
|
case "ADAPTER::KELP_WITHDRAWAL":
|
|
85
85
|
return new import_contracts.KelpLRTWithdrawalManagerAdapterContract(this.sdk, args);
|
|
@@ -26,10 +26,20 @@ var import_base = require("../../base/index.js");
|
|
|
26
26
|
var import_constants = require("../../constants/index.js");
|
|
27
27
|
var import_mappers = require("../../utils/mappers.js");
|
|
28
28
|
class AbstractAddressProviderContract extends import_base.BaseContract {
|
|
29
|
-
#addresses
|
|
30
|
-
|
|
29
|
+
#addresses;
|
|
30
|
+
#overrides;
|
|
31
|
+
constructor(options, args, addresses) {
|
|
31
32
|
super(options, args);
|
|
32
|
-
this.#addresses = addresses;
|
|
33
|
+
this.#addresses = addresses?.addresses ?? {};
|
|
34
|
+
this.#overrides = addresses?.overrides ?? {};
|
|
35
|
+
for (const [contract, vs] of import_mappers.TypedObjectUtils.entries(this.#overrides)) {
|
|
36
|
+
for (const [version, address] of import_mappers.TypedObjectUtils.entries(vs)) {
|
|
37
|
+
this.#addresses[contract] = {
|
|
38
|
+
...this.#addresses[contract],
|
|
39
|
+
[version]: address
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
33
43
|
}
|
|
34
44
|
setInternalAddress(key, address, version) {
|
|
35
45
|
const k = (0, import_viem.isHex)(key) ? (0, import_viem.hexToString)(key, { size: 32 }) : key;
|
|
@@ -38,6 +48,13 @@ class AbstractAddressProviderContract extends import_base.BaseContract {
|
|
|
38
48
|
}
|
|
39
49
|
this.#addresses[k][version] = address;
|
|
40
50
|
this.logger?.debug(`Set address for ${k}@${version} to ${address}`);
|
|
51
|
+
const overriden = this.#overrides[k]?.[version];
|
|
52
|
+
if (overriden) {
|
|
53
|
+
this.logger?.warn(
|
|
54
|
+
`address for ${k}@${version} was overriden, hardcode ${overriden} instead of ${address}`
|
|
55
|
+
);
|
|
56
|
+
this.#addresses[k][version] = overriden;
|
|
57
|
+
}
|
|
41
58
|
}
|
|
42
59
|
getAddress(contract, version = import_constants.NO_VERSION) {
|
|
43
60
|
if (!this.#addresses[contract]) {
|
|
@@ -37,7 +37,7 @@ var import_viem2 = require("../../utils/viem/index.js");
|
|
|
37
37
|
var import_AbstractAddressProviderContract = __toESM(require("./AbstractAddressProviderContract.js"));
|
|
38
38
|
const abi = import_v300.iAddressProviderV300Abi;
|
|
39
39
|
class AddressProviderV300Contract extends import_AbstractAddressProviderContract.default {
|
|
40
|
-
constructor(options, address, version, addresses
|
|
40
|
+
constructor(options, address, version, addresses) {
|
|
41
41
|
super(
|
|
42
42
|
options,
|
|
43
43
|
{
|
|
@@ -36,7 +36,7 @@ var import_generated = require("../../../abi/310/generated.js");
|
|
|
36
36
|
var import_AbstractAddressProviderContract = __toESM(require("./AbstractAddressProviderContract.js"));
|
|
37
37
|
const abi = import_generated.iAddressProviderV310Abi;
|
|
38
38
|
class AddressProviderV310Contract extends import_AbstractAddressProviderContract.default {
|
|
39
|
-
constructor(options, address, version = 310, addresses
|
|
39
|
+
constructor(options, address, version = 310, addresses) {
|
|
40
40
|
super(
|
|
41
41
|
options,
|
|
42
42
|
{
|
|
@@ -27,6 +27,18 @@ var import_constants = require("../../constants/index.js");
|
|
|
27
27
|
var import_hex = require("../../utils/hex.js");
|
|
28
28
|
var import_AddressProviderV300Contract = require("./AddressProviderV300Contract.js");
|
|
29
29
|
var import_AddressProviderV310Contract = require("./AddressProviderV310Contract.js");
|
|
30
|
+
const OVERRIDE_ADDRESSES = {
|
|
31
|
+
// Override price feed compressor and market feed compressor
|
|
32
|
+
// we urgently deployed fix and it has not been added to the address provider yet
|
|
33
|
+
Mainnet: {
|
|
34
|
+
[import_constants.AP_PRICE_FEED_COMPRESSOR]: {
|
|
35
|
+
311: "0x1fA2637B9fab0CD14290A7EE908DDc9688a15120"
|
|
36
|
+
},
|
|
37
|
+
[import_constants.AP_MARKET_COMPRESSOR]: {
|
|
38
|
+
311: "0x0C27F242f6e9F2A9AD3261bE6e439De3B948bcA2"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
30
42
|
async function createAddressProvider(sdk, address) {
|
|
31
43
|
let v;
|
|
32
44
|
if ((0, import_hex.hexEq)(address, import_constants.ADDRESS_PROVIDER_V310)) {
|
|
@@ -45,11 +57,15 @@ function hydrateAddressProvider(sdk, state) {
|
|
|
45
57
|
return newAddressProvider(sdk, addr, Number(version), state.addresses);
|
|
46
58
|
}
|
|
47
59
|
function newAddressProvider(sdk, address, version, addresses) {
|
|
60
|
+
const addrOptions = {
|
|
61
|
+
addresses,
|
|
62
|
+
overrides: OVERRIDE_ADDRESSES[sdk.networkType]
|
|
63
|
+
};
|
|
48
64
|
if ((0, import_constants.isV300)(version)) {
|
|
49
|
-
return new import_AddressProviderV300Contract.AddressProviderV300Contract(sdk, address, version,
|
|
65
|
+
return new import_AddressProviderV300Contract.AddressProviderV300Contract(sdk, address, version, addrOptions);
|
|
50
66
|
}
|
|
51
67
|
if ((0, import_constants.isV310)(version)) {
|
|
52
|
-
return new import_AddressProviderV310Contract.AddressProviderV310Contract(sdk, address, version,
|
|
68
|
+
return new import_AddressProviderV310Contract.AddressProviderV310Contract(sdk, address, version, addrOptions);
|
|
53
69
|
}
|
|
54
70
|
throw new Error(`unsupported address provider version: ${version}`);
|
|
55
71
|
}
|
|
@@ -97,7 +97,7 @@ class AdaptersPlugin extends BasePlugin {
|
|
|
97
97
|
return new InfinifiUnwindingGatewayAdapterContract(this.sdk, args);
|
|
98
98
|
case "ADAPTER::INFRARED_VAULT":
|
|
99
99
|
return new InfraredVaultAdapterContract(this.sdk, args);
|
|
100
|
-
case "ADAPTER::
|
|
100
|
+
case "ADAPTER::KELP_DEPOSIT_POOL":
|
|
101
101
|
return new KelpLRTDepositPoolAdapterContract(this.sdk, args);
|
|
102
102
|
case "ADAPTER::KELP_WITHDRAWAL":
|
|
103
103
|
return new KelpLRTWithdrawalManagerAdapterContract(this.sdk, args);
|
|
@@ -3,10 +3,20 @@ import { BaseContract } from "../../base/index.js";
|
|
|
3
3
|
import { NO_VERSION } from "../../constants/index.js";
|
|
4
4
|
import { TypedObjectUtils } from "../../utils/mappers.js";
|
|
5
5
|
class AbstractAddressProviderContract extends BaseContract {
|
|
6
|
-
#addresses
|
|
7
|
-
|
|
6
|
+
#addresses;
|
|
7
|
+
#overrides;
|
|
8
|
+
constructor(options, args, addresses) {
|
|
8
9
|
super(options, args);
|
|
9
|
-
this.#addresses = addresses;
|
|
10
|
+
this.#addresses = addresses?.addresses ?? {};
|
|
11
|
+
this.#overrides = addresses?.overrides ?? {};
|
|
12
|
+
for (const [contract, vs] of TypedObjectUtils.entries(this.#overrides)) {
|
|
13
|
+
for (const [version, address] of TypedObjectUtils.entries(vs)) {
|
|
14
|
+
this.#addresses[contract] = {
|
|
15
|
+
...this.#addresses[contract],
|
|
16
|
+
[version]: address
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
10
20
|
}
|
|
11
21
|
setInternalAddress(key, address, version) {
|
|
12
22
|
const k = isHex(key) ? hexToString(key, { size: 32 }) : key;
|
|
@@ -15,6 +25,13 @@ class AbstractAddressProviderContract extends BaseContract {
|
|
|
15
25
|
}
|
|
16
26
|
this.#addresses[k][version] = address;
|
|
17
27
|
this.logger?.debug(`Set address for ${k}@${version} to ${address}`);
|
|
28
|
+
const overriden = this.#overrides[k]?.[version];
|
|
29
|
+
if (overriden) {
|
|
30
|
+
this.logger?.warn(
|
|
31
|
+
`address for ${k}@${version} was overriden, hardcode ${overriden} instead of ${address}`
|
|
32
|
+
);
|
|
33
|
+
this.#addresses[k][version] = overriden;
|
|
34
|
+
}
|
|
18
35
|
}
|
|
19
36
|
getAddress(contract, version = NO_VERSION) {
|
|
20
37
|
if (!this.#addresses[contract]) {
|
|
@@ -4,7 +4,7 @@ import { getLogsSafe } from "../../utils/viem/index.js";
|
|
|
4
4
|
import AbstractAddressProviderContract from "./AbstractAddressProviderContract.js";
|
|
5
5
|
const abi = iAddressProviderV300Abi;
|
|
6
6
|
class AddressProviderV300Contract extends AbstractAddressProviderContract {
|
|
7
|
-
constructor(options, address, version, addresses
|
|
7
|
+
constructor(options, address, version, addresses) {
|
|
8
8
|
super(
|
|
9
9
|
options,
|
|
10
10
|
{
|
|
@@ -3,7 +3,7 @@ import { iAddressProviderV310Abi } from "../../../abi/310/generated.js";
|
|
|
3
3
|
import AbstractAddressProviderContract from "./AbstractAddressProviderContract.js";
|
|
4
4
|
const abi = iAddressProviderV310Abi;
|
|
5
5
|
class AddressProviderV310Contract extends AbstractAddressProviderContract {
|
|
6
|
-
constructor(options, address, version = 310, addresses
|
|
6
|
+
constructor(options, address, version = 310, addresses) {
|
|
7
7
|
super(
|
|
8
8
|
options,
|
|
9
9
|
{
|
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
import { iVersionAbi } from "../../../abi/iVersion.js";
|
|
2
2
|
import {
|
|
3
3
|
ADDRESS_PROVIDER_V310,
|
|
4
|
+
AP_MARKET_COMPRESSOR,
|
|
5
|
+
AP_PRICE_FEED_COMPRESSOR,
|
|
4
6
|
isV300,
|
|
5
7
|
isV310
|
|
6
8
|
} from "../../constants/index.js";
|
|
7
9
|
import { hexEq } from "../../utils/hex.js";
|
|
8
10
|
import { AddressProviderV300Contract } from "./AddressProviderV300Contract.js";
|
|
9
11
|
import { AddressProviderV310Contract } from "./AddressProviderV310Contract.js";
|
|
12
|
+
const OVERRIDE_ADDRESSES = {
|
|
13
|
+
// Override price feed compressor and market feed compressor
|
|
14
|
+
// we urgently deployed fix and it has not been added to the address provider yet
|
|
15
|
+
Mainnet: {
|
|
16
|
+
[AP_PRICE_FEED_COMPRESSOR]: {
|
|
17
|
+
311: "0x1fA2637B9fab0CD14290A7EE908DDc9688a15120"
|
|
18
|
+
},
|
|
19
|
+
[AP_MARKET_COMPRESSOR]: {
|
|
20
|
+
311: "0x0C27F242f6e9F2A9AD3261bE6e439De3B948bcA2"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
10
24
|
async function createAddressProvider(sdk, address) {
|
|
11
25
|
let v;
|
|
12
26
|
if (hexEq(address, ADDRESS_PROVIDER_V310)) {
|
|
@@ -25,11 +39,15 @@ function hydrateAddressProvider(sdk, state) {
|
|
|
25
39
|
return newAddressProvider(sdk, addr, Number(version), state.addresses);
|
|
26
40
|
}
|
|
27
41
|
function newAddressProvider(sdk, address, version, addresses) {
|
|
42
|
+
const addrOptions = {
|
|
43
|
+
addresses,
|
|
44
|
+
overrides: OVERRIDE_ADDRESSES[sdk.networkType]
|
|
45
|
+
};
|
|
28
46
|
if (isV300(version)) {
|
|
29
|
-
return new AddressProviderV300Contract(sdk, address, version,
|
|
47
|
+
return new AddressProviderV300Contract(sdk, address, version, addrOptions);
|
|
30
48
|
}
|
|
31
49
|
if (isV310(version)) {
|
|
32
|
-
return new AddressProviderV310Contract(sdk, address, version,
|
|
50
|
+
return new AddressProviderV310Contract(sdk, address, version, addrOptions);
|
|
33
51
|
}
|
|
34
52
|
throw new Error(`unsupported address provider version: ${version}`);
|
|
35
53
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AbiParameter } from "viem";
|
|
2
2
|
export type VersionedAbi = Record<number, readonly AbiParameter[]>;
|
|
3
3
|
export type AdapterContractTypeLegacy = "AD_AAVE_V3_LENDING_POOL" | "AD_BALANCER_VAULT" | "AD_CAMELOT_V3_ROUTER" | "AD_CONVEX_L2_BOOSTER" | "AD_CONVEX_L2_REWARD_POOL" | "AD_CONVEX_V1_BASE_REWARD_POOL" | "AD_CONVEX_V1_BOOSTER" | "AD_CURVE_STABLE_NG" | "AD_CURVE_V1_2ASSETS" | "AD_CURVE_V1_3ASSETS" | "AD_CURVE_V1_4ASSETS" | "AD_CURVE_V1_EXCHANGE_ONLY" | "AD_CURVE_V1_STECRV_POOL" | "AD_CURVE_V1_WRAPPER" | "AD_DAI_USDS_EXCHANGE" | "AD_EQUALIZER_ROUTER" | "AD_ERC4626_VAULT" | "AD_LIDO_V1" | "AD_LIDO_WSTETH_V1" | "AD_MELLOW_ERC4626_VAULT" | "AD_MELLOW_LRT_VAULT" | "AD_PENDLE_ROUTER" | "AD_STAKING_REWARDS" | "AD_SYMBIOTIC_DEFAULT_COLLATERAL" | "AD_UNISWAP_V2_ROUTER" | "AD_UNISWAP_V3_ROUTER" | "AD_VELODROME_V2_ROUTER" | "AD_YEARN_V2" | "AD_ZIRCUIT_POOL";
|
|
4
|
-
export type AdapterContractType = "ADAPTER::ACCOUNT_MIGRATOR" | "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFINIFI_GATEWAY" | "ADAPTER::INFINIFI_UNWINDING" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::
|
|
4
|
+
export type AdapterContractType = "ADAPTER::ACCOUNT_MIGRATOR" | "ADAPTER::BALANCER_V3_ROUTER" | "ADAPTER::BALANCER_V3_WRAPPER" | "ADAPTER::BALANCER_VAULT" | "ADAPTER::CAMELOT_V3_ROUTER" | "ADAPTER::CURVE_STABLE_NG" | "ADAPTER::CURVE_V1_2ASSETS" | "ADAPTER::CURVE_V1_3ASSETS" | "ADAPTER::CURVE_V1_4ASSETS" | "ADAPTER::CURVE_V1_STECRV_POOL" | "ADAPTER::CURVE_V1_WRAPPER" | "ADAPTER::CVX_V1_BASE_REWARD_POOL" | "ADAPTER::CVX_V1_BOOSTER" | "ADAPTER::DAI_USDS_EXCHANGE" | "ADAPTER::EQUALIZER_ROUTER" | "ADAPTER::ERC4626_VAULT" | "ADAPTER::ERC4626_VAULT_REFERRAL" | "ADAPTER::FLUID_DEX" | "ADAPTER::INFINIFI_GATEWAY" | "ADAPTER::INFINIFI_UNWINDING" | "ADAPTER::INFRARED_VAULT" | "ADAPTER::KELP_DEPOSIT_POOL" | "ADAPTER::KELP_WITHDRAWAL" | "ADAPTER::KODIAK_ISLAND_GATEWAY" | "ADAPTER::LIDO_V1" | "ADAPTER::LIDO_WSTETH_V1" | "ADAPTER::MELLOW_CLAIMER" | "ADAPTER::MELLOW_DVV" | "ADAPTER::MELLOW_ERC4626_VAULT" | "ADAPTER::MELLOW_LRT_VAULT" | "ADAPTER::MELLOW_WRAPPER" | "ADAPTER::MELLOW_DEPOSIT_QUEUE_QUEUE" | "ADAPTER::MELLOW_REDEEM_QUEUE_QUEUE" | "ADAPTER::MIDAS_ISSUANCE_VAULT" | "ADAPTER::MIDAS_REDEMPTION_VAULT" | "ADAPTER::PENDLE_ROUTER" | "ADAPTER::STAKING_REWARDS" | "ADAPTER::TRADERJOE_ROUTER" | "ADAPTER::UNISWAP_V2_ROUTER" | "ADAPTER::UNISWAP_V3_ROUTER" | "ADAPTER::UNISWAP_V4_GATEWAY" | "ADAPTER::UPSHIFT_VAULT" | "ADAPTER::VELODROME_V2_ROUTER" | "ADAPTER::YEARN_V2";
|
|
5
5
|
export declare enum AdapterType {
|
|
6
6
|
ACCOUNT_MIGRATOR = "ACCOUNT_MIGRATOR",
|
|
7
7
|
BALANCER_V3_ROUTER = "BALANCER_V3_ROUTER",
|
|
@@ -3,10 +3,10 @@ import type { BaseContractArgs } from "../../base/BaseContract.js";
|
|
|
3
3
|
import { BaseContract, type ConstructOptions } from "../../base/index.js";
|
|
4
4
|
import type { VersionRange } from "../../constants/index.js";
|
|
5
5
|
import type { AddressProviderV3StateHuman } from "../../types/index.js";
|
|
6
|
-
import type { AddressProviderState } from "./types.js";
|
|
6
|
+
import type { AddressProviderAddresses, AddressProviderState } from "./types.js";
|
|
7
7
|
export default abstract class AbstractAddressProviderContract<abi extends Abi | readonly unknown[]> extends BaseContract<abi> {
|
|
8
8
|
#private;
|
|
9
|
-
constructor(options: ConstructOptions, args: BaseContractArgs<abi>, addresses?:
|
|
9
|
+
constructor(options: ConstructOptions, args: BaseContractArgs<abi>, addresses?: AddressProviderAddresses);
|
|
10
10
|
protected setInternalAddress(key: string, address: Address, version: number): void;
|
|
11
11
|
getAddress(contract: string, version?: number): Address;
|
|
12
12
|
getLatest(contract: string, range: VersionRange): [address: Address, version: number] | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Address, ContractEventName, DecodeFunctionDataReturnType, Log } from "viem";
|
|
2
2
|
import type { ConstructOptions } from "../../base/Construct.js";
|
|
3
3
|
import AbstractAddressProviderContract from "./AbstractAddressProviderContract.js";
|
|
4
|
-
import type { IAddressProviderContract } from "./types.js";
|
|
4
|
+
import type { AddressProviderAddresses, IAddressProviderContract } from "./types.js";
|
|
5
5
|
declare const abi: readonly [{
|
|
6
6
|
readonly type: "function";
|
|
7
7
|
readonly name: "addresses";
|
|
@@ -89,7 +89,7 @@ declare const abi: readonly [{
|
|
|
89
89
|
}];
|
|
90
90
|
type abi = typeof abi;
|
|
91
91
|
export declare class AddressProviderV300Contract extends AbstractAddressProviderContract<abi> implements IAddressProviderContract {
|
|
92
|
-
constructor(options: ConstructOptions, address: Address, version: number, addresses?:
|
|
92
|
+
constructor(options: ConstructOptions, address: Address, version: number, addresses?: AddressProviderAddresses);
|
|
93
93
|
protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
|
|
94
94
|
processLog(log: Log<bigint, number, false, undefined, undefined, abi, ContractEventName<abi>>): void;
|
|
95
95
|
syncState(blockNumber?: bigint): Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Address, ContractEventName, DecodeFunctionDataReturnType, Log } from "viem";
|
|
2
2
|
import type { ConstructOptions } from "../../base/Construct.js";
|
|
3
3
|
import AbstractAddressProviderContract from "./AbstractAddressProviderContract.js";
|
|
4
|
-
import type { IAddressProviderContract } from "./types.js";
|
|
4
|
+
import type { AddressProviderAddresses, IAddressProviderContract } from "./types.js";
|
|
5
5
|
declare const abi: readonly [{
|
|
6
6
|
readonly type: "function";
|
|
7
7
|
readonly inputs: readonly [];
|
|
@@ -254,7 +254,7 @@ declare const abi: readonly [{
|
|
|
254
254
|
}];
|
|
255
255
|
type abi = typeof abi;
|
|
256
256
|
export declare class AddressProviderV310Contract extends AbstractAddressProviderContract<abi> implements IAddressProviderContract {
|
|
257
|
-
constructor(options: ConstructOptions, address: Address, version?: number, addresses?:
|
|
257
|
+
constructor(options: ConstructOptions, address: Address, version?: number, addresses?: AddressProviderAddresses);
|
|
258
258
|
protected stringifyFunctionParams(params: DecodeFunctionDataReturnType<abi>): string[];
|
|
259
259
|
processLog(log: Log<bigint, number, false, undefined, undefined, abi, ContractEventName<abi>>): void;
|
|
260
260
|
syncState(blockNumber?: bigint): Promise<void>;
|
|
@@ -2,6 +2,21 @@ import type { Address } from "viem";
|
|
|
2
2
|
import type { BaseParams, IBaseContract } from "../../base/index.js";
|
|
3
3
|
import type { VersionRange } from "../../constants/versions.js";
|
|
4
4
|
import type { AddressProviderV3StateHuman } from "../../types/index.js";
|
|
5
|
+
export interface AddressProviderAddresses {
|
|
6
|
+
/**
|
|
7
|
+
* Initialize address provider with these addresses
|
|
8
|
+
* Used in hydration
|
|
9
|
+
*/
|
|
10
|
+
addresses?: Record<string, Record<number, Address>>;
|
|
11
|
+
/**
|
|
12
|
+
* Override addresses for this address provider
|
|
13
|
+
* These addresses will precede over addresses loaded from chain
|
|
14
|
+
*
|
|
15
|
+
* This is an escape hatch.
|
|
16
|
+
* We used it when we need to fix price feed compressor/market compressor urgently
|
|
17
|
+
*/
|
|
18
|
+
overrides?: Record<string, Record<number, Address>>;
|
|
19
|
+
}
|
|
5
20
|
export interface AddressProviderState {
|
|
6
21
|
baseParams: BaseParams;
|
|
7
22
|
addresses: Record<string, Record<number, Address>>;
|