zkverifyjs
Version:
Submit proofs to zkVerify and query proof state with ease using our npm package.
57 lines • 1.87 kB
JavaScript
import { TransactionStatus, TransactionType } from '../../../enums.js';
/**
* Initializes a transaction object based on its type.
*/
export const initializeTransactionInfo = (transactionType, options, batchCount) => {
const baseInfo = {
blockHash: '',
status: TransactionStatus.Pending,
txHash: undefined,
};
switch (transactionType) {
case TransactionType.Verify:
return {
...baseInfo,
proofType: options.proofOptions?.proofType,
domainId: options.domainId,
aggregationId: undefined,
statement: null,
};
case TransactionType.BatchVerify:
return {
...baseInfo,
proofType: options.proofOptions?.proofType,
batchCount: batchCount ?? 0,
};
case TransactionType.VKRegistration:
return {
...baseInfo,
proofType: options.proofOptions?.proofType,
statementHash: undefined,
};
case TransactionType.DomainRegistration:
return {
...baseInfo,
domainId: undefined,
};
case TransactionType.DomainHold:
case TransactionType.DomainUnregister:
case TransactionType.DomainRemoveSubmitters:
return {
...baseInfo,
domainId: undefined,
domainState: '',
};
case TransactionType.DomainAddSubmitters:
return {
...baseInfo,
};
case TransactionType.Aggregate:
return {
...baseInfo,
};
default:
throw new Error(`Unsupported transaction type: ${transactionType}`);
}
};
//# sourceMappingURL=index.js.map