Sha256: 62af65a598cc3ec7aa423e1d7b8ca230558ec74a83d98510d9598be74a92cf11
Contents?: true
Size: 1.42 KB
Versions: 1
Compression:
Stored size: 1.42 KB
Contents
import {TRANSACTION_TYPE} from '@waves/ts-types' import { defaultValue, getError, gte, ifElse, isArray, isEq, isNaturalNumberLike, isNaturalNumberOrZeroLike, isNumberLike, isPublicKey, isRecipient, isRequired, isString, isValidDataPair, isWavesOrAssetId, orEq, pipe, prop, validateByShema, validatePipe } from './validators' const invokeScheme = { type: isEq(TRANSACTION_TYPE.INVOKE_SCRIPT), senderPublicKey: isPublicKey, version: orEq([undefined, 1, 2]), dApp: isRecipient, call: ifElse( isRequired(false), defaultValue(true), validatePipe( pipe(prop('function'), isString), pipe(prop('function'), prop('length'), gte(0)), pipe(prop('args'), isArray), (data: Array<unknown>) => data.every( validatePipe( isRequired(true), isValidDataPair ) ) ) ), payment: validatePipe( isArray, (data: Array<unknown>) => data.every( validatePipe( pipe(prop('amount'), isNumberLike), pipe(prop('assetId'), isWavesOrAssetId) ) ) ), fee: isNaturalNumberOrZeroLike, feeAssetId: isWavesOrAssetId, chainId: isNaturalNumberLike, timestamp: isNaturalNumberLike, proofs: ifElse(isArray, defaultValue(true), orEq([ undefined ])), }; export const invokeValidator = validateByShema(invokeScheme, getError);
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
waves_lib-0.1.0 | js/node_modules/@waves/waves-transactions/src/validators/invoke-script.ts |