@dhedge/trading-widget 1.2.9 → 2.0.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 (79) hide show
  1. package/README.md +110 -110
  2. package/core-kit/abi/easy-swapper-v2.d.ts +413 -0
  3. package/core-kit/abi/flatcoin-points-module.d.ts +1 -1
  4. package/core-kit/abi/index.d.ts +2 -1
  5. package/core-kit/const/config.d.ts +1 -1
  6. package/core-kit/const/contracts/arbitrum.d.ts +1 -0
  7. package/core-kit/const/contracts/base.d.ts +1 -0
  8. package/core-kit/const/contracts/optimism.d.ts +1 -0
  9. package/core-kit/const/contracts/polygon.d.ts +1 -0
  10. package/core-kit/const/default-data.d.ts +3 -7
  11. package/core-kit/const/index.d.ts +1 -0
  12. package/core-kit/const/logger.d.ts +0 -1
  13. package/core-kit/const/synthetix.d.ts +1 -0
  14. package/core-kit/const/tokens/index.d.ts +2 -1
  15. package/core-kit/const/trading.d.ts +10 -0
  16. package/core-kit/hooks/pool/multicall/use-pool.static.d.ts +530 -401
  17. package/core-kit/hooks/pool/use-pool-fees.d.ts +0 -1
  18. package/core-kit/hooks/state/action.d.ts +4 -1
  19. package/core-kit/hooks/state/index.d.ts +3 -3
  20. package/core-kit/hooks/state/meta.d.ts +0 -2
  21. package/core-kit/hooks/state/pool.d.ts +0 -2
  22. package/core-kit/hooks/trading/deposit-v2/index.d.ts +16 -0
  23. package/core-kit/hooks/trading/deposit-v2/use-applied-deposit-slippage.d.ts +1 -0
  24. package/core-kit/hooks/trading/deposit-v2/use-deposit-lock-time.d.ts +1 -0
  25. package/core-kit/hooks/trading/deposit-v2/use-deposit-price-diff.d.ts +5 -0
  26. package/core-kit/hooks/trading/deposit-v2/use-deposit-quote-contract-read.d.ts +414 -0
  27. package/core-kit/hooks/trading/deposit-v2/use-deposit-quote.d.ts +1 -0
  28. package/core-kit/hooks/trading/deposit-v2/use-deposit-slippage.d.ts +1 -0
  29. package/core-kit/hooks/trading/deposit-v2/use-is-custom-cooldown-deposit.d.ts +1 -0
  30. package/core-kit/hooks/trading/deposit-v2/use-is-deposit-with-swap-transaction.d.ts +1 -0
  31. package/core-kit/hooks/trading/deposit-v2/use-is-vault-deposit-locked.d.ts +4 -0
  32. package/core-kit/hooks/trading/deposit-v2/use-min-vault-tokens-received-amount.d.ts +1 -0
  33. package/core-kit/hooks/trading/deposit-v2/use-swap-data-based-on-send-token.d.ts +1 -0
  34. package/core-kit/hooks/trading/deposit-v2/use-vault-deposit-params.d.ts +2 -0
  35. package/core-kit/hooks/trading/deposit-v2/use-vault-deposit-token-amount.d.ts +1 -0
  36. package/core-kit/hooks/trading/{deposit/use-pool-deposit-tokens.d.ts → deposit-v2/use-vault-deposit-tokens.d.ts} +1 -1
  37. package/core-kit/hooks/trading/deposit-v2/use-vault-deposit-transaction-arguments.d.ts +2 -0
  38. package/core-kit/hooks/trading/index.d.ts +1 -3
  39. package/core-kit/hooks/trading/use-swap-data-query.d.ts +6 -0
  40. package/core-kit/models/index.d.ts +0 -3
  41. package/core-kit/types/config.types.d.ts +1 -4
  42. package/core-kit/types/state.types.d.ts +8 -13
  43. package/core-kit/types/trading-panel.types.d.ts +0 -1
  44. package/core-kit/types/trading.types.d.ts +21 -3
  45. package/core-kit/utils/transaction.d.ts +12 -0
  46. package/{index-76dd5f17.js → index-8649280a.js} +12840 -12519
  47. package/index-e1549967.cjs +207 -0
  48. package/index.cjs +1 -1
  49. package/index.d.ts +6 -9
  50. package/index.js +226 -260
  51. package/package.json +1 -1
  52. package/{pyth-adapter-5642b8a7.js → pyth-adapter-ac818fc3.js} +1 -1
  53. package/{pyth-adapter-4f3cae01.cjs → pyth-adapter-e6d49270.cjs} +1 -1
  54. package/trading-widget/components/deposit/meta/transaction-disclosure/transaction-disclosure.hooks.d.ts +1 -0
  55. package/trading-widget/components/widget/widget-input/asset-composition-table/asset-composition-table.hooks.d.ts +1 -0
  56. package/trading-widget/components/widget/widget-input/asset-composition-table/withdraw-explanation-tip.d.ts +4 -0
  57. package/trading-widget/components/widget/widget-overlay/pool-select-overlay/pool-select-overlay.hooks.d.ts +0 -3
  58. package/trading-widget/providers/config-provider/config-provider.types.d.ts +2 -1
  59. package/trading-widget/providers/translation-provider/translation-provider.types.d.ts +0 -2
  60. package/core-kit/hooks/trading/deposit/index.d.ts +0 -10
  61. package/core-kit/hooks/trading/deposit/use-deposit-method-handler.d.ts +0 -2
  62. package/core-kit/hooks/trading/deposit/use-deposit-quote.d.ts +0 -2
  63. package/core-kit/hooks/trading/deposit/use-deposit-slippage.d.ts +0 -1
  64. package/core-kit/hooks/trading/deposit/use-deposit-trading-params.d.ts +0 -2
  65. package/core-kit/hooks/trading/deposit/use-pool-deposit-asset-address.d.ts +0 -9
  66. package/core-kit/hooks/trading/deposit/use-should-be-whitelisted.d.ts +0 -4
  67. package/core-kit/hooks/trading/use-handle-pool-swap-info.d.ts +0 -1
  68. package/core-kit/hooks/trading/use-is-easy-swapper-trading.d.ts +0 -1
  69. package/core-kit/hooks/trading/use-trading-price-diff.d.ts +0 -8
  70. package/core-kit/models/buying-with-easyswapper-args.d.ts +0 -18
  71. package/core-kit/models/buying-with-native-asset-args.d.ts +0 -16
  72. package/core-kit/models/buying-with-pool-logic-args.d.ts +0 -14
  73. package/index-83c3afd8.cjs +0 -207
  74. package/trading-widget/components/deposit/settings/deposit-fee-switch/deposit-fee-switch.d.ts +0 -1
  75. package/trading-widget/components/deposit/settings/deposit-fee-switch/deposit-fee-switch.hooks.d.ts +0 -5
  76. package/trading-widget/components/deposit/settings/deposit-settings/deposit-settings.hooks.d.ts +0 -6
  77. /package/core-kit/hooks/trading/{deposit → deposit-v2}/use-deposit-allowance.d.ts +0 -0
  78. /package/core-kit/hooks/trading/{deposit → deposit-v2}/use-deposit.d.ts +0 -0
  79. /package/core-kit/hooks/trading/{deposit → deposit-v2}/use-handle-pool-deposit-data.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  import type { EstimationError } from 'core-kit/models';
