import {TRANSACTION_TYPE} from '@waves/ts-types' import { isEq, orEq, isNumber, isNumberLike, isArray, getError, validateByShema, ifElse, defaultValue, isPublicKey, isBase64 } from './validators' const setScriptScheme = { type: isEq(TRANSACTION_TYPE.SET_SCRIPT), senderPublicKey: isPublicKey, version: orEq([undefined, 0, 1, 2]), chainId: isNumber, fee: isNumberLike, timestamp: isNumber, script: ifElse(isEq(null), defaultValue(true), isBase64), proofs: ifElse(isArray, defaultValue(true), orEq([ undefined ])), } export const setScriptValidator = validateByShema(setScriptScheme, getError)