PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/micro-eth-signer/lib/contracts

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

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const common_js_1 = require("./common.js");
const P = require("micro-packed");
// prettier-ignore
const ABI = [
    { type: "function", name: "getExpectedRate", inputs: [{ name: "src", type: "address" }, { name: "dest", type: "address" }, { name: "srcQty", type: "uint256" }], outputs: [{ name: "expectedRate", type: "uint256" }, { name: "worstRate", type: "uint256" }] }, { type: "function", name: "getExpectedRateAfterFee", inputs: [{ name: "src", type: "address" }, { name: "dest", type: "address" }, { name: "srcQty", type: "uint256" }, { name: "platformFeeBps", type: "uint256" }, { name: "hint", type: "bytes" }], outputs: [{ name: "expectedRate", type: "uint256" }] }, { type: "function", name: "trade", inputs: [{ name: "src", type: "address" }, { name: "srcAmount", type: "uint256" }, { name: "dest", type: "address" }, { name: "destAddress", type: "address" }, { name: "maxDestAmount", type: "uint256" }, { name: "minConversionRate", type: "uint256" }, { name: "platformWallet", type: "address" }], outputs: [{ type: "uint256" }] }, { type: "function", name: "tradeWithHint", inputs: [{ name: "src", type: "address" }, { name: "srcAmount", type: "uint256" }, { name: "dest", type: "address" }, { name: "destAddress", type: "address" }, { name: "maxDestAmount", type: "uint256" }, { name: "minConversionRate", type: "uint256" }, { name: "walletId", type: "address" }, { name: "hint", type: "bytes" }], outputs: [{ type: "uint256" }] }, { type: "function", name: "tradeWithHintAndFee", inputs: [{ name: "src", type: "address" }, { name: "srcAmount", type: "uint256" }, { name: "dest", type: "address" }, { name: "destAddress", type: "address" }, { name: "maxDestAmount", type: "uint256" }, { name: "minConversionRate", type: "uint256" }, { name: "platformWallet", type: "address" }, { name: "platformFeeBps", type: "uint256" }, { name: "hint", type: "bytes" }], outputs: [{ name: "destAmount", type: "uint256" }] }
];
const hints = {
    tradeWithHintAndFee(v, opt) {
        if (!opt.contracts)
            throw Error('Not enough info');
        const tokenInfo = (c) => c === '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
            ? { symbol: 'ETH', decimals: 18 }
            : opt.contracts[c];
        const formatToken = (amount, info) => `${P.coders.decimal(info.decimals).encode(amount)} ${info.symbol}`;
        const [srcInfo, destInfo] = [tokenInfo(v.src), tokenInfo(v.dest)];
        if (!srcInfo || !destInfo)
            throw Error('Not enough info');
        const destAmount = (v.srcAmount *
            v.minConversionRate *
            10n ** BigInt(destInfo.decimals)) /
            10n ** (BigInt(srcInfo.decimals) + 18n);
        const fee = formatToken((BigInt(v.platformFeeBps) * BigInt(v.srcAmount)) / 10000n, srcInfo);
        return `Swap ${formatToken(v.srcAmount, srcInfo)} For ${formatToken(destAmount, destInfo)} (with platform fee: ${fee})`;
    },
};
(0, common_js_1.addHints)(ABI, hints);
exports.default = ABI;

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


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