Skip to content

Commit

Permalink
feat: bump abacus + error message overrides (#812)
Browse files Browse the repository at this point in the history
  • Loading branch information
yogurtandjam authored Jul 16, 2024
1 parent 273d2f0 commit 83c8167
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 8 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"@cosmjs/proto-signing": "^0.32.1",
"@cosmjs/stargate": "^0.32.1",
"@cosmjs/tendermint-rpc": "^0.32.1",
"@dydxprotocol/v4-abacus": "1.8.40",
"@dydxprotocol/v4-abacus": "1.8.41",
"@dydxprotocol/v4-client-js": "^1.1.27",
"@dydxprotocol/v4-localization": "^1.1.152",
"@ethersproject/providers": "^5.7.2",
Expand Down
8 changes: 4 additions & 4 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 22 additions & 0 deletions src/lib/errors.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { log } from './telemetry';

/**
* Error thrown if StatefulOrder includes an error code in it's response.
*/
Expand All @@ -13,3 +15,23 @@ export class StatefulOrderError extends Error {
this.code = response.code;
}
}

type RouteErrorCodes = 5;

const routeErrorCodesToMessageOverride = {
5: 'This route is not yet supported, please check back soon as we are adding new routes.',
};

export const getRouteErrorMessageOverride = (
routeErrors: string,
routeErrorMessage: string | null | undefined
) => {
try {
const routeErrorsObj = JSON.parse(routeErrors);
const routeErrorCode = routeErrorsObj?.[0]?.code as RouteErrorCodes;
return routeErrorCodesToMessageOverride[routeErrorCode] ?? routeErrorMessage;
} catch (err) {
log('getRouteErrorMessageOverride', err);
return routeErrorMessage;
}
};
12 changes: 9 additions & 3 deletions src/views/forms/AccountManagementForms/WithdrawForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ import { getSelectedLocale } from '@/state/localizationSelectors';
import abacusStateManager from '@/lib/abacus';
import { validateCosmosAddress } from '@/lib/addressUtils';
import { track } from '@/lib/analytics';
import { getRouteErrorMessageOverride } from '@/lib/errors';
import { MustBigNumber } from '@/lib/numbers';
import { getNobleChainId } from '@/lib/squid';
import { log } from '@/lib/telemetry';
Expand Down Expand Up @@ -403,20 +404,25 @@ export const WithdrawForm = () => {
};

if (routeErrors) {
const routeErrorMessageOverride = getRouteErrorMessageOverride(
routeErrors,
routeErrorMessage
);

track(
AnalyticsEvents.RouteError({
transferType: TransferType.withdrawal.name,
errorMessage: routeErrorMessage ?? undefined,
errorMessage: routeErrorMessageOverride ?? undefined,
amount: debouncedAmount,
chainId: chainIdStr ?? undefined,
assetId: toToken?.toString(),
})
);
return {
errorMessage: routeErrorMessage
errorMessage: routeErrorMessageOverride
? stringGetter({
key: STRING_KEYS.SOMETHING_WENT_WRONG_WITH_MESSAGE,
params: { ERROR_MESSAGE: routeErrorMessage },
params: { ERROR_MESSAGE: routeErrorMessageOverride },
})
: stringGetter({ key: STRING_KEYS.SOMETHING_WENT_WRONG }),
};
Expand Down

0 comments on commit 83c8167

Please sign in to comment.