2.8 KiB
title, description
| title | description |
|---|---|
| Client Bank Usage Guide | The client bank addon opens the bank and ATM browser UI, forwards banking requests to the server bank addon, and pushes account updates back into the browser. |
Open Bank UI
Open full bank mode:
call forge_client_bank_fnc_openUI;
Open ATM mode:
[true] call forge_client_bank_fnc_openUI;
The open function creates RscBank, sets the bridge mode to bank or atm,
loads ui/_site/index.html, and routes browser events through
forge_client_bank_fnc_handleUIEvents.
Bridge and Repository
forge_client_bank_fnc_initRepository tracks account load and cached account
state.
forge_client_bank_fnc_initUIBridge owns:
- active browser control tracking
- bank/ATM mode
- browser ready handling
- account hydrate and sync responses
- deposit, withdrawal, transfer, earnings deposit, credit repayment, PIN validation, and PIN change requests
- browser notice delivery
Browser Events
| Event | Client behavior |
|---|---|
bank::ready |
Mark browser ready and request hydrate from the server. |
bank::refresh |
Request fresh bank hydrate data. |
bank::deposit::request |
Forward deposit amount to the server. |
bank::withdraw::request |
Forward withdrawal amount to the server. |
bank::transfer::request |
Forward target, source field, and amount. |
bank::depositEarnings::request |
Request earnings deposit. |
bank::repayCreditLine::request |
Request credit-line repayment. |
bank::pin::request |
Forward PIN validation request. |
bank::pin::change::request |
Forward current and new PIN values for a PIN change. |
bank::close |
Dispose bridge screen state and close the display. |
Browser Response Events
The bridge sends:
| Event | Purpose |
|---|---|
bank::hydrate |
Full session/account payload. |
bank::sync |
Account patch or sync data. |
bank::notice |
UI-visible notice payload. |
Request Flow
Example deposit flow:
- Browser sends
bank::deposit::requestwith anamount. - Client bridge calls the server bank request event.
- Server bank addon validates the request and calls bank hot-state logic.
- Server response is caught by the client post-init event handlers.
- Client bridge sends
bank::syncorbank::noticeback to the browser.
Authoritative State
Balances, PIN authorization, transfers, checkout charges, credit lines, and persistence are server-owned. The client should only display account data and request mutations through server events.
PIN changes are available from the full bank UI only. The browser validates the current, new, and confirmation fields, but the server extension remains authoritative and persists the updated PIN.