Home Reference Source Test

src/main/generic/utils/crypto/CryptoWorker.js

/**
 * @interface
 */
class CryptoWorker {
    static get lib() { return CryptoLib.instance; }

    /**
     * @returns {Promise.<CryptoWorker>}
     */
    static async getInstanceAsync() {
        if (!CryptoWorker._workerAsync) {
            CryptoWorker._workerAsync = await IWorker.startWorkerPoolForProxy(CryptoWorker, 'crypto', 4);
        }
        return CryptoWorker._workerAsync;
    }
    /**
     * @param {Uint8Array} input
     * @returns {Promise.<Uint8Array>}
     */
    async computeArgon2d(input) {}

    /**
     * @param {Array.<Uint8Array>} inputs
     * @returns {Promise.<Array.<Uint8Array>>}
     */
    async computeArgon2dBatch(inputs) {}

    /**
     * @param {Uint8Array} key
     * @param {Uint8Array} salt
     * @param {number} iterations
     * @param {number} outputSize
     * @returns {Promise.<Uint8Array>}
     * @deprecated
     */
    async kdfLegacy(key, salt, iterations, outputSize) {}

    /**
     * @param {Uint8Array} key
     * @param {Uint8Array} salt
     * @param {number} iterations
     * @param {number} outputSize
     * @returns {Promise.<Uint8Array>}
     */
    async kdf(key, salt, iterations, outputSize) {}

    /**
     * @param {Uint8Array} block
     * @param {Array.<bool>} transactionValid
     * @param {number} timeNow
     * @param {Uint8Array} genesisHash
     * @param {number} networkId
     * @returns {Promise.<{valid: boolean, pow: SerialBuffer, interlinkHash: SerialBuffer, bodyHash: SerialBuffer}>}
     */
    async blockVerify(block, transactionValid, timeNow, genesisHash, networkId) {}
}
/** @type {CryptoWorker} */
CryptoWorker._workerAsync = null;

Class.register(CryptoWorker);