Transaction
type Transaction<Proven, Signed>: TransactionCommon & {
safeSend: Promise<PendingTransaction | RejectedTransaction>;
send: PendingTransactionPromise;
} & Proven extends false ? {
prove: Promise<Transaction<true, Signed>>;
} : {
proofs: (Proof<ZkappPublicInput, Empty> | undefined)[];
} & Signed extends false ? {
sign: Transaction<Proven, true>;
} : {};
Defines the structure and operations associated with a transaction. This type encompasses methods for serializing the transaction, signing it, generating proofs, and submitting it to the network.
Type declaration
safeSend()
Sends the Transaction to the network. Unlike the standard Transaction.send, this function does not throw an error if internal errors are detected. Instead, it returns a PendingTransaction if the transaction is successfully sent for processing or a RejectedTransaction if it encounters errors during processing or is outright rejected by the Mina daemon.
Returns
Promise
\<PendingTransaction
| RejectedTransaction
>
A promise that resolves to a PendingTransaction if the transaction is accepted for processing, or a RejectedTransaction if the transaction fails or is rejected.
Example
const result = await transaction.safeSend();
if (result.status === 'pending') {
console.log('Transaction sent successfully to the Mina daemon.');
} else if (result.status === 'rejected') {
console.error('Transaction failed with errors:', result.errors);
}
send()
Returns
Type parameters
• Proven extends boolean
• Signed extends boolean