func SetupSimulatedClient(gasLimit uint64) (*backends.SimulatedBackend, *bind.TransactOpts) {
	key, _ := crypto.GenerateKey()  
	auth := bind.NewKeyedTransactor(key)
	genAlloc := make(core.GenesisAlloc)
	genAlloc[auth.From] = core.GenesisAccount{Balance: big.NewInt(9223372036854775807)}
	sim := backends.NewSimulatedBackend(genAlloc, gasLimit)
	return sim, auth
}
// SetupRinkebyClient returns an instance of the ethclient setup on Rinkeby
func SetupRinkebyClient() (*ethclient.Client, error) {
client, err := ethclient.Dial(rinkebyAddress)
if err != nil {
return nil, err
}
return client, nil
}
SetupSimulatedClient returns an an instance of the simulated backend.
package contractutils
import (
	"math/big"
	"regexp"
	"strings"
	log "github.com/golang/glog"
	"github.com/ethereum/go-ethereum/accounts/abi"
	"github.com/ethereum/go-ethereum/accounts/abi/bind"
	"github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
	"github.com/ethereum/go-ethereum/common"
	"github.com/ethereum/go-ethereum/core"
	"github.com/ethereum/go-ethereum/core/types"
	"github.com/ethereum/go-ethereum/crypto"
	"github.com/joincivil/go-common/pkg/eth"
	"github.com/joincivil/go-common/pkg/generated/contract"
)
const (
	gasLimit = uint64(8000000000000)
	minDeposit                         = 10
	pMinDeposit                        = 100
	pDeposit                           = 150
	applyStageLength                   = 0  
	pApplyStageLength                  = 120
	commitStageLength                  = 18000
	pCommitStageLength                 = 120
	revealStageLength                  = 18000
	pRevealStageLength                 = 120
	dispensationPct                    = 50
	pDispensationPct                   = 50
	voteQuorum                         = 50
	pVoteQuorum                        = 50
	pProcessBy                         = 18000
	appealFeeAmount                    = 1000
	challengeAppealLength              = 18000
	requestAppealPhaseLength           = 36000
	judgeAppealPhaseLength             = 36000
	appealChallengeCommitStageLength   = 16000
	appealChallengeRevealStageLength   = 16000
	appealSupermajorityPercentage      = 66
	appealChallengeVoteDispensationPct = 66
)