@katanaperps/katana-perps-sdk 0.0.0-placeholder
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/.nvmrc +1 -0
- package/LICENSE +21 -0
- package/README.md +90 -0
- package/dist/abis/ERC20.json +288 -0
- package/dist/abis/EarningsEscrow.json +468 -0
- package/dist/abis/Exchange_v1.json +3644 -0
- package/dist/abis/IOFT.json +447 -0
- package/dist/bridge/config.d.ts +262 -0
- package/dist/bridge/config.d.ts.map +1 -0
- package/dist/bridge/config.js +221 -0
- package/dist/bridge/deposit.d.ts +107 -0
- package/dist/bridge/deposit.d.ts.map +1 -0
- package/dist/bridge/deposit.js +284 -0
- package/dist/bridge/index.d.ts +5 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +7 -0
- package/dist/bridge/utils.d.ts +140 -0
- package/dist/bridge/utils.d.ts.map +1 -0
- package/dist/bridge/utils.js +66 -0
- package/dist/bridge/withdraw.d.ts +42 -0
- package/dist/bridge/withdraw.d.ts.map +1 -0
- package/dist/bridge/withdraw.js +86 -0
- package/dist/client/index.d.ts +4 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +6 -0
- package/dist/client/orderBook/index.d.ts +2 -0
- package/dist/client/orderBook/index.d.ts.map +1 -0
- package/dist/client/orderBook/index.js +4 -0
- package/dist/client/orderBook/realTime.d.ts +180 -0
- package/dist/client/orderBook/realTime.d.ts.map +1 -0
- package/dist/client/orderBook/realTime.js +344 -0
- package/dist/client/orderBook/utils.d.ts +15 -0
- package/dist/client/orderBook/utils.d.ts.map +1 -0
- package/dist/client/orderBook/utils.js +77 -0
- package/dist/client/rest/authenticated.d.ts +1199 -0
- package/dist/client/rest/authenticated.d.ts.map +1 -0
- package/dist/client/rest/authenticated.js +1311 -0
- package/dist/client/rest/index.d.ts +3 -0
- package/dist/client/rest/index.d.ts.map +1 -0
- package/dist/client/rest/index.js +5 -0
- package/dist/client/rest/public.d.ts +436 -0
- package/dist/client/rest/public.d.ts.map +1 -0
- package/dist/client/rest/public.js +502 -0
- package/dist/client/webSocket/guards.d.ts +15 -0
- package/dist/client/webSocket/guards.d.ts.map +1 -0
- package/dist/client/webSocket/guards.js +37 -0
- package/dist/client/webSocket/index.d.ts +632 -0
- package/dist/client/webSocket/index.d.ts.map +1 -0
- package/dist/client/webSocket/index.js +1048 -0
- package/dist/client/webSocket/transform.d.ts +3 -0
- package/dist/client/webSocket/transform.d.ts.map +1 -0
- package/dist/client/webSocket/transform.js +244 -0
- package/dist/constants.d.ts +34 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +38 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/orderbook/apiConversions.d.ts +8 -0
- package/dist/orderbook/apiConversions.d.ts.map +1 -0
- package/dist/orderbook/apiConversions.js +100 -0
- package/dist/orderbook/demo.d.ts +2 -0
- package/dist/orderbook/demo.d.ts.map +1 -0
- package/dist/orderbook/demo.js +68 -0
- package/dist/orderbook/index.d.ts +3 -0
- package/dist/orderbook/index.d.ts.map +1 -0
- package/dist/orderbook/index.js +5 -0
- package/dist/orderbook/quantities.d.ts +112 -0
- package/dist/orderbook/quantities.d.ts.map +1 -0
- package/dist/orderbook/quantities.js +257 -0
- package/dist/orderbook/utils.d.ts +8 -0
- package/dist/orderbook/utils.d.ts.map +1 -0
- package/dist/orderbook/utils.js +28 -0
- package/dist/pipmath.d.ts +21 -0
- package/dist/pipmath.d.ts.map +1 -0
- package/dist/pipmath.js +110 -0
- package/dist/signatures.d.ts +37 -0
- package/dist/signatures.d.ts.map +1 -0
- package/dist/signatures.js +450 -0
- package/dist/tests/orderbook/quantities/calculateInitialMarginFractionWithOverride.test.d.ts +2 -0
- package/dist/tests/orderbook/quantities/calculateInitialMarginFractionWithOverride.test.d.ts.map +1 -0
- package/dist/tests/orderbook/quantities/calculateInitialMarginFractionWithOverride.test.js +49 -0
- package/dist/tests/orderbook/quantities/calculateMaximumInitialMarginFractionOverride.test.d.ts +2 -0
- package/dist/tests/orderbook/quantities/calculateMaximumInitialMarginFractionOverride.test.d.ts.map +1 -0
- package/dist/tests/orderbook/quantities/calculateMaximumInitialMarginFractionOverride.test.js +122 -0
- package/dist/tests/orderbook/quantities/determineMaximumReduceOnlyQuantityAvailableAtPriceLevel.test.d.ts +2 -0
- package/dist/tests/orderbook/quantities/determineMaximumReduceOnlyQuantityAvailableAtPriceLevel.test.d.ts.map +1 -0
- package/dist/tests/orderbook/quantities/determineMaximumReduceOnlyQuantityAvailableAtPriceLevel.test.js +138 -0
- package/dist/tests/orderbook/quantities.test.d.ts +2 -0
- package/dist/tests/orderbook/quantities.test.d.ts.map +1 -0
- package/dist/tests/orderbook/quantities.test.js +310 -0
- package/dist/tests/testHelpers.d.ts +2 -0
- package/dist/tests/testHelpers.d.ts.map +1 -0
- package/dist/tests/testHelpers.js +16 -0
- package/dist/tests/utils/deriveBaseURL.test.d.ts +2 -0
- package/dist/tests/utils/deriveBaseURL.test.d.ts.map +1 -0
- package/dist/tests/utils/deriveBaseURL.test.js +46 -0
- package/dist/typechain-types/ERC20.d.ts +170 -0
- package/dist/typechain-types/ERC20.d.ts.map +1 -0
- package/dist/typechain-types/ERC20.js +2 -0
- package/dist/typechain-types/EarningsEscrow.d.ts +210 -0
- package/dist/typechain-types/EarningsEscrow.d.ts.map +1 -0
- package/dist/typechain-types/EarningsEscrow.js +2 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter.d.ts +253 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter.d.ts.map +1 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter.js +2 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v2.d.ts +338 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v2.d.ts.map +1 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v2.js +2 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v3.d.ts +413 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v3.d.ts.map +1 -0
- package/dist/typechain-types/ExchangeLayerZeroAdapter_v3.js +2 -0
- package/dist/typechain-types/Exchange_v1.d.ts +2172 -0
- package/dist/typechain-types/Exchange_v1.d.ts.map +1 -0
- package/dist/typechain-types/Exchange_v1.js +2 -0
- package/dist/typechain-types/Exchange_v2.d.ts +2148 -0
- package/dist/typechain-types/Exchange_v2.d.ts.map +1 -0
- package/dist/typechain-types/Exchange_v2.js +2 -0
- package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.d.ts +148 -0
- package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.d.ts.map +1 -0
- package/dist/typechain-types/FixedIncomeVaultProviderStateAggregator_v1.js +2 -0
- package/dist/typechain-types/FixedIncomeVaultProvider_v1.d.ts +1204 -0
- package/dist/typechain-types/FixedIncomeVaultProvider_v1.d.ts.map +1 -0
- package/dist/typechain-types/FixedIncomeVaultProvider_v1.js +2 -0
- package/dist/typechain-types/IOFT.d.ts +247 -0
- package/dist/typechain-types/IOFT.d.ts.map +1 -0
- package/dist/typechain-types/IOFT.js +2 -0
- package/dist/typechain-types/IRewardVault.d.ts +649 -0
- package/dist/typechain-types/IRewardVault.d.ts.map +1 -0
- package/dist/typechain-types/IRewardVault.js +2 -0
- package/dist/typechain-types/KumaOFTAdapterUSDC.d.ts +638 -0
- package/dist/typechain-types/KumaOFTAdapterUSDC.d.ts.map +1 -0
- package/dist/typechain-types/KumaOFTAdapterUSDC.js +2 -0
- package/dist/typechain-types/KumaOFTUSDC.d.ts +756 -0
- package/dist/typechain-types/KumaOFTUSDC.d.ts.map +1 -0
- package/dist/typechain-types/KumaOFTUSDC.js +2 -0
- package/dist/typechain-types/KumaStargateForwarder_v1.d.ts +252 -0
- package/dist/typechain-types/KumaStargateForwarder_v1.d.ts.map +1 -0
- package/dist/typechain-types/KumaStargateForwarder_v1.js +2 -0
- package/dist/typechain-types/KumaStargateForwarder_v2.d.ts +252 -0
- package/dist/typechain-types/KumaStargateForwarder_v2.d.ts.map +1 -0
- package/dist/typechain-types/KumaStargateForwarder_v2.js +2 -0
- package/dist/typechain-types/ProfitShareVaultProvider_v1.d.ts +1095 -0
- package/dist/typechain-types/ProfitShareVaultProvider_v1.d.ts.map +1 -0
- package/dist/typechain-types/ProfitShareVaultProvider_v1.js +2 -0
- package/dist/typechain-types/StargatePoolUSDC.d.ts +956 -0
- package/dist/typechain-types/StargatePoolUSDC.d.ts.map +1 -0
- package/dist/typechain-types/StargatePoolUSDC.js +2 -0
- package/dist/typechain-types/common.d.ts +51 -0
- package/dist/typechain-types/common.d.ts.map +1 -0
- package/dist/typechain-types/common.js +2 -0
- package/dist/typechain-types/factories/ERC20__factory.d.ts +226 -0
- package/dist/typechain-types/factories/ERC20__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ERC20__factory.js +305 -0
- package/dist/typechain-types/factories/EarningsEscrow__factory.d.ts +370 -0
- package/dist/typechain-types/factories/EarningsEscrow__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/EarningsEscrow__factory.js +485 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter__factory.d.ts +359 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter__factory.js +471 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v2__factory.d.ts +419 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v2__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v2__factory.js +545 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v3__factory.d.ts +546 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v3__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ExchangeLayerZeroAdapter_v3__factory.js +710 -0
- package/dist/typechain-types/factories/Exchange_v1__factory.d.ts +2852 -0
- package/dist/typechain-types/factories/Exchange_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/Exchange_v1__factory.js +3661 -0
- package/dist/typechain-types/factories/Exchange_v2__factory.d.ts +2832 -0
- package/dist/typechain-types/factories/Exchange_v2__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/Exchange_v2__factory.js +3636 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.d.ts +180 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProviderStateAggregator_v1__factory.js +246 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.d.ts +2092 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/FixedIncomeVaultProvider_v1__factory.js +2702 -0
- package/dist/typechain-types/factories/IOFT__factory.d.ts +352 -0
- package/dist/typechain-types/factories/IOFT__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/IOFT__factory.js +464 -0
- package/dist/typechain-types/factories/IRewardVault__factory.d.ts +1019 -0
- package/dist/typechain-types/factories/IRewardVault__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/IRewardVault__factory.js +1311 -0
- package/dist/typechain-types/factories/KumaOFTAdapterUSDC__factory.d.ts +996 -0
- package/dist/typechain-types/factories/KumaOFTAdapterUSDC__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/KumaOFTAdapterUSDC__factory.js +1306 -0
- package/dist/typechain-types/factories/KumaOFTUSDC__factory.d.ts +1234 -0
- package/dist/typechain-types/factories/KumaOFTUSDC__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/KumaOFTUSDC__factory.js +1619 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v1__factory.d.ts +354 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v1__factory.js +464 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v2__factory.d.ts +370 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v2__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/KumaStargateForwarder_v2__factory.js +486 -0
- package/dist/typechain-types/factories/ProfitShareVaultProvider_v1__factory.d.ts +1914 -0
- package/dist/typechain-types/factories/ProfitShareVaultProvider_v1__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/ProfitShareVaultProvider_v1__factory.js +2475 -0
- package/dist/typechain-types/factories/StargatePoolUSDC__factory.d.ts +1557 -0
- package/dist/typechain-types/factories/StargatePoolUSDC__factory.d.ts.map +1 -0
- package/dist/typechain-types/factories/StargatePoolUSDC__factory.js +2019 -0
- package/dist/typechain-types/factories/index.d.ts +5 -0
- package/dist/typechain-types/factories/index.d.ts.map +1 -0
- package/dist/typechain-types/factories/index.js +13 -0
- package/dist/typechain-types/index.d.ts +10 -0
- package/dist/typechain-types/index.d.ts.map +1 -0
- package/dist/typechain-types/index.js +15 -0
- package/dist/types/delegatedKeys.d.ts +44 -0
- package/dist/types/delegatedKeys.d.ts.map +1 -0
- package/dist/types/delegatedKeys.js +2 -0
- package/dist/types/enums/index.d.ts +4 -0
- package/dist/types/enums/index.d.ts.map +1 -0
- package/dist/types/enums/index.js +6 -0
- package/dist/types/enums/request.d.ts +980 -0
- package/dist/types/enums/request.d.ts.map +1 -0
- package/dist/types/enums/request.js +906 -0
- package/dist/types/enums/response.d.ts +329 -0
- package/dist/types/enums/response.d.ts.map +1 -0
- package/dist/types/enums/response.js +296 -0
- package/dist/types/enums/signature.d.ts +118 -0
- package/dist/types/enums/signature.d.ts.map +1 -0
- package/dist/types/enums/signature.js +131 -0
- package/dist/types/errors.d.ts +5 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +2 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/orderBook.d.ts +72 -0
- package/dist/types/orderBook.d.ts.map +1 -0
- package/dist/types/orderBook.js +2 -0
- package/dist/types/rest/common/common.d.ts +118 -0
- package/dist/types/rest/common/common.d.ts.map +1 -0
- package/dist/types/rest/common/common.js +2 -0
- package/dist/types/rest/common/guards.d.ts +8 -0
- package/dist/types/rest/common/guards.d.ts.map +1 -0
- package/dist/types/rest/common/guards.js +14 -0
- package/dist/types/rest/endpoints/AssociateWallet.d.ts +40 -0
- package/dist/types/rest/endpoints/AssociateWallet.d.ts.map +1 -0
- package/dist/types/rest/endpoints/AssociateWallet.js +2 -0
- package/dist/types/rest/endpoints/CancelOrders.d.ts +134 -0
- package/dist/types/rest/endpoints/CancelOrders.d.ts.map +1 -0
- package/dist/types/rest/endpoints/CancelOrders.js +2 -0
- package/dist/types/rest/endpoints/CreateOrder.d.ts +401 -0
- package/dist/types/rest/endpoints/CreateOrder.d.ts.map +1 -0
- package/dist/types/rest/endpoints/CreateOrder.js +2 -0
- package/dist/types/rest/endpoints/GetAuthenticationToken.d.ts +39 -0
- package/dist/types/rest/endpoints/GetAuthenticationToken.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetAuthenticationToken.js +2 -0
- package/dist/types/rest/endpoints/GetCandles.d.ts +115 -0
- package/dist/types/rest/endpoints/GetCandles.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetCandles.js +2 -0
- package/dist/types/rest/endpoints/GetDeposits.d.ts +109 -0
- package/dist/types/rest/endpoints/GetDeposits.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetDeposits.js +2 -0
- package/dist/types/rest/endpoints/GetExchange.d.ts +78 -0
- package/dist/types/rest/endpoints/GetExchange.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetExchange.js +9 -0
- package/dist/types/rest/endpoints/GetFills.d.ts +178 -0
- package/dist/types/rest/endpoints/GetFills.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetFills.js +2 -0
- package/dist/types/rest/endpoints/GetFundingPayments.d.ts +52 -0
- package/dist/types/rest/endpoints/GetFundingPayments.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetFundingPayments.js +2 -0
- package/dist/types/rest/endpoints/GetFundingRates.d.ts +34 -0
- package/dist/types/rest/endpoints/GetFundingRates.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetFundingRates.js +2 -0
- package/dist/types/rest/endpoints/GetGasFees.d.ts +23 -0
- package/dist/types/rest/endpoints/GetGasFees.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetGasFees.js +2 -0
- package/dist/types/rest/endpoints/GetHistoricalPnL.d.ts +39 -0
- package/dist/types/rest/endpoints/GetHistoricalPnL.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetHistoricalPnL.js +2 -0
- package/dist/types/rest/endpoints/GetInitialMarginFractionOverride.d.ts +31 -0
- package/dist/types/rest/endpoints/GetInitialMarginFractionOverride.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetInitialMarginFractionOverride.js +2 -0
- package/dist/types/rest/endpoints/GetLiquidations.d.ts +52 -0
- package/dist/types/rest/endpoints/GetLiquidations.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetLiquidations.js +2 -0
- package/dist/types/rest/endpoints/GetMarketMakerRewardsEpochs.d.ts +534 -0
- package/dist/types/rest/endpoints/GetMarketMakerRewardsEpochs.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetMarketMakerRewardsEpochs.js +2 -0
- package/dist/types/rest/endpoints/GetMarkets.d.ts +161 -0
- package/dist/types/rest/endpoints/GetMarkets.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetMarkets.js +2 -0
- package/dist/types/rest/endpoints/GetOrderBook.d.ts +176 -0
- package/dist/types/rest/endpoints/GetOrderBook.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetOrderBook.js +2 -0
- package/dist/types/rest/endpoints/GetOrders.d.ts +188 -0
- package/dist/types/rest/endpoints/GetOrders.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetOrders.js +2 -0
- package/dist/types/rest/endpoints/GetPing.d.ts +8 -0
- package/dist/types/rest/endpoints/GetPing.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetPing.js +2 -0
- package/dist/types/rest/endpoints/GetPositions.d.ts +104 -0
- package/dist/types/rest/endpoints/GetPositions.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetPositions.js +2 -0
- package/dist/types/rest/endpoints/GetTickers.d.ts +129 -0
- package/dist/types/rest/endpoints/GetTickers.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetTickers.js +2 -0
- package/dist/types/rest/endpoints/GetTime.d.ts +14 -0
- package/dist/types/rest/endpoints/GetTime.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetTime.js +2 -0
- package/dist/types/rest/endpoints/GetTrades.d.ts +62 -0
- package/dist/types/rest/endpoints/GetTrades.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetTrades.js +2 -0
- package/dist/types/rest/endpoints/GetWallets.d.ts +121 -0
- package/dist/types/rest/endpoints/GetWallets.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetWallets.js +2 -0
- package/dist/types/rest/endpoints/GetWithdrawals.d.ts +98 -0
- package/dist/types/rest/endpoints/GetWithdrawals.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetWithdrawals.js +2 -0
- package/dist/types/rest/endpoints/GetWithdrawalsFromManagedAccount.d.ts +98 -0
- package/dist/types/rest/endpoints/GetWithdrawalsFromManagedAccount.d.ts.map +1 -0
- package/dist/types/rest/endpoints/GetWithdrawalsFromManagedAccount.js +2 -0
- package/dist/types/rest/endpoints/Payouts.d.ts +199 -0
- package/dist/types/rest/endpoints/Payouts.d.ts.map +1 -0
- package/dist/types/rest/endpoints/Payouts.js +2 -0
- package/dist/types/rest/endpoints/SetInitialMarginFractionOverride.d.ts +83 -0
- package/dist/types/rest/endpoints/SetInitialMarginFractionOverride.d.ts.map +1 -0
- package/dist/types/rest/endpoints/SetInitialMarginFractionOverride.js +2 -0
- package/dist/types/rest/endpoints/WithdrawFunds.d.ts +144 -0
- package/dist/types/rest/endpoints/WithdrawFunds.d.ts.map +1 -0
- package/dist/types/rest/endpoints/WithdrawFunds.js +2 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByQuantity.d.ts +161 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByQuantity.d.ts.map +1 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByQuantity.js +2 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByShares.d.ts +160 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByShares.d.ts.map +1 -0
- package/dist/types/rest/endpoints/WithdrawFundsFromManagedAccountByShares.js +2 -0
- package/dist/types/rest/endpoints/index.d.ts +33 -0
- package/dist/types/rest/endpoints/index.d.ts.map +1 -0
- package/dist/types/rest/endpoints/index.js +35 -0
- package/dist/types/rest/endpoints/internal.d.ts +329 -0
- package/dist/types/rest/endpoints/internal.d.ts.map +1 -0
- package/dist/types/rest/endpoints/internal.js +14 -0
- package/dist/types/rest/index.d.ts +4 -0
- package/dist/types/rest/index.d.ts.map +1 -0
- package/dist/types/rest/index.js +6 -0
- package/dist/types/swaps.d.ts +11 -0
- package/dist/types/swaps.d.ts.map +1 -0
- package/dist/types/swaps.js +2 -0
- package/dist/types/utils.d.ts +67 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +3 -0
- package/dist/types/webSocket/base.d.ts +83 -0
- package/dist/types/webSocket/base.d.ts.map +1 -0
- package/dist/types/webSocket/base.js +2 -0
- package/dist/types/webSocket/constants.d.ts +41 -0
- package/dist/types/webSocket/constants.d.ts.map +1 -0
- package/dist/types/webSocket/constants.js +54 -0
- package/dist/types/webSocket/index.d.ts +6 -0
- package/dist/types/webSocket/index.d.ts.map +1 -0
- package/dist/types/webSocket/index.js +8 -0
- package/dist/types/webSocket/options.d.ts +276 -0
- package/dist/types/webSocket/options.d.ts.map +1 -0
- package/dist/types/webSocket/options.js +2 -0
- package/dist/types/webSocket/request/index.d.ts +3 -0
- package/dist/types/webSocket/request/index.d.ts.map +1 -0
- package/dist/types/webSocket/request/index.js +5 -0
- package/dist/types/webSocket/request/request.d.ts +137 -0
- package/dist/types/webSocket/request/request.d.ts.map +1 -0
- package/dist/types/webSocket/request/request.js +2 -0
- package/dist/types/webSocket/request/subscriptions.d.ts +498 -0
- package/dist/types/webSocket/request/subscriptions.d.ts.map +1 -0
- package/dist/types/webSocket/request/subscriptions.js +2 -0
- package/dist/types/webSocket/response/candles.d.ts +138 -0
- package/dist/types/webSocket/response/candles.d.ts.map +1 -0
- package/dist/types/webSocket/response/candles.js +2 -0
- package/dist/types/webSocket/response/deposits.d.ts +80 -0
- package/dist/types/webSocket/response/deposits.d.ts.map +1 -0
- package/dist/types/webSocket/response/deposits.js +2 -0
- package/dist/types/webSocket/response/fundingPayments.d.ts +78 -0
- package/dist/types/webSocket/response/fundingPayments.d.ts.map +1 -0
- package/dist/types/webSocket/response/fundingPayments.js +2 -0
- package/dist/types/webSocket/response/index.d.ts +13 -0
- package/dist/types/webSocket/response/index.d.ts.map +1 -0
- package/dist/types/webSocket/response/index.js +15 -0
- package/dist/types/webSocket/response/liquidations.d.ts +78 -0
- package/dist/types/webSocket/response/liquidations.d.ts.map +1 -0
- package/dist/types/webSocket/response/liquidations.js +2 -0
- package/dist/types/webSocket/response/orderbook.d.ts +214 -0
- package/dist/types/webSocket/response/orderbook.d.ts.map +1 -0
- package/dist/types/webSocket/response/orderbook.js +2 -0
- package/dist/types/webSocket/response/orders.d.ts +355 -0
- package/dist/types/webSocket/response/orders.d.ts.map +1 -0
- package/dist/types/webSocket/response/orders.js +2 -0
- package/dist/types/webSocket/response/ordersFill.d.ts +138 -0
- package/dist/types/webSocket/response/ordersFill.d.ts.map +1 -0
- package/dist/types/webSocket/response/ordersFill.js +2 -0
- package/dist/types/webSocket/response/positions.d.ts +120 -0
- package/dist/types/webSocket/response/positions.d.ts.map +1 -0
- package/dist/types/webSocket/response/positions.js +2 -0
- package/dist/types/webSocket/response/tickers.d.ts +131 -0
- package/dist/types/webSocket/response/tickers.d.ts.map +1 -0
- package/dist/types/webSocket/response/tickers.js +2 -0
- package/dist/types/webSocket/response/trades.d.ts +90 -0
- package/dist/types/webSocket/response/trades.d.ts.map +1 -0
- package/dist/types/webSocket/response/trades.js +2 -0
- package/dist/types/webSocket/response/webclient/base.d.ts +24 -0
- package/dist/types/webSocket/response/webclient/base.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/base.js +2 -0
- package/dist/types/webSocket/response/webclient/events/exchangeStatus.d.ts +31 -0
- package/dist/types/webSocket/response/webclient/events/exchangeStatus.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/events/exchangeStatus.js +2 -0
- package/dist/types/webSocket/response/webclient/events/index.d.ts +4 -0
- package/dist/types/webSocket/response/webclient/events/index.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/events/index.js +6 -0
- package/dist/types/webSocket/response/webclient/events/reloadBanners.d.ts +17 -0
- package/dist/types/webSocket/response/webclient/events/reloadBanners.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/events/reloadBanners.js +2 -0
- package/dist/types/webSocket/response/webclient/events/transactionSettled.d.ts +76 -0
- package/dist/types/webSocket/response/webclient/events/transactionSettled.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/events/transactionSettled.js +2 -0
- package/dist/types/webSocket/response/webclient/index.d.ts +3 -0
- package/dist/types/webSocket/response/webclient/index.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/index.js +5 -0
- package/dist/types/webSocket/response/webclient/webclient.d.ts +13 -0
- package/dist/types/webSocket/response/webclient/webclient.d.ts.map +1 -0
- package/dist/types/webSocket/response/webclient/webclient.js +2 -0
- package/dist/types/webSocket/response/withdrawals.d.ts +83 -0
- package/dist/types/webSocket/response/withdrawals.d.ts.map +1 -0
- package/dist/types/webSocket/response/withdrawals.js +2 -0
- package/dist/utils.d.ts +63 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +136 -0
- package/package.json +200 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/bridge/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,kBAAkB,qPAA8B,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Kf,CAAC;AAEX,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC7C,CAAC;AAEF;;;;;;;GAOG;AAEH,wBAAgB,mBAAmB,CAEjC,KAAK,EAAE,GAAG,GACT,KAAK,IAAI,YAAY,CAEvB"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidBridgeTarget = exports.BridgeConfigByLayerZeroEndpointId = exports.BridgeConfig = exports.BridgeTargetsArray = void 0;
|
|
4
|
+
const request_1 = require("#types/enums/request");
|
|
5
|
+
exports.BridgeTargetsArray = Object.values(request_1.BridgeTarget);
|
|
6
|
+
/**
|
|
7
|
+
* TODO_IKON - These configs need to be completed in some areas and should be confirmed as valid
|
|
8
|
+
*
|
|
9
|
+
* @see [evmChainId](https://gist.github.com/melwong/c30eb1e21eda17549996a609c35dafb3#file-list-of-chain-ids-for-metamask-csv)
|
|
10
|
+
*
|
|
11
|
+
* @category Stargate
|
|
12
|
+
*/
|
|
13
|
+
exports.BridgeConfig = {
|
|
14
|
+
settings: {
|
|
15
|
+
addManagedAccountExtraGas: 300_000,
|
|
16
|
+
depositSourceChainGasLimit: 450_000,
|
|
17
|
+
stargateBridgeForwarderGasLimit: 450_000,
|
|
18
|
+
localBridgeTarget: request_1.BridgeTarget.KATANA_KATANA,
|
|
19
|
+
},
|
|
20
|
+
mainnet: {
|
|
21
|
+
[request_1.BridgeTarget.KATANA_KATANA]: {
|
|
22
|
+
target: request_1.BridgeTarget.KATANA_KATANA,
|
|
23
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=katana
|
|
24
|
+
evmChainId: 747474,
|
|
25
|
+
layerZeroEndpointId: 30375,
|
|
26
|
+
// No USDC OFT currently supported on Katana
|
|
27
|
+
layerzeroOFTAddress: '0x0000000000000000000000000000000000000000',
|
|
28
|
+
// vbUSDC
|
|
29
|
+
tokenDecimals: 6,
|
|
30
|
+
usdcAddress: '0x203a662b0bd271a6ed5a60edfbd04bfce608fd36',
|
|
31
|
+
},
|
|
32
|
+
[request_1.BridgeTarget.LAYERZERO_BERACHAIN]: {
|
|
33
|
+
target: request_1.BridgeTarget.LAYERZERO_BERACHAIN,
|
|
34
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=bera
|
|
35
|
+
evmChainId: 80094,
|
|
36
|
+
layerZeroEndpointId: 30362,
|
|
37
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/mainnet-contracts#berachain
|
|
38
|
+
layerzeroOFTAddress: '0xAF54BE5B6eEc24d6BFACf1cce4eaF680A8239398',
|
|
39
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#bera
|
|
40
|
+
tokenDecimals: 6,
|
|
41
|
+
usdcAddress: '0x549943e04f40284185054145c6E4e9568C1D3241',
|
|
42
|
+
},
|
|
43
|
+
[request_1.BridgeTarget.STARGATE_ARBITRUM]: {
|
|
44
|
+
target: request_1.BridgeTarget.STARGATE_ARBITRUM,
|
|
45
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=arbitrum
|
|
46
|
+
evmChainId: 42161,
|
|
47
|
+
layerZeroEndpointId: 30110,
|
|
48
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/mainnet-contracts#arbitrum
|
|
49
|
+
layerzeroOFTAddress: '0xe8CDF27AcD73a434D661C84887215F7598e7d0d3',
|
|
50
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#arbitrum
|
|
51
|
+
tokenDecimals: 6,
|
|
52
|
+
usdcAddress: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
53
|
+
},
|
|
54
|
+
[request_1.BridgeTarget.STARGATE_AURORA]: {
|
|
55
|
+
target: request_1.BridgeTarget.STARGATE_AURORA,
|
|
56
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=aurora
|
|
57
|
+
evmChainId: 1313161554,
|
|
58
|
+
layerZeroEndpointId: 30211,
|
|
59
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/mainnet-contracts#aurora
|
|
60
|
+
layerzeroOFTAddress: '0x81F6138153d473E8c5EcebD3DC8Cd4903506B075',
|
|
61
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#aurora
|
|
62
|
+
tokenDecimals: 6,
|
|
63
|
+
usdcAddress: '0x368EBb46ACa6b8D0787C96B2b20bD3CC3F2c45F7',
|
|
64
|
+
},
|
|
65
|
+
[request_1.BridgeTarget.STARGATE_AVALANCHE]: {
|
|
66
|
+
target: request_1.BridgeTarget.STARGATE_AVALANCHE,
|
|
67
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=avalanche
|
|
68
|
+
evmChainId: 43114,
|
|
69
|
+
layerZeroEndpointId: 30106,
|
|
70
|
+
// https://stargateprotocol.gitbook.io/stargate/v/v2-developer-docs/technical-reference/mainnet-contracts#avalanche
|
|
71
|
+
layerzeroOFTAddress: '0x5634c4a5FEd09819E3c46D86A965Dd9447d86e47',
|
|
72
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#avalanche
|
|
73
|
+
tokenDecimals: 6,
|
|
74
|
+
usdcAddress: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E',
|
|
75
|
+
},
|
|
76
|
+
[request_1.BridgeTarget.STARGATE_BASE]: {
|
|
77
|
+
target: request_1.BridgeTarget.STARGATE_BASE,
|
|
78
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=base
|
|
79
|
+
evmChainId: 8453,
|
|
80
|
+
layerZeroEndpointId: 30184,
|
|
81
|
+
// https://stargateprotocol.gitbook.io/stargate/v/v2-developer-docs/technical-reference/mainnet-contracts#base
|
|
82
|
+
layerzeroOFTAddress: '0x27a16dc786820B16E5c9028b75B99F6f604b5d26',
|
|
83
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#base
|
|
84
|
+
tokenDecimals: 6,
|
|
85
|
+
usdcAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
86
|
+
},
|
|
87
|
+
[request_1.BridgeTarget.STARGATE_BNB]: {
|
|
88
|
+
target: request_1.BridgeTarget.STARGATE_BNB,
|
|
89
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=bnb
|
|
90
|
+
evmChainId: 56,
|
|
91
|
+
layerZeroEndpointId: 30102,
|
|
92
|
+
// https://stargateprotocol.gitbook.io/stargate/v/v2-developer-docs/technical-reference/mainnet-contracts#bnb-chain
|
|
93
|
+
layerzeroOFTAddress: '0x962Bd449E630b0d928f308Ce63f1A21F02576057',
|
|
94
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#bnb
|
|
95
|
+
tokenDecimals: 18,
|
|
96
|
+
usdcAddress: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d',
|
|
97
|
+
},
|
|
98
|
+
[request_1.BridgeTarget.STARGATE_ETHEREUM]: {
|
|
99
|
+
target: request_1.BridgeTarget.STARGATE_ETHEREUM,
|
|
100
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=ethereum
|
|
101
|
+
evmChainId: 1,
|
|
102
|
+
layerZeroEndpointId: 30101,
|
|
103
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/mainnet-contracts#ethereum
|
|
104
|
+
layerzeroOFTAddress: '0xc026395860Db2d07ee33e05fE50ed7bD583189C7',
|
|
105
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#ethereum
|
|
106
|
+
tokenDecimals: 6,
|
|
107
|
+
usdcAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
108
|
+
},
|
|
109
|
+
[request_1.BridgeTarget.STARGATE_OPTIMISM]: {
|
|
110
|
+
target: request_1.BridgeTarget.STARGATE_OPTIMISM,
|
|
111
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=optimism
|
|
112
|
+
evmChainId: 10,
|
|
113
|
+
layerZeroEndpointId: 30111,
|
|
114
|
+
// https://stargateprotocol.gitbook.io/stargate/v/v2-developer-docs/technical-reference/mainnet-contracts#optimism
|
|
115
|
+
layerzeroOFTAddress: '0xcE8CcA271Ebc0533920C83d39F417ED6A0abB7D0',
|
|
116
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#optimism
|
|
117
|
+
tokenDecimals: 6,
|
|
118
|
+
usdcAddress: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',
|
|
119
|
+
},
|
|
120
|
+
[request_1.BridgeTarget.STARGATE_RARI]: {
|
|
121
|
+
target: request_1.BridgeTarget.STARGATE_RARI,
|
|
122
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=rarible
|
|
123
|
+
evmChainId: 1380012617,
|
|
124
|
+
layerZeroEndpointId: 30235,
|
|
125
|
+
// https://stargateprotocol.gitbook.io/stargate/v/v2-developer-docs/technical-reference/mainnet-contracts#rari
|
|
126
|
+
layerzeroOFTAddress: '0x875bee36739e7Ce6b60E056451c556a88c59b086',
|
|
127
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#rari-chain
|
|
128
|
+
tokenDecimals: 6,
|
|
129
|
+
usdcAddress: '0xFbDa5F676cB37624f28265A144A48B0d6e87d3b6',
|
|
130
|
+
},
|
|
131
|
+
[request_1.BridgeTarget.STARGATE_SCROLL]: {
|
|
132
|
+
target: request_1.BridgeTarget.STARGATE_SCROLL,
|
|
133
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=scroll
|
|
134
|
+
evmChainId: 534352,
|
|
135
|
+
layerZeroEndpointId: 30214,
|
|
136
|
+
// https://stargateprotocol.gitbook.io/stargate/v/v2-developer-docs/technical-reference/mainnet-contracts#scroll
|
|
137
|
+
layerzeroOFTAddress: '0x3Fc69CC4A842838bCDC9499178740226062b14E4',
|
|
138
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#scroll
|
|
139
|
+
tokenDecimals: 6,
|
|
140
|
+
usdcAddress: '0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4',
|
|
141
|
+
},
|
|
142
|
+
[request_1.BridgeTarget.STARGATE_TAIKO]: {
|
|
143
|
+
target: request_1.BridgeTarget.STARGATE_TAIKO,
|
|
144
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=taiko
|
|
145
|
+
evmChainId: 167000,
|
|
146
|
+
layerZeroEndpointId: 30290,
|
|
147
|
+
// https://stargateprotocol.gitbook.io/stargate/v/v2-developer-docs/technical-reference/mainnet-contracts#taiko
|
|
148
|
+
layerzeroOFTAddress: '0x77C71633C34C3784ede189d74223122422492a0f',
|
|
149
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/v2-supported-networks-and-assets#taiko
|
|
150
|
+
tokenDecimals: 6,
|
|
151
|
+
usdcAddress: '0x19e26B0638bf63aa9fa4d14c6baF8D52eBE86C5C',
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
testnet: {
|
|
155
|
+
[request_1.BridgeTarget.KATANA_KATANA]: {
|
|
156
|
+
target: request_1.BridgeTarget.KATANA_KATANA,
|
|
157
|
+
isSupported: true,
|
|
158
|
+
evmChainId: 64002,
|
|
159
|
+
layerZeroEndpointId: 40282,
|
|
160
|
+
layerzeroOFTAddress: '0x54a04EfABCBd81A0488E4a9Ad22264E04A48329B',
|
|
161
|
+
tokenDecimals: 6,
|
|
162
|
+
usdcAddress: '0x54a04EfABCBd81A0488E4a9Ad22264E04A48329B',
|
|
163
|
+
},
|
|
164
|
+
[request_1.BridgeTarget.LAYERZERO_BERACHAIN]: {
|
|
165
|
+
target: request_1.BridgeTarget.LAYERZERO_BERACHAIN,
|
|
166
|
+
// TODO There is currently no testnet for Berachain so we are using
|
|
167
|
+
// Sepolia as a substitute for testing purposes
|
|
168
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=sepolia
|
|
169
|
+
evmChainId: 11155111,
|
|
170
|
+
layerZeroEndpointId: 40161,
|
|
171
|
+
layerzeroOFTAddress: '0x21F1caDDBED3Cd50e6B30644459BFB80c367076c',
|
|
172
|
+
tokenDecimals: 6,
|
|
173
|
+
usdcAddress: '0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590',
|
|
174
|
+
},
|
|
175
|
+
[request_1.BridgeTarget.STARGATE_ARBITRUM]: {
|
|
176
|
+
target: request_1.BridgeTarget.STARGATE_ARBITRUM,
|
|
177
|
+
// https://docs.layerzero.network/v2/deployments/deployed-contracts?chains=arbitrum-sepolia
|
|
178
|
+
evmChainId: 421614,
|
|
179
|
+
layerZeroEndpointId: 40231,
|
|
180
|
+
// https://stargateprotocol.gitbook.io/stargate/v2-developer-docs/technical-reference/testnet-contracts#arbitrum-sepolia-testnet
|
|
181
|
+
layerzeroOFTAddress: '0x543BdA7c6cA4384FE90B1F5929bb851F52888983',
|
|
182
|
+
tokenDecimals: 6,
|
|
183
|
+
usdcAddress: '0x3253a335E7bFfB4790Aa4C25C4250d206E9b9773',
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
exports.BridgeConfigByLayerZeroEndpointId = {
|
|
188
|
+
mainnet: {
|
|
189
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.LAYERZERO_BERACHAIN]
|
|
190
|
+
.layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.LAYERZERO_BERACHAIN],
|
|
191
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_ARBITRUM].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_ARBITRUM],
|
|
192
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_AURORA].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_AURORA],
|
|
193
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_AVALANCHE].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_AVALANCHE],
|
|
194
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_BASE].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_BASE],
|
|
195
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_BNB].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_BNB],
|
|
196
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_ETHEREUM].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_ETHEREUM],
|
|
197
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_OPTIMISM].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_OPTIMISM],
|
|
198
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_RARI].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_RARI],
|
|
199
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_SCROLL].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_SCROLL],
|
|
200
|
+
[exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_TAIKO].layerZeroEndpointId]: exports.BridgeConfig.mainnet[request_1.BridgeTarget.STARGATE_TAIKO],
|
|
201
|
+
},
|
|
202
|
+
testnet: {
|
|
203
|
+
[exports.BridgeConfig.testnet[request_1.BridgeTarget.LAYERZERO_BERACHAIN]
|
|
204
|
+
.layerZeroEndpointId]: exports.BridgeConfig.testnet[request_1.BridgeTarget.LAYERZERO_BERACHAIN],
|
|
205
|
+
[exports.BridgeConfig.testnet[request_1.BridgeTarget.STARGATE_ARBITRUM].layerZeroEndpointId]: exports.BridgeConfig.testnet[request_1.BridgeTarget.STARGATE_ARBITRUM],
|
|
206
|
+
},
|
|
207
|
+
};
|
|
208
|
+
/**
|
|
209
|
+
* A type guard that checks if the given value is a valid {@link BridgeTarget} value.
|
|
210
|
+
*
|
|
211
|
+
* - This will not validate that the value is a {@link BridgeTarget} as that is a subset of
|
|
212
|
+
* {@link BridgeTarget}, use {@link isValidBridgeTarget} for that.
|
|
213
|
+
*
|
|
214
|
+
* @internal
|
|
215
|
+
*/
|
|
216
|
+
function isValidBridgeTarget(
|
|
217
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
218
|
+
value) {
|
|
219
|
+
return value && exports.BridgeTargetsArray.includes(value);
|
|
220
|
+
}
|
|
221
|
+
exports.isValidBridgeTarget = isValidBridgeTarget;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { ethers, type TransactionRequest } from 'ethers';
|
|
2
|
+
import { BridgeTarget } from '#types/enums/request';
|
|
3
|
+
import { getBridgeTargetConfig } from './utils';
|
|
4
|
+
import type { Expand } from '../types/utils';
|
|
5
|
+
export declare enum DepositBridgeAdapterPayloadType {
|
|
6
|
+
addManagedAccount = 0,
|
|
7
|
+
depositToManagedAccount = 1,
|
|
8
|
+
depositToWallet = 2
|
|
9
|
+
}
|
|
10
|
+
export type AddManagedAccountBridgePayloadParameters = {
|
|
11
|
+
fixedIncomeVaultProviderAddress: string;
|
|
12
|
+
managerWallet: string;
|
|
13
|
+
addManagedAccountPayload: string;
|
|
14
|
+
};
|
|
15
|
+
export type DepositToManagedAccountBridgePayloadParameters = {
|
|
16
|
+
depositorWallet: string;
|
|
17
|
+
fixedIncomeVaultProviderAddress: string;
|
|
18
|
+
managerWallet: string;
|
|
19
|
+
};
|
|
20
|
+
export type DepositToWalletBridgePayloadParameters = {
|
|
21
|
+
depositorWallet: string;
|
|
22
|
+
};
|
|
23
|
+
export type DepositBaseParameters = {
|
|
24
|
+
exchangeLayerZeroAdapterAddress?: string;
|
|
25
|
+
minimumForwardQuantityMultiplierInPips: bigint;
|
|
26
|
+
quantityInAssetUnits: bigint;
|
|
27
|
+
sourceBridgeTarget: BridgeTarget;
|
|
28
|
+
stargateBridgeForwarderContractAddress?: string;
|
|
29
|
+
bridgePayloadType: DepositBridgeAdapterPayloadType;
|
|
30
|
+
};
|
|
31
|
+
export type AddManagedAccountParameters = Expand<DepositBaseParameters & {
|
|
32
|
+
bridgePayloadType: DepositBridgeAdapterPayloadType.addManagedAccount;
|
|
33
|
+
} & AddManagedAccountBridgePayloadParameters>;
|
|
34
|
+
export type DepositToManagedAccountParameters = Expand<DepositBaseParameters & {
|
|
35
|
+
bridgePayloadType: DepositBridgeAdapterPayloadType.depositToManagedAccount;
|
|
36
|
+
} & DepositToManagedAccountBridgePayloadParameters>;
|
|
37
|
+
export type DepositToWalletParameters = Expand<DepositBaseParameters & {
|
|
38
|
+
bridgePayloadType: DepositBridgeAdapterPayloadType.depositToWallet;
|
|
39
|
+
} & DepositToWalletBridgePayloadParameters>;
|
|
40
|
+
/**
|
|
41
|
+
* Encoded withdrawal bridge payload
|
|
42
|
+
*/
|
|
43
|
+
export type EncodedDepositBridgeAdapterPayload = string;
|
|
44
|
+
export type FixedIncomeVaultConfigurationFields = {
|
|
45
|
+
managerWallet: string;
|
|
46
|
+
effectiveTimestampInS: number;
|
|
47
|
+
interestMultiplierInPips: bigint;
|
|
48
|
+
maximumNetDepositsInPips: bigint;
|
|
49
|
+
maximumTotalOwedQuantityAvailableForExitWithdrawalMultiplierNeededToInitiateExitInPips: bigint;
|
|
50
|
+
minimumTotalOwedQuantityAvailableForExitWithdrawalMultiplierToAllowManagerWalletWithdrawalInPips: bigint;
|
|
51
|
+
minimumUnappliedWithdrawalAgeInSNeededToInitiateExit: number;
|
|
52
|
+
withdrawalLimitPercentForDepositorsInPips: bigint;
|
|
53
|
+
withdrawalLimitPercentForVaultInPips: bigint;
|
|
54
|
+
};
|
|
55
|
+
export declare const fixedIncomeVaultConfigurationFieldsLength: number;
|
|
56
|
+
export declare const depositBridgeAdapterPayloadLengths: {
|
|
57
|
+
0: number;
|
|
58
|
+
1: number;
|
|
59
|
+
2: number;
|
|
60
|
+
};
|
|
61
|
+
export declare function decodeDepositBridgeAdapterPayloadType(payload: EncodedDepositBridgeAdapterPayload): number;
|
|
62
|
+
export declare function decodeDepositBridgeAdapterPayload(payload: EncodedDepositBridgeAdapterPayload): {
|
|
63
|
+
bridgePayloadType: DepositBridgeAdapterPayloadType;
|
|
64
|
+
sourceEndpointId: any;
|
|
65
|
+
managedAccountProvider: any;
|
|
66
|
+
managerWallet: any;
|
|
67
|
+
addManagedAccountPayload: any;
|
|
68
|
+
depositPayload: any;
|
|
69
|
+
depositorWallet?: undefined;
|
|
70
|
+
} | {
|
|
71
|
+
bridgePayloadType: DepositBridgeAdapterPayloadType;
|
|
72
|
+
sourceEndpointId: any;
|
|
73
|
+
depositorWallet: any;
|
|
74
|
+
managedAccountProvider: any;
|
|
75
|
+
managerWallet: any;
|
|
76
|
+
depositPayload: any;
|
|
77
|
+
addManagedAccountPayload?: undefined;
|
|
78
|
+
} | {
|
|
79
|
+
bridgePayloadType: DepositBridgeAdapterPayloadType;
|
|
80
|
+
sourceEndpointId: any;
|
|
81
|
+
depositorWallet: any;
|
|
82
|
+
managedAccountProvider?: undefined;
|
|
83
|
+
managerWallet?: undefined;
|
|
84
|
+
addManagedAccountPayload?: undefined;
|
|
85
|
+
depositPayload?: undefined;
|
|
86
|
+
} | undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Deposit funds cross-chain into the Exchange using a LayerZero OFT or Stargate
|
|
89
|
+
*/
|
|
90
|
+
export declare function depositViaBridge(parameters: AddManagedAccountParameters | DepositToManagedAccountParameters | DepositToWalletParameters, providers: {
|
|
91
|
+
berachain: ethers.Provider;
|
|
92
|
+
sourceChain: ethers.Provider;
|
|
93
|
+
}, sourceSigner: ethers.Signer, sandbox: boolean, extraRequestParams?: Pick<TransactionRequest, 'nonce'>): Promise<string>;
|
|
94
|
+
export declare function encodeDepositBridgeAdapterPayload(sourceConfig: ReturnType<typeof getBridgeTargetConfig>, parameters: AddManagedAccountParameters | DepositToManagedAccountParameters | DepositToWalletParameters): EncodedDepositBridgeAdapterPayload;
|
|
95
|
+
export declare function encodeFixedIncomeVaultConfigurationFields(configurationFields: FixedIncomeVaultConfigurationFields): string;
|
|
96
|
+
/**
|
|
97
|
+
* Estimate native gas fee needed to deposit USDC cross-chain into the Exchange
|
|
98
|
+
*/
|
|
99
|
+
export declare function estimateDepositFees(parameters: AddManagedAccountParameters | DepositToManagedAccountParameters | DepositToWalletParameters, providers: {
|
|
100
|
+
berachain: ethers.Provider;
|
|
101
|
+
sourceChain: ethers.Provider;
|
|
102
|
+
}, sandbox: boolean): Promise<{
|
|
103
|
+
gasFee: bigint;
|
|
104
|
+
quantityDeliveredInAssetUnits: bigint;
|
|
105
|
+
}>;
|
|
106
|
+
export declare function getDestinationWallet(parameters: AddManagedAccountParameters | DepositToManagedAccountParameters | DepositToWalletParameters): string;
|
|
107
|
+
//# sourceMappingURL=deposit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../src/bridge/deposit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAMzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,qBAAqB,EAGtB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,oBAAY,+BAA+B;IACzC,iBAAiB,IAAA;IACjB,uBAAuB,IAAA;IACvB,eAAe,IAAA;CAChB;AAED,MAAM,MAAM,wCAAwC,GAAG;IACrD,+BAA+B,EAAE,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,8CAA8C,GAAG;IAC3D,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B,EAAE,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sCAAsC,GAAG;IACnD,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,YAAY,CAAC;IACjC,sCAAsC,CAAC,EAAE,MAAM,CAAC;IAChD,iBAAiB,EAAE,+BAA+B,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,qBAAqB,GAAG;IACtB,iBAAiB,EAAE,+BAA+B,CAAC,iBAAiB,CAAC;CACtE,GAAG,wCAAwC,CAC7C,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,MAAM,CACpD,qBAAqB,GAAG;IACtB,iBAAiB,EAAE,+BAA+B,CAAC,uBAAuB,CAAC;CAC5E,GAAG,8CAA8C,CACnD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAC5C,qBAAqB,GAAG;IACtB,iBAAiB,EAAE,+BAA+B,CAAC,eAAe,CAAC;CACpE,GAAG,sCAAsC,CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,MAAM,CAAC;AAExD,MAAM,MAAM,mCAAmC,GAAG;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,sFAAsF,EAAE,MAAM,CAAC;IAC/F,gGAAgG,EAAE,MAAM,CAAC;IACzG,oDAAoD,EAAE,MAAM,CAAC;IAC7D,yCAAyC,EAAE,MAAM,CAAC;IAClD,oCAAoC,EAAE,MAAM,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,yCAAyC,QACL,CAAC;AAElD,eAAO,MAAM,kCAAkC;;;;CAM9C,CAAC;AAEF,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,kCAAkC,UAM5C;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;cAwE5C;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,EAC7B,SAAS,EAAE;IAGT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,EACD,YAAY,EAAE,MAAM,CAAC,MAAM,EAC3B,OAAO,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,GACrD,OAAO,CAAC,MAAM,CAAC,CAoEjB;AAED,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,EACtD,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,GAC5B,kCAAkC,CAuDpC;AAED,wBAAgB,yCAAyC,CACvD,mBAAmB,EAAE,mCAAmC,UAkBzD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,EAC7B,SAAS,EAAE;IAGT,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC9B,EACD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B,EAAE,MAAM,CAAC;CACvC,CAAC,CAMD;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EACN,2BAA2B,GAC3B,iCAAiC,GACjC,yBAAyB,UAqB9B"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDestinationWallet = exports.estimateDepositFees = exports.encodeFixedIncomeVaultConfigurationFields = exports.encodeDepositBridgeAdapterPayload = exports.depositViaBridge = exports.decodeDepositBridgeAdapterPayload = exports.decodeDepositBridgeAdapterPayloadType = exports.depositBridgeAdapterPayloadLengths = exports.fixedIncomeVaultConfigurationFieldsLength = exports.DepositBridgeAdapterPayloadType = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
|
|
6
|
+
const ethers_1 = require("ethers");
|
|
7
|
+
const _pipmath_1 = require("#pipmath");
|
|
8
|
+
const config_1 = require("#bridge/config");
|
|
9
|
+
const index_1 = require("#typechain-types/index");
|
|
10
|
+
const request_1 = require("#types/enums/request");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
var DepositBridgeAdapterPayloadType;
|
|
13
|
+
(function (DepositBridgeAdapterPayloadType) {
|
|
14
|
+
DepositBridgeAdapterPayloadType[DepositBridgeAdapterPayloadType["addManagedAccount"] = 0] = "addManagedAccount";
|
|
15
|
+
DepositBridgeAdapterPayloadType[DepositBridgeAdapterPayloadType["depositToManagedAccount"] = 1] = "depositToManagedAccount";
|
|
16
|
+
DepositBridgeAdapterPayloadType[DepositBridgeAdapterPayloadType["depositToWallet"] = 2] = "depositToWallet";
|
|
17
|
+
})(DepositBridgeAdapterPayloadType || (exports.DepositBridgeAdapterPayloadType = DepositBridgeAdapterPayloadType = {}));
|
|
18
|
+
exports.fixedIncomeVaultConfigurationFieldsLength = 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32; // tuple header + address + uint64 + uint64 + uint64 + uint64 + uint64 + uint64 + uint64 + uint64
|
|
19
|
+
exports.depositBridgeAdapterPayloadLengths = {
|
|
20
|
+
[DepositBridgeAdapterPayloadType.addManagedAccount]: 32 + 32 + 32 + 32 + 32 + 32 + exports.fixedIncomeVaultConfigurationFieldsLength, // uint8 + tuple header + uint32 + address + address + bytes length + bytes
|
|
21
|
+
[DepositBridgeAdapterPayloadType.depositToManagedAccount]: 32 + 32 + 32 + 32 + 32 + 32 + 32 + 32, // uint8 + tuple header + uint32 + address + address + address + bytes length + bytes
|
|
22
|
+
[DepositBridgeAdapterPayloadType.depositToWallet]: 32 + 32 + 32, // uint8 + uint32 + address
|
|
23
|
+
};
|
|
24
|
+
function decodeDepositBridgeAdapterPayloadType(payload) {
|
|
25
|
+
return parseInt(ethers_1.ethers.AbiCoder.defaultAbiCoder().decode(['uint8'], payload)[0], 10);
|
|
26
|
+
}
|
|
27
|
+
exports.decodeDepositBridgeAdapterPayloadType = decodeDepositBridgeAdapterPayloadType;
|
|
28
|
+
function decodeDepositBridgeAdapterPayload(payload) {
|
|
29
|
+
const bridgePayloadType = decodeDepositBridgeAdapterPayloadType(payload);
|
|
30
|
+
if (bridgePayloadType === DepositBridgeAdapterPayloadType.addManagedAccount) {
|
|
31
|
+
const [, [sourceEndpointId, managedAccountProvider, managerWallet, addManagedAccountPayload, depositPayload,],] = ethers_1.ethers.AbiCoder.defaultAbiCoder().decode(['uint8', 'tuple(uint32,address,address,bytes,bytes)'], payload);
|
|
32
|
+
return {
|
|
33
|
+
bridgePayloadType,
|
|
34
|
+
sourceEndpointId,
|
|
35
|
+
managedAccountProvider,
|
|
36
|
+
managerWallet,
|
|
37
|
+
addManagedAccountPayload,
|
|
38
|
+
depositPayload,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
if (bridgePayloadType ===
|
|
42
|
+
DepositBridgeAdapterPayloadType.depositToManagedAccount) {
|
|
43
|
+
const [, [sourceEndpointId, depositorWallet, managedAccountProvider, managerWallet, depositPayload,],] = ethers_1.ethers.AbiCoder.defaultAbiCoder().decode(['uint8', 'tuple(uint32,address,address,address,bytes)'], payload);
|
|
44
|
+
return {
|
|
45
|
+
bridgePayloadType,
|
|
46
|
+
sourceEndpointId,
|
|
47
|
+
depositorWallet,
|
|
48
|
+
managedAccountProvider,
|
|
49
|
+
managerWallet,
|
|
50
|
+
depositPayload,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (bridgePayloadType === DepositBridgeAdapterPayloadType.depositToWallet) {
|
|
54
|
+
const [, [sourceEndpointId, depositorWallet]] = ethers_1.ethers.AbiCoder.defaultAbiCoder().decode(['uint8', 'tuple(uint32,address)'], payload);
|
|
55
|
+
return {
|
|
56
|
+
bridgePayloadType,
|
|
57
|
+
sourceEndpointId,
|
|
58
|
+
depositorWallet,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
exports.decodeDepositBridgeAdapterPayload = decodeDepositBridgeAdapterPayload;
|
|
64
|
+
/**
|
|
65
|
+
* Deposit funds cross-chain into the Exchange using a LayerZero OFT or Stargate
|
|
66
|
+
*/
|
|
67
|
+
async function depositViaBridge(parameters, providers, sourceSigner, sandbox, extraRequestParams) {
|
|
68
|
+
const [{ sendParam, sourceConfig }, { gasFee }] = await Promise.all(parameters.sourceBridgeTarget === request_1.BridgeTarget.LAYERZERO_BERACHAIN ?
|
|
69
|
+
[
|
|
70
|
+
getDepositFromBerachainSendParamAndSourceConfig(parameters, sandbox),
|
|
71
|
+
estimateDepositFromBerachainFees(parameters, providers, sandbox),
|
|
72
|
+
]
|
|
73
|
+
: [
|
|
74
|
+
getDepositViaForwarderSendParamAndSourceConfig(parameters, providers, sandbox),
|
|
75
|
+
estimateDepositViaForwarderFees(parameters, providers, sandbox),
|
|
76
|
+
]);
|
|
77
|
+
let gasLimit = config_1.BridgeConfig.settings.depositSourceChainGasLimit;
|
|
78
|
+
const oft = index_1.IOFT__factory.connect(sourceConfig.layerzeroOFTAddress, sourceSigner);
|
|
79
|
+
const wallet = getDestinationWallet(parameters);
|
|
80
|
+
try {
|
|
81
|
+
// Estimate gas
|
|
82
|
+
const estimatedGasLimit = await oft.send.estimateGas(sendParam, { nativeFee: gasFee, lzTokenFee: 0 }, wallet, // Refund address - extra gas (if any) is returned to this address
|
|
83
|
+
{
|
|
84
|
+
...extraRequestParams,
|
|
85
|
+
from: wallet,
|
|
86
|
+
// Native gas to pay for the cross chain message fee
|
|
87
|
+
value: gasFee,
|
|
88
|
+
});
|
|
89
|
+
// Add 20% buffer for safety
|
|
90
|
+
gasLimit = Number(new bignumber_js_1.default(estimatedGasLimit.toString())
|
|
91
|
+
.times(new bignumber_js_1.default(1.2))
|
|
92
|
+
.toFixed(0));
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
// ethers.js will perform the estimation at the block gas limit, which is much higher than the
|
|
96
|
+
// gas actually needed by the tx. If the wallet does not have the funds to cover the tx at this
|
|
97
|
+
// high gas limit then the RPC will throw an INSUFFICIENT_FUNDS error; however the wallet may
|
|
98
|
+
// still have enough funds to successfully bridge at the actual gas limit. In this case simply
|
|
99
|
+
// fall through and use the configured default gas limit. The wallet software in use should
|
|
100
|
+
// still show if that limit is insufficient, which is only an issue for blockchains with
|
|
101
|
+
// variable gas costs such as Arbitrum One
|
|
102
|
+
if (!error.code || error.code !== 'INSUFFICIENT_FUNDS') {
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const response = await oft.send(sendParam, { nativeFee: gasFee, lzTokenFee: 0 }, wallet, // Refund address - extra gas (if any) is returned to this address
|
|
107
|
+
{
|
|
108
|
+
from: wallet,
|
|
109
|
+
gasLimit,
|
|
110
|
+
value: gasFee,
|
|
111
|
+
});
|
|
112
|
+
return response.hash;
|
|
113
|
+
}
|
|
114
|
+
exports.depositViaBridge = depositViaBridge;
|
|
115
|
+
function encodeDepositBridgeAdapterPayload(sourceConfig, parameters) {
|
|
116
|
+
if (parameters.bridgePayloadType ===
|
|
117
|
+
DepositBridgeAdapterPayloadType.addManagedAccount) {
|
|
118
|
+
return ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint8', 'tuple(uint32,address,address,bytes,bytes)'], [
|
|
119
|
+
DepositBridgeAdapterPayloadType.addManagedAccount,
|
|
120
|
+
[
|
|
121
|
+
sourceConfig.layerZeroEndpointId,
|
|
122
|
+
parameters.fixedIncomeVaultProviderAddress,
|
|
123
|
+
parameters.managerWallet,
|
|
124
|
+
parameters.addManagedAccountPayload,
|
|
125
|
+
'0x',
|
|
126
|
+
],
|
|
127
|
+
]);
|
|
128
|
+
}
|
|
129
|
+
if (parameters.bridgePayloadType ===
|
|
130
|
+
DepositBridgeAdapterPayloadType.depositToManagedAccount) {
|
|
131
|
+
return ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint8', 'tuple(uint32,address,address,address,bytes)'], [
|
|
132
|
+
DepositBridgeAdapterPayloadType.depositToManagedAccount,
|
|
133
|
+
[
|
|
134
|
+
sourceConfig.layerZeroEndpointId,
|
|
135
|
+
parameters.depositorWallet,
|
|
136
|
+
parameters.fixedIncomeVaultProviderAddress,
|
|
137
|
+
parameters.managerWallet,
|
|
138
|
+
'0x', // depositPayload
|
|
139
|
+
],
|
|
140
|
+
]);
|
|
141
|
+
}
|
|
142
|
+
if (parameters.bridgePayloadType ===
|
|
143
|
+
DepositBridgeAdapterPayloadType.depositToWallet) {
|
|
144
|
+
return ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint8', 'tuple(uint32,address)'], [
|
|
145
|
+
DepositBridgeAdapterPayloadType.depositToWallet,
|
|
146
|
+
[sourceConfig.layerZeroEndpointId, parameters.depositorWallet],
|
|
147
|
+
]);
|
|
148
|
+
}
|
|
149
|
+
throw new Error(`Invalid bridge payload type ${parameters.bridgePayloadType}`);
|
|
150
|
+
}
|
|
151
|
+
exports.encodeDepositBridgeAdapterPayload = encodeDepositBridgeAdapterPayload;
|
|
152
|
+
function encodeFixedIncomeVaultConfigurationFields(configurationFields) {
|
|
153
|
+
return ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['tuple(address,uint64,uint64,uint64,uint64,uint64,uint64,uint64,uint64)'], [
|
|
154
|
+
[
|
|
155
|
+
configurationFields.managerWallet,
|
|
156
|
+
configurationFields.effectiveTimestampInS,
|
|
157
|
+
configurationFields.interestMultiplierInPips,
|
|
158
|
+
configurationFields.maximumNetDepositsInPips,
|
|
159
|
+
configurationFields.maximumTotalOwedQuantityAvailableForExitWithdrawalMultiplierNeededToInitiateExitInPips,
|
|
160
|
+
configurationFields.minimumTotalOwedQuantityAvailableForExitWithdrawalMultiplierToAllowManagerWalletWithdrawalInPips,
|
|
161
|
+
configurationFields.minimumUnappliedWithdrawalAgeInSNeededToInitiateExit,
|
|
162
|
+
configurationFields.withdrawalLimitPercentForDepositorsInPips,
|
|
163
|
+
configurationFields.withdrawalLimitPercentForVaultInPips,
|
|
164
|
+
],
|
|
165
|
+
]);
|
|
166
|
+
}
|
|
167
|
+
exports.encodeFixedIncomeVaultConfigurationFields = encodeFixedIncomeVaultConfigurationFields;
|
|
168
|
+
/**
|
|
169
|
+
* Estimate native gas fee needed to deposit USDC cross-chain into the Exchange
|
|
170
|
+
*/
|
|
171
|
+
async function estimateDepositFees(parameters, providers, sandbox) {
|
|
172
|
+
if (parameters.sourceBridgeTarget === request_1.BridgeTarget.LAYERZERO_BERACHAIN) {
|
|
173
|
+
return estimateDepositFromBerachainFees(parameters, providers, sandbox);
|
|
174
|
+
}
|
|
175
|
+
return estimateDepositViaForwarderFees(parameters, providers, sandbox);
|
|
176
|
+
}
|
|
177
|
+
exports.estimateDepositFees = estimateDepositFees;
|
|
178
|
+
function getDestinationWallet(parameters) {
|
|
179
|
+
if (parameters.bridgePayloadType ===
|
|
180
|
+
DepositBridgeAdapterPayloadType.addManagedAccount) {
|
|
181
|
+
return parameters.managerWallet;
|
|
182
|
+
}
|
|
183
|
+
if (parameters.bridgePayloadType ===
|
|
184
|
+
DepositBridgeAdapterPayloadType.depositToManagedAccount ||
|
|
185
|
+
parameters.bridgePayloadType ===
|
|
186
|
+
DepositBridgeAdapterPayloadType.depositToWallet) {
|
|
187
|
+
return parameters.depositorWallet;
|
|
188
|
+
}
|
|
189
|
+
throw new Error(`Invalid bridge payload type ${parameters.bridgePayloadType}`);
|
|
190
|
+
}
|
|
191
|
+
exports.getDestinationWallet = getDestinationWallet;
|
|
192
|
+
/**
|
|
193
|
+
* Estimate native gas fee needed to deposit USDC cross-chain into the Exchange
|
|
194
|
+
* from Berachain using the OFT pathway
|
|
195
|
+
*/
|
|
196
|
+
async function estimateDepositFromBerachainFees(parameters, providers, sandbox) {
|
|
197
|
+
const { sendParam, sourceConfig } = await getDepositFromBerachainSendParamAndSourceConfig(parameters, sandbox);
|
|
198
|
+
const oft = index_1.IOFT__factory.connect(sourceConfig.layerzeroOFTAddress, providers.berachain);
|
|
199
|
+
const [[gasFee], [, , receipt]] = await Promise.all([
|
|
200
|
+
oft.quoteSend(sendParam, false, {
|
|
201
|
+
from: getDestinationWallet(parameters),
|
|
202
|
+
}),
|
|
203
|
+
oft.quoteOFT(sendParam),
|
|
204
|
+
]);
|
|
205
|
+
return {
|
|
206
|
+
gasFee,
|
|
207
|
+
quantityDeliveredInAssetUnits: receipt.amountReceivedLD,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
async function estimateDepositViaForwarderFees(parameters, providers, sandbox) {
|
|
211
|
+
const { sendParam, sourceConfig } = await getDepositViaForwarderSendParamAndSourceConfig(parameters, providers, sandbox);
|
|
212
|
+
const ioft = index_1.IOFT__factory.connect(sourceConfig.layerzeroOFTAddress, providers.sourceChain);
|
|
213
|
+
const [{ nativeFee: gasFee }, [, , receipt]] = await Promise.all([
|
|
214
|
+
ioft.quoteSend(sendParam, false, {
|
|
215
|
+
from: getDestinationWallet(parameters),
|
|
216
|
+
}),
|
|
217
|
+
ioft.quoteOFT(sendParam),
|
|
218
|
+
]);
|
|
219
|
+
// Once we obtain the quantity delivered after slippage to Berachain, calculate
|
|
220
|
+
// the quantity subsequently delivered to Katana after any additional slippage
|
|
221
|
+
const { quantityDeliveredInAssetUnits } = await estimateDepositFromBerachainFees({ ...parameters, quantityInAssetUnits: receipt.amountReceivedLD }, providers, sandbox);
|
|
222
|
+
return {
|
|
223
|
+
gasFee,
|
|
224
|
+
quantityDeliveredInAssetUnits,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
async function getDepositFromBerachainSendParamAndSourceConfig(parameters, sandbox) {
|
|
228
|
+
const { sourceConfig, destinationConfig } = getSourceAndDestinationConfigs(request_1.BridgeTarget.LAYERZERO_BERACHAIN, request_1.BridgeTarget.KATANA_KATANA, sandbox);
|
|
229
|
+
const exchangeLayerZeroAdapterAddress = await (0, utils_1.loadExchangeLayerZeroAddressFromApiIfNeeded)(parameters.exchangeLayerZeroAdapterAddress);
|
|
230
|
+
let extraOptions = new Uint8Array();
|
|
231
|
+
if (parameters.bridgePayloadType ===
|
|
232
|
+
DepositBridgeAdapterPayloadType.addManagedAccount) {
|
|
233
|
+
const { Options } = await import('@layerzerolabs/lz-v2-utilities');
|
|
234
|
+
extraOptions = Options.newOptions()
|
|
235
|
+
.addExecutorComposeOption(0, config_1.BridgeConfig.settings.addManagedAccountExtraGas, 0)
|
|
236
|
+
.toBytes();
|
|
237
|
+
}
|
|
238
|
+
const sendParam = {
|
|
239
|
+
dstEid: destinationConfig.layerZeroEndpointId, // Destination endpoint ID
|
|
240
|
+
to: ethers_1.ethers.zeroPadValue(exchangeLayerZeroAdapterAddress, 32), // Recipient address
|
|
241
|
+
amountLD: parameters.quantityInAssetUnits, // Amount to send in local decimals
|
|
242
|
+
minAmountLD: (0, _pipmath_1.multiplyPips)(parameters.quantityInAssetUnits, parameters.minimumForwardQuantityMultiplierInPips), // Minimum amount to send in local decimals
|
|
243
|
+
extraOptions,
|
|
244
|
+
composeMsg: encodeDepositBridgeAdapterPayload(sourceConfig, parameters), // Additional options supplied by the caller to be used in the LayerZero message
|
|
245
|
+
oftCmd: '0x', // The OFT command to be executed, unused in default OFT implementations
|
|
246
|
+
};
|
|
247
|
+
return { sendParam, sourceConfig };
|
|
248
|
+
}
|
|
249
|
+
async function getDepositViaForwarderSendParamAndSourceConfig(parameters, providers, sandbox) {
|
|
250
|
+
const { sourceConfig, destinationConfig: berachainConfig } = getSourceAndDestinationConfigs(parameters.sourceBridgeTarget, request_1.BridgeTarget.LAYERZERO_BERACHAIN, sandbox);
|
|
251
|
+
const { gasFee: berachainGasFee } = await estimateDepositFromBerachainFees(parameters, providers, sandbox);
|
|
252
|
+
// Add 20% buffer for safety
|
|
253
|
+
const additionalNativeDrop = new bignumber_js_1.default(berachainGasFee.toString())
|
|
254
|
+
.times(new bignumber_js_1.default(1.2))
|
|
255
|
+
.toFixed(0);
|
|
256
|
+
const stargateBridgeForwarderContractAddress = await (0, utils_1.loadStargateBridgeForwarderContractAddressFromApiIfNeeded)(parameters.stargateBridgeForwarderContractAddress);
|
|
257
|
+
// FIXME CJS dynamic import
|
|
258
|
+
const { Options } = await import('@layerzerolabs/lz-v2-utilities');
|
|
259
|
+
const extraOptions = Options.newOptions()
|
|
260
|
+
// Native drop is specified in BERA wei
|
|
261
|
+
.addExecutorComposeOption(0, config_1.BridgeConfig.settings.stargateBridgeForwarderGasLimit, additionalNativeDrop)
|
|
262
|
+
.toHex();
|
|
263
|
+
const sendParam = {
|
|
264
|
+
dstEid: berachainConfig.layerZeroEndpointId, // Destination endpoint ID
|
|
265
|
+
to: ethers_1.ethers.zeroPadValue(stargateBridgeForwarderContractAddress, 32), // Recipient address
|
|
266
|
+
amountLD: parameters.quantityInAssetUnits, // Amount to send in local decimals
|
|
267
|
+
minAmountLD: (0, _pipmath_1.multiplyPips)(parameters.quantityInAssetUnits, parameters.minimumForwardQuantityMultiplierInPips), // Minimum amount to send in local decimals
|
|
268
|
+
extraOptions,
|
|
269
|
+
composeMsg: ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint8', 'tuple(address, bytes)'], [
|
|
270
|
+
0, // ComposeMessageType.DepositToKatana
|
|
271
|
+
[
|
|
272
|
+
getDestinationWallet(parameters),
|
|
273
|
+
encodeDepositBridgeAdapterPayload(sourceConfig, parameters),
|
|
274
|
+
],
|
|
275
|
+
]),
|
|
276
|
+
oftCmd: '0x', // The OFT command to be executed, unused in default OFT implementations
|
|
277
|
+
};
|
|
278
|
+
return { sendParam, sourceConfig };
|
|
279
|
+
}
|
|
280
|
+
function getSourceAndDestinationConfigs(sourceTarget, destinationTarget, sandbox) {
|
|
281
|
+
const sourceConfig = (0, utils_1.getBridgeTargetConfig)(sourceTarget, sandbox);
|
|
282
|
+
const destinationConfig = (0, utils_1.getBridgeTargetConfig)(destinationTarget, sandbox);
|
|
283
|
+
return { sourceConfig, destinationConfig };
|
|
284
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("#bridge/config"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("#bridge/deposit"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("#bridge/utils"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("#bridge/withdraw"), exports);
|