diff --git a/internal/config/builder.go b/internal/config/builder.go index 6429f24..e22bf45 100644 --- a/internal/config/builder.go +++ b/internal/config/builder.go @@ -59,6 +59,7 @@ func NewBuilder() *Builder { "ship.chain": "chain", "ship.blacklist": "blacklist", "ship.blacklist_is_whitelist": "blacklist-is-whitelist", + "ship.table_deltas": "table-deltas", }, } } diff --git a/internal/config/builder_test.go b/internal/config/builder_test.go index 234776a..b133353 100644 --- a/internal/config/builder_test.go +++ b/internal/config/builder_test.go @@ -127,6 +127,7 @@ func TestBuilder_WithDefaultConfig(t *testing.T) { StartBlockNum: shipclient.NULL_BLOCK_NUMBER, EndBlockNum: shipclient.NULL_BLOCK_NUMBER, MaxMessagesInFlight: 10, + EnableTableDeltas: true, }, Redis: RedisConfig{ Addr: "127.0.0.1:6379", @@ -174,6 +175,7 @@ func TestBuilder_Flags(t *testing.T) { require.NoError(t, flags.Set("chain", "wax")) require.NoError(t, flags.Set("blacklist", "contract:action1,contract:action2,contract2:action1")) require.NoError(t, flags.Set("blacklist-is-whitelist", "true")) + require.NoError(t, flags.Set("table-deltas", "false")) cfg, err := NewBuilder(). SetSource(bytes.NewReader([]byte(``))). diff --git a/internal/config/cli.go b/internal/config/cli.go index e5e12db..d4f26ac 100644 --- a/internal/config/cli.go +++ b/internal/config/cli.go @@ -46,6 +46,8 @@ func GetFlags() *pflag.FlagSet { flags.Lookup("start-block").DefValue = "Config value, cache, head from api" flags.Lookup("end-block").DefValue = "none" + flags.Bool("table-deltas", true, "True if thalos should receive and process table deltas from ship.") + flags.Bool("irreversible-only", false, "Only stream irreversible blocks from ship") flags.Int("max-msg-in-flight", 10, "Maximum messages that can be sent from SHIP without acknowledgement") flags.String("chain", "", "ChainID used in channel namespace, can be any string (default from api)") diff --git a/internal/config/config.go b/internal/config/config.go index e1d815e..feabb87 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -39,6 +39,7 @@ type ShipConfig struct { Chain string `yaml:"chain" mapstructure:"chain"` Blacklist types.Blacklist `yaml:"blacklist" mapstructure:"blacklist"` BlacklistIsWhitelist bool `yaml:"blacklist_is_whitelist" mapstructure:"blacklist_is_whitelist"` + EnableTableDeltas bool `yaml:"table_deltas" mapstructure:"table_deltas"` } type Config struct {