From d4c149af1219107e8282a65e0e2856d50c937e6d Mon Sep 17 00:00:00 2001 From: Jared Vu Date: Tue, 5 Sep 2023 06:56:12 -1000 Subject: [PATCH] Conditional limit validation (#17) * abacus 0.4.3 * Add new strings, bump abacus, fix order validation error * Use STRING_KEYS as ORDER_ERRORS_MAP valu * remove unused import --- package.json | 2 +- pnpm-lock.yaml | 16 ++++++++-------- src/constants/localization.ts | 26 +++++++++++++------------- src/hooks/useSubaccount.tsx | 3 ++- 4 files changed, 24 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index 409aeb5..7401bd0 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@cosmjs/proto-signing": "^0.31.0", "@cosmjs/stargate": "^0.31.0", "@cosmjs/tendermint-rpc": "^0.31.0", - "@dydxprotocol/abacus": "^0.4.1", + "@dydxprotocol/abacus": "^0.4.6", "@dydxprotocol/v4-client-js": "^0.32.0", "@dydxprotocol/v4-localization": "^0.0.25", "@ethersproject/providers": "^5.7.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 981983b..402b489 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5 +1,9 @@ lockfileVersion: '6.0' +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + dependencies: '@0xsquid/sdk': specifier: ^1.7.2 @@ -23,8 +27,8 @@ dependencies: specifier: ^0.31.0 version: 0.31.0 '@dydxprotocol/abacus': - specifier: ^0.4.1 - version: 0.4.1 + specifier: ^0.4.6 + version: 0.4.6 '@dydxprotocol/v4-client-js': specifier: ^0.32.0 version: 0.32.0 @@ -1142,8 +1146,8 @@ packages: resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==} dev: true - /@dydxprotocol/abacus@0.4.1: - resolution: {integrity: sha512-+2uKbTYBM6h7e3L8OX6gYwbqfIPtzwWUz4Onw6UCk7oD966Znwoky/PQmVDGjIcxw0BGWJUfHmF3Qd3t973tLQ==} + /@dydxprotocol/abacus@0.4.6: + resolution: {integrity: sha512-nvF9B1JuWzsnrPtQ/mKo06XWuqFc9fy6TEFcFwlIGGbxKortod7fSDj9sEZGKGdRyIj5wvl7H/Rgh+dlywO+aQ==} dev: false /@dydxprotocol/dydxjs@0.3.0: @@ -15858,7 +15862,3 @@ packages: release-it: 15.11.0 semver: 7.5.1 dev: false - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false diff --git a/src/constants/localization.ts b/src/constants/localization.ts index cd01414..108d374 100644 --- a/src/constants/localization.ts +++ b/src/constants/localization.ts @@ -88,17 +88,17 @@ export type TooltipStrings = { }; export const ORDER_ERROR_CODE_MAP: { [key: number]: string } = { - 2000: '2000_FILL_OR_KILL_ORDER_COULD_NOT_BE_FULLY_FILLED', - 2001: '2001_REDUCE_ONLY_WOULD_INCREASE_POSITION_SIZE', - 2002: '2002_REDUCE_ONLY_WOULD_CHANGE_POSITION_SIDE', - 2003: '2003_POST_ONLY_WOULD_CROSS_MAKER_ORDER', - 3000: '3000_INVALID_ORDER_FLAGS', - 3001: '3001_INVALID_STATEFUL_ORDER_GOOD_TIL_BLOCK_TIME', - 3002: '3002_STATEFUL_ORDERS_CANNOT_REQUIRE_IMMEDIATE_EXECUTION', - 3003: '3003_TIME_EXCEEDS_GOOD_TIL_BLOCK_TIME', - 3004: '3004_GOOD_TIL_BLOCK_TIME_EXCEEDS_STATEFUL_ORDER_TIME_WINDOW', - 3005: '3005_STATEFUL_ORDER_ALREADY_EXISTS', - 3006: '3006_STATEFUL_ORDER_DOES_NOT_EXIST', - 3007: '3007_STATEFUL_ORDER_COLLATERALIZATION_CHECK_FAILED', - 3008: '3008_STATEFUL_ORDER_PREVIOUSLY_CANCELLED', + 2000: STRING_KEYS['2000_FILL_OR_KILL_ORDER_COULD_NOT_BE_FULLY_FILLED'], + 2001: STRING_KEYS['2001_REDUCE_ONLY_WOULD_INCREASE_POSITION_SIZE'], + 2002: STRING_KEYS['2002_REDUCE_ONLY_WOULD_CHANGE_POSITION_SIDE'], + 2003: STRING_KEYS['2003_POST_ONLY_WOULD_CROSS_MAKER_ORDER'], + 3000: STRING_KEYS['3000_INVALID_ORDER_FLAGS'], + 3001: STRING_KEYS['3001_INVALID_STATEFUL_ORDER_GOOD_TIL_BLOCK_TIME'], + 3002: STRING_KEYS['3002_STATEFUL_ORDERS_CANNOT_REQUIRE_IMMEDIATE_EXECUTION'], + 3003: STRING_KEYS['3003_TIME_EXCEEDS_GOOD_TIL_BLOCK_TIME'], + 3004: STRING_KEYS['3004_GOOD_TIL_BLOCK_TIME_EXCEEDS_STATEFUL_ORDER_TIME_WINDOW'], + 3005: STRING_KEYS['3005_STATEFUL_ORDER_ALREADY_EXISTS'], + 3006: STRING_KEYS['3006_STATEFUL_ORDER_DOES_NOT_EXIST'], + 3007: STRING_KEYS['3007_STATEFUL_ORDER_COLLATERALIZATION_CHECK_FAILED'], + 3008: STRING_KEYS['3008_STATEFUL_ORDER_PREVIOUSLY_CANCELLED'], }; diff --git a/src/hooks/useSubaccount.tsx b/src/hooks/useSubaccount.tsx index 30dca37..64321dd 100644 --- a/src/hooks/useSubaccount.tsx +++ b/src/hooks/useSubaccount.tsx @@ -551,7 +551,8 @@ export const useSubaccountContext = ({ localDydxWallet }: { localDydxWallet?: Lo } as HumanReadablePlaceOrderPayload & { isClosePosition: boolean }); onSuccess?.(); } catch (error) { - const errorStringKey = error?.code && ORDER_ERROR_CODE_MAP[error.code as number]; + const errorCode: number | undefined = error?.code; + const errorStringKey = errorCode ? ORDER_ERROR_CODE_MAP[errorCode] : undefined; onError?.({ errorStringKey }); log('useSubaccount/placeOrder', error, {