@fairmint/canton-node-sdk
Version:
Canton Node SDK
45 lines • 1.83 kB
TypeScript
import { LedgerJsonApiClient } from '../../clients/ledger-json-api';
import { ValidatorApiClient } from '../../clients/validator-api';
export interface PreApproveTransfersParams {
/** Party ID to enable pre-approved transfers for (receiver) */
receiverPartyId: string;
/** When the pre-approval expires */
expiresAt: Date;
/** Contract details for disclosed contracts (optional - will be fetched if not provided) */
contractDetails?: {
amuletRules?: {
createdEventBlob: string;
synchronizerId: string;
};
openMiningRound?: {
createdEventBlob: string;
synchronizerId: string;
};
issuingMiningRounds?: Array<{
createdEventBlob: string;
synchronizerId: string;
}>;
featuredAppRight?: {
createdEventBlob: string;
synchronizerId: string;
};
};
}
export interface PreApproveTransfersResult {
/** Contract ID of the created TransferPreapproval contract */
contractId: string;
/** Domain ID where the contract was created */
domainId: string;
/** Amount of amulet paid for the pre-approval */
amuletPaid: string;
}
/**
* Creates a TransferPreapproval contract to enable pre-approved transfers for a party
*
* @param ledgerClient - Ledger JSON API client for submitting commands
* @param validatorClient - Validator API client for getting network information
* @param params - Parameters for creating the pre-approval
* @returns Promise resolving to the pre-approval result
*/
export declare function preApproveTransfers(ledgerClient: LedgerJsonApiClient, validatorClient: ValidatorApiClient, params: PreApproveTransfersParams): Promise<PreApproveTransfersResult>;
//# sourceMappingURL=pre-approve-transfers.d.ts.map