export const BURN_ADDRESS = 'nano_1111111111111111111111111111111111111111111111111111hifc8npp'
export const BURN_PUBLIC_KEY = '0000000000000000000000000000000000000000000000000000000000000000'
export const HARDENED_OFFSET = 0x80000000
+export const MAX_RAW = 0xFFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFFn
+export const MAX_SUPPLY = 133_248_297_920_938_463_463_374_607_431_768_211_455n
export const NONCE_LENGTH = 24
export const PBKDF2_ITERATIONS = 210000
export const PREAMBLE = '0000000000000000000000000000000000000000000000000000000000000006'
const BURN_ADDRESS = '${BURN_ADDRESS}'
const BURN_PUBLIC_KEY = '${BURN_PUBLIC_KEY}'
const HARDENED_OFFSET = ${HARDENED_OFFSET}
+ const MAX_RAW = ${MAX_RAW}
+ const MAX_SUPPLY = ${MAX_SUPPLY}
const NONCE_LENGTH = ${NONCE_LENGTH}
const PBKDF2_ITERATIONS = ${PBKDF2_ITERATIONS}
const PREAMBLE = '${PREAMBLE}'
import { Account } from './account'
import { Blake2b } from './blake2b'
import { Block } from './block'
-import { UNITS } from './constants'
+import { MAX_SUPPLY, UNITS } from './constants'
import { bytes, hex } from './convert'
import { Ledger } from './ledger'
import { NanoNaCl } from './nano-nacl'
* https://github.com/emilbayes/blake2b/blob/master/test-vectors.json#L514-L577
*/
export const GENESIS_ADDRESS = 'nano_3t6k35gi95xu6tergt6p69ck76ogmitsa8mnijtpxm9fkcm736xtoncuohr3'
-export const RAW_MAX = '340282366920938463463374607431768211455'
-export const SUPPLY_MAX = '133248297920938463463374607431768211455'
+export const MAX_RAW = 0xFFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFF_FFFFn
+export const MAX_SUPPLY = 133_248_297_920_938_463_463_374_607_431_768_211_455n
export const NANO_TEST_VECTORS = Object.freeze({
// from nano.org python sample code
'use strict'\r
\r
import { assert, env, isNode, suite, test } from './GLOBALS.mjs'\r
-import { RAW_MAX, NANO_TEST_VECTORS } from './VECTORS.mjs'\r
+import { MAX_RAW, MAX_SUPPLY, NANO_TEST_VECTORS } from './VECTORS.mjs'\r
\r
/**\r
* @type {typeof import('../dist/types.d.ts').Account}\r
})\r
\r
await test('should convert raw to nyano', async () => {\r
- const result = await Tools.convert(RAW_MAX, 'RAW', 'NYANO')\r
- assert.equal(result, '340282366920938.463463374607431768211455')\r
+ const result = await Tools.convert(MAX_SUPPLY, 'RAW', 'NYANO')\r
+ assert.equal(result, '133248297920938.463463374607431768211455')\r
})\r
\r
await test('should convert case-insensitive nyano to raw', async () => {\r
})\r
\r
await test('should throw if amount exceeds raw max', async () => {\r
- await assert.rejects(Tools.convert(RAW_MAX, 'NANO', 'RAW'),\r
+ await assert.rejects(Tools.convert(MAX_RAW, 'NANO', 'RAW'),\r
{ message: 'Amount exceeds Nano limits' })\r
})\r
\r