On-chain MOVEUSD ARRIVING on a ledger account: the credits no platform
transaction explains, plus the settlement credits of rails that already
account for the signature.
Its body, and the claim set it excludes against, are shared with
blockchain_withdrawal_view — see blockchainArmSql.
Declaration order IS load-bearing: UNION ALL matches arms by position, not
name, so this must stay in the sibling arms' projection order. Column names
are left to the ambient casing: "snake_case" mapping, so callers must
build against it with createQueryBuilder().
securityInvoker is required, not cosmetic — every underlying table has RLS
enabled, and without it the view would run with the owner's row visibility
and silently bypass the querying role's policies.
On-chain MOVEUSD ARRIVING on a ledger account: the credits no platform transaction explains, plus the settlement credits of rails that already account for the signature.
Its body, and the claim set it excludes against, are shared with
blockchain_withdrawal_view— see blockchainArmSql.Declaration order IS load-bearing: UNION ALL matches arms by position, not name, so this must stay in the sibling arms' projection order. Column names are left to the ambient
casing: "snake_case"mapping, so callers must build against it withcreateQueryBuilder().securityInvokeris required, not cosmetic — every underlying table has RLS enabled, and without it the view would run with the owner's row visibility and silently bypass the querying role's policies.