@dhedge/trading-widget 3.4.0-canary.9 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +17 -16
  2. package/core-kit/abi/index.d.ts +0 -1
  3. package/core-kit/const/config.d.ts +1 -1
  4. package/core-kit/const/contracts/base.d.ts +0 -1
  5. package/core-kit/const/default-data.d.ts +1 -1
  6. package/core-kit/const/error.d.ts +1 -5
  7. package/core-kit/const/tokens/base.d.ts +0 -1
  8. package/core-kit/types/config.types.d.ts +1 -0
  9. package/core-kit/types/index.d.ts +0 -1
  10. package/core-kit/types/trading.types.d.ts +4 -1
  11. package/core-kit/utils/error.d.ts +0 -7
  12. package/core-kit/utils/number.d.ts +1 -1
  13. package/core-kit/utils/token.d.ts +5 -1
  14. package/core-kit/utils/transaction.d.ts +3 -3
  15. package/index-4ded5011.cjs +217 -0
  16. package/index-5a5607de.js +41054 -0
  17. package/index.cjs +1 -1
  18. package/index.d.ts +1 -2
  19. package/index.js +222 -225
  20. package/package.json +1 -1
  21. package/{pyth-adapter-15ca627b.cjs → pyth-adapter-08b8f67f.cjs} +1 -1
  22. package/{pyth-adapter-8cd4e8c2.js → pyth-adapter-f2fc6134.js} +1 -1
  23. package/style.css +1 -1
  24. package/trading-widget/components/deposit/button/valid-deposit-button/valid-deposit-button.hooks.d.ts +1 -0
  25. package/trading-widget/components/widget/widget-overlay/pool-select-overlay/pool-select-overlay.hooks.d.ts +1 -0
  26. package/trading-widget/components/withdraw/init-step/button/valid-init-withdraw-button/valid-init-withdraw-button.hooks.d.ts +2 -0
  27. package/trading-widget/providers/translation-provider/translation-provider.types.d.ts +1 -0
  28. package/core-kit/abi/limit-order.d.ts +0 -736
  29. package/core-kit/types/react-query.types.d.ts +0 -11
  30. package/index-93d057d5.cjs +0 -217
  31. package/index-f925e5c2.js +0 -42746
  32. package/limit-orders/component/common/action-button.d.ts +0 -10
  33. package/limit-orders/component/common/modal-content.d.ts +0 -8
  34. package/limit-orders/component/common/modal-dialog.d.ts +0 -9
  35. package/limit-orders/component/common/price-input.d.ts +0 -20
  36. package/limit-orders/component/input-group/input-group.d.ts +0 -2
  37. package/limit-orders/component/input-group/input-group.hooks.d.ts +0 -15
  38. package/limit-orders/component/limit-order-button/limit-order-button.d.ts +0 -2
  39. package/limit-orders/component/limit-order-button/limit-order-button.hooks.d.ts +0 -9
  40. package/limit-orders/component/limit-order-button/network-check-button.d.ts +0 -2
  41. package/limit-orders/component/limit-order-button/network-check-button.hooks.d.ts +0 -4
  42. package/limit-orders/component/limit-order-modal.d.ts +0 -11
  43. package/limit-orders/component/limit-order-modal.hooks.d.ts +0 -6
  44. package/limit-orders/constants.d.ts +0 -1
  45. package/limit-orders/hooks/state.d.ts +0 -2
  46. package/limit-orders/hooks/use-invalidate-limit-order-query.d.ts +0 -1
  47. package/limit-orders/hooks/use-listen-limit-order-execution.d.ts +0 -1
  48. package/limit-orders/hooks/use-on-limit-order-settled.d.ts +0 -2
  49. package/limit-orders/hooks/use-user-limit-order.d.ts +0 -753
  50. package/limit-orders/index.d.ts +0 -2
  51. package/limit-orders/providers/state-provider/reducer.d.ts +0 -7
  52. package/limit-orders/providers/state-provider/state-provider.d.ts +0 -6
  53. package/limit-orders/providers/state-provider/state-provider.types.d.ts +0 -51
  54. package/limit-orders/providers/theme-provider/index.d.ts +0 -2
  55. package/limit-orders/providers/theme-provider/theme-provider.d.ts +0 -3
  56. package/limit-orders/providers/theme-provider/theme-provider.types.d.ts +0 -132
  57. package/limit-orders/utils.d.ts +0 -23
package/README.md CHANGED
@@ -54,21 +54,21 @@ Top level provider component. Headless part of trading logic. API handles params
54
54
  <details>
