From 0ac6a37fe704582c6f8a0ea14494ab7d25d605ea Mon Sep 17 00:00:00 2001 From: Oliver Gugger <gugger@gmail.com> Date: Fri, 27 Oct 2023 18:03:28 +0200 Subject: [PATCH] itest: assert multiverse roots --- itest/universe_test.go | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/itest/universe_test.go b/itest/universe_test.go index f4340aeab5..b41b2c5ace 100644 --- a/itest/universe_test.go +++ b/itest/universe_test.go @@ -11,17 +11,15 @@ import ( "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/btcec/v2/schnorr" - "github.com/lightninglabs/taproot-assets/internal/test" - tap "github.com/lightninglabs/taproot-assets" "github.com/lightninglabs/taproot-assets/asset" "github.com/lightninglabs/taproot-assets/fn" + "github.com/lightninglabs/taproot-assets/internal/test" "github.com/lightninglabs/taproot-assets/mssmt" "github.com/lightninglabs/taproot-assets/taprpc" "github.com/lightninglabs/taproot-assets/taprpc/mintrpc" unirpc "github.com/lightninglabs/taproot-assets/taprpc/universerpc" "github.com/lightninglabs/taproot-assets/universe" - "github.com/lightningnetwork/lnd/lntest/wait" "github.com/stretchr/testify/require" "golang.org/x/exp/maps" @@ -260,6 +258,35 @@ func testUniverseSync(t *harnessTest) { require.True( t.t, AssertUniverseRootsEqual(universeRoots, universeRootsBob), ) + + // Test the multiverse root is equal for both nodes. + multiverseRootAlice, err := t.tapd.MultiverseRoot( + ctxt, &unirpc.MultiverseRootRequest{ + ProofType: unirpc.ProofType_PROOF_TYPE_ISSUANCE, + }, + ) + require.NoError(t.t, err) + + // For Bob we query with the actual IDs of the universe we are aware of. + multiverseRootBob, err := bob.MultiverseRoot( + ctxt, &unirpc.MultiverseRootRequest{ + ProofType: unirpc.ProofType_PROOF_TYPE_ISSUANCE, + SpecificIds: uniIDs, + }, + ) + require.NoError(t.t, err) + + require.Equal( + t.t, multiverseRootAlice.MultiverseRoot.RootHash, + multiverseRootBob.MultiverseRoot.RootHash, + ) + + // We also expect the proof's root hash to be equal to the actual + // multiverse root. + require.Equal( + t.t, firstAssetUniProof.MultiverseRoot.RootHash, + multiverseRootBob.MultiverseRoot.RootHash, + ) } // unmarshalMerkleSumNode un-marshals a protobuf MerkleSumNode.