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
eta
response fromGET /deposit
/deposit
returnsextra_info
as a json object
- Gem user can customize
extra_info
for a DepositRequest
- Rename
fee_fixed_from
tofee_fixed_quote_from
to reflect that this is used in the/fee
endpoint 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_from
in withdrawable asset config to customize how fees on withdrawals are set
- Add a
GET /fee
endpoint that implements sep-0006#fee
- Do not blow up when subscribing to accounts whose operations Horizon does not know about
- Raise
StellarBase::NotFoundError
if transaction is not found instead of lettingFaraday::NotFoundError
to bubble all the way up
- Remove SidekiqUniqueJobs that sometimes caused the jobs to never run
StellarBase.on_withdraw
is triggered with different models and not a bridge callback. Seeon_withdraw
documentation.
- Save cursor right after fetching when an account subscription has none
- Assign operation to
raw
and let Virtus assign the rest lazily
- AccountSubscriptions properly use cursor
- Added
StellarOperation
andStellarTransaction
models
- Changed
StellarBase.configuration.on_account_event
to passStellarOperation
andStellarTransaction
objects 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_id
combination #42
- Upgrade stellar-base to
>= 0.18.0
- Optionally use StellarSpectrum to send assets
- Add
balances
module. Which mounts a/balance/:asset_code
endpoint that returns themax_amount
of a withdrawable asset
DepositRequests::Trigger
skipping of sending assets whenSendAsset
fails
- Missing local variable
address
whenStellarBase::AccountSubscriptions::GetOperations
rescuesFaraday::ClientError
exception - Add error message in
/withdraw
if a failed policy occurred.
- Skip remaining
SubscribeAccount
actions whenoperations
cannot 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
0
so death handlers are executed
- Pass in
GET /deposit
params inhow_from
class
- Remove dependency sidekiq-cron
#subscribe_to_accounts
config defaults to an empty array
- Change error lifting for
StellarBase.on_deposit_trigger
. Raising exception is too expensive
- Add
StellarBase.on_account_event
and.subscribe_to_accounts
- Add all attributes for a complete stellar_toml file
- Fix
LocalJumpError
issues for Rails apps that already have thetoml
mime type registered
- Add
StellarBase.on_deposit_trigger
- Add
StellarBase.configuration.stellar_network
- Use 0 if
max_amount_from
inDepositRequests::Operations::Create
- Add
depositable_assets
configuration - Add
DepositRequest
model, operations, contracts and services - Add
/deposit
API endpoint
- Add
max_amount_from
configuration forc.withdrawable_assets
to properly populateWithdrawalRequest#max_amount
- Add errors in
/withdraw
to include errors for invalid asset codes instead of silently failing
- Loosen version restriction of stellar-base gem
- Change
tomlrb
totoml-rb
- Fix bug in implicitly referred
TRANSFER_SERVER
route inStellarToml
- Added
tomlrb
in gemspec to fix errors in/.well-known/stellar
- BridgeCallbacks operation should check if
bridge_callbacks
is included.
- Add capability for mounting
/.well-known
using a route helper:mount_stellar_base_well_known
- Show errors when unable to create withdraw request
- BridgeCallback model uses
operation_id
instead ofid
- BridgeCallbacks (migration required) are saved in the database and uniqueness on the operation id is handled automatically.
on_bridge_callback
can 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_payload
configuration option to flag if/bridge_callbacks
will check for theX_PAYLOAD_MAC
header that comes from the bridge server - Added
c.bridge_callbacks_mac_key
configuration - Added
StellarBase::BridgeCallbacks::VerifyMacPayload
service object to check if the callback is authentic
- Added
BridgeCallbacks::Compare
step to check callback contents against operation/transaction details from Horizon
- Added
c.check_bridge_callbacks_authenticity
configuration option to flag security controls - Added
c.horizon_url
configuration - Added
StellarBase::BridgeCallbacks::Check
service to check callback authenticity against horizon
- Moved
verify_authenticity_token
tobridge_callbacks
controller
- Update Rails dependency to
~> 5.1
from~> 5.1.6
- Initial commit