• Matthew Slipper's avatar
    op-bindings: Add storage layout generation (#3351) · ec6b05d0
    Matthew Slipper authored
    * op-bindings: Add storage layout generation
    
    * semgrep
    
    * add forgotten files
    
    * fix op-node, remove deprecated script
    
    * Remove deployed
    
    * Remove targets
    
    * go mod tidy
    
    * goimports
    
    * imports
    
    * devnet fix
    
    * parallelize bindgen, fix diff
    ec6b05d0
utils.go 680 Bytes
package hardhat

import "strings"

type QualifiedName struct {
	SourceName   string
	ContractName string
}

func ParseFullyQualifiedName(name string) QualifiedName {
	names := strings.Split(name, ":")
	if len(names) == 1 {
		return QualifiedName{
			SourceName:   "",
			ContractName: names[0],
		}
	}

	contractName := names[len(names)-1]
	sourceName := strings.Join(names[0:len(names)-1], ":")

	return QualifiedName{
		ContractName: contractName,
		SourceName:   sourceName,
	}
}

func GetFullyQualifiedName(sourceName, contractName string) string {
	return sourceName + ":" + contractName
}

func IsFullyQualifiedName(name string) bool {
	return strings.Contains(name, ":")
}