Skip to content

Fee Account Muxed displays Muxed Source Account #263

Description

@sydneynotthecity

What did you do?

The fee_account_muxed field displays the source account address when the source account is muxed, but does not display the muxed fee account accurately when that account is muxed.

What did you expect to see?

For transaction hash 17fee99b64f9c34ec9f8b52ffd4a72c51186bdf36f79a92bbbc138603916039c , the fee account should be muxed. Horizon response:

"id": "17fee99b64f9c34ec9f8b52ffd4a72c51186bdf36f79a92bbbc138603916039c",
  "paging_token": "155461516714868736",
  "successful": true,
  "hash": "17fee99b64f9c34ec9f8b52ffd4a72c51186bdf36f79a92bbbc138603916039c",
  "ledger": 36196205,
  "created_at": "2021-07-03T17:53:56Z",
  "source_account": "GCBUR4UQ6LR32LEM2O6FZY2O5ZEI5K3D3BMIHAOTQVN65235NTFUDLTT",
  "account_muxed": "MCBUR4UQ6LR32LEM2O6FZY2O5ZEI5K3D3BMIHAOTQVN65235NTFUCAAAAAAAAAAAAA4U2",
  "source_account_sequence": "155461439404900353",
  "fee_account": "GCBUR4UQ6LR32LEM2O6FZY2O5ZEI5K3D3BMIHAOTQVN65235NTFUDLTT",
  "fee_account_muxed": "MCBUR4UQ6LR32LEM2O6FZY2O5ZEI5K3D3BMIHAOTQVN65235NTFUCAAAAAAAAAAAAA4U2",

What did you see instead?

However Hubble returns a null fee_account_muxed:

select * 
from `crypto-stellar.crypto_stellar.history_transactions`
where transaction_hash = '17fee99b64f9c34ec9f8b52ffd4a72c51186bdf36f79a92bbbc138603916039c'
and batch_run_date >= '2021-07-01'
and batch_run_date < '2021-07-30'

Converse example in Hubble with an incorrectly populated fee account:

    "id": "225140055352963072",
    "transaction_hash": "a261c12d4d400c2954d1e234103907178f4f0767b69a868bf9cf0e2d27cb41a6",
    "ledger_sequence": "52419504",
    "account": "GA5ZPIVPAXEG5LMHTKF4PJZ52K5YFUUBSHL746TINKJ7GNMG4KYF3S4R",
    "successful": "true",
    "fee_charged": "200",
    "inner_transaction_hash": "00c0353e0494d4cbab31ac9fba3e83c82c3071fbb96bd69be40f012cc0cf8f3d",
    "fee_account": "GCUCLPMVO4Q4M32VCPDPQBYCRCTZDA4RYGXZCL7ZA3TOUFPM6ROQRDMI",
    "new_max_fee": "1200",
    "account_muxed": "MA5ZPIVPAXEG5LMHTKF4PJZ52K5YFUUBSHL746TINKJ7GNMG4KYF2AAACOBCKABHCTRYY",
    "fee_account_muxed": "GCUCLPMVO4Q4M32VCPDPQBYCRCTZDA4RYGXZCL7ZA3TOUFPM6ROQRDMI",

Root Cause:

stellar-etl is checking the source account type, but should check the FeeBumpAccount type instead:

if transaction.Envelope.IsFeeBump() {
		feeBumpAccount := transaction.Envelope.FeeBumpAccount()
		feeAccount := feeBumpAccount.ToAccountId()
		if sourceAccount.Type == xdr.CryptoKeyTypeKeyTypeMuxedEd25519 {
			feeAccountMuxed := feeAccount.Address()
			transformedTransaction.FeeAccountMuxed = feeAccountMuxed
		}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions