All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Loosen sidekiq constraint
- Ensure Trailblazer is
< 2.1(this has breaking changes)
- Gem user can customize
etaresponse fromGET /deposit
/depositreturnsextra_infoas a json object
- Gem user can customize
extra_infofor a DepositRequest
- Rename
fee_fixed_fromtofee_fixed_quote_fromto reflect that this is used in the/feeendpoint for quoting - Remove
fee_network: this is not a Stellar standard. Any apps that use this gem should determine and/or store the network fee in its own records.
- Developer sets
fee_fixed_fromin withdrawable asset config to customize how fees on withdrawals are set
- Add a
GET /feeendpoint that implements sep-0006#fee
- Do not blow up when subscribing to accounts whose operations Horizon does not know about
- Raise
StellarBase::NotFoundErrorif transaction is not found instead of lettingFaraday::NotFoundErrorto bubble all the way up
- Remove SidekiqUniqueJobs that sometimes caused the jobs to never run
StellarBase.on_withdrawis triggered with different models and not a bridge callback. Seeon_withdrawdocumentation.
- Save cursor right after fetching when an account subscription has none
- Assign operation to
rawand let Virtus assign the rest lazily
- AccountSubscriptions properly use cursor
- Added
StellarOperationandStellarTransactionmodels
- Changed
StellarBase.configuration.on_account_eventto passStellarOperationandStellarTransactionobjects instead of hash objects
- Ensure that the same deposit's token is not sent multiple times given the same transaction #42
- Only one deposit record can exist for per
tx_id&deposit_request_idcombination #42
- Upgrade stellar-base to
>= 0.18.0
- Optionally use StellarSpectrum to send assets
- Add
balancesmodule. Which mounts a/balance/:asset_codeendpoint that returns themax_amountof a withdrawable asset
DepositRequests::Triggerskipping of sending assets whenSendAssetfails
- Missing local variable
addresswhenStellarBase::AccountSubscriptions::GetOperationsrescuesFaraday::ClientErrorexception - Add error message in
/withdrawif a failed policy occurred.
- Skip remaining
SubscribeAccountactions whenoperationscannot be found for an address
- Do not blow up when fetching cursors of non-existent accounts
- Do not blow up when saving cursor of an empty operation set
- SubscriptionWorker retry is
0so death handlers are executed
- Pass in
GET /depositparams inhow_fromclass
- Remove dependency sidekiq-cron
#subscribe_to_accountsconfig defaults to an empty array
- Change error lifting for
StellarBase.on_deposit_trigger. Raising exception is too expensive
- Add
StellarBase.on_account_eventand.subscribe_to_accounts
- Add all attributes for a complete stellar_toml file
- Fix
LocalJumpErrorissues for Rails apps that already have thetomlmime type registered
- Add
StellarBase.on_deposit_trigger - Add
StellarBase.configuration.stellar_network
- Use 0 if
max_amount_frominDepositRequests::Operations::Create
- Add
depositable_assetsconfiguration - Add
DepositRequestmodel, operations, contracts and services - Add
/depositAPI endpoint
- Add
max_amount_fromconfiguration forc.withdrawable_assetsto properly populateWithdrawalRequest#max_amount
- Add errors in
/withdrawto include errors for invalid asset codes instead of silently failing
- Loosen version restriction of stellar-base gem
- Change
tomlrbtotoml-rb - Fix bug in implicitly referred
TRANSFER_SERVERroute inStellarToml
- Added
tomlrbin gemspec to fix errors in/.well-known/stellar
- BridgeCallbacks operation should check if
bridge_callbacksis included.
- Add capability for mounting
/.well-knownusing a route helper:mount_stellar_base_well_known
- Show errors when unable to create withdraw request
- BridgeCallback model uses
operation_idinstead ofid
- BridgeCallbacks (migration required) are saved in the database and uniqueness on the operation id is handled automatically.
on_bridge_callbackcan be a proc or class itself (as long as it responds to call)- Add factory bot definitions to
stellar_base/factories
- Added
c.check_bridge_callbacks_mac_payloadconfiguration option to flag if/bridge_callbackswill check for theX_PAYLOAD_MACheader that comes from the bridge server - Added
c.bridge_callbacks_mac_keyconfiguration - Added
StellarBase::BridgeCallbacks::VerifyMacPayloadservice object to check if the callback is authentic
- Added
BridgeCallbacks::Comparestep to check callback contents against operation/transaction details from Horizon
- Added
c.check_bridge_callbacks_authenticityconfiguration option to flag security controls - Added
c.horizon_urlconfiguration - Added
StellarBase::BridgeCallbacks::Checkservice to check callback authenticity against horizon
- Moved
verify_authenticity_tokentobridge_callbackscontroller
- Update Rails dependency to
~> 5.1from~> 5.1.6
- Initial commit