@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,2188 @@
1
+ "Asm.fif" include
2
+ // automatically generated from `src/funC++/tests/POOO/main.fc` incl:`src/funC++/tests/POOO/../../../../tests/testMain.fc` incl:`src/funC++/tests/POOO/../../../../tests/../src/funC++/classlib.fc` incl:`src/funC++/tests/POOO/../../../../tests/../src/funC++/utils.fc` incl:`src/funC++/tests/POOO/../../../../tests/../src/funC++/constants.fc` incl:`src/funC++/tests/POOO/../../../../tests/../src/funC++/stdlib.fc` incl:`src/funC++/tests/POOO/../../../../tests/../src/funC++/stringlib.fc` incl:`src/funC++/tests/POOO/../../../../tests/../src/funC++/txnContext.fc` incl:`src/funC++/tests/POOO/../../dataStructures/PipelinedOutOfOrder.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
+ 106165 DECLMETHOD POOO::set
102
+ 76066 DECLMETHOD POOO::New
103
+ 126005 DECLMETHOD POOO::NewWithBitsSets
104
+ 116795 DECLMETHOD POOO::isBitSet
105
+ 68887 DECLMETHOD POOO::maxSettableBit
106
+ DECLPROC POOO::setBitOne
107
+ DECLPROC POOO::setBitTwo
108
+ DECLPROC POOO::8bitOrdered
109
+ DECLPROC POOO::8bitUnordered
110
+ DECLPROC POOO::lastBit
111
+ DECLPROC POOO::revert::pastLastBit
112
+ DECLPROC POOO::indexZero
113
+ DECLPROC POOO::wrapsAtEnd
114
+ DECLPROC POOO::negativeInput
115
+ DECLGLOBVAR txnContext
116
+ DECLGLOBVAR base_error_msg
117
+ cell_is_empty PROCINLINE:<{
118
+ HASHCU
119
+ 68134197439415885698044414435951397869210496020759160419881882418413283430343 PUSHINT
120
+ EQUAL
121
+ }>
122
+ throwError PROCINLINE:<{
123
+ DUP
124
+ STRDUMP
125
+ DROP
126
+ HASHSU
127
+ 11 PUSHPOW2DEC
128
+ AND
129
+ THROWANY
130
+ }>
131
+ throwErrorUnless PROCINLINE:<{
132
+ SWAP
133
+ IFNOT:<{
134
+ throwError INLINECALLDICT
135
+ }>ELSE<{
136
+ DROP
137
+ }>
138
+ }>
139
+ getContractStateSize PROCINLINE:<{
140
+ 6 PUSHINT
141
+ NEWC
142
+ 5 STU
143
+ s1 s2 XCHG
144
+ STREF
145
+ STREF
146
+ ENDC
147
+ 16 PUSHPOW2DEC
148
+ CDATASIZE
149
+ DROP
150
+ }>
151
+ calculateStorageFees PROCINLINE:<{
152
+ 0 PUSHINT
153
+ GETSTORAGEFEE
154
+ }>
155
+ treeShapeEqual PROCINLINE:<{
156
+ SWAP
157
+ CTOS
158
+ SWAP
159
+ CTOS
160
+ OVER
161
+ SBITREFS
162
+ s2 PUSH
163
+ SBITREFS
164
+ s3 s3 XCHG2
165
+ NEQ
166
+ s1 s2 PUXC
167
+ NEQ
168
+ s1 s2 XCHG
169
+ OR
170
+ IF:<{
171
+ 3 BLKDROP
172
+ FALSE
173
+ }>ELSE<{
174
+ DUP
175
+ 0 EQINT
176
+ IFJMP:<{
177
+ 3 BLKDROP
178
+ TRUE
179
+ }>
180
+ TRUE
181
+ 0 PUSHINT
182
+ WHILE:<{
183
+ s2 PUSH
184
+ 0 GTINT
185
+ }>DO<{
186
+ s4 s0 PUSH2
187
+ PLDREFVAR
188
+ s4 s1 PUSH2
189
+ PLDREFVAR
190
+ treeShapeEqual INLINECALLDICT
191
+ s1 s2 XCHG
192
+ AND
193
+ SWAP
194
+ }>
195
+ s1 s4 XCHG
196
+ 4 BLKDROP
197
+ }>
198
+ }>
199
+ str::asciiUint256ToStr PROC:<{
200
+ DUP
201
+ NEWC
202
+ 256 STU
203
+ ENDC
204
+ CTOS
205
+ SDCNTLEAD0
206
+ 8 PUSHPOW2
207
+ SWAP
208
+ SUB
209
+ POW2
210
+ DEC
211
+ 8627645864741206717834700843784589212596587092734002810783114102550390051603 PUSHINT
212
+ SWAP
213
+ NOT
214
+ AND
215
+ OR
216
+ NEWC
217
+ 256 STU
218
+ ENDC
219
+ CTOS
220
+ }>
221
+ ~str::concat PROC:<{
222
+ OVER
223
+ SBITS
224
+ OVER
225
+ SBITS
226
+ ADD
227
+ 32385 PUSHINT
228
+ GREATER
229
+ IF:<{
230
+ x{43616e6e6f7420636f6e636174656e6174653a20737472696e6720746f6f206c6f6e67} PUSHSLICE
231
+ throwError INLINECALLDICT
232
+ }>
233
+ NEWC
234
+ ROT
235
+ STSLICER
236
+ SWAP
237
+ STSLICER
238
+ ENDC
239
+ CTOS
240
+ }>
241
+ str::concat PROC:<{
242
+ ~str::concat CALLDICT
243
+ }>
244
+ ~str::concatInt PROC:<{
245
+ <b b> <s PUSHSLICE
246
+ OVER
247
+ 0 LESSINT
248
+ IF:<{
249
+ s0 s2 XCHG
250
+ x{2d} PUSHSLICE
251
+ ~str::concat CALLDICT
252
+ SWAP
253
+ NEGATE
254
+ ROT
255
+ }>
256
+ OVER
257
+ 0 EQINT
258
+ IF:<{
259
+ 48 PUSHINT
260
+ NEWC
261
+ 8 STU
262
+ ENDC
263
+ CTOS
264
+ ~str::concat CALLDICT
265
+ }>
266
+ WHILE:<{
267
+ OVER
268
+ 0 GTINT
269
+ }>DO<{
270
+ OVER
271
+ 10 PUSHINT
272
+ MOD
273
+ 48 ADDCONST
274
+ NEWC
275
+ 8 STU
276
+ ENDC
277
+ CTOS
278
+ SWAP
279
+ str::concat CALLDICT
280
+ SWAP
281
+ 10 PUSHINT
282
+ DIV
283
+ SWAP
284
+ }>
285
+ NIP
286
+ str::concat CALLDICT
287
+ }>
288
+ str::concatInt PROC:<{
289
+ ~str::concatInt CALLDICT
290
+ }>
291
+ ~str::concatHex PROC:<{
292
+ <b b> <s PUSHSLICE
293
+ OVER
294
+ 0 EQINT
295
+ IF:<{
296
+ 48 PUSHINT
297
+ NEWC
298
+ 8 STU
299
+ ENDC
300
+ CTOS
301
+ ~str::concat CALLDICT
302
+ }>
303
+ WHILE:<{
304
+ OVER
305
+ 0 GTINT
306
+ }>DO<{
307
+ OVER
308
+ 4 MODPOW2#
309
+ 10 LESSINT
310
+ IF:<{
311
+ OVER
312
+ 4 MODPOW2#
313
+ 48 ADDCONST
314
+ NEWC
315
+ 8 STU
316
+ ENDC
317
+ CTOS
318
+ SWAP
319
+ str::concat CALLDICT
320
+ }>ELSE<{
321
+ OVER
322
+ 4 MODPOW2#
323
+ 65 ADDCONST
324
+ -10 ADDCONST
325
+ NEWC
326
+ 8 STU
327
+ ENDC
328
+ CTOS
329
+ SWAP
330
+ str::concat CALLDICT
331
+ }>
332
+ SWAP
333
+ 4 RSHIFT#
334
+ SWAP
335
+ }>
336
+ NIP
337
+ str::concat CALLDICT
338
+ }>
339
+ str::concatHex PROC:<{
340
+ ~str::concatHex CALLDICT
341
+ }>
342
+ str::console::log<int> PROC:<{
343
+ SWAP
344
+ x{3a20} PUSHSLICE
345
+ str::concat CALLDICT
346
+ SWAP
347
+ str::concatInt CALLDICT
348
+ STRDUMP
349
+ DROP
350
+ }>
351
+ basechainAddressStdToHashpart PROCINLINE:<{
352
+ REWRITESTDADDR
353
+ NIP
354
+ }>
355
+ hashpartToBasechainAddressStd PROCINLINE:<{
356
+ 0 PUSHINT
357
+ 4 PUSHINT
358
+ NEWC
359
+ 3 STU
360
+ 8 STI
361
+ 256 STU
362
+ ENDC CTOS
363
+ }>
364
+ getContractAddress PROCINLINE:<{
365
+ MYADDR
366
+ 11 PUSHINT
367
+ 8 PUSHPOW2
368
+ SDSUBSTR
369
+ 256 PLDU
370
+ }>
371
+ cl::objToSlice PROCINLINE:<{
372
+ CTOS
373
+ }>
374
+ _getTypeWidth PROCINLINE:<{
375
+ DUP
376
+ 9 LESSINT
377
+ IF:<{
378
+ POW2
379
+ }>ELSE<{
380
+ DROP
381
+ 0 PUSHINT
382
+ }>
383
+ }>
384
+ cl::hash PROCINLINE:<{
385
+ HASHCU
386
+ }>
387
+ cl::isNull PROCINLINE:<{
388
+ cell_is_empty INLINECALLDICT
389
+ }>
390
+ cl::noRefFields PROC:<{
391
+ c2 SAVE
392
+ SAMEALTSAVE
393
+ CTOS
394
+ DUP
395
+ SREFS
396
+ DUP
397
+ 0 EQINT
398
+ IFJMP:<{
399
+ 2DROP
400
+ TRUE
401
+ }>
402
+ DUP
403
+ 3 LESSINT
404
+ IFJMP:<{
405
+ 2DROP
406
+ FALSE
407
+ RETALT
408
+ }>
409
+ DUP
410
+ 2 GTINT
411
+ IF:<{
412
+ OVER
413
+ 0 PUSHINT
414
+ PLDREFVAR
415
+ cell_is_empty INLINECALLDICT
416
+ 0 EQINT
417
+ s2 PUSH
418
+ 1 PUSHINT
419
+ PLDREFVAR
420
+ cell_is_empty INLINECALLDICT
421
+ 0 EQINT
422
+ OR
423
+ s2 PUSH
424
+ 2 PUSHINT
425
+ PLDREFVAR
426
+ CTOS
427
+ SREFS
428
+ 0 NEQINT
429
+ OR
430
+ IFJMP:<{
431
+ 2DROP
432
+ FALSE
433
+ RETALT
434
+ }>
435
+ }>
436
+ 3 GTINT
437
+ IF:<{
438
+ 3 PUSHINT
439
+ PLDREFVAR
440
+ CTOS
441
+ SREFS
442
+ 0 NEQINT
443
+ IFJMP:<{
444
+ FALSE
445
+ RETALT
446
+ }>
447
+ }>ELSE<{
448
+ DROP
449
+ }>
450
+ TRUE
451
+ }>
452
+ cl::equalObjTypeShallow PROC:<{
453
+ c2 SAVE
454
+ SAMEALTSAVE
455
+ SWAP
456
+ CTOS
457
+ SWAP
458
+ CTOS
459
+ OVER
460
+ SREFS
461
+ OVER
462
+ SREFS
463
+ s1 s(-1) PUXC
464
+ NEQ
465
+ s3 PUSH
466
+ SBITS
467
+ s3 PUSH
468
+ SBITS
469
+ NEQ
470
+ OR
471
+ IFJMP:<{
472
+ 3 BLKDROP
473
+ FALSE
474
+ }>
475
+ 2 PUSHINT
476
+ WHILE:<{
477
+ s0 s1 PUSH2
478
+ LESS
479
+ }>DO<{
480
+ s3 s0 PUSH2
481
+ PLDREFVAR
482
+ CTOS
483
+ SREFS
484
+ s3 s1 PUSH2
485
+ PLDREFVAR
486
+ CTOS
487
+ SREFS
488
+ NEQ
489
+ s4 s1 PUSH2
490
+ PLDREFVAR
491
+ CTOS
492
+ SBITS
493
+ s4 s2 PUSH2
494
+ PLDREFVAR
495
+ CTOS
496
+ SBITS
497
+ NEQ
498
+ OR
499
+ IFJMP:<{
500
+ 4 BLKDROP
501
+ FALSE
502
+ RETALT
503
+ }>
504
+ INC
505
+ }>
506
+ 4 BLKDROP
507
+ TRUE
508
+ }>
509
+ setContractStorage PROCINLINE:<{
510
+ c4 POP
511
+ }>
512
+ getContractStorage PROCINLINE:<{
513
+ c4 PUSH
514
+ }>
515
+ computeContractAddress PROCINLINE:<{
516
+ 6 PUSHINT
517
+ NEWC
518
+ 5 STU
519
+ STREF
520
+ STREF
521
+ ENDC
522
+ HASHCU
523
+ }>
524
+ cl::typeof PROCINLINE:<{
525
+ DUP
526
+ cl::isNull INLINECALLDICT
527
+ IF:<{
528
+ DROP
529
+ 1314212940 PUSHINT
530
+ }>ELSE<{
531
+ CTOS
532
+ 80 PLDU
533
+ }>
534
+ }>
535
+ cl::declare PROCINLINE:<{
536
+ PUSHNULL
537
+ NEWC
538
+ PAIR
539
+ OVER
540
+ TLEN
541
+ s0 s3 XCHG
542
+ NEWC
543
+ 80 STU
544
+ 1 PUSHINT
545
+ DUP
546
+ 2 PUSHINT
547
+ 350 PUSHINT
548
+ 0 PUSHINT
549
+ DUP
550
+ WHILE:<{
551
+ s0 s9 PUSH2
552
+ LESS
553
+ }>DO<{
554
+ s8 s0 PUSH2
555
+ INDEXVAR
556
+ DUP
557
+ 0 INDEX
558
+ DUP
559
+ _getTypeWidth INLINECALLDICT
560
+ s5 s0 PUSH2
561
+ ADD
562
+ 10 PUSHPOW2DEC
563
+ GREATER
564
+ IF:<{
565
+ s5 POP
566
+ s0 s7 XCHG
567
+ INC
568
+ 0 PUSHINT
569
+ s10 PUSH
570
+ TLEN
571
+ s2 s(-1) PUXC
572
+ GEQ
573
+ IF:<{
574
+ s0 s10 XCHG
575
+ NEWC
576
+ TPUSH
577
+ s0 s10 XCHG
578
+ }>
579
+ s8 s5 XCHG2
580
+ }>
581
+ s4 PUSH
582
+ INC
583
+ s7 PUSH
584
+ GREATER
585
+ IF:<{
586
+ s4 POP
587
+ s5 POP
588
+ s0 s5 XCHG
589
+ INC
590
+ 0 PUSHINT
591
+ 4 PUSHINT
592
+ s10 PUSH
593
+ TLEN
594
+ s3 s(-1) PUXC
595
+ GEQ
596
+ IF:<{
597
+ s0 s10 XCHG
598
+ NEWC
599
+ TPUSH
600
+ s0 s10 XCHG
601
+ }>
602
+ s7 s6 s6 XCHG3
603
+ s0 s4 XCHG
604
+ }>
605
+ OVER
606
+ 9 LESSINT
607
+ IF:<{
608
+ s0 s2 XCHG
609
+ 1 INDEX
610
+ ABS
611
+ s10 s8 PUSH2
612
+ INDEXVAR
613
+ s3 PUSH
614
+ STUX
615
+ s10 s0 s8 XC2PU
616
+ SETINDEXVAR
617
+ }>ELSE<{
618
+ OVER
619
+ 9 EQINT
620
+ IF:<{
621
+ s0 s2 XCHG
622
+ 1 INDEX
623
+ s10 s7 PUSH2
624
+ INDEXVAR
625
+ STREF
626
+ s10 s0 s7 XC2PU
627
+ SETINDEXVAR
628
+ }>ELSE<{
629
+ s0 s2 XCHG
630
+ 1 INDEX
631
+ s10 s7 PUSH2
632
+ INDEXVAR
633
+ STREF
634
+ s10 s0 s7 XC2PU
635
+ SETINDEXVAR
636
+ }>
637
+ }>
638
+ s9 s8 XCHG2
639
+ 4 STU
640
+ s8 PUSH
641
+ 0 GTINT
642
+ IF:<{
643
+ 3 PUSHINT
644
+ s7 PUSH
645
+ 1 EQINT
646
+ IF:<{
647
+ 0 PUSHINT
648
+ }>ELSE<{
649
+ s7 PUSH
650
+ }>
651
+ ROT
652
+ 2 STU
653
+ s4 s(-1) PUXC
654
+ 10 STU
655
+ 2 STU
656
+ s3 s8 XCHG2
657
+ ADD
658
+ }>ELSE<{
659
+ s8 POP
660
+ 10 PUSHPOW2DEC
661
+ s5 PUSH
662
+ 1 EQINT
663
+ IF:<{
664
+ 0 PUSHINT
665
+ }>ELSE<{
666
+ s5 PUSH
667
+ }>
668
+ s0 s9 XCHG2
669
+ 2 STU
670
+ s1 s8 XCHG
671
+ 10 STU
672
+ s1 s(-1) PUXC
673
+ 2 STU
674
+ SWAP
675
+ INC
676
+ s7 s0 s7 XCHG3
677
+ }>
678
+ s0 s2 XCHG
679
+ INC
680
+ s6 s7 XCHG
681
+ }>
682
+ 6 BLKDROP
683
+ 2 2 BLKDROP2
684
+ OVER
685
+ 1 INDEX
686
+ s2 PUSH
687
+ TLEN
688
+ DEC
689
+ DUP
690
+ 1 GTINT
691
+ IF:<{
692
+ OVER
693
+ BREFS
694
+ 0 EQINT
695
+ IF:<{
696
+ <b b> PUSHREF
697
+ <b b> PUSHREF
698
+ s0 s3 XCHG2
699
+ STREF
700
+ s1 s2 XCHG
701
+ STREF
702
+ }>ELSE<{
703
+ OVER
704
+ BREFS
705
+ 1 EQINT
706
+ IF:<{
707
+ <b b> PUSHREF
708
+ ROT
709
+ STREF
710
+ SWAP
711
+ }>
712
+ SWAP
713
+ }>
714
+ SWAP
715
+ }>
716
+ 350 PUSHINT
717
+ s3 PUSH
718
+ BBITS
719
+ SUB
720
+ s1 s3 XCHG
721
+ STONES
722
+ SWAP
723
+ STBR
724
+ OVER
725
+ 1 EQINT
726
+ IF:<{
727
+ 2 1 BLKDROP2
728
+ ENDC
729
+ }>ELSE<{
730
+ SWAP
731
+ 2 EQINT
732
+ IFJMP:<{
733
+ SWAP
734
+ 2 INDEX
735
+ ENDC
736
+ SWAP
737
+ STREF
738
+ ENDC
739
+ }>
740
+ OVER
741
+ 3 INDEX
742
+ ENDC
743
+ s0 s2 XCHG
744
+ 2 INDEX
745
+ ENDC
746
+ SWAP
747
+ STREF
748
+ STREF
749
+ ENDC
750
+ }>
751
+ }>
752
+ cl::nullObject PROCINLINE:<{
753
+ <b b> PUSHREF
754
+ }>
755
+ cl::set PROCINLINE:<{
756
+ s0 s2 XCHG
757
+ CTOS
758
+ SWAP
759
+ 18 MULCONST
760
+ 80 ADDCONST
761
+ 2DUP
762
+ 4 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
763
+ 2 PUSHINT // STACK [_CELL_ID_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
764
+ SDSUBSTR // STACK [substring]
765
+ 2 PLDU // STACK [2BitUnsignInt]
766
+ s2 s1 PUSH2
767
+ // STACK [fieldInfoOffset, headerSlice]
768
+ 4 PUSHINT // STACK [_FIELD_TYPE_WIDTH, fieldInfoOffset, headerSlice]
769
+ SDSUBSTR // STACK [substring]
770
+ 4 PLDU // STACK [2BitUnsignInt]
771
+ 2OVER
772
+ 6 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
773
+ 10 PUSHINT // STACK [_DATA_OFFSET_WIDTH, fieldInfoOffset +_FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
774
+ SDSUBSTR // STACK [substring]
775
+ 10 PLDU // STACK [10BitUnsignInt]
776
+ s4 s3 PUXC
777
+ 16 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH, headerSlice]
778
+ 2 PUSHINT // STACK [_REF_OFFSET_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH headerSlice]
779
+ SDSUBSTR // STACK [substring]
780
+ 2 PLDU // STACK [10BitUnsignInt]
781
+ OVER
782
+ _getTypeWidth INLINECALLDICT
783
+ s3 PUSH
784
+ 0 EQINT
785
+ IF:<{
786
+ s5 PUSH
787
+ }>ELSE<{
788
+ s5 s3 PUSH2
789
+ PLDREFVAR
790
+ CTOS
791
+ }>
792
+ OVER
793
+ 0 NEQINT
794
+ IF:<{
795
+ 4 PUSHINT
796
+ s3 POP
797
+ }>
798
+ NEWC
799
+ OVER
800
+ SBITS
801
+ s7 PUSH
802
+ MIN
803
+ s2 PUSH
804
+ SREFS
805
+ s5 s(-1) PUXC
806
+ MIN
807
+ s3 PUSH
808
+ -ROT
809
+ SCUTFIRST
810
+ STSLICER
811
+ s4 PUSH
812
+ 9 EQINT
813
+ IF:<{
814
+ s2 POP
815
+ s3 POP
816
+ s4 POP
817
+ s5 s5 XCHG2
818
+ s0 s3 XCHG
819
+ STREF
820
+ 0 PUSHINT
821
+ s3 PUSH
822
+ SREFS
823
+ s0 s6 XCHG2
824
+ SUB
825
+ DEC
826
+ s3 s5 s0 XCHG3
827
+ SCUTLAST
828
+ s1 s3 XCHG
829
+ STSLICER
830
+ }>ELSE<{
831
+ s0 s4 XCHG
832
+ 9 EQINT
833
+ IF:<{
834
+ NIP
835
+ s4 POP
836
+ s5 s5 XCHG2
837
+ STREF
838
+ 0 PUSHINT
839
+ s3 PUSH
840
+ SREFS
841
+ s0 s6 XCHG2
842
+ SUB
843
+ DEC
844
+ s3 s5 s0 XCHG3
845
+ SCUTLAST
846
+ s1 s3 XCHG
847
+ STSLICER
848
+ }>ELSE<{
849
+ s2 POP
850
+ s0 s6 XCHG
851
+ ABS
852
+ s0 s2 s6 XC2PU
853
+ STUX
854
+ s3 s5 XCHG2
855
+ ADD
856
+ s2 PUSH
857
+ SREFS
858
+ s2 s3 XCHG
859
+ SSKIPFIRST
860
+ s1 s3 XCHG
861
+ STSLICER
862
+ }>
863
+ }>
864
+ s2 PUSH
865
+ 0 GTINT
866
+ IF:<{
867
+ ENDC
868
+ NEWC
869
+ s2 PUSH
870
+ SBITS
871
+ s3 s4 s(-1) PU2XC
872
+ SCUTFIRST
873
+ STSLICER
874
+ STREF
875
+ 0 PUSHINT
876
+ s2 PUSH
877
+ SREFS
878
+ s0 s4 XCHG2
879
+ SUB
880
+ DEC
881
+ s1 s3 XCHG
882
+ SCUTLAST
883
+ STSLICER
884
+ ENDC
885
+ }>ELSE<{
886
+ 2 1 BLKDROP2
887
+ ENDC
888
+ }>
889
+ }>
890
+ cl::get<uint> PROCINLINE:<{
891
+ s0 s2 XCHG
892
+ CTOS
893
+ SWAP
894
+ 18 MULCONST
895
+ 80 ADDCONST
896
+ 2DUP
897
+ 4 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
898
+ 2 PUSHINT // STACK [_CELL_ID_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
899
+ SDSUBSTR // STACK [substring]
900
+ 2 PLDU // STACK [2BitUnsignInt]
901
+ s2 s1 PUXC
902
+ 6 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
903
+ 10 PUSHINT // STACK [_DATA_OFFSET_WIDTH, fieldInfoOffset +_FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
904
+ SDSUBSTR // STACK [substring]
905
+ 10 PLDU // STACK [10BitUnsignInt]
906
+ OVER
907
+ 0 EQINT
908
+ IF:<{
909
+ NIP
910
+ s2 PUSH
911
+ SDSUBSTR // STACK [substring]
912
+ s1 XCHG0
913
+ PLDUX // STACK [10BitUnsignInt] (CC +1 )
914
+ }>ELSE<{
915
+ -ROT
916
+ PLDREFVAR
917
+ CTOS
918
+ s1 s2 XCPU
919
+ SDSUBSTR // STACK [substring]
920
+ s1 XCHG0
921
+ PLDUX // STACK [10BitUnsignInt] (CC +1 )
922
+ }>
923
+ }>
924
+ cl::get<cellRef> PROCINLINE:<{
925
+ SWAP
926
+ CTOS
927
+ SWAP
928
+ 18 MULCONST
929
+ 80 ADDCONST
930
+ 2DUP
931
+ 4 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
932
+ 2 PUSHINT // STACK [_CELL_ID_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
933
+ SDSUBSTR // STACK [substring]
934
+ 2 PLDU // STACK [2BitUnsignInt]
935
+ s2 s1 PUXC
936
+ 16 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH, headerSlice]
937
+ 2 PUSHINT // STACK [_REF_OFFSET_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH headerSlice]
938
+ SDSUBSTR // STACK [substring]
939
+ 2 PLDU // STACK [10BitUnsignInt]
940
+ OVER
941
+ 0 EQINT
942
+ IF:<{
943
+ NIP
944
+ PLDREFVAR
945
+ }>ELSE<{
946
+ -ROT
947
+ PLDREFVAR
948
+ CTOS
949
+ SWAP
950
+ PLDREFVAR
951
+ }>
952
+ }>
953
+ cl::getWithCell<cellRef> PROCINLINE:<{
954
+ cl::get<cellRef> INLINECALLDICT
955
+ }>
956
+ cl::get<objRef> PROCINLINE:<{
957
+ cl::get<cellRef> INLINECALLDICT
958
+ }>
959
+ cl::get<uint8> PROCINLINE:<{
960
+ 8 PUSHINT
961
+ cl::get<uint> INLINECALLDICT
962
+ }>
963
+ cl::get<uint16> PROCINLINE:<{
964
+ 16 PUSHINT
965
+ cl::get<uint> INLINECALLDICT
966
+ }>
967
+ cl::get<uint32> PROCINLINE:<{
968
+ 32 PUSHINT
969
+ cl::get<uint> INLINECALLDICT
970
+ }>
971
+ cl::get<uint64> PROCINLINE:<{
972
+ 64 PUSHINT
973
+ cl::get<uint> INLINECALLDICT
974
+ }>
975
+ cl::get<coins> PROCINLINE:<{
976
+ 7 PUSHPOW2
977
+ cl::get<uint> INLINECALLDICT
978
+ }>
979
+ cl::get<uint256> PROCINLINE:<{
980
+ 8 PUSHPOW2
981
+ cl::get<uint> INLINECALLDICT
982
+ }>
983
+ cl::get<std_address> PROCINLINE:<{
984
+ 8 PUSHPOW2
985
+ cl::get<uint> INLINECALLDICT
986
+ hashpartToBasechainAddressStd INLINECALLDICT
987
+ }>
988
+ cl::get<bool> PROCINLINE:<{
989
+ 1 PUSHINT
990
+ cl::get<uint> INLINECALLDICT
991
+ 0 NEQINT
992
+ }>
993
+ cl::get<dict256> PROCINLINE:<{
994
+ cl::get<cellRef> INLINECALLDICT
995
+ }>
996
+ cl::get<address> PROCINLINE:<{
997
+ 8 PUSHPOW2
998
+ cl::get<uint> INLINECALLDICT
999
+ }>
1000
+ typeofField PROCINLINE:<{
1001
+ SWAP
1002
+ CTOS
1003
+ SWAP
1004
+ 18 MULCONST
1005
+ 80 ADDCONST
1006
+ 4 PUSHINT
1007
+ SDSUBSTR
1008
+ 4 PLDU
1009
+ }>
1010
+ compareObjectFields PROCINLINE:<{
1011
+ CONT:<{
1012
+ c2 SAVE
1013
+ SAMEALTSAVE
1014
+ OVER
1015
+ cl::typeof INLINECALLDICT
1016
+ OVER
1017
+ cl::typeof INLINECALLDICT
1018
+ NEQ
1019
+ DUP
1020
+ IF:<{
1021
+ 3 BLKDROP
1022
+ 16 PUSHINT
1023
+ }>ELSE<{
1024
+ s2 PUSH
1025
+ cl::typeof INLINECALLDICT
1026
+ 1314212940 PUSHINT
1027
+ EQUAL
1028
+ IFJMP:<{
1029
+ 3 BLKDROP
1030
+ -1 PUSHINT
1031
+ }>
1032
+ 0 PUSHINT
1033
+ WHILE:<{
1034
+ DUP
1035
+ 16 LESSINT
1036
+ }>DO<{
1037
+ s3 s0 PUSH2
1038
+ typeofField INLINECALLDICT
1039
+ DUP
1040
+ 9 EQINT
1041
+ IF:<{
1042
+ DROP
1043
+ NIP
1044
+ s2 s0 PUSH2
1045
+ cl::get<objRef> INLINECALLDICT
1046
+ cl::hash INLINECALLDICT
1047
+ s2 s1 PUSH2
1048
+ cl::get<objRef> INLINECALLDICT
1049
+ cl::hash INLINECALLDICT
1050
+ NEQ
1051
+ DUP
1052
+ IF:<{
1053
+ s3 s1 PUSH2
1054
+ cl::get<objRef> INLINECALLDICT
1055
+ HASHCU
1056
+ s0 DUMP
1057
+ DROP
1058
+ s2 s1 PUSH2
1059
+ cl::get<objRef> INLINECALLDICT
1060
+ HASHCU
1061
+ s0 DUMP
1062
+ DROP
1063
+ }>
1064
+ }>ELSE<{
1065
+ DUP
1066
+ 9 LESSINT
1067
+ IF:<{
1068
+ 1 2 BLKDROP2
1069
+ _getTypeWidth INLINECALLDICT
1070
+ s3 s1 s0 PUSH3
1071
+ cl::get<uint> INLINECALLDICT
1072
+ s3 s2 s1 PUSH3
1073
+ cl::get<uint> INLINECALLDICT
1074
+ NEQ
1075
+ DUP
1076
+ IF:<{
1077
+ x{6c68733a20} PUSHSLICE
1078
+ s5 s3 s2 PUSH3
1079
+ cl::get<uint> INLINECALLDICT
1080
+ str::console::log<int> CALLDICT
1081
+ 2OVER
1082
+ x{7268733a20} PUSHSLICE
1083
+ s0 s4 XCHG
1084
+ cl::get<uint> INLINECALLDICT
1085
+ s1 s2 XCHG
1086
+ str::console::log<int> CALLDICT
1087
+ }>ELSE<{
1088
+ NIP
1089
+ }>
1090
+ }>ELSE<{
1091
+ 2DROP
1092
+ 16 PUSHINT
1093
+ SWAP
1094
+ }>
1095
+ }>
1096
+ DUP
1097
+ IFJMP:<{
1098
+ s1 s3 XCHG
1099
+ 3 BLKDROP
1100
+ x{4d616c666f726d6564206669656c643a20} PUSHSLICE
1101
+ OVER
1102
+ str::console::log<int> CALLDICT
1103
+ RETALT
1104
+ }>
1105
+ SWAP
1106
+ INC
1107
+ }>
1108
+ 4 BLKDROP
1109
+ -1 PUSHINT
1110
+ }>
1111
+ }>
1112
+ EXECUTE
1113
+ }>
1114
+ objectsAreEqual PROCINLINE:<{
1115
+ compareObjectFields INLINECALLDICT
1116
+ -1 EQINT
1117
+ }>
1118
+ _typeToStr PROC:<{
1119
+ DUP
1120
+ 3 EQINT
1121
+ IFJMP:<{
1122
+ DROP
1123
+ x{75696e7438} PUSHSLICE
1124
+ }>
1125
+ DUP
1126
+ 4 EQINT
1127
+ IFJMP:<{
1128
+ DROP
1129
+ x{75696e743136} PUSHSLICE
1130
+ }>
1131
+ DUP
1132
+ 5 EQINT
1133
+ IFJMP:<{
1134
+ DROP
1135
+ x{75696e743332} PUSHSLICE
1136
+ }>
1137
+ DUP
1138
+ 6 EQINT
1139
+ IFJMP:<{
1140
+ DROP
1141
+ x{75696e743634} PUSHSLICE
1142
+ }>
1143
+ DUP
1144
+ 8 EQINT
1145
+ IFJMP:<{
1146
+ DROP
1147
+ x{75696e74323536} PUSHSLICE
1148
+ }>
1149
+ DUP
1150
+ 7 EQINT
1151
+ IFJMP:<{
1152
+ DROP
1153
+ x{636f696e73} PUSHSLICE
1154
+ }>
1155
+ DUP
1156
+ 8 EQINT
1157
+ IFJMP:<{
1158
+ DROP
1159
+ x{61646472657373} PUSHSLICE
1160
+ }>
1161
+ DUP
1162
+ 9 EQINT
1163
+ IFJMP:<{
1164
+ DROP
1165
+ x{64696374323536} PUSHSLICE
1166
+ }>
1167
+ DUP
1168
+ 9 EQINT
1169
+ IFJMP:<{
1170
+ DROP
1171
+ x{6f626a526566} PUSHSLICE
1172
+ }>
1173
+ DUP
1174
+ 9 EQINT
1175
+ IFJMP:<{
1176
+ DROP
1177
+ x{63656c6c526566} PUSHSLICE
1178
+ }>
1179
+ 0 EQINT
1180
+ IFJMP:<{
1181
+ x{626f6f6c} PUSHSLICE
1182
+ }>
1183
+ x{756e6b6e6f776e} PUSHSLICE
1184
+ }>
1185
+ printField PROCINLINE:<{
1186
+ OVER
1187
+ CTOS
1188
+ s2 s1 PUSH2
1189
+ typeofField INLINECALLDICT
1190
+ s2 PUSH
1191
+ 18 MULCONST
1192
+ 80 ADDCONST
1193
+ DUP
1194
+ 4 ADDCONST
1195
+ s3 s(-1) PUXC
1196
+ 2 PUSHINT
1197
+ SDSUBSTR
1198
+ 2 PLDU
1199
+ OVER
1200
+ 4 ADDCONST
1201
+ 2 ADDCONST
1202
+ 10 ADDCONST
1203
+ s4 s(-1) PUXC
1204
+ 2 PUSHINT
1205
+ SDSUBSTR
1206
+ 2 PLDU
1207
+ s3 PUSH
1208
+ _getTypeWidth INLINECALLDICT
1209
+ s0 s3 XCHG
1210
+ 4 ADDCONST
1211
+ 2 ADDCONST
1212
+ s1 s5 XCHG
1213
+ 10 PUSHINT
1214
+ SDSUBSTR
1215
+ 10 PLDU
1216
+ s3 PUSH
1217
+ _typeToStr CALLDICT
1218
+ x{20} PUSHSLICE
1219
+ str::concat CALLDICT
1220
+ s6 PUSH
1221
+ str::concatInt CALLDICT
1222
+ x{2061742063} PUSHSLICE
1223
+ str::concat CALLDICT
1224
+ ROT
1225
+ str::concatInt CALLDICT
1226
+ s2 PUSH
1227
+ 0 GTINT
1228
+ IF:<{
1229
+ s4 POP
1230
+ s0 s3 XCHG
1231
+ x{2e62} PUSHSLICE
1232
+ str::concat CALLDICT
1233
+ s0 s3 XCHG2
1234
+ str::concatInt CALLDICT
1235
+ }>ELSE<{
1236
+ NIP
1237
+ x{2e72} PUSHSLICE
1238
+ str::concat CALLDICT
1239
+ s0 s3 XCHG2
1240
+ str::concatInt CALLDICT
1241
+ }>
1242
+ OVER
1243
+ 9 LESSINT
1244
+ IF:<{
1245
+ NIP
1246
+ x{203d20} PUSHSLICE
1247
+ str::concat CALLDICT
1248
+ 3 -ROLL
1249
+ cl::get<uint> INLINECALLDICT
1250
+ str::concatInt CALLDICT
1251
+ STRDUMP
1252
+ DROP
1253
+ }>ELSE<{
1254
+ s2 POP
1255
+ 9 EQINT
1256
+ IF:<{
1257
+ x{2068617368203d20} PUSHSLICE
1258
+ str::concat CALLDICT
1259
+ -ROT
1260
+ cl::get<objRef> INLINECALLDICT
1261
+ cl::hash INLINECALLDICT
1262
+ str::concatInt CALLDICT
1263
+ STRDUMP
1264
+ DROP
1265
+ }>ELSE<{
1266
+ x{2068617368203d20} PUSHSLICE
1267
+ str::concat CALLDICT
1268
+ -ROT
1269
+ cl::get<cellRef> INLINECALLDICT
1270
+ HASHCU
1271
+ str::concatInt CALLDICT
1272
+ STRDUMP
1273
+ DROP
1274
+ }>
1275
+ }>
1276
+ }>
1277
+ uint256ToSlice PROCINLINE:<{
1278
+ NEWC
1279
+ 256 STU
1280
+ ENDC CTOS
1281
+ }>
1282
+ sliceToUint256 PROCINLINE:<{
1283
+ 256 PLDU
1284
+ }>
1285
+ cl::dict256::New PROCINLINE:<{
1286
+ <b b> PUSHREF
1287
+ }>
1288
+ cl::dict256::get PROCINLINE:<{
1289
+ OVER
1290
+ cell_is_empty INLINECALLDICT
1291
+ IF:<{
1292
+ NIP
1293
+ NEWDICT
1294
+ 8 PUSHPOW2
1295
+ DICTUGET
1296
+ NULLSWAPIFNOT
1297
+ }>ELSE<{
1298
+ SWAP
1299
+ 8 PUSHPOW2
1300
+ DICTUGET
1301
+ NULLSWAPIFNOT
1302
+ }>
1303
+ }>
1304
+ cl::dict256::get<uint256> PROCINLINE:<{
1305
+ cl::dict256::get INLINECALLDICT
1306
+ IF:<{
1307
+ sliceToUint256 INLINECALLDICT
1308
+ TRUE
1309
+ }>ELSE<{
1310
+ DROP
1311
+ 0 PUSHINT
1312
+ FALSE
1313
+ }>
1314
+ }>
1315
+ cl::dict256::get<cellRef> PROCINLINE:<{
1316
+ OVER
1317
+ cell_is_empty INLINECALLDICT
1318
+ IF:<{
1319
+ 2DROP
1320
+ <b b> PUSHREF
1321
+ FALSE
1322
+ }>ELSE<{
1323
+ SWAP
1324
+ 8 PUSHPOW2
1325
+ DICTUGETREF
1326
+ NULLSWAPIFNOT
1327
+ }>
1328
+ }>
1329
+ cl::dict256::setRef PROCINLINE:<{
1330
+ s2 PUSH
1331
+ cell_is_empty INLINECALLDICT
1332
+ IF:<{
1333
+ 1 2 BLKDROP2
1334
+ NEWDICT
1335
+ s1 s2 XCHG
1336
+ 8 PUSHPOW2
1337
+ DICTUSETREF
1338
+ }>ELSE<{
1339
+ s0 s2 XCHG
1340
+ 8 PUSHPOW2
1341
+ DICTUSETREF
1342
+ }>
1343
+ }>
1344
+ cl::dict256::set PROCINLINE:<{
1345
+ DUP
1346
+ <{ TRY:<{ SBITS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS
1347
+ IF:<{
1348
+ }>ELSE<{
1349
+ uint256ToSlice INLINECALLDICT
1350
+ }>
1351
+ s2 PUSH
1352
+ cell_is_empty INLINECALLDICT
1353
+ IF:<{
1354
+ s2 POP
1355
+ NEWDICT
1356
+ 8 PUSHPOW2
1357
+ DICTUSET
1358
+ }>ELSE<{
1359
+ s0 s2 XCHG
1360
+ 8 PUSHPOW2
1361
+ DICTUSET
1362
+ }>
1363
+ }>
1364
+ cl::dict256::delete PROC:<{
1365
+ OVER
1366
+ cell_is_empty INLINECALLDICT
1367
+ IFJMP:<{
1368
+ DROP
1369
+ }>
1370
+ SWAP
1371
+ 8 PUSHPOW2
1372
+ DICTUDEL
1373
+ DROP
1374
+ DUP
1375
+ <{ TRY:<{ CTOS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS
1376
+ IF:<{
1377
+ }>ELSE<{
1378
+ DROP
1379
+ cl::dict256::New INLINECALLDICT
1380
+ }>
1381
+ }>
1382
+ cl::dict256::getMin<slice> PROC:<{
1383
+ DUP
1384
+ cell_is_empty INLINECALLDICT
1385
+ IFJMP:<{
1386
+ DROP
1387
+ -1 PUSHINT
1388
+ PUSHNULL
1389
+ }>
1390
+ 8 PUSHPOW2
1391
+ DICTUMIN
1392
+ NULLSWAPIFNOT2
1393
+ IFJMP:<{
1394
+ SWAP
1395
+ }>
1396
+ 2DROP
1397
+ -1 PUSHINT
1398
+ PUSHNULL
1399
+ }>
1400
+ cl::dict256::getMin<uint256> PROC:<{
1401
+ DUP
1402
+ cell_is_empty INLINECALLDICT
1403
+ IFJMP:<{
1404
+ DROP
1405
+ -1 PUSHINT
1406
+ PUSHNULL
1407
+ }>
1408
+ 8 PUSHPOW2
1409
+ DICTUMIN
1410
+ NULLSWAPIFNOT2
1411
+ IFJMP:<{
1412
+ SWAP
1413
+ 256 PLDU
1414
+ }>
1415
+ 2DROP
1416
+ -1 PUSHINT
1417
+ PUSHNULL
1418
+ }>
1419
+ cl::dict256::getMin<cellRef> PROC:<{
1420
+ DUP
1421
+ cell_is_empty INLINECALLDICT
1422
+ IFJMP:<{
1423
+ DROP
1424
+ -1 PUSHINT
1425
+ PUSHNULL
1426
+ }>
1427
+ 8 PUSHPOW2
1428
+ DICTUMINREF
1429
+ NULLSWAPIFNOT2
1430
+ IFJMP:<{
1431
+ SWAP
1432
+ }>
1433
+ 2DROP
1434
+ -1 PUSHINT
1435
+ PUSHNULL
1436
+ }>
1437
+ cl::dict256::getNext<slice> PROC:<{
1438
+ OVER
1439
+ cell_is_empty INLINECALLDICT
1440
+ IFJMP:<{
1441
+ 2DROP
1442
+ -1 PUSHINT
1443
+ PUSHNULL
1444
+ }>
1445
+ SWAP
1446
+ 8 PUSHPOW2
1447
+ DICTUGETNEXT
1448
+ NULLSWAPIFNOT2
1449
+ IFJMP:<{
1450
+ SWAP
1451
+ }>
1452
+ 2DROP
1453
+ -1 PUSHINT
1454
+ PUSHNULL
1455
+ }>
1456
+ cl::dict256::getNext<uint256> PROC:<{
1457
+ OVER
1458
+ cell_is_empty INLINECALLDICT
1459
+ IFJMP:<{
1460
+ 2DROP
1461
+ -1 PUSHINT
1462
+ PUSHNULL
1463
+ }>
1464
+ SWAP
1465
+ 8 PUSHPOW2
1466
+ DICTUGETNEXT
1467
+ NULLSWAPIFNOT2
1468
+ IFJMP:<{
1469
+ SWAP
1470
+ 256 PLDU
1471
+ }>
1472
+ 2DROP
1473
+ -1 PUSHINT
1474
+ PUSHNULL
1475
+ }>
1476
+ cl::dict256::getNext<cellRef> PROC:<{
1477
+ OVER
1478
+ cell_is_empty INLINECALLDICT
1479
+ IFJMP:<{
1480
+ 2DROP
1481
+ -1 PUSHINT
1482
+ PUSHNULL
1483
+ }>
1484
+ SWAP
1485
+ 8 PUSHPOW2
1486
+ DICTUGETNEXT
1487
+ NULLSWAPIFNOT2
1488
+ IFJMP:<{
1489
+ SWAP
1490
+ 0 PLDREFIDX
1491
+ }>
1492
+ 2DROP
1493
+ -1 PUSHINT
1494
+ PUSHNULL
1495
+ }>
1496
+ cl::dict256::size PROCINLINE:<{
1497
+ 0 PUSHINT
1498
+ OVER
1499
+ cl::dict256::getMin<slice> CALLDICT
1500
+ DROP
1501
+ WHILE:<{
1502
+ DUP
1503
+ -1 GTINT
1504
+ }>DO<{
1505
+ s2 s(-1) PUXC
1506
+ cl::dict256::getNext<slice> CALLDICT
1507
+ DROP
1508
+ SWAP
1509
+ INC
1510
+ SWAP
1511
+ }>
1512
+ DROP
1513
+ NIP
1514
+ }>
1515
+ cl::nestedDict256::set PROCINLINE:<{
1516
+ 2OVER
1517
+ cl::get<dict256> INLINECALLDICT
1518
+ -ROT
1519
+ cl::dict256::set INLINECALLDICT
1520
+ cl::set INLINECALLDICT
1521
+ }>
1522
+ cl::nestedDict256::setRef PROCINLINE:<{
1523
+ 2OVER
1524
+ cl::get<dict256> INLINECALLDICT
1525
+ -ROT
1526
+ cl::dict256::setRef INLINECALLDICT
1527
+ cl::set INLINECALLDICT
1528
+ }>
1529
+ cl::nestedDict256::delete PROCINLINE:<{
1530
+ s2 s1 PUSH2
1531
+ cl::get<dict256> INLINECALLDICT
1532
+ SWAP
1533
+ cl::dict256::delete CALLDICT
1534
+ cl::set INLINECALLDICT
1535
+ }>
1536
+ cl::nestedDict256::get<uint256> PROCINLINE:<{
1537
+ -ROT
1538
+ cl::get<dict256> INLINECALLDICT
1539
+ SWAP
1540
+ cl::dict256::get<uint256> INLINECALLDICT
1541
+ }>
1542
+ cl::nestedDict256::get<slice> PROCINLINE:<{
1543
+ -ROT
1544
+ cl::get<dict256> INLINECALLDICT
1545
+ SWAP
1546
+ cl::dict256::get INLINECALLDICT
1547
+ }>
1548
+ cl::nestedDict256::get<cellRef> PROCINLINE:<{
1549
+ -ROT
1550
+ cl::get<dict256> INLINECALLDICT
1551
+ SWAP
1552
+ cl::dict256::get INLINECALLDICT
1553
+ DUP
1554
+ IF:<{
1555
+ SWAP
1556
+ 0 PLDREFIDX
1557
+ SWAP
1558
+ }>ELSE<{
1559
+ NIP
1560
+ <b b> PUSHREF
1561
+ SWAP
1562
+ }>
1563
+ }>
1564
+ getMsgValue PROCINLINE:<{
1565
+ txnContext GETGLOB
1566
+ 6 INDEX
1567
+ }>
1568
+ getOpcode PROCINLINE:<{
1569
+ txnContext GETGLOB
1570
+ 3 INDEX
1571
+ }>
1572
+ txnIsBounced PROCINLINE:<{
1573
+ txnContext GETGLOB
1574
+ 0 INDEX
1575
+ }>
1576
+ getContractBalance PROCINLINE:<{
1577
+ txnContext GETGLOB
1578
+ 5 INDEX
1579
+ }>
1580
+ getInitialContractBalance PROCINLINE:<{
1581
+ getContractBalance INLINECALLDICT
1582
+ getMsgValue INLINECALLDICT
1583
+ SUB
1584
+ }>
1585
+ getCaller PROCINLINE:<{
1586
+ txnContext GETGLOB
1587
+ 1 INDEX
1588
+ }>
1589
+ getOrigin PROCINLINE:<{
1590
+ txnContext GETGLOB
1591
+ 9 INDEX
1592
+ }>
1593
+ getOriginStd PROCINLINE:<{
1594
+ getOrigin INLINECALLDICT
1595
+ hashpartToBasechainAddressStd INLINECALLDICT
1596
+ }>
1597
+ getDonationNanos PROCINLINE:<{
1598
+ txnContext GETGLOB
1599
+ 10 INDEX
1600
+ }>
1601
+ setDonationNanos PROCINLINE:<{
1602
+ txnContext GETGLOB
1603
+ SWAP
1604
+ 10 PUSHINT
1605
+ SETINDEXVAR
1606
+ txnContext SETGLOB
1607
+ }>
1608
+ getMsgData PROCINLINE:<{
1609
+ txnContext GETGLOB
1610
+ 11 INDEX
1611
+ }>
1612
+ setOrigin PROCINLINE:<{
1613
+ txnContext GETGLOB
1614
+ SWAP
1615
+ 9 PUSHINT
1616
+ SETINDEXVAR
1617
+ txnContext SETGLOB
1618
+ }>
1619
+ initTxnContext PROCINLINE:<{
1620
+ OVER
1621
+ CTOS
1622
+ 4 PUSHINT
1623
+ LDUX
1624
+ FALSE
1625
+ s0 s2 XCHG
1626
+ 1 PUSHINT
1627
+ AND
1628
+ IF:<{
1629
+ NIP
1630
+ TRUE
1631
+ s0 s2 XCHG
1632
+ 32 PUSHINT
1633
+ SDSKIPFIRST
1634
+ -ROT
1635
+ }>
1636
+ -1 PUSHINT
1637
+ DUP
1638
+ 0 PUSHINT
1639
+ PUSHNULL
1640
+ s0 s4 XCHG
1641
+ LDMSGADDR
1642
+ LDMSGADDR
1643
+ NIP
1644
+ LDGRAMS
1645
+ NIP
1646
+ 1 PUSHINT
1647
+ SDSKIPFIRST
1648
+ LDGRAMS
1649
+ NIP
1650
+ SWAP
1651
+ basechainAddressStdToHashpart INLINECALLDICT
1652
+ s0 s7 PUSH2
1653
+ SEMPTY
1654
+ IFNOT:<{
1655
+ 3 3 BLKDROP2
1656
+ s0 s5 XCHG
1657
+ 32 PUSHINT
1658
+ LDUX
1659
+ 64 PUSHINT
1660
+ LDUX
1661
+ LDGRAMS
1662
+ DUP
1663
+ SBITS
1664
+ 267 PUSHINT
1665
+ GEQ
1666
+ IF:<{
1667
+ s8 POP
1668
+ s7 PUSH
1669
+ 11 PUSHINT
1670
+ 8 PUSHPOW2
1671
+ SDSUBSTR
1672
+ 256 PLDU
1673
+ s0 s8 XCHG
1674
+ }>
1675
+ DUP
1676
+ SREMPTY
1677
+ IFNOT:<{
1678
+ s6 POP
1679
+ s5 PUSH
1680
+ PLDREF
1681
+ s0 s6 XCHG
1682
+ }>
1683
+ s0 s8 XCHG
1684
+ s3 s5 XCHG
1685
+ s4 s3 s0 XCHG3
1686
+ s1 s2 XCHG
1687
+ }>
1688
+ s0 s2 XCHG
1689
+ LDGRAMS
1690
+ DROP
1691
+ 3 PUSHINT
1692
+ 1 MULRSHIFT#
1693
+ s7 s11 XCHG
1694
+ s10 s9 XCHG2
1695
+ s5 s8 XCHG
1696
+ s4 s7 XCHG
1697
+ s4 s6 XCHG
1698
+ s3 s3 XCHG2
1699
+ s0 s5 XCHG
1700
+ s0 s4 XCHG
1701
+ 12 TUPLE
1702
+ txnContext SETGLOB
1703
+ }>
1704
+ _testName PROC:<{
1705
+ x{504f4f4f} PUSHSLICE
1706
+ }>
1707
+ baseTest::getTests PROC:<{
1708
+ NIL
1709
+ CONT:<{
1710
+ POOO::setBitOne CALLDICT
1711
+ }>
1712
+ x{504f4f4f3a3a7365744269744f6e65} PUSHSLICE
1713
+ PAIR
1714
+ TPUSH
1715
+ CONT:<{
1716
+ POOO::setBitTwo CALLDICT
1717
+ }>
1718
+ x{504f4f4f3a3a73657442697454776f} PUSHSLICE
1719
+ PAIR
1720
+ TPUSH
1721
+ CONT:<{
1722
+ POOO::8bitOrdered CALLDICT
1723
+ }>
1724
+ x{504f4f4f3a3a386269744f726465726564} PUSHSLICE
1725
+ PAIR
1726
+ TPUSH
1727
+ CONT:<{
1728
+ POOO::8bitUnordered CALLDICT
1729
+ }>
1730
+ x{504f4f4f3a3a38626974556e6f726465726564} PUSHSLICE
1731
+ PAIR
1732
+ TPUSH
1733
+ CONT:<{
1734
+ POOO::lastBit CALLDICT
1735
+ }>
1736
+ x{504f4f4f3a3a6c617374426974} PUSHSLICE
1737
+ PAIR
1738
+ TPUSH
1739
+ CONT:<{
1740
+ POOO::revert::pastLastBit CALLDICT
1741
+ }>
1742
+ x{504f4f4f3a3a7265766572743a3a706173744c617374426974} PUSHSLICE
1743
+ PAIR
1744
+ TPUSH
1745
+ CONT:<{
1746
+ POOO::indexZero CALLDICT
1747
+ }>
1748
+ x{504f4f4f3a3a696e6465785a65726f} PUSHSLICE
1749
+ PAIR
1750
+ TPUSH
1751
+ CONT:<{
1752
+ POOO::wrapsAtEnd CALLDICT
1753
+ }>
1754
+ x{504f4f4f3a3a77726170734174456e64} PUSHSLICE
1755
+ PAIR
1756
+ TPUSH
1757
+ CONT:<{
1758
+ POOO::negativeInput CALLDICT
1759
+ }>
1760
+ x{504f4f4f3a3a6e65676174697665496e707574} PUSHSLICE
1761
+ PAIR
1762
+ TPUSH
1763
+ }>
1764
+ baseTest::prepare PROCINLINE:<{
1765
+ DROP
1766
+ cl::nullObject INLINECALLDICT
1767
+ }>
1768
+ emitDone PROCINLINE:<{
1769
+ 0 PUSHINT
1770
+ 1 PUSHINT
1771
+ 8 PUSHPOW2
1772
+ OVER
1773
+ 12 PUSHINT
1774
+ NEWC
1775
+ 4 STU
1776
+ 2 STU
1777
+ 9 STU
1778
+ 256 STU
1779
+ 98 STU
1780
+ ENDC
1781
+ 0 PUSHINT
1782
+ SENDRAWMSG
1783
+ }>
1784
+ test::throwError PROC:<{
1785
+ _testName CALLDICT
1786
+ x{3a20} PUSHSLICE
1787
+ str::concat CALLDICT
1788
+ base_error_msg GETGLOB
1789
+ str::concat CALLDICT
1790
+ x{3a20} PUSHSLICE
1791
+ str::concat CALLDICT
1792
+ OVER
1793
+ str::concat CALLDICT
1794
+ STRDUMP
1795
+ DROP
1796
+ _testName CALLDICT
1797
+ x{3a20} PUSHSLICE
1798
+ str::concat CALLDICT
1799
+ base_error_msg GETGLOB
1800
+ str::concat CALLDICT
1801
+ x{3a20} PUSHSLICE
1802
+ str::concat CALLDICT
1803
+ SWAP
1804
+ str::concat CALLDICT
1805
+ throwError INLINECALLDICT
1806
+ }>
1807
+ test::throwErrorUnless PROC:<{
1808
+ SWAP
1809
+ IFNOT:<{
1810
+ test::throwError CALLDICT
1811
+ }>ELSE<{
1812
+ DROP
1813
+ }>
1814
+ }>
1815
+ get_test_name PROC:<{
1816
+ baseTest::getTests CALLDICT
1817
+ SWAP
1818
+ INDEXVAR
1819
+ 1 INDEX
1820
+ }>
1821
+ setCaller PROCINLINE:<{
1822
+ txnContext GETGLOB
1823
+ SWAP
1824
+ 1 PUSHINT
1825
+ SETINDEXVAR
1826
+ txnContext SETGLOB
1827
+ }>
1828
+ setContractBalance PROCINLINE:<{
1829
+ txnContext GETGLOB
1830
+ SWAP
1831
+ 5 PUSHINT
1832
+ SETINDEXVAR
1833
+ txnContext SETGLOB
1834
+ }>
1835
+ setNewTime PROC:<{
1836
+ c7 PUSH
1837
+ DUP
1838
+ 0 INDEX
1839
+ ROT
1840
+ 3 PUSHINT
1841
+ SETINDEXVAR
1842
+ 0 PUSHINT
1843
+ SETINDEXVAR
1844
+ c7 POP
1845
+ }>
1846
+ main PROC:<{
1847
+ DUP
1848
+ SEMPTY
1849
+ IFJMP:<{
1850
+ 4 BLKDROP
1851
+ }>
1852
+ initTxnContext INLINECALLDICT
1853
+ x{626173655f6572726f725f6d7367204e4f54207365742e2e2e20} PUSHSLICE
1854
+ base_error_msg SETGLOB
1855
+ getOpcode INLINECALLDICT
1856
+ getOrigin INLINECALLDICT
1857
+ setCaller INLINECALLDICT
1858
+ baseTest::getTests CALLDICT
1859
+ DUP
1860
+ TLEN
1861
+ s2 s(-1) PUXC
1862
+ GEQ
1863
+ IF:<{
1864
+ 2DROP
1865
+ emitDone INLINECALLDICT
1866
+ }>ELSE<{
1867
+ SWAP
1868
+ INDEXVAR
1869
+ DUP
1870
+ 0 INDEX
1871
+ OVER
1872
+ 1 INDEX
1873
+ base_error_msg SETGLOB
1874
+ SWAP
1875
+ baseTest::prepare INLINECALLDICT
1876
+ getContractStorage INLINECALLDICT
1877
+ s0 s2 XCHG
1878
+ 1 2 CALLXARGS
1879
+ s0 s2 XCHG
1880
+ setContractStorage INLINECALLDICT
1881
+ -1 EQINT
1882
+ SWAP
1883
+ test::throwErrorUnless CALLDICT
1884
+ }>
1885
+ }>
1886
+ test::shouldBeTrue PROC:<{
1887
+ IFJMP:<{
1888
+ -1 PUSHINT
1889
+ x{} PUSHSLICE
1890
+ }>
1891
+ 0 PUSHINT
1892
+ x{746573743a3a73686f756c64426554727565} PUSHSLICE
1893
+ }>
1894
+ test::shouldBeFalse PROC:<{
1895
+ 0 EQINT
1896
+ test::shouldBeTrue CALLDICT
1897
+ }>
1898
+ POOO::set PROCINLINE:<{
1899
+ DUP
1900
+ 0 LESSINT
1901
+ 1587 THROWIF
1902
+ OVER
1903
+ 1 PUSHINT
1904
+ cl::get<cellRef> INLINECALLDICT
1905
+ CTOS
1906
+ s2 PUSH
1907
+ 0 PUSHINT
1908
+ cl::get<uint64> INLINECALLDICT
1909
+ s2 s0 PUSH2
1910
+ LESS
1911
+ IF:<{
1912
+ 3 BLKDROP
1913
+ }>ELSE<{
1914
+ s2 s2 XCPU
1915
+ SUB
1916
+ 1 PUSHINT
1917
+ NEWC
1918
+ 2OVER
1919
+ 0 PUSHINT
1920
+ SCUTFIRST
1921
+ STSLICER
1922
+ 1 STU
1923
+ 10 PUSHPOW2DEC
1924
+ ROT
1925
+ SUB
1926
+ DEC
1927
+ s1 s2 XCHG
1928
+ 0 PUSHINT
1929
+ SCUTLAST
1930
+ STSLICER
1931
+ ENDC CTOS
1932
+ LDONES
1933
+ 1 PUSHINT
1934
+ NEWC
1935
+ ROT
1936
+ STSLICER
1937
+ s2 PUSH
1938
+ STZEROES
1939
+ ENDC
1940
+ s2 s4 XCHG
1941
+ cl::set INLINECALLDICT
1942
+ SWAP
1943
+ 0 PUSHINT
1944
+ s0 s3 XCHG
1945
+ ADD
1946
+ s1 s2 XCHG
1947
+ cl::set INLINECALLDICT
1948
+ }>
1949
+ }>
1950
+ POOO::New PROCINLINE:<{
1951
+ 1347374927 PUSHINT
1952
+ 6 PUSHINT
1953
+ 1 PUSHINT
1954
+ PAIR
1955
+ 9 PUSHINT
1956
+ NEWC
1957
+ 10 PUSHPOW2DEC
1958
+ STZEROES
1959
+ ENDC
1960
+ PAIR
1961
+ PAIR
1962
+ cl::declare INLINECALLDICT
1963
+ }>
1964
+ POOO::NewWithBitsSets PROC:<{
1965
+ 1347374927 PUSHINT
1966
+ 6 PUSHINT
1967
+ 1 PUSHINT
1968
+ PAIR
1969
+ 9 PUSHINT
1970
+ NEWC
1971
+ 1 PUSHINT
1972
+ STZEROES
1973
+ s4 s5 PUXC
1974
+ SUB
1975
+ s1 s5 XCHG
1976
+ STONES
1977
+ 10 PUSHPOW2DEC
1978
+ s0 s4 XCHG2
1979
+ SUB
1980
+ s1 s3 XCHG
1981
+ STZEROES
1982
+ ENDC
1983
+ s1 s3 XCHG
1984
+ PAIR
1985
+ PAIR
1986
+ cl::declare INLINECALLDICT
1987
+ }>
1988
+ POOO::isBitSet PROCINLINE:<{
1989
+ OVER
1990
+ 0 PUSHINT
1991
+ cl::get<uint64> INLINECALLDICT
1992
+ SUB
1993
+ SWAP
1994
+ 1 PUSHINT
1995
+ cl::get<cellRef> INLINECALLDICT
1996
+ CTOS
1997
+ SWAP
1998
+ 1 PUSHINT
1999
+ SDSUBSTR
2000
+ 1 PLDU
2001
+ 1 EQINT
2002
+ }>
2003
+ POOO::maxSettableBit PROCINLINE:<{
2004
+ 0 PUSHINT
2005
+ cl::get<uint64> INLINECALLDICT
2006
+ 1022 PUSHINT
2007
+ ADD
2008
+ }>
2009
+ POOO::setBitOne PROC:<{
2010
+ DROP
2011
+ POOO::New INLINECALLDICT
2012
+ 1 PUSHINT
2013
+ POOO::set INLINECALLDICT
2014
+ 0 PUSHINT
2015
+ cl::get<uint64> INLINECALLDICT
2016
+ 2 EQINT
2017
+ test::shouldBeTrue CALLDICT
2018
+ }>
2019
+ POOO::setBitTwo PROC:<{
2020
+ DROP
2021
+ POOO::New INLINECALLDICT
2022
+ 2 PUSHINT
2023
+ POOO::set INLINECALLDICT
2024
+ DUP
2025
+ 0 PUSHINT
2026
+ cl::get<uint64> INLINECALLDICT
2027
+ 1 EQINT
2028
+ SWAP
2029
+ 2 PUSHINT
2030
+ POOO::isBitSet INLINECALLDICT
2031
+ AND
2032
+ test::shouldBeTrue CALLDICT
2033
+ }>
2034
+ POOO::8bitOrdered PROC:<{
2035
+ DROP
2036
+ POOO::New INLINECALLDICT
2037
+ 1 PUSHINT
2038
+ POOO::set INLINECALLDICT
2039
+ 2 PUSHINT
2040
+ POOO::set INLINECALLDICT
2041
+ 3 PUSHINT
2042
+ POOO::set INLINECALLDICT
2043
+ 4 PUSHINT
2044
+ POOO::set INLINECALLDICT
2045
+ 5 PUSHINT
2046
+ POOO::set INLINECALLDICT
2047
+ 6 PUSHINT
2048
+ POOO::set INLINECALLDICT
2049
+ 7 PUSHINT
2050
+ POOO::set INLINECALLDICT
2051
+ 8 PUSHINT
2052
+ POOO::set INLINECALLDICT
2053
+ 0 PUSHINT
2054
+ cl::get<uint64> INLINECALLDICT
2055
+ 9 EQINT
2056
+ test::shouldBeTrue CALLDICT
2057
+ }>
2058
+ POOO::8bitUnordered PROC:<{
2059
+ DROP
2060
+ POOO::New INLINECALLDICT
2061
+ 6 PUSHINT
2062
+ POOO::set INLINECALLDICT
2063
+ 2 PUSHINT
2064
+ POOO::set INLINECALLDICT
2065
+ 7 PUSHINT
2066
+ POOO::set INLINECALLDICT
2067
+ 4 PUSHINT
2068
+ POOO::set INLINECALLDICT
2069
+ 8 PUSHINT
2070
+ POOO::set INLINECALLDICT
2071
+ 3 PUSHINT
2072
+ POOO::set INLINECALLDICT
2073
+ 1 PUSHINT
2074
+ POOO::set INLINECALLDICT
2075
+ 5 PUSHINT
2076
+ POOO::set INLINECALLDICT
2077
+ 0 PUSHINT
2078
+ cl::get<uint64> INLINECALLDICT
2079
+ 9 EQINT
2080
+ test::shouldBeTrue CALLDICT
2081
+ }>
2082
+ POOO::lastBit PROC:<{
2083
+ DROP
2084
+ POOO::New INLINECALLDICT
2085
+ 10 PUSHPOW2DEC
2086
+ POOO::set INLINECALLDICT
2087
+ 10 PUSHPOW2DEC
2088
+ POOO::isBitSet INLINECALLDICT
2089
+ test::shouldBeTrue CALLDICT
2090
+ }>
2091
+ POOO::revert::pastLastBit PROC:<{
2092
+ DROP
2093
+ FALSE
2094
+ c4 PUSH
2095
+ c5 PUSH
2096
+ c7 PUSH
2097
+ <{
2098
+ 2DROP
2099
+ TRUE
2100
+ }>CONT
2101
+ c7 SETCONT
2102
+ c5 SETCONT
2103
+ c4 SETCONT
2104
+ <{
2105
+ POOO::New INLINECALLDICT
2106
+ 10 PUSHPOW2
2107
+ POOO::set INLINECALLDICT
2108
+ DROP
2109
+ }>CONT
2110
+ c1 PUSH
2111
+ COMPOSALT
2112
+ SWAP
2113
+ TRY
2114
+ IFJMP:<{
2115
+ -1 PUSHINT
2116
+ x{} PUSHSLICE
2117
+ }>
2118
+ 0 PUSHINT
2119
+ x{53686f756c642068617665207468726f776e20616e20657863657074696f6e} PUSHSLICE
2120
+ }>
2121
+ POOO::indexZero PROC:<{
2122
+ DROP
2123
+ POOO::New INLINECALLDICT
2124
+ 0 PUSHINT
2125
+ POOO::set INLINECALLDICT
2126
+ 0 PUSHINT
2127
+ cl::get<uint64> INLINECALLDICT
2128
+ 1 EQINT
2129
+ test::shouldBeTrue CALLDICT
2130
+ }>
2131
+ POOO::wrapsAtEnd PROC:<{
2132
+ DROP
2133
+ 1 PUSHINT
2134
+ 10 PUSHPOW2DEC
2135
+ POOO::NewWithBitsSets CALLDICT
2136
+ 1 PUSHINT
2137
+ POOO::set INLINECALLDICT
2138
+ 10 PUSHPOW2
2139
+ POOO::set INLINECALLDICT
2140
+ 1547 PUSHINT
2141
+ POOO::set INLINECALLDICT
2142
+ 0 PUSHINT
2143
+ cl::get<uint64> INLINECALLDICT
2144
+ 1025 PUSHINT
2145
+ EQUAL
2146
+ test::shouldBeTrue CALLDICT
2147
+ }>
2148
+ POOO::negativeInput PROC:<{
2149
+ DROP
2150
+ FALSE
2151
+ DUP
2152
+ c4 PUSH
2153
+ c5 PUSH
2154
+ c7 PUSH
2155
+ <{
2156
+ NIP
2157
+ 1587 PUSHINT
2158
+ EQUAL
2159
+ IF:<{
2160
+ DROP
2161
+ TRUE
2162
+ }>
2163
+ }>CONT
2164
+ c7 SETCONT
2165
+ c5 SETCONT
2166
+ c4 SETCONT
2167
+ 1 PUSHINT
2168
+ -1 PUSHINT
2169
+ SETCONTVARARGS
2170
+ <{
2171
+ POOO::New INLINECALLDICT
2172
+ -69 PUSHINT
2173
+ POOO::set INLINECALLDICT
2174
+ DROP
2175
+ }>CONT
2176
+ c1 PUSH
2177
+ COMPOSALT
2178
+ SWAP
2179
+ TRY
2180
+ IFJMP:<{
2181
+ -1 PUSHINT
2182
+ x{} PUSHSLICE
2183
+ }>
2184
+ 0 PUSHINT
2185
+ x{53686f756c642068617665207468726f776e20616e20657863657074696f6e} PUSHSLICE
2186
+ }>
2187
+ }END>c
2188
+ 2 boc+>B "build/PipelinedOutOfOrder.test.boc" B>file