zkverifyjs
Version:
Submit proofs to zkVerify and query proof state with ease using our npm package.
46 lines (45 loc) • 1.44 kB
JavaScript
import { TransactionStatus, TransactionType } from '../../../enums';
/**
* Initializes a transaction object based on its type.
*/
export const initializeTransactionInfo = (transactionType, options) => {
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.VKRegistration:
return {
...baseInfo,
proofType: options.proofOptions?.proofType,
statementHash: undefined,
};
case TransactionType.DomainRegistration:
return {
...baseInfo,
domainId: undefined,
};
case TransactionType.DomainHold:
case TransactionType.DomainUnregister:
return {
...baseInfo,
domainId: undefined,
domainState: '',
};
case TransactionType.Aggregate:
return {
...baseInfo,
};
default:
throw new Error(`Unsupported transaction type: ${transactionType}`);
}
};