import * as Extension from './extension-types'; import * as Identity from './identity-types'; import * as RequestLogic from './request-logic-types'; import { ChainName } from './currency-types'; /** Advanced Logic extensions */ export interface IAdvancedLogicExtensions { addressBasedBtc: Extension.PnAddressBased.IAddressBased; addressBasedErc20: Extension.PnAddressBased.IAddressBased; addressBasedTestnetBtc: Extension.PnAddressBased.IAddressBased; contentData: Extension.ContentData.IContentData; anyToErc20Proxy: Extension.PnAnyToErc20.IAnyToERC20; declarative: Extension.PnAnyDeclarative.IAnyDeclarative; ethereumInputData: Extension.PnReferenceBased.IReferenceBased; nativeToken: Extension.PnReferenceBased.IReferenceBased[]; feeProxyContractErc20: Extension.PnFeeReferenceBased.IFeeReferenceBased; proxyContractErc20: Extension.PnReferenceBased.IReferenceBased; erc777Stream: any; feeProxyContractEth: Extension.PnFeeReferenceBased.IFeeReferenceBased; anyToEthProxy: Extension.PnFeeReferenceBased.IFeeReferenceBased; anyToNativeToken: Extension.PnFeeReferenceBased.IFeeReferenceBased[]; erc20TransferableReceivable: Extension.PnFeeReferenceBased.IFeeReferenceBased; metaPn: Extension.PnMeta.IMeta; } /** Advanced Logic layer */ export interface IAdvancedLogic { applyActionToExtensions: (extensionsState: RequestLogic.IExtensionStates, extensionAction: Extension.IAction, requestState: RequestLogic.IRequest, actionSigner: Identity.IIdentity, timestamp: number) => RequestLogic.IExtensionStates; getNativeTokenExtensionForNetwork: (network: ChainName) => Extension.IExtension | undefined; getAnyToNativeTokenExtensionForNetwork: (network?: ChainName) => Extension.IExtension | undefined; getFeeProxyContractErc20ForNetwork: (network?: ChainName) => Extension.PnFeeReferenceBased.IFeeReferenceBased | undefined; extensions: IAdvancedLogicExtensions; } /** Creation extension parameters */ export interface IExtensionCreation { id: Extension.ID; parameters?: any; } /** Update extension parameters */ export interface IExtensionUpdate { id: Extension.ID; action: string; parameters?: any; } //# sourceMappingURL=advanced-logic-types.d.ts.map