[market] Remove old getHost() overload
Is superseded by the new overload that includes a slot id parameter.
This commit is contained in:
parent
698baeef35
commit
04e0c54e95
|
@ -42,19 +42,21 @@ method getRequest(market: OnChainMarket,
|
|||
else:
|
||||
return none StorageRequest
|
||||
|
||||
method getHost(market: OnChainMarket,
|
||||
id: array[32, byte]): Future[?Address] {.async.} =
|
||||
let address = await market.contract.getHost(id)
|
||||
if address != Address.default:
|
||||
return some address
|
||||
else:
|
||||
return none Address
|
||||
|
||||
method fulfillRequest(market: OnChainMarket,
|
||||
requestId: array[32, byte],
|
||||
proof: seq[byte]) {.async.} =
|
||||
await market.contract.fulfillRequest(requestId, proof)
|
||||
|
||||
method getHost(market: OnChainMarket,
|
||||
requestId: array[32, byte],
|
||||
slotIndex: UInt256): Future[?Address] {.async.} =
|
||||
let slotId = slotId(requestId, slotIndex)
|
||||
let address = await market.contract.getHost(slotId)
|
||||
if address != Address.default:
|
||||
return some address
|
||||
else:
|
||||
return none Address
|
||||
|
||||
method fillSlot(market: OnChainMarket,
|
||||
requestId: array[32, byte],
|
||||
slotIndex: UInt256,
|
||||
|
|
|
@ -120,9 +120,12 @@ func id*(request: StorageRequest): array[32, byte] =
|
|||
let encoding = AbiEncoder.encode((request, ))
|
||||
keccak256.digest(encoding).data
|
||||
|
||||
func slotId*(request: StorageRequest, slot: UInt256): array[32, byte] =
|
||||
let encoding = AbiEncoder.encode((request.id, slot))
|
||||
func slotId*(requestId: array[32, byte], slot: UInt256): array[32, byte] =
|
||||
let encoding = AbiEncoder.encode((requestId, slot))
|
||||
keccak256.digest(encoding).data
|
||||
|
||||
func slotId*(request: StorageRequest, slot: UInt256): array[32, byte] =
|
||||
slotId(request.id, slot)
|
||||
|
||||
func price*(request: StorageRequest): UInt256 =
|
||||
request.ask.slots.u256 * request.ask.duration * request.ask.reward
|
||||
|
|
|
@ -27,10 +27,6 @@ method getRequest*(market: Market,
|
|||
Future[?StorageRequest] {.base, async.} =
|
||||
raiseAssert("not implemented")
|
||||
|
||||
method getHost*(market: Market,
|
||||
requestId: array[32, byte]): Future[?Address] {.base, async.} =
|
||||
raiseAssert("not implemented")
|
||||
|
||||
method fulfillRequest*(market: Market,
|
||||
requestId: array[32, byte],
|
||||
proof: seq[byte]) {.base, async.} =
|
||||
|
|
|
@ -58,13 +58,6 @@ method getRequest(market: MockMarket,
|
|||
return some request
|
||||
return none StorageRequest
|
||||
|
||||
method getHost(market: MockMarket,
|
||||
id: array[32, byte]): Future[?Address] {.async.} =
|
||||
for fulfillment in market.fulfilled:
|
||||
if fulfillment.requestId == id:
|
||||
return some fulfillment.host
|
||||
return none Address
|
||||
|
||||
proc fulfillRequest*(market: MockMarket,
|
||||
requestId: array[32, byte],
|
||||
proof: seq[byte],
|
||||
|
|
|
@ -77,9 +77,9 @@ ethersuite "On-Chain Market":
|
|||
test "can retrieve host that filled slot":
|
||||
await token.approve(storage.address, request.price)
|
||||
discard await market.requestStorage(request)
|
||||
check (await market.getHost(request.slotId(slotIndex))) == none Address
|
||||
check (await market.getHost(request.id, slotIndex)) == none Address
|
||||
await market.fillSlot(request.id, slotIndex, proof)
|
||||
check (await market.getHost(request.slotId(slotIndex))) == some accounts[0]
|
||||
check (await market.getHost(request.id, slotIndex)) == some accounts[0]
|
||||
|
||||
test "support fulfillment subscriptions":
|
||||
await token.approve(storage.address, request.price)
|
||||
|
|
Loading…
Reference in New Issue