})\r
\r
await test('allow zero balances', async () => {\r
- const block = new Block(\r
- ADDRESS_0, '9007199254740991', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
+ const block = new Block(ADDRESS_0, '9007199254740991', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
.send(ADDRESS_1, '9007199254740991')\r
assert.notEqual(block.balance, 0)\r
assert.equal(block.balance, BigInt(0))\r
})\r
\r
- await test('subtract balance from send block correctly', async () => {\r
- const block = new Block(\r
- ADDRESS_0, '3000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
+ await test('subtract nano balance as string from send block correctly', async () => {\r
+ const block = new Block(ADDRESS_0, '3000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
+ .send(ADDRESS_1, '2', 'NANO')\r
+ assert.equal(block.balance, 1000000000000000000000000000000n)\r
+ })\r
+\r
+ await test('subtract nano balance as number from send block correctly', async () => {\r
+ const block = new Block(ADDRESS_0, '3000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
+ .send(ADDRESS_1, 2, 'NANO')\r
+ assert.equal(block.balance, 1000000000000000000000000000000n)\r
+ })\r
+\r
+ await test('subtract raw balance as string from send block correctly', async () => {\r
+ const block = new Block(ADDRESS_0, '3000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
.send(ADDRESS_1, '2000000000000000000000000000000')\r
assert.equal(block.balance, 1000000000000000000000000000000n)\r
})\r
\r
- await test('add balance from receive block correctly', async () => {\r
+ await test('subtract raw balance as bigint from send block correctly', async () => {\r
+ const block = new Block(ADDRESS_0, '3000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
+ .send(ADDRESS_1, 2000000000000000000000000000000n)\r
+ assert.equal(block.balance, 1000000000000000000000000000000n)\r
+ })\r
+\r
+ await test('add nano balance as string from receive block correctly', async () => {\r
+ const block = new Block(ADDRESS_0, '2000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
+ .receive(RECEIVE_BLOCK.link, '1', 'NANO')\r
+ assert.equal(block.balance, 3000000000000000000000000000000n)\r
+ })\r
+\r
+ await test('add nano balance as number from receive block correctly', async () => {\r
+ const block = new Block(ADDRESS_0, '2000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
+ .receive(RECEIVE_BLOCK.link, 1, 'NANO')\r
+ assert.equal(block.balance, 3000000000000000000000000000000n)\r
+ })\r
+\r
+ await test('add raw balance as string from receive block correctly', async () => {\r
const block = new Block(ADDRESS_0, '2000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
.receive(RECEIVE_BLOCK.link, '1000000000000000000000000000000')\r
assert.equal(block.balance, 3000000000000000000000000000000n)\r
})\r
\r
+ await test('add raw balance as bigint from receive block correctly', async () => {\r
+ const block = new Block(ADDRESS_0, '2000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r
+ .receive(RECEIVE_BLOCK.link, 1000000000000000000000000000000n)\r
+ assert.equal(block.balance, 3000000000000000000000000000000n)\r
+ })\r
+\r
await test('fail to receive from address, link must be block hash', async () => {\r
assert.throws(() => {\r
new Block(ADDRESS_0, '2000000000000000000000000000000', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', ADDRESS_2)\r