]> git.codecow.com Git - libnemo.git/commitdiff
Update protocol max values.
authorChris Duncan <chris@zoso.dev>
Fri, 8 Aug 2025 15:09:08 +0000 (08:09 -0700)
committerChris Duncan <chris@zoso.dev>
Fri, 8 Aug 2025 15:09:08 +0000 (08:09 -0700)
src/lib/constants.ts
src/lib/tools.ts
test/VECTORS.mjs
test/test.tools.mjs

index 15be831febf196ace72e24370d39916ba9b6ec33..8fdc08af83ab6c774e9a9c84639eddce2f877f1e 100644 (file)
@@ -11,6 +11,8 @@ export const BIP44_COIN_NANO = 165
 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'
@@ -71,6 +73,8 @@ export default `
        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}'
index 90357850f6b25be38a0bfd8e7131f88f6b1eb21a..8bf22bffa7c2fe1ff61a486dcf3b132ef5a18938 100644 (file)
@@ -4,7 +4,7 @@
 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'
index ec24c9cdea1d72256d8a65fb3ddf5cb7d11a80e3..3ccc60af8e6ec096e6c0e206231dd9ab4b13772d 100644 (file)
@@ -16,8 +16,8 @@
 *      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
index 94aa586983ce06bf225a58323c8241bc6091abf8..e417a8f7ee13cb5d4bd120765926b64e4c537e44 100644 (file)
@@ -4,7 +4,7 @@
 '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
@@ -58,8 +58,8 @@ await Promise.all([
                })\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
@@ -78,7 +78,7 @@ await Promise.all([
                })\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