PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/sdk-coin-algo/dist/src

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AlgoToken = void 0;
/**
 * @prettier
 */
const algo_1 = require("./algo");
const sdk_core_1 = require("@bitgo/sdk-core");
const statics_1 = require("@bitgo/statics");
class AlgoToken extends algo_1.Algo {
    constructor(bitgo, tokenConfig) {
        super(bitgo);
        this.tokenConfig = tokenConfig;
        const match = this.tokenConfig.type.match(AlgoToken.tokenNamePattern) || [];
        const tokenCoin = match[1];
        this._code = match[2];
        const token = match[3];
        if (tokenCoin !== tokenConfig.coin) {
            throw new sdk_core_1.BitGoJsError(`invalid coin found in token: ${this.tokenConfig.type}`);
        }
        if (!token) {
            throw new sdk_core_1.BitGoJsError(`invalid token: ${this.tokenConfig.type}`);
        }
    }
    static createTokenConstructor(config) {
        return (bitgo) => new AlgoToken(bitgo, config);
    }
    static createTokenConstructors(tokenConfigs = statics_1.formattedAlgoTokens) {
        const tokensCtors = [];
        tokenConfigs.forEach((config) => {
            tokensCtors.push({ name: config.type, coinConstructor: AlgoToken.createTokenConstructor(config) });
            if (config.alias) {
                tokensCtors.push({ name: config.alias, coinConstructor: AlgoToken.createTokenConstructor(config) });
            }
        });
        return tokensCtors;
    }
    get type() {
        return this.tokenConfig.type;
    }
    get name() {
        return this.tokenConfig.name;
    }
    get coin() {
        return this.tokenConfig.coin;
    }
    get network() {
        return this.tokenConfig.network;
    }
    get code() {
        return this._code;
    }
    get issuer() {
        return undefined; // Not defined for Algorand
    }
    get decimalPlaces() {
        return this.tokenConfig.decimalPlaces;
    }
    getChain() {
        return this.tokenConfig.type;
    }
    getBaseChain() {
        return this.coin;
    }
    getFullName() {
        return 'Algo Token';
    }
    getBaseFactor() {
        return Math.pow(10, this.tokenConfig.decimalPlaces);
    }
    /**
     * Flag for sending value of 0
     * @returns {boolean} True if okay to send 0 value, false otherwise
     */
    valuelessTransferAllowed() {
        return true;
    }
}
exports.AlgoToken = AlgoToken;
AlgoToken.tokenNamePattern = /^([^:]+):(?:([^.]+)-)?([0-9]+)$/;
AlgoToken.tokenPattern = /[0-9]/;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxnb1Rva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FsZ29Ub2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILGlDQUE4QjtBQUM5Qiw4Q0FBaUc7QUFDakcsNENBQXNFO0FBRXRFLE1BQWEsU0FBVSxTQUFRLFdBQUk7SUFNakMsWUFBWSxLQUFnQixFQUFFLFdBQTRCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRS9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2QixJQUFJLFNBQVMsS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLHVCQUFZLENBQUMsZ0NBQWdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLHVCQUFZLENBQUMsa0JBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwRSxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUF1QjtRQUNuRCxPQUFPLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsZUFBa0MsNkJBQW1CO1FBQ2xGLE1BQU0sV0FBVyxHQUEyQixFQUFFLENBQUM7UUFDL0MsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzlCLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDakIsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RHLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sU0FBUyxDQUFDLENBQUMsMkJBQTJCO0lBQy9DLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztBQXpGSCw4QkEwRkM7QUF6RmlCLDBCQUFnQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3JELHNCQUFZLEdBQVcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQWxnbyB9IGZyb20gJy4vYWxnbyc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UsIEJpdEdvSnNFcnJvciwgQ29pbkNvbnN0cnVjdG9yLCBOYW1lZENvaW5Db25zdHJ1Y3RvciB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBBbGdvVG9rZW5Db25maWcsIGZvcm1hdHRlZEFsZ29Ub2tlbnMgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbmV4cG9ydCBjbGFzcyBBbGdvVG9rZW4gZXh0ZW5kcyBBbGdvIHtcbiAgc3RhdGljIHJlYWRvbmx5IHRva2VuTmFtZVBhdHRlcm4gPSAvXihbXjpdKyk6KD86KFteLl0rKS0pPyhbMC05XSspJC87XG4gIHN0YXRpYyByZWFkb25seSB0b2tlblBhdHRlcm46IFJlZ0V4cCA9IC9bMC05XS87XG4gIHB1YmxpYyByZWFkb25seSB0b2tlbkNvbmZpZzogQWxnb1Rva2VuQ29uZmlnO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2RlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgdG9rZW5Db25maWc6IEFsZ29Ub2tlbkNvbmZpZykge1xuICAgIHN1cGVyKGJpdGdvKTtcbiAgICB0aGlzLnRva2VuQ29uZmlnID0gdG9rZW5Db25maWc7XG5cbiAgICBjb25zdCBtYXRjaCA9IHRoaXMudG9rZW5Db25maWcudHlwZS5tYXRjaChBbGdvVG9rZW4udG9rZW5OYW1lUGF0dGVybikgfHwgW107XG5cbiAgICBjb25zdCB0b2tlbkNvaW4gPSBtYXRjaFsxXTtcbiAgICB0aGlzLl9jb2RlID0gbWF0Y2hbMl07XG4gICAgY29uc3QgdG9rZW4gPSBtYXRjaFszXTtcblxuICAgIGlmICh0b2tlbkNvaW4gIT09IHRva2VuQ29uZmlnLmNvaW4pIHtcbiAgICAgIHRocm93IG5ldyBCaXRHb0pzRXJyb3IoYGludmFsaWQgY29pbiBmb3VuZCBpbiB0b2tlbjogJHt0aGlzLnRva2VuQ29uZmlnLnR5cGV9YCk7XG4gICAgfVxuICAgIGlmICghdG9rZW4pIHtcbiAgICAgIHRocm93IG5ldyBCaXRHb0pzRXJyb3IoYGludmFsaWQgdG9rZW46ICR7dGhpcy50b2tlbkNvbmZpZy50eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9yKGNvbmZpZzogQWxnb1Rva2VuQ29uZmlnKTogQ29pbkNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gKGJpdGdvOiBCaXRHb0Jhc2UpID0+IG5ldyBBbGdvVG9rZW4oYml0Z28sIGNvbmZpZyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnModG9rZW5Db25maWdzOiBBbGdvVG9rZW5Db25maWdbXSA9IGZvcm1hdHRlZEFsZ29Ub2tlbnMpOiBOYW1lZENvaW5Db25zdHJ1Y3RvcltdIHtcbiAgICBjb25zdCB0b2tlbnNDdG9yczogTmFtZWRDb2luQ29uc3RydWN0b3JbXSA9IFtdO1xuICAgIHRva2VuQ29uZmlncy5mb3JFYWNoKChjb25maWcpID0+IHtcbiAgICAgIHRva2Vuc0N0b3JzLnB1c2goeyBuYW1lOiBjb25maWcudHlwZSwgY29pbkNvbnN0cnVjdG9yOiBBbGdvVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWcpIH0pO1xuICAgICAgaWYgKGNvbmZpZy5hbGlhcykge1xuICAgICAgICB0b2tlbnNDdG9ycy5wdXNoKHsgbmFtZTogY29uZmlnLmFsaWFzLCBjb2luQ29uc3RydWN0b3I6IEFsZ29Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9yKGNvbmZpZykgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRva2Vuc0N0b3JzO1xuICB9XG5cbiAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy50eXBlO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5uYW1lO1xuICB9XG5cbiAgZ2V0IGNvaW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5jb2luO1xuICB9XG5cbiAgZ2V0IG5ldHdvcmsoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkNvbmZpZy5uZXR3b3JrO1xuICB9XG5cbiAgZ2V0IGNvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29kZTtcbiAgfVxuXG4gIGdldCBpc3N1ZXIoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyBOb3QgZGVmaW5lZCBmb3IgQWxnb3JhbmRcbiAgfVxuXG4gIGdldCBkZWNpbWFsUGxhY2VzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcuZGVjaW1hbFBsYWNlcztcbiAgfVxuXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5Db25maWcudHlwZTtcbiAgfVxuXG4gIGdldEJhc2VDaGFpbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvaW47XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnQWxnbyBUb2tlbic7XG4gIH1cblxuICBnZXRCYXNlRmFjdG9yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucG93KDEwLCB0aGlzLnRva2VuQ29uZmlnLmRlY2ltYWxQbGFjZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZsYWcgZm9yIHNlbmRpbmcgdmFsdWUgb2YgMFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBva2F5IHRvIHNlbmQgMCB2YWx1ZSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICB2YWx1ZWxlc3NUcmFuc2ZlckFsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==

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


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