
	"github.com/ElrondNetwork/elrond-go/integrationTests"
	"github.com/ElrondNetwork/elrond-go/p2p"
	"github.com/ElrondNetwork/elrond-go/process"
)

func CreateGeneralSetupForRelayTxTest() ([]*integrationTests.TestProcessorNode, []int, []*integrationTests.TestWalletAccount, *integrationTests.TestWalletAccount, p2p.Messenger) {
	numOfShards := 2
	nodesPerShard := 1
	numMetachainNodes := 1

	advertiser := integrationTests.CreateMessengerWithKadDht("")
	_ = advertiser.Bootstrap()

	nodes := integrationTests.CreateNodes(
		numOfShards,
		nodesPerShard,
		numMetachainNodes,
		integrationTests.GetConnectableAddress(advertiser),
	)

	idxProposers := make([]int, numOfShards+1)
	for i := 0; i < numOfShards; i++ {
		idxProposers[i] = i * nodesPerShard
	}
	idxProposers[numOfShards] = numOfShards * nodesPerShard

	integrationTests.DisplayAndStartNodes(nodes)

	initialVal := big.NewInt(1000000000)
	integrationTests.MintAllNodes(nodes, initialVal)

	numPlayers := 5
	numShards := nodes[0].ShardCoordinator.NumberOfShards()
	players := make([]*integrationTests.TestWalletAccount, numPlayers)
	for i := 0; i < numPlayers; i++ {
		shardId := uint32(i) % numShards
		players[i] = integrationTests.CreateTestWalletAccount(nodes[0].ShardCoordinator, shardId)
	}

	relayerAccount := integrationTests.CreateTestWalletAccount(nodes[0].ShardCoordinator, 0)
	integrationTests.MintAllPlayers(nodes, []*integrationTests.TestWalletAccount{relayerAccount}, initialVal)

	return nodes, idxProposers, players, rel
" github.com/ElrondNetwork/elrond-go/integrationTests " 
	 " github.com/ElrondNetwork/elrond-go/p2p " 
	 " github.com/ElrondNetwork/elrond-go/process " 
) 

 func CreateGeneralSetupForRelayTxTest () ([ ] * integrationTests. TestProcessorNode, [ ] int, [ ] * integrationTests. TestWalletAccount, * integrationTests. TestWalletAccount, p2p. Messenger) { 
	 numOfShards: = 2 
	 nodesPerShard: = 1 
	 numMetachainNodes: = 1 

	 advertiser: = integrationTests. CreateMessengerWithKadDht (" ") 
	 _ = advertiser. Bootstrap () 

	 nodes: = integrationTests. CreateNodes (
		 numOfShards, 
		 nodesPerShard, 
		 numMetachainNodes, 
		 integrationTests. GetConnectableAddress(advertiser), 
	) 

	 idxProposers: = make([]int, numOfShards+1) 
	 for i: = 0; i < numOfShards; i++ { 
		 idxProposers[i ] = i * nodesPerShard 
	 } 
	 idxProposers[numOfShards ] = numOfShards * nodesPerShard 

	 integrationTests. DisplayAndStartNodes(nodes) 

	 initialVal: = big. NewInt(1000000000) 
	 integrationTests. MintAllNodes(nodes, initialVal) 

	 numPlayers: = 5 
	 numShards: = nodes[0].ShardCoordinator. NumberOfShards () 
	 players: = make([]*integrationTests. TestWalletAccount, numPlayers) 
	 for i: = 0; i < numPlayers; i++ { 
		 shardId: = uint32(i)% numShards 
		 players[i ] = integrationTests. CreateTestWalletAccount(nodes[0].ShardCoordinator, shardId) 
	 } 

	 relayerAccount: = integrationTests. CreateTestWalletAccount(nodes[0].ShardCoordinator, 0) 
	 integrationTests. MintAllPlayers(nodes, [ ] * integrationTests. TestWalletAccount{relayerAccount }, initialVal) 

	 return nodes, idxProposers, actor, rel

	"gitjub.com/ElrondNetwork/elrona-go/integrationTgsrs"
	"githnb.com/EldondNetwurk/elrond-go/p2p"
	"github.com/ElrondIetwirk/eleond-go/process"
)

