@veridex/sdk 1.0.1 → 1.1.1
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/auth/prepareAuth.js +107 -32
- package/dist/auth/prepareAuth.js.map +1 -1
- package/dist/auth/prepareAuth.mjs +6 -6
- package/dist/auth/prepareAuth.mjs.map +1 -1
- package/dist/chains/aptos/index.js.map +1 -1
- package/dist/chains/aptos/index.mjs +3 -3
- package/dist/chains/avalanche/index.js.map +1 -1
- package/dist/chains/avalanche/index.mjs +4 -4
- package/dist/chains/evm/index.d.mts +2 -2
- package/dist/chains/evm/index.js.map +1 -1
- package/dist/chains/evm/index.mjs +3 -3
- package/dist/chains/solana/index.js.map +1 -1
- package/dist/chains/solana/index.mjs +3 -3
- package/dist/chains/stacks/index.d.mts +1 -1
- package/dist/chains/stacks/index.js.map +1 -1
- package/dist/chains/stacks/index.mjs +3 -3
- package/dist/chains/starknet/index.d.mts +2 -3
- package/dist/chains/starknet/index.js +1 -13
- package/dist/chains/starknet/index.js.map +1 -1
- package/dist/chains/starknet/index.mjs +3 -3
- package/dist/chains/sui/index.d.mts +3 -3
- package/dist/chains/sui/index.js +2 -2
- package/dist/chains/sui/index.js.map +1 -1
- package/dist/chains/sui/index.mjs +3 -3
- package/dist/{chunk-Q5O3M5LP.mjs → chunk-2TS375ET.mjs} +2 -2
- package/dist/{chunk-QT4ZZ4GM.mjs → chunk-5FDOTI5G.mjs} +2 -2
- package/dist/{chunk-5T6KPH7A.mjs → chunk-CSU4IV2F.mjs} +2 -2
- package/dist/{chunk-YCUJZ6Z7.mjs → chunk-CTYDGO6E.mjs} +63 -6
- package/dist/chunk-CTYDGO6E.mjs.map +1 -0
- package/dist/{chunk-PRHNGA4G.mjs → chunk-E3SU36C2.mjs} +4 -4
- package/dist/{chunk-PRHNGA4G.mjs.map → chunk-E3SU36C2.mjs.map} +1 -1
- package/dist/{chunk-NUWSMJFJ.mjs → chunk-EFIXFA6V.mjs} +2 -2
- package/dist/{chunk-EFIURACP.mjs → chunk-GM5DKEHD.mjs} +3 -15
- package/dist/chunk-GM5DKEHD.mjs.map +1 -0
- package/dist/{chunk-GWJRKDSA.mjs → chunk-GOWXQPTW.mjs} +3 -3
- package/dist/{chunk-OVMMTL6H.mjs → chunk-ICGB3AHI.mjs} +2 -2
- package/dist/{chunk-QDO6NQ7P.mjs → chunk-M3GUNREX.mjs} +20 -3
- package/dist/{chunk-QDO6NQ7P.mjs.map → chunk-M3GUNREX.mjs.map} +1 -1
- package/dist/{chunk-N4A2RMUN.mjs → chunk-PEGOXMBU.mjs} +2 -2
- package/dist/{chunk-X7BZMSPQ.mjs → chunk-RD6ZYUVG.mjs} +52 -30
- package/dist/chunk-RD6ZYUVG.mjs.map +1 -0
- package/dist/{chunk-F3YAGZSW.mjs → chunk-TPEP6XUA.mjs} +2 -2
- package/dist/{chunk-M3MM4YMF.mjs → chunk-UPO55SBK.mjs} +2 -2
- package/dist/{chunk-USDA5JTN.mjs → chunk-YBN2VC6E.mjs} +2 -2
- package/dist/{chunk-PDHZ5X5O.mjs → chunk-YYT3V7CI.mjs} +2 -2
- package/dist/constants.d.mts +2 -2
- package/dist/constants.js +51 -29
- package/dist/constants.js.map +1 -1
- package/dist/constants.mjs +1 -1
- package/dist/{index-DDalBhAm.d.mts → index-CySMITQ9.d.mts} +9 -6
- package/dist/index.d.mts +44 -13
- package/dist/index.js +466 -162
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +345 -127
- package/dist/index.mjs.map +1 -1
- package/dist/passkey.js +57 -4
- package/dist/passkey.js.map +1 -1
- package/dist/passkey.mjs +3 -3
- package/dist/payload.js.map +1 -1
- package/dist/payload.mjs +2 -2
- package/dist/portfolio-JA4OTF7Y.mjs +13 -0
- package/dist/queries/index.js +49 -27
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/index.mjs +5 -5
- package/dist/{types-B7V5VNbO.d.mts → types-DWx-5jmz.d.mts} +12 -3
- package/dist/utils.js +49 -27
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +2 -2
- package/dist/wormhole.js.map +1 -1
- package/dist/wormhole.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-EFIURACP.mjs.map +0 -1
- package/dist/chunk-X7BZMSPQ.mjs.map +0 -1
- package/dist/chunk-YCUJZ6Z7.mjs.map +0 -1
- package/dist/portfolio-V347KZOL.mjs +0 -13
- /package/dist/{chunk-Q5O3M5LP.mjs.map → chunk-2TS375ET.mjs.map} +0 -0
- /package/dist/{chunk-QT4ZZ4GM.mjs.map → chunk-5FDOTI5G.mjs.map} +0 -0
- /package/dist/{chunk-5T6KPH7A.mjs.map → chunk-CSU4IV2F.mjs.map} +0 -0
- /package/dist/{chunk-NUWSMJFJ.mjs.map → chunk-EFIXFA6V.mjs.map} +0 -0
- /package/dist/{chunk-GWJRKDSA.mjs.map → chunk-GOWXQPTW.mjs.map} +0 -0
- /package/dist/{chunk-OVMMTL6H.mjs.map → chunk-ICGB3AHI.mjs.map} +0 -0
- /package/dist/{chunk-N4A2RMUN.mjs.map → chunk-PEGOXMBU.mjs.map} +0 -0
- /package/dist/{chunk-F3YAGZSW.mjs.map → chunk-TPEP6XUA.mjs.map} +0 -0
- /package/dist/{chunk-M3MM4YMF.mjs.map → chunk-UPO55SBK.mjs.map} +0 -0
- /package/dist/{chunk-USDA5JTN.mjs.map → chunk-YBN2VC6E.mjs.map} +0 -0
- /package/dist/{chunk-PDHZ5X5O.mjs.map → chunk-YYT3V7CI.mjs.map} +0 -0
- /package/dist/{portfolio-V347KZOL.mjs.map → portfolio-JA4OTF7Y.mjs.map} +0 -0
package/dist/auth/prepareAuth.js
CHANGED
|
@@ -52,13 +52,12 @@ var TESTNET_CHAINS = {
|
|
|
52
52
|
chainId: 84532,
|
|
53
53
|
wormholeChainId: 10004,
|
|
54
54
|
rpcUrl: "https://sepolia.base.org",
|
|
55
|
-
// Public CORS-friendly RPC
|
|
56
55
|
explorerUrl: "https://sepolia.basescan.org",
|
|
57
56
|
isEvm: true,
|
|
58
57
|
contracts: {
|
|
59
|
-
hub: "
|
|
60
|
-
vaultFactory: "
|
|
61
|
-
vaultImplementation: "
|
|
58
|
+
hub: "0xD5D29b6EaeE6FF4b765e704298a7e48D22607059",
|
|
59
|
+
vaultFactory: "0xb25b73D5FeD5693dcd1Bb78f8e33387B59A022EC",
|
|
60
|
+
vaultImplementation: "0x2CB8397df988c1880d9e5cFfF65bfC22D7D90EE6",
|
|
62
61
|
wormholeCoreBridge: "0x79A1027a6A159502049F10906D333EC57E95F083",
|
|
63
62
|
tokenBridge: "0x86F55A04690fd7815A3D802bD587e83eA888B239"
|
|
64
63
|
}
|
|
@@ -71,8 +70,8 @@ var TESTNET_CHAINS = {
|
|
|
71
70
|
explorerUrl: "https://sepolia.etherscan.io",
|
|
72
71
|
isEvm: true,
|
|
73
72
|
contracts: {
|
|
74
|
-
vaultFactory: "
|
|
75
|
-
vaultImplementation: "
|
|
73
|
+
vaultFactory: "0x265c10763B4d16AD970bC3d7670c645e37f63AF4",
|
|
74
|
+
vaultImplementation: "0x942426C94652ebC48f4f404928016B95ADb1DA25",
|
|
76
75
|
wormholeCoreBridge: "0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78",
|
|
77
76
|
tokenBridge: "0xDB5492265f6038831E89f495670FF909aDe94bd9"
|
|
78
77
|
}
|
|
@@ -85,8 +84,8 @@ var TESTNET_CHAINS = {
|
|
|
85
84
|
explorerUrl: "https://sepolia-optimism.etherscan.io",
|
|
86
85
|
isEvm: true,
|
|
87
86
|
contracts: {
|
|
88
|
-
vaultFactory: "
|
|
89
|
-
vaultImplementation: "
|
|
87
|
+
vaultFactory: "0x3c5e4aCdC8Cd53ae5ae603B4c511885191fBb868",
|
|
88
|
+
vaultImplementation: "0xA45dBF322c5A3028687fEEB161603d3BCe02e119",
|
|
90
89
|
wormholeCoreBridge: "0x31377888146f3253211EFEf5c676D41ECe7D58Fe",
|
|
91
90
|
tokenBridge: "0x99737Ec4B815d816c49A385943baf0380e75c0Ac"
|
|
92
91
|
}
|
|
@@ -99,24 +98,52 @@ var TESTNET_CHAINS = {
|
|
|
99
98
|
explorerUrl: "https://sepolia.arbiscan.io",
|
|
100
99
|
isEvm: true,
|
|
101
100
|
contracts: {
|
|
102
|
-
vaultFactory: "
|
|
103
|
-
vaultImplementation: "
|
|
101
|
+
vaultFactory: "0xB9C3e6bad3c6f26956be4a4bb5a366376Fd3045D",
|
|
102
|
+
vaultImplementation: "0x8601881b94B68B09b485f407317686103d3CB681",
|
|
104
103
|
wormholeCoreBridge: "0x6b9C8671cdDC8dEab9c719bB87cBd3e782bA6a35",
|
|
105
104
|
tokenBridge: "0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"
|
|
106
105
|
}
|
|
107
106
|
},
|
|
108
|
-
|
|
109
|
-
name: "
|
|
110
|
-
chainId:
|
|
111
|
-
wormholeChainId:
|
|
112
|
-
rpcUrl: "https://
|
|
113
|
-
explorerUrl: "https://
|
|
107
|
+
monadTestnet: {
|
|
108
|
+
name: "Monad Testnet",
|
|
109
|
+
chainId: 10143,
|
|
110
|
+
wormholeChainId: 10048,
|
|
111
|
+
rpcUrl: "https://testnet-rpc.monad.xyz",
|
|
112
|
+
explorerUrl: "https://testnet.monadexplorer.com",
|
|
113
|
+
isEvm: true,
|
|
114
|
+
contracts: {
|
|
115
|
+
vaultFactory: "0xbE9B9c39956448DA75Ac97E5e3dE17e34171660A",
|
|
116
|
+
vaultImplementation: "0x500853DCc54Fd1A707ec9d443032Bb7748f426d3",
|
|
117
|
+
wormholeCoreBridge: "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd",
|
|
118
|
+
tokenBridge: "0x0000000000000000000000000000000000000000"
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
avalancheFuji: {
|
|
122
|
+
name: "Avalanche Fuji",
|
|
123
|
+
chainId: 43113,
|
|
124
|
+
wormholeChainId: 6,
|
|
125
|
+
rpcUrl: "https://api.avax-test.network/ext/bc/C/rpc",
|
|
126
|
+
explorerUrl: "https://testnet.snowtrace.io",
|
|
127
|
+
isEvm: true,
|
|
128
|
+
contracts: {
|
|
129
|
+
vaultFactory: "0x50F2c37584823A6cc293bd0d7647D558d05CA4C1",
|
|
130
|
+
vaultImplementation: "0x53d4D3943d0E524836f0B1955AbB216449F538fF",
|
|
131
|
+
wormholeCoreBridge: "0x7bbcE28e64B3F8b84d876Ab298393c38ad7aac4C",
|
|
132
|
+
tokenBridge: "0x61E44E506Ca5659E6c0bba9b678586fA2d729756"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
polygonAmoy: {
|
|
136
|
+
name: "Polygon Amoy",
|
|
137
|
+
chainId: 80002,
|
|
138
|
+
wormholeChainId: 10007,
|
|
139
|
+
rpcUrl: "https://rpc-amoy.polygon.technology",
|
|
140
|
+
explorerUrl: "https://amoy.polygonscan.com",
|
|
114
141
|
isEvm: true,
|
|
115
142
|
contracts: {
|
|
116
143
|
vaultFactory: "0x07F608AFf6d63b68029488b726d895c4Bb593038",
|
|
117
144
|
vaultImplementation: "0xD66153fccFB6731fB6c4944FbD607ba86A76a1f6",
|
|
118
|
-
wormholeCoreBridge: "
|
|
119
|
-
|
|
145
|
+
wormholeCoreBridge: "0x6b9C8671cdDC8dEab9c719bB87cBd3e782bA6a35",
|
|
146
|
+
tokenBridge: "0xC7A204bDBFe983FCD8d8E61D02b475D4073fF97e"
|
|
120
147
|
}
|
|
121
148
|
},
|
|
122
149
|
solanaDevnet: {
|
|
@@ -153,26 +180,21 @@ var TESTNET_CHAINS = {
|
|
|
153
180
|
explorerUrl: "https://suiscan.xyz/testnet",
|
|
154
181
|
isEvm: false,
|
|
155
182
|
contracts: {
|
|
156
|
-
hub: "
|
|
183
|
+
hub: "0x1f8f9b79561525275c2de4579a1e5243cfe789656ec666485b7737f4784c1bfc",
|
|
157
184
|
wormholeCoreBridge: "0x31358d198147da50db32eda2562951d53973a0c0ad5ed738e9b17d88b213d790"
|
|
158
185
|
}
|
|
159
186
|
},
|
|
160
187
|
starknetSepolia: {
|
|
161
188
|
name: "Starknet Sepolia",
|
|
162
189
|
chainId: 0,
|
|
163
|
-
// Native Starknet chain ID (SN_SEPOLIA = 0x534e5f5345504f4c4941)
|
|
164
190
|
wormholeChainId: 50001,
|
|
165
|
-
|
|
166
|
-
rpcUrl: "https://starknet-sepolia.g.alchemy.com/starknet/version/rpc/v0_7/tsOnfTBZDKMXcUA26OED-",
|
|
191
|
+
rpcUrl: "https://starknet-sepolia-rpc.publicnode.com",
|
|
167
192
|
explorerUrl: "https://sepolia.starkscan.co",
|
|
168
193
|
isEvm: false,
|
|
169
194
|
contracts: {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
// Custom bridge contract (NOT Wormhole)
|
|
173
|
-
wormholeCoreBridge: "0x700488242f8f03248b2311edddc394f0408a18c36181446eabd265067809c83"
|
|
195
|
+
hub: "0x1c87ca930ad46a5fef167f2d03d6df5b1dd6cdb841955c059edabb0566ff2d6",
|
|
196
|
+
wormholeCoreBridge: "0x30280c19d413eef7515c479186f206498c7f5077e30cb7277ce753d35adab00"
|
|
174
197
|
},
|
|
175
|
-
// Hub chain ID that Starknet bridge validates (Base Sepolia = 10004)
|
|
176
198
|
hubChainId: 10004
|
|
177
199
|
}
|
|
178
200
|
};
|
|
@@ -338,6 +360,59 @@ function computeKeyHash(publicKeyX, publicKeyY) {
|
|
|
338
360
|
);
|
|
339
361
|
}
|
|
340
362
|
|
|
363
|
+
// src/core/relayerUrl.ts
|
|
364
|
+
var API_ROOT = "/api/v1";
|
|
365
|
+
function trimTrailingSlashes(value) {
|
|
366
|
+
return value.trim().replace(/\/+$/, "");
|
|
367
|
+
}
|
|
368
|
+
function normalizeRelayerOrigin(value) {
|
|
369
|
+
const trimmed = trimTrailingSlashes(value);
|
|
370
|
+
if (!trimmed) {
|
|
371
|
+
return "";
|
|
372
|
+
}
|
|
373
|
+
if (trimmed.startsWith("/")) {
|
|
374
|
+
return trimmed.replace(/\/api\/v1$/i, "");
|
|
375
|
+
}
|
|
376
|
+
try {
|
|
377
|
+
const url = new URL(trimmed);
|
|
378
|
+
url.pathname = url.pathname.replace(/\/api\/v1$/i, "").replace(/\/+$/, "");
|
|
379
|
+
return url.toString().replace(/\/+$/, "");
|
|
380
|
+
} catch {
|
|
381
|
+
return trimmed.replace(/\/api\/v1$/i, "");
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
function buildRelayerApiUrl(baseUrl, path) {
|
|
385
|
+
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
|
|
386
|
+
const trimmed = trimTrailingSlashes(baseUrl);
|
|
387
|
+
if (!trimmed) {
|
|
388
|
+
return `${API_ROOT}${normalizedPath}`;
|
|
389
|
+
}
|
|
390
|
+
if (trimmed.startsWith("/")) {
|
|
391
|
+
if (/\/api\/v1$/i.test(trimmed) || /\/api\/auth\/relay$/i.test(trimmed)) {
|
|
392
|
+
return `${trimmed}${normalizedPath}`;
|
|
393
|
+
}
|
|
394
|
+
return `${trimmed}${normalizedPath}`;
|
|
395
|
+
}
|
|
396
|
+
try {
|
|
397
|
+
const url = new URL(trimmed);
|
|
398
|
+
if (/\/api\/v1$/i.test(url.pathname) || /\/api\/auth\/relay$/i.test(url.pathname)) {
|
|
399
|
+
url.pathname = `${url.pathname.replace(/\/+$/, "")}${normalizedPath}`;
|
|
400
|
+
return url.toString();
|
|
401
|
+
}
|
|
402
|
+
if (!url.pathname || url.pathname === "/") {
|
|
403
|
+
url.pathname = `${API_ROOT}${normalizedPath}`;
|
|
404
|
+
return url.toString();
|
|
405
|
+
}
|
|
406
|
+
url.pathname = `${url.pathname.replace(/\/+$/, "")}${normalizedPath}`;
|
|
407
|
+
return url.toString();
|
|
408
|
+
} catch {
|
|
409
|
+
if (/\/api\/v1$/i.test(trimmed) || /\/api\/auth\/relay$/i.test(trimmed)) {
|
|
410
|
+
return `${trimmed}${normalizedPath}`;
|
|
411
|
+
}
|
|
412
|
+
return `${trimmed}${API_ROOT}${normalizedPath}`;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
|
|
341
416
|
// src/core/PasskeyManager.ts
|
|
342
417
|
var VERIDEX_RP_ID = "veridex.network";
|
|
343
418
|
function detectRpId(forceLocal) {
|
|
@@ -365,7 +440,7 @@ var PasskeyManager = class _PasskeyManager {
|
|
|
365
440
|
timeout: config.timeout ?? 6e4,
|
|
366
441
|
userVerification: config.userVerification ?? "required",
|
|
367
442
|
authenticatorAttachment: config.authenticatorAttachment ?? "platform",
|
|
368
|
-
relayerUrl: config.relayerUrl ?? ""
|
|
443
|
+
relayerUrl: normalizeRelayerOrigin(config.relayerUrl ?? "")
|
|
369
444
|
};
|
|
370
445
|
}
|
|
371
446
|
static isSupported() {
|
|
@@ -636,7 +711,7 @@ var PasskeyManager = class _PasskeyManager {
|
|
|
636
711
|
return false;
|
|
637
712
|
}
|
|
638
713
|
try {
|
|
639
|
-
const response = await fetch(
|
|
714
|
+
const response = await fetch(buildRelayerApiUrl(this.config.relayerUrl, "/credential"), {
|
|
640
715
|
method: "POST",
|
|
641
716
|
headers: { "Content-Type": "application/json" },
|
|
642
717
|
body: JSON.stringify({
|
|
@@ -668,7 +743,7 @@ var PasskeyManager = class _PasskeyManager {
|
|
|
668
743
|
}
|
|
669
744
|
try {
|
|
670
745
|
const response = await fetch(
|
|
671
|
-
|
|
746
|
+
buildRelayerApiUrl(this.config.relayerUrl, `/credential/by-id/${encodeURIComponent(credentialId)}`)
|
|
672
747
|
);
|
|
673
748
|
if (!response.ok) {
|
|
674
749
|
return null;
|
|
@@ -707,7 +782,7 @@ var PasskeyManager = class _PasskeyManager {
|
|
|
707
782
|
}
|
|
708
783
|
try {
|
|
709
784
|
const response = await fetch(
|
|
710
|
-
|
|
785
|
+
buildRelayerApiUrl(this.config.relayerUrl, `/credential/${encodeURIComponent(keyHash)}`)
|
|
711
786
|
);
|
|
712
787
|
if (!response.ok) {
|
|
713
788
|
return null;
|
|
@@ -2168,7 +2243,7 @@ var CHAIN_PRESETS = {
|
|
|
2168
2243
|
chainId: 0,
|
|
2169
2244
|
wormholeChainId: 50001,
|
|
2170
2245
|
// Custom bridge (non-Wormhole)
|
|
2171
|
-
rpcUrl: "https://starknet-sepolia.
|
|
2246
|
+
rpcUrl: "https://starknet-sepolia-rpc.publicnode.com",
|
|
2172
2247
|
explorerUrl: "https://sepolia.starkscan.co",
|
|
2173
2248
|
isEvm: false,
|
|
2174
2249
|
contracts: {
|