@phala/pay-server 0.0.0 → 0.9.0

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 (84) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +213 -1
  3. package/THIRD_PARTY_NOTICES +25 -0
  4. package/dist/js/src/shared/checkout-params.d.ts +7 -0
  5. package/dist/js/src/shared/checkout-params.d.ts.map +1 -0
  6. package/dist/js/src/shared/checkout-params.js +2 -0
  7. package/dist/js/src/shared/checkout-params.js.map +1 -0
  8. package/dist/js-server/src/addresses.d.ts +76 -0
  9. package/dist/js-server/src/addresses.d.ts.map +1 -0
  10. package/dist/js-server/src/addresses.js +117 -0
  11. package/dist/js-server/src/addresses.js.map +1 -0
  12. package/dist/js-server/src/browser.d.ts +2 -0
  13. package/dist/js-server/src/browser.d.ts.map +1 -0
  14. package/dist/js-server/src/browser.js +3 -0
  15. package/dist/js-server/src/browser.js.map +1 -0
  16. package/dist/js-server/src/client.d.ts +54 -0
  17. package/dist/js-server/src/client.d.ts.map +1 -0
  18. package/dist/js-server/src/client.js +183 -0
  19. package/dist/js-server/src/client.js.map +1 -0
  20. package/dist/js-server/src/errors.d.ts +35 -0
  21. package/dist/js-server/src/errors.d.ts.map +1 -0
  22. package/dist/js-server/src/errors.js +56 -0
  23. package/dist/js-server/src/errors.js.map +1 -0
  24. package/dist/js-server/src/generated/openapi.d.ts +9482 -0
  25. package/dist/js-server/src/generated/openapi.d.ts.map +1 -0
  26. package/dist/js-server/src/generated/openapi.js +6 -0
  27. package/dist/js-server/src/generated/openapi.js.map +1 -0
  28. package/dist/js-server/src/helpers.d.ts +15 -0
  29. package/dist/js-server/src/helpers.d.ts.map +1 -0
  30. package/dist/js-server/src/helpers.js +15 -0
  31. package/dist/js-server/src/helpers.js.map +1 -0
  32. package/dist/js-server/src/index.d.ts +12 -0
  33. package/dist/js-server/src/index.d.ts.map +1 -0
  34. package/dist/js-server/src/index.js +13 -0
  35. package/dist/js-server/src/index.js.map +1 -0
  36. package/dist/js-server/src/json.d.ts +5 -0
  37. package/dist/js-server/src/json.d.ts.map +1 -0
  38. package/dist/js-server/src/json.js +114 -0
  39. package/dist/js-server/src/json.js.map +1 -0
  40. package/dist/js-server/src/ledger.d.ts +9 -0
  41. package/dist/js-server/src/ledger.d.ts.map +1 -0
  42. package/dist/js-server/src/ledger.js +83 -0
  43. package/dist/js-server/src/ledger.js.map +1 -0
  44. package/dist/js-server/src/pins.d.ts +19 -0
  45. package/dist/js-server/src/pins.d.ts.map +1 -0
  46. package/dist/js-server/src/pins.js +165 -0
  47. package/dist/js-server/src/pins.js.map +1 -0
  48. package/dist/js-server/src/resource.d.ts +14 -0
  49. package/dist/js-server/src/resource.d.ts.map +1 -0
  50. package/dist/js-server/src/resource.js +32 -0
  51. package/dist/js-server/src/resource.js.map +1 -0
  52. package/dist/js-server/src/resources.d.ts +120 -0
  53. package/dist/js-server/src/resources.d.ts.map +1 -0
  54. package/dist/js-server/src/resources.js +266 -0
  55. package/dist/js-server/src/resources.js.map +1 -0
  56. package/dist/js-server/src/runtime.d.ts +4 -0
  57. package/dist/js-server/src/runtime.d.ts.map +1 -0
  58. package/dist/js-server/src/runtime.js +48 -0
  59. package/dist/js-server/src/runtime.js.map +1 -0
  60. package/dist/js-server/src/schemas.d.ts +4 -0
  61. package/dist/js-server/src/schemas.d.ts.map +1 -0
  62. package/dist/js-server/src/schemas.js +3091 -0
  63. package/dist/js-server/src/schemas.js.map +1 -0
  64. package/dist/js-server/src/sweeps.d.ts +78 -0
  65. package/dist/js-server/src/sweeps.d.ts.map +1 -0
  66. package/dist/js-server/src/sweeps.js +117 -0
  67. package/dist/js-server/src/sweeps.js.map +1 -0
  68. package/dist/js-server/src/transport.d.ts +26 -0
  69. package/dist/js-server/src/transport.d.ts.map +1 -0
  70. package/dist/js-server/src/transport.js +248 -0
  71. package/dist/js-server/src/transport.js.map +1 -0
  72. package/dist/js-server/src/types.d.ts +111 -0
  73. package/dist/js-server/src/types.d.ts.map +1 -0
  74. package/dist/js-server/src/types.js +2 -0
  75. package/dist/js-server/src/types.js.map +1 -0
  76. package/dist/js-server/src/validation.d.ts +20 -0
  77. package/dist/js-server/src/validation.d.ts.map +1 -0
  78. package/dist/js-server/src/validation.js +43 -0
  79. package/dist/js-server/src/validation.js.map +1 -0
  80. package/dist/js-server/src/webhook.d.ts +59 -0
  81. package/dist/js-server/src/webhook.d.ts.map +1 -0
  82. package/dist/js-server/src/webhook.js +164 -0
  83. package/dist/js-server/src/webhook.js.map +1 -0
  84. package/package.json +55 -4
