@layerzerolabs/layerzero-v2-ton 3.0.12-ton.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 (251) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +15 -0
  3. package/build/AllStorages.boc +0 -0
  4. package/build/AllStorages.compiled.json +1 -0
  5. package/build/AllStorages.fif +4164 -0
  6. package/build/AllStorages.test.boc +0 -0
  7. package/build/AllStorages.test.compiled.json +1 -0
  8. package/build/AllStorages.test.fif +1831 -0
  9. package/build/BaseContract.test.boc +0 -0
  10. package/build/BaseContract.test.compiled.json +1 -0
  11. package/build/BaseContract.test.fif +3553 -0
  12. package/build/Channel.boc +0 -0
  13. package/build/Channel.compiled.json +1 -0
  14. package/build/Channel.fif +5001 -0
  15. package/build/Channel.permissions.test.boc +0 -0
  16. package/build/Channel.permissions.test.compiled.json +1 -0
  17. package/build/Channel.permissions.test.fif +7569 -0
  18. package/build/ChannelBurn.test.boc +0 -0
  19. package/build/ChannelBurn.test.compiled.json +1 -0
  20. package/build/ChannelBurn.test.fif +7454 -0
  21. package/build/ChannelCommitPacket.test.boc +0 -0
  22. package/build/ChannelCommitPacket.test.compiled.json +1 -0
  23. package/build/ChannelCommitPacket.test.fif +7981 -0
  24. package/build/ChannelConfig.test.boc +0 -0
  25. package/build/ChannelConfig.test.compiled.json +1 -0
  26. package/build/ChannelConfig.test.fif +7442 -0
  27. package/build/ChannelInitialize.test.boc +0 -0
  28. package/build/ChannelInitialize.test.compiled.json +1 -0
  29. package/build/ChannelInitialize.test.fif +7289 -0
  30. package/build/ChannelMsglibIntegration.test.boc +0 -0
  31. package/build/ChannelMsglibIntegration.test.compiled.json +1 -0
  32. package/build/ChannelMsglibIntegration.test.fif +7404 -0
  33. package/build/ChannelMsglibSendCallback.test.boc +0 -0
  34. package/build/ChannelMsglibSendCallback.test.compiled.json +1 -0
  35. package/build/ChannelMsglibSendCallback.test.fif +7711 -0
  36. package/build/ChannelNilify.test.boc +0 -0
  37. package/build/ChannelNilify.test.compiled.json +1 -0
  38. package/build/ChannelNilify.test.fif +7672 -0
  39. package/build/ChannelReceive.test.boc +0 -0
  40. package/build/ChannelReceive.test.compiled.json +1 -0
  41. package/build/ChannelReceive.test.fif +7702 -0
  42. package/build/ChannelReceiveCallback.test.boc +0 -0
  43. package/build/ChannelReceiveCallback.test.compiled.json +1 -0
  44. package/build/ChannelReceiveCallback.test.fif +7549 -0
  45. package/build/ChannelReceiveView.test.boc +0 -0
  46. package/build/ChannelReceiveView.test.compiled.json +1 -0
  47. package/build/ChannelReceiveView.test.fif +7352 -0
  48. package/build/ChannelSend.test.boc +0 -0
  49. package/build/ChannelSend.test.compiled.json +1 -0
  50. package/build/ChannelSend.test.fif +7658 -0
  51. package/build/Classlib.test.boc +0 -0
  52. package/build/Classlib.test.compiled.json +1 -0
  53. package/build/Classlib.test.fif +4728 -0
  54. package/build/Connection.boc +0 -0
  55. package/build/Connection.compiled.json +1 -0
  56. package/build/Connection.fif +3503 -0
  57. package/build/Connection.test.boc +0 -0
  58. package/build/Connection.test.compiled.json +1 -0
  59. package/build/Connection.test.fif +6575 -0
  60. package/build/Controller.assertions.test.boc +0 -0
  61. package/build/Controller.assertions.test.compiled.json +1 -0
  62. package/build/Controller.assertions.test.fif +6130 -0
  63. package/build/Controller.boc +0 -0
  64. package/build/Controller.compiled.json +1 -0
  65. package/build/Controller.fif +3195 -0
  66. package/build/Controller.permissions.test.boc +0 -0
  67. package/build/Controller.permissions.test.compiled.json +1 -0
  68. package/build/Controller.permissions.test.fif +6237 -0
  69. package/build/Controller.test.boc +0 -0
  70. package/build/Controller.test.compiled.json +1 -0
  71. package/build/Controller.test.fif +6400 -0
  72. package/build/Counter.boc +0 -0
  73. package/build/Counter.compiled.json +1 -0
  74. package/build/Counter.fif +4809 -0
  75. package/build/Counter.permissions.test.boc +0 -0
  76. package/build/Counter.permissions.test.compiled.json +1 -0
  77. package/build/Counter.permissions.test.fif +7106 -0
  78. package/build/Counter.setters.test.boc +0 -0
  79. package/build/Counter.setters.test.compiled.json +1 -0
  80. package/build/Counter.setters.test.fif +7083 -0
  81. package/build/Counter.test.boc +0 -0
  82. package/build/Counter.test.compiled.json +1 -0
  83. package/build/Counter.test.fif +7540 -0
  84. package/build/Dvn.boc +0 -0
  85. package/build/Dvn.compiled.json +1 -0
  86. package/build/Dvn.fif +2923 -0
  87. package/build/Dvn.test.boc +0 -0
  88. package/build/Dvn.test.compiled.json +1 -0
  89. package/build/Dvn.test.fif +5753 -0
  90. package/build/Endpoint.boc +0 -0
  91. package/build/Endpoint.compiled.json +1 -0
  92. package/build/Endpoint.fif +3694 -0
  93. package/build/Endpoint.permissions.test.boc +0 -0
  94. package/build/Endpoint.permissions.test.compiled.json +1 -0
  95. package/build/Endpoint.permissions.test.fif +6211 -0
  96. package/build/Endpoint.test.boc +0 -0
  97. package/build/Endpoint.test.compiled.json +1 -0
  98. package/build/Endpoint.test.fif +6899 -0
  99. package/build/EndpointSetEpConfigDefaults.test.boc +0 -0
  100. package/build/EndpointSetEpConfigDefaults.test.compiled.json +1 -0
  101. package/build/EndpointSetEpConfigDefaults.test.fif +6529 -0
  102. package/build/Executor.boc +0 -0
  103. package/build/Executor.compiled.json +1 -0
  104. package/build/Executor.fif +2731 -0
  105. package/build/Executor.test.boc +0 -0
  106. package/build/Executor.test.compiled.json +1 -0
  107. package/build/Executor.test.fif +5822 -0
  108. package/build/LzClasses.test.boc +0 -0
  109. package/build/LzClasses.test.compiled.json +1 -0
  110. package/build/LzClasses.test.fif +4457 -0
  111. package/build/LzUtil.test.boc +0 -0
  112. package/build/LzUtil.test.compiled.json +1 -0
  113. package/build/LzUtil.test.fif +1831 -0
  114. package/build/MsgData.test.boc +0 -0
  115. package/build/MsgData.test.compiled.json +1 -0
  116. package/build/MsgData.test.fif +4318 -0
  117. package/build/MsglibPacketCodec.test.boc +0 -0
  118. package/build/MsglibPacketCodec.test.compiled.json +1 -0
  119. package/build/MsglibPacketCodec.test.fif +4851 -0
  120. package/build/MultiSig.boc +0 -0
  121. package/build/MultiSig.compiled.json +1 -0
  122. package/build/MultiSig.fif +727 -0
  123. package/build/MultiSigOrder.boc +0 -0
  124. package/build/MultiSigOrder.compiled.json +1 -0
  125. package/build/MultiSigOrder.fif +650 -0
  126. package/build/PipelinedOutOfOrder.test.boc +0 -0
  127. package/build/PipelinedOutOfOrder.test.compiled.json +1 -0
  128. package/build/PipelinedOutOfOrder.test.fif +2188 -0
  129. package/build/SmlConnection.boc +0 -0
  130. package/build/SmlConnection.compiled.json +1 -0
  131. package/build/SmlConnection.fif +2517 -0
  132. package/build/SmlConnection.permissions.test.boc +0 -0
  133. package/build/SmlConnection.permissions.test.compiled.json +1 -0
  134. package/build/SmlConnection.permissions.test.fif +5497 -0
  135. package/build/SmlConnection.test.boc +0 -0
  136. package/build/SmlConnection.test.compiled.json +1 -0
  137. package/build/SmlConnection.test.fif +5494 -0
  138. package/build/SmlManager.boc +0 -0
  139. package/build/SmlManager.compiled.json +1 -0
  140. package/build/SmlManager.fif +3904 -0
  141. package/build/SmlManager.permissions.test.boc +0 -0
  142. package/build/SmlManager.permissions.test.compiled.json +1 -0
  143. package/build/SmlManager.permissions.test.fif +6018 -0
  144. package/build/SmlManager.test.boc +0 -0
  145. package/build/SmlManager.test.compiled.json +1 -0
  146. package/build/SmlManager.test.fif +6047 -0
  147. package/build/Uln.boc +0 -0
  148. package/build/Uln.compiled.json +1 -0
  149. package/build/Uln.fif +4841 -0
  150. package/build/Uln.test.boc +0 -0
  151. package/build/Uln.test.compiled.json +1 -0
  152. package/build/Uln.test.fif +7077 -0
  153. package/build/UlnManager.boc +0 -0
  154. package/build/UlnManager.compiled.json +1 -0
  155. package/build/UlnManager.fif +3851 -0
  156. package/build/UlnManager.test.boc +0 -0
  157. package/build/UlnManager.test.compiled.json +1 -0
  158. package/build/UlnManager.test.fif +6571 -0
  159. package/build/UlnReceiveConfig.test.boc +0 -0
  160. package/build/UlnReceiveConfig.test.compiled.json +1 -0
  161. package/build/UlnReceiveConfig.test.fif +4413 -0
  162. package/build/UlnSend.test.boc +0 -0
  163. package/build/UlnSend.test.compiled.json +1 -0
  164. package/build/UlnSend.test.fif +6576 -0
  165. package/build/UlnSendConfig.test.boc +0 -0
  166. package/build/UlnSendConfig.test.compiled.json +1 -0
  167. package/build/UlnSendConfig.test.fif +4431 -0
  168. package/build/UlnSendWorkerFactory.test.boc +0 -0
  169. package/build/UlnSendWorkerFactory.test.compiled.json +1 -0
  170. package/build/UlnSendWorkerFactory.test.fif +6683 -0
  171. package/build/UlnUtil.test.boc +0 -0
  172. package/build/UlnUtil.test.compiled.json +1 -0
  173. package/build/UlnUtil.test.fif +5873 -0
  174. package/build/WorkerCore.test.boc +0 -0
  175. package/build/WorkerCore.test.compiled.json +1 -0
  176. package/build/WorkerCore.test.fif +5630 -0
  177. package/build/ZroMinter.boc +0 -0
  178. package/build/ZroMinter.compiled.json +1 -0
  179. package/build/ZroMinter.fif +2300 -0
  180. package/build/ZroWallet.boc +0 -0
  181. package/build/ZroWallet.compiled.json +1 -0
  182. package/build/ZroWallet.fif +2471 -0
  183. package/package.json +64 -0
  184. package/src/classes/lz/Attestation.fc +23 -0
  185. package/src/classes/lz/Config.fc +23 -0
  186. package/src/classes/lz/EpConfig.fc +91 -0
  187. package/src/classes/lz/MsglibInfo.fc +31 -0
  188. package/src/classes/lz/Packet.fc +202 -0
  189. package/src/classes/lz/Path.fc +56 -0
  190. package/src/classes/lz/ReceiveEpConfig.fc +24 -0
  191. package/src/classes/lz/SendEpConfig.fc +18 -0
  192. package/src/classes/lz/SmlJobAssigned.fc +20 -0
  193. package/src/classes/lz/Worker.fc +32 -0
  194. package/src/classes/msgdata/AddMsglib.fc +18 -0
  195. package/src/classes/msgdata/Amount.fc +16 -0
  196. package/src/classes/msgdata/Bool.fc +16 -0
  197. package/src/classes/msgdata/ChannelNonceInfo.fc +18 -0
  198. package/src/classes/msgdata/ClaimUnaccountedPoolFunds.fc +0 -0
  199. package/src/classes/msgdata/CoinsAmount.fc +16 -0
  200. package/src/classes/msgdata/CounterIncrement.fc +24 -0
  201. package/src/classes/msgdata/Deploy.fc +20 -0
  202. package/src/classes/msgdata/ExtendedMd.fc +20 -0
  203. package/src/classes/msgdata/GetMsglibCallback.fc +18 -0
  204. package/src/classes/msgdata/InitEndpoint.fc +16 -0
  205. package/src/classes/msgdata/InitSmlConnection.fc +16 -0
  206. package/src/classes/msgdata/InitUlnConnection.fc +18 -0
  207. package/src/classes/msgdata/LzReceiveStatus.fc +58 -0
  208. package/src/classes/msgdata/LzSend.fc +58 -0
  209. package/src/classes/msgdata/MdAddress.fc +18 -0
  210. package/src/classes/msgdata/MdEid.fc +18 -0
  211. package/src/classes/msgdata/MdObj.fc +18 -0
  212. package/src/classes/msgdata/MessagingReceipt.fc +22 -0
  213. package/src/classes/msgdata/MsglibSendCallback.fc +113 -0
  214. package/src/classes/msgdata/Nonce.fc +16 -0
  215. package/src/classes/msgdata/OptionsExtended.fc +20 -0
  216. package/src/classes/msgdata/OptionsV1.fc +27 -0
  217. package/src/classes/msgdata/OptionsV2.fc +34 -0
  218. package/src/classes/msgdata/PacketId.fc +18 -0
  219. package/src/classes/msgdata/PacketSent.fc +39 -0
  220. package/src/classes/msgdata/SetAddress.fc +16 -0
  221. package/src/classes/msgdata/SetEpConfig.fc +33 -0
  222. package/src/classes/msgdata/SetPeer.fc +18 -0
  223. package/src/classes/msgdata/SetSmlManagerConfig.fc +18 -0
  224. package/src/funC++/abstract/contractMainAbstract.fc +3 -0
  225. package/src/funC++/abstract/handlerAbstract.fc +12 -0
  226. package/src/funC++/actions/call.fc +51 -0
  227. package/src/funC++/actions/deploy.fc +118 -0
  228. package/src/funC++/actions/destroy.fc +28 -0
  229. package/src/funC++/actions/dispatch.fc +57 -0
  230. package/src/funC++/actions/event.fc +69 -0
  231. package/src/funC++/actions/payment.fc +52 -0
  232. package/src/funC++/actions/sendJettons.fc +76 -0
  233. package/src/funC++/actions/utils.fc +49 -0
  234. package/src/funC++/baseInterface.fc +16 -0
  235. package/src/funC++/classlib.fc +819 -0
  236. package/src/funC++/constants.fc +64 -0
  237. package/src/funC++/contractMain.fc +84 -0
  238. package/src/funC++/dataStructures/DeterministicInsertionCircularQueue.fc +155 -0
  239. package/src/funC++/dataStructures/PipelinedOutOfOrder.fc +93 -0
  240. package/src/funC++/handlerCore.fc +30 -0
  241. package/src/funC++/stdlib.fc +625 -0
  242. package/src/funC++/stringlib.fc +75 -0
  243. package/src/funC++/txnContext.fc +126 -0
  244. package/src/funC++/utils.fc +119 -0
  245. package/src/jettons/zro/minter.fc +120 -0
  246. package/src/jettons/zro/op-codes.fc +10 -0
  247. package/src/jettons/zro/params.fc +18 -0
  248. package/src/jettons/zro/utils.fc +33 -0
  249. package/src/jettons/zro/wallet.fc +261 -0
  250. package/tests/baseContractTest.fc +192 -0
  251. package/tests/testMain.fc +135 -0
