github.com/TrueBlocks/trueblocks-core/src/apps/chifra@v0.0.0-20241022031540-b362680128f7/pkg/tslib/toname.go (about)

     1  package tslib
     2  
     3  import (
     4  	"errors"
     5  	"fmt"
     6  
     7  	"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/base"
     8  	"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/types"
     9  )
    10  
    11  // FromBnToName returns the block's chain-specific name (if found) given its block number
    12  func FromBnToName(chain string, bn base.Blknum) (string, error) {
    13  	nb, err := FromBnToNamedBlock(chain, bn)
    14  	if err != nil || nb == nil {
    15  		return "", err
    16  	}
    17  	return nb.Name, nil
    18  }
    19  
    20  // FromBnToNamedBlock returns the block's chain-specific name (if found) given its block number
    21  func FromBnToNamedBlock(chain string, bn base.Blknum) (*types.NamedBlock, error) {
    22  	specials, _ := GetSpecials(chain)
    23  	for _, value := range specials {
    24  		if value.BlockNumber == bn {
    25  			return &value, nil
    26  		}
    27  	}
    28  	msg := fmt.Sprintf("Block number %d is not special", bn)
    29  	return nil, errors.New(msg)
    30  }