@cardano-sdk/cardano-services-client 0.19.3 → 0.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/cardano-services-client",
3
- "version": "0.19.3",
3
+ "version": "0.19.4",
4
4
  "description": "Cardano Services Client",
5
5
  "engines": {
6
6
  "node": ">=16.20.2"
@@ -40,8 +40,7 @@
40
40
  "test:debug": "DEBUG=true yarn test"
41
41
  },
42
42
  "devDependencies": {
43
- "@cardano-sdk/util-dev": "~0.20.3",
44
- "@koralabs/handles-public-api-interfaces": "2.4.3",
43
+ "@cardano-sdk/util-dev": "~0.20.4",
45
44
  "@types/validator": "^13.7.1",
46
45
  "axios-mock-adapter": "^1.20.0",
47
46
  "eslint": "^7.32.0",
@@ -54,7 +53,7 @@
54
53
  "typescript": "^4.7.4"
55
54
  },
56
55
  "dependencies": {
57
- "@cardano-sdk/core": "~0.31.0",
56
+ "@cardano-sdk/core": "~0.32.0",
58
57
  "@cardano-sdk/util": "~0.15.1",
59
58
  "axios": "^0.28.0",
60
59
  "class-validator": "^0.14.0",
@@ -67,5 +66,5 @@
67
66
  "LICENSE",
68
67
  "NOTICE"
69
68
  ],
70
- "gitHead": "f74f36add4bdd26084eb2dc9060466062ad660db"
69
+ "gitHead": "6fb60f7638bb0d08ad7ba9ad2135669e86849ddb"
71
70
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cardano-sdk/cardano-services-client",
3
- "version": "0.19.3",
3
+ "version": "0.19.4",
4
4
  "description": "Cardano Services Client",
5
5
  "engines": {
6
6
  "node": ">=16.20.2"
@@ -40,8 +40,7 @@
40
40
  "test:debug": "DEBUG=true yarn test"
41
41
  },
42
42
  "devDependencies": {
43
- "@cardano-sdk/util-dev": "~0.20.3",
44
- "@koralabs/handles-public-api-interfaces": "2.4.3",
43
+ "@cardano-sdk/util-dev": "~0.20.4",
45
44
  "@types/validator": "^13.7.1",
46
45
  "axios-mock-adapter": "^1.20.0",
47
46
  "eslint": "^7.32.0",
@@ -54,7 +53,7 @@
54
53
  "typescript": "^4.7.4"
55
54
  },
56
55
  "dependencies": {
57
- "@cardano-sdk/core": "~0.31.0",
56
+ "@cardano-sdk/core": "~0.32.0",
58
57
  "@cardano-sdk/util": "~0.15.1",
59
58
  "axios": "^0.28.0",
60
59
  "class-validator": "^0.14.0",
@@ -67,5 +66,5 @@
67
66
  "LICENSE",
68
67
  "NOTICE"
69
68
  ],
70
- "gitHead": "f74f36add4bdd26084eb2dc9060466062ad660db"
69
+ "gitHead": "6fb60f7638bb0d08ad7ba9ad2135669e86849ddb"
71
70
  }
@@ -1,21 +0,0 @@
1
- import { Cardano, HandleProvider, HandleResolution, HealthCheckResponse, ResolveHandlesArgs } from '@cardano-sdk/core';
2
- import { IHandle } from '@koralabs/handles-public-api-interfaces';
3
- import { AxiosAdapter } from 'axios';
4
- export interface KoraLabsHandleProviderDeps {
5
- serverUrl: string;
6
- adapter?: AxiosAdapter;
7
- policyId: Cardano.PolicyId;
8
- }
9
- export declare const toHandleResolution: ({ apiResponse, policyId }: {
10
- apiResponse: IHandle;
11
- policyId: Cardano.PolicyId;
12
- }) => HandleResolution;
13
- export declare class KoraLabsHandleProvider implements HandleProvider {
14
- private axiosClient;
15
- policyId: Cardano.PolicyId;
16
- constructor({ serverUrl, adapter, policyId }: KoraLabsHandleProviderDeps);
17
- resolveHandles(args: ResolveHandlesArgs): Promise<Array<HandleResolution | null>>;
18
- healthCheck(): Promise<HealthCheckResponse>;
19
- getPolicyIds(): Promise<Cardano.PolicyId[]>;
20
- }
21
- //# sourceMappingURL=KoraLabsHandleProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KoraLabsHandleProvider.d.ts","sourceRoot":"","sources":["../../../src/HandleProvider/KoraLabsHandleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EAGnB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClE,OAAc,EAAE,YAAY,EAAiB,MAAM,OAAO,CAAC;AAQ3D,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;CAC5B;AAED,eAAO,MAAM,kBAAkB;iBAIhB,OAAO;cACV,QAAQ,QAAQ;MACxB,gBAQF,CAAC;AAOH,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,OAAO,CAAC,WAAW,CAAgB;IACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;gBAEf,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,0BAA0B;IAQlE,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAuBjF,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAS3C,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGlD"}
@@ -1,65 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.KoraLabsHandleProvider = exports.toHandleResolution = void 0;
7
- const core_1 = require("@cardano-sdk/core");
8
- const axios_1 = __importDefault(require("axios"));
9
- const paths = {
10
- handles: '/handles',
11
- healthCheck: '/health'
12
- };
13
- const toHandleResolution = ({ apiResponse, policyId }) => ({
14
- backgroundImage: apiResponse.bg_image ? core_1.Asset.Uri(apiResponse.bg_image) : undefined,
15
- cardanoAddress: core_1.Cardano.PaymentAddress(apiResponse.resolved_addresses.ada),
16
- handle: apiResponse.name,
17
- hasDatum: apiResponse.has_datum,
18
- image: apiResponse.image ? core_1.Asset.Uri(apiResponse.image) : undefined,
19
- policyId,
20
- profilePic: apiResponse.pfp_image ? core_1.Asset.Uri(apiResponse.pfp_image) : undefined
21
- });
22
- exports.toHandleResolution = toHandleResolution;
23
- class KoraLabsHandleProvider {
24
- constructor({ serverUrl, adapter, policyId }) {
25
- this.axiosClient = axios_1.default.create({
26
- adapter,
27
- baseURL: serverUrl
28
- });
29
- this.policyId = policyId;
30
- }
31
- async resolveHandles(args) {
32
- try {
33
- const results = await Promise.all(args.handles.map((handle) => this.axiosClient.get(`${paths.handles}/${handle}`)));
34
- return results.map(({ data: apiResponse }) => (0, exports.toHandleResolution)({ apiResponse, policyId: this.policyId }));
35
- }
36
- catch (error) {
37
- if (axios_1.default.isAxiosError(error)) {
38
- if (error.request) {
39
- throw new core_1.ProviderError(core_1.ProviderFailure.ConnectionFailure, error, error.code);
40
- }
41
- if (error.response?.status === 404) {
42
- return [null];
43
- }
44
- throw new core_1.ProviderError(core_1.ProviderFailure.Unhealthy, error, `Failed to resolve handles due to: ${error.message}`);
45
- }
46
- if (error instanceof core_1.ProviderError)
47
- throw error;
48
- throw new core_1.ProviderError(core_1.ProviderFailure.Unknown, error, 'Failed to resolve handles');
49
- }
50
- }
51
- async healthCheck() {
52
- try {
53
- await this.axiosClient.get(`${paths.healthCheck}`);
54
- return { ok: true };
55
- }
56
- catch {
57
- return { ok: false };
58
- }
59
- }
60
- async getPolicyIds() {
61
- return [this.policyId];
62
- }
63
- }
64
- exports.KoraLabsHandleProvider = KoraLabsHandleProvider;
65
- //# sourceMappingURL=KoraLabsHandleProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KoraLabsHandleProvider.js","sourceRoot":"","sources":["../../../src/HandleProvider/KoraLabsHandleProvider.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { Cardano, HandleProvider, HandleResolution, HealthCheckResponse, ResolveHandlesArgs } from '@cardano-sdk/core';
2
- import { IHandle } from '@koralabs/handles-public-api-interfaces';
3
- import { AxiosAdapter } from 'axios';
4
- export interface KoraLabsHandleProviderDeps {
5
- serverUrl: string;
6
- adapter?: AxiosAdapter;
7
- policyId: Cardano.PolicyId;
8
- }
9
- export declare const toHandleResolution: ({ apiResponse, policyId }: {
10
- apiResponse: IHandle;
11
- policyId: Cardano.PolicyId;
12
- }) => HandleResolution;
13
- export declare class KoraLabsHandleProvider implements HandleProvider {
14
- private axiosClient;
15
- policyId: Cardano.PolicyId;
16
- constructor({ serverUrl, adapter, policyId }: KoraLabsHandleProviderDeps);
17
- resolveHandles(args: ResolveHandlesArgs): Promise<Array<HandleResolution | null>>;
18
- healthCheck(): Promise<HealthCheckResponse>;
19
- getPolicyIds(): Promise<Cardano.PolicyId[]>;
20
- }
21
- //# sourceMappingURL=KoraLabsHandleProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KoraLabsHandleProvider.d.ts","sourceRoot":"","sources":["../../../src/HandleProvider/KoraLabsHandleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EAGnB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClE,OAAc,EAAE,YAAY,EAAiB,MAAM,OAAO,CAAC;AAQ3D,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;CAC5B;AAED,eAAO,MAAM,kBAAkB;iBAIhB,OAAO;cACV,QAAQ,QAAQ;MACxB,gBAQF,CAAC;AAOH,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,OAAO,CAAC,WAAW,CAAgB;IACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;gBAEf,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,0BAA0B;IAQlE,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAuBjF,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAS3C,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;CAGlD"}
@@ -1,57 +0,0 @@
1
- import { Asset, Cardano, ProviderError, ProviderFailure } from '@cardano-sdk/core';
2
- import axios from 'axios';
3
- const paths = {
4
- handles: '/handles',
5
- healthCheck: '/health'
6
- };
7
- export const toHandleResolution = ({ apiResponse, policyId }) => ({
8
- backgroundImage: apiResponse.bg_image ? Asset.Uri(apiResponse.bg_image) : undefined,
9
- cardanoAddress: Cardano.PaymentAddress(apiResponse.resolved_addresses.ada),
10
- handle: apiResponse.name,
11
- hasDatum: apiResponse.has_datum,
12
- image: apiResponse.image ? Asset.Uri(apiResponse.image) : undefined,
13
- policyId,
14
- profilePic: apiResponse.pfp_image ? Asset.Uri(apiResponse.pfp_image) : undefined
15
- });
16
- export class KoraLabsHandleProvider {
17
- constructor({ serverUrl, adapter, policyId }) {
18
- this.axiosClient = axios.create({
19
- adapter,
20
- baseURL: serverUrl
21
- });
22
- this.policyId = policyId;
23
- }
24
- async resolveHandles(args) {
25
- try {
26
- const results = await Promise.all(args.handles.map((handle) => this.axiosClient.get(`${paths.handles}/${handle}`)));
27
- return results.map(({ data: apiResponse }) => toHandleResolution({ apiResponse, policyId: this.policyId }));
28
- }
29
- catch (error) {
30
- if (axios.isAxiosError(error)) {
31
- if (error.request) {
32
- throw new ProviderError(ProviderFailure.ConnectionFailure, error, error.code);
33
- }
34
- if (error.response?.status === 404) {
35
- return [null];
36
- }
37
- throw new ProviderError(ProviderFailure.Unhealthy, error, `Failed to resolve handles due to: ${error.message}`);
38
- }
39
- if (error instanceof ProviderError)
40
- throw error;
41
- throw new ProviderError(ProviderFailure.Unknown, error, 'Failed to resolve handles');
42
- }
43
- }
44
- async healthCheck() {
45
- try {
46
- await this.axiosClient.get(`${paths.healthCheck}`);
47
- return { ok: true };
48
- }
49
- catch {
50
- return { ok: false };
51
- }
52
- }
53
- async getPolicyIds() {
54
- return [this.policyId];
55
- }
56
- }
57
- //# sourceMappingURL=KoraLabsHandleProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KoraLabsHandleProvider.js","sourceRoot":"","sources":["../../../src/HandleProvider/KoraLabsHandleProvider.ts"],"names":[],"mappings":"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"}