Sha256: 735712fb85b806e75a893ca72ae418b24c82765f63ad54eeaf8901bdc5b352c0

Contents?: true

Size: 1.96 KB

Versions: 1

Compression:

Stored size: 1.96 KB

Contents

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.orderValidator = void 0;
const validators_1 = require("./validators");
const orderScheme = {
    orderType: validators_1.orEq(['sell', 'buy']),
    matcherPublicKey: validators_1.isPublicKey,
    version: validators_1.orEq([undefined, 1, 2, 3, 4]),
    assetPair: validators_1.validatePipe(validators_1.isRequired(true), validators_1.pipe(validators_1.prop('amountAsset'), validators_1.isWavesOrAssetId), validators_1.pipe(validators_1.prop('priceAsset'), validators_1.isWavesOrAssetId)),
    price: validators_1.isNumberLike,
    amount: validators_1.isNumberLike,
    matcherFee: validators_1.isNumberLike,
    expiration: validators_1.isNumberLike,
    timestamp: validators_1.isNumber,
    proofs: validators_1.ifElse(validators_1.isArray, validators_1.defaultValue(true), validators_1.orEq([undefined])),
};
const v1_2_OrderScheme = {
    matcherFeeAssetId: validators_1.orEq([undefined, null, 'WAVES']),
    senderPublicKey: validators_1.isPublicKey,
};
const v3_OrderScheme = {
    matcherFeeAssetId: validators_1.isWavesOrAssetId,
    senderPublicKey: validators_1.isPublicKey,
};
const v4_OrderScheme = {
    matcherFeeAssetId: validators_1.isWavesOrAssetId,
    senderPublicKey: validators_1.isPublicKeyForEthSuppTx,
};
const validateOrder = validators_1.validateByShema(orderScheme, validators_1.getError);
const validateOrderV2 = validators_1.validateByShema(v1_2_OrderScheme, validators_1.getError);
const validateOrderV3 = validators_1.validateByShema(v3_OrderScheme, validators_1.getError);
const validateOrderV4 = validators_1.validateByShema(v4_OrderScheme, validators_1.getError);
exports.orderValidator = validators_1.validatePipe(validateOrder, validators_1.ifElse(validators_1.pipe(validators_1.prop('version'), (v) => v >= 3), validators_1.ifElse(validators_1.pipe(validators_1.prop('version'), (v) => v >= 4), validateOrderV4, validateOrderV3), validateOrderV2));
//# sourceMappingURL=order.js.map

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
waves_lib-0.1.0 js/node_modules/@waves/waves-transactions/dist/validators/order.js