UNPKG

@0xsplits/splits-sdk

Version:

SDK for the 0xSplits protocol

68 lines 3.63 kB
"use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatAccountBalances = exports.formatContractEarnings = exports.formatGqlUser = exports.USER_FIELDS_FRAGMENT = void 0; var core_1 = require("@urql/core"); var token_1 = require("./token"); var viem_1 = require("viem"); var lodash_1 = __importDefault(require("lodash")); var utils_1 = require("../utils"); exports.USER_FIELDS_FRAGMENT = (0, core_1.gql)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fragment UserFieldsFragment on User {\n withdrawals {\n id\n amount\n token {\n symbol\n decimals\n }\n }\n }\n"], ["\n fragment UserFieldsFragment on User {\n withdrawals {\n id\n amount\n token {\n symbol\n decimals\n }\n }\n }\n"]))); var formatGqlUser = function (gqlUser) { return { type: 'user', address: (0, viem_1.getAddress)(gqlUser.id), chainId: parseInt(gqlUser.chainId), distributions: (0, token_1.formatTokenBalances)(gqlUser.distributions), withdrawn: (0, token_1.formatTokenBalances)(gqlUser.withdrawals), splitmainBalances: (0, token_1.formatInternalTokenBalances)(gqlUser.internalBalances), warehouseBalances: (0, token_1.formatInternalTokenBalances)(gqlUser.warehouseBalances), latestBlock: gqlUser.latestBlock, latestActivity: parseInt(gqlUser.latestActivity), contractEarnings: (0, token_1.formatGqlContractEarnings)(gqlUser.contractEarnings), warehouseWithdrawConfig: gqlUser.warehouseWithdrawConfig, }; }; exports.formatGqlUser = formatGqlUser; var formatContractEarnings = function (contractEarnings, contractAddresses) { var earnings = Object.keys(contractEarnings).reduce(function (acc, gqlContractEarning) { var contractId = (0, viem_1.getAddress)(gqlContractEarning); var activeBalances = (0, exports.formatAccountBalances)(contractEarnings[gqlContractEarning].internalBalances); var withdrawn = (0, exports.formatAccountBalances)(contractEarnings[gqlContractEarning].withdrawals); var balance = (0, utils_1.mergeFormattedTokenBalances)([withdrawn, activeBalances]); acc[contractId] = { balance: balance, withdrawn: withdrawn, activeBalances: activeBalances, }; return acc; }, {}); if (contractAddresses) return lodash_1.default.pick(earnings, contractAddresses); return earnings; }; exports.formatContractEarnings = formatContractEarnings; var formatAccountBalances = function (balances) { return Object.keys(balances).reduce(function (acc, token) { var tokenId = (0, viem_1.getAddress)(token); var amount = BigInt(balances[token].amount); if (amount > BigInt(1)) { acc[tokenId] = { symbol: balances[token].symbol, decimals: balances[token].decimals, rawAmount: amount, formattedAmount: (0, utils_1.fromBigIntToTokenValue)(amount, balances[token].decimals), }; } return acc; }, {}); }; exports.formatAccountBalances = formatAccountBalances; var templateObject_1; //# sourceMappingURL=user.js.map