Commit dfa735c5 authored by Ralph Pichler's avatar Ralph Pichler Committed by GitHub

add configuration for goerli (#736)

parent 7b42ae38
......@@ -175,15 +175,22 @@ func NewBee(addr string, swarmAddress swarm.Address, keystore keystore.Service,
return nil, err
}
// TODO: factory address discovery for well-known networks (goerli for beta)
var factoryAddress common.Address
if o.SwapFactoryAddress == "" {
return nil, errors.New("no known factory address")
var found bool
factoryAddress, found = chequebook.DiscoverFactoryAddress(chainID.Int64())
if !found {
return nil, errors.New("no known factory address")
}
logger.Infof("using default factory address for chain id %d: %x", chainID, factoryAddress)
} else if !common.IsHexAddress(o.SwapFactoryAddress) {
return nil, errors.New("invalid factory address")
} else {
factoryAddress = common.HexToAddress(o.SwapFactoryAddress)
logger.Infof("using custom factory address: %x", factoryAddress)
}
chequebookFactory, err := chequebook.NewFactory(swapBackend, transactionService, common.HexToAddress(o.SwapFactoryAddress), chequebook.NewSimpleSwapFactoryBindingFunc)
chequebookFactory, err := chequebook.NewFactory(swapBackend, transactionService, factoryAddress, chequebook.NewSimpleSwapFactoryBindingFunc)
if err != nil {
return nil, err
}
......
......@@ -156,3 +156,12 @@ func (c *factory) ERC20Address(ctx context.Context) (common.Address, error) {
}
return erc20Address, nil
}
// DiscoverFactoryAddress returns the canonical factory for this chainID
func DiscoverFactoryAddress(chainID int64) (common.Address, bool) {
if chainID == 5 {
// goerli
return common.HexToAddress("0x334394E8c891E77b1449084aaDD659920BB25247"), true
}
return common.Address{}, false
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment