@credenza3/partner-sdk 0.0.1-alpha.2 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/api/api.js CHANGED
@@ -4,8 +4,7 @@ exports.getGeneralApiUrl = getGeneralApiUrl;
4
4
  exports.getGeneralWsUrl = getGeneralWsUrl;
5
5
  exports.getWsConnection = getWsConnection;
6
6
  const sdk_env_1 = require("../lib/sdk-env");
7
- const socket_io_client_1 = require("socket.io-client");
8
- const credentials_1 = require("../lib/credentials");
7
+ const ws_1 = require("../lib/ws");
9
8
  let socket;
10
9
  function getGeneralApiUrl() {
11
10
  switch ((0, sdk_env_1.getSdkEnv)()) {
@@ -28,19 +27,8 @@ function getGeneralWsUrl() {
28
27
  }
29
28
  }
30
29
  async function getWsConnection() {
31
- const credentials = (0, credentials_1.getCredentials)();
32
30
  if (!socket?.connected) {
33
- socket = (0, socket_io_client_1.io)(getGeneralWsUrl(), {
34
- auth: {
35
- client_id: credentials.clientId,
36
- client_secret: credentials.clientSecret,
37
- },
38
- });
39
- await new Promise((resolve, reject) => {
40
- socket.once('connect_error', (err) => reject(err));
41
- socket.once('connect', () => resolve(socket));
42
- setTimeout(() => reject(new Error('Cannot connect to websocket server')), 5000);
43
- });
31
+ socket = await (0, ws_1.connectToWs)(getGeneralWsUrl());
44
32
  }
45
33
  return socket;
46
34
  }
@@ -0,0 +1,8 @@
1
+ export declare function getAvailableEvmContracts(): Promise<string[]>;
2
+ export declare function findEvmContracts(params?: {
3
+ name?: string;
4
+ type?: string;
5
+ chain_id?: number;
6
+ }): Promise<string[]>;
7
+ export declare function deployEvmContract(name: string, chainId: number, ownerAddresses: string[]): Promise<unknown>;
8
+ export declare function sendEvmMetaTransaction(unsignedSerializedMetaTx: string): Promise<unknown>;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAvailableEvmContracts = getAvailableEvmContracts;
4
+ exports.findEvmContracts = findEvmContracts;
5
+ exports.deployEvmContract = deployEvmContract;
6
+ exports.sendEvmMetaTransaction = sendEvmMetaTransaction;
7
+ const credentials_1 = require("../../lib/credentials");
8
+ const evm_1 = require("../../evm");
9
+ const logging_1 = require("../../lib/logging");
10
+ const evm_2 = require("../../evm");
11
+ async function getAvailableEvmContracts() {
12
+ const response = await fetch(`${(0, evm_1.getEvmApiUrl)()}/contracts/available`, {
13
+ headers: {
14
+ Authorization: (0, credentials_1.getBasicToken)(),
15
+ 'Content-Type': 'application/json',
16
+ },
17
+ });
18
+ const json = await response.json();
19
+ (0, logging_1.log)(getAvailableEvmContracts.name, json);
20
+ if (!response.ok)
21
+ throw new Error(json.message);
22
+ return json;
23
+ }
24
+ async function findEvmContracts(params = {}) {
25
+ const url = new URL(`${(0, evm_1.getEvmApiUrl)()}/contracts`);
26
+ for (const [key, val] of Object.entries(params)) {
27
+ url.searchParams.append(key, String(val));
28
+ }
29
+ const response = await fetch(url.toString(), {
30
+ headers: {
31
+ Authorization: (0, credentials_1.getBasicToken)(),
32
+ 'Content-Type': 'application/json',
33
+ },
34
+ });
35
+ const json = await response.json();
36
+ (0, logging_1.log)(findEvmContracts.name, json);
37
+ if (!response.ok)
38
+ throw new Error(json.message);
39
+ return json.map((contract) => {
40
+ return {
41
+ id: contract._id,
42
+ type: contract.type,
43
+ name: contract.name,
44
+ chainId: contract.chain_id,
45
+ address: contract.address,
46
+ txHash: contract.tx_hash,
47
+ clientId: contract.client_id,
48
+ };
49
+ });
50
+ }
51
+ async function deployEvmContract(name, chainId, ownerAddresses) {
52
+ if (!name)
53
+ throw new Error('"name is required"');
54
+ if (!chainId)
55
+ throw new Error('"chainId" is required');
56
+ if (!ownerAddresses?.length)
57
+ throw new Error('"ownerAddresses" can not be empty');
58
+ const socket = await (0, evm_2.getWsConnection)();
59
+ return new Promise((resolve, reject) => {
60
+ socket.emit('contracts/deploy', {
61
+ payload: { name, chain_id: chainId, owner_addresses: ownerAddresses },
62
+ }, (data) => {
63
+ if (data.error) {
64
+ return reject(new Error(data.error.message));
65
+ }
66
+ (0, logging_1.log)(deployEvmContract.name, `${name} contract deployed`, data);
67
+ resolve({
68
+ id: data.payload.contract._id,
69
+ type: data.payload.contract.type,
70
+ name: data.payload.contract.name,
71
+ chainId,
72
+ address: data.payload.contract.address,
73
+ tx: {
74
+ deployment: data.payload.tx.deployment,
75
+ trustedForwarder: data.payload.tx.trusted_forwarder,
76
+ addOwner: data.payload.tx.add_owner,
77
+ },
78
+ });
79
+ });
80
+ });
81
+ }
82
+ async function sendEvmMetaTransaction(unsignedSerializedMetaTx) {
83
+ const socket = await (0, evm_2.getWsConnection)();
84
+ return new Promise((resolve, reject) => {
85
+ socket.emit('contracts/forward_transaction/client', {
86
+ payload: {
87
+ unsigned_serialized_meta_tx: unsignedSerializedMetaTx,
88
+ },
89
+ }, (data) => {
90
+ if (data.error) {
91
+ return reject(new Error(data.error.message));
92
+ }
93
+ (0, logging_1.log)(sendEvmMetaTransaction.name, `meta tx sent`, data);
94
+ resolve(data.payload);
95
+ });
96
+ });
97
+ }
@@ -0,0 +1 @@
1
+ export * from './contract';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./contract"), exports);
package/dist/evm/evm.d.ts CHANGED
@@ -1 +1,4 @@
1
+ import { Socket } from 'socket.io-client';
1
2
  export declare function getEvmApiUrl(): "https://evm.credenza3.com" | "https://evm.staging.credenza3.com" | "http://localhost:8082";
3
+ export declare function getEvmWsUrl(): string;
4
+ export declare function getWsConnection(): Promise<Socket>;
package/dist/evm/evm.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getEvmApiUrl = getEvmApiUrl;
4
+ exports.getEvmWsUrl = getEvmWsUrl;
5
+ exports.getWsConnection = getWsConnection;
4
6
  const sdk_env_1 = require("../lib/sdk-env");
7
+ const ws_1 = require("../lib/ws");
8
+ let socket;
5
9
  function getEvmApiUrl() {
6
10
  switch ((0, sdk_env_1.getSdkEnv)()) {
7
11
  case sdk_env_1.SDK_ENV.PROD:
@@ -12,3 +16,19 @@ function getEvmApiUrl() {
12
16
  return 'http://localhost:8082';
13
17
  }
14
18
  }
19
+ function getEvmWsUrl() {
20
+ switch ((0, sdk_env_1.getSdkEnv)()) {
21
+ case sdk_env_1.SDK_ENV.PROD:
22
+ return 'wss://evm-prod-prod.up.railway.app';
23
+ case sdk_env_1.SDK_ENV.STAGING:
24
+ return 'wss://evm-staging-staging.up.railway.app';
25
+ case sdk_env_1.SDK_ENV.LOCAL:
26
+ return 'ws://localhost:8082';
27
+ }
28
+ }
29
+ async function getWsConnection() {
30
+ if (!socket?.connected) {
31
+ socket = await (0, ws_1.connectToWs)(getEvmWsUrl());
32
+ }
33
+ return socket;
34
+ }
@@ -1,2 +1,3 @@
1
1
  export * from './evm';
2
2
  export * from './account';
3
+ export * from './contract';
package/dist/evm/index.js CHANGED
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./evm"), exports);
18
18
  __exportStar(require("./account"), exports);
19
+ __exportStar(require("./contract"), exports);
@@ -0,0 +1 @@
1
+ export * from './ws';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ws"), exports);
@@ -0,0 +1,2 @@
1
+ import { Socket } from 'socket.io-client';
2
+ export declare function connectToWs(url: string): Promise<Socket>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.connectToWs = connectToWs;
4
+ const credentials_1 = require("../../lib/credentials");
5
+ const socket_io_client_1 = require("socket.io-client");
6
+ async function connectToWs(url) {
7
+ const credentials = (0, credentials_1.getCredentials)();
8
+ const socket = (0, socket_io_client_1.io)(url, {
9
+ auth: {
10
+ client_id: credentials.clientId,
11
+ client_secret: credentials.clientSecret,
12
+ },
13
+ });
14
+ await new Promise((resolve, reject) => {
15
+ socket.once('connect_error', (err) => reject(err));
16
+ socket.once('connect', () => resolve(socket));
17
+ setTimeout(() => reject(new Error('Cannot connect to websocket server')), 5000);
18
+ });
19
+ return socket;
20
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@credenza3/partner-sdk",
3
- "version": "0.0.1-alpha.2",
3
+ "version": "0.0.1",
4
4
  "description": "Credenza partner sdk",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -39,16 +39,20 @@
39
39
  "socket.io-client": "^4.7.5"
40
40
  },
41
41
  "devDependencies": {
42
- "@types/node": "^22.0.0",
43
- "@typescript-eslint/eslint-plugin": "^7.18.0",
44
- "eslint": "8.57.0",
42
+ "@eslint/eslintrc": "^3.1.0",
43
+ "@eslint/js": "^9.10.0",
44
+ "@types/node": "^22.5.4",
45
+ "@typescript-eslint/eslint-plugin": "^8.5.0",
46
+ "@typescript-eslint/parser": "^8.5.0",
47
+ "eslint": "9.10.0",
45
48
  "eslint-config-prettier": "^9.1.0",
46
49
  "eslint-plugin-prettier": "^5.2.1",
47
- "husky": "^9.1.4",
48
- "lint-staged": "^15.2.7",
50
+ "globals": "^15.9.0",
51
+ "husky": "^9.1.6",
52
+ "lint-staged": "^15.2.10",
49
53
  "prettier": "^3.3.3",
50
54
  "tsc-alias": "^1.8.10",
51
- "typescript": "^5.5.4"
55
+ "typescript": "^5.6.2"
52
56
  },
53
57
  "scripts": {
54
58
  "build": "tsc && tsc-alias",