Skip to content

Commit

Permalink
add easy retro funding strategy
Browse files Browse the repository at this point in the history
  • Loading branch information
0xKurt committed Jan 7, 2025
1 parent bbdd08d commit 14c4411
Show file tree
Hide file tree
Showing 15 changed files with 12,263 additions and 7 deletions.
8 changes: 4 additions & 4 deletions dist/chains.config.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ export declare const sei: {
readonly webSocket: readonly ["wss://evm-ws.sei-apis.com/"];
};
};
sourceId?: number | undefined;
testnet?: boolean | undefined;
sourceId?: number | undefined | undefined;
testnet?: boolean | undefined | undefined;
custom?: Record<string, unknown> | undefined;
formatters?: undefined;
serializers?: import("viem").ChainSerializers<undefined> | undefined;
fees?: import("viem").ChainFees<undefined> | undefined;
formatters?: undefined;
serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
};
export declare const supportedChains: Chain[];
5 changes: 4 additions & 1 deletion dist/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { DirectGrantsStrategy } from "./strategies/DirectGrants/DirectGrantsStra
import { DirectGrantsLiteStrategy } from "./strategies/DirectGrantsLiteStrategy/DirectGrantsLite";
import { DirectAllocationStrategy } from "./strategies/DirectAllocationStrategy/DirectAllocationStrategy";
import { StrategyFactory } from "./strategies/StrategyFactory/StrategyFactory";
import { EasyRetroFundingStrategy } from "./strategies/EasyRetroFunding/EasyRetroFunding";
export * from "./types";
export * from "./strategies/types";
export * from "./Registry/types";
Expand All @@ -16,6 +17,7 @@ export * as MicroGrantsStrategyTypes from "./strategies/MicroGrantsStrategy/type
export * as SQFSuperFluidStrategyTypes from "./strategies/SuperFluidStrategy/types";
export * as DirectGrantsStrategyTypes from "./strategies/DirectGrants/types";
export * as DirectGrantsLiteStrategyTypes from "./strategies/DirectGrantsLiteStrategy/types";
export * as EasyRetroFundingStrategyTypes from "./strategies/EasyRetroFunding/types";
export { StrategyFactoryType } from "./strategies/StrategyFactory/StrategyFactory";
export { abi as AlloAbi } from "./Allo/allo.config";
export { abi as RegistryAbi } from "./Registry/registry.config";
Expand All @@ -28,4 +30,5 @@ export { abi as DirectGrantsLiteStrategyAbi } from "./strategies/DirectGrantsLit
export { abi as StrategyFactoryDGLAbi } from "./strategies/StrategyFactory/strategyFactory.DGL.config";
export { abi as StrategyFactoryDVMDTAbi } from "./strategies/StrategyFactory/strategyFactory.DVMDT.config";
export { abi as DirectAllocationStrategyAbi } from "./strategies/DirectAllocationStrategy/directAllocation.config";
export { Allo, Registry, MicroGrantsStrategy, SQFSuperFluidStrategy, DonationVotingMerkleDistributionStrategy, DirectGrantsStrategy, DirectGrantsLiteStrategy, StrategyFactory, DirectAllocationStrategy, };
export { abi as EasyRetroFundingStrategyAbi } from "./strategies/EasyRetroFunding/easyRetroFunding.config";
export { Allo, Registry, MicroGrantsStrategy, SQFSuperFluidStrategy, DonationVotingMerkleDistributionStrategy, DirectGrantsStrategy, DirectGrantsLiteStrategy, StrategyFactory, DirectAllocationStrategy, EasyRetroFundingStrategy, };
7 changes: 6 additions & 1 deletion dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DirectAllocationStrategy = exports.StrategyFactory = exports.DirectGrantsLiteStrategy = exports.DirectGrantsStrategy = exports.DonationVotingMerkleDistributionStrategy = exports.SQFSuperFluidStrategy = exports.MicroGrantsStrategy = exports.Registry = exports.Allo = exports.DirectAllocationStrategyAbi = exports.StrategyFactoryDVMDTAbi = exports.StrategyFactoryDGLAbi = exports.DirectGrantsLiteStrategyAbi = exports.DirectGrantsStrategyAbi = exports.SQFSuperFluidStrategyAbi = exports.MicroGrantsStrategyAbi = exports.DonationVotingMerkleDistributionVaultStrategyAbi = exports.DonationVotingMerkleDistributionDirectTransferStrategyAbi = exports.RegistryAbi = exports.AlloAbi = exports.DirectGrantsLiteStrategyTypes = exports.DirectGrantsStrategyTypes = exports.SQFSuperFluidStrategyTypes = exports.MicroGrantsStrategyTypes = exports.DonationVotingMerkleDistributionStrategyTypes = void 0;
exports.EasyRetroFundingStrategy = exports.DirectAllocationStrategy = exports.StrategyFactory = exports.DirectGrantsLiteStrategy = exports.DirectGrantsStrategy = exports.DonationVotingMerkleDistributionStrategy = exports.SQFSuperFluidStrategy = exports.MicroGrantsStrategy = exports.Registry = exports.Allo = exports.EasyRetroFundingStrategyAbi = exports.DirectAllocationStrategyAbi = exports.StrategyFactoryDVMDTAbi = exports.StrategyFactoryDGLAbi = exports.DirectGrantsLiteStrategyAbi = exports.DirectGrantsStrategyAbi = exports.SQFSuperFluidStrategyAbi = exports.MicroGrantsStrategyAbi = exports.DonationVotingMerkleDistributionVaultStrategyAbi = exports.DonationVotingMerkleDistributionDirectTransferStrategyAbi = exports.RegistryAbi = exports.AlloAbi = exports.EasyRetroFundingStrategyTypes = exports.DirectGrantsLiteStrategyTypes = exports.DirectGrantsStrategyTypes = exports.SQFSuperFluidStrategyTypes = exports.MicroGrantsStrategyTypes = exports.DonationVotingMerkleDistributionStrategyTypes = void 0;
const Allo_1 = require("./Allo/Allo");
Object.defineProperty(exports, "Allo", { enumerable: true, get: function () { return Allo_1.Allo; } });
const Registry_1 = require("./Registry/Registry");
Expand All @@ -33,6 +33,8 @@ const DirectAllocationStrategy_1 = require("./strategies/DirectAllocationStrateg
Object.defineProperty(exports, "DirectAllocationStrategy", { enumerable: true, get: function () { return DirectAllocationStrategy_1.DirectAllocationStrategy; } });
const StrategyFactory_1 = require("./strategies/StrategyFactory/StrategyFactory");
Object.defineProperty(exports, "StrategyFactory", { enumerable: true, get: function () { return StrategyFactory_1.StrategyFactory; } });
const EasyRetroFunding_1 = require("./strategies/EasyRetroFunding/EasyRetroFunding");
Object.defineProperty(exports, "EasyRetroFundingStrategy", { enumerable: true, get: function () { return EasyRetroFunding_1.EasyRetroFundingStrategy; } });
__exportStar(require("./types"), exports);
__exportStar(require("./strategies/types"), exports);
__exportStar(require("./Registry/types"), exports);
Expand All @@ -42,6 +44,7 @@ exports.MicroGrantsStrategyTypes = require("./strategies/MicroGrantsStrategy/typ
exports.SQFSuperFluidStrategyTypes = require("./strategies/SuperFluidStrategy/types");
exports.DirectGrantsStrategyTypes = require("./strategies/DirectGrants/types");
exports.DirectGrantsLiteStrategyTypes = require("./strategies/DirectGrantsLiteStrategy/types");
exports.EasyRetroFundingStrategyTypes = require("./strategies/EasyRetroFunding/types");
var allo_config_1 = require("./Allo/allo.config");
Object.defineProperty(exports, "AlloAbi", { enumerable: true, get: function () { return allo_config_1.abi; } });
var registry_config_1 = require("./Registry/registry.config");
Expand All @@ -64,3 +67,5 @@ var strategyFactory_DVMDT_config_1 = require("./strategies/StrategyFactory/strat
Object.defineProperty(exports, "StrategyFactoryDVMDTAbi", { enumerable: true, get: function () { return strategyFactory_DVMDT_config_1.abi; } });
var directAllocation_config_1 = require("./strategies/DirectAllocationStrategy/directAllocation.config");
Object.defineProperty(exports, "DirectAllocationStrategyAbi", { enumerable: true, get: function () { return directAllocation_config_1.abi; } });
var easyRetroFunding_config_1 = require("./strategies/EasyRetroFunding/easyRetroFunding.config");
Object.defineProperty(exports, "EasyRetroFundingStrategyAbi", { enumerable: true, get: function () { return easyRetroFunding_config_1.abi; } });
105 changes: 105 additions & 0 deletions dist/strategies/EasyRetroFunding/EasyRetroFunding.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
import { Allo } from "../../Allo/Allo";
import { ConstructorArgs, DeployParams, Metadata, TransactionData } from "../../Common/types";
import { PayoutSummary, Status } from "../types";
import { Distribution, InitializeData, Recipient, RegisterData } from "./types";
export declare class EasyRetroFundingStrategy {
private client;
private contract;
private strategy;
private poolId;
private allo;
constructor({ chain, rpc, address, poolId }: ConstructorArgs);
getAllo(): Promise<Allo>;
setPoolId(poolId: bigint): Promise<void>;
setContract(address: `0x${string}`): void;
private checkPoolId;
private checkStrategy;
getNative(): Promise<string>;
getDistributionMetadata(): Promise<Metadata>;
useRegistryAnchor(): Promise<boolean>;
metadataRequired(): Promise<boolean>;
distributionStarted(): Promise<boolean>;
registrationStartTime(): Promise<bigint>;
registrationEndTime(): Promise<bigint>;
poolStartTime(): Promise<bigint>;
poolEndTime(): Promise<bigint>;
totalPayoutAmount(): Promise<bigint>;
recipientsCounter(): Promise<bigint>;
statusesBitMap(index: bigint): Promise<bigint>;
recipientToStatusIndexes(recipient: string): Promise<bigint[]>;
isTokenAllowed(token: string): Promise<boolean>;
getClaims(recipient: string, token: string): Promise<bigint>;
getTotalClaimableAmount(recipient: string): Promise<bigint>;
getPayouts(recipientIds: string[], data: string[]): Promise<PayoutSummary[]>;
getPoolAmount(): Promise<bigint>;
getPoolId(): Promise<bigint>;
getRecipient(recipientId: string): Promise<Recipient>;
getRecipientStatus(recipientId: string): Promise<Status>;
getStrategyId(): Promise<string>;
hasBeenDistributed(index: bigint): Promise<boolean>;
isDistributionSet(): Promise<boolean>;
isPoolActive(): Promise<boolean>;
isValidAllocator(allocator: `0x${string}`): Promise<boolean>;
/**
* Write functions
*/
/**
*
* @returns DeployParams {abi, bytecode}
*/
getDeployParams(): DeployParams;
getInitializeData(data: InitializeData): Promise<`0x${string}`>;
/**
*
* @param data - (address, address, Metadata)
* @returns
*/
getRegisterRecipientData(data: RegisterData): TransactionData;
/**
* Batch register recipients
*
* @param data - Array of RegisterDataEasyRetroFunding
*
* @returns TransactionData
*/
getBatchRegisterRecipientData(data: RegisterData[]): TransactionData;
/**
* Fund the pool
*
* @param amount - Amount to fund the pool
*
* @returns TransactionData
*/
fundPool(amount: bigint): TransactionData;
/**
* Distribute to the recipients
*
* @param recipientIds - Array of recipientIds
* @param data - Array of Distribution
*
* @returns TransactionData
*/
distribute(recipientIds: `0x${string}`[], data: Distribution[]): TransactionData;
/**
* Provides a function to batch together multiple calls in a single external call
*
* @param data - Array of encoded data
*
* @returns - Encoded transaction data
*/
multicall(data: `0x${string}`[]): TransactionData;
/**
* Review recipients
*
* @param statuses - Array of status indexes and statusRows
*
* @returns TransactionData
*/
reviewRecipients(statuses: {
index: bigint;
statusRow: bigint;
}[], refRecipientsCounter: bigint): TransactionData;
updateDistribution(distributionMetadata: Metadata): TransactionData;
updatePoolTimestamps(registrationStartTime: bigint, registrationEndTime: bigint, poolStartTime: bigint, poolEndTime: bigint): TransactionData;
withdraw(address: `0x${string}`): TransactionData;
}
Loading

0 comments on commit 14c4411

Please sign in to comment.