Fix transaction boundary in `updateAsset`