@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,114 @@
1
+ /** Parse before number conversion: JSON.parse alone silently rounds int64 responses. */
2
+ export function parseJson(text) {
3
+ let at = 0;
4
+ const fail = () => {
5
+ throw new SyntaxError("Invalid JSON");
6
+ };
7
+ const space = () => {
8
+ while (/[ \t\r\n]/.test(text[at] ?? "") && at < text.length)
9
+ at++;
10
+ };
11
+ const string = () => {
12
+ const start = at++;
13
+ while (at < text.length) {
14
+ const char = text[at++];
15
+ if (char === '"')
16
+ return JSON.parse(text.slice(start, at));
17
+ if (char === "\\")
18
+ at++;
19
+ }
20
+ return fail();
21
+ };
22
+ const value = () => {
23
+ space();
24
+ const char = text[at];
25
+ if (char === '"')
26
+ return string();
27
+ if (char === "{" || char === "[") {
28
+ at++;
29
+ const array = char === "[";
30
+ const result = Object.create(null);
31
+ const items = [];
32
+ space();
33
+ if (text[at] === (array ? "]" : "}")) {
34
+ at++;
35
+ return array ? items : result;
36
+ }
37
+ for (;;) {
38
+ space();
39
+ if (array)
40
+ items.push(value());
41
+ else {
42
+ if (text[at] !== '"')
43
+ fail();
44
+ const key = string();
45
+ space();
46
+ if (text[at++] !== ":" || Object.hasOwn(result, key))
47
+ fail();
48
+ result[key] = value();
49
+ }
50
+ space();
51
+ const next = text[at++];
52
+ if (next === (array ? "]" : "}"))
53
+ return array ? items : result;
54
+ if (next !== ",")
55
+ fail();
56
+ }
57
+ }
58
+ for (const [token, decoded] of [
59
+ ["true", true],
60
+ ["false", false],
61
+ ["null", null],
62
+ ]) {
63
+ if (text.startsWith(token, at)) {
64
+ at += token.length;
65
+ return decoded;
66
+ }
67
+ }
68
+ const match = /^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/.exec(text.slice(at));
69
+ if (!match)
70
+ return fail();
71
+ at += match[0].length;
72
+ const number = Number(match[0]);
73
+ // Integer tokens are compared in arbitrary precision before conversion.
74
+ if (!Number.isFinite(number) || (Number.isInteger(number) && !Number.isSafeInteger(number)))
75
+ fail();
76
+ if (/^-?\d+$/.test(match[0]) &&
77
+ (BigInt(match[0]) > BigInt(Number.MAX_SAFE_INTEGER) ||
78
+ BigInt(match[0]) < BigInt(Number.MIN_SAFE_INTEGER)))
79
+ fail();
80
+ if (Number.isInteger(number)) {
81
+ const [mantissa = "", exponent = "0"] = match[0].toLowerCase().split("e");
82
+ const fraction = mantissa.split(".")[1]?.length ?? 0;
83
+ const scale = fraction - Number(exponent);
84
+ const exact = BigInt(mantissa.replace(".", ""));
85
+ if (Math.abs(scale) > 400) {
86
+ if (exact !== 0n)
87
+ fail();
88
+ }
89
+ else if (scale >= 0
90
+ ? BigInt(number) * 10n ** BigInt(scale) !== exact
91
+ : BigInt(number) !== exact * 10n ** BigInt(-scale))
92
+ fail();
93
+ }
94
+ return number;
95
+ };
96
+ const decoded = value();
97
+ space();
98
+ if (at !== text.length)
99
+ fail();
100
+ return decoded;
101
+ }
102
+ export function isRecord(value) {
103
+ return typeof value === "object" && value !== null && !Array.isArray(value);
104
+ }
105
+ export function validateNumbers(value) {
106
+ if (typeof value === "number" &&
107
+ (!Number.isFinite(value) || (Number.isInteger(value) && !Number.isSafeInteger(value))))
108
+ throw new TypeError("Unsafe number");
109
+ if (Array.isArray(value))
110
+ value.forEach(validateNumbers);
111
+ else if (isRecord(value))
112
+ Object.values(value).forEach(validateNumbers);
113
+ }
114
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/json.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { components } from "./generated/openapi.js";
2
+ export type LedgerSnapshot = Readonly<Required<Pick<components["schemas"]["Deposit"], "id" | "livemode" | "client_reference_id" | "currency" | "status" | "amount" | "amount_refunded" | "amount_reversed">>>;
3
+ export declare function depositNetAmount(deposit: LedgerSnapshot): number;
4
+ export declare function balanceDelta(previous: LedgerSnapshot | null, deposit: LedgerSnapshot): Readonly<{
5
+ snapshot: LedgerSnapshot;
6
+ contribution: number;
7
+ delta: number;
8
+ }>;
9
+ //# sourceMappingURL=ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../src/ledger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,MAAM,MAAM,cAAc,GAAG,QAAQ,CACnC,QAAQ,CACN,IAAI,CACF,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAC9B,IAAI,GACJ,UAAU,GACV,qBAAqB,GACrB,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,iBAAiB,GACjB,iBAAiB,CACpB,CACF,CACF,CAAC;AAuDF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAKhE;AACD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,GAAG,IAAI,EAC/B,OAAO,EAAE,cAAc,GACtB,QAAQ,CAAC;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoC7E"}
@@ -0,0 +1,83 @@
1
+ import { LedgerSnapshotError } from "./errors.js";
2
+ import { isRecord } from "./json.js";
3
+ const fail = () => {
4
+ throw new LedgerSnapshotError("Invalid or conflicting deposit snapshot");
5
+ };
6
+ function snapshot(input) {
7
+ if (!isRecord(input))
8
+ return fail();
9
+ const { id, livemode, client_reference_id, currency, status, amount, amount_refunded, amount_reversed, } = input;
10
+ if (typeof id !== "string" ||
11
+ !id ||
12
+ typeof livemode !== "boolean" ||
13
+ typeof client_reference_id !== "string" ||
14
+ !client_reference_id ||
15
+ typeof currency !== "string" ||
16
+ typeof status !== "string" ||
17
+ !["pending", "credited", "rejected", "reversed"].includes(status))
18
+ return fail();
19
+ const minorUnits = (value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
20
+ if (!(amount === null || minorUnits(amount)) ||
21
+ !minorUnits(amount_refunded) ||
22
+ !minorUnits(amount_reversed))
23
+ return fail();
24
+ if ((amount === null && (amount_refunded !== 0 || amount_reversed !== 0)) ||
25
+ (amount !== null && amount_refunded + amount_reversed > amount) ||
26
+ (amount_refunded > 0 && amount_reversed > 0) ||
27
+ (status === "credited" && amount === null) ||
28
+ (status === "reversed" && amount !== null && amount_reversed !== amount) ||
29
+ (status !== "reversed" && amount_reversed !== 0))
30
+ return fail();
31
+ return Object.freeze({
32
+ id,
33
+ livemode,
34
+ client_reference_id,
35
+ currency,
36
+ status,
37
+ amount,
38
+ amount_refunded,
39
+ amount_reversed,
40
+ });
41
+ }
42
+ export function depositNetAmount(deposit) {
43
+ const value = snapshot(deposit);
44
+ return ["credited", "reversed"].includes(value.status)
45
+ ? (value.amount ?? 0) - value.amount_refunded - value.amount_reversed
46
+ : 0;
47
+ }
48
+ export function balanceDelta(previous, deposit) {
49
+ const next = snapshot(deposit);
50
+ let merged = next;
51
+ if (previous !== null) {
52
+ const prior = snapshot(previous);
53
+ for (const field of ["id", "livemode", "client_reference_id"])
54
+ if (prior[field] !== next[field])
55
+ fail();
56
+ for (const field of ["currency", "amount"])
57
+ if (prior[field] !== null && next[field] !== null && prior[field] !== next[field])
58
+ fail();
59
+ if ((prior.status === "credited" && next.status === "rejected") ||
60
+ (prior.status === "rejected" && next.status === "credited"))
61
+ fail();
62
+ const rank = { pending: 0, credited: 1, rejected: 1, reversed: 2 };
63
+ const status = (rank[prior.status] ?? 0) > (rank[next.status] ?? 0) ? prior.status : next.status;
64
+ const amount = next.amount ?? prior.amount;
65
+ merged = snapshot({
66
+ ...next,
67
+ currency: next.currency,
68
+ amount,
69
+ status,
70
+ amount_refunded: Math.max(prior.amount_refunded, next.amount_refunded),
71
+ amount_reversed: status === "reversed" && amount !== null
72
+ ? amount
73
+ : Math.max(prior.amount_reversed, next.amount_reversed),
74
+ });
75
+ }
76
+ const contribution = depositNetAmount(merged);
77
+ return Object.freeze({
78
+ snapshot: merged,
79
+ contribution,
80
+ delta: contribution - (previous === null ? 0 : depositNetAmount(previous)),
81
+ });
82
+ }
83
+ //# sourceMappingURL=ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../../src/ledger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export interface Pins {
2
+ readonly api_base: string;
3
+ readonly account: string;
4
+ readonly livemode: boolean;
5
+ readonly factory: string;
6
+ readonly implementation: string;
7
+ readonly treasuries: Readonly<Record<string, string>>;
8
+ readonly webhook_keys: readonly Readonly<{
9
+ version: number;
10
+ public_key: string;
11
+ }>[];
12
+ }
13
+ export declare function normalizeOrigin(input: string, allowHttpLoopback?: boolean): string;
14
+ export declare function parsePins(encoded: string): Pins;
15
+ export declare function validatePins(value: unknown): Pins;
16
+ export declare function encodePins(pins: Pins): string;
17
+ /** Service key format: CRC-32/ISO-HDLC, six base62 digits, after 43 random digits. */
18
+ export declare function keyLivemode(key: string): boolean;
19
+ //# sourceMappingURL=pins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pins.d.ts","sourceRoot":"","sources":["../../../src/pins.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,SAAS,QAAQ,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;CACrF;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,UAAQ,GAAG,MAAM,CAqBhF;AAmBD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAa/C;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CA8DjD;AAUD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAK7C;AACD,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAkBhD"}
@@ -0,0 +1,165 @@
1
+ import { ConfigurationError } from "./errors.js";
2
+ import { isRecord, parseJson } from "./json.js";
3
+ const invalid = () => {
4
+ throw new ConfigurationError("Invalid pins");
5
+ };
6
+ export function normalizeOrigin(input, allowHttpLoopback = false) {
7
+ if (typeof input !== "string")
8
+ throw new ConfigurationError("Invalid API origin");
9
+ let url;
10
+ try {
11
+ url = new URL(input);
12
+ }
13
+ catch {
14
+ throw new ConfigurationError("Invalid API origin");
15
+ }
16
+ const loopback = ["localhost", "127.0.0.1", "[::1]"].includes(url.hostname);
17
+ if ((url.protocol !== "https:" && !(allowHttpLoopback && loopback && url.protocol === "http:")) ||
18
+ url.username ||
19
+ url.password ||
20
+ url.search ||
21
+ url.hash ||
22
+ url.pathname !== "/")
23
+ throw new ConfigurationError("Invalid API origin");
24
+ // Reject even empty query/fragment delimiters and credential syntax.
25
+ if (/[?#]/.test(input) || input.includes("@"))
26
+ throw new ConfigurationError("Invalid API origin");
27
+ return url.origin;
28
+ }
29
+ function fields(value, expected) {
30
+ if (Object.keys(value).length !== expected.length ||
31
+ expected.some((key) => !Object.hasOwn(value, key)))
32
+ invalid();
33
+ }
34
+ function address(value) {
35
+ if (typeof value !== "string" || !/^0x[0-9a-fA-F]{40}$/.test(value) || /^0x0{40}$/i.test(value))
36
+ return invalid();
37
+ return value.toLowerCase();
38
+ }
39
+ function base64(bytes) {
40
+ return btoa(Array.from(bytes, (byte) => String.fromCharCode(byte)).join(""));
41
+ }
42
+ function base64url(bytes) {
43
+ return base64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
44
+ }
45
+ export function parsePins(encoded) {
46
+ try {
47
+ if (!encoded.startsWith("ppay_pins_v1."))
48
+ invalid();
49
+ const content = encoded.slice(13);
50
+ if (!/^[A-Za-z0-9_-]+$/.test(content) || content.length > 21846)
51
+ invalid();
52
+ const bytes = Uint8Array.from(atob(content.replace(/-/g, "+").replace(/_/g, "/")), (char) => char.charCodeAt(0));
53
+ if (bytes.length > 16384 || base64url(bytes) !== content)
54
+ invalid();
55
+ return validatePins(parseJson(new TextDecoder("utf-8", { fatal: true }).decode(bytes)));
56
+ }
57
+ catch {
58
+ return invalid();
59
+ }
60
+ }
61
+ export function validatePins(value) {
62
+ if (!isRecord(value))
63
+ return invalid();
64
+ fields(value, [
65
+ "api_base",
66
+ "account",
67
+ "livemode",
68
+ "factory",
69
+ "implementation",
70
+ "treasuries",
71
+ "webhook_keys",
72
+ ]);
73
+ const { api_base, account, livemode, treasuries, webhook_keys } = value;
74
+ if (typeof api_base !== "string" ||
75
+ typeof account !== "string" ||
76
+ !/^acct_[0-9a-f]{32}$/.test(account) ||
77
+ typeof livemode !== "boolean" ||
78
+ !isRecord(treasuries) ||
79
+ !Object.keys(treasuries).length ||
80
+ !Array.isArray(webhook_keys) ||
81
+ !webhook_keys.length)
82
+ return invalid();
83
+ const normalized = {};
84
+ for (const [chain, treasury] of Object.entries(treasuries)) {
85
+ if (!/^[1-9]\d*$/.test(chain) || !Number.isSafeInteger(Number(chain)))
86
+ invalid();
87
+ normalized[chain] = address(treasury);
88
+ }
89
+ const versions = new Set();
90
+ const keys = new Set();
91
+ const parsedKeys = webhook_keys
92
+ .map((entry) => {
93
+ if (!isRecord(entry))
94
+ return invalid();
95
+ fields(entry, ["version", "public_key"]);
96
+ const { version, public_key } = entry;
97
+ if (typeof version !== "number" ||
98
+ !Number.isInteger(version) ||
99
+ version < 1 ||
100
+ version > 0xffffffff ||
101
+ versions.has(version) ||
102
+ typeof public_key !== "string" ||
103
+ !/^whpk_[A-Za-z0-9+/]{43}=$/.test(public_key) ||
104
+ keys.has(public_key))
105
+ return invalid();
106
+ const raw = Uint8Array.from(atob(public_key.slice(5)), (char) => char.charCodeAt(0));
107
+ if (raw.length !== 32 || base64(raw) !== public_key.slice(5))
108
+ return invalid();
109
+ versions.add(version);
110
+ keys.add(public_key);
111
+ return Object.freeze({ version, public_key });
112
+ })
113
+ .sort((a, b) => a.version - b.version);
114
+ return Object.freeze({
115
+ api_base: normalizeOrigin(api_base, !livemode),
116
+ account,
117
+ livemode,
118
+ factory: address(value["factory"]),
119
+ implementation: address(value["implementation"]),
120
+ treasuries: Object.freeze(normalized),
121
+ webhook_keys: Object.freeze(parsedKeys),
122
+ });
123
+ }
124
+ function canonical(value) {
125
+ if (Array.isArray(value))
126
+ return `[${value.map(canonical).join(",")}]`;
127
+ if (isRecord(value))
128
+ return `{${Object.keys(value)
129
+ .sort()
130
+ .map((key) => `${JSON.stringify(key)}:${canonical(value[key])}`)
131
+ .join(",")}}`;
132
+ return JSON.stringify(value);
133
+ }
134
+ export function encodePins(pins) {
135
+ const json = canonical(validatePins(pins));
136
+ const bytes = new TextEncoder().encode(json);
137
+ if (bytes.length > 16384)
138
+ return invalid();
139
+ return `ppay_pins_v1.${base64url(bytes)}`;
140
+ }
141
+ /** Service key format: CRC-32/ISO-HDLC, six base62 digits, after 43 random digits. */
142
+ export function keyLivemode(key) {
143
+ if (typeof key !== "string")
144
+ throw new ConfigurationError("Invalid API key");
145
+ const match = /^ppay_(?:sk|rk)_(test|live)_[A-Za-z0-9]{49}$/.exec(key);
146
+ if (!match)
147
+ throw new ConfigurationError("Invalid API key");
148
+ let crc = 0xffffffff;
149
+ for (const byte of new TextEncoder().encode(key.slice(0, -6))) {
150
+ crc ^= byte;
151
+ for (let bit = 0; bit < 8; bit++)
152
+ crc = (crc >>> 1) ^ (crc & 1 ? 0xedb88320 : 0);
153
+ }
154
+ let number = (crc ^ 0xffffffff) >>> 0;
155
+ let checksum = "";
156
+ const alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
157
+ for (let index = 0; index < 6; index++) {
158
+ checksum = (alphabet[number % 62] ?? "") + checksum;
159
+ number = Math.floor(number / 62);
160
+ }
161
+ if (checksum !== key.slice(-6))
162
+ throw new ConfigurationError("Invalid API key");
163
+ return match[1] === "live";
164
+ }
165
+ //# sourceMappingURL=pins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pins.js","sourceRoot":"","sources":["../../../src/pins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { RequestOptions } from "./transport.js";
2
+ export interface Execute {
3
+ <T>(operation: string, method: string, path: string, params: unknown, options?: RequestOptions): Promise<T>;
4
+ }
5
+ export declare function encodeId(id: string): string;
6
+ export declare function paginate<T extends {
7
+ readonly id: string;
8
+ }, P extends {
9
+ readonly starting_after?: string;
10
+ }>(page: (params: P) => Promise<{
11
+ readonly data: readonly T[];
12
+ readonly has_more: boolean;
13
+ }>, params: P): AsyncIterable<T>;
14
+ //# sourceMappingURL=resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/resource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,MAAM,WAAW,OAAO;IACtB,CAAC,CAAC,EACA,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AACD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQ3C;AACD,wBAAuB,QAAQ,CAC7B,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EACjC,CAAC,SAAS;IAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,EAE9C,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,EACzF,MAAM,EAAE,CAAC,GACR,aAAa,CAAC,CAAC,CAAC,CAelB"}
@@ -0,0 +1,32 @@
1
+ import { ConfigurationError, ResponseValidationError } from "./errors.js";
2
+ export function encodeId(id) {
3
+ if (typeof id !== "string" || !id || id === "." || id === "..")
4
+ throw new ConfigurationError("Invalid resource ID");
5
+ try {
6
+ return encodeURIComponent(id);
7
+ }
8
+ catch {
9
+ throw new ConfigurationError("Invalid resource ID");
10
+ }
11
+ }
12
+ export async function* paginate(page, params) {
13
+ let query = { ...params };
14
+ const seen = new Set();
15
+ if (params.starting_after)
16
+ seen.add(params.starting_after);
17
+ for (;;) {
18
+ const result = await page(query);
19
+ const cursor = result.data.at(-1)?.id;
20
+ if (result.has_more && (!cursor || seen.has(cursor)))
21
+ throw new ResponseValidationError("Invalid pagination cursor");
22
+ for (const item of result.data)
23
+ yield item;
24
+ if (!result.has_more)
25
+ return;
26
+ if (cursor === undefined)
27
+ throw new ResponseValidationError("Invalid pagination cursor");
28
+ seen.add(cursor);
29
+ query = { ...query, starting_after: cursor };
30
+ }
31
+ }
32
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAW1E,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI;QAC5D,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AACD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAI7B,IAAyF,EACzF,MAAS;IAET,IAAI,KAAK,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,MAAM,CAAC,cAAc;QAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAC3D,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,IAAI,uBAAuB,CAAC,2BAA2B,CAAC,CAAC;QACjE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,IAAI,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC7B,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,IAAI,uBAAuB,CAAC,2BAA2B,CAAC,CAAC;QACzF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -0,0 +1,120 @@
1
+ import type * as Types from "./types.js";
2
+ import type { RequestOptions } from "./transport.js";
3
+ import { type Execute } from "./resource.js";
4
+ export declare class AccountResource {
5
+ private readonly execute;
6
+ constructor(execute: Execute);
7
+ retrieve(options?: RequestOptions): Promise<Types.AccountObject>;
8
+ pauseQuotes(params: Types.AccountPauseQuotesParams, options?: RequestOptions): Promise<Types.AccountObject>;
9
+ resumeQuotes(params: Types.AccountResumeQuotesParams, options?: RequestOptions): Promise<Types.AccountObject>;
10
+ rollWebhookKey(params: Types.AccountRollWebhookKeyParams, options?: RequestOptions): Promise<Types.AccountObject>;
11
+ }
12
+ export declare class ApiKeysResource {
13
+ private readonly execute;
14
+ constructor(execute: Execute);
15
+ listPage(params?: Types.ApiKeyListParams, options?: RequestOptions): Promise<Types.ApiKeyList>;
16
+ list(params?: Types.ApiKeyListParams, options?: RequestOptions): AsyncIterable<Types.ApiKeyObject>;
17
+ create(params: Types.ApiKeyCreateParams, options?: RequestOptions): Promise<Types.ApiKeyObject>;
18
+ revoke(id: string, options?: RequestOptions): Promise<Types.ApiKeyObject>;
19
+ retrieve(id: string, params?: undefined, options?: RequestOptions): Promise<Types.ApiKeyObject>;
20
+ roll(id: string, params: Types.ApiKeyRollParams, options?: RequestOptions): Promise<Types.ApiKeyObject>;
21
+ }
22
+ export declare class BalanceResource {
23
+ private readonly execute;
24
+ constructor(execute: Execute);
25
+ retrieve(options?: RequestOptions): Promise<Types.Balance>;
26
+ }
27
+ export declare class ConfigResource {
28
+ private readonly execute;
29
+ constructor(execute: Execute);
30
+ retrieve(options?: RequestOptions): Promise<Types.Config>;
31
+ }
32
+ export declare class DepositAddressesResource {
33
+ private readonly execute;
34
+ constructor(execute: Execute);
35
+ listPage(params?: Types.DepositAddressListParams, options?: RequestOptions): Promise<Types.DepositAddressList>;
36
+ list(params?: Types.DepositAddressListParams, options?: RequestOptions): AsyncIterable<Types.DepositAddress>;
37
+ create(params: Types.DepositAddressCreateParams, options?: RequestOptions): Promise<Types.DepositAddress>;
38
+ retrieve(id: string, params?: Types.DepositAddressRetrieveParams, options?: RequestOptions): Promise<Types.DepositAddressView>;
39
+ update(id: string, params: Types.DepositAddressUpdateParams, options?: RequestOptions): Promise<Types.DepositAddress>;
40
+ rotate(id: string, options?: RequestOptions): Promise<Types.DepositAddress>;
41
+ }
42
+ export declare class DepositsResource {
43
+ private readonly execute;
44
+ constructor(execute: Execute);
45
+ listPage(params?: Types.DepositListParams, options?: RequestOptions): Promise<Types.DepositList>;
46
+ list(params?: Types.DepositListParams, options?: RequestOptions): AsyncIterable<Types.Deposit>;
47
+ retrieve(id: string, params?: Types.DepositRetrieveParams, options?: RequestOptions): Promise<Types.Deposit>;
48
+ update(id: string, params: Types.DepositUpdateParams, options?: RequestOptions): Promise<Types.Deposit>;
49
+ }
50
+ export declare class EventsResource {
51
+ private readonly execute;
52
+ constructor(execute: Execute);
53
+ listPage(params?: Types.EventListParams, options?: RequestOptions): Promise<Types.EventList>;
54
+ list(params?: Types.EventListParams, options?: RequestOptions): AsyncIterable<Types.EventObjectResponse>;
55
+ retrieve(id: string, params?: undefined, options?: RequestOptions): Promise<Types.EventObjectResponse>;
56
+ resend(id: string, params: Types.EventResendParams, options?: RequestOptions): Promise<Types.EventObjectResponse>;
57
+ }
58
+ export declare class ForwardersResource {
59
+ private readonly execute;
60
+ constructor(execute: Execute);
61
+ listPage(params?: Types.ForwarderListParams, options?: RequestOptions): Promise<Types.ForwarderList>;
62
+ list(params?: Types.ForwarderListParams, options?: RequestOptions): AsyncIterable<Types.Forwarder>;
63
+ }
64
+ export declare class PaymentSettingsResource {
65
+ private readonly execute;
66
+ constructor(execute: Execute);
67
+ retrieve(options?: RequestOptions): Promise<Types.PaymentSettingsObject>;
68
+ update(params: Types.PaymentSettingUpdateParams, options?: RequestOptions): Promise<Types.PaymentSettingsObject>;
69
+ }
70
+ export declare class QuotesResource {
71
+ private readonly execute;
72
+ constructor(execute: Execute);
73
+ listPage(params?: Types.QuoteListParams, options?: RequestOptions): Promise<Types.QuoteList>;
74
+ list(params?: Types.QuoteListParams, options?: RequestOptions): AsyncIterable<Types.Quote>;
75
+ create(params: Types.QuoteCreateParams, options?: RequestOptions): Promise<Types.Quote>;
76
+ retrieve(id: string, params?: Types.QuoteRetrieveParams, options?: RequestOptions): Promise<Types.QuoteView>;
77
+ update(id: string, params: Types.QuoteUpdateParams, options?: RequestOptions): Promise<Types.Quote>;
78
+ cancel(id: string, options?: RequestOptions): Promise<Types.Quote>;
79
+ }
80
+ export declare class RefundsResource {
81
+ private readonly execute;
82
+ constructor(execute: Execute);
83
+ listPage(params?: Types.RefundListParams, options?: RequestOptions): Promise<Types.RefundList>;
84
+ list(params?: Types.RefundListParams, options?: RequestOptions): AsyncIterable<Types.Refund>;
85
+ create(params: Types.RefundCreateParams, options?: RequestOptions): Promise<Types.Refund>;
86
+ retrieve(id: string, params?: Types.RefundRetrieveParams, options?: RequestOptions): Promise<Types.Refund>;
87
+ update(id: string, params: Types.RefundUpdateParams, options?: RequestOptions): Promise<Types.Refund>;
88
+ cancel(id: string, options?: RequestOptions): Promise<Types.Refund>;
89
+ markPaid(id: string, params: Types.RefundMarkPaidParams, options?: RequestOptions): Promise<Types.Refund>;
90
+ }
91
+ export declare class SweepsResource {
92
+ private readonly execute;
93
+ constructor(execute: Execute);
94
+ listPage(params?: Types.SweepListParams, options?: RequestOptions): Promise<Types.SweepList>;
95
+ list(params?: Types.SweepListParams, options?: RequestOptions): AsyncIterable<Types.Sweep>;
96
+ }
97
+ export declare class TreasuriesResource {
98
+ private readonly execute;
99
+ constructor(execute: Execute);
100
+ listPage(params?: Types.TreasuryListParams, options?: RequestOptions): Promise<Types.TreasuryList>;
101
+ list(params?: Types.TreasuryListParams, options?: RequestOptions): AsyncIterable<Types.Treasury>;
102
+ create(params: Types.TreasuryCreateParams, options?: RequestOptions): Promise<Types.Treasury>;
103
+ challenge(params: Types.TreasuryChallengeParams, options?: RequestOptions): Promise<Types.TreasuryChallenge>;
104
+ retrieve(id: string, params?: undefined, options?: RequestOptions): Promise<Types.Treasury>;
105
+ cancel(id: string, options?: RequestOptions): Promise<Types.Treasury>;
106
+ pause(id: string, options?: RequestOptions): Promise<Types.Treasury>;
107
+ resume(id: string, options?: RequestOptions): Promise<Types.Treasury>;
108
+ }
109
+ export declare class WebhookEndpointsResource {
110
+ private readonly execute;
111
+ constructor(execute: Execute);
112
+ listPage(params?: Types.WebhookEndpointListParams, options?: RequestOptions): Promise<Types.WebhookEndpointList>;
113
+ list(params?: Types.WebhookEndpointListParams, options?: RequestOptions): AsyncIterable<Types.WebhookEndpointObject>;
114
+ create(params: Types.WebhookEndpointCreateParams, options?: RequestOptions): Promise<Types.WebhookEndpointObject>;
115
+ delete(id: string, options?: RequestOptions): Promise<Types.DeletedWebhookEndpoint>;
116
+ retrieve(id: string, params?: undefined, options?: RequestOptions): Promise<Types.WebhookEndpointObject>;
117
+ update(id: string, params: Types.WebhookEndpointUpdateParams, options?: RequestOptions): Promise<Types.WebhookEndpointObject>;
118
+ test(id: string, options?: RequestOptions): Promise<Types.EventObjectResponse>;
119
+ }
120
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/resources.ts"],"names":[],"mappings":"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"}