From d39f23cbfb83244f8055845877d12bd60ae0c560 Mon Sep 17 00:00:00 2001 From: Jeremy Klein Date: Sat, 17 Feb 2024 15:41:09 -0800 Subject: [PATCH 1/2] Move the compliance and kyc status fields into payeedata. This better matches the use of payeedata and how payerdata already works. --- umad-04-lnurlp-response.md | 5 ++--- umad-05-payreq-request.md | 1 + umad-06-payreq-response.md | 30 ++++++++++++++++-------------- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/umad-04-lnurlp-response.md b/umad-04-lnurlp-response.md index 1892dc8..3bad743 100644 --- a/umad-04-lnurlp-response.md +++ b/umad-04-lnurlp-response.md @@ -50,11 +50,10 @@ The full structure of the LNURLP response is: // UMA-specific authentication and compliance info. "compliance" { "isSubjectToTravelRule": boolean, // true if VASP2 needs travel rule info - "kycStatus": KycStatus, // [enum] KYC state indicating whether the receiver is a KYC'd customer of VASP2. "signature": string, // hex encoded "signatureNonce": string, - "signatureTimestamp": number // secs since epoch - "receiverIdentifier": string // The identity of the receiver at VASP2 + "signatureTimestamp": number, // secs since epoch + "receiverIdentifier": string, // The identity of the receiver at VASP2 }, "umaVersion": "1.0", // The UMA protocol version that will be used for this transaction. "tag": "payRequest", diff --git a/umad-05-payreq-request.md b/umad-05-payreq-request.md index faac036..3667b68 100644 --- a/umad-05-payreq-request.md +++ b/umad-05-payreq-request.md @@ -33,6 +33,7 @@ The body of the request is a JSON object with the following fields: // The UMA protocol version that will be used for this transaction. See [UMAD-08](/umad-08-versioning.md). "umaVersion": "1.0", "payeeData": { + "compliance": { "mandatory": boolean }, "name": { "mandatory": boolean }, "identifier": { "mandatory": boolean }, "countryCode": { "mandatory": boolean }, diff --git a/umad-06-payreq-response.md b/umad-06-payreq-response.md index 7c4b94c..d52f949 100644 --- a/umad-06-payreq-response.md +++ b/umad-06-payreq-response.md @@ -10,20 +10,6 @@ The full structure of the LNURLP response is: "pr": string, // Empty for legcy LNURL reasons. "routes": [], - "compliance": { - // Public key of the recipient node for pre-screening. - "nodePubKey": string, - // A list of the expected UTXOs over which the receiver may receive the transaction (receiver's channels). - "utxos": string[], - // A url which the sending VASP should call on transaction completion to notify the receiving VASP of - // the utxos used to complete the transaction. See [UMAD-07](/umad-07-post-tx-hooks.md). - "utxoCallback": string, - // The receiving VASP's signature over sha256_hash( (eg. $alice@vasp1.com) + (eg. $bob@vasp2.com) + - // signatureNonce + signatureTimestamp) - "signature": string, - "signatureNonce": string, - "signatureTimestamp": number, // in seconds since epoch - }, "converted": { // The amount that the receiver will receive in the receiving currency not including fees. The amount is specified // in the smallest unit of the currency (eg. cents for USD). @@ -45,6 +31,22 @@ The full structure of the LNURLP response is: "fee": number }, "payeeData": { + "compliance": { + // [enum] KYC state indicating whether the receiver is a KYC'd customer of VASP2. + "kycStatus": KycStatus, + // Public key of the recipient node for pre-screening. + "nodePubKey": string, + // A list of the expected UTXOs over which the receiver may receive the transaction (receiver's channels). + "utxos": string[], + // A url which the sending VASP should call on transaction completion to notify the receiving VASP of + // the utxos used to complete the transaction. See [UMAD-07](/umad-07-post-tx-hooks.md). + "utxoCallback": string, + // The receiving VASP's signature over sha256_hash( (eg. $alice@vasp1.com) + (eg. $bob@vasp2.com) + + // signatureNonce + signatureTimestamp) + "signature": string, + "signatureNonce": string, + "signatureTimestamp": number, // in seconds since epoch + }, "name": string, "identifier": string, "countryCode": string, From f5957f10075acf7a6149b89f503ac36fad1d19f6 Mon Sep 17 00:00:00 2001 From: Jeremy Klein Date: Sun, 18 Feb 2024 17:31:05 -0800 Subject: [PATCH 2/2] Move back kycstatus because it's still needed in the lnurlpresponse --- umad-04-lnurlp-response.md | 1 + umad-06-payreq-response.md | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/umad-04-lnurlp-response.md b/umad-04-lnurlp-response.md index 3bad743..72a6908 100644 --- a/umad-04-lnurlp-response.md +++ b/umad-04-lnurlp-response.md @@ -50,6 +50,7 @@ The full structure of the LNURLP response is: // UMA-specific authentication and compliance info. "compliance" { "isSubjectToTravelRule": boolean, // true if VASP2 needs travel rule info + "kycStatus": KycStatus, // [enum] KYC state indicating whether the receiver is a KYC'd customer of VASP2. "signature": string, // hex encoded "signatureNonce": string, "signatureTimestamp": number, // secs since epoch diff --git a/umad-06-payreq-response.md b/umad-06-payreq-response.md index d52f949..dcb6a81 100644 --- a/umad-06-payreq-response.md +++ b/umad-06-payreq-response.md @@ -32,8 +32,6 @@ The full structure of the LNURLP response is: }, "payeeData": { "compliance": { - // [enum] KYC state indicating whether the receiver is a KYC'd customer of VASP2. - "kycStatus": KycStatus, // Public key of the recipient node for pre-screening. "nodePubKey": string, // A list of the expected UTXOs over which the receiver may receive the transaction (receiver's channels).