Skip to content

Commit 1ebc0f9

Browse files
committed
Merge branch 'PaulRieger-master'
2 parents dbb4160 + 72b09c0 commit 1ebc0f9

File tree

5 files changed

+474
-326
lines changed

5 files changed

+474
-326
lines changed

NisApi.src.html

Lines changed: 57 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111

1212
<div class=document>
1313

14-
<p class=NemTitle style='margin-bottom:88.0pt;'><img src="image002.png"></p>
14+
<p class=NemTitle><img src="logo.png"></p>
1515

1616
<p class=NemTitleText>NEM NIS API Documentation</p>
1717

18-
<p class=NemSubtitle>Version 1.20</p>
18+
<p class=NemSubtitle>Version 1.21</p>
1919

2020
<p class=NemSubtitle>
2121
<time>FILLED AUTOMATICALLY</time>
@@ -35,9 +35,13 @@
3535

3636
<hr/>
3737
<div>
38+
<h4>Changes since 1.20</h4>
39+
<ul>
40+
<li>Updated the fees to reflect the second fee fork.</li>
41+
</ul>
3842
<h4>Changes since 1.19</h4>
3943
<ul>
40-
<li>Fixed descriptions of namespace and mosaic transactions. Message payload size.
44+
<li>Fixed descriptions of namespace and mosaic transactions. Message payload size.</li>
4145
</ul>
4246
<h4>Changes since 1.18</h4>
4347
<ul>
@@ -2831,8 +2835,8 @@ <h2>Namespaces</h2>
28312835
<li>NAMESPACEWH4MKFMBCVFERDPOOP4FK7MTBXDPZZA in the main net and</li>
28322836
<li>TAMESPACEWH4MKFMBCVFERDPOOP4FK7MTDJEYP35 in the test net.</li>
28332837
The fee for renting a namespace for one year is
2834-
<li>50000 XEM for a root namespace and</li>
2835-
<li>5000 XEM for a sub-namespace.</li>
2838+
<li>100 XEM for a root namespace and</li>
2839+
<li>10 XEM for a sub-namespace.</li>
28362840
</p>
28372841

28382842
<p>
@@ -3024,7 +3028,7 @@ <h2>Mosaics</h2>
30243028
fee. This fee is paid to the so called creation fee sink which is a special account with address
30253029
<li>NBMOSAICOD4F54EE5CDMR23CCBGOAM2XSIUX6TRS in the main net and</li>
30263030
<li>TBMOSAICOD4F54EE5CDMR23CCBGOAM2XSJBR5OLC in the test net.</li>
3027-
The fee for creating a mosaic definition is 50000 XEM.
3031+
The fee for creating a mosaic definition is 10 XEM.
30283032
</p>
30293033

30303034
<p>There is one predefined mosaic which represents the XEM coin. The data for this XEM mosaic is:
@@ -3693,13 +3697,13 @@ <h2>Provisioning a namespace</h2>
36933697
"transaction":
36943698
{
36953699
"timeStamp": 9111526,
3696-
"fee": 108000000,
3700+
"fee": 150000,
36973701
"type": 8193,
36983702
"deadline": 9154726,
36993703
"version": -1744830463,
37003704
"signer": "d99e88c90da71a4b0d848454e59e296c9ef7a8f018f3eaa3a198dc460b6621a4",
37013705
"rentalFeeSink": "3e82e1c1e4a75adaa3cba8c101c3cd31d9817a2eb966eb3b511fb2ed45b8e262",
3702-
"rentalFee": 50000000000,
3706+
"rentalFee": 100000000,
37033707
"newPart": "alice",
37043708
"parent": null
37053709
},
@@ -3729,13 +3733,13 @@ <h2>Provisioning a namespace</h2>
37293733
"transaction":
37303734
{
37313735
"timeStamp": 9111526,
3732-
"fee": 108000000,
3736+
"fee": 150000,
37333737
"type": 8193,
37343738
"deadline": 9154726,
37353739
"version": -1744830463,
37363740
"signer": "d99e88c90da71a4b0d848454e59e296c9ef7a8f018f3eaa3a198dc460b6621a4",
37373741
"rentalFeeSink": "3e82e1c1e4a75adaa3cba8c101c3cd31d9817a2eb966eb3b511fb2ed45b8e262",
3738-
"rentalFee": 5000000000,
3742+
"rentalFee": 10000000,
37393743
"newPart": "vouchers",
37403744
"parent": "alice"
37413745
},
@@ -3744,7 +3748,7 @@ <h2>Provisioning a namespace</h2>
37443748
</code></pre>
37453749

37463750
<p>This time the parent is set to the parent namespace, in this case the root namespace 'alice'. The rental fee for a sub-namespace
3747-
is 200 XEM. Be sure to wait until you own the root namespace or NIS will respond with
3751+
is 10 XEM. Be sure to wait until you own the root namespace or NIS will respond with
37483752
an error message. Once the transaction is included in a block, you own the sub-namespace 'alice.vouchers' as long as the root namespace 'alice'
37493753
does not expire.</p>
37503754

@@ -3770,12 +3774,12 @@ <h3>Creating a mosaic definition</h3>
37703774
"transaction":
37713775
{
37723776
"timeStamp": 9111526,
3773-
"fee": 108000000,
3777+
"fee": 150000,
37743778
"type": 16385,
37753779
"deadline": 9154726,
37763780
"version": -1744830463,
37773781
"signer": "cbda3edb771d42801a5c6ce0725f9374efade19a8933d6ac22ccfa50c777d0f9",
3778-
"creationFee": 50000000000,
3782+
"creationFee": 10000000,
37793783
"creationFeeSink": "53e140b5947f104cabc2d6fe8baedbc30ef9a0609c717d9613de593ec2a266d3",
37803784
"mosaicDefinition": {
37813785
"creator": "cbda3edb771d42801a5c6ce0725f9374efade19a8933d6ac22ccfa50c777d0f9",
@@ -3848,7 +3852,7 @@ <h3>Altering a mosaic definition</h3>
38483852
<li>Properties and the levy data can <b>only</b> be changed if the creator owns every single mosaic of that type. This is necessary to prevent
38493853
the creator from secretly introducing a levy or inflating the mosaic by increasing the supply.
38503854
</li>
3851-
Keep in mind that renewing the mosaic definition costs you 50000 XEM again, so it is worthwhile to double check the data before issuing the
3855+
Keep in mind that renewing the mosaic definition costs you 10 XEM again, so it is worthwhile to double check the data before issuing the
38523856
transaction.
38533857
</p>
38543858

@@ -3864,7 +3868,7 @@ <h3>Changing the mosaic supply</h3>
38643868
"transaction":
38653869
{
38663870
"timeStamp": 9111526,
3867-
"fee": 108000000,
3871+
"fee": 150000,
38683872
"type": 16386,
38693873
"deadline": 9154726,
38703874
"version": -1744830463,
@@ -4223,10 +4227,10 @@ <h3>Gathering data for the signature</h3>
42234227
</ul>
42244228
</li>
42254229
<li>
4226-
<b>Rental fee (Root always: 5000000000, Sub always: 200000000) for namespace:</b> 8 bytes (long).
4230+
<b>Rental fee (Root always: 100<span></span>000000, Sub always: 10<span></span>000000) for namespace:</b> 8 bytes (long).
42274231
<ul>
4228-
<li><b>Root always:</b> 0x00, 0xf2, 0x05, 0x2a, 0x01, 0x00, 0x00, 0x00</li>
4229-
<li><b>Sub always:</b> 0x00, 0xc2, 0xeb, 0x0b, 0x00, 0x00, 0x00, 0x00</li>
4232+
<li><b>Root always:</b> 0x00, 0xe1, 0xf5, 0x05, 0x00, 0x00, 0x00, 0x00</li>
4233+
<li><b>Sub always:</b> 0x80, 0x96, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00</li>
42304234
</ul>
42314235
</li>
42324236
<li>
@@ -4686,20 +4690,20 @@ <h2>Transaction fees</h2>
46864690

46874691
<ol>
46884692
<li>Fees for transferring XEM to another account:<br>
4689-
1 xem per 10,000 xem transferred, capped at 25 xem<br>
4693+
0.05 XEM per 10,000 XEM transferred, capped at 1.25 XEM<br>
46904694
Example:<br>
4691-
4 xem fee for a 45,000 xem transfer, 25 xem fee for a 500,000 xem transfer.</li>
4695+
0.20 XEM fee for a 45,000 XEM transfer, 1.25 XEM fee for a 500,000 XEM transfer.</li>
46924696

46934697
<li>Fees for appending a message to a transaction:<br>
4694-
1 xem per commenced 32 message bytes (messageLength / 32 + 1).<br>
4698+
0.05 XEM per commenced 32 message bytes (messageLength / 32 + 1).<br>
46954699
Example:<br>
46964700
The unencrypted message „The New Economy Movement will change the world!!!” has a length 49
4697-
characters and thus will cost 2 xem fee.</li>
4701+
characters and thus will cost 0.15 XEM fee.</li>
46984702

46994703
<li>Fees for transferring a mosaic to another account:
47004704
<ol>
47014705
<li>mosaics with divisibility of 0 and a maximum supply of 10,000 are called small business mosaics.<br>
4702-
1 xem fee for any transfer of a small business mosaic.</li>
4706+
0.05 XEM fee for any transfer of a small business mosaic.</li>
47034707
<li> For each mosaic that is transferred the fee is calculated the following way:
47044708
given a mosaic with initial supply s, divisibility d and quantity q, the XEM equivalent is (round to the next smaller integer)<br>
47054709
xemEquivalent = (8,999,999,999 * q) / (s * 10^d) <br>
@@ -4709,8 +4713,10 @@ <h2>Transaction fees</h2>
47094713
<li> maxMosaicQuantity = 9,000,000,000,000,000 </li>
47104714
<li> totalMosaicQuantity = mosaic m supply * 10 ^ (mosaic m divisibility) </li>
47114715
<li> supplyRelatedAdjustment = floor(0.8 * ln(maxMosaicQuantity / totalMosaicQuantity) </li>
4712-
<li> Then the fee is calculated as<br>
4713-
fee = max(1L, xemFee - supplyRelatedAdjustment)</li>
4716+
<li> Then the unweighted fee is calculated as<br>
4717+
unweightedFee = max(1L, xemFee - supplyRelatedAdjustment)</li>
4718+
<li>Finally, the weighted fee can be calculated:<br>
4719+
fee = unweightedFee * feeUnit</li>
47144720
</ol>
47154721
Example:<br>
47164722
Suppose you have a mosaic with 9,000,000 supply and divisibility of 3.
@@ -4719,9 +4725,11 @@ <h2>Transaction fees</h2>
47194725
<li> supplyRelatedAdjustment = floor(0.8 * ln(9,000,000,000,000,000 / 9,000,000,000)) = floor(11.052) = 11 </li>
47204726
<li> transferring 150 such mosaics (i.e. a quantity of 150,000 smallest units) has<br>
47214727
xemEquivalent = (8,999,999,999 * 150,000) / (9,000,000 * 10^3) = 149,999<br>
4722-
xemFee = 14 xem</li>
4723-
<li> So the transction will have the following fee:<br>
4724-
fee = 14 xem - 11 xem = 3 xem</li>
4728+
xemFee = 14 XEM</li>
4729+
<li> So the transaction will have the following unweighted fee:<br>
4730+
unweightedFee = 14 XEM - 11 XEM = 3 XEM</li>
4731+
<li>Weighted with the current fee unit of 0.05:<br>
4732+
fee = 3 XEM * 0.05 = 0.15 XEM</li>
47254733
</ol>
47264734
</li>
47274735
</ol>
@@ -4734,20 +4742,15 @@ <h2>Transaction fees</h2>
47344742
<p class=JSON>Importance transfer transaction</p>
47354743
</td>
47364744
<td>
4737-
<p>6 XEM</p>
4745+
<p>0.15 XEM</p>
47384746
</td>
47394747
</tr>
47404748
<tr>
47414749
<td>
47424750
<p class=JSON>Aggregate modification transaction</p>
47434751
</td>
47444752
<td>
4745-
<p>10 + 6 * number of modifications + 6 (if a min cosignatory change is involved)<br>
4746-
Example:<br>
4747-
Adding 3 cosignatories to an account without changing the min cosignatories will cost<br>
4748-
10 + 6 * 3 = 28 XEM.<br>
4749-
Adding 3 cosignatories to an account and changing the min cosignatories will cost<br>
4750-
10 + 6 * 3 + 6 = 34 XEM.<br>
4753+
<p>0.5 XEM<br>
47514754
</p>
47524755
</td>
47534756
</tr>
@@ -4756,42 +4759,42 @@ <h2>Transaction fees</h2>
47564759
<p class=JSON>Multisig transaction</p>
47574760
</td>
47584761
<td>
4759-
<p>6 XEM</p>
4762+
<p>0.15 XEM</p>
47604763
</td>
47614764
</tr>
47624765
<tr>
47634766
<td>
47644767
<p class=JSON>Multisig signature transaction</p>
47654768
</td>
47664769
<td>
4767-
<p>6 XEM</p>
4770+
<p>0.15 XEM</p>
47684771
</td>
47694772
</tr>
47704773
<tr>
47714774
<td>
47724775
<p class=JSON>Provision namespace transaction</p>
47734776
</td>
47744777
<td>
4775-
<p>20 XEM</p>
4778+
<p>0.15 XEM</p>
47764779
<p>plus:</p>
4777-
<p>Fee for root namespace provisioning: 5000 XEM</p>
4778-
<p>Fee for sub-namespace provisioning: 200 XEM</p>
4780+
<p>Fee for root namespace provisioning: 100 XEM</p>
4781+
<p>Fee for sub-namespace provisioning: 10 XEM</p>
47794782
</td>
47804783
</tr>
47814784
<tr>
47824785
<td>
47834786
<p class=JSON>Mosaic definition creation transaction</p>
47844787
</td>
47854788
<td>
4786-
<p>20 XEM</p>
4789+
<p>0.15 XEM</p>
47874790
</td>
47884791
</tr>
47894792
<tr>
47904793
<td>
47914794
<p class=JSON>Mosaic supply change transaction</p>
47924795
</td>
47934796
<td>
4794-
<p>20 XEM</p>
4797+
<p>0.15 XEM</p>
47954798
</td>
47964799
</tr>
47974800
</table>
@@ -5639,7 +5642,7 @@ <h4>JSON structure by example (main network):</h4>
56395642
{
56405643
"timeStamp": 9111526,
56415644
"signature": "651a19ccd09c1e0f8b25f6a0aac5825b0a20f158ca4e0d78f2abd904a3966b6e3599a47b9ff199a3a6e1152231116fa4639fec684a56909c22cbf6db66613901",
5642-
"fee": 3000000,
5645+
"fee": 150000,
56435646
"mode": 1,
56445647
"remoteAccount": "cc6c9485d15b992501e57fe3799487e99de272f79c5442de94eeb998b45e0144",
56455648
"type": 2049,
@@ -5691,12 +5694,12 @@ <h4>JSON structure by example (test network):</h4>
56915694
{
56925695
"timeStamp": 9111526,
56935696
"signature": "651a19ccd09c1e0f8b25f6a0aac5825b0a20f158ca4e0d78f2abd904a3966b6e3599a47b9ff199a3a6e1152231116fa4639fec684a56909c22cbf6db66613901",
5694-
"fee": 108000000,
5697+
"fee": 150000,
56955698
"type": 16385,
56965699
"deadline": 9154726,
56975700
"version": -1744830463,
56985701
"signer": "cbda3edb771d42801a5c6ce0725f9374efade19a8933d6ac22ccfa50c777d0f9",
5699-
"creationFee": 50000000000,
5702+
"creationFee": 10000000,
57005703
"creationFeeSink": "53e140b5947f104cabc2d6fe8baedbc30ef9a0609c717d9613de593ec2a266d3",
57015704
"mosaicDefinition": {
57025705
"creator": "cbda3edb771d42801a5c6ce0725f9374efade19a8933d6ac22ccfa50c777d0f9",
@@ -5763,7 +5766,7 @@ <h4>JSON structure by example (test network):</h4>
57635766
{
57645767
"timeStamp": 9111526,
57655768
"signature": "651a19ccd09c1e0f8b25f6a0aac5825b0a20f158ca4e0d78f2abd904a3966b6e3599a47b9ff199a3a6e1152231116fa4639fec684a56909c22cbf6db66613901",
5766-
"fee": 108000000,
5769+
"fee": 150000,
57675770
"type": 16386,
57685771
"deadline": 9154726,
57695772
"version": -1744830463,
@@ -5818,7 +5821,7 @@ <h4>JSON structure by example (main network):</h4>
58185821
{
58195822
"timeStamp": 9111526,
58205823
"signature": "651a19ccd09c1e0f8b25f6a0aac5825b0a20f158ca4e0d78f2abd904a3966b6e3599a47b9ff199a3a6e1152231116fa4639fec684a56909c22cbf6db66613901",
5821-
"fee": 3000000,
5824+
"fee": 500000,
58225825
"type": 257,
58235826
"deadline": 9154726,
58245827
"version": 1744830466,
@@ -5882,7 +5885,7 @@ <h4>JSON structure by example (test network):</h4>
58825885
{
58835886
"timeStamp": 9111526,
58845887
"signature": "651a19ccd09c1e0f8b25f6a0aac5825b0a20f158ca4e0d78f2abd904a3966b6e3599a47b9ff199a3a6e1152231116fa4639fec684a56909c22cbf6db66613901",
5885-
"fee": 3000000,
5888+
"fee": 150000,
58865889
"type": 257,
58875890
"deadline": 9154726,
58885891
"version": -1744830463,
@@ -5920,7 +5923,7 @@ <h4>JSON structure by example (test network):</h4>
59205923
{
59215924
"timeStamp": 9111526,
59225925
"signature": "651a19ccd09c1e0f8b25f6a0aac5825b0a20f158ca4e0d78f2abd904a3966b6e3599a47b9ff199a3a6e1152231116fa4639fec684a56909c22cbf6db66613901",
5923-
"fee": 3000000,
5926+
"fee": 150000,
59245927
"type": 257,
59255928
"deadline": 9154726,
59265929
"version": -1744830463,
@@ -5959,13 +5962,13 @@ <h4>JSON structure by example (test network):</h4>
59595962
{
59605963
"timeStamp": 9111526,
59615964
"signature": "651a19ccd09c1e0f8b25f6a0aac5825b0a20f158ca4e0d78f2abd904a3966b6e3599a47b9ff199a3a6e1152231116fa4639fec684a56909c22cbf6db66613901",
5962-
"fee": 108000000,
5965+
"fee": 150000,
59635966
"type": 8193,
59645967
"deadline": 9154726,
59655968
"version": -1744830463,
59665969
"signer": "d99e88c90da71a4b0d848454e59e296c9ef7a8f018f3eaa3a198dc460b6621a4",
59675970
"rentalFeeSink": "3e82e1c1e4a75adaa3cba8c101c3cd31d9817a2eb966eb3b511fb2ed45b8e262",
5968-
"rentalFee": 5000000000,
5971+
"rentalFee": 10000000,
59695972
"newPart": "voucher",
59705973
"parent": "alice"
59715974
}
@@ -6005,7 +6008,7 @@ <h4>JSON structure by example (v1 transfer transaction, test network):</h4>
60056008
"timeStamp": 9111526,
60066009
"amount": 1000000000,
60076010
"signature": "651a19ccd09c1e0f8b25f6a0aac5825b0a20f158ca4e0d78f2abd904a3966b6e3599a47b9ff199a3a6e1152231116fa4639fec684a56909c22cbf6db66613901",
6008-
"fee": 3000000,
6011+
"fee": 50000,
60096012
"recipient": "TDGIMREMR5NSRFUOMPI5OOHLDATCABNPC5ID2SVA",
60106013
"type": 257,
60116014
"deadline": 9154726,
@@ -6025,7 +6028,7 @@ <h4>JSON structure by example (v2 transfer transaction, test network):</h4>
60256028
"timeStamp": 9111526,
60266029
"amount": 123000000,
60276030
"signature": "fad7ea2b5df5f7846f45fd9983a75ad8d333af3660f4f0d355864420f4482605d675e89d97177385338b226097342b4222add52c5397423f9eaf6b01fe3ef70c",
6028-
"fee": 3000000,
6031+
"fee": 100000,
60296032
"recipient": "TBEH27FNRS43FNH3PXE4XN3H7HXA37H77APSZW46",
60306033
"type": 257,
60316034
"deadline": 9154726,
@@ -6677,7 +6680,7 @@ <h4>JSON structure by example (test network):</h4>
66776680
{
66786681
"timeStamp": 9111526,
66796682
"amount": 1000000000,
6680-
"fee": 3000000,
6683+
"fee": 50000,
66816684
"recipient": "TDGIMREMR5NSRFUOMPI5OOHLDATCABNPC5ID2SVA",
66826685
"type": 257,
66836686
"deadline": 9154726,

image002.png

-13.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)