@credenza3/partner-sdk 1.0.2 → 1.0.3

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 CHANGED
@@ -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
- const socket3 = (0, import_socket.io)(url, {
345
- auth: {
346
- client_id: credentials2.clientId,
347
- client_secret: credentials2.clientSecret
348
- }
349
- });
350
- yield new Promise((resolve, reject) => {
351
- socket3.once("connect_error", (err) => reject(err));
352
- socket3.once("connect", () => resolve(socket3));
353
- setTimeout(() => reject(new Error("Cannot connect to websocket server")), 5e3);
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
- const socket3 = io(url, {
321
- auth: {
322
- client_id: credentials2.clientId,
323
- client_secret: credentials2.clientSecret
324
- }
325
- });
326
- yield new Promise((resolve, reject) => {
327
- socket3.once("connect_error", (err) => reject(err));
328
- socket3.once("connect", () => resolve(socket3));
329
- setTimeout(() => reject(new Error("Cannot connect to websocket server")), 5e3);
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
  }
@@ -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.2",
3
+ "version": "1.0.3",
4
4
  "description": "Credenza partner sdk",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -18,25 +18,25 @@
18
18
  "socket.io-client": "^4.8.1"
19
19
  },
20
20
  "devDependencies": {
21
- "@eslint/eslintrc": "^3.1.0",
22
- "@eslint/js": "^9.13.0",
21
+ "@eslint/eslintrc": "^3.2.0",
22
+ "@eslint/js": "^9.17.0",
23
23
  "@types/jest": "^29.5.14",
24
- "@types/node": "^22.8.1",
25
- "@typescript-eslint/eslint-plugin": "^8.11.0",
26
- "@typescript-eslint/parser": "^8.11.0",
27
- "dotenv": "^16.4.5",
28
- "eslint": "9.13.0",
24
+ "@types/node": "^22.10.5",
25
+ "@typescript-eslint/eslint-plugin": "^8.19.0",
26
+ "@typescript-eslint/parser": "^8.19.0",
27
+ "dotenv": "^16.4.7",
28
+ "eslint": "9.17.0",
29
29
  "eslint-config-prettier": "^9.1.0",
30
30
  "eslint-plugin-prettier": "^5.2.1",
31
- "globals": "^15.11.0",
32
- "husky": "^9.1.6",
31
+ "globals": "^15.14.0",
32
+ "husky": "^9.1.7",
33
33
  "jest": "^29.7.0",
34
- "lint-staged": "^15.2.10",
35
- "prettier": "^3.3.3",
34
+ "lint-staged": "^15.3.0",
35
+ "prettier": "^3.4.2",
36
36
  "ts-jest": "^29.2.5",
37
37
  "ts-node": "^10.9.2",
38
38
  "tsup": "^8.3.5",
39
- "typescript": "^5.6.3"
39
+ "typescript": "^5.7.2"
40
40
  },
41
41
  "scripts": {
42
42
  "build": "tsup",