@@ -0,0 +1,266 @@
1
+ import { encodeId, paginate } from "./resource.js";
2
+ export class AccountResource {
3
+ execute;
4
+ constructor(execute) {
5
+ this.execute = execute;
6
+ }
7
+ retrieve(options) {
8
+ return this.execute("get_account", "GET", `/v1/account`, undefined, options);
9
+ }
10
+ pauseQuotes(params, options) {
11
+ return this.execute("pause_account", "POST", `/v1/account/pause`, params, options);
12
+ }
13
+ resumeQuotes(params, options) {
14
+ return this.execute("resume_account", "POST", `/v1/account/resume`, params, options);
15
+ }
16
+ rollWebhookKey(params, options) {
17
+ return this.execute("roll_webhook_key", "POST", `/v1/account/webhook_keys/roll`, params, options);
18
+ }
19
+ }
20
+ export class ApiKeysResource {
21
+ execute;
22
+ constructor(execute) {
23
+ this.execute = execute;
24
+ }
25
+ listPage(params, options) {
26
+ return this.execute("list_api_keys", "GET", `/v1/api_keys`, params, options);
27
+ }
28
+ list(params = {}, options) {
29
+ return paginate((query) => this.listPage(query, options), params);
30
+ }
31
+ create(params, options) {
32
+ return this.execute("create_api_key", "POST", `/v1/api_keys`, params, options);
33
+ }
34
+ revoke(id, options) {
35
+ return this.execute("revoke_api_key", "DELETE", `/v1/api_keys/${encodeId(id)}`, undefined, options);
36
+ }
37
+ retrieve(id, params, options) {
38
+ return this.execute("get_api_key", "GET", `/v1/api_keys/${encodeId(id)}`, undefined, options);
39
+ }
40
+ roll(id, params, options) {
41
+ return this.execute("roll_api_key", "POST", `/v1/api_keys/${encodeId(id)}/roll`, params, options);
42
+ }
43
+ }
44
+ export class BalanceResource {
45
+ execute;
46
+ constructor(execute) {
47
+ this.execute = execute;
48
+ }
49
+ retrieve(options) {
50
+ return this.execute("get_balance", "GET", `/v1/balance`, undefined, options);
51
+ }
52
+ }
53
+ export class ConfigResource {
54
+ execute;
55
+ constructor(execute) {
56
+ this.execute = execute;
57
+ }
58
+ retrieve(options) {
59
+ return this.execute("get_config", "GET", `/v1/config`, undefined, options);
60
+ }
61
+ }
62
+ export class DepositAddressesResource {
63
+ execute;
64
+ constructor(execute) {
65
+ this.execute = execute;
66
+ }
67
+ listPage(params, options) {
68
+ return this.execute("list_deposit_addresses", "GET", `/v1/deposit_addresses`, params, options);
69
+ }
70
+ list(params = {}, options) {
71
+ return paginate((query) => this.listPage(query, options), params);
72
+ }
73
+ create(params, options) {
74
+ return this.execute("create_deposit_address", "POST", `/v1/deposit_addresses`, params, options);
75
+ }
76
+ retrieve(id, params, options) {
77
+ return this.execute("get_deposit_address", "GET", `/v1/deposit_addresses/${encodeId(id)}`, params, options);
78
+ }
79
+ update(id, params, options) {
80
+ return this.execute("update_deposit_address", "POST", `/v1/deposit_addresses/${encodeId(id)}`, params, options);
81
+ }
82
+ rotate(id, options) {
83
+ return this.execute("rotate_deposit_address", "POST", `/v1/deposit_addresses/${encodeId(id)}/rotate`, undefined, options);
84
+ }
85
+ }
86
+ export class DepositsResource {
87
+ execute;
88
+ constructor(execute) {
89
+ this.execute = execute;
90
+ }
91
+ listPage(params, options) {
92
+ return this.execute("list_deposits", "GET", `/v1/deposits`, params, options);
93
+ }
94
+ list(params = {}, options) {
95
+ return paginate((query) => this.listPage(query, options), params);
96
+ }
97
+ retrieve(id, params, options) {
98
+ return this.execute("get_deposit", "GET", `/v1/deposits/${encodeId(id)}`, params, options);
99
+ }
100
+ update(id, params, options) {
101
+ return this.execute("update_deposit", "POST", `/v1/deposits/${encodeId(id)}`, params, options);
102
+ }
103
+ }
104
+ export class EventsResource {
105
+ execute;
106
+ constructor(execute) {
107
+ this.execute = execute;
108
+ }
109
+ listPage(params, options) {
110
+ return this.execute("list_events", "GET", `/v1/events`, params, options);
111
+ }
112
+ list(params = {}, options) {
113
+ return paginate((query) => this.listPage(query, options), params);
114
+ }
115
+ retrieve(id, params, options) {
116
+ return this.execute("get_event", "GET", `/v1/events/${encodeId(id)}`, undefined, options);
117
+ }
118
+ resend(id, params, options) {
119
+ return this.execute("resend_event", "POST", `/v1/events/${encodeId(id)}/resend`, params, options);
120
+ }
121
+ }
122
+ export class ForwardersResource {
123
+ execute;
124
+ constructor(execute) {
125
+ this.execute = execute;
126
+ }
127
+ listPage(params, options) {
128
+ return this.execute("list_forwarders", "GET", `/v1/forwarders`, params, options);
129
+ }
130
+ list(params = {}, options) {
131
+ return paginate((query) => this.listPage(query, options), params);
132
+ }
133
+ }
134
+ export class PaymentSettingsResource {
135
+ execute;
136
+ constructor(execute) {
137
+ this.execute = execute;
138
+ }
139
+ retrieve(options) {
140
+ return this.execute("get_payment_settings", "GET", `/v1/payment_settings`, undefined, options);
141
+ }
142
+ update(params, options) {
143
+ return this.execute("update_payment_settings", "POST", `/v1/payment_settings`, params, options);
144
+ }
145
+ }
146
+ export class QuotesResource {
147
+ execute;
148
+ constructor(execute) {
149
+ this.execute = execute;
150
+ }
151
+ listPage(params, options) {
152
+ return this.execute("list_quotes", "GET", `/v1/quotes`, params, options);
153
+ }
154
+ list(params = {}, options) {
155
+ return paginate((query) => this.listPage(query, options), params);
156
+ }
157
+ create(params, options) {
158
+ return this.execute("create_quote", "POST", `/v1/quotes`, params, options);
159
+ }
160
+ retrieve(id, params, options) {
161
+ return this.execute("get_quote", "GET", `/v1/quotes/${encodeId(id)}`, params, options);
162
+ }
163
+ update(id, params, options) {
164
+ return this.execute("update_quote", "POST", `/v1/quotes/${encodeId(id)}`, params, options);
165
+ }
166
+ cancel(id, options) {
167
+ return this.execute("cancel_quote", "POST", `/v1/quotes/${encodeId(id)}/cancel`, undefined, options);
168
+ }
169
+ }
170
+ export class RefundsResource {
171
+ execute;
172
+ constructor(execute) {
173
+ this.execute = execute;
174
+ }
175
+ listPage(params, options) {
176
+ return this.execute("list_refunds", "GET", `/v1/refunds`, params, options);
177
+ }
178
+ list(params = {}, options) {
179
+ return paginate((query) => this.listPage(query, options), params);
180
+ }
181
+ create(params, options) {
182
+ return this.execute("create_refund", "POST", `/v1/refunds`, params, options);
183
+ }
184
+ retrieve(id, params, options) {
185
+ return this.execute("get_refund", "GET", `/v1/refunds/${encodeId(id)}`, params, options);
186
+ }
187
+ update(id, params, options) {
188
+ return this.execute("update_refund", "POST", `/v1/refunds/${encodeId(id)}`, params, options);
189
+ }
190
+ cancel(id, options) {
191
+ return this.execute("cancel_refund", "POST", `/v1/refunds/${encodeId(id)}/cancel`, undefined, options);
192
+ }
193
+ markPaid(id, params, options) {
194
+ return this.execute("mark_refund_paid", "POST", `/v1/refunds/${encodeId(id)}/mark_paid`, params, options);
195
+ }
196
+ }
197
+ export class SweepsResource {
198
+ execute;
199
+ constructor(execute) {
200
+ this.execute = execute;
201
+ }
202
+ listPage(params, options) {
203
+ return this.execute("list_sweeps", "GET", `/v1/sweeps`, params, options);
204
+ }
205
+ list(params = {}, options) {
206
+ return paginate((query) => this.listPage(query, options), params);
207
+ }
208
+ }
209
+ export class TreasuriesResource {
210
+ execute;
211
+ constructor(execute) {
212
+ this.execute = execute;
213
+ }
214
+ listPage(params, options) {
215
+ return this.execute("list_treasuries", "GET", `/v1/treasuries`, params, options);
216
+ }
217
+ list(params = {}, options) {
218
+ return paginate((query) => this.listPage(query, options), params);
219
+ }
220
+ create(params, options) {
221
+ return this.execute("create_treasury", "POST", `/v1/treasuries`, params, options);
222
+ }
223
+ challenge(params, options) {
224
+ return this.execute("create_treasury_challenge", "POST", `/v1/treasuries/challenge`, params, options);
225
+ }
226
+ retrieve(id, params, options) {
227
+ return this.execute("get_treasury", "GET", `/v1/treasuries/${encodeId(id)}`, undefined, options);
228
+ }
229
+ cancel(id, options) {
230
+ return this.execute("cancel_treasury", "POST", `/v1/treasuries/${encodeId(id)}/cancel`, undefined, options);
231
+ }
232
+ pause(id, options) {
233
+ return this.execute("pause_treasury", "POST", `/v1/treasuries/${encodeId(id)}/pause`, undefined, options);
234
+ }
235
+ resume(id, options) {
236
+ return this.execute("resume_treasury", "POST", `/v1/treasuries/${encodeId(id)}/resume`, undefined, options);
237
+ }
238
+ }
239
+ export class WebhookEndpointsResource {
240
+ execute;
241
+ constructor(execute) {
242
+ this.execute = execute;
243
+ }
244
+ listPage(params, options) {
245
+ return this.execute("list_webhook_endpoints", "GET", `/v1/webhook_endpoints`, params, options);
246
+ }
247
+ list(params = {}, options) {
248
+ return paginate((query) => this.listPage(query, options), params);
249
+ }
250
+ create(params, options) {
251
+ return this.execute("create_webhook_endpoint", "POST", `/v1/webhook_endpoints`, params, options);
252
+ }
253
+ delete(id, options) {
254
+ return this.execute("delete_webhook_endpoint", "DELETE", `/v1/webhook_endpoints/${encodeId(id)}`, undefined, options);
255
+ }
256
+ retrieve(id, params, options) {
257
+ return this.execute("get_webhook_endpoint", "GET", `/v1/webhook_endpoints/${encodeId(id)}`, undefined, options);
258
+ }
259
+ update(id, params, options) {
260
+ return this.execute("update_webhook_endpoint", "POST", `/v1/webhook_endpoints/${encodeId(id)}`, params, options);
261
+ }
262
+ test(id, options) {
263
+ return this.execute("test_webhook_endpoint", "POST", `/v1/webhook_endpoints/${encodeId(id)}/test`, undefined, options);
264
+ }
265
+ }
266
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /** Check capabilities before touching credentials; runtime names do not grant trust. */
2
+ export declare function requireServer(): void;
3
+ export declare function serverEnv(): Readonly<Record<string, string | undefined>>;
4
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/runtime.ts"],"names":[],"mappings":"AAiBA,wFAAwF;AACxF,wBAAgB,aAAa,IAAI,IAAI,CAqCpC;AAED,wBAAgB,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAiBxE"}
@@ -0,0 +1,48 @@
1
+ import { ConfigurationError } from "./errors.js";
2
+ const serverOnly = "@phala/pay-server is server-only; never ship a key to the browser";
3
+ const globals = globalThis;
4
+ /** Check capabilities before touching credentials; runtime names do not grant trust. */
5
+ export function requireServer() {
6
+ const nativeEnv = typeof globals.Deno?.env?.get === "function" ||
7
+ typeof globals.Bun?.env === "object";
8
+ if (Reflect.has(globals, "window") ||
9
+ Reflect.has(globals, "document") ||
10
+ !(typeof globals.process?.env === "object" || nativeEnv))
11
+ throw new ConfigurationError(serverOnly);
12
+ // Native environment APIs may coexist with a Node compatibility shim.
13
+ const nodeVersion = nativeEnv ? undefined : globals.process?.versions?.node;
14
+ if (nodeVersion !== undefined) {
15
+ const [major, minor] = nodeVersion.split(".").map(Number);
16
+ if (major === undefined ||
17
+ minor === undefined ||
18
+ !Number.isInteger(major) ||
19
+ !Number.isInteger(minor) ||
20
+ major < 20 ||
21
+ (major === 20 && minor < 3))
22
+ throw new ConfigurationError("@phala/pay-server requires Node.js >=20.3 when running on Node");
23
+ }
24
+ if (typeof globals.fetch !== "function" ||
25
+ typeof globals.AbortSignal?.any !== "function" ||
26
+ typeof globals.crypto?.randomUUID !== "function" ||
27
+ typeof globals.crypto.getRandomValues !== "function" ||
28
+ typeof globals.crypto.subtle?.importKey !== "function" ||
29
+ typeof globals.crypto.subtle.verify !== "function")
30
+ throw new ConfigurationError("@phala/pay-server requires fetch, AbortSignal.any and WebCrypto (including randomUUID)");
31
+ }
32
+ export function serverEnv() {
33
+ if (globals.process?.env)
34
+ return globals.process.env;
35
+ if (globals.Bun?.env)
36
+ return globals.Bun.env;
37
+ return new Proxy({}, {
38
+ get(_target, name) {
39
+ try {
40
+ return globals.Deno?.env?.get(name);
41
+ }
42
+ catch {
43
+ throw new ConfigurationError("Unable to read merchant environment variables");
44
+ }
45
+ },
46
+ });
47
+ }
48
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,GACd,mEAAmE,CAAC;AAYtE,MAAM,OAAO,GAAkB,UAAU,CAAC;AAE1C,wFAAwF;AACxF,MAAM,UAAU,aAAa;IAC3B,MAAM,SAAS,GACb,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,UAAU;QAC5C,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC;IACvC,IACE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC;QAChC,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,QAAQ,IAAI,SAAS,CAAC;QAExD,MAAM,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC3C,sEAAsE;IACtE,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;IAC5E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1D,IACE,KAAK,KAAK,SAAS;YACnB,KAAK,KAAK,SAAS;YACnB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YACxB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YACxB,KAAK,GAAG,EAAE;YACV,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;YAE3B,MAAM,IAAI,kBAAkB,CAC1B,gEAAgE,CACjE,CAAC;IACN,CAAC;IACD,IACE,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU;QACnC,OAAO,OAAO,CAAC,WAAW,EAAE,GAAG,KAAK,UAAU;QAC9C,OAAO,OAAO,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU;QAChD,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,KAAK,UAAU;QACpD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,KAAK,UAAU;QACtD,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;QAElD,MAAM,IAAI,kBAAkB,CAC1B,wFAAwF,CACzF,CAAC;AACN,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;IACrD,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7C,OAAO,IAAI,KAAK,CACd,EAAE,EACF;QACE,GAAG,CAAC,OAAO,EAAE,IAAY;YACvB,IAAI,CAAC;gBACH,OAAO,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,kBAAkB,CAC1B,+CAA+C,CAChD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Schema, Contract } from "./validation.js";
2
+ export declare const schemas: Record<string, Schema>;
3
+ export declare const contracts: Record<string, Contract>;
4
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/schemas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4tF1C,CAAC;AACF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAoT9C,CAAC"}