2
2
  import type { PoolConfig, PoolFallbackData } from 'core-kit/types/config.types';
3
- import type { DepositMethodName, DynamicTradingToken, PendingTransaction, TokenSelectorPayload, TradingModalStatus, TradingPanelType, TradingToken, TransactionAction, UpdateTransactionsArguments } from 'core-kit/types/trading-panel.types';
3
+ import type { DynamicTradingToken, PendingTransaction, TokenSelectorPayload, TradingModalStatus, TradingPanelType, TradingToken, TransactionAction, UpdateTransactionsArguments } from 'core-kit/types/trading-panel.types';
4
+ import type { SwapDataRequest, SwapDataResponse } from 'core-kit/types/trading.types';
4
5
  import type { Address, ChainId, SimulateTransactionParams, SimulateTransactionResponse, WaitForTransactionReceiptReturnType } from 'core-kit/types/web3.types';
5
6
  export interface TradingPanelStateModal {
6
7
  isOpen: boolean;
@@ -23,7 +24,6 @@ export interface TradingPanelState {
23
24
  sendToken: DynamicTradingToken;
24
25
  receiveToken: DynamicTradingToken;
25
26
  };
26
- entryFee: Record<DepositMethodName, number>;
27
27
  meta: {
28
28
  approvingStatus?: 'pending' | 'success';
29
29
  };
@@ -36,26 +36,22 @@ export interface TradingPanelState {
36
36
  }
37
37
  export interface TradingPanelSetters {
38
38
  setPoolAddress: (payload: TradingPanelState['poolAddress']) => void;
39
- updatePoolConfigDepositMethod: (payload: Pick<PoolConfig, 'address'> & Pick<PoolConfig['depositParams'], 'method'>) => void;
40
39
  updateSendTokenInput: (payload: Partial<DynamicTradingToken>) => void;
41
40
  updateReceiveTokenInput: (payload: Partial<DynamicTradingToken>) => void;
42
41
  updateTradingSettings: (payload: Partial<TradingPanelState['settings']>) => void;
43
42
  setTradingType: (payload: TradingPanelState['type']) => void;
44
43
  updateTradingMeta: (payload: Partial<TradingPanelState['meta']>) => void;
45
- updateEntryFee: (payload: Partial<TradingPanelState['entryFee']>) => void;
46
44
  updateTradingModal: (payload: Partial<TradingPanelState['modal']>) => void;
47
45
  updateTransactions: (payload: UpdateTransactionsArguments) => void;
48
46
  updatePoolFallbackData: (payload: PoolFallbackData) => void;
49
47
  }
50
48
  export interface CallbackConfig {
51
49
  onSetPoolAddress: TradingPanelSetters['setPoolAddress'];
52
- onUpdatePoolConfigDepositMethod: TradingPanelSetters['updatePoolConfigDepositMethod'];
53
50
  onUpdateSendTokenInput: TradingPanelSetters['updateSendTokenInput'];
54
51
  onUpdateReceiveTokenInput: TradingPanelSetters['updateReceiveTokenInput'];
55
52
  onUpdateTradingSettings: TradingPanelSetters['updateTradingSettings'];
56
53
  onSetTradingType: TradingPanelSetters['setTradingType'];
57
54
  onUpdateTradingMeta: TradingPanelSetters['updateTradingMeta'];
58
- onUpdateEntryFee: TradingPanelSetters['updateEntryFee'];
59
55
  onUpdateTradingModal: TradingPanelSetters['updateTradingModal'];
60
56
  onUpdateTransactions: TradingPanelSetters['updateTransactions'];
61
57
  onTradingSettleError: (error: Error) => void;
@@ -65,6 +61,10 @@ export interface CallbackConfig {
65
61
  onTokenSelector: (payload: TokenSelectorPayload) => void;
66
62
  onLog: (eventName: string, payload?: Record<string, unknown>) => void;
67
63
  onSimulateTransaction: (params: SimulateTransactionParams) => Promise<SimulateTransactionResponse | null>;
64
+ getSwapData: (args: {
65
+ signal: AbortSignal;
66
+ variables: SwapDataRequest;
67
+ }) => Promise<SwapDataResponse | null>;
68
68
  }
69
69
  export type TradingPanelAction = {
70
70
  type: 'SET_POOL_ADDRESS';
@@ -72,9 +72,6 @@ export type TradingPanelAction = {
72
72
  } | {
73
73
  type: 'SET_TRADING_TYPE';
74
74
  payload: TradingPanelState['type'];
75
- } | {
76
- type: 'UPDATE_POOL_CONFIG_DEPOSIT_METHOD';
77
- payload: Pick<PoolConfig, 'address'> & Pick<PoolConfig['depositParams'], 'method'>;
78
75
  } | {
79
76
  type: 'UPDATE_SEND_TOKEN_INPUT';
80
77
  payload: Partial<DynamicTradingToken>;
@@ -87,9 +84,6 @@ export type TradingPanelAction = {
87
84
  } | {
88
85
  type: 'UPDATE_TRADING_META';
89
86
  payload: Partial<TradingPanelState['meta']>;
90
- } | {
91
- type: 'UPDATE_ENTRY_FEE';
92
- payload: Partial<TradingPanelState['entryFee']>;
93
87
  } | {
94
88
  type: 'UPDATE_TRADING_MODAL';
95
89
  payload: Partial<TradingPanelState['modal']>;
@@ -101,7 +95,7 @@ export type TradingPanelAction = {
101
95
  payload: PoolFallbackData;
102
96
  };
103
97
  export interface TradingPanelContextConfig {
104
- actions: Partial<CallbackConfig>;
98
+ actions: Partial<CallbackConfig> & Pick<CallbackConfig, 'getSwapData'>;
105
99
  initialState?: Partial<TradingPanelState>;
106
100
  }
107
101
  export type TradingPanelActionsState = TradingPanelSetters & {
@@ -112,4 +106,5 @@ export type TradingPanelActionsState = TradingPanelSetters & {
112
106
  onTokenSelector: CallbackConfig['onTokenSelector'] | undefined;
113
107
  onLog: CallbackConfig['onLog'] | undefined;
114
108
  onSimulateTransaction: CallbackConfig['onSimulateTransaction'] | undefined;
109
+ getSwapData: CallbackConfig['getSwapData'];
115
110
  };
@@ -32,7 +32,6 @@ type RemoveTransaction = {
32
32
  export type UpdateTransactionsArguments = AddTransaction | UpdateTransaction | RemoveTransaction;
33
33
  export type TradingPanelType = 'deposit' | 'withdraw';
34
34
  export type TransactionAction = 'deposit' | 'withdraw' | 'approve' | 'oraclesUpdate';
35
- export type DepositMethodName = 'deposit' | 'depositWithCustomCooldown';
36
35
  export type WithdrawMethodName = 'withdraw' | 'withdrawSUSD' | 'withdrawSafe';
37
36
  export type SwapEntity = 'token' | 'pool';
38
37
  export interface TokenSelectorPayload {
@@ -1,5 +1,5 @@
1
1
  import type { BigNumber } from 'bignumber.js';
2
- import type { BuyingWithEasyswapperArgs, BuyingWithNativeAssetArgs, BuyingWithPoolLogicArgs, DefaultSellingParams } from 'core-kit/models';
2
+ import type { DefaultSellingParams } from 'core-kit/models';
3
3
  import type { Address, ChainId } from 'core-kit/types/web3.types';
4
4
  export interface TradingParams {
5
5
  sendAssetAddress: Address;
@@ -17,5 +17,23 @@ export type ChainNativeTokenMap = {
17
17
  decimals: number;
18
18
  };
19
19
  };
20
- export type PoolDepositMethodName = 'deposit' | 'depositWithCustomCooldown';
21
- export type TxArgs = BuyingWithEasyswapperArgs | BuyingWithNativeAssetArgs | DefaultSellingParams | BuyingWithPoolLogicArgs;
20
+ export type TxArgs = DefaultSellingParams;
21
+ export interface SwapDataResponse {
22
+ destinationAmount: string;
23
+ txData: string;
24
+ routerKey: 'ONE_INCH' | 'ZERO_X' | 'PARASWAP' | 'ONE_INCH_V5';
25
+ }
26
+ export interface SwapDataRequest {
27
+ chainId: number;
28
+ sourceAddress: Address;
29
+ destinationAddress: Address;
30
+ walletAddress: Address;
31
+ fromAddress: Address;
32
+ amount: string;
33
+ slippage: string;
34
+ }
35
+ export interface VaultDepositParams {
36
+ depositMethod: DepositMethodName;
37
+ vaultDepositTokenAddress: Address;
38
+ }
39
+ export type DepositMethodName = 'deposit' | 'depositWithCustomCooldown' | 'nativeDeposit' | 'nativeDepositWithCustomCooldown' | 'zapNativeDeposit' | 'zapNativeDepositWithCustomCooldown' | 'zapDeposit' | 'zapDepositWithCustomCooldown';
@@ -1,3 +1,4 @@
1
+ import type { Address } from 'viem';
1
2
  import type { TxArgs } from 'core-kit/types/trading.types';
2
3
  export declare const calcMinReturnAmount: (txWithSlippageArgs: TxArgs, slippage: number) => string;
3
4
  export declare const getOrderedTxArgs: (txArgs: TxArgs, slippage: number) => string[];
@@ -10,3 +11,14 @@ export declare const logTransactionArguments: (txArgs: TxArgs) => void;
10
11
  * @returns {string} - The slippage tolerance.
11
12
  */
12
13
  export declare const getSlippageToleranceForWithdrawSafe: (slippage: number) => string;
14
+ export declare const buildZapDepositTransactionArguments: ({ vaultAddress, swapData, sendTokenAddress, sendTokenAmount, vaultDepositTokenAddress, minVaultTokensReceivedAmount, routerKey, swapDestinationAmount, swapSlippage, }: {
15
+ vaultAddress: Address;
16
+ swapData: string;
17
+ sendTokenAddress: Address;
18
+ sendTokenAmount: string;
19
+ vaultDepositTokenAddress: Address;
20
+ minVaultTokensReceivedAmount: string;
21
+ routerKey: string | undefined;
22
+ swapDestinationAmount: string;
23
+ swapSlippage: number;
24
+ }) => (string | (string | string[])[][])[];