@gearbox-protocol/sdk 8.3.0-next.1 → 8.3.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dev/AccountOpener.js +3 -3
- package/dist/cjs/plugins/adapters/BalancerV2VaultAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/BalancerV3RouterAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/CamelotV3AdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/ConvexV1BaseRewardPoolAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/ConvexV1BoosterAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/Curve2AssetsAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/Curve3AssetsAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/Curve4AssetsAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/CurveV1AdapterDeposit.js +1 -1
- package/dist/cjs/plugins/adapters/CurveV1AdapterStETHContract.js +1 -1
- package/dist/cjs/plugins/adapters/CurveV1StableNGAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/DaiUsdsAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/ERC4626AdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/EqualizerRouterAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/MellowERC4626VaultAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/MellowVaultAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/PendleRouterAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/StakingRewardsAdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/UniswapV2AdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/UniswapV3AdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/VelodromeV2AdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/WstETHV1AdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/YearnV2AdapterContract.js +1 -1
- package/dist/cjs/plugins/adapters/index.js +2 -2
- package/dist/cjs/plugins/degen-distributors/DegenDistributorsPlugin.js +1 -1
- package/dist/cjs/plugins/pools-history/Pools7DAgoPlugin.js +1 -1
- package/dist/cjs/sdk/accounts/CreditAccountsService.js +3 -3
- package/dist/cjs/sdk/base/BaseContract.js +2 -2
- package/dist/cjs/sdk/core/address-provider/AbstractAddressProviderContract.js +1 -1
- package/dist/cjs/sdk/index.js +2 -2
- package/dist/cjs/sdk/market/MarketConfiguratorContract.js +1 -1
- package/dist/cjs/sdk/market/pool/PoolSuite.js +2 -2
- package/dist/cjs/sdk/market/pricefeeds/updates/PythAccumulatorUpdateData.js +195 -0
- package/dist/cjs/sdk/market/pricefeeds/updates/PythUpdater.js +8 -7
- package/dist/cjs/sdk/plugins/V300StalenessPeriodPlugin.js +0 -1
- package/dist/cjs/sdk/router/PathOptionFactory.js +1 -1
- package/dist/cjs/sdk/router/RouterV300Contract.js +1 -1
- package/dist/cjs/sdk/router/RouterV310Contract.js +2 -2
- package/dist/cjs/sdk/sdk-legacy/core/creditAccount.js +37 -17
- package/dist/cjs/sdk/sdk-legacy/core/strategy.js +1 -1
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/api.js +21 -8
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/apy.js +20 -17
- package/dist/cjs/sdk/sdk-legacy/gearboxRewards/extraAPY.js +4 -2
- package/dist/cjs/sdk/utils/createRawTx.js +1 -1
- package/dist/cjs/sdk/utils/formatter.js +4 -4
- package/dist/cjs/sdk/utils/viem/simulateWithPriceUpdates.js +2 -2
- package/dist/esm/dev/AccountOpener.js +3 -3
- package/dist/esm/plugins/adapters/BalancerV2VaultAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/BalancerV3RouterAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/CamelotV3AdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/ConvexV1BaseRewardPoolAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/ConvexV1BoosterAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/Curve2AssetsAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/Curve3AssetsAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/Curve4AssetsAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/CurveV1AdapterDeposit.js +1 -1
- package/dist/esm/plugins/adapters/CurveV1AdapterStETHContract.js +1 -1
- package/dist/esm/plugins/adapters/CurveV1StableNGAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/DaiUsdsAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/ERC4626AdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/EqualizerRouterAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/MellowERC4626VaultAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/MellowVaultAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/PendleRouterAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/StakingRewardsAdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/UniswapV2AdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/UniswapV3AdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/VelodromeV2AdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/WstETHV1AdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/YearnV2AdapterContract.js +1 -1
- package/dist/esm/plugins/adapters/index.js +1 -1
- package/dist/esm/plugins/degen-distributors/DegenDistributorsPlugin.js +1 -1
- package/dist/esm/plugins/pools-history/Pools7DAgoPlugin.js +1 -1
- package/dist/esm/sdk/GearboxSDK.js +1 -1
- package/dist/esm/sdk/accounts/CreditAccountsService.js +3 -3
- package/dist/esm/sdk/base/BaseContract.js +2 -2
- package/dist/esm/sdk/core/address-provider/AbstractAddressProviderContract.js +1 -1
- package/dist/esm/sdk/index.js +1 -1
- package/dist/esm/sdk/market/MarketConfiguratorContract.js +1 -1
- package/dist/esm/sdk/market/pool/PoolSuite.js +2 -2
- package/dist/esm/sdk/market/pricefeeds/updates/PythAccumulatorUpdateData.js +157 -0
- package/dist/esm/sdk/market/pricefeeds/updates/PythUpdater.js +8 -7
- package/dist/esm/sdk/plugins/V300StalenessPeriodPlugin.js +0 -1
- package/dist/esm/sdk/router/PathOptionFactory.js +1 -1
- package/dist/esm/sdk/router/RouterV300Contract.js +1 -1
- package/dist/esm/sdk/router/RouterV310Contract.js +2 -2
- package/dist/esm/sdk/sdk-legacy/core/creditAccount.js +37 -17
- package/dist/esm/sdk/sdk-legacy/core/creditSession.js +1 -1
- package/dist/esm/sdk/sdk-legacy/core/strategy.js +1 -1
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/api.js +22 -9
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/apy.js +20 -17
- package/dist/esm/sdk/sdk-legacy/gearboxRewards/extraAPY.js +4 -2
- package/dist/esm/sdk/utils/createRawTx.js +1 -1
- package/dist/esm/sdk/utils/formatter.js +4 -4
- package/dist/esm/sdk/utils/viem/simulateWithPriceUpdates.js +2 -2
- package/dist/types/plugins/adapters/index.d.ts +1 -1
- package/dist/types/plugins/bots/BotsPlugin.d.ts +1 -1
- package/dist/types/sdk/index.d.ts +1 -1
- package/dist/types/sdk/market/pricefeeds/updates/PythAccumulatorUpdateData.d.ts +41 -0
- package/dist/types/sdk/types/state.d.ts +1 -1
- package/package.json +17 -34
|
@@ -53,7 +53,7 @@ class AccountOpener extends import_sdk.SDKConstruct {
|
|
|
53
53
|
});
|
|
54
54
|
try {
|
|
55
55
|
this.#faucet = options.faucet ?? service.sdk.addressProvider.getAddress("FAUCET");
|
|
56
|
-
} catch (
|
|
56
|
+
} catch (_e) {
|
|
57
57
|
this.#logger?.warn("faucet not found, will not claim from faucet");
|
|
58
58
|
}
|
|
59
59
|
this.#borrower = options.borrower;
|
|
@@ -275,7 +275,7 @@ class AccountOpener extends import_sdk.SDKConstruct {
|
|
|
275
275
|
minAvailableByPool[cm.pool] = (minAvailableByPool[cm.pool] ?? 0n) + minDebt * (leverage - import_sdk.PERCENTAGE_FACTOR) / import_sdk.PERCENTAGE_FACTOR * this.#poolDepositMultiplier / import_sdk.PERCENTAGE_FACTOR;
|
|
276
276
|
}
|
|
277
277
|
let totalUSD = 0n;
|
|
278
|
-
|
|
278
|
+
const deposits = [];
|
|
279
279
|
for (const [p, minAvailable] of Object.entries(minAvailableByPool)) {
|
|
280
280
|
const market = this.sdk.marketRegister.findByPool(p);
|
|
281
281
|
const pool = market.pool.pool;
|
|
@@ -363,7 +363,7 @@ class AccountOpener extends import_sdk.SDKConstruct {
|
|
|
363
363
|
async #prepareBorrower(targets) {
|
|
364
364
|
const borrower = await this.#getBorrower();
|
|
365
365
|
let claimUSD = 0n;
|
|
366
|
-
|
|
366
|
+
const degenNFTS = {};
|
|
367
367
|
for (const target of targets) {
|
|
368
368
|
const cm = this.sdk.marketRegister.findCreditManager(
|
|
369
369
|
target.creditManager
|
|
@@ -21,8 +21,8 @@ __export(BalancerV2VaultAdapterContract_exports, {
|
|
|
21
21
|
BalancerV2VaultAdapterContract: () => BalancerV2VaultAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(BalancerV2VaultAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iBalancerV2VaultAdapterAbi;
|
|
27
27
|
class BalancerV2VaultAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(BalancerV3RouterAdapterContract_exports, {
|
|
|
21
21
|
BalancerV3RouterAdapterContract: () => BalancerV3RouterAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(BalancerV3RouterAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iBalancerV3RouterAdapterAbi;
|
|
27
27
|
class BalancerV3RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(CamelotV3AdapterContract_exports, {
|
|
|
21
21
|
CamelotV3AdapterContract: () => CamelotV3AdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(CamelotV3AdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iCamelotV3AdapterAbi;
|
|
27
27
|
class CamelotV3AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(ConvexV1BaseRewardPoolAdapterContract_exports, {
|
|
|
21
21
|
ConvexV1BaseRewardPoolAdapterContract: () => ConvexV1BaseRewardPoolAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(ConvexV1BaseRewardPoolAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iConvexV1BaseRewardPoolAdapterAbi;
|
|
27
27
|
class ConvexV1BaseRewardPoolAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(ConvexV1BoosterAdapterContract_exports, {
|
|
|
21
21
|
ConvexV1BoosterAdapterContract: () => ConvexV1BoosterAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(ConvexV1BoosterAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iConvexV1BoosterAdapterAbi;
|
|
27
27
|
class ConvexV1BoosterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(Curve2AssetsAdapterContract_exports, {
|
|
|
21
21
|
Curve2AssetsAdapterContract: () => Curve2AssetsAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(Curve2AssetsAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iCurveV1_2AssetsAdapterAbi;
|
|
27
27
|
class Curve2AssetsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(Curve3AssetsAdapterContract_exports, {
|
|
|
21
21
|
Curve3AssetsAdapterContract: () => Curve3AssetsAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(Curve3AssetsAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iCurveV1_3AssetsAdapterAbi;
|
|
27
27
|
class Curve3AssetsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(Curve4AssetsAdapterContract_exports, {
|
|
|
21
21
|
Curve4AssetsAdapterContract: () => Curve4AssetsAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(Curve4AssetsAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iCurveV1_4AssetsAdapterAbi;
|
|
27
27
|
class Curve4AssetsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(CurveV1AdapterDeposit_exports, {
|
|
|
21
21
|
CurveV1AdapterDeposit: () => CurveV1AdapterDeposit
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(CurveV1AdapterDeposit_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iCurveV1AdapterAbi;
|
|
27
27
|
class CurveV1AdapterDeposit extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(CurveV1AdapterStETHContract_exports, {
|
|
|
21
21
|
CurveV1AdapterStETHContract: () => CurveV1AdapterStETHContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(CurveV1AdapterStETHContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iCurveV1_2AssetsAdapterAbi;
|
|
27
27
|
class CurveV1AdapterStETHContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(CurveV1StableNGAdapterContract_exports, {
|
|
|
21
21
|
CurveV1StableNGAdapterContract: () => CurveV1StableNGAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(CurveV1StableNGAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iCurveV1StableNgAdapterAbi;
|
|
27
27
|
class CurveV1StableNGAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(DaiUsdsAdapterContract_exports, {
|
|
|
21
21
|
DaiUsdsAdapterContract: () => DaiUsdsAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(DaiUsdsAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iDaiUsdsAdapterAbi;
|
|
27
27
|
class DaiUsdsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(ERC4626AdapterContract_exports, {
|
|
|
21
21
|
ERC4626AdapterContract: () => ERC4626AdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(ERC4626AdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.ierc4626AdapterAbi;
|
|
27
27
|
class ERC4626AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(EqualizerRouterAdapterContract_exports, {
|
|
|
21
21
|
EqualizerRouterAdapterContract: () => EqualizerRouterAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(EqualizerRouterAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iEqualizerRouterAdapterAbi;
|
|
27
27
|
class EqualizerRouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(MellowERC4626VaultAdapterContract_exports, {
|
|
|
21
21
|
MellowERC4626VaultAdapterContract: () => MellowERC4626VaultAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(MellowERC4626VaultAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.ierc4626AdapterAbi;
|
|
27
27
|
class MellowERC4626VaultAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(MellowVaultAdapterContract_exports, {
|
|
|
21
21
|
MellowVaultAdapterContract: () => MellowVaultAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(MellowVaultAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iMellowVaultAdapterAbi;
|
|
27
27
|
class MellowVaultAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(PendleRouterAdapterContract_exports, {
|
|
|
21
21
|
PendleRouterAdapterContract: () => PendleRouterAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(PendleRouterAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iPendleRouterAdapterAbi;
|
|
27
27
|
class PendleRouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(StakingRewardsAdapterContract_exports, {
|
|
|
21
21
|
StakingRewardsAdapterContract: () => StakingRewardsAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(StakingRewardsAdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iStakingRewardsAdapterAbi;
|
|
27
27
|
class StakingRewardsAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -22,8 +22,8 @@ __export(UniswapV2AdapterContract_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(UniswapV2AdapterContract_exports);
|
|
24
24
|
var import_sdk = require("../../sdk/index.js");
|
|
25
|
-
var import_abi = require("./abi/index.js");
|
|
26
25
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
26
|
+
var import_abi = require("./abi/index.js");
|
|
27
27
|
const abi = import_abi.iUniswapV2AdapterAbi;
|
|
28
28
|
class UniswapV2AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
29
29
|
constructor(sdk, args) {
|
|
@@ -22,8 +22,8 @@ __export(UniswapV3AdapterContract_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(UniswapV3AdapterContract_exports);
|
|
24
24
|
var import_sdk = require("../../sdk/index.js");
|
|
25
|
-
var import_abi = require("./abi/index.js");
|
|
26
25
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
26
|
+
var import_abi = require("./abi/index.js");
|
|
27
27
|
const abi = import_abi.iUniswapV3AdapterAbi;
|
|
28
28
|
class UniswapV3AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
29
29
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(VelodromeV2AdapterContract_exports, {
|
|
|
21
21
|
VelodromeV2RouterAdapterContract: () => VelodromeV2RouterAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(VelodromeV2AdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iVelodromeV2RouterAdapterAbi;
|
|
27
27
|
class VelodromeV2RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(WstETHV1AdapterContract_exports, {
|
|
|
21
21
|
WstETHV1AdapterContract: () => WstETHV1AdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(WstETHV1AdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iwstEthv1AdapterAbi;
|
|
27
27
|
class WstETHV1AdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -21,8 +21,8 @@ __export(YearnV2AdapterContract_exports, {
|
|
|
21
21
|
YearnV2RouterAdapterContract: () => YearnV2RouterAdapterContract
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(YearnV2AdapterContract_exports);
|
|
24
|
-
var import_abi = require("./abi/index.js");
|
|
25
24
|
var import_AbstractAdapter = require("./AbstractAdapter.js");
|
|
25
|
+
var import_abi = require("./abi/index.js");
|
|
26
26
|
const abi = import_abi.iYearnV2AdapterAbi;
|
|
27
27
|
class YearnV2RouterAdapterContract extends import_AbstractAdapter.AbstractAdapterContract {
|
|
28
28
|
constructor(sdk, args) {
|
|
@@ -15,9 +15,9 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
|
15
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
16
|
var adapters_exports = {};
|
|
17
17
|
module.exports = __toCommonJS(adapters_exports);
|
|
18
|
-
__reExport(adapters_exports, require("./abi/index.js"), module.exports);
|
|
19
18
|
__reExport(adapters_exports, require("./AbstractAdapter.js"), module.exports);
|
|
20
19
|
__reExport(adapters_exports, require("./AdaptersPlugin.js"), module.exports);
|
|
20
|
+
__reExport(adapters_exports, require("./abi/index.js"), module.exports);
|
|
21
21
|
__reExport(adapters_exports, require("./BalancerV2VaultAdapterContract.js"), module.exports);
|
|
22
22
|
__reExport(adapters_exports, require("./BalancerV3RouterAdapterContract.js"), module.exports);
|
|
23
23
|
__reExport(adapters_exports, require("./CamelotV3AdapterContract.js"), module.exports);
|
|
@@ -44,9 +44,9 @@ __reExport(adapters_exports, require("./WstETHV1AdapterContract.js"), module.exp
|
|
|
44
44
|
__reExport(adapters_exports, require("./YearnV2AdapterContract.js"), module.exports);
|
|
45
45
|
// Annotate the CommonJS export names for ESM import in node:
|
|
46
46
|
0 && (module.exports = {
|
|
47
|
-
...require("./abi/index.js"),
|
|
48
47
|
...require("./AbstractAdapter.js"),
|
|
49
48
|
...require("./AdaptersPlugin.js"),
|
|
49
|
+
...require("./abi/index.js"),
|
|
50
50
|
...require("./BalancerV2VaultAdapterContract.js"),
|
|
51
51
|
...require("./BalancerV3RouterAdapterContract.js"),
|
|
52
52
|
...require("./CamelotV3AdapterContract.js"),
|
|
@@ -54,7 +54,7 @@ class DegenDistributorsPlugin extends import_sdk.BasePlugin {
|
|
|
54
54
|
const cfgLC = cfg.toLowerCase();
|
|
55
55
|
const r = distributorByConfigurator?.[cfgLC];
|
|
56
56
|
if (r.status === "fulfilled") {
|
|
57
|
-
this.#distributors
|
|
57
|
+
this.#distributors?.upsert(pool, r.value);
|
|
58
58
|
} else {
|
|
59
59
|
this.sdk.logger?.error(
|
|
60
60
|
`failed to load degen distributor for market configurator ${this.labelAddress(cfg)} and pool ${this.labelAddress(pool)}: ${r.reason}`
|
|
@@ -57,7 +57,7 @@ class Pools7DAgoPlugin extends import_sdk.BasePlugin {
|
|
|
57
57
|
const cfg = m.configurator.address;
|
|
58
58
|
const pool = m.pool.pool.address;
|
|
59
59
|
if (r.status === "success") {
|
|
60
|
-
this.#pools7DAgo
|
|
60
|
+
this.#pools7DAgo?.upsert(m.pool.pool.address, {
|
|
61
61
|
dieselRate: r.result.dieselRate,
|
|
62
62
|
pool
|
|
63
63
|
});
|
|
@@ -67,7 +67,7 @@ class CreditAccountsService extends import_base.SDKConstruct {
|
|
|
67
67
|
// @ts-expect-error
|
|
68
68
|
gas: this.sdk.gasLimit
|
|
69
69
|
});
|
|
70
|
-
} catch (
|
|
70
|
+
} catch (_e) {
|
|
71
71
|
return void 0;
|
|
72
72
|
}
|
|
73
73
|
if (raw.success) {
|
|
@@ -1122,7 +1122,7 @@ class CreditAccountsService extends import_base.SDKConstruct {
|
|
|
1122
1122
|
const poolAddressLc = poolAddress.toLowerCase();
|
|
1123
1123
|
return getWithdrawCall(cmAdapters[poolAddressLc], a);
|
|
1124
1124
|
});
|
|
1125
|
-
const skyStkCalls = sky.
|
|
1125
|
+
const skyStkCalls = sky.flatMap((a) => {
|
|
1126
1126
|
const symbol = import_sdk_gov_legacy.tokenSymbolByAddress[a.token];
|
|
1127
1127
|
const { pool } = import_sdk_gov_legacy.stakingRewardsTokens[symbol];
|
|
1128
1128
|
const poolAddress = currentContractsData[pool];
|
|
@@ -1131,7 +1131,7 @@ class CreditAccountsService extends import_base.SDKConstruct {
|
|
|
1131
1131
|
}
|
|
1132
1132
|
const poolAddressLc = poolAddress.toLowerCase();
|
|
1133
1133
|
return getWithdrawCall_Rewards(cmAdapters[poolAddressLc], a);
|
|
1134
|
-
})
|
|
1134
|
+
});
|
|
1135
1135
|
const unwrapCalls = [...convexStkCalls, ...auraStkCalls, ...skyStkCalls];
|
|
1136
1136
|
const withdraw = assets.map((a) => {
|
|
1137
1137
|
const symbol = import_sdk_gov_legacy.tokenSymbolByAddress[a.token];
|
|
@@ -111,13 +111,13 @@ class BaseContract extends import_SDKConstruct.SDKConstruct {
|
|
|
111
111
|
data: calldata
|
|
112
112
|
});
|
|
113
113
|
const abiItem = this.abi.find(
|
|
114
|
-
(abiItem2) => abiItem2
|
|
114
|
+
(abiItem2) => abiItem2?.name === decoded.functionName && abiItem2?.type === "function"
|
|
115
115
|
);
|
|
116
116
|
if (!abiItem) {
|
|
117
117
|
return `Unknown function: ${decoded.functionName}`;
|
|
118
118
|
}
|
|
119
119
|
let paramsHuman;
|
|
120
|
-
|
|
120
|
+
const humanParams = this.parseFunctionParams(decoded);
|
|
121
121
|
if (humanParams) {
|
|
122
122
|
paramsHuman = humanParams.map((value, i) => {
|
|
123
123
|
return `${abiItem.inputs[i].name}: ${value}`;
|
|
@@ -32,7 +32,7 @@ class AbstractAddressProviderContract extends import_base.BaseContract {
|
|
|
32
32
|
this.#addresses = addresses;
|
|
33
33
|
}
|
|
34
34
|
setInternalAddress(key, address, version) {
|
|
35
|
-
|
|
35
|
+
const k = (0, import_viem.isHex)(key) ? (0, import_viem.hexToString)(key, { size: 32 }) : key;
|
|
36
36
|
if (!this.#addresses[k]) {
|
|
37
37
|
this.#addresses[k] = {};
|
|
38
38
|
}
|
package/dist/cjs/sdk/index.js
CHANGED
|
@@ -20,8 +20,8 @@ __reExport(sdk_exports, require("./base/index.js"), module.exports);
|
|
|
20
20
|
__reExport(sdk_exports, require("./chain/index.js"), module.exports);
|
|
21
21
|
__reExport(sdk_exports, require("./constants/index.js"), module.exports);
|
|
22
22
|
__reExport(sdk_exports, require("./core/index.js"), module.exports);
|
|
23
|
-
__reExport(sdk_exports, require("./gauges/index.js"), module.exports);
|
|
24
23
|
__reExport(sdk_exports, require("./GearboxSDK.js"), module.exports);
|
|
24
|
+
__reExport(sdk_exports, require("./gauges/index.js"), module.exports);
|
|
25
25
|
__reExport(sdk_exports, require("./market/index.js"), module.exports);
|
|
26
26
|
__reExport(sdk_exports, require("./plugins/index.js"), module.exports);
|
|
27
27
|
__reExport(sdk_exports, require("./router/index.js"), module.exports);
|
|
@@ -37,8 +37,8 @@ __reExport(sdk_exports, require("./utils/viem/index.js"), module.exports);
|
|
|
37
37
|
...require("./chain/index.js"),
|
|
38
38
|
...require("./constants/index.js"),
|
|
39
39
|
...require("./core/index.js"),
|
|
40
|
-
...require("./gauges/index.js"),
|
|
41
40
|
...require("./GearboxSDK.js"),
|
|
41
|
+
...require("./gauges/index.js"),
|
|
42
42
|
...require("./market/index.js"),
|
|
43
43
|
...require("./plugins/index.js"),
|
|
44
44
|
...require("./router/index.js"),
|
|
@@ -44,7 +44,7 @@ class MarketConfiguratorContract extends import_base.BaseContract {
|
|
|
44
44
|
});
|
|
45
45
|
this.sdk.provider.addressLabels.set(
|
|
46
46
|
this.address,
|
|
47
|
-
|
|
47
|
+
`Market configurator ${this.#curatorName}`
|
|
48
48
|
);
|
|
49
49
|
}
|
|
50
50
|
async getPeripheryContract(contract) {
|
|
@@ -61,7 +61,7 @@ class PoolSuite extends import_base.SDKConstruct {
|
|
|
61
61
|
return this.rateKeeper;
|
|
62
62
|
}
|
|
63
63
|
throw new Error(
|
|
64
|
-
|
|
64
|
+
`Rate keeper is not a gauge, but a ${this.rateKeeper.contractType}`
|
|
65
65
|
);
|
|
66
66
|
}
|
|
67
67
|
get tumbler() {
|
|
@@ -69,7 +69,7 @@ class PoolSuite extends import_base.SDKConstruct {
|
|
|
69
69
|
return this.rateKeeper;
|
|
70
70
|
}
|
|
71
71
|
throw new Error(
|
|
72
|
-
|
|
72
|
+
`Rate keeper is not a tumbler, but a ${this.rateKeeper.contractType}`
|
|
73
73
|
);
|
|
74
74
|
}
|
|
75
75
|
get linearModel() {
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var PythAccumulatorUpdateData_exports = {};
|
|
30
|
+
__export(PythAccumulatorUpdateData_exports, {
|
|
31
|
+
isAccumulatorUpdateData: () => isAccumulatorUpdateData,
|
|
32
|
+
parseAccumulatorUpdateData: () => parseAccumulatorUpdateData,
|
|
33
|
+
parsePriceFeedMessage: () => parsePriceFeedMessage,
|
|
34
|
+
parseTwapMessage: () => parseTwapMessage,
|
|
35
|
+
sliceAccumulatorUpdateData: () => sliceAccumulatorUpdateData
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(PythAccumulatorUpdateData_exports);
|
|
38
|
+
var import_bn = __toESM(require("bn.js"));
|
|
39
|
+
var import_buffer = require("buffer");
|
|
40
|
+
const ACCUMULATOR_MAGIC = "504e4155";
|
|
41
|
+
const MAJOR_VERSION = 1;
|
|
42
|
+
const MINOR_VERSION = 0;
|
|
43
|
+
const KECCAK160_HASH_SIZE = 20;
|
|
44
|
+
const PRICE_FEED_MESSAGE_VARIANT = 0;
|
|
45
|
+
const TWAP_MESSAGE_VARIANT = 1;
|
|
46
|
+
function isAccumulatorUpdateData(updateBytes) {
|
|
47
|
+
return updateBytes.toString("hex").slice(0, 8) === ACCUMULATOR_MAGIC && updateBytes[4] === MAJOR_VERSION && updateBytes[5] === MINOR_VERSION;
|
|
48
|
+
}
|
|
49
|
+
function parsePriceFeedMessage(message) {
|
|
50
|
+
let cursor = 0;
|
|
51
|
+
const variant = message.readUInt8(cursor);
|
|
52
|
+
if (variant !== PRICE_FEED_MESSAGE_VARIANT) {
|
|
53
|
+
throw new Error("Not a price feed message");
|
|
54
|
+
}
|
|
55
|
+
cursor += 1;
|
|
56
|
+
const feedId = message.subarray(cursor, cursor + 32);
|
|
57
|
+
cursor += 32;
|
|
58
|
+
const price = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
59
|
+
cursor += 8;
|
|
60
|
+
const confidence = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
61
|
+
cursor += 8;
|
|
62
|
+
const exponent = message.readInt32BE(cursor);
|
|
63
|
+
cursor += 4;
|
|
64
|
+
const publishTime = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
65
|
+
cursor += 8;
|
|
66
|
+
const prevPublishTime = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
67
|
+
cursor += 8;
|
|
68
|
+
const emaPrice = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
69
|
+
cursor += 8;
|
|
70
|
+
const emaConf = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
71
|
+
cursor += 8;
|
|
72
|
+
return {
|
|
73
|
+
feedId,
|
|
74
|
+
price,
|
|
75
|
+
confidence,
|
|
76
|
+
exponent,
|
|
77
|
+
publishTime,
|
|
78
|
+
prevPublishTime,
|
|
79
|
+
emaPrice,
|
|
80
|
+
emaConf
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function parseTwapMessage(message) {
|
|
84
|
+
let cursor = 0;
|
|
85
|
+
const variant = message.readUInt8(cursor);
|
|
86
|
+
if (variant !== TWAP_MESSAGE_VARIANT) {
|
|
87
|
+
throw new Error("Not a twap message");
|
|
88
|
+
}
|
|
89
|
+
cursor += 1;
|
|
90
|
+
const feedId = message.subarray(cursor, cursor + 32);
|
|
91
|
+
cursor += 32;
|
|
92
|
+
const cumulativePrice = new import_bn.default(message.subarray(cursor, cursor + 16), "be");
|
|
93
|
+
cursor += 16;
|
|
94
|
+
const cumulativeConf = new import_bn.default(message.subarray(cursor, cursor + 16), "be");
|
|
95
|
+
cursor += 16;
|
|
96
|
+
const numDownSlots = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
97
|
+
cursor += 8;
|
|
98
|
+
const exponent = message.readInt32BE(cursor);
|
|
99
|
+
cursor += 4;
|
|
100
|
+
const publishTime = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
101
|
+
cursor += 8;
|
|
102
|
+
const prevPublishTime = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
103
|
+
cursor += 8;
|
|
104
|
+
const publishSlot = new import_bn.default(message.subarray(cursor, cursor + 8), "be");
|
|
105
|
+
cursor += 8;
|
|
106
|
+
return {
|
|
107
|
+
feedId,
|
|
108
|
+
cumulativePrice,
|
|
109
|
+
cumulativeConf,
|
|
110
|
+
numDownSlots,
|
|
111
|
+
exponent,
|
|
112
|
+
publishTime,
|
|
113
|
+
prevPublishTime,
|
|
114
|
+
publishSlot
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
function sliceAccumulatorUpdateData(data, start, end) {
|
|
118
|
+
if (!isAccumulatorUpdateData(data)) {
|
|
119
|
+
throw new Error("Invalid accumulator message");
|
|
120
|
+
}
|
|
121
|
+
let cursor = 6;
|
|
122
|
+
const trailingPayloadSize = data.readUint8(cursor);
|
|
123
|
+
cursor += 1 + trailingPayloadSize;
|
|
124
|
+
cursor += 1;
|
|
125
|
+
const vaaSize = data.readUint16BE(cursor);
|
|
126
|
+
cursor += 2;
|
|
127
|
+
cursor += vaaSize;
|
|
128
|
+
const endOfVaa = cursor;
|
|
129
|
+
const updates = [];
|
|
130
|
+
const numUpdates = data.readUInt8(cursor);
|
|
131
|
+
cursor += 1;
|
|
132
|
+
for (let i = 0; i < numUpdates; i++) {
|
|
133
|
+
const updateStart = cursor;
|
|
134
|
+
const messageSize = data.readUint16BE(cursor);
|
|
135
|
+
cursor += 2;
|
|
136
|
+
cursor += messageSize;
|
|
137
|
+
const numProofs = data.readUInt8(cursor);
|
|
138
|
+
cursor += 1;
|
|
139
|
+
cursor += KECCAK160_HASH_SIZE * numProofs;
|
|
140
|
+
updates.push(data.subarray(updateStart, cursor));
|
|
141
|
+
}
|
|
142
|
+
if (cursor !== data.length) {
|
|
143
|
+
throw new Error("Didn't reach the end of the message");
|
|
144
|
+
}
|
|
145
|
+
const sliceUpdates = updates.slice(start, end);
|
|
146
|
+
return import_buffer.Buffer.concat([
|
|
147
|
+
data.subarray(0, endOfVaa),
|
|
148
|
+
import_buffer.Buffer.from([sliceUpdates.length]),
|
|
149
|
+
...updates.slice(start, end)
|
|
150
|
+
]);
|
|
151
|
+
}
|
|
152
|
+
function parseAccumulatorUpdateData(data) {
|
|
153
|
+
if (!isAccumulatorUpdateData(data)) {
|
|
154
|
+
throw new Error("Invalid accumulator message");
|
|
155
|
+
}
|
|
156
|
+
let cursor = 6;
|
|
157
|
+
const trailingPayloadSize = data.readUint8(cursor);
|
|
158
|
+
cursor += 1 + trailingPayloadSize;
|
|
159
|
+
cursor += 1;
|
|
160
|
+
const vaaSize = data.readUint16BE(cursor);
|
|
161
|
+
cursor += 2;
|
|
162
|
+
const vaa = data.subarray(cursor, cursor + vaaSize);
|
|
163
|
+
cursor += vaaSize;
|
|
164
|
+
const numUpdates = data.readUInt8(cursor);
|
|
165
|
+
const updates = [];
|
|
166
|
+
cursor += 1;
|
|
167
|
+
for (let i = 0; i < numUpdates; i++) {
|
|
168
|
+
const messageSize = data.readUint16BE(cursor);
|
|
169
|
+
cursor += 2;
|
|
170
|
+
const message = data.subarray(cursor, cursor + messageSize);
|
|
171
|
+
cursor += messageSize;
|
|
172
|
+
const numProofs = data.readUInt8(cursor);
|
|
173
|
+
cursor += 1;
|
|
174
|
+
const proof = [];
|
|
175
|
+
for (let j = 0; j < numProofs; j++) {
|
|
176
|
+
proof.push(
|
|
177
|
+
Array.from(data.subarray(cursor, cursor + KECCAK160_HASH_SIZE))
|
|
178
|
+
);
|
|
179
|
+
cursor += KECCAK160_HASH_SIZE;
|
|
180
|
+
}
|
|
181
|
+
updates.push({ message, proof });
|
|
182
|
+
}
|
|
183
|
+
if (cursor !== data.length) {
|
|
184
|
+
throw new Error("Didn't reach the end of the message");
|
|
185
|
+
}
|
|
186
|
+
return { vaa, updates };
|
|
187
|
+
}
|
|
188
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
189
|
+
0 && (module.exports = {
|
|
190
|
+
isAccumulatorUpdateData,
|
|
191
|
+
parseAccumulatorUpdateData,
|
|
192
|
+
parsePriceFeedMessage,
|
|
193
|
+
parseTwapMessage,
|
|
194
|
+
sliceAccumulatorUpdateData
|
|
195
|
+
});
|