@gearbox-protocol/sdk 3.1.0 → 3.1.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.
@@ -18,7 +18,8 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var migrateFaucet_exports = {};
20
20
  __export(migrateFaucet_exports, {
21
- migrateFaucet: () => migrateFaucet
21
+ migrateFaucet: () => migrateFaucet,
22
+ unsafeMigrateFaucet: () => unsafeMigrateFaucet
22
23
  });
23
24
  module.exports = __toCommonJS(migrateFaucet_exports);
24
25
  var import_viem = require("viem");
@@ -26,28 +27,40 @@ var import_v300 = require("../abi/v300.js");
26
27
  var import_v310 = require("../abi/v310.js");
27
28
  var import_sdk = require("../sdk/index.js");
28
29
  var import_createAnvilClient = require("./createAnvilClient.js");
29
- async function unsafeMigrateFaucet(sdk) {
30
+ async function unsafeMigrateFaucet(sdk, faucet) {
30
31
  const anvil = (0, import_createAnvilClient.createAnvilClient)({
31
32
  chain: sdk.provider.chain,
32
33
  transport: sdk.provider.transport
33
34
  });
34
- const [faucetAddr, owner] = await anvil.multicall({
35
- contracts: [
36
- {
37
- abi: import_v300.iAddressProviderV300Abi,
38
- address: import_sdk.ADDRESS_PROVIDER[sdk.provider.networkType],
39
- functionName: "getAddressOrRevert",
40
- args: [(0, import_viem.stringToHex)("FAUCET", { size: 32 }), 0n]
41
- },
42
- {
43
- abi: import_v310.iAddressProviderV310Abi,
44
- address: sdk.addressProvider.address,
45
- functionName: "owner",
46
- args: []
47
- }
48
- ],
49
- allowFailure: false
50
- });
35
+ let faucetAddr;
36
+ let owner;
37
+ if (faucet) {
38
+ faucetAddr = faucet;
39
+ owner = await anvil.readContract({
40
+ abi: import_v310.iAddressProviderV310Abi,
41
+ address: sdk.addressProvider.address,
42
+ functionName: "owner",
43
+ args: []
44
+ });
45
+ } else {
46
+ [faucetAddr, owner] = await anvil.multicall({
47
+ contracts: [
48
+ {
49
+ abi: import_v300.iAddressProviderV300Abi,
50
+ address: import_sdk.ADDRESS_PROVIDER[sdk.provider.networkType],
51
+ functionName: "getAddressOrRevert",
52
+ args: [(0, import_viem.stringToHex)("FAUCET", { size: 32 }), 0n]
53
+ },
54
+ {
55
+ abi: import_v310.iAddressProviderV310Abi,
56
+ address: sdk.addressProvider.address,
57
+ functionName: "owner",
58
+ args: []
59
+ }
60
+ ],
61
+ allowFailure: false
62
+ });
63
+ }
51
64
  sdk.logger?.debug(`faucet address: ${faucetAddr}, owner: ${owner}`);
52
65
  await anvil.impersonateAccount({ address: owner });
53
66
  await anvil.setBalance({
@@ -80,9 +93,9 @@ async function unsafeMigrateFaucet(sdk) {
80
93
  throw new Error("faucet migration reverted");
81
94
  }
82
95
  }
83
- async function migrateFaucet(sdk) {
96
+ async function migrateFaucet(sdk, faucet) {
84
97
  try {
85
- await unsafeMigrateFaucet(sdk);
98
+ await unsafeMigrateFaucet(sdk, faucet);
86
99
  sdk.logger?.info("faucet migrated successfully");
87
100
  } catch (e) {
88
101
  sdk.logger?.error(`faucet migration failed: ${e}`);
@@ -90,5 +103,6 @@ async function migrateFaucet(sdk) {
90
103
  }
91
104
  // Annotate the CommonJS export names for ESM import in node:
92
105
  0 && (module.exports = {
93
- migrateFaucet
106
+ migrateFaucet,
107
+ unsafeMigrateFaucet
94
108
  });
@@ -199,7 +199,9 @@ const chains = {
199
199
  {
200
200
  ...import_chains.bsc,
201
201
  network: "BNB",
202
- defaultMarketConfigurators: {},
202
+ defaultMarketConfigurators: {
203
+ "0xc94add35a09a239d0f5d1c04e793459dd19a0793": "Chaos Labs"
204
+ },
203
205
  isPublic: false,
204
206
  wellKnownToken: {
205
207
  address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
@@ -3,28 +3,40 @@ import { iAddressProviderV300Abi } from "../abi/v300.js";
3
3
  import { iAddressProviderV310Abi } from "../abi/v310.js";
4
4
  import { ADDRESS_PROVIDER } from "../sdk/index.js";
5
5
  import { createAnvilClient } from "./createAnvilClient.js";
6
- async function unsafeMigrateFaucet(sdk) {
6
+ async function unsafeMigrateFaucet(sdk, faucet) {
7
7
  const anvil = createAnvilClient({
8
8
  chain: sdk.provider.chain,
9
9
  transport: sdk.provider.transport
10
10
  });
11
- const [faucetAddr, owner] = await anvil.multicall({
12
- contracts: [
13
- {
14
- abi: iAddressProviderV300Abi,
15
- address: ADDRESS_PROVIDER[sdk.provider.networkType],
16
- functionName: "getAddressOrRevert",
17
- args: [stringToHex("FAUCET", { size: 32 }), 0n]
18
- },
19
- {
20
- abi: iAddressProviderV310Abi,
21
- address: sdk.addressProvider.address,
22
- functionName: "owner",
23
- args: []
24
- }
25
- ],
26
- allowFailure: false
27
- });
11
+ let faucetAddr;
12
+ let owner;
13
+ if (faucet) {
14
+ faucetAddr = faucet;
15
+ owner = await anvil.readContract({
16
+ abi: iAddressProviderV310Abi,
17
+ address: sdk.addressProvider.address,
18
+ functionName: "owner",
19
+ args: []
20
+ });
21
+ } else {
22
+ [faucetAddr, owner] = await anvil.multicall({
23
+ contracts: [
24
+ {
25
+ abi: iAddressProviderV300Abi,
26
+ address: ADDRESS_PROVIDER[sdk.provider.networkType],
27
+ functionName: "getAddressOrRevert",
28
+ args: [stringToHex("FAUCET", { size: 32 }), 0n]
29
+ },
30
+ {
31
+ abi: iAddressProviderV310Abi,
32
+ address: sdk.addressProvider.address,
33
+ functionName: "owner",
34
+ args: []
35
+ }
36
+ ],
37
+ allowFailure: false
38
+ });
39
+ }
28
40
  sdk.logger?.debug(`faucet address: ${faucetAddr}, owner: ${owner}`);
29
41
  await anvil.impersonateAccount({ address: owner });
30
42
  await anvil.setBalance({
@@ -57,14 +69,15 @@ async function unsafeMigrateFaucet(sdk) {
57
69
  throw new Error("faucet migration reverted");
58
70
  }
59
71
  }
60
- async function migrateFaucet(sdk) {
72
+ async function migrateFaucet(sdk, faucet) {
61
73
  try {
62
- await unsafeMigrateFaucet(sdk);
74
+ await unsafeMigrateFaucet(sdk, faucet);
63
75
  sdk.logger?.info("faucet migrated successfully");
64
76
  } catch (e) {
65
77
  sdk.logger?.error(`faucet migration failed: ${e}`);
66
78
  }
67
79
  }
68
80
  export {
69
- migrateFaucet
81
+ migrateFaucet,
82
+ unsafeMigrateFaucet
70
83
  };
@@ -181,7 +181,9 @@ const chains = {
181
181
  {
182
182
  ...bsc,
183
183
  network: "BNB",
184
- defaultMarketConfigurators: {},
184
+ defaultMarketConfigurators: {
185
+ "0xc94add35a09a239d0f5d1c04e793459dd19a0793": "Chaos Labs"
186
+ },
185
187
  isPublic: false,
186
188
  wellKnownToken: {
187
189
  address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
@@ -1,6 +1,9 @@
1
+ import type { Address } from "viem";
1
2
  import type { GearboxSDK } from "../sdk/index.js";
3
+ export declare function unsafeMigrateFaucet(sdk: GearboxSDK, faucet?: Address): Promise<void>;
2
4
  /**
3
- * Migrates faucet from address provider v3.0 [from constants in SDK] to v3.1 [from attached SDK]
4
- * @param
5
+ * Sets new faucet address on v3.1 address provider
6
+ * @param sdk
7
+ * @param faucet - new faucet address. If not provided, will try to get one from v3.0 address provider
5
8
  */
6
- export declare function migrateFaucet(sdk: GearboxSDK): Promise<void>;
9
+ export declare function migrateFaucet(sdk: GearboxSDK, faucet?: Address): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/sdk",
3
- "version": "3.1.0",
3
+ "version": "3.1.2",
4
4
  "description": "Gearbox SDK",
5
5
  "license": "MIT",
6
6
  "main": "./dist/cjs/sdk/index.js",