Last updated
Last updated
There is a contract migration coming on January 23rd, 2025 that will cause breaking changes.
If you prefer to just understand the breaking changes for your application, please jump directly to one of the sub-pages:
The changes detailed in this guide follow two primary goals:
Extending the reach of the Across system to as many users and use cases as possible
Ensuring that the user experience is consistent across all of those domains
These changes will go into effect starting on January 23rd.
Four core events emitted by the SpokePool are changing, so indexers and relayers will need to be updated to track the new events.
Integrators must use the exclusiveRelayer
, exclusivityDeadline
and fillDeadline
parameters returned by the API in their deposit
or depositV3
transactions.
Integrators are strongly encouraged to begin using the endpoint rather than doing their own indexing of Across events.
Integrators are encouraged to begin using the new deposit
method over depositV3
, as it will be able to support deposits going to non-EVM destinations in the future.
Relayers are encouraged to begin using the new fillRelay
method, as it will allow them to begin choosing the repayment address and to fill non-EVM deposits in the future.
Across is adding a new method, called unsafeDeposit
:
This function allows for prefills, where the fill comes at the same time or before the deposit.
To do this, this method guarantees that the timing of inclusion of a successful unsafeDeposit
call on the origin chain will not impact the correctness of the fill on the destination. If a filler is sure that the unsafeDeposit
function will be called with the correct parameters in the future, they can safely fill before the unsafeDeposit
function is finalized or even initiated.
Multiple SpokePool
functions have been added to support bytes32
addresses, which will enable the Across deployments on EVM chains to be cross-compatible with future deployments on other chains.
A new deposit function has been introduced that will support both EVM and (in the future) non-EVM chains:
Relayers can now request repayment to a different address than the one that performed the fill. This has been a long-requested feature. Relayers will need to use the new fillRelay
function to take advantage of this: