What everyone needs to know
A project can be configured to use any contract that adheres to ISNOWPaymentTerminal
to manage its inflows and outflows of token funds.
Each payment terminal can have a unique distribution limit and overflow allowance.
Each payment terminal can behave differently when it receives payments.
What you'll want to know if you're building
A project can set its terminals usingSNOWDirectory.setTerminalsOf(...)
.
If a project uses multiple terminals to manage funds for the same token, it can set the primary one (where other Web3 contracts should send funds to) using SNOWDirectory.setPrimaryTerminalOf(...)
.
To pay a project with a certain token, get its prefered payment terminal using SNOWDirectory.primaryTerminalOf(...)
. If no terminal is returned, the project is not currently accepting the specified token.