55
55
  <summary><code>actions</code> <code><b>/</b></code> <code>Optional General callbacks to interact with 3rd party services</code></summary>
56
56
 
57
- > | name | type | default value | description |
58
- > | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- | --------------------------------------------------------------------------------- |
59
- > | `onUpdateSendTokenInput` | (payload: Partial\<{ address: `Address`; symbol: `string`; value: `string`; decimals: `number`; isLoading?: `boolean` }\>) => void | undefined | triggers on send token change |
60
- > | `onUpdateTradingSettings` | (payload: Partial\<{ slippage: `number \| 'auto'`; minSlippage?: `number` isInfiniteAllowance: `boolean`; isMultiAssetWithdrawalEnabled: `boolean`; isMaxSlippageLoading: `boolean` }\>) => void | undefined | triggers on trading settings change |
61
- > | `onSetTradingType` | (payload: `'deposit' \| 'withdraw'`) => void | undefined | triggers on trading type change |
62
- > | `onUpdateTradingModal` | (payload: Partial\<{ isOpen: `boolean`; status: `'Success' \| 'None' \| 'Mining' \| 'Wallet'` }\>) => void | undefined | triggers on trading modal change |
63
- > | `onUpdateTransactions` | (payload: AddTransaction \| UpdateTransaction \| RemoveTransaction) => void | undefined | triggers on transaction action change |
64
- > | `onTradingSettleError` | (error: `Error`) => void | undefined | triggers on trading settle error |
65
- > | `onTransactionError` | (error: `Error`, action: `TransactionAction` \| `undefined`, chainId?: `ChainId`, txHash?: `Address`) => void | undefined | triggers on transaction error |
66
- > | `onTransactionSuccess` | (data: `WaitForTransactionReceiptReturnType`, action: `TransactionAction` \| `undefined`, link?: `string`) => void | undefined | triggers on transaction success |
67
- > | `onTransactionEstimationError` | (error: `EstimationError`, address: `Address`, chainId?: `ChainId`, account?: `Address`) => void | undefined | triggers on transaction estimation error |
68
- > | `onTokenSelector` | (payload: { isOpen: `boolean`; entity: `'token' \| 'pool'` }) => void | undefined | triggers on token selector change |
69
- > | `onLog` | (eventName: `string`, payload?: `Record<string, unknown>`) => void | undefined | triggers on log event |
70
- > | `onSimulateTransaction` | (payload: { chainId: `ChainId`; from: `Address`: to: `Address`; input: `string`; gas: `number`; value?: `string` }) => Promise<{ link?: `string`; simulation: { status: `boolean`; error_message: `string` } } \| null> | undefined | triggers to simulate transaction and get error details after failed tx estimation |
71
- > | `getSwapData` | ({ signal: `AbortSignal`, variables: { chainId: `number`; sourceAddress: `Address`; destinationAddress: `Address`; walletAddress: `Address`; fromAddress: `Address`; amount: `string`; slippage: `string` } }) => Promise<{ destinationAmount: `string`; txData: `string` ; routerKey: `'ONE_INCH' / 'ONE_INCH_V5' / 'ZERO_X' / 'PARASWAP' / 'PARASWAP_V6'` } } \| null> | undefined | provides off chain swap data based on send token value |
57
+ > | name | type | default value | description |
58
+ > | ------------------------------ |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ------------- | --------------------------------------------------------------------------------- |
59
+ > | `onUpdateSendTokenInput` | (payload: Partial\<{ address: `Address`; symbol: `string`; value: `string`; decimals: `number`; isLoading?: `boolean` }\>) => void | undefined | triggers on send token change |
60
+ > | `onUpdateTradingSettings` | (payload: Partial\<{ slippage: `number \| 'auto'`; minSlippage?: `number` isInfiniteAllowance: `boolean`; isMultiAssetWithdrawalEnabled: `boolean`; isMaxSlippageLoading: `boolean` }\>) => void | undefined | triggers on trading settings change |
61
+ > | `onSetTradingType` | (payload: `'deposit' \| 'withdraw'`) => void | undefined | triggers on trading type change |
62
+ > | `onUpdateTradingModal` | (payload: Partial\<{ isOpen: `boolean`; status: `'Success' \| 'None' \| 'Mining' \| 'Wallet'` }\>) => void | undefined | triggers on trading modal change |
63
+ > | `onUpdateTransactions` | (payload: AddTransaction \| UpdateTransaction \| RemoveTransaction) => void | undefined | triggers on transaction action change |
64
+ > | `onTradingSettleError` | (error: `Error`) => void | undefined | triggers on trading settle error |
65
+ > | `onTransactionError` | (error: `Error`, action: `TransactionAction` \| `undefined`, chainId?: `ChainId`, txHash?: `Address`) => void | undefined | triggers on transaction error |
66
+ > | `onTransactionSuccess` | (data: `WaitForTransactionReceiptReturnType`, action: `TransactionAction` \| `undefined`, link?: `string`) => void | undefined | triggers on transaction success |
67
+ > | `onTransactionEstimationError` | (error: `EstimationError`, address: `Address`, chainId?: `ChainId`, account?: `Address`) => void | undefined | triggers on transaction estimation error |
68
+ > | `onTokenSelector` | (payload: { isOpen: `boolean`; entity: `'token' \| 'pool'` }) => void | undefined | triggers on token selector change |
69
+ > | `onLog` | (eventName: `string`, payload?: `Record<string, unknown>`) => void | undefined | triggers on log event |
70
+ > | `onSimulateTransaction` | (payload: { chainId: `ChainId`; from: `Address`: to: `Address`; input: `string`; gas: `number`; value?: `string` }) => Promise<{ link?: `string`; simulation: { status: `boolean`; error_message: `string` } } \| null> | undefined | triggers to simulate transaction and get error details after failed tx estimation |
71
+ > | `getSwapData` | ({ signal: `AbortSignal`, variables: { chainId: `number`; sourceAddress: `Address`; destinationAddress: `Address`; walletAddress: `Address`; fromAddress: `Address`; amount: `string`; slippage: `string` } }) => Promise<{ destinationAmount: `string`; rawTransaction: `{ data: string }` ; routerKey: `'ONE_INCH' / 'ONE_INCH_V5' / 'ZERO_X' / 'PARASWAP' / 'PARASWAP_V6'` } } \| null> | undefined | provides off chain swap data based on send token value |
72
72
 
