All notable changes to the searcher sdks will be documented in this file.
The format is based on Keep a Changelog.
- The minimum lifetime of swap quotes is now configurable. Users can provide a
minimum_lifetime
which represents for how long the quote they receive should be valid and defaults to the old value of 10 seconds. Searchers receive aminimum_deadline
as a timestamp in the opportunity parameters that they should use as the deadline for their quotes. 482 - Now the user can request non-cancellable quotes: these are quotes where the searcher can't call
cancel_bid
while the server is waiting for the user signature. These opportunities have the flagcancellable
set to false in the opportunity parameters. 481 - A new status
submission_failed
has been added to bids. This status is used when a user tries to submit a bid on-chain, but the submission fails. It includes areason
field to explain why the submission did not succeed. The possible reasons are:cancelled
: The bid was cancelled by the owner before the user could submit it on-chain.deadline_passed
: The user attempted to submit the bid too late, after the bid deadline had already passed. 489
- For swap opportunities, the searcher sdks will now add a memo instruction to the bid transaction if the quote requester so desires. This allows the quote requester to track which on-chain transactions correspond to quotes they requested. 458
- Fixed a bug in the Python SDK where it expected the variant for swap opportunities to be
phantom
instead ofswap
. 443 - For swap opportunities, when a user wants to swap SOL but doesn't have enough funds, the sdk will never try to wrap (on behalf of the user) an amount exceeding the SOL balance of the user. 461
- Made the Python searcher SDK forward compatible with adding new bid statuses. 469
- For swap opportunities, the searcher sdks now only add
Create Associated Token Account Idempotent
instructions for user token accounts and fee token accounts when these accounts don't yet exist (instead of always). 428 - For swap opportunities, users are now responsible to pay for their own associated token accounts in the swap transactions (to receive the searcher token and to trasact with Wrapped SOL) unless they have very low SOL balance. In the previous version, searcher paid for all token account creations. 428
- For swap opportunities, the searchers sdks now close the user's Wrapped SOL account after the user sends Wrapped SOL to the searcher. This improves the user's UX by returning the rent of their Wrapped SOL ATA. 434
- Fixed a bug where the amount of user SOL needed to be wrapped was underestimated. This bug affected swap opportunities where the amount of searcher token was specified, fee was paid in the user token and the user token was Wrapped SOL. 432