Protected ReadonlycacheStaticinstanceThe process default: built from each dependency's own instance().
update for an operator, whoever owns the row: skips only the capability check.
OptionalaccountType?: "CHECKING" | "SAVING" | nullDeposit account type — total here, optional in storage and on the create request. See UsWireDbInstrumentData.accountType.
OptionalreferenceId?: string | nullABA routing number
OptionalvictorCounterpartyId?: string | nullAlso clears payment-instrument.text. Every writer busts by customer alone,
which reaches no field tag, yet each write may change the text a cached
transaction q page matched on.
ProtectedsearchTags for a page: the scope its query searched (each customer's membership
tag, else the collection tag), so an empty page is bustable too, plus the
records it projects and the fields that chose or ordered its rows.
Merge data into an existing instrument. Every field is optional — an
absent key is left untouched.
beneficiary is the exception: it is replaced wholesale, never merged
field-by-field. It is a BUSINESS | PERSON discriminated union, and a
per-field merge could assemble a member that satisfies neither arm (a
BUSINESS carrying a firstName). Its type is immutable for the same
reason the dashboard's edit form locks that radio group.
The owning entity is read off the row, not supplied: it is what the
capability check and the derived providerId are built from, and an
instrument cannot move between entities.
Upserts currently-persisted beneficiary into AiPrise and runs a verification
Maintain the account and beneficiary details for sending US wires via Fedwire network.