73
73
  ###### Source: `packages/trading-widget/src/core-kit/providers/index.tsx`
74
74
 
@@ -439,7 +439,7 @@ path: `component.meta[name]`
439
439
  </summary>|
440
440
 
441
441
  > | name | type | default value | description |
442
- > | -------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
442
+ > |----------------------------------| ------ |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------- |
443
443
  > | `depositSlippageWarning` | string | Excludes entry fee. | |
444
444
  > | `withdrawSlippageWarning` | string | Slippage only applies to single asset withdrawals and withdrawals from vaults with debt positions in Aave. | |
445
445
  > | `minSlippageWarning` | string | Flexible min slippage value that is likely enough to process the transaction. | |
@@ -483,6 +483,7 @@ path: `component.meta[name]`
483
483
  > | `connectWallet` | string | Connect Wallet | |
484
484
  > | `minimumPurchase` | string | Minimum purchase is ${value} | |
485
485
  > | `poolIsInactive` | string | {poolSymbol} token is no longer active. Please withdraw from them. | |
486
+ > | `poolIsMaintenance` | string | {poolSymbol} token is under maintenance. Deposits and withdrawals are temporarily blocked. | |
486
487
  > | `poolIsPrivate` | string | This vault is currently private | |
487
488
  > | `updateOracles` | string | Update Oracles | |
488
489
  > | `checkingOracles` | string | Checking Oracles | |
@@ -9,4 +9,3 @@ export { RewardDistributionAbi } from './reward-distribution';
9
9
  export { ITrustedMulticallForwarderAbi, IERC7412Abi, SynthetixV3CoreAbi, SynthetixV3AssetGuard, SynthetixV3ContractGuard, } from './synthetix-v3';
10
10
  export { FlatcoinPointsModuleAbi } from './flatcoin-points-module';
11
11
  export { EasySwapperV2Abi } from './easy-swapper-v2';
12
- export { LimitOrderAbi } from './limit-order';
@@ -1,5 +1,5 @@
1
1
  import type { Address, ChainId } from 'core-kit/types/web3.types';
2
- export type ContractId = 'factory' | 'rewardDistribution' | 'aaveLendingPoolV2' | 'aaveLendingPoolV3' | 'stakingV2' | 'poolManagerLogic' | 'erc20' | 'poolLogic' | 'synthetixV3AssetGuard' | 'synthetixV3Core' | 'flatcoinPointsModule' | 'easySwapperV2' | 'limitOrder';
2
+ export type ContractId = 'factory' | 'rewardDistribution' | 'aaveLendingPoolV2' | 'aaveLendingPoolV3' | 'stakingV2' | 'poolManagerLogic' | 'erc20' | 'poolLogic' | 'synthetixV3AssetGuard' | 'synthetixV3Core' | 'flatcoinPointsModule' | 'easySwapperV2';
3
3
  type ContractsAddressesMap = Readonly<Record<ChainId, {
4
4
  [id in ContractId]?: Address;
5
5
  }>>;
