# ZIP: MoonBaZe-0001

**URL:** http://forum.zenon.org/t/zip-moonbaze-0001/1416
**Category:** ╰ Network
**Created:** [May 3, 2023, 4:43pm UTC](http://forum.zenon.org/t/zip-moonbaze-0001/1416 "2023-05-03T16:43:56Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![MoonBaZe](http://forum.zenon.org/letter_avatar_proxy/v4/letter/m/f04885/32.png) [@MoonBaZe](http://forum.zenon.org/u/MoonBaZe)
#### Post date: [May 3, 2023, 4:43pm UTC](http://forum.zenon.org/t/zip-moonbaze-0001/1416/1 "2023-05-03T16:43:56Z")

</div>

| Field | Description |
| --- | --- |
| zip | ZIP: MoonBaZe-0001 |
| title | convert big.Int to string on RPC responses |
| author | @MoonBaZe |
| status | Draft |
| type | Implementation ZIP |
| acceptance | upon usage by the community |
| activation | upon usage by the community |
| created | 2023-05-03 |
| license | GPL v3.0 |
| url | [go-zenon-big-int-string-repository](https://github.com/MoonBaZZe/go-zenon) |

`Motivation`

As the network evolves and increases its interoperability, there is a natural need to support tokens with a number of decimals that would overflow uint64. This requirement was also pointed out by Mr. Kaine.

`Implementation`

Each struct that contains a `big.Int` field and is returned by RPC now has two additional methods: `MarshalJSON` and `UnmarshalJSON`. These methods override the default behavior in `json-rpc` when marshaling a struct to create an RPC response. The object will now be returned as before, but the `big.Int` field is returned as a string.

In every test, the changes include wrapping each `big.Int` inside " ". For getDepositedQsr and getQsrRegistrationCost, a new variable was included because the newly returned type is a string. In pillar\_test, a few extra expects were added. Each test runs smoothly.

These changes do not affect consensus or the way nodes communicate or synchronize and can be considered a soft fork. However, it is considered a hard fork for every application (such as Syrius or web apps) that is using an older version of the `SDK` which does not contain these changes. `SDK` developers would need to update them, and all apps should be recompiled using the new `SDK`.

---

<div class="post-metadata">

### Author: ![sumamu](http://forum.zenon.org/user_avatar/forum.zenon.org/sumamu/32/1869_2.png) [@sumamu](http://forum.zenon.org/u/sumamu)
#### Post date: [May 3, 2023, 7:11pm UTC](http://forum.zenon.org/t/zip-moonbaze-0001/1416/2 "2023-05-03T19:11:17Z")

</div>

Awesome! That combination of JSON and BigInt was creating issues for most SDKs.

---

<div class="post-metadata">

### Author: ![aliencoder](http://forum.zenon.org/user_avatar/forum.zenon.org/aliencoder/32/1467_2.png) [@aliencoder](http://forum.zenon.org/u/aliencoder)
#### Post date: [May 3, 2023, 8:31pm UTC](http://forum.zenon.org/t/zip-moonbaze-0001/1416/3 "2023-05-03T20:31:37Z")

</div>

I’ve started working on Syrius and the Dart SDK.

---

<div class="post-metadata">

### Author: ![0x3639](http://forum.zenon.org/user_avatar/forum.zenon.org/0x3639/32/1651_2.png) [@0x3639](http://forum.zenon.org/u/0x3639)
#### Post date: [May 6, 2023, 10:48am UTC](http://forum.zenon.org/t/zip-moonbaze-0001/1416/4 "2023-05-06T10:48:12Z")

</div>

I proposed grammar edits to this post. they can be tracked / seen by clicking in the upper right corner of the post

 ![Screenshot 2023-05-06 at 5.46.33 AM](https://forum.zenon.org/uploads/default/original/2X/7/7d143ff42843860fe25a5c2d7daaadfdc659dc55.png)
