mirror of
https://github.com/logos-storage/logos-storage-network-crawler.git
synced 2026-01-07 16:03:08 +00:00
converts to application component
This commit is contained in:
parent
b3e147ace1
commit
ce3e53949b
@ -17,9 +17,6 @@ import ./components/todolist
|
|||||||
|
|
||||||
proc createComponents*(state: State): Future[?!seq[Component]] {.async.} =
|
proc createComponents*(state: State): Future[?!seq[Component]] {.async.} =
|
||||||
var components: seq[Component] = newSeq[Component]()
|
var components: seq[Component] = newSeq[Component]()
|
||||||
|
|
||||||
await aaa(state.config)
|
|
||||||
|
|
||||||
let clock = createClock()
|
let clock = createClock()
|
||||||
|
|
||||||
without dht =? (await createDht(state)), err:
|
without dht =? (await createDht(state)), err:
|
||||||
@ -31,6 +28,7 @@ proc createComponents*(state: State): Future[?!seq[Component]] {.async.} =
|
|||||||
let
|
let
|
||||||
metrics = createMetrics(state.config.metricsAddress, state.config.metricsPort)
|
metrics = createMetrics(state.config.metricsAddress, state.config.metricsPort)
|
||||||
todoList = createTodoList(state, metrics)
|
todoList = createTodoList(state, metrics)
|
||||||
|
marketplace = createMarketplace(state)
|
||||||
|
|
||||||
without dhtMetrics =? createDhtMetrics(state, metrics), err:
|
without dhtMetrics =? createDhtMetrics(state, metrics), err:
|
||||||
return failure(err)
|
return failure(err)
|
||||||
@ -41,5 +39,6 @@ proc createComponents*(state: State): Future[?!seq[Component]] {.async.} =
|
|||||||
components.add(Crawler.new(state, dht, todoList))
|
components.add(Crawler.new(state, dht, todoList))
|
||||||
components.add(TimeTracker.new(state, nodeStore, dht, clock))
|
components.add(TimeTracker.new(state, nodeStore, dht, clock))
|
||||||
components.add(dhtMetrics)
|
components.add(dhtMetrics)
|
||||||
|
components.add(marketplace)
|
||||||
|
|
||||||
return success(components)
|
return success(components)
|
||||||
|
|||||||
@ -4,27 +4,50 @@ import pkg/questionable
|
|||||||
import ./marketplace/market
|
import ./marketplace/market
|
||||||
import ./marketplace/marketplace
|
import ./marketplace/marketplace
|
||||||
import ../config
|
import ../config
|
||||||
|
import ../component
|
||||||
|
import ../state
|
||||||
|
|
||||||
proc aaa*(config: Config) {.async.} =
|
logScope:
|
||||||
echo "aaa"
|
topics = "marketplace"
|
||||||
|
|
||||||
let provider = JsonRpcProvider.new(config.ethProvider)
|
type
|
||||||
without marketplaceAddress =? Address.init(config.marketplaceAddress):
|
MarketplaceService* = ref object of Component
|
||||||
raiseAssert("A!")
|
state: State
|
||||||
|
market: ?OnChainMarket
|
||||||
|
|
||||||
|
method getZkeyhash*(m: MarketplaceService): Future[?!string] {.async: (raises: []), base.} =
|
||||||
|
try:
|
||||||
|
if market =? m.market:
|
||||||
|
without zkeyhash =? await market.getZkeyHash():
|
||||||
|
return failure("Failed to get zkeyHash")
|
||||||
|
return success(zkeyhash)
|
||||||
|
return failure("MarketplaceService is not started")
|
||||||
|
except CatchableError as err:
|
||||||
|
return failure("Error while getting zkeyHash: " & err.msg)
|
||||||
|
|
||||||
|
method start*(m: MarketplaceService): Future[?!void] {.async.} =
|
||||||
|
let provider = JsonRpcProvider.new(m.state.config.ethProvider)
|
||||||
|
without marketplaceAddress =? Address.init(m.state.config.marketplaceAddress):
|
||||||
|
return failure("Invalid MarketplaceAddress provided")
|
||||||
|
|
||||||
let marketplace = Marketplace.new(marketplaceAddress, provider)
|
let marketplace = Marketplace.new(marketplaceAddress, provider)
|
||||||
let market = OnChainMarket.new(marketplace)
|
m.market = some(OnChainMarket.new(marketplace))
|
||||||
|
|
||||||
echo "bbb"
|
return success()
|
||||||
echo "running with marketplace address: " & $marketplaceAddress
|
|
||||||
|
|
||||||
try:
|
method stop*(m: MarketplaceService): Future[?!void] {.async.} =
|
||||||
without zkeyhash =? await market.getZkeyHash():
|
return success()
|
||||||
echo "couldn't get zkeyhash"
|
|
||||||
return
|
|
||||||
echo "zkeyhash=" & $zkeyhash
|
|
||||||
|
|
||||||
except CatchableError as err:
|
proc new(
|
||||||
echo "catchable error! " & err.msg
|
T: type MarketplaceService,
|
||||||
|
state: State
|
||||||
|
): MarketplaceService =
|
||||||
|
return MarketplaceService(
|
||||||
|
state: state,
|
||||||
|
market: none(OnChainMarket)
|
||||||
|
)
|
||||||
|
|
||||||
echo "ccc"
|
proc createMarketplace*(state: State): MarketplaceService =
|
||||||
|
return MarketplaceService.new(
|
||||||
|
state
|
||||||
|
)
|
||||||
|
|||||||
21
tests/codexcrawler/mocks/mockmarketplace.nim
Normal file
21
tests/codexcrawler/mocks/mockmarketplace.nim
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import pkg/ethers
|
||||||
|
import pkg/questionable
|
||||||
|
|
||||||
|
import ./marketplace/market
|
||||||
|
import ./marketplace/marketplace
|
||||||
|
import ../config
|
||||||
|
import ../component
|
||||||
|
import ../state
|
||||||
|
|
||||||
|
logScope:
|
||||||
|
topics = "marketplace"
|
||||||
|
|
||||||
|
type
|
||||||
|
MockMarketplaceService* = ref object of MarketplaceService
|
||||||
|
zkeyHashReturn*: ?!string
|
||||||
|
|
||||||
|
method getZkeyhash*(m: MockMarketplaceService): Future[?!string] {.async: (raises: []).} =
|
||||||
|
return m.zkeyHashReturn
|
||||||
|
|
||||||
|
proc createMockMarketplaceService*(): MockMarketplaceService =
|
||||||
|
MockMarketplaceService()
|
||||||
Loading…
x
Reference in New Issue
Block a user