@aeternity/aepp-sdk 8.2.1 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/CHANGELOG.md +216 -337
  2. package/README.md +16 -9
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -9
  5. package/dist/aepp-sdk.browser-script.js.map +1 -1
  6. package/dist/aepp-sdk.browser.js +1 -1
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +1 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/account/base.js +36 -120
  11. package/es/account/base.js.map +1 -1
  12. package/es/account/memory.js +17 -19
  13. package/es/account/memory.js.map +1 -1
  14. package/es/account/multiple.js +79 -156
  15. package/es/account/multiple.js.map +1 -1
  16. package/es/ae/aens.js +205 -626
  17. package/es/ae/aens.js.map +1 -1
  18. package/es/ae/contract.js +114 -918
  19. package/es/ae/contract.js.map +1 -1
  20. package/es/ae/index.js +90 -250
  21. package/es/ae/index.js.map +1 -1
  22. package/es/ae/oracle.js +136 -504
  23. package/es/ae/oracle.js.map +1 -1
  24. package/es/ae/universal.js.map +1 -1
  25. package/es/chain/index.js +12 -27
  26. package/es/chain/index.js.map +1 -1
  27. package/es/chain/node.js +289 -1020
  28. package/es/chain/node.js.map +1 -1
  29. package/es/channel/handlers.js +597 -1086
  30. package/es/channel/handlers.js.map +1 -1
  31. package/es/channel/index.js +238 -465
  32. package/es/channel/index.js.map +1 -1
  33. package/es/channel/internal.js +129 -301
  34. package/es/channel/internal.js.map +1 -1
  35. package/es/contract/aci/index.js +328 -495
  36. package/es/contract/aci/index.js.map +1 -1
  37. package/es/contract/aci/transformation.js +35 -711
  38. package/es/contract/aci/transformation.js.map +1 -1
  39. package/es/contract/compiler.js +131 -203
  40. package/es/contract/compiler.js.map +1 -1
  41. package/es/contract/ga/helpers.js +17 -122
  42. package/es/contract/ga/helpers.js.map +1 -1
  43. package/es/contract/ga/index.js +108 -249
  44. package/es/contract/ga/index.js.map +1 -1
  45. package/es/contract/index.js +7 -3
  46. package/es/contract/index.js.map +1 -1
  47. package/es/index.js +3 -3
  48. package/es/index.js.map +1 -1
  49. package/es/node-pool/index.js +57 -74
  50. package/es/node-pool/index.js.map +1 -1
  51. package/es/node.js +65 -161
  52. package/es/node.js.map +1 -1
  53. package/es/other.d.ts +1 -1
  54. package/es/tx/builder/helpers.js +62 -115
  55. package/es/tx/builder/helpers.js.map +1 -1
  56. package/es/tx/builder/index.js +218 -309
  57. package/es/tx/builder/index.js.map +1 -1
  58. package/es/tx/builder/schema.js +586 -573
  59. package/es/tx/builder/schema.js.map +1 -1
  60. package/es/tx/index.js +102 -13
  61. package/es/tx/index.js.map +1 -1
  62. package/es/tx/tx-object.js +114 -138
  63. package/es/tx/tx-object.js.map +1 -1
  64. package/es/tx/tx.js +810 -1586
  65. package/es/tx/tx.js.map +1 -1
  66. package/es/tx/validator.js +191 -426
  67. package/es/tx/validator.js.map +1 -1
  68. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +20 -23
  69. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +1 -1
  70. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +53 -80
  71. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +1 -1
  72. package/es/utils/aepp-wallet-communication/connection/index.js +2 -1
  73. package/es/utils/aepp-wallet-communication/connection/index.js.map +1 -1
  74. package/es/utils/aepp-wallet-communication/content-script-bridge.js +24 -19
  75. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +1 -1
  76. package/es/utils/aepp-wallet-communication/helpers.js +60 -105
  77. package/es/utils/aepp-wallet-communication/helpers.js.map +1 -1
  78. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +191 -514
  79. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +1 -1
  80. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +78 -93
  81. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +1 -1
  82. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +381 -613
  83. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +1 -1
  84. package/es/utils/aepp-wallet-communication/schema.js +43 -39
  85. package/es/utils/aepp-wallet-communication/schema.js.map +1 -1
  86. package/es/utils/aepp-wallet-communication/wallet-detector.js +32 -58
  87. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +1 -1
  88. package/es/utils/amount-formatter.js +41 -61
  89. package/es/utils/amount-formatter.js.map +1 -1
  90. package/es/utils/async-init.js +28 -64
  91. package/es/utils/async-init.js.map +1 -1
  92. package/es/utils/bignumber.js +3 -11
  93. package/es/utils/bignumber.js.map +1 -1
  94. package/es/utils/bytes.js +5 -9
  95. package/es/utils/bytes.js.map +1 -1
  96. package/es/utils/crypto.js +41 -106
  97. package/es/utils/crypto.js.map +1 -1
  98. package/es/utils/hd-wallet.js +45 -81
  99. package/es/utils/hd-wallet.js.map +1 -1
  100. package/es/utils/json-big.js +16 -49
  101. package/es/utils/json-big.js.map +1 -1
  102. package/es/utils/keystore.js +81 -246
  103. package/es/utils/keystore.js.map +1 -1
  104. package/es/utils/mptree.js +88 -134
  105. package/es/utils/mptree.js.map +1 -1
  106. package/es/utils/other.js +10 -60
  107. package/es/utils/other.js.map +1 -1
  108. package/es/utils/semver-satisfies.js +9 -28
  109. package/es/utils/semver-satisfies.js.map +1 -1
  110. package/es/utils/string.js +4 -13
  111. package/es/utils/string.js.map +1 -1
  112. package/es/utils/swagger.js +87 -224
  113. package/es/utils/swagger.js.map +1 -1
  114. package/package.json +51 -44
  115. package/src/account/base.js +11 -10
  116. package/src/account/multiple.js +24 -18
  117. package/src/ae/aens.js +64 -61
  118. package/src/ae/contract.js +71 -248
  119. package/src/ae/index.js +34 -9
  120. package/src/ae/oracle.js +30 -22
  121. package/src/ae/universal.js +3 -1
  122. package/src/chain/index.js +10 -16
  123. package/src/chain/node.js +38 -38
  124. package/src/channel/handlers.js +10 -4
  125. package/src/channel/index.js +44 -20
  126. package/src/contract/aci/index.js +234 -112
  127. package/src/contract/aci/transformation.js +30 -422
  128. package/src/contract/compiler.js +50 -5
  129. package/src/contract/ga/helpers.js +6 -14
  130. package/src/contract/ga/index.js +28 -28
  131. package/src/contract/index.js +6 -2
  132. package/src/index.js +4 -4
  133. package/src/node-pool/index.js +24 -13
  134. package/src/node.js +29 -30
  135. package/src/tx/builder/helpers.js +31 -56
  136. package/src/tx/builder/index.js +67 -28
  137. package/src/tx/builder/schema.js +79 -121
  138. package/src/tx/index.js +101 -12
  139. package/src/tx/tx-object.js +25 -8
  140. package/src/tx/tx.js +229 -150
  141. package/src/tx/validator.js +134 -202
  142. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +3 -2
  143. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +25 -7
  144. package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
  145. package/src/utils/aepp-wallet-communication/content-script-bridge.js +10 -4
  146. package/src/utils/aepp-wallet-communication/helpers.js +4 -2
  147. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +33 -12
  148. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +9 -5
  149. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +59 -29
  150. package/src/utils/aepp-wallet-communication/schema.js +1 -3
  151. package/src/utils/aepp-wallet-communication/wallet-detector.js +4 -1
  152. package/src/utils/amount-formatter.ts +1 -1
  153. package/src/utils/bignumber.ts +2 -1
  154. package/src/utils/crypto.js +4 -68
  155. package/src/utils/keystore.js +10 -2
  156. package/src/utils/other.ts +1 -1
  157. package/src/utils/semver-satisfies.ts +1 -1
  158. package/src/utils/swagger.js +22 -10
  159. package/src/contract/aci/helpers.js +0 -140
@@ -1,13 +1,3 @@
1
- import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
2
- import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
3
-
4
- var _PROTOCOL_VERSIONS$IR, _OBJECT_ID_TX_TYPE, _VALIDATION_MESSAGE, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14, _context15, _context16, _context17, _context18, _context19, _context20, _context21, _context22, _context23, _context24, _context25, _context26, _context27, _context28, _context29, _context30, _context31, _context32, _context33, _context34, _context35, _context36, _context37, _context38, _context39, _context40, _context41, _context42, _context43, _context44, _context45, _context46, _context47, _context48, _context49, _TX_SERIALIZATION_SCH, _TX_DESERIALIZATION_S;
5
-
6
- import _reduceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/reduce";
7
- import _Object$entries from "@babel/runtime-corejs3/core-js-stable/object/entries";
8
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
9
- import _JSON$stringify from "@babel/runtime-corejs3/core-js-stable/json/stringify";
10
-
11
1
  /**
12
2
  * Transaction Schema for TxBuilder
13
3
  * @module @aeternity/aepp-sdk/es/tx/builder/schema
@@ -17,61 +7,65 @@ import _JSON$stringify from "@babel/runtime-corejs3/core-js-stable/json/stringif
17
7
  // # RLP version number
18
8
  // # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
19
9
  import BigNumber from 'bignumber.js';
20
- export var VSN = 1;
21
- export var VSN_2 = 2; // # TRANSACTION DEFAULT TTL
10
+ export const VSN = 1;
11
+ export const VSN_2 = 2; // # TRANSACTION DEFAULT TTL
22
12
 
23
- export var TX_TTL = 0; // # ORACLE
13
+ export const TX_TTL = 0; // # ORACLE
24
14
 
25
- export var QUERY_FEE = 30000;
26
- export var ORACLE_TTL = {
15
+ export const QUERY_FEE = 30000;
16
+ export const ORACLE_TTL = {
27
17
  type: 'delta',
28
18
  value: 500
29
19
  };
30
- export var QUERY_TTL = {
20
+ export const QUERY_TTL = {
31
21
  type: 'delta',
32
22
  value: 10
33
23
  };
34
- export var RESPONSE_TTL = {
24
+ export const RESPONSE_TTL = {
35
25
  type: 'delta',
36
26
  value: 10
37
27
  }; // # CONTRACT
38
28
 
39
- export var DEPOSIT = 0;
40
- export var AMOUNT = 0;
41
- export var GAS = 1600000 - 21000;
42
- export var MIN_GAS_PRICE = 1e9;
43
- export var MAX_AUTH_FUN_GAS = 50000;
44
- export var DRY_RUN_ACCOUNT = {
29
+ export const DEPOSIT = 0;
30
+ export const AMOUNT = 0;
31
+ export const GAS = 25000;
32
+ export const MIN_GAS_PRICE = 1e9;
33
+ export const MAX_AUTH_FUN_GAS = 50000;
34
+ export const DRY_RUN_ACCOUNT = {
45
35
  pub: 'ak_11111111111111111111111111111111273Yts',
46
36
  amount: '100000000000000000000000000000000000'
47
37
  }; // # AENS
48
38
 
49
- export var NAME_TTL = 180000; // # max number of block into the future that the name is going to be available
39
+ export const NAME_TTL = 180000; // # max number of block into the future that the name is going to be available
50
40
  // # https://github.com/aeternity/protocol/blob/epoch-v0.22.0/AENS.md#update
51
41
  // # https://github.com/aeternity/protocol/blob/44a93d3aab957ca820183c3520b9daf6b0fedff4/AENS.md#aens-entry
52
42
 
53
- export var NAME_MAX_TTL = 36000;
54
- export var NAME_MAX_CLIENT_TTL = 84600;
55
- export var CLIENT_TTL = NAME_MAX_CLIENT_TTL;
56
- export var NAME_FEE = 0; // # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67
43
+ export const NAME_MAX_TTL = 36000;
44
+ export const NAME_MAX_CLIENT_TTL = 84600;
45
+ export const CLIENT_TTL = NAME_MAX_CLIENT_TTL;
46
+ export const NAME_FEE = 0; // # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67
57
47
 
58
- export var NAME_FEE_MULTIPLIER = 100000000000000;
59
- export var NAME_FEE_BID_INCREMENT = 0.05; // # the increment is in percentage
48
+ export const NAME_FEE_MULTIPLIER = 1e14; // 100000000000000
49
+
50
+ export const NAME_FEE_BID_INCREMENT = 0.05; // # the increment is in percentage
60
51
  // # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272
61
52
 
62
- export var NAME_BID_TIMEOUT_BLOCKS = 480; // # ~1 day
53
+ export const NAME_BID_TIMEOUT_BLOCKS = 480; // # ~1 day
54
+ // # this is the max length for a domain that requires a base fee to be paid
63
55
 
64
- export var NAME_BID_MAX_LENGTH = 12; // # this is the max length for a domain to be part of a bid
56
+ export const NAME_MAX_LENGTH_FEE = 31;
57
+ export const NAME_BID_MAX_LENGTH = 12; // # this is the max length for a domain to be part of a bid
65
58
 
66
- export var NAME_ID_KEY = {
59
+ export const POINTER_KEY_BY_PREFIX = {
67
60
  ak: 'account_pubkey',
68
61
  ok: 'oracle_pubkey',
69
62
  ct: 'contract_pubkey',
70
63
  ch: 'channel'
71
- }; // # ref: https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290
64
+ }; // # https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290
65
+ // # https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times
72
66
  // # bid ranges:
73
67
 
74
- export var NAME_BID_RANGES = {
68
+ export const NAME_BID_RANGES = {
75
69
  31: BigNumber(3).times(NAME_FEE_MULTIPLIER),
76
70
  30: BigNumber(5).times(NAME_FEE_MULTIPLIER),
77
71
  29: BigNumber(8).times(NAME_FEE_MULTIPLIER),
@@ -106,7 +100,7 @@ export var NAME_BID_RANGES = {
106
100
  }; // # ref: https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273
107
101
  // # name bid timeouts
108
102
 
109
- export var NAME_BID_TIMEOUTS = {
103
+ export const NAME_BID_TIMEOUTS = {
110
104
  13: BigNumber(0),
111
105
  12: BigNumber(NAME_BID_TIMEOUT_BLOCKS),
112
106
  // # 480 blocks
@@ -118,80 +112,70 @@ export var NAME_BID_TIMEOUTS = {
118
112
  // # see https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type
119
113
  // # <<Tag:1/unsigned-integer-unit:8, Hash:32/binary-unit:8>>
120
114
 
121
- var ID_TAG_ACCOUNT = 1;
122
- var ID_TAG_NAME = 2;
123
- var ID_TAG_COMMITMENT = 3;
124
- var ID_TAG_ORACLE = 4;
125
- var ID_TAG_CONTRACT = 5;
126
- var ID_TAG_CHANNEL = 6; // # OBJECT tags
115
+ const ID_TAG_ACCOUNT = 1;
116
+ const ID_TAG_NAME = 2;
117
+ const ID_TAG_COMMITMENT = 3;
118
+ const ID_TAG_ORACLE = 4;
119
+ const ID_TAG_CONTRACT = 5;
120
+ const ID_TAG_CHANNEL = 6; // # OBJECT tags
127
121
  // # see https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
128
122
 
129
- var OBJECT_TAG_ACCOUNT = 10;
130
- export var OBJECT_TAG_SIGNED_TRANSACTION = 11;
131
- var OBJECT_TAG_SPEND_TRANSACTION = 12;
132
- var OBJECT_TAG_ORACLE_REGISTER_TRANSACTION = 22;
133
- var OBJECT_TAG_ORACLE_QUERY_TRANSACTION = 23;
134
- var OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION = 24;
135
- var OBJECT_TAG_ORACLE_EXTEND_TRANSACTION = 25;
136
- var OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION = 32;
137
- var OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION = 33;
138
- var OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION = 34;
139
- var OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION = 35;
140
- var OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION = 36;
141
- var OBJECT_TAG_CONTRACT = 40;
142
- var OBJECT_TAG_CONTRACT_CALL = 41;
143
- var OBJECT_TAG_CONTRACT_CREATE_TRANSACTION = 42;
144
- var OBJECT_TAG_CONTRACT_CALL_TRANSACTION = 43;
145
- var OBJECT_TAG_CHANNEL_CREATE_TX = 50;
146
- var OBJECT_TAG_CHANNEL_DEPOSIT_TX = 51;
147
- var OBJECT_TAG_CHANNEL_WITHRAW_TX = 52;
148
- var OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX = 53;
149
- var OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX = 54;
150
- var OBJECT_TAG_CHANNEL_SLASH_TX = 55;
151
- var OBJECT_TAG_CHANNEL_SETTLE_TX = 56;
152
- var OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX = 521;
153
- var OBJECT_TAG_CHANNEL_OFFCHAIN_TX = 57;
154
- var OBJECT_TAG_CHANNEL = 58;
155
- var OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX = 59;
156
- var OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = 570;
157
- var OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = 571;
158
- var OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = 572;
159
- var OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = 573;
160
- var OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = 574;
161
- var OBJECT_TAG_CHANNEL_RECONNECT_TX = 575;
162
- var OBJECT_TAG_PROOF_OF_INCLUSION = 60;
163
- var OBJECT_TAG_STATE_TREES = 62;
164
- var OBJECT_TAG_MERKLE_PATRICIA_TREE = 63;
165
- var OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE = 64;
166
- var OBJECT_TAG_CONTRACTS_TREE = 621;
167
- var OBJECT_TAG_CONTRACT_CALLS_TREE = 622;
168
- var OBJECT_TAG_CHANNELS_TREE = 623;
169
- var OBJECT_TAG_NAMESERVICE_TREE = 624;
170
- var OBJECT_TAG_ORACLES_TREE = 625;
171
- var OBJECT_TAG_ACCOUNTS_TREE = 626;
172
- var OBJECT_TAG_GA_ATTACH = 80;
173
- var OBJECT_TAG_GA_META = 81;
174
- var OBJECT_TAG_SOPHIA_BYTE_CODE = 70;
175
-
176
- var TX_FIELD = function TX_FIELD(name, type, prefix) {
177
- return [name, type, prefix];
178
- };
179
-
180
- var TX_SCHEMA_FIELD = function TX_SCHEMA_FIELD(schema, objectId) {
181
- return [schema, objectId];
182
- };
183
-
184
- var revertObject = function revertObject(obj) {
185
- var _context;
186
-
187
- return _reduceInstanceProperty(_context = _Object$entries(obj)).call(_context, function (acc, _ref) {
188
- var _ref2 = _slicedToArray(_ref, 2),
189
- key = _ref2[0],
190
- v = _ref2[1];
191
-
192
- return (acc[v] = key) && acc;
193
- }, {});
194
- };
123
+ const OBJECT_TAG_ACCOUNT = 10;
124
+ export const OBJECT_TAG_SIGNED_TRANSACTION = 11;
125
+ const OBJECT_TAG_SPEND_TRANSACTION = 12;
126
+ const OBJECT_TAG_ORACLE_REGISTER_TRANSACTION = 22;
127
+ const OBJECT_TAG_ORACLE_QUERY_TRANSACTION = 23;
128
+ const OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION = 24;
129
+ const OBJECT_TAG_ORACLE_EXTEND_TRANSACTION = 25;
130
+ const OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION = 32;
131
+ const OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION = 33;
132
+ const OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION = 34;
133
+ const OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION = 35;
134
+ const OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION = 36;
135
+ const OBJECT_TAG_CONTRACT = 40;
136
+ const OBJECT_TAG_CONTRACT_CALL = 41;
137
+ const OBJECT_TAG_CONTRACT_CREATE_TRANSACTION = 42;
138
+ const OBJECT_TAG_CONTRACT_CALL_TRANSACTION = 43;
139
+ const OBJECT_TAG_CHANNEL_CREATE_TX = 50;
140
+ const OBJECT_TAG_CHANNEL_DEPOSIT_TX = 51;
141
+ const OBJECT_TAG_CHANNEL_WITHRAW_TX = 52;
142
+ const OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX = 53;
143
+ const OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX = 54;
144
+ const OBJECT_TAG_CHANNEL_SLASH_TX = 55;
145
+ const OBJECT_TAG_CHANNEL_SETTLE_TX = 56;
146
+ const OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX = 521;
147
+ const OBJECT_TAG_CHANNEL_OFFCHAIN_TX = 57;
148
+ const OBJECT_TAG_CHANNEL = 58;
149
+ const OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX = 59;
150
+ const OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = 570;
151
+ const OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = 571;
152
+ const OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = 572;
153
+ const OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = 573;
154
+ const OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = 574;
155
+ const OBJECT_TAG_CHANNEL_RECONNECT_TX = 575;
156
+ const OBJECT_TAG_PROOF_OF_INCLUSION = 60;
157
+ const OBJECT_TAG_STATE_TREES = 62;
158
+ const OBJECT_TAG_MERKLE_PATRICIA_TREE = 63;
159
+ const OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE = 64;
160
+ const OBJECT_TAG_CONTRACTS_TREE = 621;
161
+ const OBJECT_TAG_CONTRACT_CALLS_TREE = 622;
162
+ const OBJECT_TAG_CHANNELS_TREE = 623;
163
+ const OBJECT_TAG_NAMESERVICE_TREE = 624;
164
+ const OBJECT_TAG_ORACLES_TREE = 625;
165
+ const OBJECT_TAG_ACCOUNTS_TREE = 626;
166
+ const OBJECT_TAG_GA_ATTACH = 80;
167
+ const OBJECT_TAG_GA_META = 81;
168
+ const OBJECT_TAG_PAYING_FOR = 82;
169
+ const OBJECT_TAG_SOPHIA_BYTE_CODE = 70;
170
+
171
+ const TX_FIELD = (name, type, prefix) => [name, type, prefix];
172
+
173
+ const TX_SCHEMA_FIELD = (schema, objectId) => [schema, objectId];
174
+
175
+ const revertObject = obj => Object.entries(obj).reduce((acc, _ref) => {
176
+ let [key, v] = _ref;
177
+ return (acc[v] = key) && acc;
178
+ }, {});
195
179
  /**
196
180
  * @constant
197
181
  * @description Object with transaction types
@@ -212,7 +196,7 @@ var revertObject = function revertObject(obj) {
212
196
  */
213
197
 
214
198
 
