@0xsplits/splits-sdk
Version:
SDK for the 0xSplits protocol
68 lines • 3.63 kB
JavaScript
;
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