import React, { PropsWithChildren } from "react"; import { Address } from "viem"; import { AsyncData } from "../types"; /** * Context for project-specific contracts. */ export type JBContractContextData = { /** * The project id of the Juicebox project. */ projectId: bigint; /** * The addresses of the contracts for the project. */ contracts: { /** * The address of the primary payment terminal for the project. */ primaryTerminalEth: AsyncData
; /** * The address of the primary payment terminal store for the project. */ primaryTerminalEthStore: AsyncData
; /** * The address of the controller for the project. */ controller: AsyncData
; /** * The address of the fund access constraints store for the project. */ fundAccessConstraintsStore: AsyncData
; }; }; /** * Context for project-specific contracts. */ export declare const JBContractContext: React.Context; export declare function useJBContractContext(): JBContractContextData; export declare enum DynamicContract { "Controller" = 0, "PrimaryEthPaymentTerminal" = 1, "PrimaryEthPaymentTerminalStore" = 2, "FundAccessConstraintsStore" = 3 } export type JBContractProviderProps = PropsWithChildren<{ projectId: bigint; include?: DynamicContract[]; }>; /** * Load project-specific contract addresses for a given JB project. * * If `include` arg not specified, all contracts are loaded */ export declare const JBContractProvider: ({ projectId, include, children, }: JBContractProviderProps) => import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=JBContractContext.d.ts.map