Skip to content

Commit 0339dae

Browse files
Enrich assetConfigUpdated event (#411)
* feat: Enrich asset config updated event * fix: Gas snapshots * fix: Check event emission on tests
1 parent ab98181 commit 0339dae

File tree

3 files changed

+48
-20
lines changed

3 files changed

+48
-20
lines changed

src/contracts/LiquidityHub.sol

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ contract LiquidityHub is ILiquidityHub {
5656
})
5757
});
5858

59-
emit AssetAdded(assetId++, asset);
59+
emit AssetAdded(assetId, asset);
60+
emit AssetConfigUpdated(assetId, config);
6061
}
6162

6263
function updateAssetConfig(uint256 assetId, DataTypes.AssetConfig calldata config) external {
@@ -71,7 +72,7 @@ contract LiquidityHub is ILiquidityHub {
7172
irStrategy: config.irStrategy
7273
});
7374

74-
emit AssetConfigUpdated(assetId);
75+
emit AssetConfigUpdated(assetId, config);
7576
}
7677

7778
function addSpoke(uint256 assetId, DataTypes.SpokeConfig memory config, address spoke) external {

src/interfaces/ILiquidityHub.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {DataTypes} from 'src/libraries/types/DataTypes.sol';
1212
interface ILiquidityHub {
1313
event SpokeAdded(uint256 indexed assetId, address indexed spoke);
1414
event AssetAdded(uint256 indexed assetId, address indexed asset);
15-
event AssetConfigUpdated(uint256 indexed assetId);
15+
event AssetConfigUpdated(uint256 indexed assetId, DataTypes.AssetConfig config);
1616
event SpokeConfigUpdated(
1717
uint256 indexed assetId,
1818
address indexed spoke,

tests/unit/LiquidityHub/LiquidityHub.Config.t.sol

Lines changed: 44 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,16 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
9393

9494
config.paused = true;
9595

96-
hub.updateAssetConfig(daiAssetId, config);
96+
vm.expectEmit(address(hub));
97+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
9798
vm.prank(HUB_ADMIN);
99+
hub.updateAssetConfig(daiAssetId, config);
98100
assertEq(hub.getAssetConfig(daiAssetId).paused, true, 'asset paused');
99101

100102
config.paused = false;
101103

104+
vm.expectEmit(address(hub));
105+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
102106
vm.prank(HUB_ADMIN);
103107
hub.updateAssetConfig(daiAssetId, config);
104108
assertEq(hub.getAssetConfig(daiAssetId).paused, false, 'asset un-paused');
@@ -108,6 +112,8 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
108112
DataTypes.AssetConfig memory config = hub.getAssetConfig(daiAssetId);
109113
config.paused = paused;
110114

115+
vm.expectEmit(address(hub));
116+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
111117
vm.prank(HUB_ADMIN);
112118
hub.updateAssetConfig(daiAssetId, config);
113119
assertEq(hub.getAssetConfig(daiAssetId).paused, paused, 'asset paused');
@@ -119,12 +125,16 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
119125

120126
config.frozen = true;
121127

128+
vm.expectEmit(address(hub));
129+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
122130
vm.prank(HUB_ADMIN);
123131
hub.updateAssetConfig(daiAssetId, config);
124132
assertEq(hub.getAssetConfig(daiAssetId).frozen, true, 'asset frozen');
125133

126134
config.frozen = false;
127135

136+
vm.expectEmit(address(hub));
137+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
128138
vm.prank(HUB_ADMIN);
129139
hub.updateAssetConfig(daiAssetId, config);
130140
assertEq(hub.getAssetConfig(daiAssetId).frozen, false, 'asset un-frozen');
@@ -134,6 +144,8 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
134144
DataTypes.AssetConfig memory config = hub.getAssetConfig(daiAssetId);
135145
config.frozen = frozen;
136146

147+
vm.expectEmit(address(hub));
148+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
137149
vm.prank(HUB_ADMIN);
138150
hub.updateAssetConfig(daiAssetId, config);
139151
assertEq(hub.getAssetConfig(daiAssetId).frozen, frozen, 'asset frozen');
@@ -145,12 +157,16 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
145157

146158
config.active = false;
147159

160+
vm.expectEmit(address(hub));
161+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
148162
vm.prank(HUB_ADMIN);
149163
hub.updateAssetConfig(daiAssetId, config);
150164
assertEq(hub.getAssetConfig(daiAssetId).active, false, 'asset not active');
151165

152166
config.active = true;
153167

168+
vm.expectEmit(address(hub));
169+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
154170
vm.prank(HUB_ADMIN);
155171
hub.updateAssetConfig(daiAssetId, config);
156172
assertEq(hub.getAssetConfig(daiAssetId).active, true, 'asset active');
@@ -160,6 +176,8 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
160176
DataTypes.AssetConfig memory config = hub.getAssetConfig(daiAssetId);
161177
config.active = active;
162178

179+
vm.expectEmit(address(hub));
180+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
163181
vm.prank(HUB_ADMIN);
164182
hub.updateAssetConfig(daiAssetId, config);
165183
assertEq(hub.getAssetConfig(daiAssetId).active, active, 'asset active');
@@ -173,6 +191,8 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
173191

174192
config.decimals = newDecimals;
175193

194+
vm.expectEmit(address(hub));
195+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
176196
vm.prank(HUB_ADMIN);
177197
hub.updateAssetConfig(daiAssetId, config);
178198

@@ -187,6 +207,8 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
187207

188208
config.decimals = newDecimals;
189209

210+
vm.expectEmit(address(hub));
211+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
190212
vm.prank(HUB_ADMIN);
191213
hub.updateAssetConfig(daiAssetId, config);
192214

@@ -251,6 +273,8 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
251273

252274
config.irStrategy = newIrStrategy;
253275

276+
vm.expectEmit(address(hub));
277+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
254278
vm.prank(HUB_ADMIN);
255279
hub.updateAssetConfig(daiAssetId, config);
256280

@@ -269,6 +293,8 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
269293

270294
config.irStrategy = newIrStrategy;
271295

296+
vm.expectEmit(address(hub));
297+
emit ILiquidityHub.AssetConfigUpdated(daiAssetId, config);
272298
vm.prank(HUB_ADMIN);
273299
hub.updateAssetConfig(daiAssetId, config);
274300

@@ -352,27 +378,28 @@ contract LiquidityHubConfigTest is LiquidityHubBase {
352378
}
353379

354380
function test_addAsset() public {
381+
DataTypes.AssetConfig memory config = DataTypes.AssetConfig({
382+
decimals: 18,
383+
active: true,
384+
frozen: false,
385+
paused: false,
386+
irStrategy: irStrategy
387+
});
388+
355389
vm.prank(HUB_ADMIN);
356390
vm.expectEmit(address(hub));
357391
emit ILiquidityHub.AssetAdded(hub.assetCount(), address(tokenList.dai));
358-
hub.addAsset(
359-
DataTypes.AssetConfig({
360-
decimals: 18,
361-
active: true,
362-
frozen: false,
363-
paused: false,
364-
irStrategy: irStrategy
365-
}),
366-
address(tokenList.dai)
367-
);
392+
vm.expectEmit(address(hub));
393+
emit ILiquidityHub.AssetConfigUpdated(hub.assetCount(), config);
394+
hub.addAsset(config, address(tokenList.dai));
368395

369396
uint256 assetId = hub.assetCount() - 1;
370-
DataTypes.AssetConfig memory config = hub.getAssetConfig(assetId);
371-
assertEq(config.decimals, 18, 'asset decimals');
372-
assertEq(config.active, true, 'asset active');
373-
assertEq(config.frozen, false, 'asset frozen');
374-
assertEq(config.paused, false, 'asset paused');
375-
assertEq(address(config.irStrategy), address(irStrategy), 'asset irStrategy');
397+
DataTypes.AssetConfig memory actualConfig = hub.getAssetConfig(assetId);
398+
assertEq(config.decimals, actualConfig.decimals, 'asset decimals');
399+
assertEq(config.active, actualConfig.active, 'asset active');
400+
assertEq(config.frozen, actualConfig.frozen, 'asset frozen');
401+
assertEq(config.paused, actualConfig.paused, 'asset paused');
402+
assertEq(address(config.irStrategy), address(actualConfig.irStrategy), 'asset irStrategy');
376403
}
377404

378405
function test_addAsset_fuzz(DataTypes.AssetConfig memory newConfig, address asset) public {

0 commit comments

Comments
 (0)