Compare commits

...
Author SHA1 Message Date
Bill He 5b2b042a0a Fix auto-deposit 2023-10-20 14:31:58 -07:00
4 changed files with 11 additions and 16 deletions
+1 -1
View File
@@ -38,7 +38,7 @@
"@cosmjs/proto-signing": "^0.31.0", "@cosmjs/proto-signing": "^0.31.0",
"@cosmjs/stargate": "^0.31.0", "@cosmjs/stargate": "^0.31.0",
"@cosmjs/tendermint-rpc": "^0.31.0", "@cosmjs/tendermint-rpc": "^0.31.0",
"@dydxprotocol/v4-abacus": "^0.7.2", "@dydxprotocol/v4-abacus": "^0.7.6",
"@dydxprotocol/v4-client-js": "^0.40.3", "@dydxprotocol/v4-client-js": "^0.40.3",
"@dydxprotocol/v4-localization": "^0.1.30", "@dydxprotocol/v4-localization": "^0.1.30",
"@ethersproject/providers": "^5.7.2", "@ethersproject/providers": "^5.7.2",
+4 -4
View File
@@ -27,8 +27,8 @@ dependencies:
specifier: ^0.31.0 specifier: ^0.31.0
version: 0.31.0 version: 0.31.0
'@dydxprotocol/v4-abacus': '@dydxprotocol/v4-abacus':
specifier: ^0.7.2 specifier: ^0.7.6
version: 0.7.2 version: 0.7.6
'@dydxprotocol/v4-client-js': '@dydxprotocol/v4-client-js':
specifier: ^0.40.3 specifier: ^0.40.3
version: 0.40.3 version: 0.40.3
@@ -979,8 +979,8 @@ packages:
resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==} resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==}
dev: true dev: true
/@dydxprotocol/v4-abacus@0.7.2: /@dydxprotocol/v4-abacus@0.7.6:
resolution: {integrity: sha512-5foamomN82FH6ko3EuzwFlSoAEY6Sal8fDgvZo2RsB19Ks6SFgFDeeOcEDdfoa3DNwvl8yW0C9cfxeQ+BfU8uA==} resolution: {integrity: sha512-FdDXRaFMfxhyrJJs0dNrb1KG6X95lPHelua1yCn/SVgzwGaAqlJczrzmdh98INntuRAgIxOu69R5mCGyekumyg==}
dev: false dev: false
/@dydxprotocol/v4-client-js@0.40.3: /@dydxprotocol/v4-client-js@0.40.3:
+1 -1
View File
@@ -44,4 +44,4 @@ export type EvmDerivedAddresses = {
}; };
}; };
export const AMOUNT_RESERVED_FOR_GAS_USDC = 100_000; export const AMOUNT_RESERVED_FOR_GAS_USDC = 0.1;
+5 -10
View File
@@ -74,13 +74,12 @@ export const useSubaccountContext = ({ localDydxWallet }: { localDydxWallet?: Lo
() => ({ () => ({
depositToSubaccount: async ({ depositToSubaccount: async ({
subaccountClient, subaccountClient,
assetId = 0,
amount, amount,
}: { }: {
subaccountClient: SubaccountClient; subaccountClient: SubaccountClient;
assetId?: number; assetId?: number;
amount: Long; amount: number;
}) => await compositeClient?.validatorClient.post.deposit(subaccountClient, assetId, amount), }) => await compositeClient?.depositToSubaccount(subaccountClient, amount.toString()),
withdrawFromSubaccount: async ({ withdrawFromSubaccount: async ({
subaccountClient, subaccountClient,
@@ -201,13 +200,9 @@ export const useSubaccountContext = ({ localDydxWallet }: { localDydxWallet?: Lo
async (balance: AccountBalance) => { async (balance: AccountBalance) => {
if (!localDydxWallet) return; if (!localDydxWallet) return;
const amountAfterDust = MustBigNumber(balance.amount) const amount = parseFloat(balance.amount) - AMOUNT_RESERVED_FOR_GAS_USDC;
.minus(AMOUNT_RESERVED_FOR_GAS_USDC) // keep 0.1 USDC in user's wallet for gas
.toString();
const amount = Long.fromString(amountAfterDust || '0'); if (amount > 0) {
if (amount.greaterThan(Long.ZERO)) {
const subaccountClient = new SubaccountClient(localDydxWallet, 0); const subaccountClient = new SubaccountClient(localDydxWallet, 0);
await depositToSubaccount({ amount, subaccountClient }); await depositToSubaccount({ amount, subaccountClient });
} }
@@ -225,7 +220,7 @@ export const useSubaccountContext = ({ localDydxWallet }: { localDydxWallet?: Lo
}, [usdcCoinBalance]); }, [usdcCoinBalance]);
const deposit = useCallback( const deposit = useCallback(
async (amount: Long) => { async (amount: number) => {
if (!subaccountClient) { if (!subaccountClient) {
return; return;
} }