@settlemint/dalp-sdk 3.1.18 → 3.1.19-main.34482536277

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.
Files changed (104) hide show
  1. package/README.md +156 -169
  2. package/dist/auth/client.d.ts +113 -0
  3. package/dist/auth/live.d.ts +4366 -0
  4. package/dist/{auth-permissions.d.ts → auth/permissions.d.ts} +1 -2
  5. package/dist/{auth-wallet-plugins.d.ts → auth/wallet-plugins.d.ts} +69 -5
  6. package/dist/auth.d.ts +22 -115
  7. package/dist/auth.js +329 -0
  8. package/dist/bundler.d.ts +21 -205
  9. package/dist/bundler.js +97 -0
  10. package/dist/chunk-09prmw53.js +4 -0
  11. package/dist/chunk-d0295j58.js +33 -0
  12. package/dist/chunk-j4sxrfzz.js +54 -0
  13. package/dist/chunk-qvtjb3dz.js +102 -0
  14. package/dist/chunk-rb8k4w3q.js +67 -0
  15. package/dist/chunk-shp8v4ws.js +913 -0
  16. package/dist/chunk-sk9nc2q3.js +10 -0
  17. package/dist/chunk-xp3fx2yt.js +63 -0
  18. package/dist/chunk-ybqqdgrd.js +260 -0
  19. package/dist/client/conditional-request.d.ts +30 -0
  20. package/dist/client/factory.d.ts +14 -0
  21. package/dist/client/query-serializer.d.ts +2 -0
  22. package/dist/client/request-compression.d.ts +47 -0
  23. package/dist/client/ssr-fetch.d.ts +12 -0
  24. package/dist/effect.d.ts +78 -0
  25. package/dist/effect.js +87 -0
  26. package/dist/errors/api-error.d.ts +33 -0
  27. package/dist/errors/find-current-error.d.ts +8 -0
  28. package/dist/errors/sdk-error.d.ts +52 -0
  29. package/dist/errors/sdk-error.js +8 -0
  30. package/dist/generated/api-types.d.ts +56950 -0
  31. package/dist/generated/response-scalars.d.ts +9 -0
  32. package/dist/generated/routes.d.ts +12 -0
  33. package/dist/index.d.ts +28 -40
  34. package/dist/index.js +127 -96109
  35. package/dist/proxy/builder.d.ts +47 -0
  36. package/dist/proxy/client.d.ts +32 -0
  37. package/dist/proxy/fetch-executor.d.ts +30 -0
  38. package/dist/proxy/flat-args.d.ts +52 -0
  39. package/dist/proxy/sse.d.ts +75 -0
  40. package/dist/proxy/tanstack.d.ts +27 -0
  41. package/dist/proxy/transport.d.ts +74 -0
  42. package/dist/react-query.d.ts +16 -0
  43. package/dist/react-query.js +12 -0
  44. package/dist/readonly-deep.d.ts +12 -0
  45. package/dist/reads-as-funding-paused.d.ts +20 -0
  46. package/dist/reads-as-indexer-rebuild.d.ts +14 -0
  47. package/dist/routes/index.d.ts +20 -0
  48. package/dist/routes/index.js +10 -0
  49. package/dist/routes/types.d.ts +57 -0
  50. package/dist/runtime-exports.d.ts +20 -0
  51. package/dist/runtime-exports.js +16 -0
  52. package/dist/scalars/big-decimal.d.ts +16 -0
  53. package/dist/scalars/ethereum-address.d.ts +20 -0
  54. package/dist/scalars/exchange-rates.d.ts +27 -0
  55. package/dist/scalars/index.d.ts +18 -0
  56. package/dist/scalars/index.js +86 -0
  57. package/dist/scalars/organization-id.d.ts +20 -0
  58. package/dist/secret.d.ts +14 -0
  59. package/dist/sign-webhook-receipt.d.ts +76 -0
  60. package/dist/sign-webhook-receipt.js +26 -0
  61. package/dist/transport/cookie-store.d.ts +9 -0
  62. package/dist/transport/sse-lifecycle.d.ts +44 -0
  63. package/dist/types.d.ts +69 -102
  64. package/dist/url.d.ts +0 -1
  65. package/dist/verify-webhook.d.ts +17 -28
  66. package/dist/verify-webhook.js +8 -0
  67. package/dist/version.d.ts +0 -1
  68. package/dist/wait-for-transaction.d.ts +66 -79
  69. package/dist/wait-for-transaction.js +142 -0
  70. package/dist/webhook-events.d.ts +44 -27
  71. package/package.json +103 -30
  72. package/dist/auth-permissions.d.ts.map +0 -1
  73. package/dist/auth-wallet-plugins.d.ts.map +0 -1
  74. package/dist/auth.d.ts.map +0 -1
  75. package/dist/bundler.d.ts.map +0 -1
  76. package/dist/chunk-xm8h1dzh.js +0 -33
  77. package/dist/client.d.ts +0 -19
  78. package/dist/client.d.ts.map +0 -1
  79. package/dist/contract-errors.d.ts +0 -4156
  80. package/dist/contract-errors.d.ts.map +0 -1
  81. package/dist/contract.d.ts +0 -17
  82. package/dist/contract.d.ts.map +0 -1
  83. package/dist/cookie-store.d.ts +0 -10
  84. package/dist/cookie-store.d.ts.map +0 -1
  85. package/dist/dapi-errors.d.ts +0 -650
  86. package/dist/dapi-errors.d.ts.map +0 -1
  87. package/dist/errors.d.ts +0 -633
  88. package/dist/errors.d.ts.map +0 -1
  89. package/dist/index.d.ts.map +0 -1
  90. package/dist/platform.d.ts +0 -41
  91. package/dist/platform.d.ts.map +0 -1
  92. package/dist/plugins/index.d.ts +0 -13
  93. package/dist/plugins/index.d.ts.map +0 -1
  94. package/dist/plugins/index.js +0 -10
  95. package/dist/sdk-error.d.ts +0 -74
  96. package/dist/sdk-error.d.ts.map +0 -1
  97. package/dist/serializers.d.ts +0 -41
  98. package/dist/serializers.d.ts.map +0 -1
  99. package/dist/types.d.ts.map +0 -1
  100. package/dist/url.d.ts.map +0 -1
  101. package/dist/verify-webhook.d.ts.map +0 -1
  102. package/dist/version.d.ts.map +0 -1
  103. package/dist/wait-for-transaction.d.ts.map +0 -1
  104. package/dist/webhook-events.d.ts.map +0 -1
