banking

package
v1.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 25, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package banking provides helpers for financial identifiers and standards such as IBAN, ISIN, LEI, and UTI parsing and validation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Lookup_LEI

func Lookup_LEI(inISIN string) (string, error)

Types

type GLIEF

type GLIEF struct {
	Meta struct {
		GoldenCopy struct {
			PublishDate time.Time `json:"publishDate"`
		} `json:"goldenCopy"`
		Pagination struct {
			CurrentPage int `json:"currentPage"`
			PerPage     int `json:"perPage"`
			From        int `json:"from"`
			To          int `json:"to"`
			Total       int `json:"total"`
			LastPage    int `json:"lastPage"`
		} `json:"pagination"`
	} `json:"meta"`
	Links struct {
		First string `json:"first"`
		Last  string `json:"last"`
	} `json:"links"`
	Data []struct {
		Type       string `json:"type"`
		ID         string `json:"id"`
		Attributes struct {
			Lei    string `json:"lei"`
			Entity struct {
				LegalName struct {
					Name     string `json:"name"`
					Language string `json:"language"`
				} `json:"legalName"`
				OtherNames               []interface{} `json:"otherNames"`
				TransliteratedOtherNames []interface{} `json:"transliteratedOtherNames"`
				LegalAddress             struct {
					Language                    string      `json:"language"`
					AddressLines                []string    `json:"addressLines"`
					AddressNumber               interface{} `json:"addressNumber"`
					AddressNumberWithinBuilding interface{} `json:"addressNumberWithinBuilding"`
					MailRouting                 interface{} `json:"mailRouting"`
					City                        string      `json:"city"`
					Region                      string      `json:"region"`
					Country                     string      `json:"country"`
					PostalCode                  string      `json:"postalCode"`
				} `json:"legalAddress"`
				HeadquartersAddress struct {
					Language                    string      `json:"language"`
					AddressLines                []string    `json:"addressLines"`
					AddressNumber               interface{} `json:"addressNumber"`
					AddressNumberWithinBuilding interface{} `json:"addressNumberWithinBuilding"`
					MailRouting                 interface{} `json:"mailRouting"`
					City                        string      `json:"city"`
					Region                      string      `json:"region"`
					Country                     string      `json:"country"`
					PostalCode                  string      `json:"postalCode"`
				} `json:"headquartersAddress"`
				RegisteredAt struct {
					ID    string      `json:"id"`
					Other interface{} `json:"other"`
				} `json:"registeredAt"`
				RegisteredAs interface{} `json:"registeredAs"`
				Jurisdiction string      `json:"jurisdiction"`
				Category     interface{} `json:"category"`
				LegalForm    struct {
					ID    string `json:"id"`
					Other string `json:"other"`
				} `json:"legalForm"`
				AssociatedEntity struct {
					Lei  interface{} `json:"lei"`
					Name interface{} `json:"name"`
				} `json:"associatedEntity"`
				Status     string `json:"status"`
				Expiration struct {
					Date   interface{} `json:"date"`
					Reason interface{} `json:"reason"`
				} `json:"expiration"`
				SuccessorEntity struct {
					Lei  interface{} `json:"lei"`
					Name interface{} `json:"name"`
				} `json:"successorEntity"`
				OtherAddresses []interface{} `json:"otherAddresses"`
			} `json:"entity"`
			Registration struct {
				InitialRegistrationDate time.Time `json:"initialRegistrationDate"`
				LastUpdateDate          time.Time `json:"lastUpdateDate"`
				Status                  string    `json:"status"`
				NextRenewalDate         time.Time `json:"nextRenewalDate"`
				ManagingLou             string    `json:"managingLou"`
				CorroborationLevel      string    `json:"corroborationLevel"`
				ValidatedAt             struct {
					ID    string      `json:"id"`
					Other interface{} `json:"other"`
				} `json:"validatedAt"`
				ValidatedAs                interface{}   `json:"validatedAs"`
				OtherValidationAuthorities []interface{} `json:"otherValidationAuthorities"`
			} `json:"registration"`
			Bic interface{} `json:"bic"`
		} `json:"attributes"`
		Relationships struct {
			ManagingLou struct {
				Links struct {
					Related string `json:"related"`
				} `json:"links"`
			} `json:"managing-lou"`
			LeiIssuer struct {
				Links struct {
					Related string `json:"related"`
				} `json:"links"`
			} `json:"lei-issuer"`
			FieldModifications struct {
				Links struct {
					Related string `json:"related"`
				} `json:"links"`
			} `json:"field-modifications"`
			DirectParent struct {
				Links struct {
					ReportingException string `json:"reporting-exception"`
				} `json:"links"`
			} `json:"direct-parent"`
			UltimateParent struct {
				Links struct {
					ReportingException string `json:"reporting-exception"`
				} `json:"links"`
			} `json:"ultimate-parent"`
			DirectChildren struct {
				Links struct {
					RelationshipRecords string `json:"relationship-records"`
					Related             string `json:"related"`
				} `json:"links"`
			} `json:"direct-children"`
			UltimateChildren struct {
				Links struct {
					RelationshipRecords string `json:"relationship-records"`
					Related             string `json:"related"`
				} `json:"links"`
			} `json:"ultimate-children"`
			Isins struct {
				Links struct {
					Related string `json:"related"`
				} `json:"links"`
			} `json:"isins"`
		} `json:"relationships"`
		Links struct {
			Self string `json:"self"`
		} `json:"links"`
	} `json:"data"`
}

type IBAN

type IBAN struct {
	// contains filtered or unexported fields
}

func NewIBAN

func NewIBAN(iban string) (IBAN, error)

func (*IBAN) String

func (I *IBAN) String() string

type ISIN

type ISIN struct {
	// contains filtered or unexported fields
}

func (*ISIN) Get

func (I *ISIN) Get() string

func (*ISIN) IsValid

func (I *ISIN) IsValid() bool

IsValid checks if the given ISIN is valid.

func (*ISIN) Printable

func (I *ISIN) Printable() string

func (*ISIN) Set

func (I *ISIN) Set(in string) error

func (*ISIN) String

func (I *ISIN) String() string

type LEI

type LEI struct {
	// contains filtered or unexported fields
}

func NewLEI

func NewLEI(lei string) (LEI, error)

func (*LEI) Formatted

func (l *LEI) Formatted() string

The function `Formatted` takes a Legal Entity Identifier (LEI) as input and returns a formatted string with the LEI divided into its components.

func (*LEI) String

func (L *LEI) String() string

type UTI

type UTI struct {
	// contains filtered or unexported fields
}

func NewISO23897UTI

func NewISO23897UTI(generatingEntity string) (UTI, error)

NewISO23897UTI generates an ISO 23897:2020 compliant Unique Transaction Identifier (UTI).

func (*UTI) Formatted

func (U *UTI) Formatted() string

func (*UTI) Get

func (U *UTI) Get() string

func (*UTI) IsEmpty

func (U *UTI) IsEmpty() bool

func (*UTI) IsValid

func (U *UTI) IsValid() (bool, error)

func (*UTI) Set

func (U *UTI) Set(in string) error

func (*UTI) String

func (U *UTI) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL