diff --git a/package.json b/package.json index fdc93fe366..00d9669047 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "nova-spektr", "description": "Polkadot Enterprise application", - "version": "1.0.4", + "version": "1.0.5", "main": "./release/build/main.js", "license": "MIT", "author": { diff --git a/src/renderer/services/transaction/common/types.ts b/src/renderer/services/transaction/common/types.ts index 5f7f2c7d1c..58bb6e63bb 100644 --- a/src/renderer/services/transaction/common/types.ts +++ b/src/renderer/services/transaction/common/types.ts @@ -30,7 +30,7 @@ export type ITransactionService = { getTransactionDeposit: (threshold: Threshold, api: ApiPromise) => string; getTransactionHash: (transaction: Transaction, api: ApiPromise) => HashData; decodeCallData: (api: ApiPromise, accountId: Address, callData: CallData) => DecodedTransaction; - verifySignature: (payload: string | Uint8Array, signature: HexString, accountId: AccountId) => Boolean; + verifySignature: (payload: Uint8Array, signature: HexString, accountId: AccountId) => Boolean; }; // ===================================================== diff --git a/src/renderer/services/transaction/transactionService.ts b/src/renderer/services/transaction/transactionService.ts index 1f3db3bf76..1707be12a9 100644 --- a/src/renderer/services/transaction/transactionService.ts +++ b/src/renderer/services/transaction/transactionService.ts @@ -12,7 +12,7 @@ import { UnsignedTransaction, } from '@substrate/txwrapper-polkadot'; import { Weight } from '@polkadot/types/interfaces'; -import { signatureVerify } from '@polkadot/util-crypto'; +import { blake2AsU8a, signatureVerify } from '@polkadot/util-crypto'; import { AccountId, HexString, Threshold } from '@renderer/domain/shared-kernel'; import { Transaction, TransactionType } from '@renderer/domain/transaction'; @@ -99,7 +99,7 @@ export const useTransaction = (): ITransactionService => { [TransactionType.ASSET_TRANSFER]: (transaction, info, options) => { return methods.assets.transfer( { - id: transaction.args.assetId, + id: transaction.args.asset, target: transaction.args.dest, amount: transaction.args.value, }, @@ -113,7 +113,7 @@ export const useTransaction = (): ITransactionService => { { dest: transaction.args.dest, amount: transaction.args.value, - currencyId: transaction.args.assetId, + currencyId: transaction.args.asset, }, info, options, @@ -122,7 +122,7 @@ export const useTransaction = (): ITransactionService => { { dest: transaction.args.dest, amount: transaction.args.value, - currencyId: transaction.args.assetId, + currencyId: transaction.args.asset, }, info, options, @@ -440,8 +440,10 @@ export const useTransaction = (): ITransactionService => { }); }; - const verifySignature = (payload: string | Uint8Array, signature: HexString, accountId: AccountId): Boolean => { - return signatureVerify(payload, signature, accountId).isValid; + const verifySignature = (payload: Uint8Array, signature: HexString, accountId: AccountId): Boolean => { + const payloadToVerify = payload.length > 256 ? blake2AsU8a(payload) : payload; + + return signatureVerify(payloadToVerify, signature, accountId).isValid; }; return {