Module transaction_logic

Source

ModulesΒ§

for_tests
local_state
protocol_state
signed_command
transaction_applied
transaction_partially_applied
transaction_union_payload
transaction_witness
valid
verifiable
zkapp_command
zkapp_statement

StructsΒ§

Coinbase
https://github.com/MinaProtocol/mina/blob/2ee6e004ba8c6a0541056076aab22ea162f7eb3a/src/lib/mina_base/coinbase.ml#L17
CoinbaseFeeTransfer
FailureCollection πŸ”’
FeeTransfer
https://github.com/MinaProtocol/mina/blob/2ee6e004ba8c6a0541056076aab22ea162f7eb3a/src/lib/mina_base/fee_transfer.ml#L68
HasPermissionToReceive πŸ”’
Memo
0th byte is a tag to distinguish digests from other data 1st byte is length, always 32 for digests bytes 2 to 33 are data, 0-right-padded if length is less than 32
MinBalance πŸ”’
SingleFeeTransfer
https://github.com/MinaProtocol/mina/blob/2ee6e004ba8c6a0541056076aab22ea162f7eb3a/src/lib/mina_base/fee_transfer.ml#L19
Updates
WithStatus
https://github.com/MinaProtocol/mina/blob/2ee6e004ba8c6a0541056076aab22ea162f7eb3a/src/lib/mina_base/with_status.ml#L6

EnumsΒ§

AccountState
BinaryTransactionStatus πŸ”’
ExistingOrNew
TimingValidation
Transaction
TransactionFailure
https://github.com/MinaProtocol/mina/blob/2ee6e004ba8c6a0541056076aab22ea162f7eb3a/src/lib/mina_base/transaction_status.ml#L9
TransactionStatus
https://github.com/MinaProtocol/mina/blob/2ee6e004ba8c6a0541056076aab22ea162f7eb3a/src/lib/mina_base/transaction_status.ml#L452
UserCommand
WellFormednessError

TraitsΒ§

GenericCommand
GenericTransaction

FunctionsΒ§

account_check_timing
add_amount πŸ”’
apply_coinbase πŸ”’
Structure of the failure status: I. No fee transfer and coinbase transfer fails: [[failure]] II. With fee transfer- Both fee transfer and coinbase fails: [[failure-of-fee-transfer]; [failure-of-coinbase]] Fee transfer succeeds and coinbase fails: [[];[failure-of-coinbase]] Fee transfer fails and coinbase succeeds: [[failure-of-fee-transfer];[]]
apply_fee_transfer πŸ”’
https://github.com/MinaProtocol/mina/blob/2ee6e004ba8c6a0541056076aab22ea162f7eb3a/src/lib/transaction_logic/mina_transaction_logic.ml#L1991
apply_transaction_first_pass
apply_transaction_second_pass
apply_transactions
apply_user_command
apply_user_command_unchecked
apply_zkapp_command_first_pass πŸ”’
apply_zkapp_command_first_pass_aux
apply zkapp command fee payer’s while stubbing out the second pass ledger CAUTION: If you use the intermediate local states, you MUST update the LocalStateEnv::will_succeed field to false if the status is TransactionStatus::Failed.*)
apply_zkapp_command_second_pass πŸ”’
apply_zkapp_command_second_pass_aux
apply_zkapp_command_unchecked πŸ”’
apply_zkapp_command_unchecked_aux πŸ”’
checked_cons_signed_command_payload
Returns the new receipt_chain_hash
compute_updates
cons_signed_command_payload
Returns the new receipt_chain_hash
cons_zkapp_command_commitment
prepend account_update index computed by Zkapp_command_logic.apply
get_account
get_new_accounts πŸ”’
get_with_location πŸ”’
has_permission_to_receive πŸ”’
https://github.com/MinaProtocol/mina/blob/2ee6e004ba8c6a0541056076aab22ea162f7eb3a/src/lib/transaction_logic/mina_transaction_logic.ml#L1852
is_timed
pay_fee
pay_fee_impl πŸ”’
process_fee_transfer πŸ”’
Structure of the failure status: I. Only one fee transfer in the transaction (One) and it fails: [[failure]] II. Two fee transfers in the transaction (Two)- Both fee transfers fail: [[failure-of-first-fee-transfer]; [failure-of-second-fee-transfer]] First succeeds and second one fails: [[];[failure-of-second-fee-transfer]] First fails and second succeeds: [[failure-of-first-fee-transfer];[]]
set_account
set_with_location
step_all πŸ”’
sub_account_creation_fee πŸ”’
https://github.com/MinaProtocol/mina/blob/2ee6e004ba8c6a0541056076aab22ea162f7eb3a/src/lib/transaction_logic/mina_transaction_logic.ml#L607
sub_amount πŸ”’
timing_error_to_user_command_status
update_timing_when_no_deduction πŸ”’
validate_nonces πŸ”’
validate_time
validate_timing
validate_timing_with_min_balance πŸ”’
validate_timing_with_min_balance_impl πŸ”’