@0xsplits/splits-sdk
Version:
SDK for the 0xSplits protocol
73 lines • 4.28 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;
};
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