UNPKG

@transia/xrpl

Version:

A TypeScript/JavaScript API for interacting with the XRP Ledger in Node.js and the browser

53 lines (36 loc) 1.24 kB
import { Function, InstanceParameter, InstanceParameterValue } from '../common' import { BaseTransaction, // isString, validateBaseTransaction, // validateOptionalField, } from './common' /** * @category Transaction Models */ export interface ContractModify extends BaseTransaction { TransactionType: 'ContractModify' ContractAccount?: string ContractCode?: string ContractHash?: string Functions?: Function[] InstanceParameters?: InstanceParameter[] InstanceParameterValues?: InstanceParameterValue[] URI?: string } /** * Verify the form and type of a ContractModify at runtime. * * @param tx - A ContractModify Transaction. * @throws When the ContractModify is malformed. */ export function validateContractModify(tx: Record<string, unknown>): void { validateBaseTransaction(tx) // validateOptionalField(tx, 'ContractAccount', isString) // validateOptionalField(tx, 'ContractCode', isString) // validateOptionalField(tx, 'ContractHash', isString) // validateOptionalField(tx, 'Functions', isany[]) // validateOptionalField(tx, 'InstanceParameters', isany[]) // validateOptionalField(tx, 'InstanceParameterValues', isany[]) // validateOptionalField(tx, 'URI', isString) }