UNPKG

@fruitsjs/core

Version:

Principal package with functions and models for building Fruits Eco-Blockchain applications.

49 lines (44 loc) 1.69 kB
import { ChainService } from '../../../service/chainService'; import { TransactionId } from '../../../typings/transactionId'; import { TransactionResponse } from '../../../typings/transactionResponse'; import { generateSignature, generateSignedTransactionBytes, verifySignature } from '@fruitsjs/crypto'; import { convertNumberToNQTString } from '@fruitsjs/util'; import { broadcastTransaction } from '../transaction/broadcastTransaction'; import { signAndBroadcastTransaction } from '../transaction/signAndBroadcastTransaction'; /** * Use with [[ApiComposer]] and belongs to [[AccountApi]]. * * See details at [[AccountApi.setAlias]] * * @module core.api.factories */ export const setAlias = (service: ChainService): ( aliasName: string, aliasURI: string, feeNQT: string, senderPublicKey: string, senderPrivateKey: string, deadline: number, ) => Promise<TransactionId> => async ( aliasName: string, aliasURI: string, feeNQT: string, senderPublicKey: string, senderPrivateKey: string, deadline: number, ): Promise<TransactionId> => { const parameters = { aliasName, aliasURI, deadline: deadline, feeNQT: convertNumberToNQTString(parseFloat(feeNQT)), publicKey: senderPublicKey }; const { unsignedTransactionBytes: unsignedHexMessage } = await service.send<TransactionResponse>('setAlias', parameters); return signAndBroadcastTransaction(service)({ senderPrivateKey, senderPublicKey, unsignedHexMessage }); };