Releases: debridge-finance/dln-taker
v2.8.1
What's Changed
- fix: reject orders that require pre-fulfill swaps where swaps are not available by @alexeychr in #102
Full Changelog: v2.8.0...v2.8.1
v2.8.0 Add Base and Optimism
v2.7.0
What's Changed
- feat: Linea chain added by @alexeychr in #98
New opt-in feature: Linea blockchain
This release introduces support of Linea blockchain. To start processing orders to/from Linea, do the following steps:
- Register the new chain in your configuration file (e.g.,
executor.config.ts
) and configure it properly. Usesample.config.ts
as an example:
{
chain: ChainId.Linea,
chainRpc: `${process.env.LINEA_RPC}`,
constraints: {
// Defines necessary and sufficient block confirmation thresholds per worth of order expressed in dollars.
requiredConfirmationsThresholds: [
// worth <$100: 1+ block confirmation
// {thresholdAmountInUSD: 100, minBlockConfirmations: 1},
// worth >$100: guaranteed block confirmations (15)
],
// Defines a TVL hard cap for orders coming from this chain that were fulfilled before getting guaranteedly finalized.
nonFinalizedTVLBudget: 10_000,
},
beneficiary: `${process.env.LINEA_BENEFICIARY}`,
takerPrivateKey: `${process.env.LINEA_TAKER_PRIVATE_KEY}`,
unlockAuthorityPrivateKey: `${process.env.LINEA_UNLOCK_AUTHORITY_PRIVATE_KEY}`,
}
- Add the Linea's native coin (ETH) to the token bucket in your configuration file (e.g.,
executor.config.ts
):
buckets: [
//
// Setting the USDC bucket (all tokens are emitted by Circle Inc on every DLN supported chain)
//
new TokensBucket({
[ChainId.Arbitrum]: ["0xff970a61a04b1ca14834a43f5de4533ebddb5cc8"],
[ChainId.Avalanche]: ["0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E"],
[ChainId.BSC]: ["0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d"],
[ChainId.Ethereum]: ["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"],
[ChainId.Polygon]: ["0x2791bca1f2de4661ed88a30c99a7a9449aa84174"],
[ChainId.Solana]: ["EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"],
}),
//
// Setting the ETH/wETH bucket
//
new TokensBucket({
[ChainId.Arbitrum]: ['0x0000000000000000000000000000000000000000'],
[ChainId.Avalanche]: ['0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB'],
[ChainId.BSC]: ['0x2170Ed0880ac9A755fd29B2688956BD959F933F8'],
[ChainId.Ethereum]: ['0x0000000000000000000000000000000000000000'],
[ChainId.Linea]: ['0x0000000000000000000000000000000000000000'], // <!-- this is the new line 🔴
[ChainId.Polygon]: ['0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619']
}),
],
- Set proper values to the environment variables referenced above in your
.env
file:
# Linea
LINEA_RPC=https://
LINEA_TAKER_PRIVATE_KEY=
LINEA_UNLOCK_AUTHORITY_PRIVATE_KEY=
LINEA_BENEFICIARY=0x...
- Deploy enough ETH to your taker's address on Linea, according to the documentation
Breaking changes
In previous versions of dln-ts-client, the adapter to Coingecko API was using a hardcoded value of the USDC token (EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
) on Solana. The new version removes the hack, effectively breaking BC and thus affects estimation of orders from Solana. To facilitate the change, your are required to update the config file as follows:
- add the following line to the beginning of your config file:
import configurator from "./src/configurator";
- find the lines
tokenPriceService: new CachePriceFeed(
new CoingeckoPriceFeed(process?.env?.COINGECKO_API_KEY),
60 * 5 // 5min cache
),
- replace with the new lines:
tokenPriceService: configurator.tokenPriceService({
coingeckoApiKey: process?.env?.COINGECKO_API_KEY
}),
Full Changelog: v2.6.2...v2.7.0
v2.6.2
v2.6.1
What's Changed
- feat: correctly check order status for non-finalized orders coming from Solana by @alexeychr in #96
Full Changelog: v2.6.0...v2.6.1
v2.6.0
What's Changed
- feature: pre-fulfill swap's change recipient by @alexeychr in #94
New opt-in feature: pre-fulfill swaps' change recipient
This releases introduces an opt-int feature to configure pre-fulfill swaps' change recipient. By default, any change occurred after pre-fulfill swap is transferred to the taker; now it is possible to change this behaviour so that change is transferred to maker:
dstConstraints: {
// transfer pre-fulfill swap change to maker (orderAuthorityDstAddress). Default value: "taker"
preFulfillSwapChangeRecipient: "maker"
}
Full Changelog: v2.5.0...v2.6.0
v2.5.0
What's Changed
- feat: delayed fulfillments by @alexeychr in #91
New opt-in feature: delayed fulfillment
This releases introduces an opt-int feature to configure delayed fulfillments. More on this: https://github.com/debridge-finance/dln-taker/tree/v2.5-latest#delayed-fulfillments
Full Changelog: v2.4.0...v2.5.0
v2.4.0
What's Changed
Full Changelog: v2.3.1...v2.4.0
New opt-in feature: nonFinalizedTVLBudget
This release introduces a budget (a hard cap) of all successfully fulfilled orders' value (expressed in USD) that were not reached
yet guaranteed finality at the given point in time, which solves the issue covered in #84.
To start using this feature, add the constraints.nonFinalizedTVLBudget
property to every chain defined in your config. Consider reading the corresponding section in the documentation: https://github.com/debridge-finance/dln-taker/tree/v2.4-latest#setting-a-budget-for-non-finalized-orders
v2.3.1
v2.3.0
What's Changed
- feature: send transaction with signed transaction by @mncdg in #77
- feat: Fantom blockchain now supported for taking orders (to/from) by @mncdg in #87
What's New
This release introduces the support of Fantom blockchain. To start fulfilling orders from/to Fantom, you need to add the new section in your configuration file, as stated in sample.config.ts:
chains: [
// ...
{
chain: ChainId.Fantom,
chainRpc: `${process.env.FANTOM_RPC}`,
beneficiary: `${process.env.FANTOM_BENEFICIARY}`,
takerPrivateKey: `${process.env.FANTOM_TAKER_PRIVATE_KEY}`,
unlockAuthorityPrivateKey: `${process.env.FANTOM_UNLOCK_AUTHORITY_PRIVATE_KEY}`,
},
]
Additionally, add the following new environment variables to your .env
file, as stated in sample.env:
FANTOM_RPC=https://
FANTOM_TAKER_PRIVATE_KEY=
FANTOM_UNLOCK_AUTHORITY_PRIVATE_KEY=
FANTOM_BENEFICIARY=0x...
Full Changelog: v2.2.3...v2.3.0