diff --git a/test/emulator_backend.go b/test/emulator_backend.go
index 69024d4e..8f4fc04e 100644
--- a/test/emulator_backend.go
+++ b/test/emulator_backend.go
@@ -107,14 +107,17 @@ type keyInfo struct {
signer crypto.Signer
}
+var Chain = flow.MonotonicEmulator.Chain()
+
+var CommonContracts = emulator.NewCommonContracts(Chain)
+
var systemContracts = func() []common.AddressLocation {
- chain := flow.Emulator.Chain()
- serviceAddress := chain.ServiceAddress().HexWithPrefix()
+ serviceAddress := Chain.ServiceAddress().HexWithPrefix()
contracts := map[string]string{
"FlowServiceAccount": serviceAddress,
- "FlowToken": fvm.FlowTokenAddress(chain).HexWithPrefix(),
- "FungibleToken": fvm.FungibleTokenAddress(chain).HexWithPrefix(),
- "FlowFees": environment.FlowFeesAddress(chain).HexWithPrefix(),
+ "FlowToken": fvm.FlowTokenAddress(Chain).HexWithPrefix(),
+ "FungibleToken": fvm.FungibleTokenAddress(Chain).HexWithPrefix(),
+ "FlowFees": environment.FlowFeesAddress(Chain).HexWithPrefix(),
"FlowStorageFees": serviceAddress,
"FlowClusterQC": serviceAddress,
"FlowDKG": serviceAddress,
@@ -536,7 +539,8 @@ func newBlockchain(
[]emulator.Option{
emulator.WithStorageLimitEnabled(false),
emulator.WithServerLogger(logger),
- emulator.Contracts(emulator.CommonContracts),
+ emulator.Contracts(CommonContracts),
+ emulator.WithChainID(Chain.ChainID()),
},
opts...,
)...,
@@ -711,7 +715,7 @@ func excludeCommonLocations(coverageReport *runtime.CoverageReport) {
for _, location := range systemContracts {
coverageReport.ExcludeLocation(location)
}
- for _, contract := range emulator.CommonContracts {
+ for _, contract := range CommonContracts {
address, _ := common.HexToAddress(contract.Address.String())
location := common.AddressLocation{
Address: address,
@@ -725,7 +729,7 @@ func excludeCommonLocations(coverageReport *runtime.CoverageReport) {
// address mappings for system/common contracts.
func baseConfiguration() *stdlib.Configuration {
addresses := make(map[string]common.Address, 0)
- serviceAddress, _ := common.HexToAddress("0xf8d6e0586b0a20c7")
+ serviceAddress := common.Address(Chain.ServiceAddress())
addresses["NonFungibleToken"] = serviceAddress
addresses["MetadataViews"] = serviceAddress
addresses["ViewResolver"] = serviceAddress
@@ -734,7 +738,7 @@ func baseConfiguration() *stdlib.Configuration {
address := common.Address(addressLocation.Address)
addresses[contract] = address
}
- for _, contractDescription := range emulator.CommonContracts {
+ for _, contractDescription := range CommonContracts {
contract := contractDescription.Name
address := common.Address(contractDescription.Address)
addresses[contract] = address
diff --git a/test/test_framework_test.go b/test/test_framework_test.go
index 863b16b8..149043b1 100644
--- a/test/test_framework_test.go
+++ b/test/test_framework_test.go
@@ -2957,7 +2957,7 @@ func TestServiceAccount(t *testing.T) {
require.NoError(t, err)
assert.Equal(
t,
- "0xf8d6e0586b0a20c7",
+ "0x0000000000000001",
serviceAccount.Address.HexWithPrefix(),
)
})
@@ -2977,7 +2977,7 @@ func TestServiceAccount(t *testing.T) {
// Assert
Test.assertEqual(Type
(), account.address.getType())
Test.assertEqual(Type(), account.publicKey.getType())
- Test.assertEqual(Address(0xf8d6e0586b0a20c7), account.address)
+ Test.assertEqual(Address(0x0000000000000001), account.address)
}
`
@@ -3377,7 +3377,7 @@ func TestCoverageReportForIntegrationTests(t *testing.T) {
assert.Equal(t, result2.TestName, "testAddSpecialNumber")
require.NoError(t, result2.Error)
- address, err := common.HexToAddress("0x01cf0e2f2f715450")
+ address, err := common.HexToAddress("0x0000000000000005")
require.NoError(t, err)
location := common.AddressLocation{
Address: address,
@@ -3400,25 +3400,25 @@ func TestCoverageReportForIntegrationTests(t *testing.T) {
assert.ElementsMatch(
t,
[]string{
- "A.0ae53cb6e3f42a79.FlowToken",
- "A.ee82856bf20e2aa6.FungibleToken",
- "A.e5a8b7f23e8b548f.FlowFees",
- "A.f8d6e0586b0a20c7.FlowStorageFees",
- "A.f8d6e0586b0a20c7.FlowServiceAccount",
- "A.f8d6e0586b0a20c7.FlowClusterQC",
- "A.f8d6e0586b0a20c7.FlowDKG",
- "A.f8d6e0586b0a20c7.FlowEpoch",
- "A.f8d6e0586b0a20c7.FlowIDTableStaking",
- "A.f8d6e0586b0a20c7.FlowStakingCollection",
- "A.f8d6e0586b0a20c7.LockedTokens",
- "A.f8d6e0586b0a20c7.NodeVersionBeacon",
- "A.f8d6e0586b0a20c7.StakingProxy",
+ "A.0000000000000003.FlowToken",
+ "A.0000000000000002.FungibleToken",
+ "A.0000000000000004.FlowFees",
+ "A.0000000000000001.FlowStorageFees",
+ "A.0000000000000001.FlowServiceAccount",
+ "A.0000000000000001.FlowClusterQC",
+ "A.0000000000000001.FlowDKG",
+ "A.0000000000000001.FlowEpoch",
+ "A.0000000000000001.FlowIDTableStaking",
+ "A.0000000000000001.FlowStakingCollection",
+ "A.0000000000000001.LockedTokens",
+ "A.0000000000000001.NodeVersionBeacon",
+ "A.0000000000000001.StakingProxy",
"s.7465737400000000000000000000000000000000000000000000000000000000",
"I.Crypto",
"I.Test",
- "A.f8d6e0586b0a20c7.ExampleNFT",
- "A.f8d6e0586b0a20c7.NFTStorefrontV2",
- "A.f8d6e0586b0a20c7.NFTStorefront",
+ "A.0000000000000001.ExampleNFT",
+ "A.0000000000000001.NFTStorefrontV2",
+ "A.0000000000000001.NFTStorefront",
},
coverageReport.ExcludedLocationIDs(),
)
@@ -3889,6 +3889,7 @@ func TestGetEventsFromIntegrationTests(t *testing.T) {
const testCode = `
import Test
+ import FooContract from 0x0000000000000005
pub let blockchain = Test.newEmulatorBlockchain()
pub let account = blockchain.createAccount()
@@ -3916,7 +3917,7 @@ func TestGetEventsFromIntegrationTests(t *testing.T) {
Test.expect(result, Test.beSucceeded())
Test.assert(result.returnValue! as! Bool)
- let typ = CompositeType("A.01cf0e2f2f715450.FooContract.ContractInitialized")!
+ let typ = Type()
let events = blockchain.eventsOfType(typ)
Test.assertEqual(1, events.length)
}
@@ -3933,10 +3934,14 @@ func TestGetEventsFromIntegrationTests(t *testing.T) {
let result = blockchain.executeTransaction(tx)
Test.expect(result, Test.beSucceeded())
- let typ = CompositeType("A.01cf0e2f2f715450.FooContract.NumberAdded")!
+ let typ = Type()
let events = blockchain.eventsOfType(typ)
Test.assertEqual(1, events.length)
+ let event = events[0] as! FooContract.NumberAdded
+ Test.assertEqual(78557, event.n)
+ Test.assertEqual("Sierpinski", event.trait)
+
let evts = blockchain.events()
Test.expect(evts.length, Test.beGreaterThan(1))
}
@@ -4420,7 +4425,7 @@ func TestReferenceDeployedContractTypes(t *testing.T) {
const testCode = `
import Test
- import FooContract from 0x01cf0e2f2f715450
+ import FooContract from 0x0000000000000005
pub let blockchain = Test.newEmulatorBlockchain()
pub let account = blockchain.createAccount()
@@ -4543,7 +4548,7 @@ func TestReferenceDeployedContractTypes(t *testing.T) {
const testCode = `
import Test
- import FooContract from 0x01cf0e2f2f715450
+ import FooContract from 0x0000000000000005
pub let blockchain = Test.newEmulatorBlockchain()
pub let account = blockchain.createAccount()
diff --git a/test/test_runner.go b/test/test_runner.go
index 33c1fb87..9e331f79 100644
--- a/test/test_runner.go
+++ b/test/test_runner.go
@@ -169,7 +169,8 @@ func NewTestRunner() *TestRunner {
logger := zerolog.New(output).With().Timestamp().Logger().Hook(logCollectionHook)
blockchain, err := emulator.New(
emulator.WithStorageLimitEnabled(false),
- emulator.Contracts(emulator.CommonContracts),
+ emulator.Contracts(CommonContracts),
+ emulator.WithChainID(Chain.ChainID()),
)
if err != nil {
panic(err)