PHP WebShell

Текущая директория: /opt/BitGoJS/modules/sdk-coin-algo/dist/src/lib

Просмотр файла: txnSchema.js

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AssetToggleTxnSchema = exports.AssetTransferTxnSchema = exports.KeyRegTxnSchema = exports.TransferTransactionSchema = exports.BaseTransactionSchema = void 0;
const joi_1 = __importDefault(require("joi"));
const sdk_core_1 = require("@bitgo/sdk-core");
const utils_1 = __importDefault(require("./utils"));
const addressSchema = joi_1.default.string().custom((addr) => utils_1.default.isValidAddress(addr));
exports.BaseTransactionSchema = joi_1.default
    .object({
    fee: joi_1.default.number().required(),
    firstRound: joi_1.default.number().positive().required(),
    genesisHash: joi_1.default.string().base64().required(),
    lastRound: joi_1.default.number().positive().required(),
    sender: addressSchema.required(),
    genesisId: joi_1.default.string().optional(),
    lease: joi_1.default.optional(),
    note: joi_1.default.optional(),
    reKeyTo: joi_1.default
        .string()
        .custom((addr) => utils_1.default.isValidAddress(addr))
        .optional(),
})
    .custom((obj) => {
    const firstRound = obj.firstRound;
    const lastRound = obj.lastRound;
    if (firstRound < lastRound) {
        return obj;
    }
    throw new Error('lastRound cannot be greater than or equal to firstRound');
});
exports.TransferTransactionSchema = joi_1.default.object({
    amount: joi_1.default.custom((val) => typeof val === 'number' || typeof val === 'bigint').required(),
    to: joi_1.default
        .string()
        .custom((addr) => utils_1.default.isValidAddress(addr))
        .required(),
    closeRemainderTo: joi_1.default.string().optional(),
});
exports.KeyRegTxnSchema = joi_1.default
    .object({
    voteKey: addressSchema.required(),
    selectionKey: addressSchema.required(),
    voteFirst: joi_1.default.number().positive().required(),
    voteLast: joi_1.default.number().positive().required(),
    voteKeyDilution: joi_1.default.number().positive().required(),
    stateProofKey: addressSchema.optional(),
})
    .custom((obj) => {
    const voteFirst = obj.voteFirst;
    const voteLast = obj.voteLast;
    if (voteFirst > voteLast) {
        throw new sdk_core_1.InvalidTransactionError('VoteKey last round must be greater than first round');
    }
    return obj;
});
exports.AssetTransferTxnSchema = joi_1.default.object({
    tokenId: joi_1.default.number().required(),
    assetAmount: joi_1.default.custom((val) => typeof val === 'number' || typeof val === 'bigint').required(),
    receiver: addressSchema.required(),
});
exports.AssetToggleTxnSchema = joi_1.default.object({
    tokenId: joi_1.default.number().required(),
    receiver: addressSchema.required(),
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhuU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90eG5TY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXNCO0FBQ3RCLDhDQUEwRDtBQUMxRCxvREFBNEI7QUFFNUIsTUFBTSxhQUFhLEdBQUcsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRW5FLFFBQUEscUJBQXFCLEdBQUcsYUFBRztLQUNyQyxNQUFNLENBQUM7SUFDTixHQUFHLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixVQUFVLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QyxXQUFXLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxNQUFNLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxLQUFLLEVBQUUsYUFBRyxDQUFDLFFBQVEsRUFBRTtJQUNyQixJQUFJLEVBQUUsYUFBRyxDQUFDLFFBQVEsRUFBRTtJQUNwQixPQUFPLEVBQUUsYUFBRztTQUNULE1BQU0sRUFBRTtTQUNSLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QyxRQUFRLEVBQUU7Q0FDZCxDQUFDO0tBQ0QsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDZCxNQUFNLFVBQVUsR0FBVyxHQUFHLENBQUMsVUFBVSxDQUFDO0lBQzFDLE1BQU0sU0FBUyxHQUFXLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFFeEMsSUFBSSxVQUFVLEdBQUcsU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0FBQzdFLENBQUMsQ0FBQyxDQUFDO0FBRVEsUUFBQSx5QkFBeUIsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2xELE1BQU0sRUFBRSxhQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFGLEVBQUUsRUFBRSxhQUFHO1NBQ0osTUFBTSxFQUFFO1NBQ1IsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxlQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVDLFFBQVEsRUFBRTtJQUNiLGdCQUFnQixFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDMUMsQ0FBQyxDQUFDO0FBRVUsUUFBQSxlQUFlLEdBQUcsYUFBRztLQUMvQixNQUFNLENBQUM7SUFDTixPQUFPLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxZQUFZLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxTQUFTLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxRQUFRLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QyxlQUFlLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuRCxhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtDQUN4QyxDQUFDO0tBQ0QsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDZCxNQUFNLFNBQVMsR0FBVyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQ3hDLE1BQU0sUUFBUSxHQUFXLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFFdEMsSUFBSSxTQUFTLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUM7QUFFUSxRQUFBLHNCQUFzQixHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7SUFDL0MsT0FBTyxFQUFFLGFBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsV0FBVyxFQUFFLGFBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0YsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Q0FDbkMsQ0FBQyxDQUFDO0FBRVUsUUFBQSxvQkFBb0IsR0FBRyxhQUFHLENBQUMsTUFBTSxDQUFDO0lBQzdDLE9BQU8sRUFBRSxhQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0NBQ25DLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqb2kgZnJvbSAnam9pJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgYWRkcmVzc1NjaGVtYSA9IGpvaS5zdHJpbmcoKS5jdXN0b20oKGFkZHIpID0+IHV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHIpKTtcblxuZXhwb3J0IGNvbnN0IEJhc2VUcmFuc2FjdGlvblNjaGVtYSA9IGpvaVxuICAub2JqZWN0KHtcbiAgICBmZWU6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICAgIGZpcnN0Um91bmQ6IGpvaS5udW1iZXIoKS5wb3NpdGl2ZSgpLnJlcXVpcmVkKCksXG4gICAgZ2VuZXNpc0hhc2g6IGpvaS5zdHJpbmcoKS5iYXNlNjQoKS5yZXF1aXJlZCgpLFxuICAgIGxhc3RSb3VuZDogam9pLm51bWJlcigpLnBvc2l0aXZlKCkucmVxdWlyZWQoKSxcbiAgICBzZW5kZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgICBnZW5lc2lzSWQ6IGpvaS5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGxlYXNlOiBqb2kub3B0aW9uYWwoKSxcbiAgICBub3RlOiBqb2kub3B0aW9uYWwoKSxcbiAgICByZUtleVRvOiBqb2lcbiAgICAgIC5zdHJpbmcoKVxuICAgICAgLmN1c3RvbSgoYWRkcikgPT4gdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcikpXG4gICAgICAub3B0aW9uYWwoKSxcbiAgfSlcbiAgLmN1c3RvbSgob2JqKSA9PiB7XG4gICAgY29uc3QgZmlyc3RSb3VuZDogbnVtYmVyID0gb2JqLmZpcnN0Um91bmQ7XG4gICAgY29uc3QgbGFzdFJvdW5kOiBudW1iZXIgPSBvYmoubGFzdFJvdW5kO1xuXG4gICAgaWYgKGZpcnN0Um91bmQgPCBsYXN0Um91bmQpIHtcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdsYXN0Um91bmQgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBmaXJzdFJvdW5kJyk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgVHJhbnNmZXJUcmFuc2FjdGlvblNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBhbW91bnQ6IGpvaS5jdXN0b20oKHZhbCkgPT4gdHlwZW9mIHZhbCA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHZhbCA9PT0gJ2JpZ2ludCcpLnJlcXVpcmVkKCksXG4gIHRvOiBqb2lcbiAgICAuc3RyaW5nKClcbiAgICAuY3VzdG9tKChhZGRyKSA9PiB1dGlscy5pc1ZhbGlkQWRkcmVzcyhhZGRyKSlcbiAgICAucmVxdWlyZWQoKSxcbiAgY2xvc2VSZW1haW5kZXJUbzogam9pLnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IEtleVJlZ1R4blNjaGVtYSA9IGpvaVxuICAub2JqZWN0KHtcbiAgICB2b3RlS2V5OiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgc2VsZWN0aW9uS2V5OiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgdm90ZUZpcnN0OiBqb2kubnVtYmVyKCkucG9zaXRpdmUoKS5yZXF1aXJlZCgpLFxuICAgIHZvdGVMYXN0OiBqb2kubnVtYmVyKCkucG9zaXRpdmUoKS5yZXF1aXJlZCgpLFxuICAgIHZvdGVLZXlEaWx1dGlvbjogam9pLm51bWJlcigpLnBvc2l0aXZlKCkucmVxdWlyZWQoKSxcbiAgICBzdGF0ZVByb29mS2V5OiBhZGRyZXNzU2NoZW1hLm9wdGlvbmFsKCksXG4gIH0pXG4gIC5jdXN0b20oKG9iaikgPT4ge1xuICAgIGNvbnN0IHZvdGVGaXJzdDogbnVtYmVyID0gb2JqLnZvdGVGaXJzdDtcbiAgICBjb25zdCB2b3RlTGFzdDogbnVtYmVyID0gb2JqLnZvdGVMYXN0O1xuXG4gICAgaWYgKHZvdGVGaXJzdCA+IHZvdGVMYXN0KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1ZvdGVLZXkgbGFzdCByb3VuZCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBmaXJzdCByb3VuZCcpO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IEFzc2V0VHJhbnNmZXJUeG5TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdG9rZW5JZDogam9pLm51bWJlcigpLnJlcXVpcmVkKCksXG4gIGFzc2V0QW1vdW50OiBqb2kuY3VzdG9tKCh2YWwpID0+IHR5cGVvZiB2YWwgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWwgPT09ICdiaWdpbnQnKS5yZXF1aXJlZCgpLFxuICByZWNlaXZlcjogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBBc3NldFRvZ2dsZVR4blNjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICB0b2tlbklkOiBqb2kubnVtYmVyKCkucmVxdWlyZWQoKSxcbiAgcmVjZWl2ZXI6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbn0pO1xuIl19

Выполнить команду


Для локальной разработки. Не используйте в интернете!