@upshiftfinance/sdk 0.3.0 → 0.5.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/README.md +6 -2
- package/esm/index.d.mts +15 -0
- package/esm/index.mjs +18 -0
- package/lib/abis/KycRegistry.d.ts +109 -0
- package/lib/abis/KycRegistry.js +73 -0
- package/lib/abis/index.d.ts +1 -0
- package/lib/abis/index.js +1 -0
- package/lib/adapters/sui/actions.d.ts +420 -0
- package/lib/adapters/sui/actions.js +701 -0
- package/lib/adapters/sui/client.d.ts +3 -3
- package/lib/adapters/sui/client.js +27 -9
- package/lib/adapters/sui/getters.d.ts +268 -0
- package/lib/adapters/sui/getters.js +669 -0
- package/lib/adapters/sui/index.d.ts +243 -3
- package/lib/adapters/sui/index.js +250 -3
- package/lib/adapters/sui/targets.d.ts +42 -1
- package/lib/adapters/sui/targets.js +42 -1
- package/lib/core/analytics/method-taxonomy.d.ts +1 -1
- package/lib/core/analytics/method-taxonomy.js +9 -0
- package/lib/core/analytics/version.d.ts +1 -1
- package/lib/core/analytics/version.js +1 -1
- package/lib/core/constants/core.d.ts +5 -0
- package/lib/core/constants/core.js +5 -0
- package/lib/core/constants/kyc.d.ts +9 -0
- package/lib/core/constants/kyc.js +12 -0
- package/lib/core/constants/web3.d.ts +2 -2
- package/lib/core/constants/web3.js +9 -2
- package/lib/core/errors/index.d.ts +90 -1
- package/lib/core/errors/index.js +94 -1
- package/lib/core/fetcher.d.ts +5 -0
- package/lib/core/fetcher.js +1 -1
- package/lib/core/helpers/chain-support.d.ts +2 -2
- package/lib/core/helpers/chain-support.js +3 -3
- package/lib/core/helpers/kyc.d.ts +47 -0
- package/lib/core/helpers/kyc.js +111 -0
- package/lib/core/helpers/revert-decode.js +3 -2
- package/lib/core/index.d.ts +2 -0
- package/lib/core/index.js +2 -0
- package/lib/evm/methods/crossChainVault.js +25 -43
- package/lib/index.d.ts +4 -0
- package/lib/index.js +4 -0
- package/lib/main.d.ts +33 -3
- package/lib/main.js +32 -0
- package/lib/modules/api/kyc.d.ts +4 -0
- package/lib/modules/api/kyc.js +148 -0
- package/lib/modules/api/main.d.ts +63 -1
- package/lib/modules/api/main.js +64 -0
- package/lib/modules/vaults/getters.d.ts +3 -1
- package/lib/modules/vaults/getters.js +82 -10
- package/lib/modules/vaults/main.d.ts +41 -3
- package/lib/modules/vaults/main.js +82 -6
- package/lib/modules/vaults/types.d.ts +7 -1
- package/lib/modules/vaults/utils.js +4 -1
- package/lib/sdk.d.ts +16363 -14615
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +1 -0
- package/lib/types/kyc.d.ts +61 -0
- package/lib/types/kyc.js +3 -0
- package/lib/types/vaults.d.ts +2 -0
- package/lib/types/webserver.d.ts +5 -0
- package/package.json +21 -2
package/lib/types/index.d.ts
CHANGED
package/lib/types/index.js
CHANGED
|
@@ -25,4 +25,5 @@ __exportStar(require("./vaults"), exports);
|
|
|
25
25
|
__exportStar(require("./points"), exports);
|
|
26
26
|
__exportStar(require("./sub-accounts"), exports);
|
|
27
27
|
__exportStar(require("./api"), exports);
|
|
28
|
+
__exportStar(require("./kyc"), exports);
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { IAddress } from './web3';
|
|
2
|
+
/**
|
|
3
|
+
* A wallet's status in a chain's `KycRegistry`. `active` may deposit and
|
|
4
|
+
* withdraw, `expired` (lapsed or revoked) may only withdraw, `blocked` may do
|
|
5
|
+
* neither, and `none` has never been approved on that chain.
|
|
6
|
+
*/
|
|
7
|
+
export type IKycStatus = 'none' | 'active' | 'expired' | 'blocked';
|
|
8
|
+
/** A wallet's raw `KycRegistry` record. Timestamps are Unix seconds; `0` means never. */
|
|
9
|
+
export interface IKycRecord {
|
|
10
|
+
/** Set by a writer or the owner; only the owner clears it. */
|
|
11
|
+
blocked: boolean;
|
|
12
|
+
/** When KYC was verified. */
|
|
13
|
+
verifiedAt: number;
|
|
14
|
+
/** The record is `active` strictly before this time. */
|
|
15
|
+
expiresAt: number;
|
|
16
|
+
/** A record verified at or before this time reads `expired`. */
|
|
17
|
+
revokedAt: number;
|
|
18
|
+
}
|
|
19
|
+
/** Options for {@link getKycStatus} and {@link getKycRecord}. */
|
|
20
|
+
export interface IKycWalletOptions {
|
|
21
|
+
/** EVM chain ID whose `KycRegistry` to read. */
|
|
22
|
+
chainId: number;
|
|
23
|
+
/** The wallet to look up. */
|
|
24
|
+
wallet: IAddress;
|
|
25
|
+
/** RPC endpoint for `chainId`. */
|
|
26
|
+
rpcUrl: string;
|
|
27
|
+
}
|
|
28
|
+
/** A one-time SIWE challenge from `GET /kyc/challenge`. Valid for 600 s. */
|
|
29
|
+
export interface IKycChallenge {
|
|
30
|
+
/** The wallet that must sign `message`. */
|
|
31
|
+
wallet: IAddress;
|
|
32
|
+
/** EVM chain ID the challenge is bound to. */
|
|
33
|
+
chainId: number;
|
|
34
|
+
/** Single-use nonce. Never reuse it after a session call. */
|
|
35
|
+
nonce: string;
|
|
36
|
+
/** Unix seconds. Send back exactly as received. */
|
|
37
|
+
issuedAt: number;
|
|
38
|
+
/** Unix seconds. Send back exactly as received. */
|
|
39
|
+
expiry: number;
|
|
40
|
+
/** The EIP-4361 message to `personal_sign`, verbatim. */
|
|
41
|
+
message: string;
|
|
42
|
+
}
|
|
43
|
+
/** Options for {@link createKycSession}: a challenge plus its signature. */
|
|
44
|
+
export interface ICreateKycSessionOptions extends Omit<IKycChallenge, 'message'> {
|
|
45
|
+
/** `personal_sign` signature of the challenge `message`, `0x`-prefixed. */
|
|
46
|
+
signature: string;
|
|
47
|
+
}
|
|
48
|
+
/** The backend's verdict on a KYC identity. */
|
|
49
|
+
export type IKycIdentityStatus = 'pending' | 'approved' | 'rejected_retry' | 'rejected_final' | 'revoked' | 'blocked';
|
|
50
|
+
/** A KYC session from `POST /kyc/session`. */
|
|
51
|
+
export interface IKycSession {
|
|
52
|
+
/** Sumsub WebSDK access token. */
|
|
53
|
+
accessToken: string;
|
|
54
|
+
/** Refreshes `accessToken` without a new signature for 4 h. */
|
|
55
|
+
sessionToken: string;
|
|
56
|
+
/** Sumsub applicant ID. */
|
|
57
|
+
externalUserId: string;
|
|
58
|
+
/** Sumsub verification level. */
|
|
59
|
+
levelName: string;
|
|
60
|
+
identityStatus: IKycIdentityStatus;
|
|
61
|
+
}
|
package/lib/types/kyc.js
ADDED
package/lib/types/vaults.d.ts
CHANGED
|
@@ -361,6 +361,8 @@ export interface IVault {
|
|
|
361
361
|
isFeatured: boolean;
|
|
362
362
|
isSpotlighted?: boolean;
|
|
363
363
|
withdrawalOnly?: boolean;
|
|
364
|
+
/** Whether depositors must be `active` in the chain's `KycRegistry` (backend `requires_kyc`). */
|
|
365
|
+
requiresKyc?: boolean;
|
|
364
366
|
isVisible: boolean;
|
|
365
367
|
reserveTarget: number;
|
|
366
368
|
reserveTolerance: number;
|
package/lib/types/webserver.d.ts
CHANGED
|
@@ -614,6 +614,11 @@ export interface ITokenizedVault {
|
|
|
614
614
|
* absent as `false`.
|
|
615
615
|
*/
|
|
616
616
|
swaps_enabled?: boolean;
|
|
617
|
+
/**
|
|
618
|
+
* Whether depositors must be `active` in the chain's `KycRegistry`. Absent
|
|
619
|
+
* on API responses from before the flag existed; treat absent as `false`.
|
|
620
|
+
*/
|
|
621
|
+
requires_kyc?: boolean;
|
|
617
622
|
is_visible: boolean;
|
|
618
623
|
weekly_performance_fee_bps: number;
|
|
619
624
|
platform_fee_override: {
|
package/package.json
CHANGED
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@upshiftfinance/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"types": "lib/sdk.d.ts",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"import": {
|
|
9
|
+
"types": "./esm/index.d.mts",
|
|
10
|
+
"default": "./esm/index.mjs"
|
|
11
|
+
},
|
|
12
|
+
"require": {
|
|
13
|
+
"types": "./lib/sdk.d.ts",
|
|
14
|
+
"default": "./lib/index.js"
|
|
15
|
+
},
|
|
16
|
+
"default": "./lib/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./package.json": "./package.json",
|
|
19
|
+
"./lib/*.js": "./lib/*.js",
|
|
20
|
+
"./lib/*": "./lib/*.js"
|
|
21
|
+
},
|
|
6
22
|
"keywords": [
|
|
7
23
|
"upshift",
|
|
8
24
|
"sdk",
|
|
@@ -21,7 +37,9 @@
|
|
|
21
37
|
"files": [
|
|
22
38
|
"lib/**/*.js",
|
|
23
39
|
"lib/**/*.d.ts",
|
|
24
|
-
"lib/**/*.json"
|
|
40
|
+
"lib/**/*.json",
|
|
41
|
+
"esm/index.mjs",
|
|
42
|
+
"esm/index.d.mts"
|
|
25
43
|
],
|
|
26
44
|
"sideEffects": [
|
|
27
45
|
"./lib/polyfills.js"
|
|
@@ -71,6 +89,7 @@
|
|
|
71
89
|
"test:jest:coverage": "tsc && jest --config jest.config.unit.js --coverage",
|
|
72
90
|
"test:forknet": "node tests/forknet/run.mjs",
|
|
73
91
|
"test:solana-localnet": "node tests/solana-localnet/run.mjs",
|
|
92
|
+
"test:sui-localnet": "node tests/sui-localnet/run.mjs",
|
|
74
93
|
"test:solana-idl": "jest --config jest.config.idl-drift.js",
|
|
75
94
|
"clean": "rm -rf ./lib",
|
|
76
95
|
"format": "biome check --write .",
|