@metamask-previews/kyc-controller 0.0.0-preview-e12b5ece6 → 0.0.0-preview-e0510042f
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/CHANGELOG.md +0 -12
- package/dist/KycController-method-action-types.cjs.map +1 -1
- package/dist/KycController-method-action-types.d.cts +4 -6
- package/dist/KycController-method-action-types.d.cts.map +1 -1
- package/dist/KycController-method-action-types.d.mts +4 -6
- package/dist/KycController-method-action-types.d.mts.map +1 -1
- package/dist/KycController-method-action-types.mjs.map +1 -1
- package/dist/KycController.cjs +150 -186
- package/dist/KycController.cjs.map +1 -1
- package/dist/KycController.d.cts +37 -43
- package/dist/KycController.d.cts.map +1 -1
- package/dist/KycController.d.mts +37 -43
- package/dist/KycController.d.mts.map +1 -1
- package/dist/KycController.mjs +149 -183
- package/dist/KycController.mjs.map +1 -1
- package/dist/KycService-method-action-types.cjs.map +1 -1
- package/dist/KycService-method-action-types.d.cts +6 -23
- package/dist/KycService-method-action-types.d.cts.map +1 -1
- package/dist/KycService-method-action-types.d.mts +6 -23
- package/dist/KycService-method-action-types.d.mts.map +1 -1
- package/dist/KycService-method-action-types.mjs.map +1 -1
- package/dist/KycService.cjs +119 -100
- package/dist/KycService.cjs.map +1 -1
- package/dist/KycService.d.cts +12 -38
- package/dist/KycService.d.cts.map +1 -1
- package/dist/KycService.d.mts +12 -38
- package/dist/KycService.d.mts.map +1 -1
- package/dist/KycService.mjs +119 -100
- package/dist/KycService.mjs.map +1 -1
- package/dist/index.cjs +1 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +4 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +5 -53
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +5 -53
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/ukyc/wrapEncryptionKey.cjs +9 -4
- package/dist/ukyc/wrapEncryptionKey.cjs.map +1 -1
- package/dist/ukyc/wrapEncryptionKey.d.cts +10 -8
- package/dist/ukyc/wrapEncryptionKey.d.cts.map +1 -1
- package/dist/ukyc/wrapEncryptionKey.d.mts +10 -8
- package/dist/ukyc/wrapEncryptionKey.d.mts.map +1 -1
- package/dist/ukyc/wrapEncryptionKey.mjs +9 -4
- package/dist/ukyc/wrapEncryptionKey.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/logger.cjs +0 -9
- package/dist/logger.cjs.map +0 -1
- package/dist/logger.d.cts +0 -6
- package/dist/logger.d.cts.map +0 -1
- package/dist/logger.d.mts +0 -6
- package/dist/logger.d.mts.map +0 -1
- package/dist/logger.mjs +0 -6
- package/dist/logger.mjs.map +0 -1
- package/dist/vendorDisclaimerAcceptance.cjs +0 -74
- package/dist/vendorDisclaimerAcceptance.cjs.map +0 -1
- package/dist/vendorDisclaimerAcceptance.d.cts +0 -39
- package/dist/vendorDisclaimerAcceptance.d.cts.map +0 -1
- package/dist/vendorDisclaimerAcceptance.d.mts +0 -39
- package/dist/vendorDisclaimerAcceptance.d.mts.map +0 -1
- package/dist/vendorDisclaimerAcceptance.mjs +0 -67
- package/dist/vendorDisclaimerAcceptance.mjs.map +0 -1
|
@@ -7,21 +7,26 @@ import { base64UrlToBytes, toBase64Url } from "../encoding.mjs";
|
|
|
7
7
|
* The box is sealed with NaCl's `crypto_box`, keyed by the X25519 shared secret
|
|
8
8
|
* between our session client private key and the session server public key
|
|
9
9
|
* from an encryption schema (`encryptionDataKey` or `ukycCapabilityToken`)
|
|
10
|
-
* returned by `createUkycSession`. The client public key is
|
|
11
|
-
* `data
|
|
10
|
+
* returned by `createUkycSession`. The 32-byte client public key is still
|
|
11
|
+
* prefixed onto `data` so the box is self-describing on the wire.
|
|
12
12
|
*
|
|
13
13
|
* @param sessionClientPrivateKey - Our session's X25519 private key.
|
|
14
14
|
* @param sessionServerPublicKey - The server's X25519 public key (base64url).
|
|
15
15
|
* @param plaintext - The raw bytes to encrypt (e.g. the `data_encryption_key`
|
|
16
16
|
* or the encoded `ukyc_capability_token`).
|
|
17
|
-
* @returns The base64url `data` (ciphertext+tag) and
|
|
17
|
+
* @returns The base64url `data` (`clientPublicKey || ciphertext+tag`) and
|
|
18
|
+
* `nonce`.
|
|
18
19
|
*/
|
|
19
20
|
export function wrapEncryptionKey(sessionClientPrivateKey, sessionServerPublicKey, plaintext) {
|
|
20
21
|
const serverPublicKey = base64UrlToBytes(sessionServerPublicKey);
|
|
22
|
+
const { publicKey: clientPublicKey } = box.keyPair.fromSecretKey(sessionClientPrivateKey);
|
|
21
23
|
const nonce = randomBytes(box.nonceLength);
|
|
22
24
|
const ciphertext = box(plaintext, nonce, serverPublicKey, sessionClientPrivateKey);
|
|
25
|
+
const data = new Uint8Array(clientPublicKey.length + ciphertext.length);
|
|
26
|
+
data.set(clientPublicKey, 0);
|
|
27
|
+
data.set(ciphertext, clientPublicKey.length);
|
|
23
28
|
return {
|
|
24
|
-
data: toBase64Url(
|
|
29
|
+
data: toBase64Url(data),
|
|
25
30
|
nonce: toBase64Url(nonce),
|
|
26
31
|
};
|
|
27
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapEncryptionKey.mjs","sourceRoot":"","sources":["../../src/ukyc/wrapEncryptionKey.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,wBAAuB;
|
|
1
|
+
{"version":3,"file":"wrapEncryptionKey.mjs","sourceRoot":"","sources":["../../src/ukyc/wrapEncryptionKey.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,wBAAuB;AAwB/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAC/B,uBAAmC,EACnC,sBAA8B,EAC9B,SAAqB;IAErB,MAAM,eAAe,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;IACjE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAC9D,uBAAuB,CACxB,CAAC;IACF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,GAAG,CACpB,SAAS,EACT,KAAK,EACL,eAAe,EACf,uBAAuB,CACxB,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;QACvB,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;KAC1B,CAAC;AACJ,CAAC","sourcesContent":["import { randomBytes, box } from 'tweetnacl';\n\nimport { base64UrlToBytes, toBase64Url } from '../encoding.js';\n\n/**\n * Wraps a secret for the UKYC session server using NaCl's `crypto_box`\n * (X25519 + XSalsa20-Poly1305) established with a per-secret wrapping key\n * returned inside an encryption schema from `createUkycSession`.\n *\n * Reuses a session client keypair whose public half is registered on\n * `createUkycSession`. `data` is still `clientPublicKey (32) || ciphertext+tag`\n * so the box can be opened from `{ data, nonce }` alone. Used for both the\n * `data_encryption_key` and the `ukyc_capability_token`.\n */\n\n/**\n * The transmitted portion of a wrapped secret: the sender public key prefixed\n * to the `crypto_box` ciphertext (which includes the 16-byte Poly1305 auth\n * tag), and the nonce, both unpadded base64url-encoded. Matches the KYC API\n * `CapabilityAuthorization` wire shape.\n */\nexport type WrappedEncryptionKeyParts = {\n data: string;\n nonce: string;\n};\n\n/**\n * Wraps `plaintext` for the UKYC session server.\n *\n * The box is sealed with NaCl's `crypto_box`, keyed by the X25519 shared secret\n * between our session client private key and the session server public key\n * from an encryption schema (`encryptionDataKey` or `ukycCapabilityToken`)\n * returned by `createUkycSession`. The 32-byte client public key is still\n * prefixed onto `data` so the box is self-describing on the wire.\n *\n * @param sessionClientPrivateKey - Our session's X25519 private key.\n * @param sessionServerPublicKey - The server's X25519 public key (base64url).\n * @param plaintext - The raw bytes to encrypt (e.g. the `data_encryption_key`\n * or the encoded `ukyc_capability_token`).\n * @returns The base64url `data` (`clientPublicKey || ciphertext+tag`) and\n * `nonce`.\n */\nexport function wrapEncryptionKey(\n sessionClientPrivateKey: Uint8Array,\n sessionServerPublicKey: string,\n plaintext: Uint8Array,\n): WrappedEncryptionKeyParts {\n const serverPublicKey = base64UrlToBytes(sessionServerPublicKey);\n const { publicKey: clientPublicKey } = box.keyPair.fromSecretKey(\n sessionClientPrivateKey,\n );\n const nonce = randomBytes(box.nonceLength);\n const ciphertext = box(\n plaintext,\n nonce,\n serverPublicKey,\n sessionClientPrivateKey,\n );\n const data = new Uint8Array(clientPublicKey.length + ciphertext.length);\n data.set(clientPublicKey, 0);\n data.set(ciphertext, clientPublicKey.length);\n return {\n data: toBase64Url(data),\n nonce: toBase64Url(nonce),\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask-previews/kyc-controller",
|
|
3
|
-
"version": "0.0.0-preview-
|
|
3
|
+
"version": "0.0.0-preview-e0510042f",
|
|
4
4
|
"description": "Shared KYC / identity verification controller used across MetaMask clients",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ethereum",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"@metamask/messenger": "^2.0.0",
|
|
65
65
|
"@metamask/profile-sync-controller": "^29.0.0",
|
|
66
66
|
"@metamask/superstruct": "^3.4.1",
|
|
67
|
-
"@metamask/utils": "^11.
|
|
67
|
+
"@metamask/utils": "^11.11.0",
|
|
68
68
|
"@noble/ciphers": "^1.3.0",
|
|
69
69
|
"@noble/curves": "^1.9.2",
|
|
70
70
|
"@noble/hashes": "^1.8.0",
|
package/dist/logger.cjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* istanbul ignore file */
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.createModuleLogger = exports.controllerLog = exports.projectLogger = void 0;
|
|
5
|
-
const utils_1 = require("@metamask/utils");
|
|
6
|
-
Object.defineProperty(exports, "createModuleLogger", { enumerable: true, get: function () { return utils_1.createModuleLogger; } });
|
|
7
|
-
exports.projectLogger = (0, utils_1.createProjectLogger)('kyc-controller');
|
|
8
|
-
exports.controllerLog = (0, utils_1.createModuleLogger)(exports.projectLogger, 'KycController');
|
|
9
|
-
//# sourceMappingURL=logger.cjs.map
|
package/dist/logger.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.cjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAAA,0BAA0B;;;AAE1B,2CAA0E;AAMjE,mGANqB,0BAAkB,OAMrB;AAJd,QAAA,aAAa,GAAG,IAAA,2BAAmB,EAAC,gBAAgB,CAAC,CAAC;AAEtD,QAAA,aAAa,GAAG,IAAA,0BAAkB,EAAC,qBAAa,EAAE,eAAe,CAAC,CAAC","sourcesContent":["/* istanbul ignore file */\n\nimport { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nexport const projectLogger = createProjectLogger('kyc-controller');\n\nexport const controllerLog = createModuleLogger(projectLogger, 'KycController');\n\nexport { createModuleLogger };\n"]}
|
package/dist/logger.d.cts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="debug" />
|
|
2
|
-
import { createModuleLogger } from "@metamask/utils";
|
|
3
|
-
export declare const projectLogger: import("debug").Debugger;
|
|
4
|
-
export declare const controllerLog: import("debug").Debugger;
|
|
5
|
-
export { createModuleLogger };
|
|
6
|
-
//# sourceMappingURL=logger.d.cts.map
|
package/dist/logger.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.cts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAEA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAE1E,eAAO,MAAM,aAAa,0BAAwC,CAAC;AAEnE,eAAO,MAAM,aAAa,0BAAqD,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/logger.d.mts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="debug" />
|
|
2
|
-
import { createModuleLogger } from "@metamask/utils";
|
|
3
|
-
export declare const projectLogger: import("debug").Debugger;
|
|
4
|
-
export declare const controllerLog: import("debug").Debugger;
|
|
5
|
-
export { createModuleLogger };
|
|
6
|
-
//# sourceMappingURL=logger.d.mts.map
|
package/dist/logger.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.mts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";AAEA,OAAO,EAAuB,kBAAkB,EAAE,wBAAwB;AAE1E,eAAO,MAAM,aAAa,0BAAwC,CAAC;AAEnE,eAAO,MAAM,aAAa,0BAAqD,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/logger.mjs
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/* istanbul ignore file */
|
|
2
|
-
import { createProjectLogger, createModuleLogger } from "@metamask/utils";
|
|
3
|
-
export const projectLogger = createProjectLogger('kyc-controller');
|
|
4
|
-
export const controllerLog = createModuleLogger(projectLogger, 'KycController');
|
|
5
|
-
export { createModuleLogger };
|
|
6
|
-
//# sourceMappingURL=logger.mjs.map
|
package/dist/logger.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.mjs","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAE1B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,wBAAwB;AAE1E,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["/* istanbul ignore file */\n\nimport { createProjectLogger, createModuleLogger } from '@metamask/utils';\n\nexport const projectLogger = createProjectLogger('kyc-controller');\n\nexport const controllerLog = createModuleLogger(projectLogger, 'KycController');\n\nexport { createModuleLogger };\n"]}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.clearVendorDisclaimerAcceptance = exports.recordVendorDisclaimerAcceptance = exports.ironDisclaimerIds = exports.hasVendorDisclaimerAcceptance = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Returns whether persisted vendor disclaimer acceptance exists for `vendor`.
|
|
6
|
-
*
|
|
7
|
-
* @param accepted - Vendor-disclaimer acceptance map.
|
|
8
|
-
* @param vendor - Identity vendor to inspect.
|
|
9
|
-
* @returns Whether acceptance is present for the vendor.
|
|
10
|
-
*/
|
|
11
|
-
function hasVendorDisclaimerAcceptance(accepted, vendor) {
|
|
12
|
-
if (vendor === 'moonpay') {
|
|
13
|
-
return Boolean(accepted.moonpay?.termsAcceptedAt);
|
|
14
|
-
}
|
|
15
|
-
if (vendor === 'iron') {
|
|
16
|
-
return Boolean(accepted.iron?.disclaimerIds.length);
|
|
17
|
-
}
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
exports.hasVendorDisclaimerAcceptance = hasVendorDisclaimerAcceptance;
|
|
21
|
-
/**
|
|
22
|
-
* Returns persisted Iron disclaimer ids, if any.
|
|
23
|
-
*
|
|
24
|
-
* @param accepted - Vendor-disclaimer acceptance map.
|
|
25
|
-
* @returns The accepted disclaimer ids, or an empty array.
|
|
26
|
-
*/
|
|
27
|
-
function ironDisclaimerIds(accepted) {
|
|
28
|
-
return accepted.iron?.disclaimerIds ?? [];
|
|
29
|
-
}
|
|
30
|
-
exports.ironDisclaimerIds = ironDisclaimerIds;
|
|
31
|
-
/**
|
|
32
|
-
* Records vendor disclaimer acceptance for the active vendor.
|
|
33
|
-
*
|
|
34
|
-
* @param accepted - Existing vendor-disclaimer acceptance map.
|
|
35
|
-
* @param vendor - Identity vendor being accepted.
|
|
36
|
-
* @param params - Acceptance payload for the vendor.
|
|
37
|
-
* @param params.termsAcceptedAt - MoonPay acceptance timestamp.
|
|
38
|
-
* @param params.disclaimerIds - Iron disclaimer ids.
|
|
39
|
-
* @returns The updated acceptance map.
|
|
40
|
-
*/
|
|
41
|
-
function recordVendorDisclaimerAcceptance(accepted, vendor, params) {
|
|
42
|
-
if (vendor === 'moonpay') {
|
|
43
|
-
return {
|
|
44
|
-
...accepted,
|
|
45
|
-
moonpay: { termsAcceptedAt: params.termsAcceptedAt },
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
if (vendor === 'iron') {
|
|
49
|
-
return {
|
|
50
|
-
...accepted,
|
|
51
|
-
iron: { disclaimerIds: params.disclaimerIds },
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
return accepted;
|
|
55
|
-
}
|
|
56
|
-
exports.recordVendorDisclaimerAcceptance = recordVendorDisclaimerAcceptance;
|
|
57
|
-
/**
|
|
58
|
-
* Clears persisted vendor disclaimer acceptance for one vendor.
|
|
59
|
-
*
|
|
60
|
-
* @param accepted - Existing vendor-disclaimer acceptance map.
|
|
61
|
-
* @param vendor - Identity vendor whose acceptance should be cleared.
|
|
62
|
-
* @returns The updated acceptance map.
|
|
63
|
-
*/
|
|
64
|
-
function clearVendorDisclaimerAcceptance(accepted, vendor) {
|
|
65
|
-
if (vendor === 'moonpay') {
|
|
66
|
-
return { ...accepted, moonpay: null };
|
|
67
|
-
}
|
|
68
|
-
if (vendor === 'iron') {
|
|
69
|
-
return { ...accepted, iron: null };
|
|
70
|
-
}
|
|
71
|
-
return accepted;
|
|
72
|
-
}
|
|
73
|
-
exports.clearVendorDisclaimerAcceptance = clearVendorDisclaimerAcceptance;
|
|
74
|
-
//# sourceMappingURL=vendorDisclaimerAcceptance.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vendorDisclaimerAcceptance.cjs","sourceRoot":"","sources":["../src/vendorDisclaimerAcceptance.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAC3C,QAAsC,EACtC,MAAiB;IAEjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,sEAWC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,QAAsC;IAEtC,OAAO,QAAQ,CAAC,IAAI,EAAE,aAAa,IAAI,EAAE,CAAC;AAC5C,CAAC;AAJD,8CAIC;AAED;;;;;;;;;GASG;AACH,SAAgB,gCAAgC,CAC9C,QAAsC,EACtC,MAAiB,EACjB,MAA4D;IAE5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,QAAQ;YACX,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE;SACrD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO;YACL,GAAG,QAAQ;YACX,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE;SAC9C,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAlBD,4EAkBC;AAED;;;;;;GAMG;AACH,SAAgB,+BAA+B,CAC7C,QAAsC,EACtC,MAAiB;IAEjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAXD,0EAWC","sourcesContent":["import type { KycVendor, KycVendorDisclaimersAccepted } from './types.js';\n\n/**\n * Returns whether persisted vendor disclaimer acceptance exists for `vendor`.\n *\n * @param accepted - Vendor-disclaimer acceptance map.\n * @param vendor - Identity vendor to inspect.\n * @returns Whether acceptance is present for the vendor.\n */\nexport function hasVendorDisclaimerAcceptance(\n accepted: KycVendorDisclaimersAccepted,\n vendor: KycVendor,\n): boolean {\n if (vendor === 'moonpay') {\n return Boolean(accepted.moonpay?.termsAcceptedAt);\n }\n if (vendor === 'iron') {\n return Boolean(accepted.iron?.disclaimerIds.length);\n }\n return false;\n}\n\n/**\n * Returns persisted Iron disclaimer ids, if any.\n *\n * @param accepted - Vendor-disclaimer acceptance map.\n * @returns The accepted disclaimer ids, or an empty array.\n */\nexport function ironDisclaimerIds(\n accepted: KycVendorDisclaimersAccepted,\n): string[] {\n return accepted.iron?.disclaimerIds ?? [];\n}\n\n/**\n * Records vendor disclaimer acceptance for the active vendor.\n *\n * @param accepted - Existing vendor-disclaimer acceptance map.\n * @param vendor - Identity vendor being accepted.\n * @param params - Acceptance payload for the vendor.\n * @param params.termsAcceptedAt - MoonPay acceptance timestamp.\n * @param params.disclaimerIds - Iron disclaimer ids.\n * @returns The updated acceptance map.\n */\nexport function recordVendorDisclaimerAcceptance(\n accepted: KycVendorDisclaimersAccepted,\n vendor: KycVendor,\n params: { termsAcceptedAt: string; disclaimerIds: string[] },\n): KycVendorDisclaimersAccepted {\n if (vendor === 'moonpay') {\n return {\n ...accepted,\n moonpay: { termsAcceptedAt: params.termsAcceptedAt },\n };\n }\n if (vendor === 'iron') {\n return {\n ...accepted,\n iron: { disclaimerIds: params.disclaimerIds },\n };\n }\n return accepted;\n}\n\n/**\n * Clears persisted vendor disclaimer acceptance for one vendor.\n *\n * @param accepted - Existing vendor-disclaimer acceptance map.\n * @param vendor - Identity vendor whose acceptance should be cleared.\n * @returns The updated acceptance map.\n */\nexport function clearVendorDisclaimerAcceptance(\n accepted: KycVendorDisclaimersAccepted,\n vendor: KycVendor,\n): KycVendorDisclaimersAccepted {\n if (vendor === 'moonpay') {\n return { ...accepted, moonpay: null };\n }\n if (vendor === 'iron') {\n return { ...accepted, iron: null };\n }\n return accepted;\n}\n"]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { KycVendor, KycVendorDisclaimersAccepted } from "./types.cjs";
|
|
2
|
-
/**
|
|
3
|
-
* Returns whether persisted vendor disclaimer acceptance exists for `vendor`.
|
|
4
|
-
*
|
|
5
|
-
* @param accepted - Vendor-disclaimer acceptance map.
|
|
6
|
-
* @param vendor - Identity vendor to inspect.
|
|
7
|
-
* @returns Whether acceptance is present for the vendor.
|
|
8
|
-
*/
|
|
9
|
-
export declare function hasVendorDisclaimerAcceptance(accepted: KycVendorDisclaimersAccepted, vendor: KycVendor): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Returns persisted Iron disclaimer ids, if any.
|
|
12
|
-
*
|
|
13
|
-
* @param accepted - Vendor-disclaimer acceptance map.
|
|
14
|
-
* @returns The accepted disclaimer ids, or an empty array.
|
|
15
|
-
*/
|
|
16
|
-
export declare function ironDisclaimerIds(accepted: KycVendorDisclaimersAccepted): string[];
|
|
17
|
-
/**
|
|
18
|
-
* Records vendor disclaimer acceptance for the active vendor.
|
|
19
|
-
*
|
|
20
|
-
* @param accepted - Existing vendor-disclaimer acceptance map.
|
|
21
|
-
* @param vendor - Identity vendor being accepted.
|
|
22
|
-
* @param params - Acceptance payload for the vendor.
|
|
23
|
-
* @param params.termsAcceptedAt - MoonPay acceptance timestamp.
|
|
24
|
-
* @param params.disclaimerIds - Iron disclaimer ids.
|
|
25
|
-
* @returns The updated acceptance map.
|
|
26
|
-
*/
|
|
27
|
-
export declare function recordVendorDisclaimerAcceptance(accepted: KycVendorDisclaimersAccepted, vendor: KycVendor, params: {
|
|
28
|
-
termsAcceptedAt: string;
|
|
29
|
-
disclaimerIds: string[];
|
|
30
|
-
}): KycVendorDisclaimersAccepted;
|
|
31
|
-
/**
|
|
32
|
-
* Clears persisted vendor disclaimer acceptance for one vendor.
|
|
33
|
-
*
|
|
34
|
-
* @param accepted - Existing vendor-disclaimer acceptance map.
|
|
35
|
-
* @param vendor - Identity vendor whose acceptance should be cleared.
|
|
36
|
-
* @returns The updated acceptance map.
|
|
37
|
-
*/
|
|
38
|
-
export declare function clearVendorDisclaimerAcceptance(accepted: KycVendorDisclaimersAccepted, vendor: KycVendor): KycVendorDisclaimersAccepted;
|
|
39
|
-
//# sourceMappingURL=vendorDisclaimerAcceptance.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vendorDisclaimerAcceptance.d.cts","sourceRoot":"","sources":["../src/vendorDisclaimerAcceptance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B,EAAE,oBAAmB;AAE1E;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,4BAA4B,EACtC,MAAM,EAAE,SAAS,GAChB,OAAO,CAQT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,4BAA4B,GACrC,MAAM,EAAE,CAEV;AAED;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,4BAA4B,EACtC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3D,4BAA4B,CAc9B;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,4BAA4B,EACtC,MAAM,EAAE,SAAS,GAChB,4BAA4B,CAQ9B"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { KycVendor, KycVendorDisclaimersAccepted } from "./types.mjs";
|
|
2
|
-
/**
|
|
3
|
-
* Returns whether persisted vendor disclaimer acceptance exists for `vendor`.
|
|
4
|
-
*
|
|
5
|
-
* @param accepted - Vendor-disclaimer acceptance map.
|
|
6
|
-
* @param vendor - Identity vendor to inspect.
|
|
7
|
-
* @returns Whether acceptance is present for the vendor.
|
|
8
|
-
*/
|
|
9
|
-
export declare function hasVendorDisclaimerAcceptance(accepted: KycVendorDisclaimersAccepted, vendor: KycVendor): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Returns persisted Iron disclaimer ids, if any.
|
|
12
|
-
*
|
|
13
|
-
* @param accepted - Vendor-disclaimer acceptance map.
|
|
14
|
-
* @returns The accepted disclaimer ids, or an empty array.
|
|
15
|
-
*/
|
|
16
|
-
export declare function ironDisclaimerIds(accepted: KycVendorDisclaimersAccepted): string[];
|
|
17
|
-
/**
|
|
18
|
-
* Records vendor disclaimer acceptance for the active vendor.
|
|
19
|
-
*
|
|
20
|
-
* @param accepted - Existing vendor-disclaimer acceptance map.
|
|
21
|
-
* @param vendor - Identity vendor being accepted.
|
|
22
|
-
* @param params - Acceptance payload for the vendor.
|
|
23
|
-
* @param params.termsAcceptedAt - MoonPay acceptance timestamp.
|
|
24
|
-
* @param params.disclaimerIds - Iron disclaimer ids.
|
|
25
|
-
* @returns The updated acceptance map.
|
|
26
|
-
*/
|
|
27
|
-
export declare function recordVendorDisclaimerAcceptance(accepted: KycVendorDisclaimersAccepted, vendor: KycVendor, params: {
|
|
28
|
-
termsAcceptedAt: string;
|
|
29
|
-
disclaimerIds: string[];
|
|
30
|
-
}): KycVendorDisclaimersAccepted;
|
|
31
|
-
/**
|
|
32
|
-
* Clears persisted vendor disclaimer acceptance for one vendor.
|
|
33
|
-
*
|
|
34
|
-
* @param accepted - Existing vendor-disclaimer acceptance map.
|
|
35
|
-
* @param vendor - Identity vendor whose acceptance should be cleared.
|
|
36
|
-
* @returns The updated acceptance map.
|
|
37
|
-
*/
|
|
38
|
-
export declare function clearVendorDisclaimerAcceptance(accepted: KycVendorDisclaimersAccepted, vendor: KycVendor): KycVendorDisclaimersAccepted;
|
|
39
|
-
//# sourceMappingURL=vendorDisclaimerAcceptance.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vendorDisclaimerAcceptance.d.mts","sourceRoot":"","sources":["../src/vendorDisclaimerAcceptance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B,EAAE,oBAAmB;AAE1E;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,4BAA4B,EACtC,MAAM,EAAE,SAAS,GAChB,OAAO,CAQT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,4BAA4B,GACrC,MAAM,EAAE,CAEV;AAED;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,4BAA4B,EACtC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3D,4BAA4B,CAc9B;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,4BAA4B,EACtC,MAAM,EAAE,SAAS,GAChB,4BAA4B,CAQ9B"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns whether persisted vendor disclaimer acceptance exists for `vendor`.
|
|
3
|
-
*
|
|
4
|
-
* @param accepted - Vendor-disclaimer acceptance map.
|
|
5
|
-
* @param vendor - Identity vendor to inspect.
|
|
6
|
-
* @returns Whether acceptance is present for the vendor.
|
|
7
|
-
*/
|
|
8
|
-
export function hasVendorDisclaimerAcceptance(accepted, vendor) {
|
|
9
|
-
if (vendor === 'moonpay') {
|
|
10
|
-
return Boolean(accepted.moonpay?.termsAcceptedAt);
|
|
11
|
-
}
|
|
12
|
-
if (vendor === 'iron') {
|
|
13
|
-
return Boolean(accepted.iron?.disclaimerIds.length);
|
|
14
|
-
}
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Returns persisted Iron disclaimer ids, if any.
|
|
19
|
-
*
|
|
20
|
-
* @param accepted - Vendor-disclaimer acceptance map.
|
|
21
|
-
* @returns The accepted disclaimer ids, or an empty array.
|
|
22
|
-
*/
|
|
23
|
-
export function ironDisclaimerIds(accepted) {
|
|
24
|
-
return accepted.iron?.disclaimerIds ?? [];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Records vendor disclaimer acceptance for the active vendor.
|
|
28
|
-
*
|
|
29
|
-
* @param accepted - Existing vendor-disclaimer acceptance map.
|
|
30
|
-
* @param vendor - Identity vendor being accepted.
|
|
31
|
-
* @param params - Acceptance payload for the vendor.
|
|
32
|
-
* @param params.termsAcceptedAt - MoonPay acceptance timestamp.
|
|
33
|
-
* @param params.disclaimerIds - Iron disclaimer ids.
|
|
34
|
-
* @returns The updated acceptance map.
|
|
35
|
-
*/
|
|
36
|
-
export function recordVendorDisclaimerAcceptance(accepted, vendor, params) {
|
|
37
|
-
if (vendor === 'moonpay') {
|
|
38
|
-
return {
|
|
39
|
-
...accepted,
|
|
40
|
-
moonpay: { termsAcceptedAt: params.termsAcceptedAt },
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
if (vendor === 'iron') {
|
|
44
|
-
return {
|
|
45
|
-
...accepted,
|
|
46
|
-
iron: { disclaimerIds: params.disclaimerIds },
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
return accepted;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Clears persisted vendor disclaimer acceptance for one vendor.
|
|
53
|
-
*
|
|
54
|
-
* @param accepted - Existing vendor-disclaimer acceptance map.
|
|
55
|
-
* @param vendor - Identity vendor whose acceptance should be cleared.
|
|
56
|
-
* @returns The updated acceptance map.
|
|
57
|
-
*/
|
|
58
|
-
export function clearVendorDisclaimerAcceptance(accepted, vendor) {
|
|
59
|
-
if (vendor === 'moonpay') {
|
|
60
|
-
return { ...accepted, moonpay: null };
|
|
61
|
-
}
|
|
62
|
-
if (vendor === 'iron') {
|
|
63
|
-
return { ...accepted, iron: null };
|
|
64
|
-
}
|
|
65
|
-
return accepted;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=vendorDisclaimerAcceptance.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vendorDisclaimerAcceptance.mjs","sourceRoot":"","sources":["../src/vendorDisclaimerAcceptance.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAAsC,EACtC,MAAiB;IAEjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAsC;IAEtC,OAAO,QAAQ,CAAC,IAAI,EAAE,aAAa,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gCAAgC,CAC9C,QAAsC,EACtC,MAAiB,EACjB,MAA4D;IAE5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO;YACL,GAAG,QAAQ;YACX,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE;SACrD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO;YACL,GAAG,QAAQ;YACX,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE;SAC9C,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,QAAsC,EACtC,MAAiB;IAEjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import type { KycVendor, KycVendorDisclaimersAccepted } from './types.js';\n\n/**\n * Returns whether persisted vendor disclaimer acceptance exists for `vendor`.\n *\n * @param accepted - Vendor-disclaimer acceptance map.\n * @param vendor - Identity vendor to inspect.\n * @returns Whether acceptance is present for the vendor.\n */\nexport function hasVendorDisclaimerAcceptance(\n accepted: KycVendorDisclaimersAccepted,\n vendor: KycVendor,\n): boolean {\n if (vendor === 'moonpay') {\n return Boolean(accepted.moonpay?.termsAcceptedAt);\n }\n if (vendor === 'iron') {\n return Boolean(accepted.iron?.disclaimerIds.length);\n }\n return false;\n}\n\n/**\n * Returns persisted Iron disclaimer ids, if any.\n *\n * @param accepted - Vendor-disclaimer acceptance map.\n * @returns The accepted disclaimer ids, or an empty array.\n */\nexport function ironDisclaimerIds(\n accepted: KycVendorDisclaimersAccepted,\n): string[] {\n return accepted.iron?.disclaimerIds ?? [];\n}\n\n/**\n * Records vendor disclaimer acceptance for the active vendor.\n *\n * @param accepted - Existing vendor-disclaimer acceptance map.\n * @param vendor - Identity vendor being accepted.\n * @param params - Acceptance payload for the vendor.\n * @param params.termsAcceptedAt - MoonPay acceptance timestamp.\n * @param params.disclaimerIds - Iron disclaimer ids.\n * @returns The updated acceptance map.\n */\nexport function recordVendorDisclaimerAcceptance(\n accepted: KycVendorDisclaimersAccepted,\n vendor: KycVendor,\n params: { termsAcceptedAt: string; disclaimerIds: string[] },\n): KycVendorDisclaimersAccepted {\n if (vendor === 'moonpay') {\n return {\n ...accepted,\n moonpay: { termsAcceptedAt: params.termsAcceptedAt },\n };\n }\n if (vendor === 'iron') {\n return {\n ...accepted,\n iron: { disclaimerIds: params.disclaimerIds },\n };\n }\n return accepted;\n}\n\n/**\n * Clears persisted vendor disclaimer acceptance for one vendor.\n *\n * @param accepted - Existing vendor-disclaimer acceptance map.\n * @param vendor - Identity vendor whose acceptance should be cleared.\n * @returns The updated acceptance map.\n */\nexport function clearVendorDisclaimerAcceptance(\n accepted: KycVendorDisclaimersAccepted,\n vendor: KycVendor,\n): KycVendorDisclaimersAccepted {\n if (vendor === 'moonpay') {\n return { ...accepted, moonpay: null };\n }\n if (vendor === 'iron') {\n return { ...accepted, iron: null };\n }\n return accepted;\n}\n"]}
|