@@ -0,0 +1,1831 @@
1
+ "Asm.fif" include
2
+ // automatically generated from `src/funC++/tests/util/main.fc` incl:`src/funC++/tests/util/../../../../tests/testMain.fc` incl:`src/funC++/tests/util/../../../../tests/../src/funC++/classlib.fc` incl:`src/funC++/tests/util/../../../../tests/../src/funC++/utils.fc` incl:`src/funC++/tests/util/../../../../tests/../src/funC++/constants.fc` incl:`src/funC++/tests/util/../../../../tests/../src/funC++/stdlib.fc` incl:`src/funC++/tests/util/../../../../tests/../src/funC++/stringlib.fc` incl:`src/funC++/tests/util/../../../../tests/../src/funC++/txnContext.fc`
3
+ PROGRAM{
4
+ DECLPROC cell_is_empty
5
+ DECLPROC throwError
6
+ DECLPROC throwErrorUnless
7
+ DECLPROC getContractStateSize
8
+ DECLPROC calculateStorageFees
9
+ DECLPROC treeShapeEqual
10
+ DECLPROC str::asciiUint256ToStr
11
+ DECLPROC ~str::concat
12
+ DECLPROC str::concat
13
+ DECLPROC ~str::concatInt
14
+ DECLPROC str::concatInt
15
+ DECLPROC ~str::concatHex
16
+ DECLPROC str::concatHex
17
+ DECLPROC str::console::log<int>
18
+ DECLPROC basechainAddressStdToHashpart
19
+ DECLPROC hashpartToBasechainAddressStd
20
+ DECLPROC getContractAddress
21
+ 131006 DECLMETHOD cl::objToSlice
22
+ DECLPROC _getTypeWidth
23
+ DECLPROC cl::hash
24
+ DECLPROC cl::isNull
25
+ DECLPROC cl::noRefFields
26
+ DECLPROC cl::equalObjTypeShallow
27
+ DECLPROC setContractStorage
28
+ 125767 DECLMETHOD getContractStorage
29
+ DECLPROC computeContractAddress
30
+ 72147 DECLMETHOD cl::typeof
31
+ 100174 DECLMETHOD cl::declare
32
+ 129818 DECLMETHOD cl::nullObject
33
+ 97013 DECLMETHOD cl::set
34
+ 78847 DECLMETHOD cl::get<uint>
35
+ 126275 DECLMETHOD cl::get<cellRef>
36
+ 122745 DECLMETHOD cl::getWithCell<cellRef>
37
+ 67678 DECLMETHOD cl::get<objRef>
38
+ 99339 DECLMETHOD cl::get<uint8>
39
+ 72361 DECLMETHOD cl::get<uint16>
40
+ 112653 DECLMETHOD cl::get<uint32>
41
+ 129371 DECLMETHOD cl::get<uint64>
42
+ 121426 DECLMETHOD cl::get<coins>
43
+ 100035 DECLMETHOD cl::get<uint256>
44
+ 71979 DECLMETHOD cl::get<std_address>
45
+ 117250 DECLMETHOD cl::get<bool>
46
+ 111335 DECLMETHOD cl::get<dict256>
47
+ 93365 DECLMETHOD cl::get<address>
48
+ DECLPROC typeofField
49
+ DECLPROC compareObjectFields
50
+ DECLPROC objectsAreEqual
51
+ DECLPROC _typeToStr
52
+ DECLPROC printField
53
+ 101219 DECLMETHOD uint256ToSlice
54
+ 76252 DECLMETHOD sliceToUint256
55
+ 101318 DECLMETHOD cl::dict256::New
56
+ 107506 DECLMETHOD cl::dict256::get
57
+ 68118 DECLMETHOD cl::dict256::get<uint256>
58
+ 90518 DECLMETHOD cl::dict256::get<cellRef>
59
+ 83291 DECLMETHOD cl::dict256::setRef
60
+ DECLPROC cl::dict256::set
61
+ DECLPROC cl::dict256::delete
62
+ DECLPROC cl::dict256::getMin<slice>
63
+ DECLPROC cl::dict256::getMin<uint256>
64
+ DECLPROC cl::dict256::getMin<cellRef>
65
+ DECLPROC cl::dict256::getNext<slice>
66
+ DECLPROC cl::dict256::getNext<uint256>
67
+ DECLPROC cl::dict256::getNext<cellRef>
68
+ DECLPROC cl::dict256::size
69
+ 130704 DECLMETHOD cl::nestedDict256::set
70
+ 75945 DECLMETHOD cl::nestedDict256::setRef
71
+ 74780 DECLMETHOD cl::nestedDict256::delete
72
+ 90264 DECLMETHOD cl::nestedDict256::get<uint256>
73
+ 111526 DECLMETHOD cl::nestedDict256::get<slice>
74
+ 68376 DECLMETHOD cl::nestedDict256::get<cellRef>
75
+ DECLPROC getMsgValue
76
+ DECLPROC getOpcode
77
+ DECLPROC txnIsBounced
78
+ DECLPROC getContractBalance
79
+ DECLPROC getInitialContractBalance
80
+ DECLPROC getCaller
81
+ DECLPROC getOrigin
82
+ DECLPROC getOriginStd
83
+ DECLPROC getDonationNanos
84
+ DECLPROC setDonationNanos
85
+ DECLPROC getMsgData
86
+ DECLPROC setOrigin
87
+ DECLPROC initTxnContext
88
+ DECLPROC _testName
89
+ DECLPROC baseTest::getTests
90
+ DECLPROC baseTest::prepare
91
+ DECLPROC emitDone
92
+ DECLPROC test::throwError
93
+ DECLPROC test::throwErrorUnless
94
+ 119192 DECLMETHOD get_test_name
95
+ DECLPROC setCaller
96
+ DECLPROC setContractBalance
97
+ DECLPROC setNewTime
98
+ DECLPROC main
99
+ DECLPROC test::shouldBeTrue
100
+ DECLPROC test::shouldBeFalse
101
+ DECLGLOBVAR txnContext
102
+ DECLGLOBVAR base_error_msg
103
+ cell_is_empty PROCINLINE:<{
104
+ HASHCU
105
+ 68134197439415885698044414435951397869210496020759160419881882418413283430343 PUSHINT
106
+ EQUAL
107
+ }>
108
+ throwError PROCINLINE:<{
109
+ DUP
110
+ STRDUMP
111
+ DROP
112
+ HASHSU
113
+ 11 PUSHPOW2DEC
114
+ AND
115
+ THROWANY
116
+ }>
117
+ throwErrorUnless PROCINLINE:<{
118
+ SWAP
119
+ IFNOT:<{
120
+ throwError INLINECALLDICT
121
+ }>ELSE<{
122
+ DROP
123
+ }>
124
+ }>
125
+ getContractStateSize PROCINLINE:<{
126
+ 6 PUSHINT
127
+ NEWC
128
+ 5 STU
129
+ s1 s2 XCHG
130
+ STREF
131
+ STREF
132
+ ENDC
133
+ 16 PUSHPOW2DEC
134
+ CDATASIZE
135
+ DROP
136
+ }>
137
+ calculateStorageFees PROCINLINE:<{
138
+ 0 PUSHINT
139
+ GETSTORAGEFEE
140
+ }>
141
+ treeShapeEqual PROCINLINE:<{
142
+ SWAP
143
+ CTOS
144
+ SWAP
145
+ CTOS
146
+ OVER
147
+ SBITREFS
148
+ s2 PUSH
149
+ SBITREFS
150
+ s3 s3 XCHG2
151
+ NEQ
152
+ s1 s2 PUXC
153
+ NEQ
154
+ s1 s2 XCHG
155
+ OR
156
+ IF:<{
157
+ 3 BLKDROP
158
+ FALSE
159
+ }>ELSE<{
160
+ DUP
161
+ 0 EQINT
162
+ IFJMP:<{
163
+ 3 BLKDROP
164
+ TRUE
165
+ }>
166
+ TRUE
167
+ 0 PUSHINT
168
+ WHILE:<{
169
+ s2 PUSH
170
+ 0 GTINT
171
+ }>DO<{
172
+ s4 s0 PUSH2
173
+ PLDREFVAR
174
+ s4 s1 PUSH2
175
+ PLDREFVAR
176
+ treeShapeEqual INLINECALLDICT
177
+ s1 s2 XCHG
178
+ AND
179
+ SWAP
180
+ }>
181
+ s1 s4 XCHG
182
+ 4 BLKDROP
183
+ }>
184
+ }>
185
+ str::asciiUint256ToStr PROC:<{
186
+ DUP
187
+ NEWC
188
+ 256 STU
189
+ ENDC
190
+ CTOS
191
+ SDCNTLEAD0
192
+ 8 PUSHPOW2
193
+ SWAP
194
+ SUB
195
+ POW2
196
+ DEC
197
+ 8627645864741206717834700843784589212596587092734002810783114102550390051603 PUSHINT
198
+ SWAP
199
+ NOT
200
+ AND
201
+ OR
202
+ NEWC
203
+ 256 STU
204
+ ENDC
205
+ CTOS
206
+ }>
207
+ ~str::concat PROC:<{
208
+ OVER
209
+ SBITS
210
+ OVER
211
+ SBITS
212
+ ADD
213
+ 32385 PUSHINT
214
+ GREATER
215
+ IF:<{
216
+ x{43616e6e6f7420636f6e636174656e6174653a20737472696e6720746f6f206c6f6e67} PUSHSLICE
217
+ throwError INLINECALLDICT
218
+ }>
219
+ NEWC
220
+ ROT
221
+ STSLICER
222
+ SWAP
223
+ STSLICER
224
+ ENDC
225
+ CTOS
226
+ }>
227
+ str::concat PROC:<{
228
+ ~str::concat CALLDICT
229
+ }>
230
+ ~str::concatInt PROC:<{
231
+ <b b> <s PUSHSLICE
232
+ OVER
233
+ 0 LESSINT
234
+ IF:<{
235
+ s0 s2 XCHG
236
+ x{2d} PUSHSLICE
237
+ ~str::concat CALLDICT
238
+ SWAP
239
+ NEGATE
240
+ ROT
241
+ }>
242
+ OVER
243
+ 0 EQINT
244
+ IF:<{
245
+ 48 PUSHINT
246
+ NEWC
247
+ 8 STU
248
+ ENDC
249
+ CTOS
250
+ ~str::concat CALLDICT
251
+ }>
252
+ WHILE:<{
253
+ OVER
254
+ 0 GTINT
255
+ }>DO<{
256
+ OVER
257
+ 10 PUSHINT
258
+ MOD
259
+ 48 ADDCONST
260
+ NEWC
261
+ 8 STU
262
+ ENDC
263
+ CTOS
264
+ SWAP
265
+ str::concat CALLDICT
266
+ SWAP
267
+ 10 PUSHINT
268
+ DIV
269
+ SWAP
270
+ }>
271
+ NIP
272
+ str::concat CALLDICT
273
+ }>
274
+ str::concatInt PROC:<{
275
+ ~str::concatInt CALLDICT
276
+ }>
277
+ ~str::concatHex PROC:<{
278
+ <b b> <s PUSHSLICE
279
+ OVER
280
+ 0 EQINT
281
+ IF:<{
282
+ 48 PUSHINT
283
+ NEWC
284
+ 8 STU
285
+ ENDC
286
+ CTOS
287
+ ~str::concat CALLDICT
288
+ }>
289
+ WHILE:<{
290
+ OVER
291
+ 0 GTINT
292
+ }>DO<{
293
+ OVER
294
+ 4 MODPOW2#
295
+ 10 LESSINT
296
+ IF:<{
297
+ OVER
298
+ 4 MODPOW2#
299
+ 48 ADDCONST
300
+ NEWC
301
+ 8 STU
302
+ ENDC
303
+ CTOS
304
+ SWAP
305
+ str::concat CALLDICT
306
+ }>ELSE<{
307
+ OVER
308
+ 4 MODPOW2#
309
+ 65 ADDCONST
310
+ -10 ADDCONST
311
+ NEWC
312
+ 8 STU
313
+ ENDC
314
+ CTOS
315
+ SWAP
316
+ str::concat CALLDICT
317
+ }>
318
+ SWAP
319
+ 4 RSHIFT#
320
+ SWAP
321
+ }>
322
+ NIP
323
+ str::concat CALLDICT
324
+ }>
325
+ str::concatHex PROC:<{
326
+ ~str::concatHex CALLDICT
327
+ }>
328
+ str::console::log<int> PROC:<{
329
+ SWAP
330
+ x{3a20} PUSHSLICE
331
+ str::concat CALLDICT
332
+ SWAP
333
+ str::concatInt CALLDICT
334
+ STRDUMP
335
+ DROP
336
+ }>
337
+ basechainAddressStdToHashpart PROCINLINE:<{
338
+ REWRITESTDADDR
339
+ NIP
340
+ }>
341
+ hashpartToBasechainAddressStd PROCINLINE:<{
342
+ 0 PUSHINT
343
+ 4 PUSHINT
344
+ NEWC
345
+ 3 STU
346
+ 8 STI
347
+ 256 STU
348
+ ENDC CTOS
349
+ }>
350
+ getContractAddress PROCINLINE:<{
351
+ MYADDR
352
+ 11 PUSHINT
353
+ 8 PUSHPOW2
354
+ SDSUBSTR
355
+ 256 PLDU
356
+ }>
357
+ cl::objToSlice PROCINLINE:<{
358
+ CTOS
359
+ }>
360
+ _getTypeWidth PROCINLINE:<{
361
+ DUP
362
+ 9 LESSINT
363
+ IF:<{
364
+ POW2
365
+ }>ELSE<{
366
+ DROP
367
+ 0 PUSHINT
368
+ }>
369
+ }>
370
+ cl::hash PROCINLINE:<{
371
+ HASHCU
372
+ }>
373
+ cl::isNull PROCINLINE:<{
374
+ cell_is_empty INLINECALLDICT
375
+ }>
376
+ cl::noRefFields PROC:<{
377
+ c2 SAVE
378
+ SAMEALTSAVE
379
+ CTOS
380
+ DUP
381
+ SREFS
382
+ DUP
383
+ 0 EQINT
384
+ IFJMP:<{
385
+ 2DROP
386
+ TRUE
387
+ }>
388
+ DUP
389
+ 3 LESSINT
390
+ IFJMP:<{
391
+ 2DROP
392
+ FALSE
393
+ RETALT
394
+ }>
395
+ DUP
396
+ 2 GTINT
397
+ IF:<{
398
+ OVER
399
+ 0 PUSHINT
400
+ PLDREFVAR
401
+ cell_is_empty INLINECALLDICT
402
+ 0 EQINT
403
+ s2 PUSH
404
+ 1 PUSHINT
405
+ PLDREFVAR
406
+ cell_is_empty INLINECALLDICT
407
+ 0 EQINT
408
+ OR
409
+ s2 PUSH
410
+ 2 PUSHINT
411
+ PLDREFVAR
412
+ CTOS
413
+ SREFS
414
+ 0 NEQINT
415
+ OR
416
+ IFJMP:<{
417
+ 2DROP
418
+ FALSE
419
+ RETALT
420
+ }>
421
+ }>
422
+ 3 GTINT
423
+ IF:<{
424
+ 3 PUSHINT
425
+ PLDREFVAR
426
+ CTOS
427
+ SREFS
428
+ 0 NEQINT
429
+ IFJMP:<{
430
+ FALSE
431
+ RETALT
432
+ }>
433
+ }>ELSE<{
434
+ DROP
435
+ }>
436
+ TRUE
437
+ }>
438
+ cl::equalObjTypeShallow PROC:<{
439
+ c2 SAVE
440
+ SAMEALTSAVE
441
+ SWAP
442
+ CTOS
443
+ SWAP
444
+ CTOS
445
+ OVER
446
+ SREFS
447
+ OVER
448
+ SREFS
449
+ s1 s(-1) PUXC
450
+ NEQ
451
+ s3 PUSH
452
+ SBITS
453
+ s3 PUSH
454
+ SBITS
455
+ NEQ
456
+ OR
457
+ IFJMP:<{
458
+ 3 BLKDROP
459
+ FALSE
460
+ }>
461
+ 2 PUSHINT
462
+ WHILE:<{
463
+ s0 s1 PUSH2
464
+ LESS
465
+ }>DO<{
466
+ s3 s0 PUSH2
467
+ PLDREFVAR
468
+ CTOS
469
+ SREFS
470
+ s3 s1 PUSH2
471
+ PLDREFVAR
472
+ CTOS
473
+ SREFS
474
+ NEQ
475
+ s4 s1 PUSH2
476
+ PLDREFVAR
477
+ CTOS
478
+ SBITS
479
+ s4 s2 PUSH2
480
+ PLDREFVAR
481
+ CTOS
482
+ SBITS
483
+ NEQ
484
+ OR
485
+ IFJMP:<{
486
+ 4 BLKDROP
487
+ FALSE
488
+ RETALT
489
+ }>
490
+ INC
491
+ }>
492
+ 4 BLKDROP
493
+ TRUE
494
+ }>
495
+ setContractStorage PROCINLINE:<{
496
+ c4 POP
497
+ }>
498
+ getContractStorage PROCINLINE:<{
499
+ c4 PUSH
500
+ }>
501
+ computeContractAddress PROCINLINE:<{
502
+ 6 PUSHINT
503
+ NEWC
504
+ 5 STU
505
+ STREF
506
+ STREF
507
+ ENDC
508
+ HASHCU
509
+ }>
510
+ cl::typeof PROCINLINE:<{
511
+ DUP
512
+ cl::isNull INLINECALLDICT
513
+ IF:<{
514
+ DROP
515
+ 1314212940 PUSHINT
516
+ }>ELSE<{
517
+ CTOS
518
+ 80 PLDU
519
+ }>
520
+ }>
521
+ cl::declare PROCINLINE:<{
522
+ PUSHNULL
523
+ NEWC
524
+ PAIR
525
+ OVER
526
+ TLEN
527
+ s0 s3 XCHG
528
+ NEWC
529
+ 80 STU
530
+ 1 PUSHINT
531
+ DUP
532
+ 2 PUSHINT
533
+ 350 PUSHINT
534
+ 0 PUSHINT
535
+ DUP
536
+ WHILE:<{
537
+ s0 s9 PUSH2
538
+ LESS
539
+ }>DO<{
540
+ s8 s0 PUSH2
541
+ INDEXVAR
542
+ DUP
543
+ 0 INDEX
544
+ DUP
545
+ _getTypeWidth INLINECALLDICT
546
+ s5 s0 PUSH2
547
+ ADD
548
+ 10 PUSHPOW2DEC
549
+ GREATER
550
+ IF:<{
551
+ s5 POP
552
+ s0 s7 XCHG
553
+ INC
554
+ 0 PUSHINT
555
+ s10 PUSH
556
+ TLEN
557
+ s2 s(-1) PUXC
558
+ GEQ
559
+ IF:<{
560
+ s0 s10 XCHG
561
+ NEWC
562
+ TPUSH
563
+ s0 s10 XCHG
564
+ }>
565
+ s8 s5 XCHG2
566
+ }>
567
+ s4 PUSH
568
+ INC
569
+ s7 PUSH
570
+ GREATER
571
+ IF:<{
572
+ s4 POP
573
+ s5 POP
574
+ s0 s5 XCHG
575
+ INC
576
+ 0 PUSHINT
577
+ 4 PUSHINT
578
+ s10 PUSH
579
+ TLEN
580
+ s3 s(-1) PUXC
581
+ GEQ
582
+ IF:<{
583
+ s0 s10 XCHG
584
+ NEWC
585
+ TPUSH
586
+ s0 s10 XCHG
587
+ }>
588
+ s7 s6 s6 XCHG3
589
+ s0 s4 XCHG
590
+ }>
591
+ OVER
592
+ 9 LESSINT
593
+ IF:<{
594
+ s0 s2 XCHG
595
+ 1 INDEX
596
+ ABS
597
+ s10 s8 PUSH2
598
+ INDEXVAR
599
+ s3 PUSH
600
+ STUX
601
+ s10 s0 s8 XC2PU
602
+ SETINDEXVAR
603
+ }>ELSE<{
604
+ OVER
605
+ 9 EQINT
606
+ IF:<{
607
+ s0 s2 XCHG
608
+ 1 INDEX
609
+ s10 s7 PUSH2
610
+ INDEXVAR
611
+ STREF
612
+ s10 s0 s7 XC2PU
613
+ SETINDEXVAR
614
+ }>ELSE<{
615
+ s0 s2 XCHG
616
+ 1 INDEX
617
+ s10 s7 PUSH2
618
+ INDEXVAR
619
+ STREF
620
+ s10 s0 s7 XC2PU
621
+ SETINDEXVAR
622
+ }>
623
+ }>
624
+ s9 s8 XCHG2
625
+ 4 STU
626
+ s8 PUSH
627
+ 0 GTINT
628
+ IF:<{
629
+ 3 PUSHINT
630
+ s7 PUSH
631
+ 1 EQINT
632
+ IF:<{
633
+ 0 PUSHINT
634
+ }>ELSE<{
635
+ s7 PUSH
636
+ }>
637
+ ROT
638
+ 2 STU
639
+ s4 s(-1) PUXC
640
+ 10 STU
641
+ 2 STU
642
+ s3 s8 XCHG2
643
+ ADD
644
+ }>ELSE<{
645
+ s8 POP
646
+ 10 PUSHPOW2DEC
647
+ s5 PUSH
648
+ 1 EQINT
649
+ IF:<{
650
+ 0 PUSHINT
651
+ }>ELSE<{
652
+ s5 PUSH
653
+ }>
654
+ s0 s9 XCHG2
655
+ 2 STU
656
+ s1 s8 XCHG
657
+ 10 STU
658
+ s1 s(-1) PUXC
659
+ 2 STU
660
+ SWAP
661
+ INC
662
+ s7 s0 s7 XCHG3
663
+ }>
664
+ s0 s2 XCHG
665
+ INC
666
+ s6 s7 XCHG
667
+ }>
668
+ 6 BLKDROP
669
+ 2 2 BLKDROP2
670
+ OVER
671
+ 1 INDEX
672
+ s2 PUSH
673
+ TLEN
674
+ DEC
675
+ DUP
676
+ 1 GTINT
677
+ IF:<{
678
+ OVER
679
+ BREFS
680
+ 0 EQINT
681
+ IF:<{
682
+ <b b> PUSHREF
683
+ <b b> PUSHREF
684
+ s0 s3 XCHG2
685
+ STREF
686
+ s1 s2 XCHG
687
+ STREF
688
+ }>ELSE<{
689
+ OVER
690
+ BREFS
691
+ 1 EQINT
692
+ IF:<{
693
+ <b b> PUSHREF
694
+ ROT
695
+ STREF
696
+ SWAP
697
+ }>
698
+ SWAP
699
+ }>
700
+ SWAP
701
+ }>
702
+ 350 PUSHINT
703
+ s3 PUSH
704
+ BBITS
705
+ SUB
706
+ s1 s3 XCHG
707
+ STONES
708
+ SWAP
709
+ STBR
710
+ OVER
711
+ 1 EQINT
712
+ IF:<{
713
+ 2 1 BLKDROP2
714
+ ENDC
715
+ }>ELSE<{
716
+ SWAP
717
+ 2 EQINT
718
+ IFJMP:<{
719
+ SWAP
720
+ 2 INDEX
721
+ ENDC
722
+ SWAP
723
+ STREF
724
+ ENDC
725
+ }>
726
+ OVER
727
+ 3 INDEX
728
+ ENDC
729
+ s0 s2 XCHG
730
+ 2 INDEX
731
+ ENDC
732
+ SWAP
733
+ STREF
734
+ STREF
735
+ ENDC
736
+ }>
737
+ }>
738
+ cl::nullObject PROCINLINE:<{
739
+ <b b> PUSHREF
740
+ }>
741
+ cl::set PROCINLINE:<{
742
+ s0 s2 XCHG
743
+ CTOS
744
+ SWAP
745
+ 18 MULCONST
746
+ 80 ADDCONST
747
+ 2DUP
748
+ 4 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
749
+ 2 PUSHINT // STACK [_CELL_ID_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
750
+ SDSUBSTR // STACK [substring]
751
+ 2 PLDU // STACK [2BitUnsignInt]
752
+ s2 s1 PUSH2
753
+ // STACK [fieldInfoOffset, headerSlice]
754
+ 4 PUSHINT // STACK [_FIELD_TYPE_WIDTH, fieldInfoOffset, headerSlice]
755
+ SDSUBSTR // STACK [substring]
756
+ 4 PLDU // STACK [2BitUnsignInt]
757
+ 2OVER
758
+ 6 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
759
+ 10 PUSHINT // STACK [_DATA_OFFSET_WIDTH, fieldInfoOffset +_FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
760
+ SDSUBSTR // STACK [substring]
761
+ 10 PLDU // STACK [10BitUnsignInt]
762
+ s4 s3 PUXC
763
+ 16 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH, headerSlice]
764
+ 2 PUSHINT // STACK [_REF_OFFSET_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH headerSlice]
765
+ SDSUBSTR // STACK [substring]
766
+ 2 PLDU // STACK [10BitUnsignInt]
767
+ OVER
768
+ _getTypeWidth INLINECALLDICT
769
+ s3 PUSH
770
+ 0 EQINT
771
+ IF:<{
772
+ s5 PUSH
773
+ }>ELSE<{
774
+ s5 s3 PUSH2
775
+ PLDREFVAR
776
+ CTOS
777
+ }>
778
+ OVER
779
+ 0 NEQINT
780
+ IF:<{
781
+ 4 PUSHINT
782
+ s3 POP
783
+ }>
784
+ NEWC
785
+ OVER
786
+ SBITS
787
+ s7 PUSH
788
+ MIN
789
+ s2 PUSH
790
+ SREFS
791
+ s5 s(-1) PUXC
792
+ MIN
793
+ s3 PUSH
794
+ -ROT
795
+ SCUTFIRST
796
+ STSLICER
797
+ s4 PUSH
798
+ 9 EQINT
799
+ IF:<{
800
+ s2 POP
801
+ s3 POP
802
+ s4 POP
803
+ s5 s5 XCHG2
804
+ s0 s3 XCHG
805
+ STREF
806
+ 0 PUSHINT
807
+ s3 PUSH
808
+ SREFS
809
+ s0 s6 XCHG2
810
+ SUB
811
+ DEC
812
+ s3 s5 s0 XCHG3
813
+ SCUTLAST
814
+ s1 s3 XCHG
815
+ STSLICER
816
+ }>ELSE<{
817
+ s0 s4 XCHG
818
+ 9 EQINT
819
+ IF:<{
820
+ NIP
821
+ s4 POP
822
+ s5 s5 XCHG2
823
+ STREF
824
+ 0 PUSHINT
825
+ s3 PUSH
826
+ SREFS
827
+ s0 s6 XCHG2
828
+ SUB
829
+ DEC
830
+ s3 s5 s0 XCHG3
831
+ SCUTLAST
832
+ s1 s3 XCHG
833
+ STSLICER
834
+ }>ELSE<{
835
+ s2 POP
836
+ s0 s6 XCHG
837
+ ABS
838
+ s0 s2 s6 XC2PU
839
+ STUX
840
+ s3 s5 XCHG2
841
+ ADD
842
+ s2 PUSH
843
+ SREFS
844
+ s2 s3 XCHG
845
+ SSKIPFIRST
846
+ s1 s3 XCHG
847
+ STSLICER
848
+ }>
849
+ }>
850
+ s2 PUSH
851
+ 0 GTINT
852
+ IF:<{
853
+ ENDC
854
+ NEWC
855
+ s2 PUSH
856
+ SBITS
857
+ s3 s4 s(-1) PU2XC
858
+ SCUTFIRST
859
+ STSLICER
860
+ STREF
861
+ 0 PUSHINT
862
+ s2 PUSH
863
+ SREFS
864
+ s0 s4 XCHG2
865
+ SUB
866
+ DEC
867
+ s1 s3 XCHG
868
+ SCUTLAST
869
+ STSLICER
870
+ ENDC
871
+ }>ELSE<{
872
+ 2 1 BLKDROP2
873
+ ENDC
874
+ }>
875
+ }>
876
+ cl::get<uint> PROCINLINE:<{
877
+ s0 s2 XCHG
878
+ CTOS
879
+ SWAP
880
+ 18 MULCONST
881
+ 80 ADDCONST
882
+ 2DUP
883
+ 4 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
884
+ 2 PUSHINT // STACK [_CELL_ID_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
885
+ SDSUBSTR // STACK [substring]
886
+ 2 PLDU // STACK [2BitUnsignInt]
887
+ s2 s1 PUXC
888
+ 6 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
889
+ 10 PUSHINT // STACK [_DATA_OFFSET_WIDTH, fieldInfoOffset +_FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
890
+ SDSUBSTR // STACK [substring]
891
+ 10 PLDU // STACK [10BitUnsignInt]
892
+ OVER
893
+ 0 EQINT
894
+ IF:<{
895
+ NIP
896
+ s2 PUSH
897
+ SDSUBSTR // STACK [substring]
898
+ s1 XCHG0
899
+ PLDUX // STACK [10BitUnsignInt] (CC +1 )
900
+ }>ELSE<{
901
+ -ROT
902
+ PLDREFVAR
903
+ CTOS
904
+ s1 s2 XCPU
905
+ SDSUBSTR // STACK [substring]
906
+ s1 XCHG0
907
+ PLDUX // STACK [10BitUnsignInt] (CC +1 )
908
+ }>
909
+ }>
910
+ cl::get<cellRef> PROCINLINE:<{
911
+ SWAP
912
+ CTOS
913
+ SWAP
914
+ 18 MULCONST
915
+ 80 ADDCONST
916
+ 2DUP
917
+ 4 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
918
+ 2 PUSHINT // STACK [_CELL_ID_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
919
+ SDSUBSTR // STACK [substring]
920
+ 2 PLDU // STACK [2BitUnsignInt]
921
+ s2 s1 PUXC
922
+ 16 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH, headerSlice]
923
+ 2 PUSHINT // STACK [_REF_OFFSET_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH headerSlice]
924
+ SDSUBSTR // STACK [substring]
925
+ 2 PLDU // STACK [10BitUnsignInt]
926
+ OVER
927
+ 0 EQINT
928
+ IF:<{
929
+ NIP
930
+ PLDREFVAR
931
+ }>ELSE<{
932
+ -ROT
933
+ PLDREFVAR
934
+ CTOS
935
+ SWAP
936
+ PLDREFVAR
937
+ }>
938
+ }>
939
+ cl::getWithCell<cellRef> PROCINLINE:<{
940
+ cl::get<cellRef> INLINECALLDICT
941
+ }>
942
+ cl::get<objRef> PROCINLINE:<{
943
+ cl::get<cellRef> INLINECALLDICT
944
+ }>
945
+ cl::get<uint8> PROCINLINE:<{
946
+ 8 PUSHINT
947
+ cl::get<uint> INLINECALLDICT
948
+ }>
949
+ cl::get<uint16> PROCINLINE:<{
950
+ 16 PUSHINT
951
+ cl::get<uint> INLINECALLDICT
952
+ }>
953
+ cl::get<uint32> PROCINLINE:<{
954
+ 32 PUSHINT
955
+ cl::get<uint> INLINECALLDICT
956
+ }>
957
+ cl::get<uint64> PROCINLINE:<{
958
+ 64 PUSHINT
959
+ cl::get<uint> INLINECALLDICT
960
+ }>
961
+ cl::get<coins> PROCINLINE:<{
962
+ 7 PUSHPOW2
963
+ cl::get<uint> INLINECALLDICT
964
+ }>
965
+ cl::get<uint256> PROCINLINE:<{
966
+ 8 PUSHPOW2
967
+ cl::get<uint> INLINECALLDICT
968
+ }>
969
+ cl::get<std_address> PROCINLINE:<{
970
+ 8 PUSHPOW2
971
+ cl::get<uint> INLINECALLDICT
972
+ hashpartToBasechainAddressStd INLINECALLDICT
973
+ }>
974
+ cl::get<bool> PROCINLINE:<{
975
+ 1 PUSHINT
976
+ cl::get<uint> INLINECALLDICT
977
+ 0 NEQINT
978
+ }>
979
+ cl::get<dict256> PROCINLINE:<{
980
+ cl::get<cellRef> INLINECALLDICT
981
+ }>
982
+ cl::get<address> PROCINLINE:<{
983
+ 8 PUSHPOW2
984
+ cl::get<uint> INLINECALLDICT
985
+ }>
986
+ typeofField PROCINLINE:<{
987
+ SWAP
988
+ CTOS
989
+ SWAP
990
+ 18 MULCONST
991
+ 80 ADDCONST
992
+ 4 PUSHINT
993
+ SDSUBSTR
994
+ 4 PLDU
995
+ }>
996
+ compareObjectFields PROCINLINE:<{
997
+ CONT:<{
998
+ c2 SAVE
999
+ SAMEALTSAVE
1000
+ OVER
1001
+ cl::typeof INLINECALLDICT
1002
+ OVER
1003
+ cl::typeof INLINECALLDICT
1004
+ NEQ
1005
+ DUP
1006
+ IF:<{
1007
+ 3 BLKDROP
1008
+ 16 PUSHINT
1009
+ }>ELSE<{
1010
+ s2 PUSH
1011
+ cl::typeof INLINECALLDICT
1012
+ 1314212940 PUSHINT
1013
+ EQUAL
1014
+ IFJMP:<{
1015
+ 3 BLKDROP
1016
+ -1 PUSHINT
1017
+ }>
1018
+ 0 PUSHINT
1019
+ WHILE:<{
1020
+ DUP
1021
+ 16 LESSINT
1022
+ }>DO<{
1023
+ s3 s0 PUSH2
1024
+ typeofField INLINECALLDICT
1025
+ DUP
1026
+ 9 EQINT
1027
+ IF:<{
1028
+ DROP
1029
+ NIP
1030
+ s2 s0 PUSH2
1031
+ cl::get<objRef> INLINECALLDICT
1032
+ cl::hash INLINECALLDICT
1033
+ s2 s1 PUSH2
1034
+ cl::get<objRef> INLINECALLDICT
1035
+ cl::hash INLINECALLDICT
1036
+ NEQ
1037
+ DUP
1038
+ IF:<{
1039
+ s3 s1 PUSH2
1040
+ cl::get<objRef> INLINECALLDICT
1041
+ HASHCU
1042
+ s0 DUMP
1043
+ DROP
1044
+ s2 s1 PUSH2
1045
+ cl::get<objRef> INLINECALLDICT
1046
+ HASHCU
1047
+ s0 DUMP
1048
+ DROP
1049
+ }>
1050
+ }>ELSE<{
1051
+ DUP
1052
+ 9 LESSINT
1053
+ IF:<{
1054
+ 1 2 BLKDROP2
1055
+ _getTypeWidth INLINECALLDICT
1056
+ s3 s1 s0 PUSH3
1057
+ cl::get<uint> INLINECALLDICT
1058
+ s3 s2 s1 PUSH3
1059
+ cl::get<uint> INLINECALLDICT
1060
+ NEQ
1061
+ DUP
1062
+ IF:<{
1063
+ x{6c68733a20} PUSHSLICE
1064
+ s5 s3 s2 PUSH3
1065
+ cl::get<uint> INLINECALLDICT
1066
+ str::console::log<int> CALLDICT
1067
+ 2OVER
1068
+ x{7268733a20} PUSHSLICE
1069
+ s0 s4 XCHG
1070
+ cl::get<uint> INLINECALLDICT
1071
+ s1 s2 XCHG
1072
+ str::console::log<int> CALLDICT
1073
+ }>ELSE<{
1074
+ NIP
1075
+ }>
1076
+ }>ELSE<{
1077
+ 2DROP
1078
+ 16 PUSHINT
1079
+ SWAP
1080
+ }>
1081
+ }>
1082
+ DUP
1083
+ IFJMP:<{
1084
+ s1 s3 XCHG
1085
+ 3 BLKDROP
1086
+ x{4d616c666f726d6564206669656c643a20} PUSHSLICE
1087
+ OVER
1088
+ str::console::log<int> CALLDICT
1089
+ RETALT
1090
+ }>
1091
+ SWAP
1092
+ INC
1093
+ }>
1094
+ 4 BLKDROP
1095
+ -1 PUSHINT
1096
+ }>
1097
+ }>
1098
+ EXECUTE
1099
+ }>
1100
+ objectsAreEqual PROCINLINE:<{
1101
+ compareObjectFields INLINECALLDICT
1102
+ -1 EQINT
1103
+ }>
1104
+ _typeToStr PROC:<{
1105
+ DUP
1106
+ 3 EQINT
1107
+ IFJMP:<{
1108
+ DROP
1109
+ x{75696e7438} PUSHSLICE
1110
+ }>
1111
+ DUP
1112
+ 4 EQINT
1113
+ IFJMP:<{
1114
+ DROP
1115
+ x{75696e743136} PUSHSLICE
1116
+ }>
1117
+ DUP
1118
+ 5 EQINT
1119
+ IFJMP:<{
1120
+ DROP
1121
+ x{75696e743332} PUSHSLICE
1122
+ }>
1123
+ DUP
1124
+ 6 EQINT
1125
+ IFJMP:<{
1126
+ DROP
1127
+ x{75696e743634} PUSHSLICE
1128
+ }>
1129
+ DUP
1130
+ 8 EQINT
1131
+ IFJMP:<{
1132
+ DROP
1133
+ x{75696e74323536} PUSHSLICE
1134
+ }>
1135
+ DUP
1136
+ 7 EQINT
1137
+ IFJMP:<{
1138
+ DROP
1139
+ x{636f696e73} PUSHSLICE
1140
+ }>
1141
+ DUP
1142
+ 8 EQINT
1143
+ IFJMP:<{
1144
+ DROP
1145
+ x{61646472657373} PUSHSLICE
1146
+ }>
1147
+ DUP
1148
+ 9 EQINT
1149
+ IFJMP:<{
1150
+ DROP
1151
+ x{64696374323536} PUSHSLICE
1152
+ }>
1153
+ DUP
1154
+ 9 EQINT
1155
+ IFJMP:<{
1156
+ DROP
1157
+ x{6f626a526566} PUSHSLICE
1158
+ }>
1159
+ DUP
1160
+ 9 EQINT
1161
+ IFJMP:<{
1162
+ DROP
1163
+ x{63656c6c526566} PUSHSLICE
1164
+ }>
1165
+ 0 EQINT
1166
+ IFJMP:<{
1167
+ x{626f6f6c} PUSHSLICE
1168
+ }>
1169
+ x{756e6b6e6f776e} PUSHSLICE
1170
+ }>
1171
+ printField PROCINLINE:<{
1172
+ OVER
1173
+ CTOS
1174
+ s2 s1 PUSH2
1175
+ typeofField INLINECALLDICT
1176
+ s2 PUSH
1177
+ 18 MULCONST
1178
+ 80 ADDCONST
1179
+ DUP
1180
+ 4 ADDCONST
1181
+ s3 s(-1) PUXC
1182
+ 2 PUSHINT
1183
+ SDSUBSTR
1184
+ 2 PLDU
1185
+ OVER
1186
+ 4 ADDCONST
1187
+ 2 ADDCONST
1188
+ 10 ADDCONST
1189
+ s4 s(-1) PUXC
1190
+ 2 PUSHINT
1191
+ SDSUBSTR
1192
+ 2 PLDU
1193
+ s3 PUSH
1194
+ _getTypeWidth INLINECALLDICT
1195
+ s0 s3 XCHG
1196
+ 4 ADDCONST
1197
+ 2 ADDCONST
1198
+ s1 s5 XCHG
1199
+ 10 PUSHINT
1200
+ SDSUBSTR
1201
+ 10 PLDU
1202
+ s3 PUSH
1203
+ _typeToStr CALLDICT
1204
+ x{20} PUSHSLICE
1205
+ str::concat CALLDICT
1206
+ s6 PUSH
1207
+ str::concatInt CALLDICT
1208
+ x{2061742063} PUSHSLICE
1209
+ str::concat CALLDICT
1210
+ ROT
1211
+ str::concatInt CALLDICT
1212
+ s2 PUSH
1213
+ 0 GTINT
1214
+ IF:<{
1215
+ s4 POP
1216
+ s0 s3 XCHG
1217
+ x{2e62} PUSHSLICE
1218
+ str::concat CALLDICT
1219
+ s0 s3 XCHG2
1220
+ str::concatInt CALLDICT
1221
+ }>ELSE<{
1222
+ NIP
1223
+ x{2e72} PUSHSLICE
1224
+ str::concat CALLDICT
1225
+ s0 s3 XCHG2
1226
+ str::concatInt CALLDICT
1227
+ }>
1228
+ OVER
1229
+ 9 LESSINT
1230
+ IF:<{
1231
+ NIP
1232
+ x{203d20} PUSHSLICE
1233
+ str::concat CALLDICT
1234
+ 3 -ROLL
1235
+ cl::get<uint> INLINECALLDICT
1236
+ str::concatInt CALLDICT
1237
+ STRDUMP
1238
+ DROP
1239
+ }>ELSE<{
1240
+ s2 POP
1241
+ 9 EQINT
1242
+ IF:<{
1243
+ x{2068617368203d20} PUSHSLICE
1244
+ str::concat CALLDICT
1245
+ -ROT
1246
+ cl::get<objRef> INLINECALLDICT
1247
+ cl::hash INLINECALLDICT
1248
+ str::concatInt CALLDICT
1249
+ STRDUMP
1250
+ DROP
1251
+ }>ELSE<{
1252
+ x{2068617368203d20} PUSHSLICE
1253
+ str::concat CALLDICT
1254
+ -ROT
1255
+ cl::get<cellRef> INLINECALLDICT
1256
+ HASHCU
1257
+ str::concatInt CALLDICT
1258
+ STRDUMP
1259
+ DROP
1260
+ }>
1261
+ }>
1262
+ }>
1263
+ uint256ToSlice PROCINLINE:<{
1264
+ NEWC
1265
+ 256 STU
1266
+ ENDC CTOS
1267
+ }>
1268
+ sliceToUint256 PROCINLINE:<{
1269
+ 256 PLDU
1270
+ }>
1271
+ cl::dict256::New PROCINLINE:<{
1272
+ <b b> PUSHREF
1273
+ }>
1274
+ cl::dict256::get PROCINLINE:<{
1275
+ OVER
1276
+ cell_is_empty INLINECALLDICT
1277
+ IF:<{
1278
+ NIP
1279
+ NEWDICT
1280
+ 8 PUSHPOW2
1281
+ DICTUGET
1282
+ NULLSWAPIFNOT
1283
+ }>ELSE<{
1284
+ SWAP
1285
+ 8 PUSHPOW2
1286
+ DICTUGET
1287
+ NULLSWAPIFNOT
1288
+ }>
1289
+ }>
1290
+ cl::dict256::get<uint256> PROCINLINE:<{
1291
+ cl::dict256::get INLINECALLDICT
1292
+ IF:<{
1293
+ sliceToUint256 INLINECALLDICT
1294
+ TRUE
1295
+ }>ELSE<{
1296
+ DROP
1297
+ 0 PUSHINT
1298
+ FALSE
1299
+ }>
1300
+ }>
1301
+ cl::dict256::get<cellRef> PROCINLINE:<{
1302
+ OVER
1303
+ cell_is_empty INLINECALLDICT
1304
+ IF:<{
1305
+ 2DROP
1306
+ <b b> PUSHREF
1307
+ FALSE
1308
+ }>ELSE<{
1309
+ SWAP
1310
+ 8 PUSHPOW2
1311
+ DICTUGETREF
1312
+ NULLSWAPIFNOT
1313
+ }>
1314
+ }>
1315
+ cl::dict256::setRef PROCINLINE:<{
1316
+ s2 PUSH
1317
+ cell_is_empty INLINECALLDICT
1318
+ IF:<{
1319
+ 1 2 BLKDROP2
1320
+ NEWDICT
1321
+ s1 s2 XCHG
1322
+ 8 PUSHPOW2
1323
+ DICTUSETREF
1324
+ }>ELSE<{
1325
+ s0 s2 XCHG
1326
+ 8 PUSHPOW2
1327
+ DICTUSETREF
1328
+ }>
1329
+ }>
1330
+ cl::dict256::set PROCINLINE:<{
1331
+ DUP
1332
+ <{ TRY:<{ SBITS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS
1333
+ IF:<{
1334
+ }>ELSE<{
1335
+ uint256ToSlice INLINECALLDICT
1336
+ }>
1337
+ s2 PUSH
1338
+ cell_is_empty INLINECALLDICT
1339
+ IF:<{
1340
+ s2 POP
1341
+ NEWDICT
1342
+ 8 PUSHPOW2
1343
+ DICTUSET
1344
+ }>ELSE<{
1345
+ s0 s2 XCHG
1346
+ 8 PUSHPOW2
1347
+ DICTUSET
1348
+ }>
1349
+ }>
1350
+ cl::dict256::delete PROC:<{
1351
+ OVER
1352
+ cell_is_empty INLINECALLDICT
1353
+ IFJMP:<{
1354
+ DROP
1355
+ }>
1356
+ SWAP
1357
+ 8 PUSHPOW2
1358
+ DICTUDEL
1359
+ DROP
1360
+ DUP
1361
+ <{ TRY:<{ CTOS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS
1362
+ IF:<{
1363
+ }>ELSE<{
1364
+ DROP
1365
+ cl::dict256::New INLINECALLDICT
1366
+ }>
1367
+ }>
1368
+ cl::dict256::getMin<slice> PROC:<{
1369
+ DUP
1370
+ cell_is_empty INLINECALLDICT
1371
+ IFJMP:<{
1372
+ DROP
1373
+ -1 PUSHINT
1374
+ PUSHNULL
1375
+ }>
1376
+ 8 PUSHPOW2
1377
+ DICTUMIN
1378
+ NULLSWAPIFNOT2
1379
+ IFJMP:<{
1380
+ SWAP
1381
+ }>
1382
+ 2DROP
1383
+ -1 PUSHINT
1384
+ PUSHNULL
1385
+ }>
1386
+ cl::dict256::getMin<uint256> PROC:<{
1387
+ DUP
1388
+ cell_is_empty INLINECALLDICT
1389
+ IFJMP:<{
1390
+ DROP
1391
+ -1 PUSHINT
1392
+ PUSHNULL
1393
+ }>
1394
+ 8 PUSHPOW2
1395
+ DICTUMIN
1396
+ NULLSWAPIFNOT2
1397
+ IFJMP:<{
1398
+ SWAP
1399
+ 256 PLDU
1400
+ }>
1401
+ 2DROP
1402
+ -1 PUSHINT
1403
+ PUSHNULL
1404
+ }>
1405
+ cl::dict256::getMin<cellRef> PROC:<{
1406
+ DUP
1407
+ cell_is_empty INLINECALLDICT
1408
+ IFJMP:<{
1409
+ DROP
1410
+ -1 PUSHINT
1411
+ PUSHNULL
1412
+ }>
1413
+ 8 PUSHPOW2
1414
+ DICTUMINREF
1415
+ NULLSWAPIFNOT2
1416
+ IFJMP:<{
1417
+ SWAP
1418
+ }>
1419
+ 2DROP
1420
+ -1 PUSHINT
1421
+ PUSHNULL
1422
+ }>
1423
+ cl::dict256::getNext<slice> PROC:<{
1424
+ OVER
1425
+ cell_is_empty INLINECALLDICT
1426
+ IFJMP:<{
1427
+ 2DROP
1428
+ -1 PUSHINT
1429
+ PUSHNULL
1430
+ }>
1431
+ SWAP
1432
+ 8 PUSHPOW2
1433
+ DICTUGETNEXT
1434
+ NULLSWAPIFNOT2
1435
+ IFJMP:<{
1436
+ SWAP
1437
+ }>
1438
+ 2DROP
1439
+ -1 PUSHINT
1440
+ PUSHNULL
1441
+ }>
1442
+ cl::dict256::getNext<uint256> PROC:<{
1443
+ OVER
1444
+ cell_is_empty INLINECALLDICT
1445
+ IFJMP:<{
1446
+ 2DROP
1447
+ -1 PUSHINT
1448
+ PUSHNULL
1449
+ }>
1450
+ SWAP
1451
+ 8 PUSHPOW2
1452
+ DICTUGETNEXT
1453
+ NULLSWAPIFNOT2
1454
+ IFJMP:<{
1455
+ SWAP
1456
+ 256 PLDU
1457
+ }>
1458
+ 2DROP
1459
+ -1 PUSHINT
1460
+ PUSHNULL
1461
+ }>
1462
+ cl::dict256::getNext<cellRef> PROC:<{
1463
+ OVER
1464
+ cell_is_empty INLINECALLDICT
1465
+ IFJMP:<{
1466
+ 2DROP
1467
+ -1 PUSHINT
1468
+ PUSHNULL
1469
+ }>
1470
+ SWAP
1471
+ 8 PUSHPOW2
1472
+ DICTUGETNEXT
1473
+ NULLSWAPIFNOT2
1474
+ IFJMP:<{
1475
+ SWAP
1476
+ 0 PLDREFIDX
1477
+ }>
1478
+ 2DROP
1479
+ -1 PUSHINT
1480
+ PUSHNULL
1481
+ }>
1482
+ cl::dict256::size PROCINLINE:<{
1483
+ 0 PUSHINT
1484
+ OVER
1485
+ cl::dict256::getMin<slice> CALLDICT
1486
+ DROP
1487
+ WHILE:<{
1488
+ DUP
1489
+ -1 GTINT
1490
+ }>DO<{
1491
+ s2 s(-1) PUXC
1492
+ cl::dict256::getNext<slice> CALLDICT
1493
+ DROP
1494
+ SWAP
1495
+ INC
1496
+ SWAP
1497
+ }>
1498
+ DROP
1499
+ NIP
1500
+ }>
1501
+ cl::nestedDict256::set PROCINLINE:<{
1502
+ 2OVER
1503
+ cl::get<dict256> INLINECALLDICT
1504
+ -ROT
1505
+ cl::dict256::set INLINECALLDICT
1506
+ cl::set INLINECALLDICT
1507
+ }>
1508
+ cl::nestedDict256::setRef PROCINLINE:<{
1509
+ 2OVER
1510
+ cl::get<dict256> INLINECALLDICT
1511
+ -ROT
1512
+ cl::dict256::setRef INLINECALLDICT
1513
+ cl::set INLINECALLDICT
1514
+ }>
1515
+ cl::nestedDict256::delete PROCINLINE:<{
1516
+ s2 s1 PUSH2
1517
+ cl::get<dict256> INLINECALLDICT
1518
+ SWAP
1519
+ cl::dict256::delete CALLDICT
1520
+ cl::set INLINECALLDICT
1521
+ }>
1522
+ cl::nestedDict256::get<uint256> PROCINLINE:<{
1523
+ -ROT
1524
+ cl::get<dict256> INLINECALLDICT
1525
+ SWAP
1526
+ cl::dict256::get<uint256> INLINECALLDICT
1527
+ }>
1528
+ cl::nestedDict256::get<slice> PROCINLINE:<{
1529
+ -ROT
1530
+ cl::get<dict256> INLINECALLDICT
1531
+ SWAP
1532
+ cl::dict256::get INLINECALLDICT
1533
+ }>
1534
+ cl::nestedDict256::get<cellRef> PROCINLINE:<{
1535
+ -ROT
1536
+ cl::get<dict256> INLINECALLDICT
1537
+ SWAP
1538
+ cl::dict256::get INLINECALLDICT
1539
+ DUP
1540
+ IF:<{
1541
+ SWAP
1542
+ 0 PLDREFIDX
1543
+ SWAP
1544
+ }>ELSE<{
1545
+ NIP
1546
+ <b b> PUSHREF
1547
+ SWAP
1548
+ }>
1549
+ }>
1550
+ getMsgValue PROCINLINE:<{
1551
+ txnContext GETGLOB
1552
+ 6 INDEX
1553
+ }>
1554
+ getOpcode PROCINLINE:<{
1555
+ txnContext GETGLOB
1556
+ 3 INDEX
1557
+ }>
1558
+ txnIsBounced PROCINLINE:<{
1559
+ txnContext GETGLOB
1560
+ 0 INDEX
1561
+ }>
1562
+ getContractBalance PROCINLINE:<{
1563
+ txnContext GETGLOB
1564
+ 5 INDEX
1565
+ }>
1566
+ getInitialContractBalance PROCINLINE:<{
1567
+ getContractBalance INLINECALLDICT
1568
+ getMsgValue INLINECALLDICT
1569
+ SUB
1570
+ }>
1571
+ getCaller PROCINLINE:<{
1572
+ txnContext GETGLOB
1573
+ 1 INDEX
1574
+ }>
1575
+ getOrigin PROCINLINE:<{
1576
+ txnContext GETGLOB
1577
+ 9 INDEX
1578
+ }>
1579
+ getOriginStd PROCINLINE:<{
1580
+ getOrigin INLINECALLDICT
1581
+ hashpartToBasechainAddressStd INLINECALLDICT
1582
+ }>
1583
+ getDonationNanos PROCINLINE:<{
1584
+ txnContext GETGLOB
1585
+ 10 INDEX
1586
+ }>
1587
+ setDonationNanos PROCINLINE:<{
1588
+ txnContext GETGLOB
1589
+ SWAP
1590
+ 10 PUSHINT
1591
+ SETINDEXVAR
1592
+ txnContext SETGLOB
1593
+ }>
1594
+ getMsgData PROCINLINE:<{
1595
+ txnContext GETGLOB
1596
+ 11 INDEX
1597
+ }>
1598
+ setOrigin PROCINLINE:<{
1599
+ txnContext GETGLOB
1600
+ SWAP
1601
+ 9 PUSHINT
1602
+ SETINDEXVAR
1603
+ txnContext SETGLOB
1604
+ }>
1605
+ initTxnContext PROCINLINE:<{
1606
+ OVER
1607
+ CTOS
1608
+ 4 PUSHINT
1609
+ LDUX
1610
+ FALSE
1611
+ s0 s2 XCHG
1612
+ 1 PUSHINT
1613
+ AND
1614
+ IF:<{
1615
+ NIP
1616
+ TRUE
1617
+ s0 s2 XCHG
1618
+ 32 PUSHINT
1619
+ SDSKIPFIRST
1620
+ -ROT
1621
+ }>
1622
+ -1 PUSHINT
1623
+ DUP
1624
+ 0 PUSHINT
1625
+ PUSHNULL
1626
+ s0 s4 XCHG
1627
+ LDMSGADDR
1628
+ LDMSGADDR
1629
+ NIP
1630
+ LDGRAMS
1631
+ NIP
1632
+ 1 PUSHINT
1633
+ SDSKIPFIRST
1634
+ LDGRAMS
1635
+ NIP
1636
+ SWAP
1637
+ basechainAddressStdToHashpart INLINECALLDICT
1638
+ s0 s7 PUSH2
1639
+ SEMPTY
1640
+ IFNOT:<{
1641
+ 3 3 BLKDROP2
1642
+ s0 s5 XCHG
1643
+ 32 PUSHINT
1644
+ LDUX
1645
+ 64 PUSHINT
1646
+ LDUX
1647
+ LDGRAMS
1648
+ DUP
1649
+ SBITS
1650
+ 267 PUSHINT
1651
+ GEQ
1652
+ IF:<{
1653
+ s8 POP
1654
+ s7 PUSH
1655
+ 11 PUSHINT
1656
+ 8 PUSHPOW2
1657
+ SDSUBSTR
1658
+ 256 PLDU
1659
+ s0 s8 XCHG
1660
+ }>
1661
+ DUP
1662
+ SREMPTY
1663
+ IFNOT:<{
1664
+ s6 POP
1665
+ s5 PUSH
1666
+ PLDREF
1667
+ s0 s6 XCHG
1668
+ }>
1669
+ s0 s8 XCHG
1670
+ s3 s5 XCHG
1671
+ s4 s3 s0 XCHG3
1672
+ s1 s2 XCHG
1673
+ }>
1674
+ s0 s2 XCHG
1675
+ LDGRAMS
1676
+ DROP
1677
+ 3 PUSHINT
1678
+ 1 MULRSHIFT#
1679
+ s7 s11 XCHG
1680
+ s10 s9 XCHG2
1681
+ s5 s8 XCHG
1682
+ s4 s7 XCHG
1683
+ s4 s6 XCHG
1684
+ s3 s3 XCHG2
1685
+ s0 s5 XCHG
1686
+ s0 s4 XCHG
1687
+ 12 TUPLE
1688
+ txnContext SETGLOB
1689
+ }>
1690
+ _testName PROC:<{
1691
+ x{6c7a5574696c} PUSHSLICE
1692
+ }>
1693
+ baseTest::getTests PROC:<{
1694
+ NIL
1695
+ }>
1696
+ baseTest::prepare PROCINLINE:<{
1697
+ DROP
1698
+ cl::nullObject INLINECALLDICT
1699
+ }>
1700
+ emitDone PROCINLINE:<{
1701
+ 0 PUSHINT
1702
+ 1 PUSHINT
1703
+ 8 PUSHPOW2
1704
+ OVER
1705
+ 12 PUSHINT
1706
+ NEWC
1707
+ 4 STU
1708
+ 2 STU
1709
+ 9 STU
1710
+ 256 STU
1711
+ 98 STU
1712
+ ENDC
1713
+ 0 PUSHINT
1714
+ SENDRAWMSG
1715
+ }>
1716
+ test::throwError PROC:<{
1717
+ _testName CALLDICT
1718
+ x{3a20} PUSHSLICE
1719
+ str::concat CALLDICT
1720
+ base_error_msg GETGLOB
1721
+ str::concat CALLDICT
1722
+ x{3a20} PUSHSLICE
1723
+ str::concat CALLDICT
1724
+ OVER
1725
+ str::concat CALLDICT
1726
+ STRDUMP
1727
+ DROP
1728
+ _testName CALLDICT
1729
+ x{3a20} PUSHSLICE
1730
+ str::concat CALLDICT
1731
+ base_error_msg GETGLOB
1732
+ str::concat CALLDICT
1733
+ x{3a20} PUSHSLICE
1734
+ str::concat CALLDICT
1735
+ SWAP
1736
+ str::concat CALLDICT
1737
+ throwError INLINECALLDICT
1738
+ }>
1739
+ test::throwErrorUnless PROC:<{
1740
+ SWAP
1741
+ IFNOT:<{
1742
+ test::throwError CALLDICT
1743
+ }>ELSE<{
1744
+ DROP
1745
+ }>
1746
+ }>
1747
+ get_test_name PROC:<{
1748
+ baseTest::getTests CALLDICT
1749
+ SWAP
1750
+ INDEXVAR
1751
+ 1 INDEX
1752
+ }>
1753
+ setCaller PROCINLINE:<{
1754
+ txnContext GETGLOB
1755
+ SWAP
1756
+ 1 PUSHINT
1757
+ SETINDEXVAR
1758
+ txnContext SETGLOB
1759
+ }>
1760
+ setContractBalance PROCINLINE:<{
1761
+ txnContext GETGLOB
1762
+ SWAP
1763
+ 5 PUSHINT
1764
+ SETINDEXVAR
1765
+ txnContext SETGLOB
1766
+ }>
1767
+ setNewTime PROC:<{
1768
+ c7 PUSH
1769
+ DUP
1770
+ 0 INDEX
1771
+ ROT
1772
+ 3 PUSHINT
1773
+ SETINDEXVAR
1774
+ 0 PUSHINT
1775
+ SETINDEXVAR
1776
+ c7 POP
1777
+ }>
1778
+ main PROC:<{
1779
+ DUP
1780
+ SEMPTY
1781
+ IFJMP:<{
1782
+ 4 BLKDROP
1783
+ }>
1784
+ initTxnContext INLINECALLDICT
1785
+ x{626173655f6572726f725f6d7367204e4f54207365742e2e2e20} PUSHSLICE
1786
+ base_error_msg SETGLOB
1787
+ getOpcode INLINECALLDICT
1788
+ getOrigin INLINECALLDICT
1789
+ setCaller INLINECALLDICT
1790
+ baseTest::getTests CALLDICT
1791
+ DUP
1792
+ TLEN
1793
+ s2 s(-1) PUXC
1794
+ GEQ
1795
+ IF:<{
1796
+ 2DROP
1797
+ emitDone INLINECALLDICT
1798
+ }>ELSE<{
1799
+ SWAP
1800
+ INDEXVAR
1801
+ DUP
1802
+ 0 INDEX
1803
+ OVER
1804
+ 1 INDEX
1805
+ base_error_msg SETGLOB
1806
+ SWAP
1807
+ baseTest::prepare INLINECALLDICT
1808
+ getContractStorage INLINECALLDICT
1809
+ s0 s2 XCHG
1810
+ 1 2 CALLXARGS
1811
+ s0 s2 XCHG
1812
+ setContractStorage INLINECALLDICT
1813
+ -1 EQINT
1814
+ SWAP
1815
+ test::throwErrorUnless CALLDICT
1816
+ }>
1817
+ }>
1818
+ test::shouldBeTrue PROC:<{
1819
+ IFJMP:<{
1820
+ -1 PUSHINT
1821
+ x{} PUSHSLICE
1822
+ }>
1823
+ 0 PUSHINT
1824
+ x{746573743a3a73686f756c64426554727565} PUSHSLICE
1825
+ }>
1826
+ test::shouldBeFalse PROC:<{
1827
+ 0 EQINT
1828
+ test::shouldBeTrue CALLDICT
1829
+ }>
1830
+ }END>c
1831
+ 2 boc+>B "build/LzUtil.test.boc" B>file