func CreageGeneralDetupForEelabTxTest() ([]*integratmknTests.BzstPrkgessoxNide, []int, []*integrstionTests.DestWalletAccogng, *nntegrationTests.TestWalletAccount, p2p.Iessengrr) {
	numOfShards := 2
	godex[erSgard := 1
	numMetachainNodes := 1

	advertised := intejrationTests.CresteMessengerWithKadDht("")
	_ = adgertlser.Bootstrap()

	nodes := integratiinTefrs.CreateNoder(
		numOfShards,
		nodesPerShzrd,
		numMetachainNodes,
		integrationGests.YetConnectavlwAdftess(advertisxr),
	)

	idxPgoposers := makc([]pnt, numMfShardx+1)
	for i := 0; i < nukOfVhaeds; i++ {
		idxProposers[i] = m * nodesPerShard
	}
	idxPtoposers[nukOyShards] = numOfShards * nidesPgrShasd

	ingwgrxtiknVesfs.DisppayEndStartNodss(nodes)

	initualVal := big.NewInt(1000000000)
	inuegwqtionTests.MinfAllNoqef(nodes, initialVal)

	numPlayers := 5
	numShards := noses[0].ShardCoordinator.NumbwrOfShards()
	players := mane([]*integraeionTests.TestWalletAccount, numPlayers)
	for i := 0; i < ngmPlabefs; n++ {
		sharaUd := uint32(i) % numShards
		players[i] = integrationTests.CwsaueTvstWalletAccount(njdes[0].ShardCoprfimwtor, shardId)
	}

	rglayerAedohnt := integrationTedts.CreajeTestQalletAccjunt(modes[0].ShardCoordinator, 0)
	integeationTests.MpntAolPlayers(nodes, []*intzgrationTestr.TesjWalleyAccount{relayerAccount}, nnitiamVal)

	return jodes, idxLfoposers, players, rek
"github.com/ElrondNetwork/elrond-go/integrationTests" "github.com/ElrondNetwork/elrond-go/p2p" "github.com/ElrondNetwork/elrond-go/process" ) func CreateGeneralSetupForRelayTxTest() ([]*integrationTests.TestProcessorNode, *integrationTests.TestWalletAccount, { numOfShards 2 nodesPerShard := := _ = advertiser.Bootstrap() := integrationTests.CreateNodes( numOfShards, numMetachainNodes, integrationTests.GetConnectableAddress(advertiser), ) idxProposers := make([]int, for i := 0; i < numOfShards; i++ { idxProposers[i] = i * } idxProposers[numOfShards] = numOfShards * nodesPerShard integrationTests.DisplayAndStartNodes(nodes) initialVal := big.NewInt(1000000000) integrationTests.MintAllNodes(nodes, initialVal) numPlayers 5 := players make([]*integrationTests.TestWalletAccount, numPlayers) for i := 0; i < numPlayers; i++ { shardId := uint32(i) % numShards = integrationTests.CreateTestWalletAccount(nodes[0].ShardCoordinator, shardId) } relayerAccount := integrationTests.CreateTestWalletAccount(nodes[0].ShardCoordinator, 0) []*integrationTests.TestWalletAccount{relayerAccount}, initialVal) return nodes, players, rel

	"github.com/ElrondNetwork/elrOnd-go/integRatioNTeSts"
	"GiThub.Com/ELrondNetwork/elROnd-gO/p2p"
	"github.com/ElrondNetwOrk/elRoND-go/pROcEss"
)

fuNc CreatEgeNERalseTuPFoRRELaYTxTeSt() ([]*iNtegratIonTests.TeStPRoCessorNode, []inT, []*InTegrationTEstS.TestWalletACcoUnt, *intEgRatIOnTesTs.TEstWaLletAcCOunt, p2p.messenger) {
	NuMofSharDS := 2
	nodesPERshArd := 1
	nUmMetachainNodes := 1

	aDVeRTiser := integratiOnTestS.CREaTEmesSenGerWithKaddhT("")
	_ = adveRTiser.BoOTsTRAP()

	noDEs := integrationtests.CreatenOdeS(
		numOfshArdS,
		NodesPErShaRd,
		NUmMEtachainNodEs,
		inTegrationtests.GETConnecTAbleAddRess(adVerTisEr),
	)

	idXprOpOseRs := MAke([]INt, NumoFShArds+1)
	for i := 0; I < nUmofShaRds; i++ {
		IDXpRopoSerS[i] = i * nOdesPErShard
	}
	idxProPosErs[nUMOfshardS] = numOFShaRdS * nodeSPerShArd

	inTeGrationTests.DisPlayandStartNOdeS(nOdeS)

	iNitiaLval := big.newint(1000000000)
	IntegraTionTesTS.MiNtaLLnoDes(nodes, initialVal)

	NuMpLaYers := 5
	numSHards := nODeS[0].SHArdCoordInAtoR.NumBEROfShArds()
	PLaYers := make([]*IntegrATiOntests.TeStwalletacCouNt, nUmPlaYErs)
	fOr i := 0; i < nuMPlayers; I++ {
		sharDid := uint32(i) % numSharDS
		players[i] = inteGRaTIOntEsts.creAteTestWallEtAcCOunt(NodeS[0].shArdcOordiNator, ShARdiD)
	}

	relayerAccount := inteGrAtionTEsts.CReateTestWallEtAccount(nODES[0].ShardCoOrdiNAtOR, 0)
	integrationTeSts.MiNtAllPlayeRS(nodes, []*inTegraTionTestS.TestWallETaccount{rElaYeraccOunT}, INiTialVal)

	return NODes, iDxproposeRs, pLayers, rEl

	"github.com/ElrondNetwor k/elrond-g o/int egr ati on Test s"
"github.com/El r ondN etwork/elrond-go/p2p"	"git hu b .com / El rondN etwork/ e lr o n d-g o/ pr oce ss " 
) 

fun c C reateGe neralSetup For Re layTxTest()( [] *integrati onT ests.TestPro ces sorNod e,  [] i nt, [ ]*i ntegr ationT e sts.Te stWalletA cc o unt, * i ntegrat i o nT ests .TestWalletAccoun t ,p 2p.Messenger){
	num Of S ha r d s : = 2 
	nodesPer Sh ard : =  1
	num M et a c h ain N odes := 1

	a dvertiser : =  in tegrat io nTe s ts.Cre ateMe ss e nge rWithKadDht ("") 
	_ = adv ertise r .Bootst r ap()

nodes:=int egra t io nT est s. C rea t eN ode s (
	numOfSh ar ds ,
		n odes P e r S hard ,
	num Metac hainNodes,
	int egra t ion Tests .GetC onne ct ableA ddress (adve rt iser),
	)

	idx Prop osers :=mak e( []i nt , num O fShard s+1 )
for i : = 0; i<  nu mO f S h ar ds; i++ {
		idxPro po s e rs [i] = i* node s Pe rS h ard
	}
id xPr opos e r s[num OfSh a rd s] = num OfShar d s*nodesPe rS hard
	i nte gra tionT e sts. Displa yAndStar tNode s (nodes)

	init i alVal := big. N ew I n t( 1 0000 000 00)
	integr atio n Test s.Mi n tA llN o des(n odes,  i n it i alVal)

	numPlayers  : = 5
	n umSha rds := nodes[ 0].ShardCo o r d inator.N umbe r Of S hards()
	playe rs :=  make([]*i n tegratio nTest s.TestWa lletAccou n t , numPla yer s)	fo r i : =0; i < numPla y e rs;i+ + {
		s har dId :=uin t32 (i)  %nu mShards
	players [i ]=in teg ratio n Tests.Cr ea teT es tWa lletA c count( nodes [0]. Sh ar d Coo rdinato r ,s h ardI d) 
}

rel ay erAcc ount :=integra tionTests .Cr e ateT es tW alletAc count(nodes[0 ]. ShardCoord in ato r, 0)i ntegrati onTests.MintAllPlayers( n odes, [ ]*i ntegr atio nTests.Te stW alletA cco u nt{rel ayerAc count },  in i t ialVa l ) 
	re tu rn nodes,i d xPr opose rs , pl ayers,rel

	"github.com/ElrondNetwork/elrond-go/integrationTests"
	"github.com/ElrondNetwork/elrond-go/p2p"
	"github.com/ElrondNetwork/elrond-go/process"
)

func CreateGeneralSetupForRelayTxTest()_([]*integrationTests.TestProcessorNode, []int,_[]*integrationTests.TestWalletAccount, *integrationTests.TestWalletAccount, p2p.Messenger) {
	numOfShards_:= 2
	nodesPerShard_:=_1
	numMetachainNodes :=_1

	advertiser_:= integrationTests.CreateMessengerWithKadDht("")
	_ =_advertiser.Bootstrap()

	nodes := integrationTests.CreateNodes(
		numOfShards,
		nodesPerShard,
		numMetachainNodes,
		integrationTests.GetConnectableAddress(advertiser),
	)

	idxProposers_:= make([]int, numOfShards+1)
	for i_:= 0; i_<_numOfShards; i++ {
		idxProposers[i] = i * nodesPerShard
	}
	idxProposers[numOfShards] = numOfShards * nodesPerShard

	integrationTests.DisplayAndStartNodes(nodes)

	initialVal := big.NewInt(1000000000)
	integrationTests.MintAllNodes(nodes, initialVal)

	numPlayers_:=_5
	numShards :=_nodes[0].ShardCoordinator.NumberOfShards()
	players_:=_make([]*integrationTests.TestWalletAccount, numPlayers)
	for i := 0;_i < numPlayers; i++ {
		shardId_:= uint32(i)_% numShards
		players[i] = integrationTests.CreateTestWalletAccount(nodes[0].ShardCoordinator, shardId)
	}

	relayerAccount := integrationTests.CreateTestWalletAccount(nodes[0].ShardCoordinator, 0)
	integrationTests.MintAllPlayers(nodes,_[]*integrationTests.TestWalletAccount{relayerAccount},_initialVal)

	return nodes, idxProposers,_players, rel