UNPKG

@0xsplits/splits-sdk

Version:

SDK for the 0xSplits protocol

73 lines 4.28 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; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.protectedFormatLiquidSplit = exports.formatRecipient = exports.formatGqlLiquidSplit = exports.LIQUID_SPLIT_FIELDS_FRAGMENT = void 0; var core_1 = require("@urql/core"); var split_1 = require("./split"); var token_1 = require("./token"); var viem_1 = require("viem"); var utils_1 = require("../utils"); var LIQUID_SPLIT_HOLDERS_FRAGMENT = (0, core_1.gql)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n fragment LiquidSplitHoldersFragment on Holder {\n id\n ownership\n }\n"], ["\n fragment LiquidSplitHoldersFragment on Holder {\n id\n ownership\n }\n"]))); exports.LIQUID_SPLIT_FIELDS_FRAGMENT = (0, core_1.gql)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n fragment LiquidSplitFieldsFragment on LiquidSplit {\n holders {\n ...LiquidSplitHoldersFragment\n }\n distributorFee\n split {\n ...AccountFieldsFragment\n ...SplitFieldsFragment\n }\n isFactoryGenerated\n }\n\n ", "\n ", "\n ", "\n"], ["\n fragment LiquidSplitFieldsFragment on LiquidSplit {\n holders {\n ...LiquidSplitHoldersFragment\n }\n distributorFee\n split {\n ...AccountFieldsFragment\n ...SplitFieldsFragment\n }\n isFactoryGenerated\n }\n\n ", "\n ", "\n ", "\n"])), LIQUID_SPLIT_HOLDERS_FRAGMENT, split_1.ACCOUNT_FIELDS_FRAGMENT, split_1.SPLIT_FIELDS_FRAGMENT); var formatGqlHolder = function (gqlHolder) { var holderId = gqlHolder.id; var accountId = holderId.split('-')[1]; return { address: (0, viem_1.getAddress)(accountId), ownership: BigInt(gqlHolder.ownership), }; }; var formatGqlLiquidSplit = function (gqlLiquidSplit) { return { type: 'liquidSplit', address: (0, viem_1.getAddress)(gqlLiquidSplit.id), chainId: parseInt(gqlLiquidSplit.chainId), distributions: (0, token_1.formatTokenBalances)(gqlLiquidSplit.distributions), balances: {}, distributed: gqlLiquidSplit.split.distributions ? (0, token_1.formatTokenBalances)(gqlLiquidSplit.split.distributions) : {}, splitmainBalances: (0, token_1.formatInternalTokenBalances)(gqlLiquidSplit.internalBalances), warehouseBalances: (0, token_1.formatInternalTokenBalances)(gqlLiquidSplit.warehouseBalances), distributorFee: parseInt(gqlLiquidSplit.distributorFee), splitId: (0, viem_1.getAddress)(gqlLiquidSplit.split.id), holders: gqlLiquidSplit.holders.map(function (gqlHolder) { return formatGqlHolder(gqlHolder); }), latestBlock: gqlLiquidSplit.latestBlock, latestActivity: parseInt(gqlLiquidSplit.latestActivity), isFactoryGenerated: gqlLiquidSplit.isFactoryGenerated, contractEarnings: (0, token_1.formatGqlContractEarnings)(gqlLiquidSplit.contractEarnings), }; }; exports.formatGqlLiquidSplit = formatGqlLiquidSplit; var formatRecipient = function (gqlRecipient) { return { recipient: { address: gqlRecipient.address, }, percentAllocation: (0, utils_1.fromBigIntToPercent)(gqlRecipient.ownership), }; }; exports.formatRecipient = formatRecipient; // Should only be called by formatLiquidSplit on LiquidSplitClient var protectedFormatLiquidSplit = function (gqlLiquidSplit) { return { type: 'LiquidSplit', address: gqlLiquidSplit.address, distributorFeePercent: (0, utils_1.fromBigIntToPercent)(gqlLiquidSplit.distributorFee), payoutSplitAddress: gqlLiquidSplit.splitId, isFactoryGenerated: gqlLiquidSplit.isFactoryGenerated, holders: gqlLiquidSplit.holders .map(function (gqlHolder) { return (0, exports.formatRecipient)(gqlHolder); }) .sort(function (a, b) { return b.percentAllocation - a.percentAllocation; }), }; }; exports.protectedFormatLiquidSplit = protectedFormatLiquidSplit; var templateObject_1, templateObject_2; //# sourceMappingURL=liquid.js.map