diff --git a/archivist/archivist.nim b/archivist/archivist.nim index 7ee165e5..9557e202 100644 --- a/archivist/archivist.nim +++ b/archivist/archivist.nim @@ -68,7 +68,10 @@ proc connectMarketplace(s: NodeServer) {.async.} = datastore = s.repoStore.metaDs, storage = MarketplaceStorage.new(s.repoStore), options = MarketplaceOptions( + marketplaceAddress: config.marketplaceAddress, + rewardRecipient: config.rewardRecipient, maxPriorityFeePerGas: config.maxPriorityFeePerGas, + requestCacheSize: config.marketplaceRequestCacheSize, validationEnabled: config.validator, validationMaxSlots: some config.validatorMaxSlots, validationGroups: config.validatorGroups, diff --git a/archivist/conf.nim b/archivist/conf.nim index 2f9ffa5e..73549e84 100644 --- a/archivist/conf.nim +++ b/archivist/conf.nim @@ -289,13 +289,6 @@ type name: "eth-provider" .}: string - ethAccount* {. - desc: "The Ethereum account that is used for storage contracts", - defaultValue: EthAddress.none, - defaultValueDesc: "", - name: "eth-account" - .}: Option[EthAddress] - ethPrivateKey* {. desc: "File containing Ethereum private key for storage contracts", defaultValue: string.none, diff --git a/tests/integration/1_minute/testcli.nim b/tests/integration/5_minutes/testcli.nim similarity index 89% rename from tests/integration/1_minute/testcli.nim rename to tests/integration/5_minutes/testcli.nim index 5031bfa1..c1b5d287 100644 --- a/tests/integration/1_minute/testcli.nim +++ b/tests/integration/5_minutes/testcli.nim @@ -79,9 +79,16 @@ suite "Command line interface": .waitForOutput(expectedOutput) .start() + test "warns about invalid marketplace address": + discard await testbed.node + .persistence() + .marketplaceAddress("0xDEADDEADDEADDEADDEADDEADDEADDEADDEADDEAD") + .waitForOutput("Unable to start marketplace") + .start() + test "automatically uses local config.toml": let - expectedOutput = "Persistence enabled, but no Ethereum account was set" + expectedOutput = "Persistence enabled, but no Ethereum private key was set" configFile = "config.toml" content = "persistence=true" diff --git a/tests/testbed.nim b/tests/testbed.nim index 2f484ccf..45ae7593 100644 --- a/tests/testbed.nim +++ b/tests/testbed.nim @@ -26,6 +26,7 @@ export node.log export node.persistence export node.ethPrivateKey export node.noEthPrivateKey +export node.marketplaceAddress export node.circomR1cs export node.noCircomR1cs export node.circomWasm diff --git a/tests/testbed/builders/node.nim b/tests/testbed/builders/node.nim index 93b59863..6a743bc9 100644 --- a/tests/testbed/builders/node.nim +++ b/tests/testbed/builders/node.nim @@ -27,6 +27,7 @@ type NodeBuilder = ref object logTopics: seq[string] persistence: bool ethPrivateKey: ? ?string + marketplaceAddress: ?string validator: bool validatorGroups: ?int validatorGroupIndex: ?int @@ -93,6 +94,10 @@ func noEthPrivateKey*(builder: NodeBuilder): NodeBuilder = builder.ethPrivateKey = some none string builder +func marketplaceAddress*(builder: NodeBuilder, address: string): NodeBuilder = + builder.marketplaceAddress = some address + builder + func validator*(builder: NodeBuilder): NodeBuilder = builder.persistence = true builder.validator = true @@ -246,6 +251,8 @@ proc start*(builder: NodeBuilder): Future[Node] {.async.} = arguments.add("--eth-provider=" & builder.testbed.hardhatInstance.jsonRpcUrl) if ethPrivateKey =? builder.ethPrivateKeyResolved: arguments.add("--eth-private-key=" & ethPrivateKey) + if marketplaceAddress =? builder.marketplaceAddress: + arguments.add("--marketplace-address=" & marketplaceAddress) if builder.validator: arguments.add("--validator") if groups =? builder.validatorGroups: