Changelog and Migration
Installing a new Underwriter version
From within the Underwriter’s directory:
- Pull down the Underwriter if it is running.
Terminal window docker compose down - Get the codebase changes:
Terminal window git pull && git checkout main - Pull the corresponding docker image:
Terminal window docker pull ghcr.io/catalystdao/catalyst-underwriter:latest - Perform any migration steps as described on all relevant changelogs.
 - Start the Underwriter.
Terminal window docker compose up -d 
v0.1.0
Release: GitHub
Changelog
- Complete overhaul of how the Underwriter determines whether to execute underwrites. Any swap that goes to a vault that has been created with an approved vault template, within a whitelisted endpoint is now allowed to be underwritten (allowed vault addresses had to be hardcoded before on the Underwriter’s configuration). This means that the Underwriter now supports newly created vaults on the fly.
 - The Underwriter now ‘syncs’ with the Relayer’s 
monitorservice.- The 
blockDelayoption of the Underwriter now configures an additional block delay to that of the Relayer. 
 - The 
 - A new 
minMaxGasDeliveryconfiguration prevents the Underwriter from executing underwrites of cross-chain packets with a too lowmaxGasDeliverythat would cause the packet from never arriving at the destination chain.- This configuration must be defined for ALL chains individually.
 
 - A new 
minRelayDeadlineDurationconfiguration prevents an Underwriter from underwriting a cross-chain swap with a delivery deadline that is too short. - A new 
minUnderwriteDurationconfiguration on theexpirerprevents the Underwriter from auto expiring underwrites as a result of invalid configuration. - Block reorgs are detected using the 
blockDelayconfiguration. - Improve handling of l1 and l2 block numbers for chains like Arbitrum.
 - Full changelog.
 
Migration steps:
- Update the Underwriter configuration:
- The 
poolconfiguration has been removed. - New 
endpointconfiguration (seeconfig.example.yaml):- Every endpoint defines a whitelisted Catalyst factory + interface + incentives address combination, together with the approved vault template addresses and cross-chain channels configuration.
 
 blockDelayhas been moved to themonitorconfiguration.underwriteBlocksMarginhas been renamed renamed tomaxUnderwriteDelayand is now time-based.- Optional 
resolverconfiguration for each chainresolver: 'arbitrum'is now required for Arbitrum.
 - See 
config.types.tsfor further advanced configuration options added that are not present onconfig.example.yaml. 
 - The