aboutsummaryrefslogtreecommitdiffstats
path: root/swarm/services/swap
diff options
context:
space:
mode:
authorholisticode <holistic.computing@gmail.com>2017-12-12 05:56:06 +0800
committerFelix Lange <fjl@users.noreply.github.com>2017-12-12 05:56:06 +0800
commit32516c768ec09e2a71cab5983d2c8b8ae5d92fc7 (patch)
tree9f02126fd6f219163776ad1ab8a8b924a32811a4 /swarm/services/swap
parent1a32bdf92cceb7a42e5636e12d95609e17b8f786 (diff)
downloaddexon-32516c768ec09e2a71cab5983d2c8b8ae5d92fc7.tar.gz
dexon-32516c768ec09e2a71cab5983d2c8b8ae5d92fc7.tar.zst
dexon-32516c768ec09e2a71cab5983d2c8b8ae5d92fc7.zip
cmd/swarm: add config file (#15548)
This commit adds a TOML configuration option to swarm. It reuses the TOML configuration structure used in geth with swarm customized items. The commit: * Adds a "dumpconfig" command to the swarm executable which allows printing the (default) configuration to stdout, which then can be redirected to a file in order to customize it. * Adds a "--config <file>" option to the swarm executable which will allow to load a configuration file in TOML format from the specified location in order to initialize the Swarm node The override priorities are like follows: environment variables override command line arguments override config file override default config.
Diffstat (limited to 'swarm/services/swap')
-rw-r--r--swarm/services/swap/swap.go28
1 files changed, 18 insertions, 10 deletions
diff --git a/swarm/services/swap/swap.go b/swarm/services/swap/swap.go
index 093892e8d..1f9b22b90 100644
--- a/swarm/services/swap/swap.go
+++ b/swarm/services/swap/swap.go
@@ -80,17 +80,10 @@ type PayProfile struct {
lock sync.RWMutex
}
-func DefaultSwapParams(contract common.Address, prvkey *ecdsa.PrivateKey) *SwapParams {
- pubkey := &prvkey.PublicKey
+//create params with default values
+func NewDefaultSwapParams() *SwapParams {
return &SwapParams{
- PayProfile: &PayProfile{
- PublicKey: common.ToHex(crypto.FromECDSAPub(pubkey)),
- Contract: contract,
- Beneficiary: crypto.PubkeyToAddress(*pubkey),
- privateKey: prvkey,
- publicKey: pubkey,
- owner: crypto.PubkeyToAddress(*pubkey),
- },
+ PayProfile: &PayProfile{},
Params: &swap.Params{
Profile: &swap.Profile{
BuyAt: buyAt,
@@ -109,6 +102,21 @@ func DefaultSwapParams(contract common.Address, prvkey *ecdsa.PrivateKey) *SwapP
}
}
+//this can only finally be set after all config options (file, cmd line, env vars)
+//have been evaluated
+func (self *SwapParams) Init(contract common.Address, prvkey *ecdsa.PrivateKey) {
+ pubkey := &prvkey.PublicKey
+
+ self.PayProfile = &PayProfile{
+ PublicKey: common.ToHex(crypto.FromECDSAPub(pubkey)),
+ Contract: contract,
+ Beneficiary: crypto.PubkeyToAddress(*pubkey),
+ privateKey: prvkey,
+ publicKey: pubkey,
+ owner: crypto.PubkeyToAddress(*pubkey),
+ }
+}
+
// swap constructor, parameters
// * global chequebook, assume deployed service and
// * the balance is at buffer.