@@ -0,0 +1,33 @@
1
+ import {
2
+ data
3
+ } from "./chunk-09prmw53.js";
4
+ import {
5
+ createTransport,
6
+ streamRequest,
7
+ sendRequest,
8
+ createFetchExecutor,
9
+ createTanstackFactories
10
+ } from "./chunk-shp8v4ws.js";
11
+ import {
12
+ buildProxy,
13
+ findRoute
14
+ } from "./chunk-rb8k4w3q.js";
15
+
16
+ // src/proxy/client.ts
17
+ function createDalpClient2(options) {
18
+ const transport = createTransport(options);
19
+ const api = buildProxy(data, createFetchExecutor(transport), createTanstackFactories(transport));
20
+ return {
21
+ api,
22
+ conditionalRequests: transport.conditionalRequests,
23
+ execute: async (routeId, input, callOptions) => {
24
+ const route = findRoute(data, routeId);
25
+ if (route === undefined) {
26
+ throw new TypeError(`Unknown DALP route \`${routeId}\``);
27
+ }
28
+ const result = route.serializer === "sse" ? streamRequest(transport, route, input, callOptions) : await sendRequest(transport, route, input, callOptions);
29
+ return result;
30
+ }
31
+ };
32
+ }
33
+ export { createDalpClient2 };
@@ -0,0 +1,54 @@
1
+ // src/errors/sdk-error.ts
2
+ var DALP_SDK_ERROR_CODE = "DALP_SDK_ERROR";
3
+ var DALP_SDK_ERROR_CATEGORY = "sdk.configuration";
4
+
5
+ class DalpSdkError2 extends Error {
6
+ code;
7
+ category;
8
+ status;
9
+ retryable;
10
+ why;
11
+ fix;
12
+ details;
13
+ retryAfterSeconds;
14
+ constructor(options) {
15
+ super(options.message, { cause: options.cause });
16
+ this.name = "DalpSdkError";
17
+ this.code = options.code ?? DALP_SDK_ERROR_CODE;
18
+ this.category = options.category;
19
+ this.status = options.status;
20
+ this.retryable = options.retryable;
21
+ this.why = options.why;
22
+ this.fix = options.fix;
23
+ this.details = options.details;
24
+ this.retryAfterSeconds = options.retryAfterSeconds;
25
+ }
26
+ toJSON() {
27
+ return {
28
+ name: "DalpSdkError",
29
+ code: this.code,
30
+ category: this.category,
31
+ retryable: this.retryable,
32
+ message: this.message,
33
+ why: this.why,
34
+ fix: this.fix,
35
+ ...this.status === undefined ? {} : { status: this.status },
36
+ ...this.details === undefined ? {} : { details: this.details },
37
+ ...this.retryAfterSeconds === undefined ? {} : { retryAfterSeconds: this.retryAfterSeconds }
38
+ };
39
+ }
40
+ }
41
+ function createDalpSdkConfigurationError2(input) {
42
+ return new DalpSdkError2({
43
+ code: DALP_SDK_ERROR_CODE,
44
+ category: DALP_SDK_ERROR_CATEGORY,
45
+ status: 400,
46
+ retryable: false,
47
+ message: input.message,
48
+ why: input.why,
49
+ fix: input.fix,
50
+ cause: input.cause
51
+ });
52
+ }
53
+
54
+ export { DalpSdkError2, createDalpSdkConfigurationError2 };
@@ -0,0 +1,102 @@
1
+ // src/verify-webhook.ts
2
+ import { Webhook as StandardWebhook } from "standardwebhooks";
3
+ var DEFAULT_TIMESTAMP_TOLERANCE_SECONDS = 5 * 60;
4
+ function toStandardWebhookSecret2(secret) {
5
+ return secret.replace(/^dalp_whsk_/u, "");
6
+ }
7
+ async function verifyWebhook2(input) {
8
+ const headers = normalizeHeaders(input.headers);
9
+ const nowMillis = input.now instanceof Date ? input.now.getTime() : input.now ?? Date.now();
10
+ const tolerance = input.timestampToleranceSeconds ?? DEFAULT_TIMESTAMP_TOLERANCE_SECONDS;
11
+ if (!hasFiniteTimestamp(headers) || isOutsideTimestampTolerance(headers, nowMillis, tolerance)) {
12
+ return { ok: false, code: "TIMESTAMP_SKEW" };
13
+ }
14
+ const rawText = typeof input.rawBody === "string" ? input.rawBody : new TextDecoder().decode(input.rawBody);
15
+ const eventId = headers["webhook-id"];
16
+ if (eventId !== undefined && await input.replayStore?.has(eventId) === true) {
17
+ return { ok: false, code: "REPLAYED_EVENT" };
18
+ }
19
+ let sawMalformedBody = false;
20
+ let sawReplayStoreFailure = false;
21
+ for (const candidate of Array.isArray(input.secret) ? input.secret : [input.secret]) {
22
+ if (!matchesSignature(candidate, rawText, headers)) {
23
+ continue;
24
+ }
25
+ let event;
26
+ try {
27
+ event = JSON.parse(rawText);
28
+ } catch {
29
+ sawMalformedBody = true;
30
+ continue;
31
+ }
32
+ if (eventId !== undefined && input.replayStore !== undefined) {
33
+ try {
34
+ await input.replayStore.add(eventId);
35
+ } catch {
36
+ sawReplayStoreFailure = true;
37
+ continue;
38
+ }
39
+ }
40
+ return { ok: true, event };
41
+ }
42
+ if (sawReplayStoreFailure) {
43
+ return { ok: false, code: "REPLAY_STORE_FAILURE" };
44
+ }
45
+ if (sawMalformedBody) {
46
+ return { ok: false, code: "MALFORMED_BODY" };
47
+ }
48
+ return { ok: false, code: classifySignatureFailure(rawText, headers) };
49
+ }
50
+ function matchesSignature(secret, rawBody, headers) {
51
+ const eventId = headers["webhook-id"];
52
+ const timestamp = Number(headers["webhook-timestamp"]);
53
+ const signatures = headers["webhook-signature"];
54
+ if (eventId === undefined || !Number.isFinite(timestamp) || signatures === undefined) {
55
+ return false;
56
+ }
57
+ const expected = new StandardWebhook(toStandardWebhookSecret2(secret)).sign(eventId, new Date(timestamp * 1000), rawBody);
58
+ return signatures.split(" ").some((signature) => {
59
+ const left = new TextEncoder().encode(signature);
60
+ const right = new TextEncoder().encode(expected);
61
+ if (left.byteLength !== right.byteLength) {
62
+ return false;
63
+ }
64
+ let difference = 0;
65
+ for (let index = 0;index < left.byteLength; index += 1) {
66
+ difference |= (left[index] ?? 0) ^ (right[index] ?? 0);
67
+ }
68
+ return difference === 0;
69
+ });
70
+ }
71
+ function normalizeHeaders(input) {
72
+ if (input instanceof Headers) {
73
+ return Object.fromEntries(input.entries());
74
+ }
75
+ const headers = {};
76
+ for (const [key, value] of Object.entries(input)) {
77
+ if (value !== undefined) {
78
+ headers[key.toLowerCase()] = typeof value === "string" ? value : value.join(",");
79
+ }
80
+ }
81
+ return headers;
82
+ }
83
+ function hasFiniteTimestamp(headers) {
84
+ return Number.isFinite(Number(headers["webhook-timestamp"]));
85
+ }
86
+ function isOutsideTimestampTolerance(headers, nowMillis, toleranceSeconds) {
87
+ const timestamp = Number(headers["webhook-timestamp"]);
88
+ return Number.isFinite(timestamp) && Math.abs(nowMillis / 1000 - timestamp) > toleranceSeconds;
89
+ }
90
+ function classifySignatureFailure(rawBody, headers) {
91
+ try {
92
+ const parsed = JSON.parse(rawBody);
93
+ if (typeof parsed.evt_id !== "string" || parsed.evt_id !== headers["webhook-id"]) {
94
+ return "BODY_HASH_MISMATCH";
95
+ }
96
+ } catch {
97
+ return "BODY_HASH_MISMATCH";
98
+ }
99
+ return "SECRET_MISMATCH";
100
+ }
101
+
102
+ export { toStandardWebhookSecret2, verifyWebhook2 };
@@ -0,0 +1,67 @@
1
+ // src/proxy/builder.ts
2
+ function buildIndex(table) {
3
+ const root = { children: new Map };
4
+ for (const id of Object.keys(table.routes)) {
5
+ let cursor = root;
6
+ for (const segment of id.split("/")) {
7
+ let next = cursor.children.get(segment);
8
+ if (next === undefined) {
9
+ next = { children: new Map };
10
+ cursor.children.set(segment, next);
11
+ }
12
+ cursor = next;
13
+ }
14
+ cursor.routeId = id;
15
+ }
16
+ return root;
17
+ }
18
+ function makeNode(node, table, executor, factories, cache) {
19
+ const cached = cache.get(node);
20
+ if (cached !== undefined) {
21
+ return cached;
22
+ }
23
+ const route = node.routeId === undefined ? undefined : table.routes[node.routeId];
24
+ const id = node.routeId;
25
+ const target = route === undefined || id === undefined ? {} : Object.assign((input, options) => executor(route, id, input, options), {
26
+ queryOptions: (input, options) => factories.queryOptions(route, id, input, options),
27
+ mutationOptions: (options) => factories.mutationOptions(route, id, options)
28
+ });
29
+ const proxy = new Proxy(target, {
30
+ get(base, property, receiver) {
31
+ if (typeof property !== "string") {
32
+ return Reflect.get(base, property, receiver);
33
+ }
34
+ if (Object.hasOwn(base, property) || property in Function.prototype) {
35
+ return Reflect.get(base, property, receiver);
36
+ }
37
+ const child = node.children.get(property);
38
+ return child === undefined ? undefined : makeNode(child, table, executor, factories, cache);
39
+ },
40
+ has(base, property) {
41
+ return typeof property === "string" && node.children.has(property) || Reflect.has(base, property);
42
+ },
43
+ ownKeys(base) {
44
+ return [...new Set([...Reflect.ownKeys(base), ...node.children.keys()])];
45
+ },
46
+ getOwnPropertyDescriptor(base, property) {
47
+ if (typeof property === "string" && node.children.has(property)) {
48
+ return {
49
+ configurable: true,
50
+ enumerable: true,
51
+ value: makeNode(node.children.get(property), table, executor, factories, cache)
52
+ };
53
+ }
54
+ return Reflect.getOwnPropertyDescriptor(base, property);
55
+ }
56
+ });
57
+ cache.set(node, proxy);
58
+ return proxy;
59
+ }
60
+ function buildProxy(table, executor, factories) {
61
+ return makeNode(buildIndex(table), table, executor, factories, new Map);
62
+ }
63
+ function findRoute(table, id) {
64
+ return table.routes[id];
65
+ }
66
+
67
+ export { buildProxy, findRoute };