@@ -1362,26 +1362,43 @@ func AssertAssetGenesis(t *testing.T, expected, actual *taprpc.GenesisInfo) {
13621362func AssertBalanceByID (t * testing.T , client taprpc.TaprootAssetsClient ,
13631363 id []byte , amt uint64 ) {
13641364
1365- ctxb := context .Background ()
1366- balancesResp , err := client .ListBalances (
1367- ctxb , & taprpc.ListBalancesRequest {
1368- GroupBy : & taprpc.ListBalancesRequest_AssetId {
1369- AssetId : true ,
1365+ require .Eventually (t , func () bool {
1366+ ctxb := context .Background ()
1367+ balancesResp , err := client .ListBalances (
1368+ ctxb , & taprpc.ListBalancesRequest {
1369+ GroupBy : & taprpc.ListBalancesRequest_AssetId {
1370+ AssetId : true ,
1371+ },
1372+ AssetFilter : id ,
1373+ ScriptKeyType : allScriptKeysQuery ,
13701374 },
1371- AssetFilter : id ,
1372- ScriptKeyType : allScriptKeysQuery ,
1373- },
1374- )
1375- require . NoError ( t , err )
1375+ )
1376+ if err != nil {
1377+ t . Logf ( "error listing balances: %v" , err )
1378+ return false
1379+ }
13761380
1377- balance , ok := balancesResp .AssetBalances [hex .EncodeToString (id )]
1378- if amt == 0 {
1379- require .False (t , ok )
1380- return
1381- }
1381+ // nolint: lll
1382+ balance , ok := balancesResp .AssetBalances [hex .EncodeToString (id )]
1383+ if amt == 0 {
1384+ require .False (t , ok )
1385+ return true
1386+ }
13821387
1383- require .True (t , ok )
1384- require .Equal (t , amt , balance .Balance )
1388+ if ! ok {
1389+ t .Logf ("balance for asset not found (asset_id=%x)" , id )
1390+ return false
1391+ }
1392+
1393+ if balance .Balance != amt {
1394+ t .Logf ("balance mismatch for asset (asset_id=%x, " +
1395+ "expected=%d, actual=%d)" , id , amt ,
1396+ balance .Balance )
1397+ return false
1398+ }
1399+
1400+ return true
1401+ }, defaultWaitTimeout , time .Second )
13851402}
13861403
13871404// AssertBalanceByGroup asserts that the balance of a single asset group
0 commit comments