@phala/pay-server 0.0.0 → 0.9.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/LICENSE +202 -0
- package/README.md +213 -1
- package/THIRD_PARTY_NOTICES +25 -0
- package/dist/js/src/shared/checkout-params.d.ts +7 -0
- package/dist/js/src/shared/checkout-params.d.ts.map +1 -0
- package/dist/js/src/shared/checkout-params.js +2 -0
- package/dist/js/src/shared/checkout-params.js.map +1 -0
- package/dist/js-server/src/addresses.d.ts +76 -0
- package/dist/js-server/src/addresses.d.ts.map +1 -0
- package/dist/js-server/src/addresses.js +117 -0
- package/dist/js-server/src/addresses.js.map +1 -0
- package/dist/js-server/src/browser.d.ts +2 -0
- package/dist/js-server/src/browser.d.ts.map +1 -0
- package/dist/js-server/src/browser.js +3 -0
- package/dist/js-server/src/browser.js.map +1 -0
- package/dist/js-server/src/client.d.ts +54 -0
- package/dist/js-server/src/client.d.ts.map +1 -0
- package/dist/js-server/src/client.js +183 -0
- package/dist/js-server/src/client.js.map +1 -0
- package/dist/js-server/src/errors.d.ts +35 -0
- package/dist/js-server/src/errors.d.ts.map +1 -0
- package/dist/js-server/src/errors.js +56 -0
- package/dist/js-server/src/errors.js.map +1 -0
- package/dist/js-server/src/generated/openapi.d.ts +9482 -0
- package/dist/js-server/src/generated/openapi.d.ts.map +1 -0
- package/dist/js-server/src/generated/openapi.js +6 -0
- package/dist/js-server/src/generated/openapi.js.map +1 -0
- package/dist/js-server/src/helpers.d.ts +15 -0
- package/dist/js-server/src/helpers.d.ts.map +1 -0
- package/dist/js-server/src/helpers.js +15 -0
- package/dist/js-server/src/helpers.js.map +1 -0
- package/dist/js-server/src/index.d.ts +12 -0
- package/dist/js-server/src/index.d.ts.map +1 -0
- package/dist/js-server/src/index.js +13 -0
- package/dist/js-server/src/index.js.map +1 -0
- package/dist/js-server/src/json.d.ts +5 -0
- package/dist/js-server/src/json.d.ts.map +1 -0
- package/dist/js-server/src/json.js +114 -0
- package/dist/js-server/src/json.js.map +1 -0
- package/dist/js-server/src/ledger.d.ts +9 -0
- package/dist/js-server/src/ledger.d.ts.map +1 -0
- package/dist/js-server/src/ledger.js +83 -0
- package/dist/js-server/src/ledger.js.map +1 -0
- package/dist/js-server/src/pins.d.ts +19 -0
- package/dist/js-server/src/pins.d.ts.map +1 -0
- package/dist/js-server/src/pins.js +165 -0
- package/dist/js-server/src/pins.js.map +1 -0
- package/dist/js-server/src/resource.d.ts +14 -0
- package/dist/js-server/src/resource.d.ts.map +1 -0
- package/dist/js-server/src/resource.js +32 -0
- package/dist/js-server/src/resource.js.map +1 -0
- package/dist/js-server/src/resources.d.ts +120 -0
- package/dist/js-server/src/resources.d.ts.map +1 -0
- package/dist/js-server/src/resources.js +266 -0
- package/dist/js-server/src/resources.js.map +1 -0
- package/dist/js-server/src/runtime.d.ts +4 -0
- package/dist/js-server/src/runtime.d.ts.map +1 -0
- package/dist/js-server/src/runtime.js +48 -0
- package/dist/js-server/src/runtime.js.map +1 -0
- package/dist/js-server/src/schemas.d.ts +4 -0
- package/dist/js-server/src/schemas.d.ts.map +1 -0
- package/dist/js-server/src/schemas.js +3091 -0
- package/dist/js-server/src/schemas.js.map +1 -0
- package/dist/js-server/src/sweeps.d.ts +78 -0
- package/dist/js-server/src/sweeps.d.ts.map +1 -0
- package/dist/js-server/src/sweeps.js +117 -0
- package/dist/js-server/src/sweeps.js.map +1 -0
- package/dist/js-server/src/transport.d.ts +26 -0
- package/dist/js-server/src/transport.d.ts.map +1 -0
- package/dist/js-server/src/transport.js +248 -0
- package/dist/js-server/src/transport.js.map +1 -0
- package/dist/js-server/src/types.d.ts +111 -0
- package/dist/js-server/src/types.d.ts.map +1 -0
- package/dist/js-server/src/types.js +2 -0
- package/dist/js-server/src/types.js.map +1 -0
- package/dist/js-server/src/validation.d.ts +20 -0
- package/dist/js-server/src/validation.d.ts.map +1 -0
- package/dist/js-server/src/validation.js +43 -0
- package/dist/js-server/src/validation.js.map +1 -0
- package/dist/js-server/src/webhook.d.ts +59 -0
- package/dist/js-server/src/webhook.d.ts.map +1 -0
- package/dist/js-server/src/webhook.js +164 -0
- package/dist/js-server/src/webhook.js.map +1 -0
- 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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"}
|