func New(name string, nodes []*Process_Node, edges []*Process_Edge, paymentAddress sdk.AccAddress) (*Process, error) {
	p := &Process{
		Name:  name,
		Nodes: nodes,
		Edges: edges,
	}
	p.Hash = hash.Dump(p)
	p.Address = sdk.AccAddress(crypto.AddressHash(p.Hash))
	p.PaymentAddress = paymentAddress
	return p, p.Validate()
}
New returns a new process and validate it.
package process
import (
	"fmt"
	sdk "github.com/cosmos/cosmos-sdk/types"
	"github.com/mesg-foundation/engine/ext/xvalidator"
	"github.com/mesg-foundation/engine/hash"
	"github.com/mesg-foundation/engine/protobuf/types"
	"github.com/tendermint/tendermint/crypto"
)