v1.0
Polaris 1.0 Overview
Polaris' development has been incremental, so 1.0 does not introduce any major features or changes to the data model. Rather it serves as a benchmark of the software's maturity and completeness.
In general, Polaris offers support for full implementations of:
- SEP-1 TOML files
- SEP-6 Noninteractive Deposit and Withdrawal
- SEP-10 Authentication
- SEP-12 Customer KYC Information
- SEP-24 Interactive Deposit & Withdrawal
- SEP-31 Direct Fiat-to-Fiat Payments
Polaris implements the API's defined in each SEP, the processes needed for periodic tasks, and the core data model used to facilitate the protocols listed above. Polaris also provides an integration interface, or set of classes and functions, that allow anchors to implement logic specific to their organization and business needs.
Integrations
- DepositIntegration and WithdrawalIntegration
- Used for SEP-6 and SEP-24 form and transaction processing
- SEP31ReceiverIntegration
- Used for processing SEP-31 payments
- CustomerIntegration
- Used for SEP-12 KYC/Customer information management
- RailsIntegration
- Used for connecting to the anchor's off-chain banking or payment rails
- JavaScript integration
- Used to add client-side JS code to HTML pages displayed to SEP-24 users
- TOML integration
- Used to add attributes defined in SEP-1 to the stellar.toml file
- Fee integration
- Used for calculating custom fee amounts for SEP-24 transactions
1.0 Changelog
Features
- A
testnet
command was added to make issuing assets and testnet resets easier - Polaris now fully supports logging via the
logging
standard python package PolarisSameSiteMiddleware
is no longer required for SEP-24 anchors- All environment variables can be listed in settings.py by prepending the variable name with 'POLARIS_'
- This strategy comes with security concerns. Ensure your secrets are never checked into source control
- SEP-12
PUT /customer
requests can use theid
parameter as recently added to the SEP
Breaking Changes
- All polaris-specific variables defined in
settings.py
must now be prepended with 'POLARIS_'- This applies to
ACTIVE_SEPS
andENV_PATH
- As well as any environment variables specified within the
settings.py
file
- This applies to
- The scripts integration function must now return a list of
TemplateScript
objectsTemplateScript
objects contain a JS source file path and other meta data
- The SEP-12
.delete()
integration function now must raise the Django exceptionObjectDoesNotExist
for 404 HTTP responses- This exception replaces
ValueError
- This exception replaces
- SEP-31
GET /customer
was updated to include a 404 response- Polaris'
.get()
integration function should raiseObjectDoesNotExist
for 404,ValueError
for 400
- Polaris'
Database Changes
There are no schema changes from 0.13.2 to 1.0. However, 1.0 squashes all migrations files generated prior to this release. Make sure to update your database's django_migrations
table by deleting all migrations after 0001_initial
where app='polaris'
. This will ensure the eventual second migration will be applied properly.