From f58b09ccd03588a20ede2ad0d5aa0562bc54bc8e Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 25 Nov 2019 14:17:41 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../src/main/java/com/tangem/CardManager.kt | 28 +++++++++++++++++-- .../tangem/commands/ReadIssuerDataCommand.kt | 1 + .../tangem/commands/WriteIssuerDataCommand.kt | 4 +++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/tangem-core/src/main/java/com/tangem/CardManager.kt b/tangem-core/src/main/java/com/tangem/CardManager.kt index 241741724e..197c82891a 100644 --- a/tangem-core/src/main/java/com/tangem/CardManager.kt +++ b/tangem-core/src/main/java/com/tangem/CardManager.kt @@ -37,6 +37,8 @@ class CardManager( * [ScanEvent.OnVerifyEvent] after completing [com.tangem.commands.CheckWalletCommand] * [TaskEvent.Completion] with an error field null after successful completion of a task or * [TaskEvent.Completion] with a [TaskError] if some error occurs. + * @param callback is triggered on events during a performance of the task, + * provides data in form of [ScanEvent] subclasses. */ fun scanCard(callback: (result: TaskEvent) -> Unit) { val task = ScanTask() @@ -58,8 +60,8 @@ class CardManager( * It is for [CardManagerDelegate] to notify users of security delay. * @param hashes Array of transaction hashes. It can be from one or up to ten hashes of the same length. * @param cardId CID, Unique Tangem card ID number - * @param callback - * + * @param callback is triggered on the completion of the [SignCommand], + * provides card response in the form of [SignResponse]. */ fun sign(hashes: Array, cardId: String, callback: (result: TaskEvent) -> Unit) { @@ -78,6 +80,15 @@ class CardManager( runTask(task, cardId, callback) } + /** + * This command returns 512-byte Issuer Data field and its issuer’s signature. + * Issuer Data is never changed or parsed from within the Tangem COS. The issuer defines purpose of use, + * format and payload of Issuer Data. For example, this field may contain information about + * wallet balance signed by the issuer or additional issuer’s attestation data. + * @param cardId CID, Unique Tangem card ID number. + * @param callback is triggered on the completion of the [ReadIssuerDataCommand], + * provides card response in the form of [ReadIssuerDataResponse]. + */ fun readIssuerData(cardId: String, callback: (result: TaskEvent) -> Unit) { val getIssuerDataCommand = ReadIssuerDataCommand(cardId) @@ -85,7 +96,18 @@ class CardManager( runTask(task, cardId, callback) } - + /** + * This command writes 512-byte Issuer Data field and its issuer’s signature. + * Issuer Data is never changed or parsed from within the Tangem COS. The issuer defines purpose of use, + * format and payload of Issuer Data. For example, this field may contain information about + * wallet balance signed by the issuer or additional issuer’s attestation data. + * @param cardId CID, Unique Tangem card ID number. + * @param issuerData Data provided by issuer. + * @param issuerDataSignature Issuer’s signature of [issuerData] with Issuer Data Private Key (which is kept on card). + * @param issuerDataCounter An optional counter that protect issuer data against replay attack. + * @param callback is triggered on the completion of the [WriteIssuerDataCommand], + * provides card response in the form of [WriteIssuerDataResponse]. + */ fun writeIssuerData(cardId: String, issuerData: ByteArray, issuerDataSignature: ByteArray, diff --git a/tangem-core/src/main/java/com/tangem/commands/ReadIssuerDataCommand.kt b/tangem-core/src/main/java/com/tangem/commands/ReadIssuerDataCommand.kt index a3324fdb8b..3772d178c8 100644 --- a/tangem-core/src/main/java/com/tangem/commands/ReadIssuerDataCommand.kt +++ b/tangem-core/src/main/java/com/tangem/commands/ReadIssuerDataCommand.kt @@ -47,6 +47,7 @@ class ReadIssuerDataResponse( * Issuer Data is never changed or parsed from within the Tangem COS. The issuer defines purpose of use, * format and payload of Issuer Data. For example, this field may contain information about * wallet balance signed by the issuer or additional issuer’s attestation data. + * @property cardId CID, Unique Tangem card ID number. */ class ReadIssuerDataCommand( private val cardId: String diff --git a/tangem-core/src/main/java/com/tangem/commands/WriteIssuerDataCommand.kt b/tangem-core/src/main/java/com/tangem/commands/WriteIssuerDataCommand.kt index b0d6a0bb02..7c8e27ef4f 100644 --- a/tangem-core/src/main/java/com/tangem/commands/WriteIssuerDataCommand.kt +++ b/tangem-core/src/main/java/com/tangem/commands/WriteIssuerDataCommand.kt @@ -24,6 +24,10 @@ class WriteIssuerDataResponse( * Issuer Data is never changed or parsed from within the Tangem COS. The issuer defines purpose of use, * format and payload of Issuer Data. For example, this field may contain information about * wallet balance signed by the issuer or additional issuer’s attestation data. + * @property cardId CID, Unique Tangem card ID number. + * @property issuerData Data provided by issuer. + * @property issuerDataSignature Issuer’s signature of [issuerData] with Issuer Data Private Key (which is kept on card). + * @property issuerDataCounter An optional counter that protect issuer data against replay attack. */ class WriteIssuerDataCommand( private val cardId: String,