@lifi/perps-sdk-provider-ondo 20.1.0 → 20.2.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.
- package/dist/cjs/OndoProvider.d.ts.map +1 -1
- package/dist/cjs/OndoProvider.js +30 -0
- package/dist/cjs/OndoProvider.js.map +1 -1
- package/dist/cjs/accountConfig.d.ts.map +1 -1
- package/dist/cjs/accountConfig.js +1 -0
- package/dist/cjs/accountConfig.js.map +1 -1
- package/dist/cjs/auth/signActions.d.ts +1 -1
- package/dist/cjs/auth/signActions.d.ts.map +1 -1
- package/dist/cjs/auth/signActions.js +32 -5
- package/dist/cjs/auth/signActions.js.map +1 -1
- package/dist/cjs/constants.d.ts +1 -0
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +2 -1
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/types/wire.d.ts +8 -0
- package/dist/cjs/types/wire.d.ts.map +1 -1
- package/dist/cjs/utils/apiClient.js +3 -3
- package/dist/cjs/utils/apiClient.js.map +1 -1
- package/dist/cjs/utils/ondoErrorCode.d.ts +5 -1
- package/dist/cjs/utils/ondoErrorCode.d.ts.map +1 -1
- package/dist/cjs/utils/ondoErrorCode.js +48 -6
- package/dist/cjs/utils/ondoErrorCode.js.map +1 -1
- package/dist/esm/OndoProvider.d.ts.map +1 -1
- package/dist/esm/OndoProvider.js +32 -0
- package/dist/esm/OndoProvider.js.map +1 -1
- package/dist/esm/accountConfig.d.ts.map +1 -1
- package/dist/esm/accountConfig.js +1 -0
- package/dist/esm/accountConfig.js.map +1 -1
- package/dist/esm/auth/signActions.d.ts +1 -1
- package/dist/esm/auth/signActions.d.ts.map +1 -1
- package/dist/esm/auth/signActions.js +39 -7
- package/dist/esm/auth/signActions.js.map +1 -1
- package/dist/esm/constants.d.ts +6 -0
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/constants.js +6 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/types/wire.d.ts +14 -0
- package/dist/esm/types/wire.d.ts.map +1 -1
- package/dist/esm/utils/apiClient.js +4 -4
- package/dist/esm/utils/apiClient.js.map +1 -1
- package/dist/esm/utils/ondoErrorCode.d.ts +11 -3
- package/dist/esm/utils/ondoErrorCode.d.ts.map +1 -1
- package/dist/esm/utils/ondoErrorCode.js +48 -6
- package/dist/esm/utils/ondoErrorCode.js.map +1 -1
- package/dist/types/OndoProvider.d.ts.map +1 -1
- package/dist/types/accountConfig.d.ts.map +1 -1
- package/dist/types/auth/signActions.d.ts +1 -1
- package/dist/types/auth/signActions.d.ts.map +1 -1
- package/dist/types/constants.d.ts +6 -0
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/types/wire.d.ts +14 -0
- package/dist/types/types/wire.d.ts.map +1 -1
- package/dist/types/utils/ondoErrorCode.d.ts +11 -3
- package/dist/types/utils/ondoErrorCode.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/OndoProvider.ts +54 -1
- package/src/accountConfig.ts +1 -0
- package/src/auth/signActions.ts +61 -10
- package/src/constants.ts +7 -0
- package/src/types/wire.ts +16 -0
- package/src/utils/apiClient.ts +5 -5
- package/src/utils/ondoErrorCode.ts +62 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/types/wire.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/types/wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { PerpsErrorCode } from '@lifi/perps-types';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* The classification of an Ondo envelope `error_code`. `message` replaces the
|
|
4
|
+
* venue's own text when that text does not tell the caller what to do.
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
6
|
+
export interface OndoBodyError {
|
|
7
|
+
code: PerpsErrorCode;
|
|
8
|
+
message?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Classifies an Ondo envelope `error_code`. Returns `undefined` for every other
|
|
12
|
+
* code so the status-driven layer decides.
|
|
13
|
+
*/
|
|
14
|
+
export declare const ondoErrorFromBody: (errorCode: string | undefined) => OndoBodyError | undefined;
|
|
7
15
|
//# sourceMappingURL=ondoErrorCode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ondoErrorCode.d.ts","sourceRoot":"","sources":["../../../src/utils/ondoErrorCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"ondoErrorCode.d.ts","sourceRoot":"","sources":["../../../src/utils/ondoErrorCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAqDD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,MAAM,GAAG,SAAS,KAC5B,aAAa,GAAG,SACoD,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-sdk-provider-ondo",
|
|
3
|
-
"version": "20.
|
|
3
|
+
"version": "20.2.0",
|
|
4
4
|
"description": "Ondo Perps provider plugin for @lifi/perps-sdk",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"big.js": "^7.0.1",
|
|
46
46
|
"viem": "^2.55.18",
|
|
47
|
-
"@lifi/perps-types": "^16.
|
|
47
|
+
"@lifi/perps-types": "^16.2.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@lifi/perps-sdk": "^18.
|
|
50
|
+
"@lifi/perps-sdk": "^18.1.0"
|
|
51
51
|
},
|
|
52
52
|
"publishConfig": {
|
|
53
53
|
"access": "public"
|
package/src/OndoProvider.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ACTIVE_ORDER_STATUSES,
|
|
3
|
+
type ActionSignerContribution,
|
|
3
4
|
createWarnOnce,
|
|
4
5
|
type DepositFlow,
|
|
5
6
|
ETHEREUM_USDC,
|
|
@@ -22,6 +23,7 @@ import {
|
|
|
22
23
|
type ProviderGetPositionsParams,
|
|
23
24
|
type ProviderGetQuoteParams,
|
|
24
25
|
type ProviderGetWithdrawableBalancesParams,
|
|
26
|
+
type ProviderGetWithdrawFlowParams,
|
|
25
27
|
type ProviderWithdrawableBalance,
|
|
26
28
|
paginateActivity,
|
|
27
29
|
resolveQuote,
|
|
@@ -32,6 +34,7 @@ import {
|
|
|
32
34
|
toAssetDisplay,
|
|
33
35
|
toMarketDisplay,
|
|
34
36
|
toPerpsMarketDisplay,
|
|
37
|
+
type WithdrawFlow,
|
|
35
38
|
} from '@lifi/perps-sdk'
|
|
36
39
|
import type {
|
|
37
40
|
AccountConfig,
|
|
@@ -63,7 +66,7 @@ import type {
|
|
|
63
66
|
} from '@lifi/perps-types'
|
|
64
67
|
import { ActionType, ActivityType, PerpsErrorCode } from '@lifi/perps-types'
|
|
65
68
|
import type Big from 'big.js'
|
|
66
|
-
import type
|
|
69
|
+
import { type Address, getAddress } from 'viem'
|
|
67
70
|
import { projectOndoConfigSettings } from './accountConfig.js'
|
|
68
71
|
import { getAccountSummary } from './accountSummary.js'
|
|
69
72
|
import { OndoApiKeyStore } from './auth/OndoApiKeyStore.js'
|
|
@@ -80,6 +83,7 @@ import type { OndoAuthToken } from './types/auth.js'
|
|
|
80
83
|
import type {
|
|
81
84
|
OndoAccountInfo,
|
|
82
85
|
OndoAccountReferral,
|
|
86
|
+
OndoAddressBookResult,
|
|
83
87
|
OndoBalanceSummary,
|
|
84
88
|
OndoFill,
|
|
85
89
|
OndoFundingFeeTransfer,
|
|
@@ -562,6 +566,39 @@ export const ondoProvider = (
|
|
|
562
566
|
)
|
|
563
567
|
},
|
|
564
568
|
|
|
569
|
+
async getWithdrawFlow(
|
|
570
|
+
params: ProviderGetWithdrawFlowParams,
|
|
571
|
+
opts?: SDKRequestOptions
|
|
572
|
+
): Promise<WithdrawFlow> {
|
|
573
|
+
// Ondo sends a withdrawal only to an address-book entry, and the SDK
|
|
574
|
+
// offers one destination: the login address.
|
|
575
|
+
return withSession<WithdrawFlow>(
|
|
576
|
+
params.address,
|
|
577
|
+
() => ({
|
|
578
|
+
kind: 'setupRequired',
|
|
579
|
+
setup: [ActionType.SIWE_LOGIN, ActionType.ADD_WITHDRAWAL_ADDRESS],
|
|
580
|
+
}),
|
|
581
|
+
async (token) => {
|
|
582
|
+
const { addressBook } = await apiClient(
|
|
583
|
+
opts
|
|
584
|
+
).get<OndoAddressBookResult>('/v1/wallet/address_book', {
|
|
585
|
+
authToken: token.token,
|
|
586
|
+
})
|
|
587
|
+
const loginAddress = params.address.toLowerCase()
|
|
588
|
+
const listed = (addressBook ?? []).some(
|
|
589
|
+
(entry) => entry.withdrawalAddress.toLowerCase() === loginAddress
|
|
590
|
+
)
|
|
591
|
+
if (!listed) {
|
|
592
|
+
return {
|
|
593
|
+
kind: 'setupRequired',
|
|
594
|
+
setup: [ActionType.ADD_WITHDRAWAL_ADDRESS],
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
return { kind: 'ready', destination: getAddress(params.address) }
|
|
598
|
+
}
|
|
599
|
+
)
|
|
600
|
+
},
|
|
601
|
+
|
|
565
602
|
async getPositions(
|
|
566
603
|
params: ProviderGetPositionsParams,
|
|
567
604
|
opts?: SDKRequestOptions
|
|
@@ -1055,6 +1092,22 @@ export const ondoProvider = (
|
|
|
1055
1092
|
return projectOndoConfigSettings(config, setup, configOptions)
|
|
1056
1093
|
},
|
|
1057
1094
|
|
|
1095
|
+
async resolveActionRequest(
|
|
1096
|
+
action: ActionType,
|
|
1097
|
+
address: Address
|
|
1098
|
+
): Promise<ActionSignerContribution> {
|
|
1099
|
+
if (action !== ActionType.WITHDRAWAL) {
|
|
1100
|
+
return {}
|
|
1101
|
+
}
|
|
1102
|
+
const token = await tokenStore.get(address)
|
|
1103
|
+
if (token === null) {
|
|
1104
|
+
throw new OndoSessionExpiredError(
|
|
1105
|
+
`No valid Ondo session token stored for ${address}. Run the SIWE login first.`
|
|
1106
|
+
)
|
|
1107
|
+
}
|
|
1108
|
+
return { params: { accountId: token.accountId } }
|
|
1109
|
+
},
|
|
1110
|
+
|
|
1058
1111
|
async signActions(
|
|
1059
1112
|
method: SigningMethod,
|
|
1060
1113
|
steps: ActionStep[],
|
package/src/accountConfig.ts
CHANGED
|
@@ -94,6 +94,7 @@ function projectOndoDescriptor(
|
|
|
94
94
|
case ActionType.META_ACCEPT_TERMS:
|
|
95
95
|
case ActionType.META_ONBOARD:
|
|
96
96
|
case ActionType.META_CREATE_REFERRAL_CODE:
|
|
97
|
+
case ActionType.ADD_WITHDRAWAL_ADDRESS:
|
|
97
98
|
case ActionType.SYNC_FEE_ATTRIBUTION:
|
|
98
99
|
throw new PerpsError(
|
|
99
100
|
PerpsErrorCode.SDKError,
|
package/src/auth/signActions.ts
CHANGED
|
@@ -8,12 +8,13 @@ import type {
|
|
|
8
8
|
SiweActionStep,
|
|
9
9
|
} from '@lifi/perps-types'
|
|
10
10
|
import { ActionType, PerpsErrorCode, SigningMethod } from '@lifi/perps-types'
|
|
11
|
-
import type
|
|
11
|
+
import { type Address, getAddress } from 'viem'
|
|
12
12
|
import {
|
|
13
13
|
ONDO_API_KEY_NAME,
|
|
14
14
|
ONDO_API_KEY_SCOPES,
|
|
15
15
|
ONDO_PRIVACY_VERSION,
|
|
16
16
|
ONDO_TERMS_VERSION,
|
|
17
|
+
ONDO_WITHDRAWAL_ADDRESS_LABEL,
|
|
17
18
|
} from '../constants.js'
|
|
18
19
|
import type { OndoApiKey } from '../types/auth.js'
|
|
19
20
|
import type { OndoApiKeyInfo, OndoCreatedApiKey } from '../types/wire.js'
|
|
@@ -26,7 +27,10 @@ import {
|
|
|
26
27
|
buildOndoProvisionPayload,
|
|
27
28
|
listOndoDepositAddress,
|
|
28
29
|
} from '../utils/depositAddress.js'
|
|
29
|
-
import {
|
|
30
|
+
import {
|
|
31
|
+
completeSiweLogin,
|
|
32
|
+
type OndoSiweChallenge,
|
|
33
|
+
} from './completeSiweLogin.js'
|
|
30
34
|
import { hmacSignRequest } from './hmac.js'
|
|
31
35
|
import { isOndoApiKey, type OndoApiKeyStore } from './OndoApiKeyStore.js'
|
|
32
36
|
import type { OndoTokenStore } from './OndoTokenStore.js'
|
|
@@ -45,6 +49,18 @@ const isSiweStep = (step: ActionStep): step is SiweActionStep => 'siwe' in step
|
|
|
45
49
|
const isSessionStep = (step: ActionStep): step is SessionActionStep =>
|
|
46
50
|
'session' in step
|
|
47
51
|
|
|
52
|
+
const requireUserWallet = (ctx: SignActionsContext | undefined) => {
|
|
53
|
+
const userWallet = ctx?.userWallet
|
|
54
|
+
if (userWallet === undefined) {
|
|
55
|
+
throw new PerpsError(
|
|
56
|
+
PerpsErrorCode.SDKError,
|
|
57
|
+
'Ondo SIWE login requires the user wallet. Pass `userWallet` when ' +
|
|
58
|
+
'creating the perps client.'
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
return userWallet
|
|
62
|
+
}
|
|
63
|
+
|
|
48
64
|
const hasRequest = (
|
|
49
65
|
step: ActionStep
|
|
50
66
|
): step is Extract<ActionStep, { request: unknown }> => 'request' in step
|
|
@@ -139,6 +155,45 @@ async function ensureApiKey(
|
|
|
139
155
|
return apiKey
|
|
140
156
|
}
|
|
141
157
|
|
|
158
|
+
/**
|
|
159
|
+
* Add the login address to the Ondo address book, the only withdrawal
|
|
160
|
+
* destination the SDK offers. Ondo requires a wallet signature over its own
|
|
161
|
+
* challenge for each new entry.
|
|
162
|
+
*/
|
|
163
|
+
async function addWithdrawalAddress(
|
|
164
|
+
deps: OndoSignActionsDeps,
|
|
165
|
+
address: Address,
|
|
166
|
+
ctx: SignActionsContext | undefined
|
|
167
|
+
): Promise<void> {
|
|
168
|
+
const token = await deps.tokenStore.get(address)
|
|
169
|
+
if (token === null) {
|
|
170
|
+
throw new OndoSessionExpiredError(
|
|
171
|
+
`No valid Ondo session token stored for ${address}. Run the SIWE login first.`
|
|
172
|
+
)
|
|
173
|
+
}
|
|
174
|
+
const userWallet = requireUserWallet(ctx)
|
|
175
|
+
const withdrawalAddress = getAddress(address)
|
|
176
|
+
const challenge = await deps.client.post<OndoSiweChallenge>(
|
|
177
|
+
'/v1/auth/erc-4361/address_book/get_challenge',
|
|
178
|
+
{ walletAddress: withdrawalAddress, chainId: '1', withdrawalAddress },
|
|
179
|
+
{ authToken: token.token }
|
|
180
|
+
)
|
|
181
|
+
const signature = await userWallet.signMessage({
|
|
182
|
+
account: userWallet.account,
|
|
183
|
+
message: challenge.message,
|
|
184
|
+
})
|
|
185
|
+
await deps.client.post(
|
|
186
|
+
'/v1/auth/erc-4361/address_book/complete_challenge',
|
|
187
|
+
{
|
|
188
|
+
id: challenge.id,
|
|
189
|
+
signature,
|
|
190
|
+
withdrawalAddress,
|
|
191
|
+
addressLabel: ONDO_WITHDRAWAL_ADDRESS_LABEL,
|
|
192
|
+
},
|
|
193
|
+
{ authToken: token.token }
|
|
194
|
+
)
|
|
195
|
+
}
|
|
196
|
+
|
|
142
197
|
/**
|
|
143
198
|
* Execute a backend-authored session request directly against the venue with
|
|
144
199
|
* the stored session JWT. The pre-serialized wire body is parsed back to an
|
|
@@ -191,14 +246,7 @@ export async function ondoSignActions(
|
|
|
191
246
|
): Promise<SignedActionStep[]> {
|
|
192
247
|
switch (method) {
|
|
193
248
|
case SigningMethod.SIWE: {
|
|
194
|
-
const userWallet = ctx
|
|
195
|
-
if (userWallet === undefined) {
|
|
196
|
-
throw new PerpsError(
|
|
197
|
-
PerpsErrorCode.SDKError,
|
|
198
|
-
'Ondo SIWE login requires the user wallet. Pass `userWallet` when ' +
|
|
199
|
-
'creating the perps client.'
|
|
200
|
-
)
|
|
201
|
-
}
|
|
249
|
+
const userWallet = requireUserWallet(ctx)
|
|
202
250
|
for (const step of steps) {
|
|
203
251
|
if (!isSiweStep(step)) {
|
|
204
252
|
throw new PerpsError(
|
|
@@ -303,6 +351,9 @@ export async function ondoSignActions(
|
|
|
303
351
|
case ActionType.REGISTER_API_KEY:
|
|
304
352
|
await ensureApiKey(deps, address)
|
|
305
353
|
break
|
|
354
|
+
case ActionType.ADD_WITHDRAWAL_ADDRESS:
|
|
355
|
+
await addWithdrawalAddress(deps, address, ctx)
|
|
356
|
+
break
|
|
306
357
|
default:
|
|
307
358
|
throw new PerpsError(
|
|
308
359
|
PerpsErrorCode.SDKError,
|
package/src/constants.ts
CHANGED
|
@@ -64,3 +64,10 @@ export const ONDO_TERMS_VERSION = 1
|
|
|
64
64
|
* @public
|
|
65
65
|
*/
|
|
66
66
|
export const ONDO_PRIVACY_VERSION = 1
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Label Ondo shows on the address book entry the SDK adds for withdrawals.
|
|
70
|
+
*
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
export const ONDO_WITHDRAWAL_ADDRESS_LABEL = 'LI.FI'
|
package/src/types/wire.ts
CHANGED
|
@@ -337,6 +337,22 @@ export interface OndoWalletWithdrawal {
|
|
|
337
337
|
from?: OndoAccountWalletKey
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
+
/** Mirrors Ondo's `AddressBookEntry` (one `GET /v1/wallet/address_book` row). @public */
|
|
341
|
+
export interface OndoAddressBookEntry {
|
|
342
|
+
withdrawalAddress: string
|
|
343
|
+
label: string
|
|
344
|
+
lastUpdated: string
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Mirrors Ondo's `AddressBookResult`. The venue sends `null` for an empty
|
|
349
|
+
* address book.
|
|
350
|
+
* @public
|
|
351
|
+
*/
|
|
352
|
+
export interface OndoAddressBookResult {
|
|
353
|
+
addressBook: OndoAddressBookEntry[] | null
|
|
354
|
+
}
|
|
355
|
+
|
|
340
356
|
/**
|
|
341
357
|
* One side of an Ondo value movement: an account id plus which of that
|
|
342
358
|
* account's two wallets held the value.
|
package/src/utils/apiClient.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import { PerpsErrorCode } from '@lifi/perps-types'
|
|
9
9
|
import type { OndoGenericResponse } from '../types/auth.js'
|
|
10
10
|
import type { OndoPageInfo } from '../types/wire.js'
|
|
11
|
-
import {
|
|
11
|
+
import { ondoErrorFromBody } from './ondoErrorCode.js'
|
|
12
12
|
|
|
13
13
|
/** @internal */
|
|
14
14
|
export type ApiParams = Record<string, string | number | boolean>
|
|
@@ -246,12 +246,12 @@ export class OndoApiClient {
|
|
|
246
246
|
)
|
|
247
247
|
}
|
|
248
248
|
if (isGenericResponse(data) && !data.success) {
|
|
249
|
-
const
|
|
250
|
-
if (
|
|
249
|
+
const bodyError = ondoErrorFromBody(data.error_code)
|
|
250
|
+
if (bodyError !== undefined) {
|
|
251
251
|
throw new OndoApiError(
|
|
252
|
-
`Ondo API error for ${path}: ${data.error_code} — ${data.error ?? 'no error message'}`,
|
|
252
|
+
`Ondo API error for ${path}: ${data.error_code} — ${bodyError.message ?? data.error ?? 'no error message'}`,
|
|
253
253
|
data.error_code,
|
|
254
|
-
|
|
254
|
+
bodyError.code
|
|
255
255
|
)
|
|
256
256
|
}
|
|
257
257
|
}
|
|
@@ -1,16 +1,70 @@
|
|
|
1
1
|
import { PerpsErrorCode } from '@lifi/perps-types'
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* The classification of an Ondo envelope `error_code`. `message` replaces the
|
|
5
|
+
* venue's own text when that text does not tell the caller what to do.
|
|
6
|
+
*/
|
|
7
|
+
export interface OndoBodyError {
|
|
8
|
+
code: PerpsErrorCode
|
|
9
|
+
message?: string
|
|
10
|
+
}
|
|
11
|
+
|
|
3
12
|
/** Ondo envelope `error_code` values that name a rejection a `PerpsErrorCode` describes. */
|
|
4
|
-
const
|
|
5
|
-
['insufficient_margin', PerpsErrorCode.InsufficientMargin],
|
|
6
|
-
['clientOrderID_collision', PerpsErrorCode.NonceAlreadyUsed],
|
|
13
|
+
const ONDO_BODY_ERRORS: ReadonlyMap<string, OndoBodyError> = new Map([
|
|
14
|
+
['insufficient_margin', { code: PerpsErrorCode.InsufficientMargin }],
|
|
15
|
+
['clientOrderID_collision', { code: PerpsErrorCode.NonceAlreadyUsed }],
|
|
16
|
+
[
|
|
17
|
+
'bad_label',
|
|
18
|
+
{
|
|
19
|
+
code: PerpsErrorCode.ValidationError,
|
|
20
|
+
message: 'Ondo rejected the withdrawal address label.',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
'empty_label',
|
|
25
|
+
{
|
|
26
|
+
code: PerpsErrorCode.ValidationError,
|
|
27
|
+
message: 'Ondo requires a withdrawal address label.',
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
[
|
|
31
|
+
'bad_withdrawal_address',
|
|
32
|
+
{
|
|
33
|
+
code: PerpsErrorCode.ValidationError,
|
|
34
|
+
message: 'Ondo rejected the withdrawal address as not valid.',
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
[
|
|
38
|
+
'internal_withdrawal_address',
|
|
39
|
+
{
|
|
40
|
+
code: PerpsErrorCode.ValidationError,
|
|
41
|
+
message:
|
|
42
|
+
'Ondo does not accept an Ondo deposit address as a withdrawal address.',
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
'challenge_not_found',
|
|
47
|
+
{
|
|
48
|
+
code: PerpsErrorCode.NonceExpired,
|
|
49
|
+
message:
|
|
50
|
+
'The Ondo address book challenge is unknown or expired. Request a new challenge.',
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
[
|
|
54
|
+
'withdrawal_address_not_found',
|
|
55
|
+
{
|
|
56
|
+
code: PerpsErrorCode.SetupRequired,
|
|
57
|
+
message:
|
|
58
|
+
'The withdrawal destination is not in the Ondo address book. Add the withdrawal address first.',
|
|
59
|
+
},
|
|
60
|
+
],
|
|
7
61
|
])
|
|
8
62
|
|
|
9
63
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
64
|
+
* Classifies an Ondo envelope `error_code`. Returns `undefined` for every other
|
|
65
|
+
* code so the status-driven layer decides.
|
|
12
66
|
*/
|
|
13
|
-
export const
|
|
67
|
+
export const ondoErrorFromBody = (
|
|
14
68
|
errorCode: string | undefined
|
|
15
|
-
):
|
|
16
|
-
errorCode === undefined ? undefined :
|
|
69
|
+
): OndoBodyError | undefined =>
|
|
70
|
+
errorCode === undefined ? undefined : ONDO_BODY_ERRORS.get(errorCode)
|