Operator-maintained registry of CFX's own bank accounts — the primary
enumeration behind bank_account_view, and the reason BANK_INSTRUCTION and
OBSERVED are backstops rather than the registry itself.
Most accounts are expected to live here. The one typed table
(virtual_account) covers Victor and RouteFusion virtual accounts, and
bank's rails infer the deposit-instruction accounts. See § 4.7.
Ownership is OPTIONAL — a CFX-owned pool has no customer; the columns exist
for the per-customer FBOs (§ 4.5). The check constraint therefore forbids
only the both-set case rather than requiring exactly one.
parentKey is the view key of the account this one sits inside, and
carries no foreign key: it can name a row from any arm of
bank_account_view, so no single-table FK — self-referencing or
otherwise — could express every case. This matches how parent_key
already works in the other arms — nothing enforces the target exists
there either.
Operator-maintained registry of CFX's own bank accounts — the primary enumeration behind
bank_account_view, and the reasonBANK_INSTRUCTIONandOBSERVEDare backstops rather than the registry itself.Most accounts are expected to live here. The one typed table (
virtual_account) covers Victor and RouteFusion virtual accounts, andbank's rails infer the deposit-instruction accounts. See § 4.7.Ownership is OPTIONAL — a CFX-owned pool has no customer; the columns exist for the per-customer FBOs (§ 4.5). The check constraint therefore forbids only the both-set case rather than requiring exactly one.
parentKeyis the viewkeyof the account this one sits inside, and carries no foreign key: it can name a row from any arm ofbank_account_view, so no single-table FK — self-referencing or otherwise — could express every case. This matches howparent_keyalready works in the other arms — nothing enforces the target exists there either.