11import { expect } from "chai" ;
22import { deployments , ethers , getNamedAccounts , network } from "hardhat" ;
3- import { BigNumber , utils } from "ethers" ;
3+ import { BigNumber } from "ethers" ;
44import {
5- BlockHashRNG ,
65 PNK ,
76 KlerosCore ,
87 ForeignGatewayOnEthereum ,
98 ArbitrableExample ,
109 HomeGatewayToEthereum ,
1110 VeaMock ,
1211 DisputeKitClassic ,
12+ RandomizerRNG ,
13+ RandomizerMock ,
1314} from "../../typechain-types" ;
1415
1516/* eslint-disable no-unused-vars */
@@ -41,7 +42,7 @@ describe("Integration tests", async () => {
4142 }
4243
4344 let deployer ;
44- let rng , disputeKit , pnk , core , vea , foreignGateway , arbitrable , homeGateway ;
45+ let rng , randomizer , disputeKit , pnk , core , vea , foreignGateway , arbitrable , homeGateway ;
4546
4647 beforeEach ( "Setup" , async ( ) => {
4748 ( { deployer } = await getNamedAccounts ( ) ) ;
@@ -53,7 +54,8 @@ describe("Integration tests", async () => {
5354 fallbackToGlobal : true ,
5455 keepExistingDeployments : false ,
5556 } ) ;
56- rng = ( await ethers . getContract ( "BlockHashRNG" ) ) as BlockHashRNG ;
57+ rng = ( await ethers . getContract ( "RandomizerRNG" ) ) as RandomizerRNG ;
58+ randomizer = ( await ethers . getContract ( "RandomizerMock" ) ) as RandomizerMock ;
5759 disputeKit = ( await ethers . getContract ( "DisputeKitClassic" ) ) as DisputeKitClassic ;
5860 pnk = ( await ethers . getContract ( "PNK" ) ) as PNK ;
5961 core = ( await ethers . getContract ( "KlerosCore" ) ) as KlerosCore ;
@@ -63,18 +65,6 @@ describe("Integration tests", async () => {
6365 homeGateway = ( await ethers . getContract ( "HomeGatewayToEthereum" ) ) as HomeGatewayToEthereum ;
6466 } ) ;
6567
66- it ( "RNG" , async ( ) => {
67- let tx = await rng . receiveRandomness ( 9876543210 ) ;
68- let trace = await network . provider . send ( "debug_traceTransaction" , [ tx . hash ] ) ;
69- let [ rn ] = ethers . utils . defaultAbiCoder . decode ( [ "uint" ] , `0x${ trace . returnValue } ` ) ;
70- expect ( rn ) . to . equal ( 0 ) ; // requested a block number in the future, so return 0.
71-
72- tx = await rng . receiveRandomness ( 5 ) ;
73- trace = await network . provider . send ( "debug_traceTransaction" , [ tx . hash ] ) ;
74- [ rn ] = ethers . utils . defaultAbiCoder . decode ( [ "uint" ] , `0x${ trace . returnValue } ` ) ;
75- expect ( rn ) . to . not . equal ( 0 ) ; // requested a block number in the past, so return non-zero.
76- } ) ;
77-
7868 it ( "Honest Claim - No Challenge - Bridger paid" , async ( ) => {
7969 const arbitrationCost = ONE_TENTH_ETH . mul ( 3 ) ;
8070 const [ bridger , challenger , relayer ] = await ethers . getSigners ( ) ;
@@ -153,7 +143,8 @@ describe("Integration tests", async () => {
153143 expect ( await disputeKit . phase ( ) ) . to . equal ( DisputeKitPhase . generating ) ;
154144 console . log ( "KC phase: %d, DK phase: " , await core . phase ( ) , await disputeKit . phase ( ) ) ;
155145
156- await mineBlocks ( 20 ) ; // Wait for RNG lookahead
146+ await mineBlocks ( 20 ) ; // Wait for RNG lookahead, TODO: remove this for RandomizerRNG
147+ await randomizer . relay ( rng . address , 0 , ethers . utils . randomBytes ( 32 ) ) ;
157148 await disputeKit . passPhase ( ) ; // Generating -> Drawing
158149 expect ( await disputeKit . phase ( ) ) . to . equal ( DisputeKitPhase . drawing ) ;
159150 console . log ( "KC phase: %d, DK phase: " , await core . phase ( ) , await disputeKit . phase ( ) ) ;
0 commit comments