@tatumio/tatum-v1
Version:
Tatum API client allows browsers and Node.js clients to interact with Tatum API.
87 lines • 7.57 kB
JavaScript
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Mint721BuiltInPrivateKeyValidator = void 0;
const class_validator_1 = require("class-validator");
const request_1 = require("../request");
const SignatureIdValidator_1 = require("./SignatureIdValidator");
let Mint721BuiltInPrivateKeyValidator = class Mint721BuiltInPrivateKeyValidator {
constructor() {
this.message = null;
}
defaultMessage(validationArguments) {
if (this.message) {
return this.message;
}
return 'If you fill signatureId or privateKey/secret/fromPrivateKey, then tokenId, contractAddress must be present.';
}
validate(value, validationArguments) {
const data = validationArguments === null || validationArguments === void 0 ? void 0 : validationArguments.object;
const chains = [request_1.Currency.BSC, request_1.Currency.ETH, request_1.Currency.CELO, request_1.Currency.ONE, request_1.Currency.MATIC, request_1.Currency.KLAY, request_1.Currency.ALGO, request_1.Currency.SOL];
const isAllowedChain = chains.includes(data.chain);
if (data.minter) {
if (data.fromPrivateKey || data.signatureId) {
this.message = `If minter is present, no private key or signatureId must be entered. Minter is available only on these chains - ${chains}`;
return false;
}
if (!this.validateRequiredFields(data)) {
return false;
}
}
if (!data.fromPrivateKey && !data.signatureId) {
if (isAllowedChain) {
return true;
}
else {
if (!this.validateNonBuiltInPrivateKey(data, validationArguments)) {
return false;
}
}
}
else {
if (!this.validateNonBuiltInPrivateKey(data, validationArguments)) {
return false;
}
}
return true;
}
validateNonBuiltInPrivateKey(data, validationArguments) {
if (!this.validateRequiredFields(data)) {
return false;
}
if (!data.fromPrivateKey && !data.signatureId) {
this.message = 'Field fromPrivateKey or signatureId must be filled.';
return false;
}
const signatureIdValidation = new SignatureIdValidator_1.SignatureIdValidator();
return signatureIdValidation.validate(data, validationArguments);
}
validateRequiredFields(data) {
if (data.chain === request_1.Currency.SOL) {
return true;
}
if (data.chain === request_1.Currency.CELO && (!data.feeCurrency || ![request_1.Currency.CELO, request_1.Currency.CUSD, request_1.Currency.CEUR].includes(data.feeCurrency))) {
this.message = 'CELO chain must have assigned feeCurrency field.';
return false;
}
if (!data.tokenId && data.chain !== request_1.Currency.ALGO) {
this.message = 'Field tokenId must be present.';
return false;
}
if (!data.contractAddress && data.chain !== request_1.Currency.ALGO) {
this.message = 'Field contractAddress must be present.';
return false;
}
return true;
}
};
Mint721BuiltInPrivateKeyValidator = __decorate([
class_validator_1.ValidatorConstraint({ name: 'builtInPrivateKey', async: false })
], Mint721BuiltInPrivateKeyValidator);
exports.Mint721BuiltInPrivateKeyValidator = Mint721BuiltInPrivateKeyValidator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWludDcyMUJ1aWx0SW5Qcml2YXRlS2V5VmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZGVsL3ZhbGlkYXRpb24vTWludDcyMUJ1aWx0SW5Qcml2YXRlS2V5VmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLHFEQUF5RztBQUN6Ryx3Q0FBc0M7QUFDdEMsaUVBQThEO0FBRzlELElBQWEsaUNBQWlDLEdBQTlDLE1BQWEsaUNBQWlDO0lBQTlDO1FBRVUsWUFBTyxHQUFrQixJQUFJLENBQUM7SUEwRXhDLENBQUM7SUF4RVEsY0FBYyxDQUFDLG1CQUF5QztRQUM3RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3JCO1FBQ0QsT0FBTyw2R0FBNkcsQ0FBQztJQUN2SCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQVUsRUFBRSxtQkFBeUM7UUFDbkUsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLGFBQW5CLG1CQUFtQix1QkFBbkIsbUJBQW1CLENBQUUsTUFBYSxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHLENBQUMsa0JBQVEsQ0FBQyxHQUFHLEVBQUUsa0JBQVEsQ0FBQyxHQUFHLEVBQUUsa0JBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQVEsQ0FBQyxHQUFHLEVBQUUsa0JBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNwSSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLE9B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