/
challenge.py
33 lines (29 loc) · 952 Bytes
/
challenge.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from anvil_server.socket import (
CreateInstanceRequest,
CreateInstanceResponse,
UnixClient,
)
from eth_launchers.launcher import ETH_RPC_URL
from eth_launchers.pwn_launcher import PwnChallengeLauncher
from eth_launchers.team_provider import get_team_provider
from foundry.anvil import LaunchAnvilInstanceArgs
class Challenge(PwnChallengeLauncher):
def create_instance(self, client: UnixClient) -> CreateInstanceResponse:
return client.create_instance(
CreateInstanceRequest(
id=self.team,
instances={
"main": LaunchAnvilInstanceArgs(
balance=1000,
fork_url=ETH_RPC_URL,
),
},
daemons=[
"/home/user/watcher.py",
],
)
)
Challenge(
project_location="project",
provider=get_team_provider(),
).run()