(buffer []byte, key types.LedgerRecordID)
| 66 | } |
| 67 | |
| 68 | func (d ledgerRecordIDCodec) Encode(buffer []byte, key types.LedgerRecordID) (int, error) { |
| 69 | offset := 0 |
| 70 | |
| 71 | data := conv.UnsafeStrToBytes(key.Denom) |
| 72 | buffer[offset] = byte(len(data)) |
| 73 | offset++ |
| 74 | offset += copy(buffer[offset:], data) |
| 75 | |
| 76 | data = conv.UnsafeStrToBytes(key.ToDenom) |
| 77 | buffer[offset] = byte(len(data)) |
| 78 | offset++ |
| 79 | offset += copy(buffer[offset:], data) |
| 80 | |
| 81 | addr, err := sdktypes.AccAddressFromBech32(key.Source) |
| 82 | if err != nil { |
| 83 | return 0, err |
| 84 | } |
| 85 | |
| 86 | data, err = validation.EncodeWithLengthPrefix(addr) |
| 87 | if err != nil { |
| 88 | return 0, err |
| 89 | } |
| 90 | |
| 91 | offset += copy(buffer[offset:], data) |
| 92 | |
| 93 | binary.BigEndian.PutUint64(buffer[offset:], uint64(key.Height)) //nolint: gosec |
| 94 | offset += 8 |
| 95 | |
| 96 | binary.BigEndian.PutUint64(buffer[offset:], uint64(key.Sequence)) //nolint: gosec |
| 97 | offset += 8 |
| 98 | |
| 99 | return offset, nil |
| 100 | } |
| 101 | |
| 102 | func (d ledgerRecordIDCodec) Decode(buffer []byte) (int, types.LedgerRecordID, error) { |
| 103 | originBuffer := buffer |
no test coverage detected