@@ -5,4 +5,3 @@ export declare const FLATCOIN_POINTS_MODULE_ADDRESS_BASE = "0x59525b9b23adc475ef
5
5
  export declare const FLATMONEY_EARLY_DEPOSITOR_VAULT_ADDRESS_BASE = "0xa907504d7a4c415b4e6e1d0866d96afe8202f0e5";
6
6
  export declare const FLATMONEY_DHT_STAKING_VAULT_ADDRESS_BASE = "0x1849324228d852a67eb7443e42d967e480ffe95d";
7
7
  export declare const AAVE_LENDING_POOL_V3_ADDRESS_BASE = "0xa238dd80c259a72e81d7e4664a9801593f98d1c5";
8
- export declare const LIMIT_ORDER_ADDRESS_BASE = "0xFcBEc28c43E356693971a24bf3F2Fd7D965E2ebA";
@@ -19,7 +19,7 @@ export declare const DEFAULT_MULTI_ASSET_WITHDRAW_METHOD = "withdrawSafe";
19
19
  export declare const EASY_SWAPPER_V2_INITIATE_WITHDRAW_METHOD = "initWithdrawal";
20
20
  export declare const EASY_SWAPPER_V2_UNROLL_AND_CLAIM_METHOD = "unrollAndClaim";
21
21
  export declare const EASY_SWAPPER_V2_COMPLETE_WITHDRAW_METHOD = "completeWithdrawal";
22
- export declare const NATIVE_TOKEN_DEPOSIT_GAS_LIMIT = 4200000;
22
+ export declare const NATIVE_TOKEN_DEPOSIT_GAS_LIMIT = 30000000;
23
23
  export declare const GAS_LIMIT_BUFFER_COEFF = 1.25;
24
24
  export declare const MANAGER_FEE_DENOMINATOR = 10000;
25
25
  export declare const DEFAULT_PROMISE_TIMEOUT_MS = 13000;
@@ -4,11 +4,7 @@ export declare const DEFAULT_SIMULATION_ERROR = "Missing simulation params";
4
4
  export declare const SIMULATION_TIMEOUT_ERROR = "Simulation timeout";
5
5
  export declare const DEPOSIT_SWAP_DATA_ERROR = "swap_data_deposit_error";
6
6
  export declare const WITHDRAW_SWAP_DATA_ERROR = "swap_data_withdraw_error";
7
- type ErrorsMap = Record<string, {
7
+ export declare const TRANSACTION_ERRORS: Record<string, {
8
8
  title: string;
9
9
  hint?: string;
10
10
  }>;
11
- export declare const EASY_SWAPPER_TRANSACTION_ERRORS: ErrorsMap;
12
- export declare const INVALID_PRICES_LIMIT_ORDER_TITLE = "Invalid limit order prices";
13
- export declare const LIMIT_ORDER_TRANSACTION_ERRORS: ErrorsMap;
14
- export {};
@@ -3,7 +3,6 @@ export declare const USDC_BASE: TradingToken;
3
3
  export declare const USDCBC_BASE: TradingToken;
4
4
  export declare const WETH_BASE: TradingToken;
5
5
  export declare const CBETH_BASE: TradingToken;
6
- export declare const CBBTC_BASE: TradingToken;
7
6
  export declare const RETH_BASE: TradingToken;
8
7
  export declare const TBTC_BASE: TradingToken;
9
8
  export declare const WSTETH_BASE: TradingToken;
@@ -13,6 +13,7 @@ export interface PoolConfig {
13
13
  customTokens: TradingToken[];
14
14
  };
15
15
  deprecated?: boolean;
16
+ maintenance?: boolean;
16
17
  }
