@credenza3/partner-sdk 1.0.2 → 1.0.4
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/index.js +34 -14
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +31 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +23 -20
package/dist/index.js
CHANGED
|
@@ -51,8 +51,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
// src/index.ts
|
|
54
|
-
var
|
|
55
|
-
__export(
|
|
54
|
+
var index_exports = {};
|
|
55
|
+
__export(index_exports, {
|
|
56
56
|
accounts: () => accounts_exports,
|
|
57
57
|
api: () => api_exports,
|
|
58
58
|
evm: () => evm_exports,
|
|
@@ -61,7 +61,7 @@ __export(src_exports, {
|
|
|
61
61
|
useDebug: () => useDebug,
|
|
62
62
|
useEnv: () => useEnv
|
|
63
63
|
});
|
|
64
|
-
module.exports = __toCommonJS(
|
|
64
|
+
module.exports = __toCommonJS(index_exports);
|
|
65
65
|
|
|
66
66
|
// src/lib/credentials/credentials.ts
|
|
67
67
|
var import_buffer = require("buffer");
|
|
@@ -338,20 +338,40 @@ __export(api_exports, {
|
|
|
338
338
|
|
|
339
339
|
// src/lib/ws/ws.ts
|
|
340
340
|
var import_socket = require("socket.io-client");
|
|
341
|
+
var socketPromises = /* @__PURE__ */ new Map();
|
|
342
|
+
function disconnectWs(url = null) {
|
|
343
|
+
return __async(this, null, function* () {
|
|
344
|
+
const socketUrls = url ? [url] : Array.from(socketPromises.keys());
|
|
345
|
+
for (const url2 of socketUrls) {
|
|
346
|
+
if (!socketPromises.has(url2)) continue;
|
|
347
|
+
const { socket: socket3 } = yield socketPromises.get(url2);
|
|
348
|
+
socket3 == null ? void 0 : socket3.disconnect();
|
|
349
|
+
socketPromises.delete(url2);
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
}
|
|
341
353
|
function connectToWs(url) {
|
|
342
354
|
return __async(this, null, function* () {
|
|
343
355
|
const credentials2 = getCredentials();
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
356
|
+
if (!socketPromises.has(url)) {
|
|
357
|
+
const promise = new Promise((resolve, reject) => {
|
|
358
|
+
const socket4 = (0, import_socket.io)(url, {
|
|
359
|
+
auth: {
|
|
360
|
+
client_id: credentials2.clientId,
|
|
361
|
+
client_secret: credentials2.clientSecret
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
socket4.once("connect_error", (err) => reject(err));
|
|
365
|
+
socket4.once("connect", () => resolve({ socket: socket4, auth: credentials2 }));
|
|
366
|
+
setTimeout(() => reject(new Error("Cannot connect to websocket server")), 5e3);
|
|
367
|
+
});
|
|
368
|
+
socketPromises.set(url, promise);
|
|
369
|
+
}
|
|
370
|
+
const { socket: socket3, auth } = yield socketPromises.get(url);
|
|
371
|
+
if (!(socket3 == null ? void 0 : socket3.connected) || auth.clientId !== credentials2.clientId || auth.clientSecret !== credentials2.clientSecret) {
|
|
372
|
+
yield disconnectWs(url);
|
|
373
|
+
return connectToWs(url);
|
|
374
|
+
}
|
|
355
375
|
return socket3;
|
|
356
376
|
});
|
|
357
377
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/lib/credentials/credentials.ts","../src/lib/sdk-env/sdk-env.constants.ts","../src/lib/sdk-env/sdk-env.ts","../src/lib/logging/logging.ts","../src/accounts/index.ts","../src/accounts/accounts.ts","../src/accounts/user/index.ts","../src/lib/obj/obj.ts","../src/accounts/user/user.ts","../src/accounts/client/index.ts","../src/accounts/client/client.ts","../src/accounts/client/jwt-auth/index.ts","../src/accounts/client/jwt-auth/jwt-auth.ts","../src/accounts/oauth/index.ts","../src/accounts/oauth/oauth.ts","../src/api/index.ts","../src/lib/ws/ws.ts","../src/api/api.ts","../src/api/nfc-id/index.ts","../src/api/nfc-id/nfc-id.ts","../src/api/passport-id/index.ts","../src/api/passport-id/passport-id.ts","../src/api/promo/index.ts","../src/api/promo/rules/index.ts","../src/api/promo/rules/rules.ts","../src/api/promo/offers/index.ts","../src/api/promo/offers/offers.ts","../src/api/file/index.ts","../src/api/file/file.ts","../src/evm/index.ts","../src/evm/evm.ts","../src/evm/account/index.ts","../src/evm/account/account.ts","../src/evm/contract/index.ts","../src/evm/contract/contract.ts","../src/sui/index.ts","../src/sui/sui.ts","../src/sui/account/index.ts","../src/sui/account/account.ts","../src/sui/zk/index.ts","../src/sui/zk/account/index.ts","../src/sui/zk/account/account.ts","../src/credenza-partner-sdk.ts"],"sourcesContent":["export * from './credenza-partner-sdk'\n","import { Buffer } from 'buffer'\n\nimport { TCredentials } from './credentials.types'\n\nlet credentials: TCredentials = null\n\nexport function setCredentials(credentialsInput: TCredentials): void {\n if (!credentialsInput.clientId) throw new Error('\"clientId\" is required')\n if (!credentialsInput.clientSecret) throw new Error('\"clientSecret\" is required')\n credentials = credentialsInput\n}\n\nexport function getCredentials(): TCredentials {\n if (!credentials?.clientId || !credentials?.clientSecret) throw new Error('Credentials are not set')\n return credentials\n}\n\nexport function getBasicToken(): string {\n const { clientId, clientSecret } = getCredentials()\n const basicCredentials = `${clientId}:${clientSecret}`\n return `Basic ${Buffer.from(basicCredentials).toString('base64')}`\n}\n","export const SDK_ENV = {\n PROD: 'prod',\n STAGING: 'staging',\n LOCAL: 'local',\n} as const\n","import { SDK_ENV } from './sdk-env.constants'\nimport { TSdkEnv } from './sdk-env.types'\n\nlet sdkEnv: TSdkEnv = SDK_ENV.PROD\nexport function getSdkEnv(): TSdkEnv {\n return sdkEnv\n}\n\nexport function setSdkEnv(sdkEnvironment: TSdkEnv): void {\n sdkEnv = sdkEnvironment\n}\n","let debugEnabled = false\n\nexport function log(methodName: string, ...args: unknown[]) {\n if (!debugEnabled) return\n console.log(`[CREDENZA_PARTNER_SDK#${methodName}]:`, ...args)\n}\n\nexport function enableSdkDebug(enableDebug: boolean) {\n debugEnabled = enableDebug\n}\n","export * from './accounts'\nexport * as user from './user'\nexport * as client from './client'\nexport * as oauth from './oauth'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\n\nexport function getOAuthApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://accounts.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://accounts.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8081'\n }\n}\n","export * from './user'\n","export function toCamelCase(obj: unknown): unknown {\n if (Array.isArray(obj)) {\n return obj.map(toCamelCase)\n } else if (obj !== null && typeof obj === 'object') {\n return Object.keys(obj).reduce((acc, key) => {\n const camelKey = key.replace(/^_id$/, 'id').replace(/_([a-z])/g, (_, letter) => letter.toUpperCase())\n acc[camelKey] = toCamelCase(obj[key])\n return acc\n }, {})\n }\n return obj\n}\n\nexport function toSnakeCase(obj: unknown): unknown {\n if (Array.isArray(obj)) {\n return obj.map(toSnakeCase)\n } else if (obj !== null && typeof obj === 'object') {\n return Object.keys(obj).reduce((acc, key) => {\n const snakeKey = key.replace(/([A-Z])/g, (_, letter) => `_${letter.toLowerCase()}`)\n acc[snakeKey] = toSnakeCase(obj[key])\n return acc\n }, {})\n }\n return obj\n}\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\nimport { toCamelCase } from '@/lib/obj'\n\nimport type { TOAuthAccountInfo } from './user.types'\n\nexport async function getAccountInfo(sub: string): Promise<TOAuthAccountInfo> {\n const response = await fetch(`${getOAuthApiUrl()}/accounts/${sub}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getAccountInfo.name, json)\n return toCamelCase(json) as TOAuthAccountInfo\n}\n","export * from './client'\nexport * as jwtAuth from './jwt-auth'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\n\nexport async function getCurrentClientInfo(): Promise<{\n id: string\n name: string\n callbackUris: string[]\n confidential: boolean\n ownerId: string\n accessTokenTTLMinutes: number\n availableLoginTypes: string[]\n admins: string[]\n apiPermissions: string[]\n logoUri?: string\n}> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/current`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getCurrentClientInfo.name, json)\n return {\n id: json._id,\n name: json.name,\n callbackUris: json.callback_uris,\n confidential: json.confidential,\n ownerId: json.owner_id,\n accessTokenTTLMinutes: json.access_token_ttl_minutes,\n availableLoginTypes: json.available_login_types,\n admins: json.admins,\n apiPermissions: json.api_permissions,\n logoUri: json.logo_uri ?? null,\n }\n}\n","export * from './jwt-auth'\n","import { log } from '@/lib/logging'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { getBasicToken } from '@/lib/credentials'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\nimport type { TJwtAuthValidator, TJwtAuthValidatorParams, TJwtAuthUpdateValidatorParams } from './jwt-auth.types'\n\nexport async function addJwtValidator(params: TJwtAuthValidatorParams): Promise<TJwtAuthValidator> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addJwtValidator.name, json)\n return toCamelCase(json) as TJwtAuthValidator\n}\n\nexport async function updateJwtValidator(\n id: string,\n params: TJwtAuthUpdateValidatorParams,\n): Promise<TJwtAuthValidator> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updateJwtValidator.name, json)\n return toCamelCase(json) as TJwtAuthValidator\n}\n\nexport async function removeJwtValidator(id: string): Promise<boolean> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removeJwtValidator.name, json)\n return json\n}\n\nexport async function getJwtValidators(): Promise<TJwtAuthValidator[]> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getJwtValidators.name, json)\n return toCamelCase(json) as TJwtAuthValidator[]\n}\n","export * from './oauth'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\nimport { toCamelCase } from '@/lib/obj'\n\nimport type { TTokenResponse, TExchangeTokenParams } from './oauth.types'\n\nexport async function exchangeCodeForToken(params: TExchangeTokenParams): Promise<TTokenResponse> {\n const response = await fetch(`${getOAuthApiUrl()}/oauth2/token`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'authorization_code',\n code: params.code,\n code_verifier: params.codeVerifier,\n redirect_uri: params.redirectUri || 'none',\n }),\n })\n const json = await response.json()\n log(exchangeCodeForToken.name, json)\n return toCamelCase(json) as TTokenResponse\n}\n\nexport async function refreshToken(refreshTokenValue: string): Promise<TTokenResponse> {\n const response = await fetch(`${getOAuthApiUrl()}/oauth2/token`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'refresh_token',\n refresh_token: refreshTokenValue,\n }),\n })\n const json = await response.json()\n log(refreshToken.name, json)\n return toCamelCase(json) as TTokenResponse\n}\n","export * from './api'\nexport * as nfcId from './nfc-id'\nexport * as passportId from './passport-id'\nexport * as promo from './promo'\nexport * as file from './file'\n","import { getCredentials } from '@/lib/credentials'\nimport { io, Socket } from 'socket.io-client'\n\nexport async function connectToWs(url: string): Promise<Socket> {\n const credentials = getCredentials()\n const socket = io(url, {\n auth: {\n client_id: credentials.clientId,\n client_secret: credentials.clientSecret,\n },\n })\n await new Promise((resolve, reject) => {\n socket.once('connect_error', (err) => reject(err))\n socket.once('connect', () => resolve(socket))\n setTimeout(() => reject(new Error('Cannot connect to websocket server')), 5000)\n })\n return socket\n}\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\nimport { Socket } from 'socket.io-client'\nimport { connectToWs } from '@/lib/ws'\n\nlet socket: Socket\n\nexport function getGeneralApiUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://api.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://api.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8084'\n }\n}\n\nexport function getGeneralWsUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'wss://general-prod-prod.up.railway.app'\n case SDK_ENV.STAGING:\n return 'wss://general-staging-staging.up.railway.app'\n case SDK_ENV.LOCAL:\n return 'ws://localhost:8084'\n }\n}\nexport async function getWsConnection(): Promise<Socket> {\n if (!socket?.connected) {\n socket = await connectToWs(getGeneralWsUrl())\n }\n return socket\n}\n","export * from './nfc-id'\nexport * from './nfc-id.types'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TNfcId, TUpdateNfcId } from './nfc-id.types'\n\nexport async function addNfcId(params: TNfcId): Promise<TNfcId> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n serial_number: params.serialNumber,\n sub: params.sub,\n ...(params.text ? { text: params.text } : {}),\n }),\n })\n const json = await response.json()\n log(addNfcId.name, json)\n return {\n sub: json.sub,\n serialNumber: json.serial_number,\n text: json.text ?? null,\n }\n}\n\nexport async function updateNfcId(serialNumber: string, params: TUpdateNfcId): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n ...(params.text ? { text: params.text } : {}),\n ...(params.sub ? { sub: params.sub } : {}),\n }),\n })\n const json = await response.json()\n log(updateNfcId.name, json)\n return json\n}\n\nexport async function removeNfcId(serialNumber: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removeNfcId.name, json)\n return json\n}\n\nexport async function getNfcId(serialNumber: string): Promise<Omit<TNfcId, 'serialNumber'>> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getNfcId.name, json)\n return { sub: json.sub, text: json.text ?? null }\n}\n","export * from './passport-id'\n","import { getWsConnection } from '@/api'\nimport { log } from '@/lib/logging'\n\nexport async function requestPassportIdSignature(sub: string, message: string): Promise<{ signature: string }> {\n if (!sub) throw new Error('\"Sub is required\"')\n if (!message) throw new Error('\"Message is required\"')\n\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.once(`passport_id/signed/${sub}`, (data) => {\n log(requestPassportIdSignature.name, 'Received', data)\n resolve(data.payload)\n })\n socket.emit(\n 'passport_id/request_signature',\n {\n payload: { sub, message },\n },\n (data) => {\n if (!data.payload.ok) {\n reject(new Error('Failed to sign message'))\n }\n if (data.error) {\n reject(new Error(data.error.message))\n }\n log(requestPassportIdSignature.name, 'Requested', data)\n },\n )\n })\n}\n","export * as rules from './rules'\nexport * as offers from './offers'\n","export * from './rules'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TCreateRuleParams, TUpdateRuleParams, TRule } from './rules.types'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\n\nexport async function addPromoRule(params: TCreateRuleParams): Promise<TRule> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addPromoRule.name, json)\n return toCamelCase(json) as TRule\n}\n\nexport async function updatePromoRule(id: string, params: TUpdateRuleParams): Promise<TRule> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updatePromoRule.name, json)\n return toCamelCase(json) as TRule\n}\n\nexport async function removePromoRule(id: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removePromoRule.name, json)\n return response.ok\n}\n\nexport async function getPromoRules(): Promise<TRule[]> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoRules.name, json)\n return toCamelCase(json) as TRule[]\n}\n","export * from './offers'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TCreateOfferParams, TUpdateOfferParams, TOffer, TOfferRss } from './offers.types'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\n\nexport async function addPromoOffer(params: TCreateOfferParams): Promise<TOffer> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addPromoOffer.name, json)\n return toCamelCase(json) as TOffer\n}\n\nexport async function updatePromoOffer(id: string, params: TUpdateOfferParams): Promise<TOffer> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updatePromoOffer.name, json)\n return toCamelCase(json) as TOffer\n}\n\nexport async function removePromoOffer(id: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removePromoOffer.name, json)\n return response.ok\n}\n\nexport async function getPromoOffers(): Promise<TOffer[]> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoOffers.name, json)\n return toCamelCase(json) as TOffer[]\n}\n\nexport async function checkPromoOffer(id: string, sub: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}/check?sub=${sub}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(checkPromoOffer.name, json)\n return json\n}\n\nexport async function getPromoOfferRss(params: { suiAddress?: string; evmAddress?: string }): Promise<TOfferRss[]> {\n const url = new URL(`${getGeneralApiUrl()}/promo/offers/rss`)\n if (params?.suiAddress) {\n url.searchParams.append('sui_address', params.suiAddress)\n } else if (params?.evmAddress) {\n url.searchParams.append('evm_address', params.evmAddress)\n throw new Error('Currently not supported for EVM') // Remove when implemented\n }\n\n const response = await fetch(url.toString(), {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoOfferRss.name, json)\n return toCamelCase(json) as TOfferRss[]\n}\n","export * from './file'\n","import { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { log } from '@/lib/logging'\n\nexport async function uploadFile(file: File): Promise<{\n location: string\n bucket: string\n key: string\n}> {\n const formData = new FormData()\n formData.append('file', file, file.name)\n const response = await fetch(`${getGeneralApiUrl()}/files/upload`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n Accept: '*/*',\n },\n body: formData,\n })\n const json = await response.json()\n log(uploadFile.name, json)\n return json\n}\n","export * from './evm'\nexport * as account from './account'\nexport * as contract from './contract'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\nimport { Socket } from 'socket.io-client'\nimport { connectToWs } from '@/lib/ws'\n\nlet socket: Socket\n\nexport function getEvmApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://evm.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://evm.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8082'\n }\n}\n\nexport function getEvmWsUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'wss://evm-prod-prod.up.railway.app'\n case SDK_ENV.STAGING:\n return 'wss://evm-staging-staging.up.railway.app'\n case SDK_ENV.LOCAL:\n return 'ws://localhost:8082'\n }\n}\nexport async function getWsConnection(): Promise<Socket> {\n if (!socket?.connected) {\n socket = await connectToWs(getEvmWsUrl())\n }\n return socket\n}\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getEvmApiUrl } from '@/evm'\nimport { log } from '@/lib/logging'\n\nexport async function getEvmAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getEvmApiUrl()}/accounts/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getEvmAddress.name, json)\n return json\n}\n","export * from './contract'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getEvmApiUrl } from '@/evm'\nimport { log } from '@/lib/logging'\nimport { getWsConnection } from '@/evm'\n\nexport async function getAvailableEvmContracts(): Promise<string[]> {\n const response = await fetch(`${getEvmApiUrl()}/contracts/available`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getAvailableEvmContracts.name, json)\n if (!response.ok) throw new Error(json.message)\n return json\n}\n\nexport async function findEvmContracts(\n params: { name?: string; type?: string; chain_id?: number } = {},\n): Promise<string[]> {\n const url = new URL(`${getEvmApiUrl()}/contracts`)\n for (const [key, val] of Object.entries(params)) {\n url.searchParams.append(key, String(val))\n }\n const response = await fetch(url.toString(), {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(findEvmContracts.name, json)\n if (!response.ok) throw new Error(json.message)\n return json.map((contract) => {\n return {\n id: contract._id,\n type: contract.type,\n name: contract.name,\n chainId: contract.chain_id,\n address: contract.address,\n txHash: contract.tx_hash,\n clientId: contract.client_id,\n }\n })\n}\n\nexport async function deployEvmContract(name: string, chainId: number, ownerAddresses: string[]) {\n if (!name) throw new Error('\"name is required\"')\n if (!chainId) throw new Error('\"chainId\" is required')\n if (ownerAddresses?.length === 0) throw new Error('\"ownerAddresses\" can not be empty')\n\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.emit(\n 'contracts/deploy',\n {\n payload: { name, chain_id: chainId, owner_addresses: ownerAddresses },\n },\n (data) => {\n if (data.error) {\n return reject(new Error(data.error.message))\n }\n log(deployEvmContract.name, `${name} contract deployed`, data)\n resolve({\n id: data.payload.contract._id,\n type: data.payload.contract.type,\n name: data.payload.contract.name,\n chainId,\n address: data.payload.contract.address,\n tx: {\n deployment: data.payload.tx.deployment,\n trustedForwarder: data.payload.tx.trusted_forwarder,\n addOwner: data.payload.tx.add_owner,\n },\n })\n },\n )\n })\n}\n\nexport async function sendEvmMetaTransaction(unsignedSerializedMetaTx: string, accountAddress: string) {\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.emit(\n 'contracts/forward_transaction/client',\n {\n payload: {\n account_address: accountAddress,\n unsigned_serialized_meta_tx: unsignedSerializedMetaTx,\n },\n },\n (data) => {\n if (data.error) {\n return reject(new Error(data.error.message))\n }\n log(sendEvmMetaTransaction.name, `meta tx sent`, data)\n resolve(data.payload)\n },\n )\n })\n}\n","export * from './sui'\nexport * as account from './account'\nexport * as zk from './zk'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\n\nexport function getSuiApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://sui.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://sui.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8083'\n }\n}\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getSuiApiUrl } from '@/sui'\nimport { log } from '@/lib/logging'\n\nexport async function getSuiAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getSuiApiUrl()}/accounts/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getSuiAddress.name, json)\n return json\n}\n","export * as account from './account'\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getSuiApiUrl } from '@/sui'\nimport { log } from '@/lib/logging'\n\nexport async function getSuiZkAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getSuiApiUrl()}/accounts/zk/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getSuiZkAddress.name, json)\n return json\n}\n","import { setCredentials, TCredentials } from './lib/credentials'\nimport { setSdkEnv, TSdkEnv } from './lib/sdk-env'\nimport { enableSdkDebug } from './lib/logging'\n\nexport function useAuth(credentials: TCredentials): void {\n setCredentials(credentials)\n}\n\nexport function useEnv(sdkEnv: TSdkEnv): void {\n setSdkEnv(sdkEnv)\n}\n\nexport function useDebug(enableDebug: boolean) {\n enableSdkDebug(enableDebug)\n}\n\nexport * as accounts from './accounts'\nexport * as api from './api'\nexport * as evm from './evm'\nexport * as sui from './sui'\n"],"mappings":"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","names":["credentials","socket","socket","getWsConnection","socket","getWsConnection","socket","getWsConnection","account_exports","account_exports","account_exports","account_exports","credentials","sdkEnv"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/lib/credentials/credentials.ts","../src/lib/sdk-env/sdk-env.constants.ts","../src/lib/sdk-env/sdk-env.ts","../src/lib/logging/logging.ts","../src/accounts/index.ts","../src/accounts/accounts.ts","../src/accounts/user/index.ts","../src/lib/obj/obj.ts","../src/accounts/user/user.ts","../src/accounts/client/index.ts","../src/accounts/client/client.ts","../src/accounts/client/jwt-auth/index.ts","../src/accounts/client/jwt-auth/jwt-auth.ts","../src/accounts/oauth/index.ts","../src/accounts/oauth/oauth.ts","../src/api/index.ts","../src/lib/ws/ws.ts","../src/api/api.ts","../src/api/nfc-id/index.ts","../src/api/nfc-id/nfc-id.ts","../src/api/passport-id/index.ts","../src/api/passport-id/passport-id.ts","../src/api/promo/index.ts","../src/api/promo/rules/index.ts","../src/api/promo/rules/rules.ts","../src/api/promo/offers/index.ts","../src/api/promo/offers/offers.ts","../src/api/file/index.ts","../src/api/file/file.ts","../src/evm/index.ts","../src/evm/evm.ts","../src/evm/account/index.ts","../src/evm/account/account.ts","../src/evm/contract/index.ts","../src/evm/contract/contract.ts","../src/sui/index.ts","../src/sui/sui.ts","../src/sui/account/index.ts","../src/sui/account/account.ts","../src/sui/zk/index.ts","../src/sui/zk/account/index.ts","../src/sui/zk/account/account.ts","../src/credenza-partner-sdk.ts"],"sourcesContent":["export * from './credenza-partner-sdk'\n","import { Buffer } from 'buffer'\n\nimport { TCredentials } from './credentials.types'\n\nlet credentials: TCredentials = null\n\nexport function setCredentials(credentialsInput: TCredentials): void {\n if (!credentialsInput.clientId) throw new Error('\"clientId\" is required')\n if (!credentialsInput.clientSecret) throw new Error('\"clientSecret\" is required')\n credentials = credentialsInput\n}\n\nexport function getCredentials(): TCredentials {\n if (!credentials?.clientId || !credentials?.clientSecret) throw new Error('Credentials are not set')\n return credentials\n}\n\nexport function getBasicToken(): string {\n const { clientId, clientSecret } = getCredentials()\n const basicCredentials = `${clientId}:${clientSecret}`\n return `Basic ${Buffer.from(basicCredentials).toString('base64')}`\n}\n","export const SDK_ENV = {\n PROD: 'prod',\n STAGING: 'staging',\n LOCAL: 'local',\n} as const\n","import { SDK_ENV } from './sdk-env.constants'\nimport { TSdkEnv } from './sdk-env.types'\n\nlet sdkEnv: TSdkEnv = SDK_ENV.PROD\nexport function getSdkEnv(): TSdkEnv {\n return sdkEnv\n}\n\nexport function setSdkEnv(sdkEnvironment: TSdkEnv): void {\n sdkEnv = sdkEnvironment\n}\n","let debugEnabled = false\n\nexport function log(methodName: string, ...args: unknown[]) {\n if (!debugEnabled) return\n console.log(`[CREDENZA_PARTNER_SDK#${methodName}]:`, ...args)\n}\n\nexport function enableSdkDebug(enableDebug: boolean) {\n debugEnabled = enableDebug\n}\n","export * from './accounts'\nexport * as user from './user'\nexport * as client from './client'\nexport * as oauth from './oauth'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\n\nexport function getOAuthApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://accounts.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://accounts.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8081'\n }\n}\n","export * from './user'\n","export function toCamelCase(obj: unknown): unknown {\n if (Array.isArray(obj)) {\n return obj.map(toCamelCase)\n } else if (obj !== null && typeof obj === 'object') {\n return Object.keys(obj).reduce((acc, key) => {\n const camelKey = key.replace(/^_id$/, 'id').replace(/_([a-z])/g, (_, letter) => letter.toUpperCase())\n acc[camelKey] = toCamelCase(obj[key])\n return acc\n }, {})\n }\n return obj\n}\n\nexport function toSnakeCase(obj: unknown): unknown {\n if (Array.isArray(obj)) {\n return obj.map(toSnakeCase)\n } else if (obj !== null && typeof obj === 'object') {\n return Object.keys(obj).reduce((acc, key) => {\n const snakeKey = key.replace(/([A-Z])/g, (_, letter) => `_${letter.toLowerCase()}`)\n acc[snakeKey] = toSnakeCase(obj[key])\n return acc\n }, {})\n }\n return obj\n}\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\nimport { toCamelCase } from '@/lib/obj'\n\nimport type { TOAuthAccountInfo } from './user.types'\n\nexport async function getAccountInfo(sub: string): Promise<TOAuthAccountInfo> {\n const response = await fetch(`${getOAuthApiUrl()}/accounts/${sub}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getAccountInfo.name, json)\n return toCamelCase(json) as TOAuthAccountInfo\n}\n","export * from './client'\nexport * as jwtAuth from './jwt-auth'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\n\nexport async function getCurrentClientInfo(): Promise<{\n id: string\n name: string\n callbackUris: string[]\n confidential: boolean\n ownerId: string\n accessTokenTTLMinutes: number\n availableLoginTypes: string[]\n admins: string[]\n apiPermissions: string[]\n logoUri?: string\n}> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/current`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getCurrentClientInfo.name, json)\n return {\n id: json._id,\n name: json.name,\n callbackUris: json.callback_uris,\n confidential: json.confidential,\n ownerId: json.owner_id,\n accessTokenTTLMinutes: json.access_token_ttl_minutes,\n availableLoginTypes: json.available_login_types,\n admins: json.admins,\n apiPermissions: json.api_permissions,\n logoUri: json.logo_uri ?? null,\n }\n}\n","export * from './jwt-auth'\n","import { log } from '@/lib/logging'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { getBasicToken } from '@/lib/credentials'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\nimport type { TJwtAuthValidator, TJwtAuthValidatorParams, TJwtAuthUpdateValidatorParams } from './jwt-auth.types'\n\nexport async function addJwtValidator(params: TJwtAuthValidatorParams): Promise<TJwtAuthValidator> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addJwtValidator.name, json)\n return toCamelCase(json) as TJwtAuthValidator\n}\n\nexport async function updateJwtValidator(\n id: string,\n params: TJwtAuthUpdateValidatorParams,\n): Promise<TJwtAuthValidator> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updateJwtValidator.name, json)\n return toCamelCase(json) as TJwtAuthValidator\n}\n\nexport async function removeJwtValidator(id: string): Promise<boolean> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removeJwtValidator.name, json)\n return json\n}\n\nexport async function getJwtValidators(): Promise<TJwtAuthValidator[]> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getJwtValidators.name, json)\n return toCamelCase(json) as TJwtAuthValidator[]\n}\n","export * from './oauth'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\nimport { toCamelCase } from '@/lib/obj'\n\nimport type { TTokenResponse, TExchangeTokenParams } from './oauth.types'\n\nexport async function exchangeCodeForToken(params: TExchangeTokenParams): Promise<TTokenResponse> {\n const response = await fetch(`${getOAuthApiUrl()}/oauth2/token`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'authorization_code',\n code: params.code,\n code_verifier: params.codeVerifier,\n redirect_uri: params.redirectUri || 'none',\n }),\n })\n const json = await response.json()\n log(exchangeCodeForToken.name, json)\n return toCamelCase(json) as TTokenResponse\n}\n\nexport async function refreshToken(refreshTokenValue: string): Promise<TTokenResponse> {\n const response = await fetch(`${getOAuthApiUrl()}/oauth2/token`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'refresh_token',\n refresh_token: refreshTokenValue,\n }),\n })\n const json = await response.json()\n log(refreshToken.name, json)\n return toCamelCase(json) as TTokenResponse\n}\n","export * from './api'\nexport * as nfcId from './nfc-id'\nexport * as passportId from './passport-id'\nexport * as promo from './promo'\nexport * as file from './file'\n","import { getCredentials, TCredentials } from '@/lib/credentials'\nimport { io, Socket } from 'socket.io-client'\n\nconst socketPromises = new Map<string, Promise<{ socket: Socket; auth: TCredentials }>>()\n\nexport async function disconnectWs(url: string = null) {\n const socketUrls = url ? [url] : Array.from(socketPromises.keys())\n for (const url of socketUrls) {\n if (!socketPromises.has(url)) continue\n const { socket } = await socketPromises.get(url)\n socket?.disconnect()\n socketPromises.delete(url)\n }\n}\nexport async function connectToWs(url: string): Promise<Socket> {\n const credentials = getCredentials()\n\n if (!socketPromises.has(url)) {\n const promise = new Promise<{ socket: Socket; auth: TCredentials }>((resolve, reject) => {\n const socket = io(url, {\n auth: {\n client_id: credentials.clientId,\n client_secret: credentials.clientSecret,\n },\n })\n socket.once('connect_error', (err) => reject(err))\n socket.once('connect', () => resolve({ socket, auth: credentials }))\n setTimeout(() => reject(new Error('Cannot connect to websocket server')), 5000)\n })\n socketPromises.set(url, promise)\n }\n\n const { socket, auth } = await socketPromises.get(url)\n if (!socket?.connected || auth.clientId !== credentials.clientId || auth.clientSecret !== credentials.clientSecret) {\n await disconnectWs(url)\n return connectToWs(url)\n }\n\n return socket\n}\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\nimport { Socket } from 'socket.io-client'\nimport { connectToWs } from '@/lib/ws'\n\nlet socket: Socket\n\nexport function getGeneralApiUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://api.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://api.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8084'\n }\n}\n\nexport function getGeneralWsUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'wss://general-prod-prod.up.railway.app'\n case SDK_ENV.STAGING:\n return 'wss://general-staging-staging.up.railway.app'\n case SDK_ENV.LOCAL:\n return 'ws://localhost:8084'\n }\n}\nexport async function getWsConnection(): Promise<Socket> {\n if (!socket?.connected) {\n socket = await connectToWs(getGeneralWsUrl())\n }\n return socket\n}\n","export * from './nfc-id'\nexport * from './nfc-id.types'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TNfcId, TUpdateNfcId } from './nfc-id.types'\n\nexport async function addNfcId(params: TNfcId): Promise<TNfcId> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n serial_number: params.serialNumber,\n sub: params.sub,\n ...(params.text ? { text: params.text } : {}),\n }),\n })\n const json = await response.json()\n log(addNfcId.name, json)\n return {\n sub: json.sub,\n serialNumber: json.serial_number,\n text: json.text ?? null,\n }\n}\n\nexport async function updateNfcId(serialNumber: string, params: TUpdateNfcId): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n ...(params.text ? { text: params.text } : {}),\n ...(params.sub ? { sub: params.sub } : {}),\n }),\n })\n const json = await response.json()\n log(updateNfcId.name, json)\n return json\n}\n\nexport async function removeNfcId(serialNumber: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removeNfcId.name, json)\n return json\n}\n\nexport async function getNfcId(serialNumber: string): Promise<Omit<TNfcId, 'serialNumber'>> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getNfcId.name, json)\n return { sub: json.sub, text: json.text ?? null }\n}\n","export * from './passport-id'\n","import { getWsConnection } from '@/api'\nimport { log } from '@/lib/logging'\n\nexport async function requestPassportIdSignature(sub: string, message: string): Promise<{ signature: string }> {\n if (!sub) throw new Error('\"Sub is required\"')\n if (!message) throw new Error('\"Message is required\"')\n\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.once(`passport_id/signed/${sub}`, (data) => {\n log(requestPassportIdSignature.name, 'Received', data)\n resolve(data.payload)\n })\n socket.emit(\n 'passport_id/request_signature',\n {\n payload: { sub, message },\n },\n (data) => {\n if (!data.payload.ok) {\n reject(new Error('Failed to sign message'))\n }\n if (data.error) {\n reject(new Error(data.error.message))\n }\n log(requestPassportIdSignature.name, 'Requested', data)\n },\n )\n })\n}\n","export * as rules from './rules'\nexport * as offers from './offers'\n","export * from './rules'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TCreateRuleParams, TUpdateRuleParams, TRule } from './rules.types'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\n\nexport async function addPromoRule(params: TCreateRuleParams): Promise<TRule> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addPromoRule.name, json)\n return toCamelCase(json) as TRule\n}\n\nexport async function updatePromoRule(id: string, params: TUpdateRuleParams): Promise<TRule> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updatePromoRule.name, json)\n return toCamelCase(json) as TRule\n}\n\nexport async function removePromoRule(id: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removePromoRule.name, json)\n return response.ok\n}\n\nexport async function getPromoRules(): Promise<TRule[]> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoRules.name, json)\n return toCamelCase(json) as TRule[]\n}\n","export * from './offers'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TCreateOfferParams, TUpdateOfferParams, TOffer, TOfferRss } from './offers.types'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\n\nexport async function addPromoOffer(params: TCreateOfferParams): Promise<TOffer> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addPromoOffer.name, json)\n return toCamelCase(json) as TOffer\n}\n\nexport async function updatePromoOffer(id: string, params: TUpdateOfferParams): Promise<TOffer> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updatePromoOffer.name, json)\n return toCamelCase(json) as TOffer\n}\n\nexport async function removePromoOffer(id: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removePromoOffer.name, json)\n return response.ok\n}\n\nexport async function getPromoOffers(): Promise<TOffer[]> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoOffers.name, json)\n return toCamelCase(json) as TOffer[]\n}\n\nexport async function checkPromoOffer(id: string, sub: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}/check?sub=${sub}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(checkPromoOffer.name, json)\n return json\n}\n\nexport async function getPromoOfferRss(params: { suiAddress?: string; evmAddress?: string }): Promise<TOfferRss[]> {\n const url = new URL(`${getGeneralApiUrl()}/promo/offers/rss`)\n if (params?.suiAddress) {\n url.searchParams.append('sui_address', params.suiAddress)\n } else if (params?.evmAddress) {\n url.searchParams.append('evm_address', params.evmAddress)\n throw new Error('Currently not supported for EVM') // Remove when implemented\n }\n\n const response = await fetch(url.toString(), {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoOfferRss.name, json)\n return toCamelCase(json) as TOfferRss[]\n}\n","export * from './file'\n","import { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { log } from '@/lib/logging'\n\nexport async function uploadFile(file: File): Promise<{\n location: string\n bucket: string\n key: string\n}> {\n const formData = new FormData()\n formData.append('file', file, file.name)\n const response = await fetch(`${getGeneralApiUrl()}/files/upload`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n Accept: '*/*',\n },\n body: formData,\n })\n const json = await response.json()\n log(uploadFile.name, json)\n return json\n}\n","export * from './evm'\nexport * as account from './account'\nexport * as contract from './contract'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\nimport { Socket } from 'socket.io-client'\nimport { connectToWs } from '@/lib/ws'\n\nlet socket: Socket\n\nexport function getEvmApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://evm.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://evm.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8082'\n }\n}\n\nexport function getEvmWsUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'wss://evm-prod-prod.up.railway.app'\n case SDK_ENV.STAGING:\n return 'wss://evm-staging-staging.up.railway.app'\n case SDK_ENV.LOCAL:\n return 'ws://localhost:8082'\n }\n}\nexport async function getWsConnection(): Promise<Socket> {\n if (!socket?.connected) {\n socket = await connectToWs(getEvmWsUrl())\n }\n return socket\n}\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getEvmApiUrl } from '@/evm'\nimport { log } from '@/lib/logging'\n\nexport async function getEvmAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getEvmApiUrl()}/accounts/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getEvmAddress.name, json)\n return json\n}\n","export * from './contract'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getEvmApiUrl } from '@/evm'\nimport { log } from '@/lib/logging'\nimport { getWsConnection } from '@/evm'\n\nexport async function getAvailableEvmContracts(): Promise<string[]> {\n const response = await fetch(`${getEvmApiUrl()}/contracts/available`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getAvailableEvmContracts.name, json)\n if (!response.ok) throw new Error(json.message)\n return json\n}\n\nexport async function findEvmContracts(\n params: { name?: string; type?: string; chain_id?: number } = {},\n): Promise<string[]> {\n const url = new URL(`${getEvmApiUrl()}/contracts`)\n for (const [key, val] of Object.entries(params)) {\n url.searchParams.append(key, String(val))\n }\n const response = await fetch(url.toString(), {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(findEvmContracts.name, json)\n if (!response.ok) throw new Error(json.message)\n return json.map((contract) => {\n return {\n id: contract._id,\n type: contract.type,\n name: contract.name,\n chainId: contract.chain_id,\n address: contract.address,\n txHash: contract.tx_hash,\n clientId: contract.client_id,\n }\n })\n}\n\nexport async function deployEvmContract(name: string, chainId: number, ownerAddresses: string[]) {\n if (!name) throw new Error('\"name is required\"')\n if (!chainId) throw new Error('\"chainId\" is required')\n if (ownerAddresses?.length === 0) throw new Error('\"ownerAddresses\" can not be empty')\n\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.emit(\n 'contracts/deploy',\n {\n payload: { name, chain_id: chainId, owner_addresses: ownerAddresses },\n },\n (data) => {\n if (data.error) {\n return reject(new Error(data.error.message))\n }\n log(deployEvmContract.name, `${name} contract deployed`, data)\n resolve({\n id: data.payload.contract._id,\n type: data.payload.contract.type,\n name: data.payload.contract.name,\n chainId,\n address: data.payload.contract.address,\n tx: {\n deployment: data.payload.tx.deployment,\n trustedForwarder: data.payload.tx.trusted_forwarder,\n addOwner: data.payload.tx.add_owner,\n },\n })\n },\n )\n })\n}\n\nexport async function sendEvmMetaTransaction(unsignedSerializedMetaTx: string, accountAddress: string) {\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.emit(\n 'contracts/forward_transaction/client',\n {\n payload: {\n account_address: accountAddress,\n unsigned_serialized_meta_tx: unsignedSerializedMetaTx,\n },\n },\n (data) => {\n if (data.error) {\n return reject(new Error(data.error.message))\n }\n log(sendEvmMetaTransaction.name, `meta tx sent`, data)\n resolve(data.payload)\n },\n )\n })\n}\n","export * from './sui'\nexport * as account from './account'\nexport * as zk from './zk'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\n\nexport function getSuiApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://sui.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://sui.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8083'\n }\n}\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getSuiApiUrl } from '@/sui'\nimport { log } from '@/lib/logging'\n\nexport async function getSuiAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getSuiApiUrl()}/accounts/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getSuiAddress.name, json)\n return json\n}\n","export * as account from './account'\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getSuiApiUrl } from '@/sui'\nimport { log } from '@/lib/logging'\n\nexport async function getSuiZkAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getSuiApiUrl()}/accounts/zk/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getSuiZkAddress.name, json)\n return json\n}\n","import { setCredentials, TCredentials } from './lib/credentials'\nimport { setSdkEnv, TSdkEnv } from './lib/sdk-env'\nimport { enableSdkDebug } from './lib/logging'\n\nexport function useAuth(credentials: TCredentials): void {\n setCredentials(credentials)\n}\n\nexport function useEnv(sdkEnv: TSdkEnv): void {\n setSdkEnv(sdkEnv)\n}\n\nexport function useDebug(enableDebug: boolean) {\n enableSdkDebug(enableDebug)\n}\n\nexport * as accounts from './accounts'\nexport * as api from './api'\nexport * as evm from './evm'\nexport * as sui from './sui'\n"],"mappings":"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","names":["url","socket","credentials","socket","getWsConnection","socket","getWsConnection","socket","getWsConnection","account_exports","account_exports","account_exports","account_exports","credentials","sdkEnv"]}
|
package/dist/index.mjs
CHANGED
|
@@ -314,20 +314,40 @@ __export(api_exports, {
|
|
|
314
314
|
|
|
315
315
|
// src/lib/ws/ws.ts
|
|
316
316
|
import { io } from "socket.io-client";
|
|
317
|
+
var socketPromises = /* @__PURE__ */ new Map();
|
|
318
|
+
function disconnectWs(url = null) {
|
|
319
|
+
return __async(this, null, function* () {
|
|
320
|
+
const socketUrls = url ? [url] : Array.from(socketPromises.keys());
|
|
321
|
+
for (const url2 of socketUrls) {
|
|
322
|
+
if (!socketPromises.has(url2)) continue;
|
|
323
|
+
const { socket: socket3 } = yield socketPromises.get(url2);
|
|
324
|
+
socket3 == null ? void 0 : socket3.disconnect();
|
|
325
|
+
socketPromises.delete(url2);
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
}
|
|
317
329
|
function connectToWs(url) {
|
|
318
330
|
return __async(this, null, function* () {
|
|
319
331
|
const credentials2 = getCredentials();
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
332
|
+
if (!socketPromises.has(url)) {
|
|
333
|
+
const promise = new Promise((resolve, reject) => {
|
|
334
|
+
const socket4 = io(url, {
|
|
335
|
+
auth: {
|
|
336
|
+
client_id: credentials2.clientId,
|
|
337
|
+
client_secret: credentials2.clientSecret
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
socket4.once("connect_error", (err) => reject(err));
|
|
341
|
+
socket4.once("connect", () => resolve({ socket: socket4, auth: credentials2 }));
|
|
342
|
+
setTimeout(() => reject(new Error("Cannot connect to websocket server")), 5e3);
|
|
343
|
+
});
|
|
344
|
+
socketPromises.set(url, promise);
|
|
345
|
+
}
|
|
346
|
+
const { socket: socket3, auth } = yield socketPromises.get(url);
|
|
347
|
+
if (!(socket3 == null ? void 0 : socket3.connected) || auth.clientId !== credentials2.clientId || auth.clientSecret !== credentials2.clientSecret) {
|
|
348
|
+
yield disconnectWs(url);
|
|
349
|
+
return connectToWs(url);
|
|
350
|
+
}
|
|
331
351
|
return socket3;
|
|
332
352
|
});
|
|
333
353
|
}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/credentials/credentials.ts","../src/lib/sdk-env/sdk-env.constants.ts","../src/lib/sdk-env/sdk-env.ts","../src/lib/logging/logging.ts","../src/accounts/index.ts","../src/accounts/accounts.ts","../src/accounts/user/index.ts","../src/lib/obj/obj.ts","../src/accounts/user/user.ts","../src/accounts/client/index.ts","../src/accounts/client/client.ts","../src/accounts/client/jwt-auth/index.ts","../src/accounts/client/jwt-auth/jwt-auth.ts","../src/accounts/oauth/index.ts","../src/accounts/oauth/oauth.ts","../src/api/index.ts","../src/lib/ws/ws.ts","../src/api/api.ts","../src/api/nfc-id/index.ts","../src/api/nfc-id/nfc-id.ts","../src/api/passport-id/index.ts","../src/api/passport-id/passport-id.ts","../src/api/promo/index.ts","../src/api/promo/rules/index.ts","../src/api/promo/rules/rules.ts","../src/api/promo/offers/index.ts","../src/api/promo/offers/offers.ts","../src/api/file/index.ts","../src/api/file/file.ts","../src/evm/index.ts","../src/evm/evm.ts","../src/evm/account/index.ts","../src/evm/account/account.ts","../src/evm/contract/index.ts","../src/evm/contract/contract.ts","../src/sui/index.ts","../src/sui/sui.ts","../src/sui/account/index.ts","../src/sui/account/account.ts","../src/sui/zk/index.ts","../src/sui/zk/account/index.ts","../src/sui/zk/account/account.ts","../src/credenza-partner-sdk.ts"],"sourcesContent":["import { Buffer } from 'buffer'\n\nimport { TCredentials } from './credentials.types'\n\nlet credentials: TCredentials = null\n\nexport function setCredentials(credentialsInput: TCredentials): void {\n if (!credentialsInput.clientId) throw new Error('\"clientId\" is required')\n if (!credentialsInput.clientSecret) throw new Error('\"clientSecret\" is required')\n credentials = credentialsInput\n}\n\nexport function getCredentials(): TCredentials {\n if (!credentials?.clientId || !credentials?.clientSecret) throw new Error('Credentials are not set')\n return credentials\n}\n\nexport function getBasicToken(): string {\n const { clientId, clientSecret } = getCredentials()\n const basicCredentials = `${clientId}:${clientSecret}`\n return `Basic ${Buffer.from(basicCredentials).toString('base64')}`\n}\n","export const SDK_ENV = {\n PROD: 'prod',\n STAGING: 'staging',\n LOCAL: 'local',\n} as const\n","import { SDK_ENV } from './sdk-env.constants'\nimport { TSdkEnv } from './sdk-env.types'\n\nlet sdkEnv: TSdkEnv = SDK_ENV.PROD\nexport function getSdkEnv(): TSdkEnv {\n return sdkEnv\n}\n\nexport function setSdkEnv(sdkEnvironment: TSdkEnv): void {\n sdkEnv = sdkEnvironment\n}\n","let debugEnabled = false\n\nexport function log(methodName: string, ...args: unknown[]) {\n if (!debugEnabled) return\n console.log(`[CREDENZA_PARTNER_SDK#${methodName}]:`, ...args)\n}\n\nexport function enableSdkDebug(enableDebug: boolean) {\n debugEnabled = enableDebug\n}\n","export * from './accounts'\nexport * as user from './user'\nexport * as client from './client'\nexport * as oauth from './oauth'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\n\nexport function getOAuthApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://accounts.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://accounts.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8081'\n }\n}\n","export * from './user'\n","export function toCamelCase(obj: unknown): unknown {\n if (Array.isArray(obj)) {\n return obj.map(toCamelCase)\n } else if (obj !== null && typeof obj === 'object') {\n return Object.keys(obj).reduce((acc, key) => {\n const camelKey = key.replace(/^_id$/, 'id').replace(/_([a-z])/g, (_, letter) => letter.toUpperCase())\n acc[camelKey] = toCamelCase(obj[key])\n return acc\n }, {})\n }\n return obj\n}\n\nexport function toSnakeCase(obj: unknown): unknown {\n if (Array.isArray(obj)) {\n return obj.map(toSnakeCase)\n } else if (obj !== null && typeof obj === 'object') {\n return Object.keys(obj).reduce((acc, key) => {\n const snakeKey = key.replace(/([A-Z])/g, (_, letter) => `_${letter.toLowerCase()}`)\n acc[snakeKey] = toSnakeCase(obj[key])\n return acc\n }, {})\n }\n return obj\n}\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\nimport { toCamelCase } from '@/lib/obj'\n\nimport type { TOAuthAccountInfo } from './user.types'\n\nexport async function getAccountInfo(sub: string): Promise<TOAuthAccountInfo> {\n const response = await fetch(`${getOAuthApiUrl()}/accounts/${sub}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getAccountInfo.name, json)\n return toCamelCase(json) as TOAuthAccountInfo\n}\n","export * from './client'\nexport * as jwtAuth from './jwt-auth'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\n\nexport async function getCurrentClientInfo(): Promise<{\n id: string\n name: string\n callbackUris: string[]\n confidential: boolean\n ownerId: string\n accessTokenTTLMinutes: number\n availableLoginTypes: string[]\n admins: string[]\n apiPermissions: string[]\n logoUri?: string\n}> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/current`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getCurrentClientInfo.name, json)\n return {\n id: json._id,\n name: json.name,\n callbackUris: json.callback_uris,\n confidential: json.confidential,\n ownerId: json.owner_id,\n accessTokenTTLMinutes: json.access_token_ttl_minutes,\n availableLoginTypes: json.available_login_types,\n admins: json.admins,\n apiPermissions: json.api_permissions,\n logoUri: json.logo_uri ?? null,\n }\n}\n","export * from './jwt-auth'\n","import { log } from '@/lib/logging'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { getBasicToken } from '@/lib/credentials'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\nimport type { TJwtAuthValidator, TJwtAuthValidatorParams, TJwtAuthUpdateValidatorParams } from './jwt-auth.types'\n\nexport async function addJwtValidator(params: TJwtAuthValidatorParams): Promise<TJwtAuthValidator> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addJwtValidator.name, json)\n return toCamelCase(json) as TJwtAuthValidator\n}\n\nexport async function updateJwtValidator(\n id: string,\n params: TJwtAuthUpdateValidatorParams,\n): Promise<TJwtAuthValidator> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updateJwtValidator.name, json)\n return toCamelCase(json) as TJwtAuthValidator\n}\n\nexport async function removeJwtValidator(id: string): Promise<boolean> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removeJwtValidator.name, json)\n return json\n}\n\nexport async function getJwtValidators(): Promise<TJwtAuthValidator[]> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getJwtValidators.name, json)\n return toCamelCase(json) as TJwtAuthValidator[]\n}\n","export * from './oauth'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\nimport { toCamelCase } from '@/lib/obj'\n\nimport type { TTokenResponse, TExchangeTokenParams } from './oauth.types'\n\nexport async function exchangeCodeForToken(params: TExchangeTokenParams): Promise<TTokenResponse> {\n const response = await fetch(`${getOAuthApiUrl()}/oauth2/token`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'authorization_code',\n code: params.code,\n code_verifier: params.codeVerifier,\n redirect_uri: params.redirectUri || 'none',\n }),\n })\n const json = await response.json()\n log(exchangeCodeForToken.name, json)\n return toCamelCase(json) as TTokenResponse\n}\n\nexport async function refreshToken(refreshTokenValue: string): Promise<TTokenResponse> {\n const response = await fetch(`${getOAuthApiUrl()}/oauth2/token`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'refresh_token',\n refresh_token: refreshTokenValue,\n }),\n })\n const json = await response.json()\n log(refreshToken.name, json)\n return toCamelCase(json) as TTokenResponse\n}\n","export * from './api'\nexport * as nfcId from './nfc-id'\nexport * as passportId from './passport-id'\nexport * as promo from './promo'\nexport * as file from './file'\n","import { getCredentials } from '@/lib/credentials'\nimport { io, Socket } from 'socket.io-client'\n\nexport async function connectToWs(url: string): Promise<Socket> {\n const credentials = getCredentials()\n const socket = io(url, {\n auth: {\n client_id: credentials.clientId,\n client_secret: credentials.clientSecret,\n },\n })\n await new Promise((resolve, reject) => {\n socket.once('connect_error', (err) => reject(err))\n socket.once('connect', () => resolve(socket))\n setTimeout(() => reject(new Error('Cannot connect to websocket server')), 5000)\n })\n return socket\n}\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\nimport { Socket } from 'socket.io-client'\nimport { connectToWs } from '@/lib/ws'\n\nlet socket: Socket\n\nexport function getGeneralApiUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://api.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://api.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8084'\n }\n}\n\nexport function getGeneralWsUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'wss://general-prod-prod.up.railway.app'\n case SDK_ENV.STAGING:\n return 'wss://general-staging-staging.up.railway.app'\n case SDK_ENV.LOCAL:\n return 'ws://localhost:8084'\n }\n}\nexport async function getWsConnection(): Promise<Socket> {\n if (!socket?.connected) {\n socket = await connectToWs(getGeneralWsUrl())\n }\n return socket\n}\n","export * from './nfc-id'\nexport * from './nfc-id.types'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TNfcId, TUpdateNfcId } from './nfc-id.types'\n\nexport async function addNfcId(params: TNfcId): Promise<TNfcId> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n serial_number: params.serialNumber,\n sub: params.sub,\n ...(params.text ? { text: params.text } : {}),\n }),\n })\n const json = await response.json()\n log(addNfcId.name, json)\n return {\n sub: json.sub,\n serialNumber: json.serial_number,\n text: json.text ?? null,\n }\n}\n\nexport async function updateNfcId(serialNumber: string, params: TUpdateNfcId): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n ...(params.text ? { text: params.text } : {}),\n ...(params.sub ? { sub: params.sub } : {}),\n }),\n })\n const json = await response.json()\n log(updateNfcId.name, json)\n return json\n}\n\nexport async function removeNfcId(serialNumber: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removeNfcId.name, json)\n return json\n}\n\nexport async function getNfcId(serialNumber: string): Promise<Omit<TNfcId, 'serialNumber'>> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getNfcId.name, json)\n return { sub: json.sub, text: json.text ?? null }\n}\n","export * from './passport-id'\n","import { getWsConnection } from '@/api'\nimport { log } from '@/lib/logging'\n\nexport async function requestPassportIdSignature(sub: string, message: string): Promise<{ signature: string }> {\n if (!sub) throw new Error('\"Sub is required\"')\n if (!message) throw new Error('\"Message is required\"')\n\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.once(`passport_id/signed/${sub}`, (data) => {\n log(requestPassportIdSignature.name, 'Received', data)\n resolve(data.payload)\n })\n socket.emit(\n 'passport_id/request_signature',\n {\n payload: { sub, message },\n },\n (data) => {\n if (!data.payload.ok) {\n reject(new Error('Failed to sign message'))\n }\n if (data.error) {\n reject(new Error(data.error.message))\n }\n log(requestPassportIdSignature.name, 'Requested', data)\n },\n )\n })\n}\n","export * as rules from './rules'\nexport * as offers from './offers'\n","export * from './rules'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TCreateRuleParams, TUpdateRuleParams, TRule } from './rules.types'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\n\nexport async function addPromoRule(params: TCreateRuleParams): Promise<TRule> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addPromoRule.name, json)\n return toCamelCase(json) as TRule\n}\n\nexport async function updatePromoRule(id: string, params: TUpdateRuleParams): Promise<TRule> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updatePromoRule.name, json)\n return toCamelCase(json) as TRule\n}\n\nexport async function removePromoRule(id: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removePromoRule.name, json)\n return response.ok\n}\n\nexport async function getPromoRules(): Promise<TRule[]> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoRules.name, json)\n return toCamelCase(json) as TRule[]\n}\n","export * from './offers'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TCreateOfferParams, TUpdateOfferParams, TOffer, TOfferRss } from './offers.types'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\n\nexport async function addPromoOffer(params: TCreateOfferParams): Promise<TOffer> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addPromoOffer.name, json)\n return toCamelCase(json) as TOffer\n}\n\nexport async function updatePromoOffer(id: string, params: TUpdateOfferParams): Promise<TOffer> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updatePromoOffer.name, json)\n return toCamelCase(json) as TOffer\n}\n\nexport async function removePromoOffer(id: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removePromoOffer.name, json)\n return response.ok\n}\n\nexport async function getPromoOffers(): Promise<TOffer[]> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoOffers.name, json)\n return toCamelCase(json) as TOffer[]\n}\n\nexport async function checkPromoOffer(id: string, sub: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}/check?sub=${sub}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(checkPromoOffer.name, json)\n return json\n}\n\nexport async function getPromoOfferRss(params: { suiAddress?: string; evmAddress?: string }): Promise<TOfferRss[]> {\n const url = new URL(`${getGeneralApiUrl()}/promo/offers/rss`)\n if (params?.suiAddress) {\n url.searchParams.append('sui_address', params.suiAddress)\n } else if (params?.evmAddress) {\n url.searchParams.append('evm_address', params.evmAddress)\n throw new Error('Currently not supported for EVM') // Remove when implemented\n }\n\n const response = await fetch(url.toString(), {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoOfferRss.name, json)\n return toCamelCase(json) as TOfferRss[]\n}\n","export * from './file'\n","import { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { log } from '@/lib/logging'\n\nexport async function uploadFile(file: File): Promise<{\n location: string\n bucket: string\n key: string\n}> {\n const formData = new FormData()\n formData.append('file', file, file.name)\n const response = await fetch(`${getGeneralApiUrl()}/files/upload`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n Accept: '*/*',\n },\n body: formData,\n })\n const json = await response.json()\n log(uploadFile.name, json)\n return json\n}\n","export * from './evm'\nexport * as account from './account'\nexport * as contract from './contract'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\nimport { Socket } from 'socket.io-client'\nimport { connectToWs } from '@/lib/ws'\n\nlet socket: Socket\n\nexport function getEvmApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://evm.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://evm.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8082'\n }\n}\n\nexport function getEvmWsUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'wss://evm-prod-prod.up.railway.app'\n case SDK_ENV.STAGING:\n return 'wss://evm-staging-staging.up.railway.app'\n case SDK_ENV.LOCAL:\n return 'ws://localhost:8082'\n }\n}\nexport async function getWsConnection(): Promise<Socket> {\n if (!socket?.connected) {\n socket = await connectToWs(getEvmWsUrl())\n }\n return socket\n}\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getEvmApiUrl } from '@/evm'\nimport { log } from '@/lib/logging'\n\nexport async function getEvmAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getEvmApiUrl()}/accounts/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getEvmAddress.name, json)\n return json\n}\n","export * from './contract'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getEvmApiUrl } from '@/evm'\nimport { log } from '@/lib/logging'\nimport { getWsConnection } from '@/evm'\n\nexport async function getAvailableEvmContracts(): Promise<string[]> {\n const response = await fetch(`${getEvmApiUrl()}/contracts/available`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getAvailableEvmContracts.name, json)\n if (!response.ok) throw new Error(json.message)\n return json\n}\n\nexport async function findEvmContracts(\n params: { name?: string; type?: string; chain_id?: number } = {},\n): Promise<string[]> {\n const url = new URL(`${getEvmApiUrl()}/contracts`)\n for (const [key, val] of Object.entries(params)) {\n url.searchParams.append(key, String(val))\n }\n const response = await fetch(url.toString(), {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(findEvmContracts.name, json)\n if (!response.ok) throw new Error(json.message)\n return json.map((contract) => {\n return {\n id: contract._id,\n type: contract.type,\n name: contract.name,\n chainId: contract.chain_id,\n address: contract.address,\n txHash: contract.tx_hash,\n clientId: contract.client_id,\n }\n })\n}\n\nexport async function deployEvmContract(name: string, chainId: number, ownerAddresses: string[]) {\n if (!name) throw new Error('\"name is required\"')\n if (!chainId) throw new Error('\"chainId\" is required')\n if (ownerAddresses?.length === 0) throw new Error('\"ownerAddresses\" can not be empty')\n\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.emit(\n 'contracts/deploy',\n {\n payload: { name, chain_id: chainId, owner_addresses: ownerAddresses },\n },\n (data) => {\n if (data.error) {\n return reject(new Error(data.error.message))\n }\n log(deployEvmContract.name, `${name} contract deployed`, data)\n resolve({\n id: data.payload.contract._id,\n type: data.payload.contract.type,\n name: data.payload.contract.name,\n chainId,\n address: data.payload.contract.address,\n tx: {\n deployment: data.payload.tx.deployment,\n trustedForwarder: data.payload.tx.trusted_forwarder,\n addOwner: data.payload.tx.add_owner,\n },\n })\n },\n )\n })\n}\n\nexport async function sendEvmMetaTransaction(unsignedSerializedMetaTx: string, accountAddress: string) {\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.emit(\n 'contracts/forward_transaction/client',\n {\n payload: {\n account_address: accountAddress,\n unsigned_serialized_meta_tx: unsignedSerializedMetaTx,\n },\n },\n (data) => {\n if (data.error) {\n return reject(new Error(data.error.message))\n }\n log(sendEvmMetaTransaction.name, `meta tx sent`, data)\n resolve(data.payload)\n },\n )\n })\n}\n","export * from './sui'\nexport * as account from './account'\nexport * as zk from './zk'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\n\nexport function getSuiApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://sui.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://sui.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8083'\n }\n}\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getSuiApiUrl } from '@/sui'\nimport { log } from '@/lib/logging'\n\nexport async function getSuiAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getSuiApiUrl()}/accounts/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getSuiAddress.name, json)\n return json\n}\n","export * as account from './account'\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getSuiApiUrl } from '@/sui'\nimport { log } from '@/lib/logging'\n\nexport async function getSuiZkAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getSuiApiUrl()}/accounts/zk/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getSuiZkAddress.name, json)\n return json\n}\n","import { setCredentials, TCredentials } from './lib/credentials'\nimport { setSdkEnv, TSdkEnv } from './lib/sdk-env'\nimport { enableSdkDebug } from './lib/logging'\n\nexport function useAuth(credentials: TCredentials): void {\n setCredentials(credentials)\n}\n\nexport function useEnv(sdkEnv: TSdkEnv): void {\n setSdkEnv(sdkEnv)\n}\n\nexport function useDebug(enableDebug: boolean) {\n enableSdkDebug(enableDebug)\n}\n\nexport * as accounts from './accounts'\nexport * as api from './api'\nexport * as evm from './evm'\nexport * as sui from './sui'\n"],"mappings":"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","names":["Buffer","credentials","socket","socket","getWsConnection","socket","getWsConnection","socket","getWsConnection","account_exports","account_exports","account_exports","account_exports","credentials","sdkEnv"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/credentials/credentials.ts","../src/lib/sdk-env/sdk-env.constants.ts","../src/lib/sdk-env/sdk-env.ts","../src/lib/logging/logging.ts","../src/accounts/index.ts","../src/accounts/accounts.ts","../src/accounts/user/index.ts","../src/lib/obj/obj.ts","../src/accounts/user/user.ts","../src/accounts/client/index.ts","../src/accounts/client/client.ts","../src/accounts/client/jwt-auth/index.ts","../src/accounts/client/jwt-auth/jwt-auth.ts","../src/accounts/oauth/index.ts","../src/accounts/oauth/oauth.ts","../src/api/index.ts","../src/lib/ws/ws.ts","../src/api/api.ts","../src/api/nfc-id/index.ts","../src/api/nfc-id/nfc-id.ts","../src/api/passport-id/index.ts","../src/api/passport-id/passport-id.ts","../src/api/promo/index.ts","../src/api/promo/rules/index.ts","../src/api/promo/rules/rules.ts","../src/api/promo/offers/index.ts","../src/api/promo/offers/offers.ts","../src/api/file/index.ts","../src/api/file/file.ts","../src/evm/index.ts","../src/evm/evm.ts","../src/evm/account/index.ts","../src/evm/account/account.ts","../src/evm/contract/index.ts","../src/evm/contract/contract.ts","../src/sui/index.ts","../src/sui/sui.ts","../src/sui/account/index.ts","../src/sui/account/account.ts","../src/sui/zk/index.ts","../src/sui/zk/account/index.ts","../src/sui/zk/account/account.ts","../src/credenza-partner-sdk.ts"],"sourcesContent":["import { Buffer } from 'buffer'\n\nimport { TCredentials } from './credentials.types'\n\nlet credentials: TCredentials = null\n\nexport function setCredentials(credentialsInput: TCredentials): void {\n if (!credentialsInput.clientId) throw new Error('\"clientId\" is required')\n if (!credentialsInput.clientSecret) throw new Error('\"clientSecret\" is required')\n credentials = credentialsInput\n}\n\nexport function getCredentials(): TCredentials {\n if (!credentials?.clientId || !credentials?.clientSecret) throw new Error('Credentials are not set')\n return credentials\n}\n\nexport function getBasicToken(): string {\n const { clientId, clientSecret } = getCredentials()\n const basicCredentials = `${clientId}:${clientSecret}`\n return `Basic ${Buffer.from(basicCredentials).toString('base64')}`\n}\n","export const SDK_ENV = {\n PROD: 'prod',\n STAGING: 'staging',\n LOCAL: 'local',\n} as const\n","import { SDK_ENV } from './sdk-env.constants'\nimport { TSdkEnv } from './sdk-env.types'\n\nlet sdkEnv: TSdkEnv = SDK_ENV.PROD\nexport function getSdkEnv(): TSdkEnv {\n return sdkEnv\n}\n\nexport function setSdkEnv(sdkEnvironment: TSdkEnv): void {\n sdkEnv = sdkEnvironment\n}\n","let debugEnabled = false\n\nexport function log(methodName: string, ...args: unknown[]) {\n if (!debugEnabled) return\n console.log(`[CREDENZA_PARTNER_SDK#${methodName}]:`, ...args)\n}\n\nexport function enableSdkDebug(enableDebug: boolean) {\n debugEnabled = enableDebug\n}\n","export * from './accounts'\nexport * as user from './user'\nexport * as client from './client'\nexport * as oauth from './oauth'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\n\nexport function getOAuthApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://accounts.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://accounts.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8081'\n }\n}\n","export * from './user'\n","export function toCamelCase(obj: unknown): unknown {\n if (Array.isArray(obj)) {\n return obj.map(toCamelCase)\n } else if (obj !== null && typeof obj === 'object') {\n return Object.keys(obj).reduce((acc, key) => {\n const camelKey = key.replace(/^_id$/, 'id').replace(/_([a-z])/g, (_, letter) => letter.toUpperCase())\n acc[camelKey] = toCamelCase(obj[key])\n return acc\n }, {})\n }\n return obj\n}\n\nexport function toSnakeCase(obj: unknown): unknown {\n if (Array.isArray(obj)) {\n return obj.map(toSnakeCase)\n } else if (obj !== null && typeof obj === 'object') {\n return Object.keys(obj).reduce((acc, key) => {\n const snakeKey = key.replace(/([A-Z])/g, (_, letter) => `_${letter.toLowerCase()}`)\n acc[snakeKey] = toSnakeCase(obj[key])\n return acc\n }, {})\n }\n return obj\n}\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\nimport { toCamelCase } from '@/lib/obj'\n\nimport type { TOAuthAccountInfo } from './user.types'\n\nexport async function getAccountInfo(sub: string): Promise<TOAuthAccountInfo> {\n const response = await fetch(`${getOAuthApiUrl()}/accounts/${sub}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getAccountInfo.name, json)\n return toCamelCase(json) as TOAuthAccountInfo\n}\n","export * from './client'\nexport * as jwtAuth from './jwt-auth'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\n\nexport async function getCurrentClientInfo(): Promise<{\n id: string\n name: string\n callbackUris: string[]\n confidential: boolean\n ownerId: string\n accessTokenTTLMinutes: number\n availableLoginTypes: string[]\n admins: string[]\n apiPermissions: string[]\n logoUri?: string\n}> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/current`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getCurrentClientInfo.name, json)\n return {\n id: json._id,\n name: json.name,\n callbackUris: json.callback_uris,\n confidential: json.confidential,\n ownerId: json.owner_id,\n accessTokenTTLMinutes: json.access_token_ttl_minutes,\n availableLoginTypes: json.available_login_types,\n admins: json.admins,\n apiPermissions: json.api_permissions,\n logoUri: json.logo_uri ?? null,\n }\n}\n","export * from './jwt-auth'\n","import { log } from '@/lib/logging'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { getBasicToken } from '@/lib/credentials'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\nimport type { TJwtAuthValidator, TJwtAuthValidatorParams, TJwtAuthUpdateValidatorParams } from './jwt-auth.types'\n\nexport async function addJwtValidator(params: TJwtAuthValidatorParams): Promise<TJwtAuthValidator> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addJwtValidator.name, json)\n return toCamelCase(json) as TJwtAuthValidator\n}\n\nexport async function updateJwtValidator(\n id: string,\n params: TJwtAuthUpdateValidatorParams,\n): Promise<TJwtAuthValidator> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updateJwtValidator.name, json)\n return toCamelCase(json) as TJwtAuthValidator\n}\n\nexport async function removeJwtValidator(id: string): Promise<boolean> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removeJwtValidator.name, json)\n return json\n}\n\nexport async function getJwtValidators(): Promise<TJwtAuthValidator[]> {\n const response = await fetch(`${getOAuthApiUrl()}/clients/jwt-auth`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getJwtValidators.name, json)\n return toCamelCase(json) as TJwtAuthValidator[]\n}\n","export * from './oauth'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getOAuthApiUrl } from '@/accounts'\nimport { log } from '@/lib/logging'\nimport { toCamelCase } from '@/lib/obj'\n\nimport type { TTokenResponse, TExchangeTokenParams } from './oauth.types'\n\nexport async function exchangeCodeForToken(params: TExchangeTokenParams): Promise<TTokenResponse> {\n const response = await fetch(`${getOAuthApiUrl()}/oauth2/token`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'authorization_code',\n code: params.code,\n code_verifier: params.codeVerifier,\n redirect_uri: params.redirectUri || 'none',\n }),\n })\n const json = await response.json()\n log(exchangeCodeForToken.name, json)\n return toCamelCase(json) as TTokenResponse\n}\n\nexport async function refreshToken(refreshTokenValue: string): Promise<TTokenResponse> {\n const response = await fetch(`${getOAuthApiUrl()}/oauth2/token`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: new URLSearchParams({\n grant_type: 'refresh_token',\n refresh_token: refreshTokenValue,\n }),\n })\n const json = await response.json()\n log(refreshToken.name, json)\n return toCamelCase(json) as TTokenResponse\n}\n","export * from './api'\nexport * as nfcId from './nfc-id'\nexport * as passportId from './passport-id'\nexport * as promo from './promo'\nexport * as file from './file'\n","import { getCredentials, TCredentials } from '@/lib/credentials'\nimport { io, Socket } from 'socket.io-client'\n\nconst socketPromises = new Map<string, Promise<{ socket: Socket; auth: TCredentials }>>()\n\nexport async function disconnectWs(url: string = null) {\n const socketUrls = url ? [url] : Array.from(socketPromises.keys())\n for (const url of socketUrls) {\n if (!socketPromises.has(url)) continue\n const { socket } = await socketPromises.get(url)\n socket?.disconnect()\n socketPromises.delete(url)\n }\n}\nexport async function connectToWs(url: string): Promise<Socket> {\n const credentials = getCredentials()\n\n if (!socketPromises.has(url)) {\n const promise = new Promise<{ socket: Socket; auth: TCredentials }>((resolve, reject) => {\n const socket = io(url, {\n auth: {\n client_id: credentials.clientId,\n client_secret: credentials.clientSecret,\n },\n })\n socket.once('connect_error', (err) => reject(err))\n socket.once('connect', () => resolve({ socket, auth: credentials }))\n setTimeout(() => reject(new Error('Cannot connect to websocket server')), 5000)\n })\n socketPromises.set(url, promise)\n }\n\n const { socket, auth } = await socketPromises.get(url)\n if (!socket?.connected || auth.clientId !== credentials.clientId || auth.clientSecret !== credentials.clientSecret) {\n await disconnectWs(url)\n return connectToWs(url)\n }\n\n return socket\n}\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\nimport { Socket } from 'socket.io-client'\nimport { connectToWs } from '@/lib/ws'\n\nlet socket: Socket\n\nexport function getGeneralApiUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://api.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://api.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8084'\n }\n}\n\nexport function getGeneralWsUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'wss://general-prod-prod.up.railway.app'\n case SDK_ENV.STAGING:\n return 'wss://general-staging-staging.up.railway.app'\n case SDK_ENV.LOCAL:\n return 'ws://localhost:8084'\n }\n}\nexport async function getWsConnection(): Promise<Socket> {\n if (!socket?.connected) {\n socket = await connectToWs(getGeneralWsUrl())\n }\n return socket\n}\n","export * from './nfc-id'\nexport * from './nfc-id.types'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TNfcId, TUpdateNfcId } from './nfc-id.types'\n\nexport async function addNfcId(params: TNfcId): Promise<TNfcId> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n serial_number: params.serialNumber,\n sub: params.sub,\n ...(params.text ? { text: params.text } : {}),\n }),\n })\n const json = await response.json()\n log(addNfcId.name, json)\n return {\n sub: json.sub,\n serialNumber: json.serial_number,\n text: json.text ?? null,\n }\n}\n\nexport async function updateNfcId(serialNumber: string, params: TUpdateNfcId): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n ...(params.text ? { text: params.text } : {}),\n ...(params.sub ? { sub: params.sub } : {}),\n }),\n })\n const json = await response.json()\n log(updateNfcId.name, json)\n return json\n}\n\nexport async function removeNfcId(serialNumber: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removeNfcId.name, json)\n return json\n}\n\nexport async function getNfcId(serialNumber: string): Promise<Omit<TNfcId, 'serialNumber'>> {\n const response = await fetch(`${getGeneralApiUrl()}/nfc-id/${serialNumber}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getNfcId.name, json)\n return { sub: json.sub, text: json.text ?? null }\n}\n","export * from './passport-id'\n","import { getWsConnection } from '@/api'\nimport { log } from '@/lib/logging'\n\nexport async function requestPassportIdSignature(sub: string, message: string): Promise<{ signature: string }> {\n if (!sub) throw new Error('\"Sub is required\"')\n if (!message) throw new Error('\"Message is required\"')\n\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.once(`passport_id/signed/${sub}`, (data) => {\n log(requestPassportIdSignature.name, 'Received', data)\n resolve(data.payload)\n })\n socket.emit(\n 'passport_id/request_signature',\n {\n payload: { sub, message },\n },\n (data) => {\n if (!data.payload.ok) {\n reject(new Error('Failed to sign message'))\n }\n if (data.error) {\n reject(new Error(data.error.message))\n }\n log(requestPassportIdSignature.name, 'Requested', data)\n },\n )\n })\n}\n","export * as rules from './rules'\nexport * as offers from './offers'\n","export * from './rules'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TCreateRuleParams, TUpdateRuleParams, TRule } from './rules.types'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\n\nexport async function addPromoRule(params: TCreateRuleParams): Promise<TRule> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addPromoRule.name, json)\n return toCamelCase(json) as TRule\n}\n\nexport async function updatePromoRule(id: string, params: TUpdateRuleParams): Promise<TRule> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updatePromoRule.name, json)\n return toCamelCase(json) as TRule\n}\n\nexport async function removePromoRule(id: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removePromoRule.name, json)\n return response.ok\n}\n\nexport async function getPromoRules(): Promise<TRule[]> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/rules`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoRules.name, json)\n return toCamelCase(json) as TRule[]\n}\n","export * from './offers'\n","import { log } from '@/lib/logging'\nimport { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { TCreateOfferParams, TUpdateOfferParams, TOffer, TOfferRss } from './offers.types'\nimport { toCamelCase, toSnakeCase } from '@/lib/obj'\n\nexport async function addPromoOffer(params: TCreateOfferParams): Promise<TOffer> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(addPromoOffer.name, json)\n return toCamelCase(json) as TOffer\n}\n\nexport async function updatePromoOffer(id: string, params: TUpdateOfferParams): Promise<TOffer> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}`, {\n method: 'PATCH',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(toSnakeCase(params)),\n })\n const json = await response.json()\n log(updatePromoOffer.name, json)\n return toCamelCase(json) as TOffer\n}\n\nexport async function removePromoOffer(id: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}`, {\n method: 'DELETE',\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(removePromoOffer.name, json)\n return response.ok\n}\n\nexport async function getPromoOffers(): Promise<TOffer[]> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoOffers.name, json)\n return toCamelCase(json) as TOffer[]\n}\n\nexport async function checkPromoOffer(id: string, sub: string): Promise<boolean> {\n const response = await fetch(`${getGeneralApiUrl()}/promo/offers/${id}/check?sub=${sub}`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(checkPromoOffer.name, json)\n return json\n}\n\nexport async function getPromoOfferRss(params: { suiAddress?: string; evmAddress?: string }): Promise<TOfferRss[]> {\n const url = new URL(`${getGeneralApiUrl()}/promo/offers/rss`)\n if (params?.suiAddress) {\n url.searchParams.append('sui_address', params.suiAddress)\n } else if (params?.evmAddress) {\n url.searchParams.append('evm_address', params.evmAddress)\n throw new Error('Currently not supported for EVM') // Remove when implemented\n }\n\n const response = await fetch(url.toString(), {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getPromoOfferRss.name, json)\n return toCamelCase(json) as TOfferRss[]\n}\n","export * from './file'\n","import { getGeneralApiUrl } from '@/api'\nimport { getBasicToken } from '@/lib/credentials'\nimport { log } from '@/lib/logging'\n\nexport async function uploadFile(file: File): Promise<{\n location: string\n bucket: string\n key: string\n}> {\n const formData = new FormData()\n formData.append('file', file, file.name)\n const response = await fetch(`${getGeneralApiUrl()}/files/upload`, {\n method: 'POST',\n headers: {\n Authorization: getBasicToken(),\n Accept: '*/*',\n },\n body: formData,\n })\n const json = await response.json()\n log(uploadFile.name, json)\n return json\n}\n","export * from './evm'\nexport * as account from './account'\nexport * as contract from './contract'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\nimport { Socket } from 'socket.io-client'\nimport { connectToWs } from '@/lib/ws'\n\nlet socket: Socket\n\nexport function getEvmApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://evm.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://evm.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8082'\n }\n}\n\nexport function getEvmWsUrl(): string {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'wss://evm-prod-prod.up.railway.app'\n case SDK_ENV.STAGING:\n return 'wss://evm-staging-staging.up.railway.app'\n case SDK_ENV.LOCAL:\n return 'ws://localhost:8082'\n }\n}\nexport async function getWsConnection(): Promise<Socket> {\n if (!socket?.connected) {\n socket = await connectToWs(getEvmWsUrl())\n }\n return socket\n}\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getEvmApiUrl } from '@/evm'\nimport { log } from '@/lib/logging'\n\nexport async function getEvmAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getEvmApiUrl()}/accounts/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getEvmAddress.name, json)\n return json\n}\n","export * from './contract'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getEvmApiUrl } from '@/evm'\nimport { log } from '@/lib/logging'\nimport { getWsConnection } from '@/evm'\n\nexport async function getAvailableEvmContracts(): Promise<string[]> {\n const response = await fetch(`${getEvmApiUrl()}/contracts/available`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getAvailableEvmContracts.name, json)\n if (!response.ok) throw new Error(json.message)\n return json\n}\n\nexport async function findEvmContracts(\n params: { name?: string; type?: string; chain_id?: number } = {},\n): Promise<string[]> {\n const url = new URL(`${getEvmApiUrl()}/contracts`)\n for (const [key, val] of Object.entries(params)) {\n url.searchParams.append(key, String(val))\n }\n const response = await fetch(url.toString(), {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(findEvmContracts.name, json)\n if (!response.ok) throw new Error(json.message)\n return json.map((contract) => {\n return {\n id: contract._id,\n type: contract.type,\n name: contract.name,\n chainId: contract.chain_id,\n address: contract.address,\n txHash: contract.tx_hash,\n clientId: contract.client_id,\n }\n })\n}\n\nexport async function deployEvmContract(name: string, chainId: number, ownerAddresses: string[]) {\n if (!name) throw new Error('\"name is required\"')\n if (!chainId) throw new Error('\"chainId\" is required')\n if (ownerAddresses?.length === 0) throw new Error('\"ownerAddresses\" can not be empty')\n\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.emit(\n 'contracts/deploy',\n {\n payload: { name, chain_id: chainId, owner_addresses: ownerAddresses },\n },\n (data) => {\n if (data.error) {\n return reject(new Error(data.error.message))\n }\n log(deployEvmContract.name, `${name} contract deployed`, data)\n resolve({\n id: data.payload.contract._id,\n type: data.payload.contract.type,\n name: data.payload.contract.name,\n chainId,\n address: data.payload.contract.address,\n tx: {\n deployment: data.payload.tx.deployment,\n trustedForwarder: data.payload.tx.trusted_forwarder,\n addOwner: data.payload.tx.add_owner,\n },\n })\n },\n )\n })\n}\n\nexport async function sendEvmMetaTransaction(unsignedSerializedMetaTx: string, accountAddress: string) {\n const socket = await getWsConnection()\n return new Promise((resolve, reject) => {\n socket.emit(\n 'contracts/forward_transaction/client',\n {\n payload: {\n account_address: accountAddress,\n unsigned_serialized_meta_tx: unsignedSerializedMetaTx,\n },\n },\n (data) => {\n if (data.error) {\n return reject(new Error(data.error.message))\n }\n log(sendEvmMetaTransaction.name, `meta tx sent`, data)\n resolve(data.payload)\n },\n )\n })\n}\n","export * from './sui'\nexport * as account from './account'\nexport * as zk from './zk'\n","import { getSdkEnv, SDK_ENV } from '@/lib/sdk-env'\n\nexport function getSuiApiUrl() {\n switch (getSdkEnv()) {\n case SDK_ENV.PROD:\n return 'https://sui.credenza3.com'\n case SDK_ENV.STAGING:\n return 'https://sui.staging.credenza3.com'\n case SDK_ENV.LOCAL:\n return 'http://localhost:8083'\n }\n}\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getSuiApiUrl } from '@/sui'\nimport { log } from '@/lib/logging'\n\nexport async function getSuiAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getSuiApiUrl()}/accounts/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getSuiAddress.name, json)\n return json\n}\n","export * as account from './account'\n","export * from './account'\n","import { getBasicToken } from '@/lib/credentials'\nimport { getSuiApiUrl } from '@/sui'\nimport { log } from '@/lib/logging'\n\nexport async function getSuiZkAddress(sub: string): Promise<{ address: string }> {\n const response = await fetch(`${getSuiApiUrl()}/accounts/zk/${sub}/address`, {\n headers: {\n Authorization: getBasicToken(),\n 'Content-Type': 'application/json',\n },\n })\n const json = await response.json()\n log(getSuiZkAddress.name, json)\n return json\n}\n","import { setCredentials, TCredentials } from './lib/credentials'\nimport { setSdkEnv, TSdkEnv } from './lib/sdk-env'\nimport { enableSdkDebug } from './lib/logging'\n\nexport function useAuth(credentials: TCredentials): void {\n setCredentials(credentials)\n}\n\nexport function useEnv(sdkEnv: TSdkEnv): void {\n setSdkEnv(sdkEnv)\n}\n\nexport function useDebug(enableDebug: boolean) {\n enableSdkDebug(enableDebug)\n}\n\nexport * as accounts from './accounts'\nexport * as api from './api'\nexport * as evm from './evm'\nexport * as sui from './sui'\n"],"mappings":"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","names":["Buffer","url","socket","credentials","socket","getWsConnection","socket","getWsConnection","socket","getWsConnection","account_exports","account_exports","account_exports","account_exports","credentials","sdkEnv"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@credenza3/partner-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Credenza partner sdk",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"type": "git",
|
|
10
10
|
"url": "https://github.com/credenza-web3/credenza-partner-sdk.git"
|
|
11
11
|
},
|
|
12
|
-
"author": "Credenza
|
|
12
|
+
"author": "Credenza",
|
|
13
13
|
"files": [
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
@@ -18,25 +18,28 @@
|
|
|
18
18
|
"socket.io-client": "^4.8.1"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@eslint/eslintrc": "^3.1
|
|
22
|
-
"@eslint/js": "^9.
|
|
23
|
-
"@types/jest": "^
|
|
24
|
-
"@types/node": "^
|
|
25
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
26
|
-
"@typescript-eslint/parser": "^8.
|
|
27
|
-
"dotenv": "^
|
|
28
|
-
"eslint": "9.
|
|
29
|
-
"eslint-config-prettier": "^
|
|
30
|
-
"eslint-plugin-prettier": "^5.
|
|
31
|
-
"globals": "^
|
|
32
|
-
"husky": "^9.1.
|
|
33
|
-
"jest": "^
|
|
34
|
-
"lint-staged": "^
|
|
35
|
-
"prettier": "^3.
|
|
36
|
-
"ts-jest": "^29.
|
|
21
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
22
|
+
"@eslint/js": "^9.38.0",
|
|
23
|
+
"@types/jest": "^30.0.0",
|
|
24
|
+
"@types/node": "^24.9.2",
|
|
25
|
+
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
26
|
+
"@typescript-eslint/parser": "^8.46.2",
|
|
27
|
+
"dotenv": "^17.2.3",
|
|
28
|
+
"eslint": "9.38.0",
|
|
29
|
+
"eslint-config-prettier": "^10.1.8",
|
|
30
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
31
|
+
"globals": "^16.4.0",
|
|
32
|
+
"husky": "^9.1.7",
|
|
33
|
+
"jest": "^30.2.0",
|
|
34
|
+
"lint-staged": "^16.2.6",
|
|
35
|
+
"prettier": "^3.6.2",
|
|
36
|
+
"ts-jest": "^29.4.5",
|
|
37
37
|
"ts-node": "^10.9.2",
|
|
38
|
-
"tsup": "^8.
|
|
39
|
-
"typescript": "^5.
|
|
38
|
+
"tsup": "^8.5.0",
|
|
39
|
+
"typescript": "^5.9.3"
|
|
40
|
+
},
|
|
41
|
+
"publishConfig": {
|
|
42
|
+
"access": "public"
|
|
40
43
|
},
|
|
41
44
|
"scripts": {
|
|
42
45
|
"build": "tsup",
|