MCPcopy Create free account
hub / github.com/crytic/attacknet / loadEnclaveFromExistingDevnet

Function loadEnclaveFromExistingDevnet

pkg/runtime/runtime.go:33–58  ·  view source on GitHub ↗
(ctx context.Context, cfg *types.ConfigParsed)

Source from the content-addressed store, hash-verified

31}
32
33func loadEnclaveFromExistingDevnet(ctx context.Context, cfg *types.ConfigParsed) (enclave *kurtosis.EnclaveContextWrapper, err error) {
34 kurtosisCtx, err := kurtosis.GetKurtosisContext()
35 if err != nil {
36 return nil, err
37 }
38
39 namespace := cfg.AttacknetConfig.ExistingDevnetNamespace
40 logrus.Infof("Looking for existing enclave identified by namespace %s", namespace)
41 enclaveCtx, enclaveCreated, err := kurtosis.CreateOrImportContext(ctx, kurtosisCtx, cfg)
42 if err != nil {
43 return nil, err
44 }
45
46 if enclaveCreated {
47 // we need to genesis a new devnet regardless
48 logrus.Info("Since we created a new kurtosis enclave, we must now genesis the blockchain.")
49 err = kurtosis.StartNetwork(ctx, enclaveCtx, cfg.HarnessConfig)
50 if err != nil {
51 return nil, err
52 }
53 } else {
54 logrus.Infof("An active enclave matching %s was found", namespace)
55 }
56
57 return enclaveCtx, nil
58}
59
60func SetupEnclave(ctx context.Context, cfg *types.ConfigParsed) (enclave *kurtosis.EnclaveContextWrapper, err error) {
61 if cfg.AttacknetConfig.ExistingDevnetNamespace == "" {

Callers 1

SetupEnclaveFunction · 0.85

Calls 3

GetKurtosisContextFunction · 0.92
CreateOrImportContextFunction · 0.92
StartNetworkFunction · 0.92

Tested by

no test coverage detected