17
18
  export interface PoolFallbackData {
18
19
  address: Address;
@@ -7,4 +7,3 @@ export * from './trading.types';
7
7
  export * from './trading-panel.types';
8
8
  export * from './web3.types';
9
9
  export * from './synthetix-v3.types';
10
- export * from './react-query.types';
@@ -1,3 +1,4 @@
1
+ import type { Hex } from 'viem';
1
2
  import type { Address, ChainId } from 'core-kit/types/web3.types';
2
3
  export type NativeTokenSymbol = 'ETH' | 'POL';
3
4
  export type ChainNativeTokenMap = {
@@ -10,7 +11,9 @@ export type ChainNativeTokenMap = {
10
11
  };
11
12
  export interface SwapDataResponse {
12
13
  destinationAmount: string;
13
- txData: string;
14
+ rawTransaction: {
15
+ data: Hex;
16
+ };
14
17
  routerKey: 'ONE_INCH' | 'ZERO_X' | 'PARASWAP' | 'ONE_INCH_V5' | 'PARASWAP_V6';
15
18
  }
16
19
  export interface SwapDataRequest {
@@ -7,11 +7,4 @@ export declare const getErrorMessage: (error: unknown) => string;
7
7
  export declare const validateLoggerEventParams: (paramsMap: Record<string, {
8
8
  type: 'string' | 'number';
9
9
  }>) => boolean;
10
- export declare const parseContractErrorMessage: ({ errorMessage, abiErrors, }: {
11
- errorMessage: string | undefined | null;
12
- abiErrors: string[];
13
- }) => {
14
- title: string;
15
- hint?: string | undefined;
16
- } | null;
17
10
  export {};
@@ -2,7 +2,7 @@ import BigNumber from 'bignumber.js';
2
2
  export declare const getPercent: (numerator: number, denominator: number) => number;
3
3
  export declare const normalizeNumber: (value: string | number | BigNumber, precision?: number) => number;
4
4
  export declare const getConventionalTokenPriceDecimals: (tokenPrice: number) => number;
5
- export declare const shiftBy: (value: bigint | string | number, n?: number) => string;
5
+ export declare const shiftBy: (value: BigNumber, n?: number) => string;
6
6
  export declare const getPoolFraction: (poolTotalValue: string, amountToSell: string, poolTotalSupply: string, precision?: number) => number;
7
7
  export declare const isBigInt: (value: unknown) => boolean;
8
8
  export declare const isNumeric: (value: string) => boolean;
@@ -1,4 +1,8 @@
1
1
  import BigNumber from 'bignumber.js';
2
2
  import type { ChainId } from 'core-kit/types/web3.types';
3
3
  export declare const isNativeToken: (symbol: string, chainId: ChainId) => boolean;
4
- export declare const getNativeTokenInvestableBalance: (nativeTokenBalance: string, gasPrice: number) => BigNumber;
4
+ export declare const getNativeTokenInvestableBalance: ({ nativeTokenBalance, tokenDecimals, gasPrice, }: {
5
+ nativeTokenBalance: string;
6
+ gasPrice: number;
7
+ tokenDecimals: number;
8
+ }) => BigNumber;
@@ -1,4 +1,4 @@
1
- import type { Address } from 'viem';
1
+ import type { Address, Hex } from 'viem';
2
2
  import type { useSwapsDataQuery } from 'core-kit/hooks/trading/use-swaps-data-query';
3
3
  import type { useCompleteWithdrawTrackedAssets } from 'core-kit/hooks/trading/withdraw-v2/complete-step/use-complete-withdraw-tracked-assets';
4
4
  import type { CalculateSwapDataParamsResponse } from 'core-kit/types';
@@ -12,7 +12,7 @@ import type { CalculateSwapDataParamsResponse } from 'core-kit/types';
12
12
  export declare const getSlippageToleranceForContractTransaction: (slippage: number) => bigint;
13
13
  export declare const buildZapDepositTransactionArguments: ({ vaultAddress, swapData, sendTokenAddress, sendTokenAmount, vaultDepositTokenAddress, minVaultTokensReceivedAmount, routerKey, swapDestinationAmount, swapSlippage, }: {
14
14
  vaultAddress: Address;
15
- swapData: string;
15
+ swapData: Hex;
16
16
  sendTokenAddress: Address;
17
17
  sendTokenAmount: string;
18
18
  vaultDepositTokenAddress: Address;
@@ -20,7 +20,7 @@ export declare const buildZapDepositTransactionArguments: ({ vaultAddress, swapD
20
20
  routerKey: string | undefined;
21
21
  swapDestinationAmount: string;
22
22
  swapSlippage: number;
23
- }) => (string | (string | string[])[][])[];
23
+ }) => (string | (string | `0x${string}`[])[][])[];
24
24
  export declare const buildSwapWithdrawTransactionData: ({ receiveAssetAddress, slippage, assets, swapData, }: {
25
25
  receiveAssetAddress: Address;
26
26
  slippage: number;