@ledgerhq/coin-stellar
Version:
Ledger Stellar Coin integration
23 lines (19 loc) • 639 B
text/typescript
// SPDX-FileCopyrightText: © 2026 LEDGER SAS
// SPDX-License-Identifier: Apache-2.0
import BigNumber from 'bignumber.js'
import { StellarMemoKind } from '../types/model'
export const MEMO_TEXT_MAXIMUM_SIZE = 28
export const MEMO_HASH_FIXED_SIZE = 64
export function validateMemo(memo: string, type: StellarMemoKind): boolean {
switch (type) {
case 'NO_MEMO':
return !memo || memo.length === 0
case 'MEMO_TEXT':
return memo.length <= MEMO_TEXT_MAXIMUM_SIZE
case 'MEMO_ID':
return !new BigNumber(memo.toString()).isNaN()
case 'MEMO_HASH':
case 'MEMO_RETURN':
return memo.length === 64
}
}