code: func (a *Address) SetHex(address string) error {
  	address = strings.ToLower(address)
  	if len(address) >= 2 && address[:2] == "0x" {
  		address = address[2:]
  	}
  	if length := len(address); length != 2*common.AddressLength {
  		return fmt.Errorf("invalid address hex length: %v != %v", length, 2*common.AddressLength)
  	}
  	bin, err := hex.DecodeString(address)
  	if err != nil {
  		return err
  	}
  	copy(a.address[:], bin)
  	return nil
  }
docs: // SetHex sets the specified hex string as the address value.