215
- export var TX_TYPE = {
199
+ export const TX_TYPE = {
216
200
  account: 'account',
217
201
  signed: 'signedTx',
218
202
  spend: 'spendTx',
@@ -263,10 +247,11 @@ export var TX_TYPE = {
263
247
  // GA ACCOUNTS
264
248
  gaAttach: 'gaAttach',
265
249
  gaMeta: 'gaMeta',
250
+ payingFor: 'payingFor',
266
251
  sophiaByteCode: 'sophiaByteCode'
267
252
  }; // # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain
268
253
 
269
- export var VM_VERSIONS = {
254
+ export const VM_VERSIONS = {
270
255
  NO_VM: 0,
271
256
  SOPHIA: 1,
272
257
  SOPHIA_IMPROVEMENTS_MINERVA: 3,
@@ -276,28 +261,88 @@ export var VM_VERSIONS = {
276
261
  FATE_2: 7
277
262
  }; // # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain
278
263
 
279
- export var ABI_VERSIONS = {
264
+ export const ABI_VERSIONS = {
280
265
  NO_ABI: 0,
281
266
  SOPHIA: 1,
282
267
  FATE: 3
283
268
  };
284
- export var PROTOCOL_VERSIONS = {
269
+ export const PROTOCOL_VERSIONS = {
285
270
  IRIS: 5
286
271
  }; // First abi/vm by default
287
272
 
288
- export var PROTOCOL_VM_ABI = _defineProperty({}, PROTOCOL_VERSIONS.IRIS, (_PROTOCOL_VERSIONS$IR = {}, _defineProperty(_PROTOCOL_VERSIONS$IR, TX_TYPE.contractCreate, {
289
- vmVersion: [VM_VERSIONS.FATE_2],
290
- abiVersion: [ABI_VERSIONS.FATE]
291
- }), _defineProperty(_PROTOCOL_VERSIONS$IR, TX_TYPE.contractCall, {
292
- vmVersion: [VM_VERSIONS.FATE_2, VM_VERSIONS.FATE, VM_VERSIONS.SOPHIA_IMPROVEMENTS_LIMA, VM_VERSIONS.SOPHIA_IMPROVEMENTS_FORTUNA, VM_VERSIONS.SOPHIA, VM_VERSIONS.SOPHIA_IMPROVEMENTS_MINERVA],
293
- abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]
294
- }), _defineProperty(_PROTOCOL_VERSIONS$IR, TX_TYPE.oracleRegister, {
295
- vmVersion: [],
296
- abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]
297
- }), _PROTOCOL_VERSIONS$IR));
298
- export var OBJECT_ID_TX_TYPE = (_OBJECT_ID_TX_TYPE = {}, _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_ACCOUNT, TX_TYPE.account), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_SIGNED_TRANSACTION, TX_TYPE.signed), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_SPEND_TRANSACTION, TX_TYPE.spend), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION, TX_TYPE.nameClaim), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION, TX_TYPE.namePreClaim), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION, TX_TYPE.nameUpdate), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION, TX_TYPE.nameRevoke), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION, TX_TYPE.nameTransfer), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CONTRACT, TX_TYPE.contract), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION, TX_TYPE.contractCreate), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CONTRACT_CALL_TRANSACTION, TX_TYPE.contractCall), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CONTRACT_CALL, TX_TYPE.contractCallResult), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION, TX_TYPE.oracleRegister), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION, TX_TYPE.oracleExtend), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_ORACLE_QUERY_TRANSACTION, TX_TYPE.oracleQuery), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION, TX_TYPE.oracleResponse), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_CREATE_TX, TX_TYPE.channelCreate), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX, TX_TYPE.channelCloseMutual), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX, TX_TYPE.channelCloseSolo), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_SLASH_TX, TX_TYPE.channelSlash), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX, TX_TYPE.channelForceProgress), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_DEPOSIT_TX, TX_TYPE.channelDeposit), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_WITHRAW_TX, TX_TYPE.channelWithdraw), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_SETTLE_TX, TX_TYPE.channelSettle), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_OFFCHAIN_TX, TX_TYPE.channelOffChain), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL, TX_TYPE.channel), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX, TX_TYPE.channelSnapshotSolo), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, TX_TYPE.channelOffChainUpdateTransfer), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, TX_TYPE.channelOffChainUpdateDeposit), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, TX_TYPE.channelOffChainUpdateWithdrawal), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, TX_TYPE.channelOffChainCreateContract), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, TX_TYPE.channelOffChainCallContract), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNEL_RECONNECT_TX, TX_TYPE.channelReconnect), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_PROOF_OF_INCLUSION, TX_TYPE.proofOfInclusion), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_STATE_TREES, TX_TYPE.stateTrees), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_MERKLE_PATRICIA_TREE, TX_TYPE.merklePatriciaTree), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE, TX_TYPE.merklePatriciaTreeValue), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CONTRACTS_TREE, TX_TYPE.contractsTree), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CONTRACT_CALLS_TREE, TX_TYPE.contractCallsTree), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_CHANNELS_TREE, TX_TYPE.channelsTree), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_NAMESERVICE_TREE, TX_TYPE.nameserviceTree), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_ORACLES_TREE, TX_TYPE.oraclesTree), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_ACCOUNTS_TREE, TX_TYPE.accountsTree), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_GA_ATTACH, TX_TYPE.gaAttach), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_GA_META, TX_TYPE.gaMeta), _defineProperty(_OBJECT_ID_TX_TYPE, OBJECT_TAG_SOPHIA_BYTE_CODE, TX_TYPE.sophiaByteCode), _OBJECT_ID_TX_TYPE);
299
- export var FIELD_TYPES = {
300
- "int": 'int',
273
+ export const PROTOCOL_VM_ABI = {
274
+ [PROTOCOL_VERSIONS.IRIS]: {
275
+ [TX_TYPE.contractCreate]: {
276
+ vmVersion: [VM_VERSIONS.FATE_2],
277
+ abiVersion: [ABI_VERSIONS.FATE]
278
+ },
279
+ // TODO: Ensure that AEVM is still available here
280
+ [TX_TYPE.contractCall]: {
281
+ vmVersion: [VM_VERSIONS.FATE_2, VM_VERSIONS.FATE, VM_VERSIONS.SOPHIA_IMPROVEMENTS_LIMA, VM_VERSIONS.SOPHIA_IMPROVEMENTS_FORTUNA, VM_VERSIONS.SOPHIA, VM_VERSIONS.SOPHIA_IMPROVEMENTS_MINERVA],
282
+ abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]
283
+ },
284
+ [TX_TYPE.oracleRegister]: {
285
+ vmVersion: [],
286
+ abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]
287
+ }
288
+ }
289
+ };
290
+ export const OBJECT_ID_TX_TYPE = {
291
+ [OBJECT_TAG_ACCOUNT]: TX_TYPE.account,
292
+ [OBJECT_TAG_SIGNED_TRANSACTION]: TX_TYPE.signed,
293
+ [OBJECT_TAG_SPEND_TRANSACTION]: TX_TYPE.spend,
294
+ // AENS
295
+ [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: TX_TYPE.nameClaim,
296
+ [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: TX_TYPE.namePreClaim,
297
+ [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: TX_TYPE.nameUpdate,
298
+ [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: TX_TYPE.nameRevoke,
299
+ [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: TX_TYPE.nameTransfer,
300
+ // CONTRACT
301
+ [OBJECT_TAG_CONTRACT]: TX_TYPE.contract,
302
+ [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: TX_TYPE.contractCreate,
303
+ [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: TX_TYPE.contractCall,
304
+ [OBJECT_TAG_CONTRACT_CALL]: TX_TYPE.contractCallResult,
305
+ // ORACLE
306
+ [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: TX_TYPE.oracleRegister,
307
+ [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: TX_TYPE.oracleExtend,
308
+ [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: TX_TYPE.oracleQuery,
309
+ [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: TX_TYPE.oracleResponse,
310
+ // STATE CHANNEL
311
+ [OBJECT_TAG_CHANNEL_CREATE_TX]: TX_TYPE.channelCreate,
312
+ [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: TX_TYPE.channelCloseMutual,
313
+ [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: TX_TYPE.channelCloseSolo,
314
+ [OBJECT_TAG_CHANNEL_SLASH_TX]: TX_TYPE.channelSlash,
315
+ [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: TX_TYPE.channelForceProgress,
316
+ [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: TX_TYPE.channelDeposit,
317
+ [OBJECT_TAG_CHANNEL_WITHRAW_TX]: TX_TYPE.channelWithdraw,
318
+ [OBJECT_TAG_CHANNEL_SETTLE_TX]: TX_TYPE.channelSettle,
319
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: TX_TYPE.channelOffChain,
320
+ [OBJECT_TAG_CHANNEL]: TX_TYPE.channel,
321
+ [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: TX_TYPE.channelSnapshotSolo,
322
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: TX_TYPE.channelOffChainUpdateTransfer,
323
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: TX_TYPE.channelOffChainUpdateDeposit,
324
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: TX_TYPE.channelOffChainUpdateWithdrawal,
325
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: TX_TYPE.channelOffChainCreateContract,
326
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: TX_TYPE.channelOffChainCallContract,
327
+ [OBJECT_TAG_CHANNEL_RECONNECT_TX]: TX_TYPE.channelReconnect,
328
+ [OBJECT_TAG_PROOF_OF_INCLUSION]: TX_TYPE.proofOfInclusion,
329
+ [OBJECT_TAG_STATE_TREES]: TX_TYPE.stateTrees,
330
+ [OBJECT_TAG_MERKLE_PATRICIA_TREE]: TX_TYPE.merklePatriciaTree,
331
+ [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: TX_TYPE.merklePatriciaTreeValue,
332
+ [OBJECT_TAG_CONTRACTS_TREE]: TX_TYPE.contractsTree,
333
+ [OBJECT_TAG_CONTRACT_CALLS_TREE]: TX_TYPE.contractCallsTree,
334
+ [OBJECT_TAG_CHANNELS_TREE]: TX_TYPE.channelsTree,
335
+ [OBJECT_TAG_NAMESERVICE_TREE]: TX_TYPE.nameserviceTree,
336
+ [OBJECT_TAG_ORACLES_TREE]: TX_TYPE.oraclesTree,
337
+ [OBJECT_TAG_ACCOUNTS_TREE]: TX_TYPE.accountsTree,
338
+ // GA Accounts
339
+ [OBJECT_TAG_GA_ATTACH]: TX_TYPE.gaAttach,
340
+ [OBJECT_TAG_GA_META]: TX_TYPE.gaMeta,
341
+ [OBJECT_TAG_PAYING_FOR]: TX_TYPE.payingFor,
342
+ [OBJECT_TAG_SOPHIA_BYTE_CODE]: TX_TYPE.sophiaByteCode
343
+ };
344
+ export const FIELD_TYPES = {
345
+ int: 'int',
301
346
  amount: 'amount',
302
347
  id: 'id',
303
348
  ids: 'ids',
@@ -322,45 +367,50 @@ export var FIELD_TYPES = {
322
367
  stateTree: 'stateTree'
323
368
  }; // FEE CALCULATION
324
369
 
325
- export var BASE_GAS = 15000;
326
- export var GAS_PER_BYTE = 20;
327
- export var DEFAULT_FEE = 20000;
328
- export var KEY_BLOCK_INTERVAL = 3; // MAP WITH FEE CALCULATION https://github.com/aeternity/protocol/blob/master/consensus/consensus.md#gas
370
+ export const BASE_GAS = 15000;
371
+ export const GAS_PER_BYTE = 20;
372
+ export const DEFAULT_FEE = 20000;
373
+ export const KEY_BLOCK_INTERVAL = 3; // MAP WITH FEE CALCULATION https://github.com/aeternity/protocol/blob/master/consensus/consensus.md#gas
374
+
375
+ export const TX_FEE_BASE_GAS = txType => {
376
+ const factor = {
377
+ [TX_TYPE.channelForceProgress]: 30,
378
+ [TX_TYPE.channelOffChain]: 0,
379
+ [TX_TYPE.channelOffChainCallContract]: 0,
380
+ [TX_TYPE.channelOffChainCreateContract]: 0,
381
+ [TX_TYPE.channelOffChainUpdateDeposit]: 0,
382
+ [TX_TYPE.channelOffChainUpdateWithdrawal]: 0,
383
+ [TX_TYPE.channelOffChainUpdateTransfer]: 0,
384
+ [TX_TYPE.contractCreate]: 5,
385
+ [TX_TYPE.contractCall]: 12,
386
+ [TX_TYPE.gaAttach]: 5,
387
+ [TX_TYPE.gaMeta]: 5,
388
+ [TX_TYPE.payingFor]: 1 / 5
389
+ }[txType] || 1;
390
+ return new BigNumber(factor * BASE_GAS);
391
+ };
392
+ export const TX_FEE_OTHER_GAS = (txType, txSize, _ref2) => {
393
+ let {
394
+ relativeTtl,
395
+ innerTxSize
396
+ } = _ref2;
329
397
 
330
- export var TX_FEE_BASE_GAS = function TX_FEE_BASE_GAS(txType) {
331
398
  switch (txType) {
332
- // case TX_TYPE.gaMeta: // TODO investigate MetaTx calculation
333
- case TX_TYPE.gaAttach:
334
- case TX_TYPE.contractCreate:
335
- return BigNumber(5 * BASE_GAS);
336
- // Todo Implement meta tx fee calculation
399
+ case TX_TYPE.oracleRegister:
400
+ case TX_TYPE.oracleExtend:
401
+ case TX_TYPE.oracleQuery:
402
+ case TX_TYPE.oracleResponse:
403
+ return new BigNumber(txSize).times(GAS_PER_BYTE).plus(Math.ceil(32000 * relativeTtl / Math.floor(60 * 24 * 365 / KEY_BLOCK_INTERVAL)));
337
404
 
338
405
  case TX_TYPE.gaMeta:
339
- case TX_TYPE.contractCall:
340
- return BigNumber(12 * BASE_GAS);
406
+ case TX_TYPE.payingFor:
407
+ return new BigNumber(txSize).minus(innerTxSize).times(GAS_PER_BYTE);
341
408
 
342
409
  default:
343
- return BigNumber(BASE_GAS);
410
+ return new BigNumber(txSize).times(GAS_PER_BYTE);
344
411
  }
345
412
  };
346
- export var TX_FEE_OTHER_GAS = function TX_FEE_OTHER_GAS(txType) {
347
- return function (_ref3) {
348
- var txSize = _ref3.txSize,
349
- relativeTtl = _ref3.relativeTtl;
350
-
351
- switch (txType) {
352
- case TX_TYPE.oracleRegister:
353
- case TX_TYPE.oracleExtend:
354
- case TX_TYPE.oracleQuery:
355
- case TX_TYPE.oracleResponse:
356
- return BigNumber(txSize).times(GAS_PER_BYTE).plus(Math.ceil(32000 * relativeTtl / Math.floor(60 * 24 * 365 / KEY_BLOCK_INTERVAL)));
357
-
358
- default:
359
- return BigNumber(txSize).times(GAS_PER_BYTE);
360
- }
361
- };
362
- };
363
- export var ID_TAG = {
413
+ export const ID_TAG = {
364
414
  account: ID_TAG_ACCOUNT,
365
415
  name: ID_TAG_NAME,
366
416
  commitment: ID_TAG_COMMITMENT,
@@ -368,7 +418,7 @@ export var ID_TAG = {
368
418
  contract: ID_TAG_CONTRACT,
369
419
  channel: ID_TAG_CHANNEL
370
420
  };
371
- export var PREFIX_ID_TAG = {
421
+ export const PREFIX_ID_TAG = {
372
422
  ak: ID_TAG.account,
373
423
  nm: ID_TAG.name,
374
424
  cm: ID_TAG.commitment,
@@ -376,426 +426,389 @@ export var PREFIX_ID_TAG = {
376
426
  ct: ID_TAG.contract,
377
427
  ch: ID_TAG.channel
378
428
  };
379
- export var ID_TAG_PREFIX = revertObject(PREFIX_ID_TAG);
380
-
381
- var VALIDATION_ERROR = function VALIDATION_ERROR(msg) {
382
- return msg;
383
- };
384
-
385
- export var VALIDATION_MESSAGE = (_VALIDATION_MESSAGE = {}, _defineProperty(_VALIDATION_MESSAGE, FIELD_TYPES["int"], function (_ref4) {
386
- var value = _ref4.value,
387
- isMinusValue = _ref4.isMinusValue;
388
- return isMinusValue ? VALIDATION_ERROR("".concat(value, " must be >= 0")) : VALIDATION_ERROR("".concat(value, " is not of type Number or BigNumber"));
389
- }), _defineProperty(_VALIDATION_MESSAGE, FIELD_TYPES.amount, function (_ref5) {
390
- var value = _ref5.value,
391
- isMinusValue = _ref5.isMinusValue;
392
- return isMinusValue ? VALIDATION_ERROR("".concat(value, " must be >= 0")) : VALIDATION_ERROR("".concat(value, " is not of type Number or BigNumber"));
393
- }), _defineProperty(_VALIDATION_MESSAGE, FIELD_TYPES.id, function (_ref6) {
394
- var _context2;
395
-
396
- var value = _ref6.value,
397
- prefix = _ref6.prefix;
398
- return VALIDATION_ERROR(_concatInstanceProperty(_context2 = "'".concat(value, "' prefix doesn't match expected prefix '")).call(_context2, prefix, "' or ID_TAG for prefix not found"));
399
- }), _defineProperty(_VALIDATION_MESSAGE, FIELD_TYPES.binary, function (_ref7) {
400
- var _context3;
401
-
402
- var prefix = _ref7.prefix,
403
- value = _ref7.value;
404
- return VALIDATION_ERROR(_concatInstanceProperty(_context3 = "'".concat(value, "' prefix doesn't match expected prefix '")).call(_context3, prefix, "'"));
405
- }), _defineProperty(_VALIDATION_MESSAGE, FIELD_TYPES.string, function (_ref8) {
406
- var value = _ref8.value;
407
- return VALIDATION_ERROR('Not a string');
408
- }), _defineProperty(_VALIDATION_MESSAGE, FIELD_TYPES.pointers, function (_ref9) {
409
- var value = _ref9.value;
410
- return VALIDATION_ERROR('Value must be of type Array and contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'');
411
- }), _defineProperty(_VALIDATION_MESSAGE, FIELD_TYPES.ctVersion, function (_ref10) {
412
- var value = _ref10.value;
413
- return VALIDATION_ERROR('Value must be an object with "vmVersion" and "abiVersion" fields');
414
- }), _VALIDATION_MESSAGE);
415
- var BASE_TX = [TX_FIELD('tag', FIELD_TYPES["int"]), TX_FIELD('VSN', FIELD_TYPES["int"])];
416
- export var CONTRACT_BYTE_CODE_LIMA = _concatInstanceProperty(_context4 = []).call(_context4, BASE_TX, [TX_FIELD('sourceCodeHash', FIELD_TYPES.rawBinary), TX_FIELD('typeInfo', FIELD_TYPES.sophiaCodeTypeInfo), TX_FIELD('byteCode', FIELD_TYPES.rawBinary), TX_FIELD('compilerVersion', FIELD_TYPES.string), TX_FIELD('payable', FIELD_TYPES.bool)]);
417
-
418
- var ACCOUNT_TX_2 = _concatInstanceProperty(_context5 = []).call(_context5, BASE_TX, [TX_FIELD('flags', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('balance', FIELD_TYPES["int"]), TX_FIELD('gaContract', FIELD_TYPES.id, ['ct', 'nm']), TX_FIELD('gaAuthFun', FIELD_TYPES.binary, 'cb')]);
419
-
420
- var SPEND_TX = _concatInstanceProperty(_context6 = []).call(_context6, BASE_TX, [TX_FIELD('senderId', FIELD_TYPES.id, 'ak'), TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('payload', FIELD_TYPES.payload)]);
421
-
422
- var SIGNED_TX = _concatInstanceProperty(_context7 = []).call(_context7, BASE_TX, [TX_FIELD('signatures', FIELD_TYPES.signatures), TX_FIELD('encodedTx', FIELD_TYPES.rlpBinary)]);
423
-
424
- var NAME_PRE_CLAIM_TX = _concatInstanceProperty(_context8 = []).call(_context8, BASE_TX, [TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('commitmentId', FIELD_TYPES.id, 'cm'), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"])]);
425
-
426
- var NAME_CLAIM_TX_2 = _concatInstanceProperty(_context9 = []).call(_context9, BASE_TX, [TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('name', FIELD_TYPES.binary, 'nm'), TX_FIELD('nameSalt', FIELD_TYPES["int"]), TX_FIELD('nameFee', FIELD_TYPES.amount), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"])]);
427
-
428
- var NAME_UPDATE_TX = _concatInstanceProperty(_context10 = []).call(_context10, BASE_TX, [TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('nameId', FIELD_TYPES.id, 'nm'), TX_FIELD('nameTtl', FIELD_TYPES["int"]), TX_FIELD('pointers', FIELD_TYPES.pointers), TX_FIELD('clientTtl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"])]);
429
-
430
- var NAME_TRANSFER_TX = _concatInstanceProperty(_context11 = []).call(_context11, BASE_TX, [TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('nameId', FIELD_TYPES.id, 'nm'), TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"])]);
431
-
432
- var NAME_REVOKE_TX = _concatInstanceProperty(_context12 = []).call(_context12, BASE_TX, [TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('nameId', FIELD_TYPES.id, 'nm'), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"])]);
433
-
434
- var CONTRACT_TX = _concatInstanceProperty(_context13 = []).call(_context13, BASE_TX, [TX_FIELD('owner', FIELD_TYPES.id, 'ak'), TX_FIELD('ctVersion', FIELD_TYPES["int"]), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('log', FIELD_TYPES.binary, 'cb'), TX_FIELD('active', FIELD_TYPES.bool), TX_FIELD('referers', FIELD_TYPES.ids, 'ak'), TX_FIELD('deposit', FIELD_TYPES.amount)]);
435
-
436
- var GA_ATTACH_TX = _concatInstanceProperty(_context14 = []).call(_context14, BASE_TX, [TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('authFun', FIELD_TYPES.rawBinary), TX_FIELD('ctVersion', FIELD_TYPES.ctVersion), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('gas', FIELD_TYPES["int"]), TX_FIELD('gasPrice', FIELD_TYPES["int"]), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')]);
437
-
438
- var GA_META_TX_2 = _concatInstanceProperty(_context15 = []).call(_context15, BASE_TX, [TX_FIELD('gaId', FIELD_TYPES.id, 'ak'), TX_FIELD('authData', FIELD_TYPES.binary, 'cb'), TX_FIELD('abiVersion', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('gas', FIELD_TYPES["int"]), TX_FIELD('gasPrice', FIELD_TYPES["int"]), TX_FIELD('tx', FIELD_TYPES.rlpBinary)]);
439
-
440
- var CONTRACT_CREATE_TX = _concatInstanceProperty(_context16 = []).call(_context16, BASE_TX, [TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('ctVersion', FIELD_TYPES.ctVersion), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('deposit', FIELD_TYPES.amount), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('gas', FIELD_TYPES["int"]), TX_FIELD('gasPrice', FIELD_TYPES["int"]), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')]);
441
-
442
- var CONTRACT_CALL_TX = _concatInstanceProperty(_context17 = []).call(_context17, BASE_TX, [TX_FIELD('callerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('contractId', FIELD_TYPES.id, ['ct', 'nm']), TX_FIELD('abiVersion', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('gas', FIELD_TYPES["int"]), TX_FIELD('gasPrice', FIELD_TYPES["int"]), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')]);
443
-
444
- var CONTRACT_CALL_RESULT_TX = _concatInstanceProperty(_context18 = []).call(_context18, BASE_TX, [TX_FIELD('callerId', FIELD_TYPES.id, 'ak'), TX_FIELD('callerNonce', FIELD_TYPES["int"]), TX_FIELD('height', FIELD_TYPES["int"]), TX_FIELD('contractId', FIELD_TYPES.id, 'ct'), TX_FIELD('gasPrice', FIELD_TYPES["int"]), TX_FIELD('gasUsed', FIELD_TYPES["int"]), TX_FIELD('returnValue', FIELD_TYPES.binary, 'cb'), TX_FIELD('returnType', FIELD_TYPES.callReturnType), // TODO: add serialization for <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
445
- TX_FIELD('log', FIELD_TYPES.rawBinary)]);
446
-
447
- var ORACLE_REGISTER_TX = _concatInstanceProperty(_context19 = []).call(_context19, BASE_TX, [TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('queryFormat', FIELD_TYPES.string), TX_FIELD('responseFormat', FIELD_TYPES.string), TX_FIELD('queryFee', FIELD_TYPES.amount), TX_FIELD('oracleTtlType', FIELD_TYPES["int"]), TX_FIELD('oracleTtlValue', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('abiVersion', FIELD_TYPES["int"])]);
429
+ export const ID_TAG_PREFIX = revertObject(PREFIX_ID_TAG);
448
430
 
449
- var ORACLE_EXTEND_TX = _concatInstanceProperty(_context20 = []).call(_context20, BASE_TX, [TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('oracleTtlType', FIELD_TYPES["int"]), TX_FIELD('oracleTtlValue', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"])]);
431
+ const VALIDATION_ERROR = msg => msg;
450
432
 
451
- var ORACLE_QUERY_TX = _concatInstanceProperty(_context21 = []).call(_context21, BASE_TX, [TX_FIELD('senderId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']), TX_FIELD('query', FIELD_TYPES.string), TX_FIELD('queryFee', FIELD_TYPES.amount), TX_FIELD('queryTtlType', FIELD_TYPES["int"]), TX_FIELD('queryTtlValue', FIELD_TYPES["int"]), TX_FIELD('responseTtlType', FIELD_TYPES["int"]), TX_FIELD('responseTtlValue', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"])]);
452
-
453
- var ORACLE_RESPOND_TX = _concatInstanceProperty(_context22 = []).call(_context22, BASE_TX, [TX_FIELD('oracleId', FIELD_TYPES.id, 'ok'), TX_FIELD('nonce', FIELD_TYPES["int"]), TX_FIELD('queryId', FIELD_TYPES.binary, 'oq'), TX_FIELD('response', FIELD_TYPES.string), TX_FIELD('responseTtlType', FIELD_TYPES["int"]), TX_FIELD('responseTtlValue', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"])]);
454
-
455
- var CHANNEL_CREATE_TX_2 = _concatInstanceProperty(_context23 = []).call(_context23, BASE_TX, [TX_FIELD('initiator', FIELD_TYPES.id, 'ak'), TX_FIELD('initiatorAmount', FIELD_TYPES["int"]), TX_FIELD('responder', FIELD_TYPES.id, 'ak'), TX_FIELD('responderAmount', FIELD_TYPES["int"]), TX_FIELD('channelReserve', FIELD_TYPES["int"]), TX_FIELD('lockPeriod', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('initiatorDelegateIds', FIELD_TYPES.string), TX_FIELD('responderDelegateIds', FIELD_TYPES.string), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'), TX_FIELD('nonce', FIELD_TYPES["int"])]);
456
-
457
- var CHANNEL_DEPOSIT_TX = _concatInstanceProperty(_context24 = []).call(_context24, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'), TX_FIELD('round', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"])]);
458
-
459
- var CHANNEL_WITHDRAW_TX = _concatInstanceProperty(_context25 = []).call(_context25, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('toId', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'), TX_FIELD('round', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"])]);
460
-
461
- var CHANNEL_CLOSE_MUTUAL_TX = _concatInstanceProperty(_context26 = []).call(_context26, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('initiatorAmountFinal', FIELD_TYPES["int"]), TX_FIELD('responderAmountFinal', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"])]);
462
-
463
- var CHANNEL_CLOSE_SOLO_TX = _concatInstanceProperty(_context27 = []).call(_context27, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('poi', FIELD_TYPES.binary, 'pi'), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"])]);
464
-
465
- var CHANNEL_SLASH_TX = _concatInstanceProperty(_context28 = []).call(_context28, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('poi', FIELD_TYPES.binary, 'pi'), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"])]);
466
-
467
- var CHANNEL_SETTLE_TX = _concatInstanceProperty(_context29 = []).call(_context29, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('initiatorAmountFinal', FIELD_TYPES["int"]), TX_FIELD('responderAmountFinal', FIELD_TYPES["int"]), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"])]);
468
-
469
- var CHANNEL_FORCE_PROGRESS_TX = _concatInstanceProperty(_context30 = []).call(_context30, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('round', FIELD_TYPES["int"]), TX_FIELD('update', FIELD_TYPES.binary), TX_FIELD('stateHash', FIELD_TYPES.binary), TX_FIELD('offChainTrees', FIELD_TYPES.stateTree), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"])]);
470
-
471
- var CHANNEL_OFFCHAIN_TX_2 = _concatInstanceProperty(_context31 = []).call(_context31, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('round', FIELD_TYPES["int"]), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st')]);
472
-
473
- var CHANNEL_TX_3 = _concatInstanceProperty(_context32 = []).call(_context32, BASE_TX, [TX_FIELD('initiator', FIELD_TYPES.id, 'ak'), TX_FIELD('responder', FIELD_TYPES.id, 'ak'), TX_FIELD('channelAmount', FIELD_TYPES["int"]), TX_FIELD('initiatorAmount', FIELD_TYPES["int"]), TX_FIELD('responderAmount', FIELD_TYPES["int"]), TX_FIELD('channelReserve', FIELD_TYPES["int"]), TX_FIELD('initiatorDelegateIds', FIELD_TYPES.ids), TX_FIELD('responderDelegateIds', FIELD_TYPES.ids), TX_FIELD('stateHash', FIELD_TYPES.hex), TX_FIELD('round', FIELD_TYPES["int"]), TX_FIELD('soloRound', FIELD_TYPES["int"]), TX_FIELD('lockPeriod', FIELD_TYPES["int"]), TX_FIELD('lockedUntil', FIELD_TYPES["int"]), TX_FIELD('initiatorAuth', FIELD_TYPES.binary, 'cb'), TX_FIELD('responderAuth', FIELD_TYPES.binary, 'cb')]);
474
-
475
- var CHANNEL_SNAPSHOT_SOLO_TX = _concatInstanceProperty(_context33 = []).call(_context33, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('ttl', FIELD_TYPES["int"]), TX_FIELD('fee', FIELD_TYPES["int"]), TX_FIELD('nonce', FIELD_TYPES["int"])]);
476
-
477
- var CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = _concatInstanceProperty(_context34 = []).call(_context34, BASE_TX, [TX_FIELD('owner', FIELD_TYPES.id, 'ak'), TX_FIELD('ctVersion', FIELD_TYPES["int"]), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('deposit', FIELD_TYPES["int"]), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')]);
478
-
479
- var CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = _concatInstanceProperty(_context35 = []).call(_context35, BASE_TX, [TX_FIELD('caller', FIELD_TYPES.id, 'ak'), TX_FIELD('contract', FIELD_TYPES.id, 'ct'), TX_FIELD('abiVersion', FIELD_TYPES["int"]), TX_FIELD('amount', FIELD_TYPES["int"]), TX_FIELD('callData', FIELD_TYPES.binary, 'cb'), TX_FIELD('callStack', FIELD_TYPES.callStack), TX_FIELD('gasPrice', FIELD_TYPES["int"]), TX_FIELD('gasLimit', FIELD_TYPES["int"])]);
480
-
481
- var CHANNEL_RECONNECT_TX = _concatInstanceProperty(_context36 = []).call(_context36, BASE_TX, [TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('round', FIELD_TYPES["int"]), TX_FIELD('role', FIELD_TYPES.string), TX_FIELD('pubkey', FIELD_TYPES.id, 'ak')]);
482
-
483
- var CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = _concatInstanceProperty(_context37 = []).call(_context37, BASE_TX, [TX_FIELD('from', FIELD_TYPES.id, 'ak'), TX_FIELD('to', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES["int"])]);
484
-
485
- var CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = _concatInstanceProperty(_context38 = []).call(_context38, BASE_TX, [TX_FIELD('from', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES["int"])]);
486
-
487
- var CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = _concatInstanceProperty(_context39 = []).call(_context39, BASE_TX, [TX_FIELD('from', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES["int"])]);
488
-
489
- var PROOF_OF_INCLUSION_TX = _concatInstanceProperty(_context40 = []).call(_context40, BASE_TX, [TX_FIELD('accounts', FIELD_TYPES.mptrees), TX_FIELD('calls', FIELD_TYPES.mptrees), TX_FIELD('channels', FIELD_TYPES.mptrees), TX_FIELD('contracts', FIELD_TYPES.mptrees), TX_FIELD('ns', FIELD_TYPES.mptrees), TX_FIELD('oracles', FIELD_TYPES.mptrees)]);
490
-
491
- var STATE_TREES_TX = _concatInstanceProperty(_context41 = []).call(_context41, BASE_TX, [TX_FIELD('contracts', FIELD_TYPES.rlpBinary), TX_FIELD('calls', FIELD_TYPES.rlpBinary), TX_FIELD('channels', FIELD_TYPES.rlpBinary), TX_FIELD('ns', FIELD_TYPES.rlpBinary), TX_FIELD('oracles', FIELD_TYPES.rlpBinary), TX_FIELD('accounts', FIELD_TYPES.rlpBinary)]);
492
-
493
- var MERKLE_PATRICIA_TREE_TX = _concatInstanceProperty(_context42 = []).call(_context42, BASE_TX, [TX_FIELD('values', FIELD_TYPES.rlpBinaries)]);
494
-
495
- var MERKLE_PATRICIA_TREE_VALUE_TX = _concatInstanceProperty(_context43 = []).call(_context43, BASE_TX, [TX_FIELD('key', FIELD_TYPES.hex), TX_FIELD('value', FIELD_TYPES.rawBinary)]);
496
-
497
- var CONTRACTS_TREE_TX = _concatInstanceProperty(_context44 = []).call(_context44, BASE_TX, [TX_FIELD('contracts', FIELD_TYPES.rlpBinary)]);
498
-
499
- var CONTRACT_CALLS_TREE_TX = _concatInstanceProperty(_context45 = []).call(_context45, BASE_TX, [TX_FIELD('calls', FIELD_TYPES.rlpBinary)]);
500
-
501
- var CHANNELS_TREE_TX = _concatInstanceProperty(_context46 = []).call(_context46, BASE_TX, [TX_FIELD('channels', FIELD_TYPES.rlpBinary)]);
502
-
503
- var NAMESERVICE_TREE_TX = _concatInstanceProperty(_context47 = []).call(_context47, BASE_TX, [TX_FIELD('mtree', FIELD_TYPES.rlpBinary)]);
504
-
505
- var ORACLES_TREE_TX = _concatInstanceProperty(_context48 = []).call(_context48, BASE_TX, [TX_FIELD('otree', FIELD_TYPES.rlpBinary)]);
506
-
507
- var ACCOUNTS_TREE_TX = _concatInstanceProperty(_context49 = []).call(_context49, BASE_TX, [TX_FIELD('accounts', FIELD_TYPES.rlpBinary)]);
508
-
509
- export var TX_SERIALIZATION_SCHEMA = (_TX_SERIALIZATION_SCH = {}, _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.account, {
510
- 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)
511
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.signed, {
512
- 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)
513
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.spend, {
514
- 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)
515
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.namePreClaim, {
516
- 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)
517
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.nameClaim, {
518
- 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)
519
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.nameUpdate, {
520
- 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)
521
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.nameTransfer, {
522
- 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)
523
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.nameRevoke, {
524
- 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)
525
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.contract, {
526
- 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)
527
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.contractCreate, {
528
- 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)
529
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.contractCall, {
530
- 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)
531
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.contractCallResult, {
532
- 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)
533
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.oracleRegister, {
534
- 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)
535
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.oracleExtend, {
536
- 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)
537
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.oracleQuery, {
538
- 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)
539
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.oracleResponse, {
540
- 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)
541
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelCreate, {
542
- 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)
543
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelCloseMutual, {
544
- 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)
545
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelCloseSolo, {
546
- 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)
547
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelSlash, {
548
- 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)
549
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelDeposit, {
550
- 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)
551
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelWithdraw, {
552
- 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)
553
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelSettle, {
554
- 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)
555
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelForceProgress, {
556
- 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)
557
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelOffChain, {
558
- 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)
559
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channel, {
560
- 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)
561
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelSnapshotSolo, {
562
- 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)
563
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelOffChainUpdateTransfer, {
564
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX)
565
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelOffChainUpdateDeposit, {
566
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX)
567
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelOffChainUpdateWithdrawal, {
568
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX)
569
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelOffChainCreateContract, {
570
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX)
571
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelOffChainCallContract, {
572
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX)
573
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelReconnect, {
574
- 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)
575
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.proofOfInclusion, {
576
- 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)
577
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.stateTrees, {
578
- 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)
579
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.merklePatriciaTree, {
580
- 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)
581
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.merklePatriciaTreeValue, {
582
- 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)
583
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.contractsTree, {
584
- 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)
585
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.contractCallsTree, {
586
- 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)
587
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.channelsTree, {
588
- 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)
589
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.nameserviceTree, {
590
- 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)
591
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.oraclesTree, {
592
- 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)
593
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.accountsTree, {
594
- 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)
595
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.gaAttach, {
596
- 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)
597
- }), _defineProperty(_TX_SERIALIZATION_SCH, TX_TYPE.gaMeta, {
598
- 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)
599
- }), _TX_SERIALIZATION_SCH);
600
- export var TX_DESERIALIZATION_SCHEMA = (_TX_DESERIALIZATION_S = {}, _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_ACCOUNT, {
601
- 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)
602
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_SIGNED_TRANSACTION, {
603
- 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)
604
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_SPEND_TRANSACTION, {
605
- 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)
606
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION, {
607
- 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)
608
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION, {
609
- 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)
610
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION, {
611
- 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)
612
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION, {
613
- 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)
614
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION, {
615
- 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)
616
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CONTRACT, {
617
- 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)
618
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION, {
619
- 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)
620
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CONTRACT_CALL_TRANSACTION, {
621
- 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)
622
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CONTRACT_CALL, {
623
- 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)
624
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION, {
625
- 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)
626
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION, {
627
- 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)
628
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_ORACLE_QUERY_TRANSACTION, {
629
- 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)
630
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION, {
631
- 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)
632
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_CREATE_TX, {
633
- 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)
634
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX, {
635
- 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)
636
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX, {
637
- 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)
638
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_SLASH_TX, {
639
- 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)
640
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_DEPOSIT_TX, {
641
- 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)
642
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_WITHRAW_TX, {
643
- 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)
644
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_SETTLE_TX, {
645
- 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)
646
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_OFFCHAIN_TX, {
647
- 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)
648
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL, {
649
- 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)
650
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX, {
651
- 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)
652
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, {
653
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX)
654
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, {
655
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX)
656
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, {
657
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX)
658
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, {
659
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX)
660
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, {
661
- 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX)
662
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_RECONNECT_TX, {
663
- 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)
664
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_PROOF_OF_INCLUSION, {
665
- 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)
666
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_STATE_TREES, {
667
- 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)
668
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_MERKLE_PATRICIA_TREE, {
669
- 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)
670
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE, {
671
- 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)
672
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CONTRACTS_TREE, {
673
- 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)
674
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CONTRACT_CALLS_TREE, {
675
- 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)
676
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNELS_TREE, {
677
- 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)
678
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_NAMESERVICE_TREE, {
679
- 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)
680
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_ORACLES_TREE, {
681
- 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)
682
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_ACCOUNTS_TREE, {
683
- 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)
684
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_GA_ATTACH, {
685
- 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)
686
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_GA_META, {
687
- 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)
688
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX, {
689
- 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)
690
- }), _defineProperty(_TX_DESERIALIZATION_S, OBJECT_TAG_SOPHIA_BYTE_CODE, {
691
- 3: TX_SCHEMA_FIELD(CONTRACT_BYTE_CODE_LIMA, OBJECT_TAG_SOPHIA_BYTE_CODE)
692
- }), _TX_DESERIALIZATION_S); // VERIFICATION SCHEMA
693
-
694
- var ERROR_TYPE = {
695
- ERROR: 'error',
696
- WARNING: 'warning'
697
- };
698
-
699
- var VERIFICATION_FIELD = function VERIFICATION_FIELD(msg, verificationFn, error) {
700
- return [msg, verificationFn, error];
433
+ export const VALIDATION_MESSAGE = {
434
+ [FIELD_TYPES.int]: _ref3 => {
435
+ let {
436
+ value,
437
+ isMinusValue
438
+ } = _ref3;
439
+ return isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`);
440
+ },
441
+ [FIELD_TYPES.amount]: _ref4 => {
442
+ let {
443
+ value,
444
+ isMinusValue
445
+ } = _ref4;
446
+ return isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`);
447
+ },
448
+ [FIELD_TYPES.id]: _ref5 => {
449
+ let {
450
+ value,
451
+ prefix
452
+ } = _ref5;
453
+ return VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}' or ID_TAG for prefix not found`);
454
+ },
455
+ [FIELD_TYPES.binary]: _ref6 => {
456
+ let {
457
+ prefix,
458
+ value
459
+ } = _ref6;
460
+ return VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}'`);
461
+ },
462
+ [FIELD_TYPES.string]: _ref7 => {
463
+ let {
464
+ value
465
+ } = _ref7;
466
+ return VALIDATION_ERROR('Not a string');
467
+ },
468
+ [FIELD_TYPES.pointers]: _ref8 => {
469
+ let {
470
+ value
471
+ } = _ref8;
472
+ return VALIDATION_ERROR('Value must be of type Array and contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'');
473
+ },
474
+ [FIELD_TYPES.ctVersion]: _ref9 => {
475
+ let {
476
+ value
477
+ } = _ref9;
478
+ return VALIDATION_ERROR('Value must be an object with "vmVersion" and "abiVersion" fields');
479
+ }
701
480
  };
702
-
703
- var VALIDATORS = {
704
- signature: 'signature',
705
- insufficientFee: 'insufficientFee',
706
- expiredTTL: 'expiredTTL',
707
- insufficientBalanceForAmountFee: 'insufficientBalanceForAmountFee',
708
- insufficientBalanceForAmount: 'insufficientBalanceForAmount',
709
- nonceUsed: 'nonceUsed',
710
- nonceHigh: 'nonceHigh',
711
- minGasPrice: 'minGasPrice',
712
- vmAndAbiVersion: 'vmAndAbiVersion',
713
- insufficientBalanceForFeeNameFee: 'insufficientBalanceForFeeNameFee'
481
+ const BASE_TX = [TX_FIELD('tag', FIELD_TYPES.int), TX_FIELD('VSN', FIELD_TYPES.int)];
482
+ export const CONTRACT_BYTE_CODE_LIMA = [...BASE_TX, TX_FIELD('sourceCodeHash', FIELD_TYPES.rawBinary), TX_FIELD('typeInfo', FIELD_TYPES.sophiaCodeTypeInfo), TX_FIELD('byteCode', FIELD_TYPES.rawBinary), TX_FIELD('compilerVersion', FIELD_TYPES.string), TX_FIELD('payable', FIELD_TYPES.bool)];
483
+ const ACCOUNT_TX_2 = [...BASE_TX, TX_FIELD('flags', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('balance', FIELD_TYPES.int), TX_FIELD('gaContract', FIELD_TYPES.id, ['ct', 'nm']), TX_FIELD('gaAuthFun', FIELD_TYPES.binary, 'cb')];
484
+ const SPEND_TX = [...BASE_TX, TX_FIELD('senderId', FIELD_TYPES.id, 'ak'), TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('payload', FIELD_TYPES.payload)];
485
+ const SIGNED_TX = [...BASE_TX, TX_FIELD('signatures', FIELD_TYPES.signatures), TX_FIELD('encodedTx', FIELD_TYPES.rlpBinary)];
486
+ const NAME_PRE_CLAIM_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('commitmentId', FIELD_TYPES.id, 'cm'), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
487
+ const NAME_CLAIM_TX_2 = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('name', FIELD_TYPES.binary, 'nm'), TX_FIELD('nameSalt', FIELD_TYPES.int), TX_FIELD('nameFee', FIELD_TYPES.amount), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
488
+ const NAME_UPDATE_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('nameId', FIELD_TYPES.id, 'nm'), TX_FIELD('nameTtl', FIELD_TYPES.int), TX_FIELD('pointers', FIELD_TYPES.pointers), TX_FIELD('clientTtl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
489
+ const NAME_TRANSFER_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('nameId', FIELD_TYPES.id, 'nm'), TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
490
+ const NAME_REVOKE_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('nameId', FIELD_TYPES.id, 'nm'), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
491
+ const CONTRACT_TX = [...BASE_TX, TX_FIELD('owner', FIELD_TYPES.id, 'ak'), TX_FIELD('ctVersion', FIELD_TYPES.int), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('log', FIELD_TYPES.binary, 'cb'), TX_FIELD('active', FIELD_TYPES.bool), TX_FIELD('referers', FIELD_TYPES.ids, 'ak'), TX_FIELD('deposit', FIELD_TYPES.amount)];
492
+ const GA_ATTACH_TX = [...BASE_TX, TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('authFun', FIELD_TYPES.rawBinary), TX_FIELD('ctVersion', FIELD_TYPES.ctVersion), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('gas', FIELD_TYPES.int), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')];
493
+ const GA_META_TX_2 = [...BASE_TX, TX_FIELD('gaId', FIELD_TYPES.id, 'ak'), TX_FIELD('authData', FIELD_TYPES.binary, 'cb'), TX_FIELD('abiVersion', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('gas', FIELD_TYPES.int), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('tx', FIELD_TYPES.rlpBinary)];
494
+ const PAYING_FOR_TX = [...BASE_TX, TX_FIELD('payerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('tx', FIELD_TYPES.rlpBinary)];
495
+ const CONTRACT_CREATE_TX = [...BASE_TX, TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('ctVersion', FIELD_TYPES.ctVersion), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('deposit', FIELD_TYPES.amount), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('gas', FIELD_TYPES.int), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')];
496
+ const CONTRACT_CALL_TX = [...BASE_TX, TX_FIELD('callerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('contractId', FIELD_TYPES.id, ['ct', 'nm']), TX_FIELD('abiVersion', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('gas', FIELD_TYPES.int), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')];
497
+ const CONTRACT_CALL_RESULT_TX = [...BASE_TX, TX_FIELD('callerId', FIELD_TYPES.id, 'ak'), TX_FIELD('callerNonce', FIELD_TYPES.int), TX_FIELD('height', FIELD_TYPES.int), TX_FIELD('contractId', FIELD_TYPES.id, 'ct'), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('gasUsed', FIELD_TYPES.int), TX_FIELD('returnValue', FIELD_TYPES.binary, 'cb'), TX_FIELD('returnType', FIELD_TYPES.callReturnType), // TODO: add serialization for
498
+ // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
499
+ TX_FIELD('log', FIELD_TYPES.rawBinary)];
500
+ const ORACLE_REGISTER_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('queryFormat', FIELD_TYPES.string), TX_FIELD('responseFormat', FIELD_TYPES.string), TX_FIELD('queryFee', FIELD_TYPES.amount), TX_FIELD('oracleTtlType', FIELD_TYPES.int), TX_FIELD('oracleTtlValue', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('abiVersion', FIELD_TYPES.int)];
501
+ const ORACLE_EXTEND_TX = [...BASE_TX, TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('oracleTtlType', FIELD_TYPES.int), TX_FIELD('oracleTtlValue', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
502
+ const ORACLE_QUERY_TX = [...BASE_TX, TX_FIELD('senderId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']), TX_FIELD('query', FIELD_TYPES.string), TX_FIELD('queryFee', FIELD_TYPES.amount), TX_FIELD('queryTtlType', FIELD_TYPES.int), TX_FIELD('queryTtlValue', FIELD_TYPES.int), TX_FIELD('responseTtlType', FIELD_TYPES.int), TX_FIELD('responseTtlValue', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
503
+ const ORACLE_RESPOND_TX = [...BASE_TX, TX_FIELD('oracleId', FIELD_TYPES.id, 'ok'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('queryId', FIELD_TYPES.binary, 'oq'), TX_FIELD('response', FIELD_TYPES.string), TX_FIELD('responseTtlType', FIELD_TYPES.int), TX_FIELD('responseTtlValue', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
504
+ const CHANNEL_CREATE_TX_2 = [...BASE_TX, TX_FIELD('initiator', FIELD_TYPES.id, 'ak'), TX_FIELD('initiatorAmount', FIELD_TYPES.int), TX_FIELD('responder', FIELD_TYPES.id, 'ak'), TX_FIELD('responderAmount', FIELD_TYPES.int), TX_FIELD('channelReserve', FIELD_TYPES.int), TX_FIELD('lockPeriod', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('initiatorDelegateIds', FIELD_TYPES.string), TX_FIELD('responderDelegateIds', FIELD_TYPES.string), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'), TX_FIELD('nonce', FIELD_TYPES.int)];
505
+ const CHANNEL_DEPOSIT_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
506
+ const CHANNEL_WITHDRAW_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('toId', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
507
+ const CHANNEL_CLOSE_MUTUAL_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int), TX_FIELD('responderAmountFinal', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
508
+ const CHANNEL_CLOSE_SOLO_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('poi', FIELD_TYPES.binary, 'pi'), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
509
+ const CHANNEL_SLASH_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('poi', FIELD_TYPES.binary, 'pi'), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
510
+ const CHANNEL_SETTLE_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int), TX_FIELD('responderAmountFinal', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
511
+ const CHANNEL_FORCE_PROGRESS_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('update', FIELD_TYPES.binary), TX_FIELD('stateHash', FIELD_TYPES.binary), TX_FIELD('offChainTrees', FIELD_TYPES.stateTree), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
512
+ const CHANNEL_OFFCHAIN_TX_2 = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st')];
513
+ const CHANNEL_TX_3 = [...BASE_TX, TX_FIELD('initiator', FIELD_TYPES.id, 'ak'), TX_FIELD('responder', FIELD_TYPES.id, 'ak'), TX_FIELD('channelAmount', FIELD_TYPES.int), TX_FIELD('initiatorAmount', FIELD_TYPES.int), TX_FIELD('responderAmount', FIELD_TYPES.int), TX_FIELD('channelReserve', FIELD_TYPES.int), TX_FIELD('initiatorDelegateIds', FIELD_TYPES.ids), TX_FIELD('responderDelegateIds', FIELD_TYPES.ids), TX_FIELD('stateHash', FIELD_TYPES.hex), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('soloRound', FIELD_TYPES.int), TX_FIELD('lockPeriod', FIELD_TYPES.int), TX_FIELD('lockedUntil', FIELD_TYPES.int), TX_FIELD('initiatorAuth', FIELD_TYPES.binary, 'cb'), TX_FIELD('responderAuth', FIELD_TYPES.binary, 'cb')];
514
+ const CHANNEL_SNAPSHOT_SOLO_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
515
+ const CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = [...BASE_TX, TX_FIELD('owner', FIELD_TYPES.id, 'ak'), TX_FIELD('ctVersion', FIELD_TYPES.int), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('deposit', FIELD_TYPES.int), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')];
516
+ const CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = [...BASE_TX, TX_FIELD('caller', FIELD_TYPES.id, 'ak'), TX_FIELD('contract', FIELD_TYPES.id, 'ct'), TX_FIELD('abiVersion', FIELD_TYPES.int), TX_FIELD('amount', FIELD_TYPES.int), TX_FIELD('callData', FIELD_TYPES.binary, 'cb'), TX_FIELD('callStack', FIELD_TYPES.callStack), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('gasLimit', FIELD_TYPES.int)];
517
+ const CHANNEL_RECONNECT_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('role', FIELD_TYPES.string), TX_FIELD('pubkey', FIELD_TYPES.id, 'ak')];
518
+ const CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = [...BASE_TX, TX_FIELD('from', FIELD_TYPES.id, 'ak'), TX_FIELD('to', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES.int)];
519
+ const CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = [...BASE_TX, TX_FIELD('from', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES.int)];
520
+ const CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = [...BASE_TX, TX_FIELD('from', FIELD_TYPES.id, 'ak'), TX_FIELD('amount', FIELD_TYPES.int)];
521
+ const PROOF_OF_INCLUSION_TX = [...BASE_TX, TX_FIELD('accounts', FIELD_TYPES.mptrees), TX_FIELD('calls', FIELD_TYPES.mptrees), TX_FIELD('channels', FIELD_TYPES.mptrees), TX_FIELD('contracts', FIELD_TYPES.mptrees), TX_FIELD('ns', FIELD_TYPES.mptrees), TX_FIELD('oracles', FIELD_TYPES.mptrees)];
522
+ const STATE_TREES_TX = [...BASE_TX, TX_FIELD('contracts', FIELD_TYPES.rlpBinary), TX_FIELD('calls', FIELD_TYPES.rlpBinary), TX_FIELD('channels', FIELD_TYPES.rlpBinary), TX_FIELD('ns', FIELD_TYPES.rlpBinary), TX_FIELD('oracles', FIELD_TYPES.rlpBinary), TX_FIELD('accounts', FIELD_TYPES.rlpBinary)];
523
+ const MERKLE_PATRICIA_TREE_TX = [...BASE_TX, TX_FIELD('values', FIELD_TYPES.rlpBinaries)];
524
+ const MERKLE_PATRICIA_TREE_VALUE_TX = [...BASE_TX, TX_FIELD('key', FIELD_TYPES.hex), TX_FIELD('value', FIELD_TYPES.rawBinary)];
525
+ const CONTRACTS_TREE_TX = [...BASE_TX, TX_FIELD('contracts', FIELD_TYPES.rlpBinary)];
526
+ const CONTRACT_CALLS_TREE_TX = [...BASE_TX, TX_FIELD('calls', FIELD_TYPES.rlpBinary)];
527
+ const CHANNELS_TREE_TX = [...BASE_TX, TX_FIELD('channels', FIELD_TYPES.rlpBinary)];
528
+ const NAMESERVICE_TREE_TX = [...BASE_TX, TX_FIELD('mtree', FIELD_TYPES.rlpBinary)];
529
+ const ORACLES_TREE_TX = [...BASE_TX, TX_FIELD('otree', FIELD_TYPES.rlpBinary)];
530
+ const ACCOUNTS_TREE_TX = [...BASE_TX, TX_FIELD('accounts', FIELD_TYPES.rlpBinary)];
531
+ export const TX_SERIALIZATION_SCHEMA = {
532
+ [TX_TYPE.account]: {
533
+ 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)
534
+ },
535
+ [TX_TYPE.signed]: {
536
+ 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)
537
+ },
538
+ [TX_TYPE.spend]: {
539
+ 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)
540
+ },
541
+ [TX_TYPE.namePreClaim]: {
542
+ 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)
543
+ },
544
+ [TX_TYPE.nameClaim]: {
545
+ 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)
546
+ },
547
+ [TX_TYPE.nameUpdate]: {
548
+ 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)
549
+ },
550
+ [TX_TYPE.nameTransfer]: {
551
+ 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)
552
+ },
553
+ [TX_TYPE.nameRevoke]: {
554
+ 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)
555
+ },
556
+ [TX_TYPE.contract]: {
557
+ 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)
558
+ },
559
+ [TX_TYPE.contractCreate]: {
560
+ 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)
561
+ },
562
+ [TX_TYPE.contractCall]: {
563
+ 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)
564
+ },
565
+ [TX_TYPE.contractCallResult]: {
566
+ 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)
567
+ },
568
+ [TX_TYPE.oracleRegister]: {
569
+ 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)
570
+ },
571
+ [TX_TYPE.oracleExtend]: {
572
+ 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)
573
+ },
574
+ [TX_TYPE.oracleQuery]: {
575
+ 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)
576
+ },
577
+ [TX_TYPE.oracleResponse]: {
578
+ 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)
579
+ },
580
+ [TX_TYPE.channelCreate]: {
581
+ 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)
582
+ },
583
+ [TX_TYPE.channelCloseMutual]: {
584
+ 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)
585
+ },
586
+ [TX_TYPE.channelCloseSolo]: {
587
+ 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)
588
+ },
589
+ [TX_TYPE.channelSlash]: {
590
+ 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)
591
+ },
592
+ [TX_TYPE.channelDeposit]: {
593
+ 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)
594
+ },
595
+ [TX_TYPE.channelWithdraw]: {
596
+ 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)
597
+ },
598
+ [TX_TYPE.channelSettle]: {
599
+ 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)
600
+ },
601
+ [TX_TYPE.channelForceProgress]: {
602
+ 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)
603
+ },
604
+ [TX_TYPE.channelOffChain]: {
605
+ 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)
606
+ },
607
+ [TX_TYPE.channel]: {
608
+ 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)
609
+ },
610
+ [TX_TYPE.channelSnapshotSolo]: {
611
+ 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)
612
+ },
613
+ [TX_TYPE.channelOffChainUpdateTransfer]: {
614
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX)
615
+ },
616
+ [TX_TYPE.channelOffChainUpdateDeposit]: {
617
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX)
618
+ },
619
+ [TX_TYPE.channelOffChainUpdateWithdrawal]: {
620
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX)
621
+ },
622
+ [TX_TYPE.channelOffChainCreateContract]: {
623
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX)
624
+ },
625
+ [TX_TYPE.channelOffChainCallContract]: {
626
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX)
627
+ },
628
+ [TX_TYPE.channelReconnect]: {
629
+ 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)
630
+ },
631
+ [TX_TYPE.proofOfInclusion]: {
632
+ 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)
633
+ },
634
+ [TX_TYPE.stateTrees]: {
635
+ 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)
636
+ },
637
+ [TX_TYPE.merklePatriciaTree]: {
638
+ 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)
639
+ },
640
+ [TX_TYPE.merklePatriciaTreeValue]: {
641
+ 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)
642
+ },
643
+ [TX_TYPE.contractsTree]: {
644
+ 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)
645
+ },
646
+ [TX_TYPE.contractCallsTree]: {
647
+ 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)
648
+ },
649
+ [TX_TYPE.channelsTree]: {
650
+ 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)
651
+ },
652
+ [TX_TYPE.nameserviceTree]: {
653
+ 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)
654
+ },
655
+ [TX_TYPE.oraclesTree]: {
656
+ 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)
657
+ },
658
+ [TX_TYPE.accountsTree]: {
659
+ 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)
660
+ },
661
+ [TX_TYPE.gaAttach]: {
662
+ 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)
663
+ },
664
+ [TX_TYPE.gaMeta]: {
665
+ 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)
666
+ },
667
+ [TX_TYPE.payingFor]: {
668
+ 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)
669
+ }
714
670
  };
715
- var ERRORS = {
716
- invalidSignature: {
717
- key: 'InvalidSignature',
718
- type: ERROR_TYPE.ERROR,
719
- txKey: 'signature'
720
- },
721
- insufficientFee: {
722
- key: 'InsufficientFee',
723
- type: ERROR_TYPE.ERROR,
724
- txKey: 'fee'
725
- },
726
- expiredTTL: {
727
- key: 'ExpiredTTL',
728
- type: ERROR_TYPE.ERROR,
729
- txKey: 'ttl'
730
- },
731
- insufficientBalanceForAmountFee: {
732
- key: 'InsufficientBalanceForAmountFee',
733
- type: ERROR_TYPE.WARNING,
734
- txKey: 'fee'
735
- },
736
- insufficientBalanceForAmount: {
737
- key: 'InsufficientBalanceForAmount',
738
- type: ERROR_TYPE.WARNING,
739
- txKey: 'amount'
740
- },
741
- nonceUsed: {
742
- key: 'NonceUsed',
743
- type: ERROR_TYPE.ERROR,
744
- txKey: 'nonce'
745
- },
746
- nonceHigh: {
747
- key: 'NonceHigh',
748
- type: ERROR_TYPE.WARNING,
749
- txKey: 'nonce'
750
- },
751
- minGasPrice: {
752
- key: 'minGasPrice',
753
- type: ERROR_TYPE.ERROR,
754
- txKey: 'gasPrice'
755
- },
756
- vmAndAbiVersion: {
757
- key: 'vmAndAbiVersion',
758
- type: ERROR_TYPE.ERROR,
759
- txKey: 'ctVersion'
760
- },
761
- insufficientBalanceForFeeNameFee: {
762
- key: 'insufficientBalanceForFeeNameFee',
763
- type: ERROR_TYPE.ERROR,
764
- txKey: 'nameFee'
671
+ export const TX_DESERIALIZATION_SCHEMA = {
672
+ [OBJECT_TAG_ACCOUNT]: {
673
+ 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)
674
+ },
675
+ [OBJECT_TAG_SIGNED_TRANSACTION]: {
676
+ 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)
677
+ },
678
+ [OBJECT_TAG_SPEND_TRANSACTION]: {
679
+ 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)
680
+ },
681
+ [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: {
682
+ 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)
683
+ },
684
+ [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: {
685
+ 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)
686
+ },
687
+ [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: {
688
+ 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)
689
+ },
690
+ [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: {
691
+ 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)
692
+ },
693
+ [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: {
694
+ 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)
695
+ },
696
+ [OBJECT_TAG_CONTRACT]: {
697
+ 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)
698
+ },
699
+ [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: {
700
+ 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)
701
+ },
702
+ [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: {
703
+ 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)
704
+ },
705
+ [OBJECT_TAG_CONTRACT_CALL]: {
706
+ 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)
707
+ },
708
+ [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: {
709
+ 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)
710
+ },
711
+ [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: {
712
+ 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)
713
+ },
714
+ [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: {
715
+ 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)
716
+ },
717
+ [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: {
718
+ 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)
719
+ },
720
+ [OBJECT_TAG_CHANNEL_CREATE_TX]: {
721
+ 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)
722
+ },
723
+ [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: {
724
+ 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)
725
+ },
726
+ [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: {
727
+ 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)
728
+ },
729
+ [OBJECT_TAG_CHANNEL_SLASH_TX]: {
730
+ 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)
731
+ },
732
+ [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: {
733
+ 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)
734
+ },
735
+ [OBJECT_TAG_CHANNEL_WITHRAW_TX]: {
736
+ 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)
737
+ },
738
+ [OBJECT_TAG_CHANNEL_SETTLE_TX]: {
739
+ 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)
740
+ },
741
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: {
742
+ 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)
743
+ },
744
+ [OBJECT_TAG_CHANNEL]: {
745
+ 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)
746
+ },
747
+ [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: {
748
+ 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)
749
+ },
750
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: {
751
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX)
752
+ },
753
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: {
754
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX)
755
+ },
756
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: {
757
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX)
758
+ },
759
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: {
760
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX)
761
+ },
762
+ [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: {
763
+ 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX)
764
+ },
765
+ [OBJECT_TAG_CHANNEL_RECONNECT_TX]: {
766
+ 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)
767
+ },
768
+ [OBJECT_TAG_PROOF_OF_INCLUSION]: {
769
+ 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)
770
+ },
771
+ [OBJECT_TAG_STATE_TREES]: {
772
+ 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)
773
+ },
774
+ [OBJECT_TAG_MERKLE_PATRICIA_TREE]: {
775
+ 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)
776
+ },
777
+ [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: {
778
+ 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)
779
+ },
780
+ [OBJECT_TAG_CONTRACTS_TREE]: {
781
+ 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)
782
+ },
783
+ [OBJECT_TAG_CONTRACT_CALLS_TREE]: {
784
+ 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)
785
+ },
786
+ [OBJECT_TAG_CHANNELS_TREE]: {
787
+ 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)
788
+ },
789
+ [OBJECT_TAG_NAMESERVICE_TREE]: {
790
+ 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)
791
+ },
792
+ [OBJECT_TAG_ORACLES_TREE]: {
793
+ 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)
794
+ },
795
+ [OBJECT_TAG_ACCOUNTS_TREE]: {
796
+ 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)
797
+ },
798
+ [OBJECT_TAG_GA_ATTACH]: {
799
+ 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)
800
+ },
801
+ [OBJECT_TAG_GA_META]: {
802
+ 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)
803
+ },
804
+ [OBJECT_TAG_PAYING_FOR]: {
805
+ 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)
806
+ },
807
+ [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: {
808
+ 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)
809
+ },
810
+ [OBJECT_TAG_SOPHIA_BYTE_CODE]: {
811
+ 3: TX_SCHEMA_FIELD(CONTRACT_BYTE_CODE_LIMA, OBJECT_TAG_SOPHIA_BYTE_CODE)
765
812
  }
766
813
  };
767
- export var SIGNATURE_VERIFICATION_SCHEMA = [VERIFICATION_FIELD(function () {
768
- return 'The signature cannot be verified, please verify that you used the correct network id and the correct private key for the sender address';
769
- }, VALIDATORS.signature, ERRORS.invalidSignature)];
770
- export var CONTRACT_VERIFICATION_SCHEMA = [VERIFICATION_FIELD(function (_ref11) {
771
- var ctVersion = _ref11.ctVersion,
772
- consensusProtocolVersion = _ref11.consensusProtocolVersion,
773
- txType = _ref11.txType;
774
- return "Wrong abi/vm version, Supported is: ".concat(PROTOCOL_VM_ABI[consensusProtocolVersion] ? _JSON$stringify(PROTOCOL_VM_ABI[consensusProtocolVersion][txType]) : ' None for this protocol ' + consensusProtocolVersion);
775
- }, VALIDATORS.vmAndAbiVersion, ERRORS.vmAndAbiVersion), VERIFICATION_FIELD(function () {
776
- return "The gasPrice must be bigger then ".concat(MIN_GAS_PRICE);
777
- }, VALIDATORS.minGasPrice, ERRORS.minGasPrice)];
778
- export var NAME_CLAIM_VERIFICATION_SCHEMA = [VERIFICATION_FIELD(function (_ref12) {
779
- var balance = _ref12.balance;
780
- return "The account balance ".concat(balance, " is not enough to execute the transaction");
781
- }, VALIDATORS.insufficientBalanceForFeeNameFee, ERRORS.insufficientBalanceForFeeNameFee)];
782
- export var BASE_VERIFICATION_SCHEMA = [VERIFICATION_FIELD(function (_ref13) {
783
- var minFee = _ref13.minFee;
784
- return "The fee for the transaction is too low, the minimum fee for this transaction is ".concat(minFee);
785
- }, VALIDATORS.insufficientFee, ERRORS.insufficientFee), VERIFICATION_FIELD(function (_ref14) {
786
- var height = _ref14.height;
787
- return "The TTL is already expired, the current height is ".concat(height);
788
- }, VALIDATORS.expiredTTL, ERRORS.expiredTTL), VERIFICATION_FIELD(function (_ref15) {
789
- var balance = _ref15.balance;
790
- return "The account balance ".concat(balance, " is not enough to execute the transaction");
791
- }, VALIDATORS.insufficientBalanceForAmountFee, ERRORS.insufficientBalanceForAmountFee), VERIFICATION_FIELD(function (_ref16) {
792
- var balance = _ref16.balance;
793
- return "The account balance ".concat(balance, " is not enough to execute the transaction");
794
- }, VALIDATORS.insufficientBalanceForAmount, ERRORS.insufficientBalanceForAmount), VERIFICATION_FIELD(function (_ref17) {
795
- var accountNonce = _ref17.accountNonce;
796
- return "The nonce is invalid (already used). Next valid nonce is ".concat(accountNonce + 1, ")");
797
- }, VALIDATORS.nonceUsed, ERRORS.nonceUsed), VERIFICATION_FIELD(function (_ref18) {
798
- var accountNonce = _ref18.accountNonce;
799
- return "The nonce is technically valid but will not be processed immediately by the node (next valid nonce is ".concat(accountNonce + 1, ")");
800
- }, VALIDATORS.nonceHigh, ERRORS.nonceHigh)];
801
814
  //# sourceMappingURL=schema.js.map