@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,3503 @@
1
+ "Asm.fif" include
2
+ // automatically generated from `src/protocol/msglibs/ultralightnode/ulnConnection/main.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/handler.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../../funC++/classlib.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../../funC++/utils.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../../funC++/constants.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../../funC++/stdlib.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../../funC++/stringlib.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../../classes/msgdata/InitUlnConnection.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/protocolHandler.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/handlerCore.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/actions/utils.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/actions/../txnContext.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/baseInterface.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/abstract/handlerAbstract.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/actions/call.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/actions/deploy.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/actions/event.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/actions/payment.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../baseStorage.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../interfaces.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../channel/interface.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../channel/callbackOpcodes.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../controller/interface.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../endpoint/interface.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../msglibs/interface.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/interface.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/storage.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../../funC++/dataStructures/PipelinedOutOfOrder.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../../classes/lz/Attestation.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../msgdata/UlnSendConfig.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../msgdata/UlnReceiveConfig.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/utils.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../../classes/msgdata/MdObj.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../msgdata/UlnSend.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../uln/interface.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../uln/storage.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/protocolMain.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/contractMain.fc` incl:`src/protocol/msglibs/ultralightnode/ulnConnection/../../../core/abstract/../../../funC++/abstract/contractMainAbstract.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
+ 66131 DECLMETHOD md::InitUlnConnection::New
76
+ DECLPROC getMsgValue
77
+ DECLPROC getOpcode
78
+ DECLPROC txnIsBounced
79
+ DECLPROC getContractBalance
80
+ DECLPROC getInitialContractBalance
81
+ DECLPROC getCaller
82
+ DECLPROC getOrigin
83
+ DECLPROC getOriginStd
84
+ DECLPROC getDonationNanos
85
+ DECLPROC setDonationNanos
86
+ DECLPROC getMsgData
87
+ DECLPROC setOrigin
88
+ DECLPROC initTxnContext
89
+ DECLPROC emptyActions
90
+ DECLPROC sendTerminalAction
91
+ DECLPROC sendNonTerminalAction
92
+ DECLPROC buildLayerzeroMessageBody
93
+ DECLPROC assertInitialized
94
+ DECLPROC checkPermissions
95
+ DECLPROC initialize
96
+ DECLPROC authenticateIfNecessary
97
+ DECLPROC assertOwner
98
+ DECLPROC _checkPermissions
99
+ DECLPROC preamble
100
+ DECLPROC action::call::New
101
+ DECLPROC action::call::equals
102
+ DECLPROC _newAction<call>
103
+ DECLPROC ~pushAction<call>
104
+ DECLPROC executeCall
105
+ DECLPROC action::deploy::New
106
+ DECLPROC action::deploy::equals
107
+ DECLPROC _newAction<deployAndCall>
108
+ DECLPROC ~pushAction<deployAndCall>
109
+ DECLPROC executeDeploy
110
+ DECLPROC _getEventSink
111
+ 79569 DECLMETHOD action::event::New
112
+ DECLPROC action::event::equals
113
+ DECLPROC _newAction<event>
114
+ DECLPROC ~pushAction<event>
115
+ DECLPROC executeEvent
116
+ DECLPROC action::payment::New
117
+ DECLPROC action::payment::equals
118
+ DECLPROC _newAction<payment>
119
+ DECLPROC ~pushAction<payment>
120
+ DECLPROC executePayment
121
+ 124063 DECLMETHOD BaseStorage::New
122
+ DECLPROC getOwner
123
+ DECLPROC getInitialStorage
124
+ DECLPROC assertAuthenticated
125
+ DECLPROC authenticate
126
+ DECLPROC _initialize
127
+ 106165 DECLMETHOD POOO::set
128
+ 76066 DECLMETHOD POOO::New
129
+ 126005 DECLMETHOD POOO::NewWithBitsSets
130
+ 116795 DECLMETHOD POOO::isBitSet
131
+ 68887 DECLMETHOD POOO::maxSettableBit
132
+ 93134 DECLMETHOD lz::Attestation::New
133
+ 91381 DECLMETHOD lz::Attestation::isValid
134
+ 78563 DECLMETHOD UlnSendConfig::New
135
+ 89503 DECLMETHOD UlnSendConfig::NewWithDefaults
136
+ DECLPROC _serializeDVNList
137
+ DECLPROC ~dvnListNext
138
+ DECLPROC lz::UlnSendConfig::GetUlnSendConfig
139
+ DECLPROC _serializedDVNListIsValid
140
+ DECLPROC lz::UlnSendConfig::sanitize
141
+ 103343 DECLMETHOD UlnReceiveConfig::New
142
+ 77303 DECLMETHOD UlnReceiveConfig::NewWithDefaults
143
+ DECLPROC UlnReceiveConfig::utils::getDVNs
144
+ DECLPROC UlnReceiveConfig::utils::getUlnReceiveConfig
145
+ DECLPROC UlnReceiveConfig::utils::readConfig
146
+ DECLPROC UlnReceiveConfig::sanitize
147
+ 85009 DECLMETHOD UlnConnection::New
148
+ DECLPROC UlnConnection::utils::getHashLookup
149
+ DECLPROC UlnConnection::utils::getCurrentMaxNonce
150
+ DECLPROC UlnConnection::utils::getCurrentMinNonce
151
+ DECLPROC UlnConnection::utils::setHashLookup
152
+ DECLPROC UlnConnection::utils::setNonceCommitted
153
+ DECLPROC UlnConnection::utils::isCommittable
154
+ 88345 DECLMETHOD md::MdObj::New
155
+ 91722 DECLMETHOD md::UlnSend::New
156
+ 85777 DECLMETHOD Uln::New
157
+ DECLPROC assertChannel
158
+ DECLPROC assertUln
159
+ DECLPROC msglibConnectionQuote
160
+ DECLPROC msglibConnectionSend
161
+ DECLPROC ulnConnectionVerify
162
+ DECLPROC ulnConnectionCommitPacket
163
+ DECLPROC msglibConnectionCommitPacketCallback
164
+ DECLPROC msglibConnectionSyncChannelState
165
+ DECLPROC setOAppUlnSendConfig
166
+ DECLPROC setOAppUlnReceiveConfig
167
+ DECLPROC _executeOpcode
168
+ DECLPROC _executeAction
169
+ DECLPROC main
170
+ DECLGLOBVAR txnContext
171
+ cell_is_empty PROCINLINE:<{
172
+ HASHCU
173
+ 68134197439415885698044414435951397869210496020759160419881882418413283430343 PUSHINT
174
+ EQUAL
175
+ }>
176
+ throwError PROCINLINE:<{
177
+ DUP
178
+ STRDUMP
179
+ DROP
180
+ HASHSU
181
+ 11 PUSHPOW2DEC
182
+ AND
183
+ THROWANY
184
+ }>
185
+ throwErrorUnless PROCINLINE:<{
186
+ SWAP
187
+ IFNOT:<{
188
+ throwError INLINECALLDICT
189
+ }>ELSE<{
190
+ DROP
191
+ }>
192
+ }>
193
+ getContractStateSize PROCINLINE:<{
194
+ 6 PUSHINT
195
+ NEWC
196
+ 5 STU
197
+ s1 s2 XCHG
198
+ STREF
199
+ STREF
200
+ ENDC
201
+ 16 PUSHPOW2DEC
202
+ CDATASIZE
203
+ DROP
204
+ }>
205
+ calculateStorageFees PROCINLINE:<{
206
+ 0 PUSHINT
207
+ GETSTORAGEFEE
208
+ }>
209
+ treeShapeEqual PROCINLINE:<{
210
+ SWAP
211
+ CTOS
212
+ SWAP
213
+ CTOS
214
+ OVER
215
+ SBITREFS
216
+ s2 PUSH
217
+ SBITREFS
218
+ s3 s3 XCHG2
219
+ NEQ
220
+ s1 s2 PUXC
221
+ NEQ
222
+ s1 s2 XCHG
223
+ OR
224
+ IF:<{
225
+ 3 BLKDROP
226
+ FALSE
227
+ }>ELSE<{
228
+ DUP
229
+ 0 EQINT
230
+ IFJMP:<{
231
+ 3 BLKDROP
232
+ TRUE
233
+ }>
234
+ TRUE
235
+ 0 PUSHINT
236
+ WHILE:<{
237
+ s2 PUSH
238
+ 0 GTINT
239
+ }>DO<{
240
+ s4 s0 PUSH2
241
+ PLDREFVAR
242
+ s4 s1 PUSH2
243
+ PLDREFVAR
244
+ treeShapeEqual INLINECALLDICT
245
+ s1 s2 XCHG
246
+ AND
247
+ SWAP
248
+ }>
249
+ s1 s4 XCHG
250
+ 4 BLKDROP
251
+ }>
252
+ }>
253
+ str::asciiUint256ToStr PROC:<{
254
+ DUP
255
+ NEWC
256
+ 256 STU
257
+ ENDC
258
+ CTOS
259
+ SDCNTLEAD0
260
+ 8 PUSHPOW2
261
+ SWAP
262
+ SUB
263
+ POW2
264
+ DEC
265
+ 8627645864741206717834700843784589212596587092734002810783114102550390051603 PUSHINT
266
+ SWAP
267
+ NOT
268
+ AND
269
+ OR
270
+ NEWC
271
+ 256 STU
272
+ ENDC
273
+ CTOS
274
+ }>
275
+ ~str::concat PROC:<{
276
+ OVER
277
+ SBITS
278
+ OVER
279
+ SBITS
280
+ ADD
281
+ 32385 PUSHINT
282
+ GREATER
283
+ IF:<{
284
+ x{43616e6e6f7420636f6e636174656e6174653a20737472696e6720746f6f206c6f6e67} PUSHSLICE
285
+ throwError INLINECALLDICT
286
+ }>
287
+ NEWC
288
+ ROT
289
+ STSLICER
290
+ SWAP
291
+ STSLICER
292
+ ENDC
293
+ CTOS
294
+ }>
295
+ str::concat PROC:<{
296
+ ~str::concat CALLDICT
297
+ }>
298
+ ~str::concatInt PROC:<{
299
+ <b b> <s PUSHSLICE
300
+ OVER
301
+ 0 LESSINT
302
+ IF:<{
303
+ s0 s2 XCHG
304
+ x{2d} PUSHSLICE
305
+ ~str::concat CALLDICT
306
+ SWAP
307
+ NEGATE
308
+ ROT
309
+ }>
310
+ OVER
311
+ 0 EQINT
312
+ IF:<{
313
+ 48 PUSHINT
314
+ NEWC
315
+ 8 STU
316
+ ENDC
317
+ CTOS
318
+ ~str::concat CALLDICT
319
+ }>
320
+ WHILE:<{
321
+ OVER
322
+ 0 GTINT
323
+ }>DO<{
324
+ OVER
325
+ 10 PUSHINT
326
+ MOD
327
+ 48 ADDCONST
328
+ NEWC
329
+ 8 STU
330
+ ENDC
331
+ CTOS
332
+ SWAP
333
+ str::concat CALLDICT
334
+ SWAP
335
+ 10 PUSHINT
336
+ DIV
337
+ SWAP
338
+ }>
339
+ NIP
340
+ str::concat CALLDICT
341
+ }>
342
+ str::concatInt PROC:<{
343
+ ~str::concatInt CALLDICT
344
+ }>
345
+ ~str::concatHex PROC:<{
346
+ <b b> <s PUSHSLICE
347
+ OVER
348
+ 0 EQINT
349
+ IF:<{
350
+ 48 PUSHINT
351
+ NEWC
352
+ 8 STU
353
+ ENDC
354
+ CTOS
355
+ ~str::concat CALLDICT
356
+ }>
357
+ WHILE:<{
358
+ OVER
359
+ 0 GTINT
360
+ }>DO<{
361
+ OVER
362
+ 4 MODPOW2#
363
+ 10 LESSINT
364
+ IF:<{
365
+ OVER
366
+ 4 MODPOW2#
367
+ 48 ADDCONST
368
+ NEWC
369
+ 8 STU
370
+ ENDC
371
+ CTOS
372
+ SWAP
373
+ str::concat CALLDICT
374
+ }>ELSE<{
375
+ OVER
376
+ 4 MODPOW2#
377
+ 65 ADDCONST
378
+ -10 ADDCONST
379
+ NEWC
380
+ 8 STU
381
+ ENDC
382
+ CTOS
383
+ SWAP
384
+ str::concat CALLDICT
385
+ }>
386
+ SWAP
387
+ 4 RSHIFT#
388
+ SWAP
389
+ }>
390
+ NIP
391
+ str::concat CALLDICT
392
+ }>
393
+ str::concatHex PROC:<{
394
+ ~str::concatHex CALLDICT
395
+ }>
396
+ str::console::log<int> PROC:<{
397
+ SWAP
398
+ x{3a20} PUSHSLICE
399
+ str::concat CALLDICT
400
+ SWAP
401
+ str::concatInt CALLDICT
402
+ STRDUMP
403
+ DROP
404
+ }>
405
+ basechainAddressStdToHashpart PROCINLINE:<{
406
+ REWRITESTDADDR
407
+ NIP
408
+ }>
409
+ hashpartToBasechainAddressStd PROCINLINE:<{
410
+ 0 PUSHINT
411
+ 4 PUSHINT
412
+ NEWC
413
+ 3 STU
414
+ 8 STI
415
+ 256 STU
416
+ ENDC CTOS
417
+ }>
418
+ getContractAddress PROCINLINE:<{
419
+ MYADDR
420
+ 11 PUSHINT
421
+ 8 PUSHPOW2
422
+ SDSUBSTR
423
+ 256 PLDU
424
+ }>
425
+ cl::objToSlice PROCINLINE:<{
426
+ CTOS
427
+ }>
428
+ _getTypeWidth PROCINLINE:<{
429
+ DUP
430
+ 9 LESSINT
431
+ IF:<{
432
+ POW2
433
+ }>ELSE<{
434
+ DROP
435
+ 0 PUSHINT
436
+ }>
437
+ }>
438
+ cl::hash PROCINLINE:<{
439
+ HASHCU
440
+ }>
441
+ cl::isNull PROCINLINE:<{
442
+ cell_is_empty INLINECALLDICT
443
+ }>
444
+ cl::noRefFields PROC:<{
445
+ c2 SAVE
446
+ SAMEALTSAVE
447
+ CTOS
448
+ DUP
449
+ SREFS
450
+ DUP
451
+ 0 EQINT
452
+ IFJMP:<{
453
+ 2DROP
454
+ TRUE
455
+ }>
456
+ DUP
457
+ 3 LESSINT
458
+ IFJMP:<{
459
+ 2DROP
460
+ FALSE
461
+ RETALT
462
+ }>
463
+ DUP
464
+ 2 GTINT
465
+ IF:<{
466
+ OVER
467
+ 0 PUSHINT
468
+ PLDREFVAR
469
+ cell_is_empty INLINECALLDICT
470
+ 0 EQINT
471
+ s2 PUSH
472
+ 1 PUSHINT
473
+ PLDREFVAR
474
+ cell_is_empty INLINECALLDICT
475
+ 0 EQINT
476
+ OR
477
+ s2 PUSH
478
+ 2 PUSHINT
479
+ PLDREFVAR
480
+ CTOS
481
+ SREFS
482
+ 0 NEQINT
483
+ OR
484
+ IFJMP:<{
485
+ 2DROP
486
+ FALSE
487
+ RETALT
488
+ }>
489
+ }>
490
+ 3 GTINT
491
+ IF:<{
492
+ 3 PUSHINT
493
+ PLDREFVAR
494
+ CTOS
495
+ SREFS
496
+ 0 NEQINT
497
+ IFJMP:<{
498
+ FALSE
499
+ RETALT
500
+ }>
501
+ }>ELSE<{
502
+ DROP
503
+ }>
504
+ TRUE
505
+ }>
506
+ cl::equalObjTypeShallow PROC:<{
507
+ c2 SAVE
508
+ SAMEALTSAVE
509
+ SWAP
510
+ CTOS
511
+ SWAP
512
+ CTOS
513
+ OVER
514
+ SREFS
515
+ OVER
516
+ SREFS
517
+ s1 s(-1) PUXC
518
+ NEQ
519
+ s3 PUSH
520
+ SBITS
521
+ s3 PUSH
522
+ SBITS
523
+ NEQ
524
+ OR
525
+ IFJMP:<{
526
+ 3 BLKDROP
527
+ FALSE
528
+ }>
529
+ 2 PUSHINT
530
+ WHILE:<{
531
+ s0 s1 PUSH2
532
+ LESS
533
+ }>DO<{
534
+ s3 s0 PUSH2
535
+ PLDREFVAR
536
+ CTOS
537
+ SREFS
538
+ s3 s1 PUSH2
539
+ PLDREFVAR
540
+ CTOS
541
+ SREFS
542
+ NEQ
543
+ s4 s1 PUSH2
544
+ PLDREFVAR
545
+ CTOS
546
+ SBITS
547
+ s4 s2 PUSH2
548
+ PLDREFVAR
549
+ CTOS
550
+ SBITS
551
+ NEQ
552
+ OR
553
+ IFJMP:<{
554
+ 4 BLKDROP
555
+ FALSE
556
+ RETALT
557
+ }>
558
+ INC
559
+ }>
560
+ 4 BLKDROP
561
+ TRUE
562
+ }>
563
+ setContractStorage PROCINLINE:<{
564
+ c4 POP
565
+ }>
566
+ getContractStorage PROCINLINE:<{
567
+ c4 PUSH
568
+ }>
569
+ computeContractAddress PROCINLINE:<{
570
+ 6 PUSHINT
571
+ NEWC
572
+ 5 STU
573
+ STREF
574
+ STREF
575
+ ENDC
576
+ HASHCU
577
+ }>
578
+ cl::typeof PROCINLINE:<{
579
+ DUP
580
+ cl::isNull INLINECALLDICT
581
+ IF:<{
582
+ DROP
583
+ 1314212940 PUSHINT
584
+ }>ELSE<{
585
+ CTOS
586
+ 80 PLDU
587
+ }>
588
+ }>
589
+ cl::declare PROCINLINE:<{
590
+ PUSHNULL
591
+ NEWC
592
+ PAIR
593
+ OVER
594
+ TLEN
595
+ s0 s3 XCHG
596
+ NEWC
597
+ 80 STU
598
+ 1 PUSHINT
599
+ DUP
600
+ 2 PUSHINT
601
+ 350 PUSHINT
602
+ 0 PUSHINT
603
+ DUP
604
+ WHILE:<{
605
+ s0 s9 PUSH2
606
+ LESS
607
+ }>DO<{
608
+ s8 s0 PUSH2
609
+ INDEXVAR
610
+ DUP
611
+ 0 INDEX
612
+ DUP
613
+ _getTypeWidth INLINECALLDICT
614
+ s5 s0 PUSH2
615
+ ADD
616
+ 10 PUSHPOW2DEC
617
+ GREATER
618
+ IF:<{
619
+ s5 POP
620
+ s0 s7 XCHG
621
+ INC
622
+ 0 PUSHINT
623
+ s10 PUSH
624
+ TLEN
625
+ s2 s(-1) PUXC
626
+ GEQ
627
+ IF:<{
628
+ s0 s10 XCHG
629
+ NEWC
630
+ TPUSH
631
+ s0 s10 XCHG
632
+ }>
633
+ s8 s5 XCHG2
634
+ }>
635
+ s4 PUSH
636
+ INC
637
+ s7 PUSH
638
+ GREATER
639
+ IF:<{
640
+ s4 POP
641
+ s5 POP
642
+ s0 s5 XCHG
643
+ INC
644
+ 0 PUSHINT
645
+ 4 PUSHINT
646
+ s10 PUSH
647
+ TLEN
648
+ s3 s(-1) PUXC
649
+ GEQ
650
+ IF:<{
651
+ s0 s10 XCHG
652
+ NEWC
653
+ TPUSH
654
+ s0 s10 XCHG
655
+ }>
656
+ s7 s6 s6 XCHG3
657
+ s0 s4 XCHG
658
+ }>
659
+ OVER
660
+ 9 LESSINT
661
+ IF:<{
662
+ s0 s2 XCHG
663
+ 1 INDEX
664
+ ABS
665
+ s10 s8 PUSH2
666
+ INDEXVAR
667
+ s3 PUSH
668
+ STUX
669
+ s10 s0 s8 XC2PU
670
+ SETINDEXVAR
671
+ }>ELSE<{
672
+ OVER
673
+ 9 EQINT
674
+ IF:<{
675
+ s0 s2 XCHG
676
+ 1 INDEX
677
+ s10 s7 PUSH2
678
+ INDEXVAR
679
+ STREF
680
+ s10 s0 s7 XC2PU
681
+ SETINDEXVAR
682
+ }>ELSE<{
683
+ s0 s2 XCHG
684
+ 1 INDEX
685
+ s10 s7 PUSH2
686
+ INDEXVAR
687
+ STREF
688
+ s10 s0 s7 XC2PU
689
+ SETINDEXVAR
690
+ }>
691
+ }>
692
+ s9 s8 XCHG2
693
+ 4 STU
694
+ s8 PUSH
695
+ 0 GTINT
696
+ IF:<{
697
+ 3 PUSHINT
698
+ s7 PUSH
699
+ 1 EQINT
700
+ IF:<{
701
+ 0 PUSHINT
702
+ }>ELSE<{
703
+ s7 PUSH
704
+ }>
705
+ ROT
706
+ 2 STU
707
+ s4 s(-1) PUXC
708
+ 10 STU
709
+ 2 STU
710
+ s3 s8 XCHG2
711
+ ADD
712
+ }>ELSE<{
713
+ s8 POP
714
+ 10 PUSHPOW2DEC
715
+ s5 PUSH
716
+ 1 EQINT
717
+ IF:<{
718
+ 0 PUSHINT
719
+ }>ELSE<{
720
+ s5 PUSH
721
+ }>
722
+ s0 s9 XCHG2
723
+ 2 STU
724
+ s1 s8 XCHG
725
+ 10 STU
726
+ s1 s(-1) PUXC
727
+ 2 STU
728
+ SWAP
729
+ INC
730
+ s7 s0 s7 XCHG3
731
+ }>
732
+ s0 s2 XCHG
733
+ INC
734
+ s6 s7 XCHG
735
+ }>
736
+ 6 BLKDROP
737
+ 2 2 BLKDROP2
738
+ OVER
739
+ 1 INDEX
740
+ s2 PUSH
741
+ TLEN
742
+ DEC
743
+ DUP
744
+ 1 GTINT
745
+ IF:<{
746
+ OVER
747
+ BREFS
748
+ 0 EQINT
749
+ IF:<{
750
+ <b b> PUSHREF
751
+ <b b> PUSHREF
752
+ s0 s3 XCHG2
753
+ STREF
754
+ s1 s2 XCHG
755
+ STREF
756
+ }>ELSE<{
757
+ OVER
758
+ BREFS
759
+ 1 EQINT
760
+ IF:<{
761
+ <b b> PUSHREF
762
+ ROT
763
+ STREF
764
+ SWAP
765
+ }>
766
+ SWAP
767
+ }>
768
+ SWAP
769
+ }>
770
+ 350 PUSHINT
771
+ s3 PUSH
772
+ BBITS
773
+ SUB
774
+ s1 s3 XCHG
775
+ STONES
776
+ SWAP
777
+ STBR
778
+ OVER
779
+ 1 EQINT
780
+ IF:<{
781
+ 2 1 BLKDROP2
782
+ ENDC
783
+ }>ELSE<{
784
+ SWAP
785
+ 2 EQINT
786
+ IFJMP:<{
787
+ SWAP
788
+ 2 INDEX
789
+ ENDC
790
+ SWAP
791
+ STREF
792
+ ENDC
793
+ }>
794
+ OVER
795
+ 3 INDEX
796
+ ENDC
797
+ s0 s2 XCHG
798
+ 2 INDEX
799
+ ENDC
800
+ SWAP
801
+ STREF
802
+ STREF
803
+ ENDC
804
+ }>
805
+ }>
806
+ cl::nullObject PROCINLINE:<{
807
+ <b b> PUSHREF
808
+ }>
809
+ cl::set PROCINLINE:<{
810
+ s0 s2 XCHG
811
+ CTOS
812
+ SWAP
813
+ 18 MULCONST
814
+ 80 ADDCONST
815
+ 2DUP
816
+ 4 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
817
+ 2 PUSHINT // STACK [_CELL_ID_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
818
+ SDSUBSTR // STACK [substring]
819
+ 2 PLDU // STACK [2BitUnsignInt]
820
+ s2 s1 PUSH2
821
+ // STACK [fieldInfoOffset, headerSlice]
822
+ 4 PUSHINT // STACK [_FIELD_TYPE_WIDTH, fieldInfoOffset, headerSlice]
823
+ SDSUBSTR // STACK [substring]
824
+ 4 PLDU // STACK [2BitUnsignInt]
825
+ 2OVER
826
+ 6 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
827
+ 10 PUSHINT // STACK [_DATA_OFFSET_WIDTH, fieldInfoOffset +_FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
828
+ SDSUBSTR // STACK [substring]
829
+ 10 PLDU // STACK [10BitUnsignInt]
830
+ s4 s3 PUXC
831
+ 16 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH, headerSlice]
832
+ 2 PUSHINT // STACK [_REF_OFFSET_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH headerSlice]
833
+ SDSUBSTR // STACK [substring]
834
+ 2 PLDU // STACK [10BitUnsignInt]
835
+ OVER
836
+ _getTypeWidth INLINECALLDICT
837
+ s3 PUSH
838
+ 0 EQINT
839
+ IF:<{
840
+ s5 PUSH
841
+ }>ELSE<{
842
+ s5 s3 PUSH2
843
+ PLDREFVAR
844
+ CTOS
845
+ }>
846
+ OVER
847
+ 0 NEQINT
848
+ IF:<{
849
+ 4 PUSHINT
850
+ s3 POP
851
+ }>
852
+ NEWC
853
+ OVER
854
+ SBITS
855
+ s7 PUSH
856
+ MIN
857
+ s2 PUSH
858
+ SREFS
859
+ s5 s(-1) PUXC
860
+ MIN
861
+ s3 PUSH
862
+ -ROT
863
+ SCUTFIRST
864
+ STSLICER
865
+ s4 PUSH
866
+ 9 EQINT
867
+ IF:<{
868
+ s2 POP
869
+ s3 POP
870
+ s4 POP
871
+ s5 s5 XCHG2
872
+ s0 s3 XCHG
873
+ STREF
874
+ 0 PUSHINT
875
+ s3 PUSH
876
+ SREFS
877
+ s0 s6 XCHG2
878
+ SUB
879
+ DEC
880
+ s3 s5 s0 XCHG3
881
+ SCUTLAST
882
+ s1 s3 XCHG
883
+ STSLICER
884
+ }>ELSE<{
885
+ s0 s4 XCHG
886
+ 9 EQINT
887
+ IF:<{
888
+ NIP
889
+ s4 POP
890
+ s5 s5 XCHG2
891
+ STREF
892
+ 0 PUSHINT
893
+ s3 PUSH
894
+ SREFS
895
+ s0 s6 XCHG2
896
+ SUB
897
+ DEC
898
+ s3 s5 s0 XCHG3
899
+ SCUTLAST
900
+ s1 s3 XCHG
901
+ STSLICER
902
+ }>ELSE<{
903
+ s2 POP
904
+ s0 s6 XCHG
905
+ ABS
906
+ s0 s2 s6 XC2PU
907
+ STUX
908
+ s3 s5 XCHG2
909
+ ADD
910
+ s2 PUSH
911
+ SREFS
912
+ s2 s3 XCHG
913
+ SSKIPFIRST
914
+ s1 s3 XCHG
915
+ STSLICER
916
+ }>
917
+ }>
918
+ s2 PUSH
919
+ 0 GTINT
920
+ IF:<{
921
+ ENDC
922
+ NEWC
923
+ s2 PUSH
924
+ SBITS
925
+ s3 s4 s(-1) PU2XC
926
+ SCUTFIRST
927
+ STSLICER
928
+ STREF
929
+ 0 PUSHINT
930
+ s2 PUSH
931
+ SREFS
932
+ s0 s4 XCHG2
933
+ SUB
934
+ DEC
935
+ s1 s3 XCHG
936
+ SCUTLAST
937
+ STSLICER
938
+ ENDC
939
+ }>ELSE<{
940
+ 2 1 BLKDROP2
941
+ ENDC
942
+ }>
943
+ }>
944
+ cl::get<uint> PROCINLINE:<{
945
+ s0 s2 XCHG
946
+ CTOS
947
+ SWAP
948
+ 18 MULCONST
949
+ 80 ADDCONST
950
+ 2DUP
951
+ 4 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
952
+ 2 PUSHINT // STACK [_CELL_ID_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
953
+ SDSUBSTR // STACK [substring]
954
+ 2 PLDU // STACK [2BitUnsignInt]
955
+ s2 s1 PUXC
956
+ 6 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
957
+ 10 PUSHINT // STACK [_DATA_OFFSET_WIDTH, fieldInfoOffset +_FIELD_TYPE_WIDTH + _CELL_ID_WIDTH, headerSlice]
958
+ SDSUBSTR // STACK [substring]
959
+ 10 PLDU // STACK [10BitUnsignInt]
960
+ OVER
961
+ 0 EQINT
962
+ IF:<{
963
+ NIP
964
+ s2 PUSH
965
+ SDSUBSTR // STACK [substring]
966
+ s1 XCHG0
967
+ PLDUX // STACK [10BitUnsignInt] (CC +1 )
968
+ }>ELSE<{
969
+ -ROT
970
+ PLDREFVAR
971
+ CTOS
972
+ s1 s2 XCPU
973
+ SDSUBSTR // STACK [substring]
974
+ s1 XCHG0
975
+ PLDUX // STACK [10BitUnsignInt] (CC +1 )
976
+ }>
977
+ }>
978
+ cl::get<cellRef> PROCINLINE:<{
979
+ SWAP
980
+ CTOS
981
+ SWAP
982
+ 18 MULCONST
983
+ 80 ADDCONST
984
+ 2DUP
985
+ 4 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
986
+ 2 PUSHINT // STACK [_CELL_ID_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH, headerSlice]
987
+ SDSUBSTR // STACK [substring]
988
+ 2 PLDU // STACK [2BitUnsignInt]
989
+ s2 s1 PUXC
990
+ 16 ADDCONST // STACK [fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH, headerSlice]
991
+ 2 PUSHINT // STACK [_REF_OFFSET_WIDTH, fieldInfoOffset + _FIELD_TYPE_WIDTH + _CELL_ID_WIDTH + _DATA_OFFSET_WIDTH headerSlice]
992
+ SDSUBSTR // STACK [substring]
993
+ 2 PLDU // STACK [10BitUnsignInt]
994
+ OVER
995
+ 0 EQINT
996
+ IF:<{
997
+ NIP
998
+ PLDREFVAR
999
+ }>ELSE<{
1000
+ -ROT
1001
+ PLDREFVAR
1002
+ CTOS
1003
+ SWAP
1004
+ PLDREFVAR
1005
+ }>
1006
+ }>
1007
+ cl::getWithCell<cellRef> PROCINLINE:<{
1008
+ cl::get<cellRef> INLINECALLDICT
1009
+ }>
1010
+ cl::get<objRef> PROCINLINE:<{
1011
+ cl::get<cellRef> INLINECALLDICT
1012
+ }>
1013
+ cl::get<uint8> PROCINLINE:<{
1014
+ 8 PUSHINT
1015
+ cl::get<uint> INLINECALLDICT
1016
+ }>
1017
+ cl::get<uint16> PROCINLINE:<{
1018
+ 16 PUSHINT
1019
+ cl::get<uint> INLINECALLDICT
1020
+ }>
1021
+ cl::get<uint32> PROCINLINE:<{
1022
+ 32 PUSHINT
1023
+ cl::get<uint> INLINECALLDICT
1024
+ }>
1025
+ cl::get<uint64> PROCINLINE:<{
1026
+ 64 PUSHINT
1027
+ cl::get<uint> INLINECALLDICT
1028
+ }>
1029
+ cl::get<coins> PROCINLINE:<{
1030
+ 7 PUSHPOW2
1031
+ cl::get<uint> INLINECALLDICT
1032
+ }>
1033
+ cl::get<uint256> PROCINLINE:<{
1034
+ 8 PUSHPOW2
1035
+ cl::get<uint> INLINECALLDICT
1036
+ }>
1037
+ cl::get<std_address> PROCINLINE:<{
1038
+ 8 PUSHPOW2
1039
+ cl::get<uint> INLINECALLDICT
1040
+ hashpartToBasechainAddressStd INLINECALLDICT
1041
+ }>
1042
+ cl::get<bool> PROCINLINE:<{
1043
+ 1 PUSHINT
1044
+ cl::get<uint> INLINECALLDICT
1045
+ 0 NEQINT
1046
+ }>
1047
+ cl::get<dict256> PROCINLINE:<{
1048
+ cl::get<cellRef> INLINECALLDICT
1049
+ }>
1050
+ cl::get<address> PROCINLINE:<{
1051
+ 8 PUSHPOW2
1052
+ cl::get<uint> INLINECALLDICT
1053
+ }>
1054
+ typeofField PROCINLINE:<{
1055
+ SWAP
1056
+ CTOS
1057
+ SWAP
1058
+ 18 MULCONST
1059
+ 80 ADDCONST
1060
+ 4 PUSHINT
1061
+ SDSUBSTR
1062
+ 4 PLDU
1063
+ }>
1064
+ compareObjectFields PROCINLINE:<{
1065
+ CONT:<{
1066
+ c2 SAVE
1067
+ SAMEALTSAVE
1068
+ OVER
1069
+ cl::typeof INLINECALLDICT
1070
+ OVER
1071
+ cl::typeof INLINECALLDICT
1072
+ NEQ
1073
+ DUP
1074
+ IF:<{
1075
+ 3 BLKDROP
1076
+ 16 PUSHINT
1077
+ }>ELSE<{
1078
+ s2 PUSH
1079
+ cl::typeof INLINECALLDICT
1080
+ 1314212940 PUSHINT
1081
+ EQUAL
1082
+ IFJMP:<{
1083
+ 3 BLKDROP
1084
+ -1 PUSHINT
1085
+ }>
1086
+ 0 PUSHINT
1087
+ WHILE:<{
1088
+ DUP
1089
+ 16 LESSINT
1090
+ }>DO<{
1091
+ s3 s0 PUSH2
1092
+ typeofField INLINECALLDICT
1093
+ DUP
1094
+ 9 EQINT
1095
+ IF:<{
1096
+ DROP
1097
+ NIP
1098
+ s2 s0 PUSH2
1099
+ cl::get<objRef> INLINECALLDICT
1100
+ cl::hash INLINECALLDICT
1101
+ s2 s1 PUSH2
1102
+ cl::get<objRef> INLINECALLDICT
1103
+ cl::hash INLINECALLDICT
1104
+ NEQ
1105
+ DUP
1106
+ IF:<{
1107
+ s3 s1 PUSH2
1108
+ cl::get<objRef> INLINECALLDICT
1109
+ HASHCU
1110
+ s0 DUMP
1111
+ DROP
1112
+ s2 s1 PUSH2
1113
+ cl::get<objRef> INLINECALLDICT
1114
+ HASHCU
1115
+ s0 DUMP
1116
+ DROP
1117
+ }>
1118
+ }>ELSE<{
1119
+ DUP
1120
+ 9 LESSINT
1121
+ IF:<{
1122
+ 1 2 BLKDROP2
1123
+ _getTypeWidth INLINECALLDICT
1124
+ s3 s1 s0 PUSH3
1125
+ cl::get<uint> INLINECALLDICT
1126
+ s3 s2 s1 PUSH3
1127
+ cl::get<uint> INLINECALLDICT
1128
+ NEQ
1129
+ DUP
1130
+ IF:<{
1131
+ x{6c68733a20} PUSHSLICE
1132
+ s5 s3 s2 PUSH3
1133
+ cl::get<uint> INLINECALLDICT
1134
+ str::console::log<int> CALLDICT
1135
+ 2OVER
1136
+ x{7268733a20} PUSHSLICE
1137
+ s0 s4 XCHG
1138
+ cl::get<uint> INLINECALLDICT
1139
+ s1 s2 XCHG
1140
+ str::console::log<int> CALLDICT
1141
+ }>ELSE<{
1142
+ NIP
1143
+ }>
1144
+ }>ELSE<{
1145
+ 2DROP
1146
+ 16 PUSHINT
1147
+ SWAP
1148
+ }>
1149
+ }>
1150
+ DUP
1151
+ IFJMP:<{
1152
+ s1 s3 XCHG
1153
+ 3 BLKDROP
1154
+ x{4d616c666f726d6564206669656c643a20} PUSHSLICE
1155
+ OVER
1156
+ str::console::log<int> CALLDICT
1157
+ RETALT
1158
+ }>
1159
+ SWAP
1160
+ INC
1161
+ }>
1162
+ 4 BLKDROP
1163
+ -1 PUSHINT
1164
+ }>
1165
+ }>
1166
+ EXECUTE
1167
+ }>
1168
+ objectsAreEqual PROCINLINE:<{
1169
+ compareObjectFields INLINECALLDICT
1170
+ -1 EQINT
1171
+ }>
1172
+ _typeToStr PROC:<{
1173
+ DUP
1174
+ 3 EQINT
1175
+ IFJMP:<{
1176
+ DROP
1177
+ x{75696e7438} PUSHSLICE
1178
+ }>
1179
+ DUP
1180
+ 4 EQINT
1181
+ IFJMP:<{
1182
+ DROP
1183
+ x{75696e743136} PUSHSLICE
1184
+ }>
1185
+ DUP
1186
+ 5 EQINT
1187
+ IFJMP:<{
1188
+ DROP
1189
+ x{75696e743332} PUSHSLICE
1190
+ }>
1191
+ DUP
1192
+ 6 EQINT
1193
+ IFJMP:<{
1194
+ DROP
1195
+ x{75696e743634} PUSHSLICE
1196
+ }>
1197
+ DUP
1198
+ 8 EQINT
1199
+ IFJMP:<{
1200
+ DROP
1201
+ x{75696e74323536} PUSHSLICE
1202
+ }>
1203
+ DUP
1204
+ 7 EQINT
1205
+ IFJMP:<{
1206
+ DROP
1207
+ x{636f696e73} PUSHSLICE
1208
+ }>
1209
+ DUP
1210
+ 8 EQINT
1211
+ IFJMP:<{
1212
+ DROP
1213
+ x{61646472657373} PUSHSLICE
1214
+ }>
1215
+ DUP
1216
+ 9 EQINT
1217
+ IFJMP:<{
1218
+ DROP
1219
+ x{64696374323536} PUSHSLICE
1220
+ }>
1221
+ DUP
1222
+ 9 EQINT
1223
+ IFJMP:<{
1224
+ DROP
1225
+ x{6f626a526566} PUSHSLICE
1226
+ }>
1227
+ DUP
1228
+ 9 EQINT
1229
+ IFJMP:<{
1230
+ DROP
1231
+ x{63656c6c526566} PUSHSLICE
1232
+ }>
1233
+ 0 EQINT
1234
+ IFJMP:<{
1235
+ x{626f6f6c} PUSHSLICE
1236
+ }>
1237
+ x{756e6b6e6f776e} PUSHSLICE
1238
+ }>
1239
+ printField PROCINLINE:<{
1240
+ OVER
1241
+ CTOS
1242
+ s2 s1 PUSH2
1243
+ typeofField INLINECALLDICT
1244
+ s2 PUSH
1245
+ 18 MULCONST
1246
+ 80 ADDCONST
1247
+ DUP
1248
+ 4 ADDCONST
1249
+ s3 s(-1) PUXC
1250
+ 2 PUSHINT
1251
+ SDSUBSTR
1252
+ 2 PLDU
1253
+ OVER
1254
+ 4 ADDCONST
1255
+ 2 ADDCONST
1256
+ 10 ADDCONST
1257
+ s4 s(-1) PUXC
1258
+ 2 PUSHINT
1259
+ SDSUBSTR
1260
+ 2 PLDU
1261
+ s3 PUSH
1262
+ _getTypeWidth INLINECALLDICT
1263
+ s0 s3 XCHG
1264
+ 4 ADDCONST
1265
+ 2 ADDCONST
1266
+ s1 s5 XCHG
1267
+ 10 PUSHINT
1268
+ SDSUBSTR
1269
+ 10 PLDU
1270
+ s3 PUSH
1271
+ _typeToStr CALLDICT
1272
+ x{20} PUSHSLICE
1273
+ str::concat CALLDICT
1274
+ s6 PUSH
1275
+ str::concatInt CALLDICT
1276
+ x{2061742063} PUSHSLICE
1277
+ str::concat CALLDICT
1278
+ ROT
1279
+ str::concatInt CALLDICT
1280
+ s2 PUSH
1281
+ 0 GTINT
1282
+ IF:<{
1283
+ s4 POP
1284
+ s0 s3 XCHG
1285
+ x{2e62} PUSHSLICE
1286
+ str::concat CALLDICT
1287
+ s0 s3 XCHG2
1288
+ str::concatInt CALLDICT
1289
+ }>ELSE<{
1290
+ NIP
1291
+ x{2e72} PUSHSLICE
1292
+ str::concat CALLDICT
1293
+ s0 s3 XCHG2
1294
+ str::concatInt CALLDICT
1295
+ }>
1296
+ OVER
1297
+ 9 LESSINT
1298
+ IF:<{
1299
+ NIP
1300
+ x{203d20} PUSHSLICE
1301
+ str::concat CALLDICT
1302
+ 3 -ROLL
1303
+ cl::get<uint> INLINECALLDICT
1304
+ str::concatInt CALLDICT
1305
+ STRDUMP
1306
+ DROP
1307
+ }>ELSE<{
1308
+ s2 POP
1309
+ 9 EQINT
1310
+ IF:<{
1311
+ x{2068617368203d20} PUSHSLICE
1312
+ str::concat CALLDICT
1313
+ -ROT
1314
+ cl::get<objRef> INLINECALLDICT
1315
+ cl::hash INLINECALLDICT
1316
+ str::concatInt CALLDICT
1317
+ STRDUMP
1318
+ DROP
1319
+ }>ELSE<{
1320
+ x{2068617368203d20} PUSHSLICE
1321
+ str::concat CALLDICT
1322
+ -ROT
1323
+ cl::get<cellRef> INLINECALLDICT
1324
+ HASHCU
1325
+ str::concatInt CALLDICT
1326
+ STRDUMP
1327
+ DROP
1328
+ }>
1329
+ }>
1330
+ }>
1331
+ uint256ToSlice PROCINLINE:<{
1332
+ NEWC
1333
+ 256 STU
1334
+ ENDC CTOS
1335
+ }>
1336
+ sliceToUint256 PROCINLINE:<{
1337
+ 256 PLDU
1338
+ }>
1339
+ cl::dict256::New PROCINLINE:<{
1340
+ <b b> PUSHREF
1341
+ }>
1342
+ cl::dict256::get PROCINLINE:<{
1343
+ OVER
1344
+ cell_is_empty INLINECALLDICT
1345
+ IF:<{
1346
+ NIP
1347
+ NEWDICT
1348
+ 8 PUSHPOW2
1349
+ DICTUGET
1350
+ NULLSWAPIFNOT
1351
+ }>ELSE<{
1352
+ SWAP
1353
+ 8 PUSHPOW2
1354
+ DICTUGET
1355
+ NULLSWAPIFNOT
1356
+ }>
1357
+ }>
1358
+ cl::dict256::get<uint256> PROCINLINE:<{
1359
+ cl::dict256::get INLINECALLDICT
1360
+ IF:<{
1361
+ sliceToUint256 INLINECALLDICT
1362
+ TRUE
1363
+ }>ELSE<{
1364
+ DROP
1365
+ 0 PUSHINT
1366
+ FALSE
1367
+ }>
1368
+ }>
1369
+ cl::dict256::get<cellRef> PROCINLINE:<{
1370
+ OVER
1371
+ cell_is_empty INLINECALLDICT
1372
+ IF:<{
1373
+ 2DROP
1374
+ <b b> PUSHREF
1375
+ FALSE
1376
+ }>ELSE<{
1377
+ SWAP
1378
+ 8 PUSHPOW2
1379
+ DICTUGETREF
1380
+ NULLSWAPIFNOT
1381
+ }>
1382
+ }>
1383
+ cl::dict256::setRef PROCINLINE:<{
1384
+ s2 PUSH
1385
+ cell_is_empty INLINECALLDICT
1386
+ IF:<{
1387
+ 1 2 BLKDROP2
1388
+ NEWDICT
1389
+ s1 s2 XCHG
1390
+ 8 PUSHPOW2
1391
+ DICTUSETREF
1392
+ }>ELSE<{
1393
+ s0 s2 XCHG
1394
+ 8 PUSHPOW2
1395
+ DICTUSETREF
1396
+ }>
1397
+ }>
1398
+ cl::dict256::set PROCINLINE:<{
1399
+ DUP
1400
+ <{ TRY:<{ SBITS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS
1401
+ IF:<{
1402
+ }>ELSE<{
1403
+ uint256ToSlice INLINECALLDICT
1404
+ }>
1405
+ s2 PUSH
1406
+ cell_is_empty INLINECALLDICT
1407
+ IF:<{
1408
+ s2 POP
1409
+ NEWDICT
1410
+ 8 PUSHPOW2
1411
+ DICTUSET
1412
+ }>ELSE<{
1413
+ s0 s2 XCHG
1414
+ 8 PUSHPOW2
1415
+ DICTUSET
1416
+ }>
1417
+ }>
1418
+ cl::dict256::delete PROC:<{
1419
+ OVER
1420
+ cell_is_empty INLINECALLDICT
1421
+ IFJMP:<{
1422
+ DROP
1423
+ }>
1424
+ SWAP
1425
+ 8 PUSHPOW2
1426
+ DICTUDEL
1427
+ DROP
1428
+ DUP
1429
+ <{ TRY:<{ CTOS DROP -1 PUSHINT }>CATCH<{ 2DROP 0 PUSHINT }> }>CONT 1 1 CALLXARGS
1430
+ IF:<{
1431
+ }>ELSE<{
1432
+ DROP
1433
+ cl::dict256::New INLINECALLDICT
1434
+ }>
1435
+ }>
1436
+ cl::dict256::getMin<slice> PROC:<{
1437
+ DUP
1438
+ cell_is_empty INLINECALLDICT
1439
+ IFJMP:<{
1440
+ DROP
1441
+ -1 PUSHINT
1442
+ PUSHNULL
1443
+ }>
1444
+ 8 PUSHPOW2
1445
+ DICTUMIN
1446
+ NULLSWAPIFNOT2
1447
+ IFJMP:<{
1448
+ SWAP
1449
+ }>
1450
+ 2DROP
1451
+ -1 PUSHINT
1452
+ PUSHNULL
1453
+ }>
1454
+ cl::dict256::getMin<uint256> PROC:<{
1455
+ DUP
1456
+ cell_is_empty INLINECALLDICT
1457
+ IFJMP:<{
1458
+ DROP
1459
+ -1 PUSHINT
1460
+ PUSHNULL
1461
+ }>
1462
+ 8 PUSHPOW2
1463
+ DICTUMIN
1464
+ NULLSWAPIFNOT2
1465
+ IFJMP:<{
1466
+ SWAP
1467
+ 256 PLDU
1468
+ }>
1469
+ 2DROP
1470
+ -1 PUSHINT
1471
+ PUSHNULL
1472
+ }>
1473
+ cl::dict256::getMin<cellRef> PROC:<{
1474
+ DUP
1475
+ cell_is_empty INLINECALLDICT
1476
+ IFJMP:<{
1477
+ DROP
1478
+ -1 PUSHINT
1479
+ PUSHNULL
1480
+ }>
1481
+ 8 PUSHPOW2
1482
+ DICTUMINREF
1483
+ NULLSWAPIFNOT2
1484
+ IFJMP:<{
1485
+ SWAP
1486
+ }>
1487
+ 2DROP
1488
+ -1 PUSHINT
1489
+ PUSHNULL
1490
+ }>
1491
+ cl::dict256::getNext<slice> PROC:<{
1492
+ OVER
1493
+ cell_is_empty INLINECALLDICT
1494
+ IFJMP:<{
1495
+ 2DROP
1496
+ -1 PUSHINT
1497
+ PUSHNULL
1498
+ }>
1499
+ SWAP
1500
+ 8 PUSHPOW2
1501
+ DICTUGETNEXT
1502
+ NULLSWAPIFNOT2
1503
+ IFJMP:<{
1504
+ SWAP
1505
+ }>
1506
+ 2DROP
1507
+ -1 PUSHINT
1508
+ PUSHNULL
1509
+ }>
1510
+ cl::dict256::getNext<uint256> PROC:<{
1511
+ OVER
1512
+ cell_is_empty INLINECALLDICT
1513
+ IFJMP:<{
1514
+ 2DROP
1515
+ -1 PUSHINT
1516
+ PUSHNULL
1517
+ }>
1518
+ SWAP
1519
+ 8 PUSHPOW2
1520
+ DICTUGETNEXT
1521
+ NULLSWAPIFNOT2
1522
+ IFJMP:<{
1523
+ SWAP
1524
+ 256 PLDU
1525
+ }>
1526
+ 2DROP
1527
+ -1 PUSHINT
1528
+ PUSHNULL
1529
+ }>
1530
+ cl::dict256::getNext<cellRef> PROC:<{
1531
+ OVER
1532
+ cell_is_empty INLINECALLDICT
1533
+ IFJMP:<{
1534
+ 2DROP
1535
+ -1 PUSHINT
1536
+ PUSHNULL
1537
+ }>
1538
+ SWAP
1539
+ 8 PUSHPOW2
1540
+ DICTUGETNEXT
1541
+ NULLSWAPIFNOT2
1542
+ IFJMP:<{
1543
+ SWAP
1544
+ 0 PLDREFIDX
1545
+ }>
1546
+ 2DROP
1547
+ -1 PUSHINT
1548
+ PUSHNULL
1549
+ }>
1550
+ cl::dict256::size PROCINLINE:<{
1551
+ 0 PUSHINT
1552
+ OVER
1553
+ cl::dict256::getMin<slice> CALLDICT
1554
+ DROP
1555
+ WHILE:<{
1556
+ DUP
1557
+ -1 GTINT
1558
+ }>DO<{
1559
+ s2 s(-1) PUXC
1560
+ cl::dict256::getNext<slice> CALLDICT
1561
+ DROP
1562
+ SWAP
1563
+ INC
1564
+ SWAP
1565
+ }>
1566
+ DROP
1567
+ NIP
1568
+ }>
1569
+ cl::nestedDict256::set PROCINLINE:<{
1570
+ 2OVER
1571
+ cl::get<dict256> INLINECALLDICT
1572
+ -ROT
1573
+ cl::dict256::set INLINECALLDICT
1574
+ cl::set INLINECALLDICT
1575
+ }>
1576
+ cl::nestedDict256::setRef PROCINLINE:<{
1577
+ 2OVER
1578
+ cl::get<dict256> INLINECALLDICT
1579
+ -ROT
1580
+ cl::dict256::setRef INLINECALLDICT
1581
+ cl::set INLINECALLDICT
1582
+ }>
1583
+ cl::nestedDict256::delete PROCINLINE:<{
1584
+ s2 s1 PUSH2
1585
+ cl::get<dict256> INLINECALLDICT
1586
+ SWAP
1587
+ cl::dict256::delete CALLDICT
1588
+ cl::set INLINECALLDICT
1589
+ }>
1590
+ cl::nestedDict256::get<uint256> PROCINLINE:<{
1591
+ -ROT
1592
+ cl::get<dict256> INLINECALLDICT
1593
+ SWAP
1594
+ cl::dict256::get<uint256> INLINECALLDICT
1595
+ }>
1596
+ cl::nestedDict256::get<slice> PROCINLINE:<{
1597
+ -ROT
1598
+ cl::get<dict256> INLINECALLDICT
1599
+ SWAP
1600
+ cl::dict256::get INLINECALLDICT
1601
+ }>
1602
+ cl::nestedDict256::get<cellRef> PROCINLINE:<{
1603
+ -ROT
1604
+ cl::get<dict256> INLINECALLDICT
1605
+ SWAP
1606
+ cl::dict256::get INLINECALLDICT
1607
+ DUP
1608
+ IF:<{
1609
+ SWAP
1610
+ 0 PLDREFIDX
1611
+ SWAP
1612
+ }>ELSE<{
1613
+ NIP
1614
+ <b b> PUSHREF
1615
+ SWAP
1616
+ }>
1617
+ }>
1618
+ md::InitUlnConnection::New PROCINLINE:<{
1619
+ 497885221341816273727342 PUSHINT
1620
+ 9 PUSHINT
1621
+ s0 s3 XCHG2
1622
+ PAIR
1623
+ 9 PUSHINT
1624
+ ROT
1625
+ PAIR
1626
+ PAIR
1627
+ cl::declare INLINECALLDICT
1628
+ }>
1629
+ getMsgValue PROCINLINE:<{
1630
+ txnContext GETGLOB
1631
+ 6 INDEX
1632
+ }>
1633
+ getOpcode PROCINLINE:<{
1634
+ txnContext GETGLOB
1635
+ 3 INDEX
1636
+ }>
1637
+ txnIsBounced PROCINLINE:<{
1638
+ txnContext GETGLOB
1639
+ 0 INDEX
1640
+ }>
1641
+ getContractBalance PROCINLINE:<{
1642
+ txnContext GETGLOB
1643
+ 5 INDEX
1644
+ }>
1645
+ getInitialContractBalance PROCINLINE:<{
1646
+ getContractBalance INLINECALLDICT
1647
+ getMsgValue INLINECALLDICT
1648
+ SUB
1649
+ }>
1650
+ getCaller PROCINLINE:<{
1651
+ txnContext GETGLOB
1652
+ 1 INDEX
1653
+ }>
1654
+ getOrigin PROCINLINE:<{
1655
+ txnContext GETGLOB
1656
+ 9 INDEX
1657
+ }>
1658
+ getOriginStd PROCINLINE:<{
1659
+ getOrigin INLINECALLDICT
1660
+ hashpartToBasechainAddressStd INLINECALLDICT
1661
+ }>
1662
+ getDonationNanos PROCINLINE:<{
1663
+ txnContext GETGLOB
1664
+ 10 INDEX
1665
+ }>
1666
+ setDonationNanos PROCINLINE:<{
1667
+ txnContext GETGLOB
1668
+ SWAP
1669
+ 10 PUSHINT
1670
+ SETINDEXVAR
1671
+ txnContext SETGLOB
1672
+ }>
1673
+ getMsgData PROCINLINE:<{
1674
+ txnContext GETGLOB
1675
+ 11 INDEX
1676
+ }>
1677
+ setOrigin PROCINLINE:<{
1678
+ txnContext GETGLOB
1679
+ SWAP
1680
+ 9 PUSHINT
1681
+ SETINDEXVAR
1682
+ txnContext SETGLOB
1683
+ }>
1684
+ initTxnContext PROCINLINE:<{
1685
+ OVER
1686
+ CTOS
1687
+ 4 PUSHINT
1688
+ LDUX
1689
+ FALSE
1690
+ s0 s2 XCHG
1691
+ 1 PUSHINT
1692
+ AND
1693
+ IF:<{
1694
+ NIP
1695
+ TRUE
1696
+ s0 s2 XCHG
1697
+ 32 PUSHINT
1698
+ SDSKIPFIRST
1699
+ -ROT
1700
+ }>
1701
+ -1 PUSHINT
1702
+ DUP
1703
+ 0 PUSHINT
1704
+ PUSHNULL
1705
+ s0 s4 XCHG
1706
+ LDMSGADDR
1707
+ LDMSGADDR
1708
+ NIP
1709
+ LDGRAMS
1710
+ NIP
1711
+ 1 PUSHINT
1712
+ SDSKIPFIRST
1713
+ LDGRAMS
1714
+ NIP
1715
+ SWAP
1716
+ basechainAddressStdToHashpart INLINECALLDICT
1717
+ s0 s7 PUSH2
1718
+ SEMPTY
1719
+ IFNOT:<{
1720
+ 3 3 BLKDROP2
1721
+ s0 s5 XCHG
1722
+ 32 PUSHINT
1723
+ LDUX
1724
+ 64 PUSHINT
1725
+ LDUX
1726
+ LDGRAMS
1727
+ DUP
1728
+ SBITS
1729
+ 267 PUSHINT
1730
+ GEQ
1731
+ IF:<{
1732
+ s8 POP
1733
+ s7 PUSH
1734
+ 11 PUSHINT
1735
+ 8 PUSHPOW2
1736
+ SDSUBSTR
1737
+ 256 PLDU
1738
+ s0 s8 XCHG
1739
+ }>
1740
+ DUP
1741
+ SREMPTY
1742
+ IFNOT:<{
1743
+ s6 POP
1744
+ s5 PUSH
1745
+ PLDREF
1746
+ s0 s6 XCHG
1747
+ }>
1748
+ s0 s8 XCHG
1749
+ s3 s5 XCHG
1750
+ s4 s3 s0 XCHG3
1751
+ s1 s2 XCHG
1752
+ }>
1753
+ s0 s2 XCHG
1754
+ LDGRAMS
1755
+ DROP
1756
+ 3 PUSHINT
1757
+ 1 MULRSHIFT#
1758
+ s7 s11 XCHG
1759
+ s10 s9 XCHG2
1760
+ s5 s8 XCHG
1761
+ s4 s7 XCHG
1762
+ s4 s6 XCHG
1763
+ s3 s3 XCHG2
1764
+ s0 s5 XCHG
1765
+ s0 s4 XCHG
1766
+ 12 TUPLE
1767
+ txnContext SETGLOB
1768
+ }>
1769
+ emptyActions PROCINLINE:<{
1770
+ 0 PUSHINT
1771
+ SINGLE
1772
+ }>
1773
+ sendTerminalAction PROCINLINE:<{
1774
+ 24 PUSHINT
1775
+ NEWC
1776
+ 6 STU
1777
+ s0 s4 XCHG
1778
+ hashpartToBasechainAddressStd INLINECALLDICT
1779
+ s1 s4 XCHG
1780
+ STSLICER
1781
+ 0 PUSHINT
1782
+ STGRAMS
1783
+ OVER
1784
+ ISNULL
1785
+ IF:<{
1786
+ 1 PUSHINT
1787
+ s2 POP
1788
+ 107 STU
1789
+ }>ELSE<{
1790
+ 7 PUSHINT
1791
+ SWAP
1792
+ 108 STU
1793
+ STREF
1794
+ }>
1795
+ STREF
1796
+ ENDC
1797
+ 7 PUSHPOW2
1798
+ ROT
1799
+ OR
1800
+ SENDRAWMSG
1801
+ }>
1802
+ sendNonTerminalAction PROCINLINE:<{
1803
+ 1 PUSHINT
1804
+ s0 s5 XCHG
1805
+ NEWC
1806
+ 6 STU
1807
+ s0 s3 XCHG
1808
+ hashpartToBasechainAddressStd INLINECALLDICT
1809
+ s1 s3 XCHG
1810
+ STSLICER
1811
+ s0 s3 XCHG2
1812
+ STGRAMS
1813
+ s1 s3 XCHG
1814
+ 107 STU
1815
+ STREF
1816
+ ENDC
1817
+ SWAP
1818
+ SENDRAWMSG
1819
+ }>
1820
+ buildLayerzeroMessageBody PROCINLINE:<{
1821
+ SWAP
1822
+ txnContext GETGLOB 4 INDEX SWAP NEWC 32 STU 64 STU
1823
+ ROT
1824
+ STGRAMS
1825
+ getOriginStd INLINECALLDICT
1826
+ STSLICER
1827
+ STREF
1828
+ ENDC
1829
+ }>
1830
+ assertInitialized PROCINLINE:<{
1831
+ getContractStorage INLINECALLDICT
1832
+ 0 PUSHINT
1833
+ cl::get<objRef> INLINECALLDICT
1834
+ 2 PUSHINT
1835
+ cl::get<bool> INLINECALLDICT
1836
+ 1160 THROWIFNOT
1837
+ }>
1838
+ checkPermissions PROCINLINE:<{
1839
+ OVER
1840
+ 3812333683 PUSHINT
1841
+ EQUAL
1842
+ IF:<{
1843
+ 2DROP
1844
+ }>ELSE<{
1845
+ OVER
1846
+ 4133284232 PUSHINT
1847
+ EQUAL
1848
+ IF:<{
1849
+ 2DROP
1850
+ assertOwner INLINECALLDICT
1851
+ }>ELSE<{
1852
+ _checkPermissions INLINECALLDICT
1853
+ }>
1854
+ }>
1855
+ }>
1856
+ initialize PROCINLINE:<{
1857
+ assertAuthenticated INLINECALLDICT
1858
+ getContractStorage INLINECALLDICT
1859
+ 0 PUSHINT
1860
+ cl::get<objRef> INLINECALLDICT
1861
+ 2 PUSHINT
1862
+ cl::get<bool> INLINECALLDICT
1863
+ IF:<{
1864
+ DROP
1865
+ emptyActions INLINECALLDICT
1866
+ }>ELSE<{
1867
+ _initialize INLINECALLDICT
1868
+ 0 PUSHINT
1869
+ s2 s0 PUSH2
1870
+ cl::get<objRef> INLINECALLDICT
1871
+ 2 PUSHINT
1872
+ TRUE
1873
+ cl::set INLINECALLDICT
1874
+ s2 s3 XCHG
1875
+ cl::set INLINECALLDICT
1876
+ setContractStorage INLINECALLDICT
1877
+ }>
1878
+ }>
1879
+ authenticateIfNecessary PROCINLINE:<{
1880
+ getContractStorage INLINECALLDICT
1881
+ 0 PUSHINT
1882
+ cl::get<objRef> INLINECALLDICT
1883
+ 1 PUSHINT
1884
+ cl::get<bool> INLINECALLDICT
1885
+ 0 EQINT
1886
+ IF:<{
1887
+ authenticate CALLDICT
1888
+ }>
1889
+ }>
1890
+ assertOwner PROCINLINE:<{
1891
+ getContractStorage INLINECALLDICT
1892
+ 0 PUSHINT
1893
+ cl::get<objRef> INLINECALLDICT
1894
+ getCaller INLINECALLDICT
1895
+ SWAP
1896
+ 0 PUSHINT
1897
+ cl::get<address> INLINECALLDICT
1898
+ EQUAL
1899
+ 163 THROWIFNOT
1900
+ }>
1901
+ _checkPermissions PROCINLINE:<{
1902
+ CONT:<{
1903
+ c2 SAVE
1904
+ SAMEALTSAVE
1905
+ OVER
1906
+ 1073919888 PUSHINT
1907
+ EQUAL
1908
+ s2 PUSH
1909
+ 1578602291 PUSHINT
1910
+ EQUAL
1911
+ OR
1912
+ IF:<{
1913
+ NIP
1914
+ assertChannel INLINECALLDICT
1915
+ }>ELSE<{
1916
+ OVER
1917
+ 1321793546 PUSHINT
1918
+ EQUAL
1919
+ IF:<{
1920
+ 2DROP
1921
+ assertUln INLINECALLDICT
1922
+ }>ELSE<{
1923
+ OVER
1924
+ 4191386496 PUSHINT
1925
+ EQUAL
1926
+ s2 PUSH
1927
+ 1159903224 PUSHINT
1928
+ EQUAL
1929
+ OR
1930
+ IFJMP:<{
1931
+ 2DROP
1932
+ RETALT
1933
+ }>
1934
+ OVER
1935
+ 2258172214 PUSHINT
1936
+ EQUAL
1937
+ IF:<{
1938
+ NIP
1939
+ assertChannel INLINECALLDICT
1940
+ }>ELSE<{
1941
+ DROP
1942
+ DUP
1943
+ 3959015374 PUSHINT
1944
+ EQUAL
1945
+ SWAP
1946
+ 1704710509 PUSHINT
1947
+ EQUAL
1948
+ OR
1949
+ IF:<{
1950
+ assertOwner INLINECALLDICT
1951
+ }>ELSE<{
1952
+ 1199 THROW
1953
+ }>
1954
+ }>
1955
+ }>
1956
+ }>
1957
+ }>
1958
+ EXECUTE
1959
+ }>
1960
+ preamble PROCINLINE:<{
1961
+ getContractStorage INLINECALLDICT
1962
+ emptyActions INLINECALLDICT
1963
+ }>
1964
+ action::call::New PROCINLINE:<{
1965
+ 459904164859953153141868 PUSHINT
1966
+ 3 -ROLL
1967
+ 4 TUPLE
1968
+ }>
1969
+ action::call::equals PROC:<{
1970
+ OVER
1971
+ 3 INDEX
1972
+ OVER
1973
+ 3 INDEX
1974
+ compareObjectFields INLINECALLDICT
1975
+ s2 PUSH
1976
+ 0 INDEX
1977
+ s2 PUSH
1978
+ 0 INDEX
1979
+ EQUAL
1980
+ s3 PUSH
1981
+ 1 INDEX
1982
+ s3 PUSH
1983
+ 1 INDEX
1984
+ EQUAL
1985
+ AND
1986
+ s0 s3 XCHG
1987
+ 2 INDEX
1988
+ s0 s2 XCHG
1989
+ 2 INDEX
1990
+ s1 s2 XCHG
1991
+ EQUAL
1992
+ s1 s2 XCHG
1993
+ AND
1994
+ SWAP
1995
+ -1 EQINT
1996
+ AND
1997
+ }>
1998
+ _newAction<call> PROCINLINE:<{
1999
+ action::call::New INLINECALLDICT
2000
+ }>
2001
+ ~pushAction<call> PROCINLINE:<{
2002
+ _newAction<call> INLINECALLDICT
2003
+ TPUSH
2004
+ }>
2005
+ executeCall PROCINLINE:<{
2006
+ DUP
2007
+ 1 INDEX
2008
+ 0 PUSHINT
2009
+ s2 PUSH
2010
+ 2 INDEX
2011
+ s0 s3 XCHG
2012
+ 3 INDEX
2013
+ s1 s3 s0 XCHG3
2014
+ buildLayerzeroMessageBody INLINECALLDICT
2015
+ PUSHNULL
2016
+ 0 PUSHINT
2017
+ sendTerminalAction INLINECALLDICT
2018
+ FALSE
2019
+ }>
2020
+ action::deploy::New PROCINLINE:<{
2021
+ 110386840629113 PUSHINT
2022
+ 6 -ROLL
2023
+ 7 TUPLE
2024
+ }>
2025
+ action::deploy::equals PROC:<{
2026
+ OVER
2027
+ 2 INDEX
2028
+ OVER
2029
+ 2 INDEX
2030
+ compareObjectFields INLINECALLDICT
2031
+ s2 PUSH
2032
+ 5 INDEX
2033
+ s2 PUSH
2034
+ 5 INDEX
2035
+ compareObjectFields INLINECALLDICT
2036
+ s3 PUSH
2037
+ 0 INDEX
2038
+ s3 PUSH
2039
+ 0 INDEX
2040
+ EQUAL
2041
+ s4 PUSH
2042
+ 1 INDEX
2043
+ HASHCU
2044
+ s4 PUSH
2045
+ 1 INDEX
2046
+ HASHCU
2047
+ EQUAL
2048
+ AND
2049
+ s0 s2 XCHG
2050
+ -1 EQINT
2051
+ s1 s2 XCHG
2052
+ AND
2053
+ s3 PUSH
2054
+ 3 INDEX
2055
+ s3 PUSH
2056
+ 3 INDEX
2057
+ EQUAL
2058
+ AND
2059
+ s3 PUSH
2060
+ 4 INDEX
2061
+ s3 PUSH
2062
+ 4 INDEX
2063
+ EQUAL
2064
+ AND
2065
+ SWAP
2066
+ -1 EQINT
2067
+ AND
2068
+ s0 s2 XCHG
2069
+ 6 INDEX
2070
+ SWAP
2071
+ 6 INDEX
2072
+ EQUAL
2073
+ AND
2074
+ }>
2075
+ _newAction<deployAndCall> PROCINLINE:<{
2076
+ action::deploy::New INLINECALLDICT
2077
+ }>
2078
+ ~pushAction<deployAndCall> PROCINLINE:<{
2079
+ _newAction<deployAndCall> INLINECALLDICT
2080
+ TPUSH
2081
+ }>
2082
+ executeDeploy PROCINLINE:<{
2083
+ DUP
2084
+ 2 INDEX
2085
+ OVER
2086
+ 1 INDEX
2087
+ 2DUP
2088
+ computeContractAddress INLINECALLDICT
2089
+ s3 PUSH
2090
+ 3 INDEX
2091
+ s4 PUSH
2092
+ 4 INDEX
2093
+ s0 s5 XCHG
2094
+ 5 INDEX
2095
+ s1 s5 s0 XCHG3
2096
+ buildLayerzeroMessageBody INLINECALLDICT
2097
+ 6 PUSHINT
2098
+ NEWC
2099
+ 5 STU
2100
+ s1 s2 XCHG
2101
+ STREF
2102
+ s1 s2 XCHG
2103
+ STREF
2104
+ ENDC
2105
+ 0 PUSHINT
2106
+ sendTerminalAction INLINECALLDICT
2107
+ FALSE
2108
+ }>
2109
+ _getEventSink PROCINLINE:<{
2110
+ getContractAddress INLINECALLDICT
2111
+ }>
2112
+ action::event::New PROCINLINE:<{
2113
+ 435778055796 PUSHINT
2114
+ 8 PUSHINT
2115
+ s0 s4 XCHG2
2116
+ PAIR
2117
+ 9 PUSHINT
2118
+ s0 s3 XCHG2
2119
+ PAIR
2120
+ 9 PUSHINT
2121
+ ROT
2122
+ PAIR
2123
+ TRIPLE
2124
+ cl::declare INLINECALLDICT
2125
+ 435778055796 PUSHINT
2126
+ SWAP
2127
+ PAIR
2128
+ }>
2129
+ action::event::equals PROC:<{
2130
+ OVER
2131
+ 1 INDEX
2132
+ OVER
2133
+ 1 INDEX
2134
+ compareObjectFields INLINECALLDICT
2135
+ s0 s2 XCHG
2136
+ 0 INDEX
2137
+ SWAP
2138
+ 0 INDEX
2139
+ EQUAL
2140
+ SWAP
2141
+ -1 EQINT
2142
+ AND
2143
+ }>
2144
+ _newAction<event> PROCINLINE:<{
2145
+ getInitialStorage INLINECALLDICT
2146
+ action::event::New INLINECALLDICT
2147
+ }>
2148
+ ~pushAction<event> PROCINLINE:<{
2149
+ _newAction<event> INLINECALLDICT
2150
+ TPUSH
2151
+ }>
2152
+ executeEvent PROCINLINE:<{
2153
+ 16 PUSHINT
2154
+ 0 PUSHINT
2155
+ _getEventSink INLINECALLDICT
2156
+ OVER
2157
+ 3812333683 PUSHINT
2158
+ s0 s5 XCHG
2159
+ 1 INDEX
2160
+ s1 s5 s0 XCHG3
2161
+ buildLayerzeroMessageBody INLINECALLDICT
2162
+ s1 s3 s0 XCHG3
2163
+ 1 PUSHINT
2164
+ sendNonTerminalAction INLINECALLDICT
2165
+ TRUE
2166
+ }>
2167
+ action::payment::New PROCINLINE:<{
2168
+ 31632371545894516 PUSHINT
2169
+ 3 -ROLL
2170
+ 4 TUPLE
2171
+ }>
2172
+ action::payment::equals PROC:<{
2173
+ OVER
2174
+ 0 INDEX
2175
+ OVER
2176
+ 0 INDEX
2177
+ EQUAL
2178
+ s2 PUSH
2179
+ 1 INDEX
2180
+ s2 PUSH
2181
+ 1 INDEX
2182
+ EQUAL
2183
+ AND
2184
+ s2 PUSH
2185
+ 2 INDEX
2186
+ s2 PUSH
2187
+ 2 INDEX
2188
+ EQUAL
2189
+ AND
2190
+ s0 s2 XCHG
2191
+ 3 INDEX
2192
+ SWAP
2193
+ 3 INDEX
2194
+ EQUAL
2195
+ AND
2196
+ }>
2197
+ _newAction<payment> PROCINLINE:<{
2198
+ action::payment::New INLINECALLDICT
2199
+ }>
2200
+ ~pushAction<payment> PROCINLINE:<{
2201
+ DUP
2202
+ 0 GTINT
2203
+ IF:<{
2204
+ s3 PUSH
2205
+ 0 INDEX
2206
+ OVER
2207
+ ADD
2208
+ s1 s4 XCHG
2209
+ 0 PUSHINT
2210
+ SETINDEXVAR
2211
+ s0 s3 XCHG
2212
+ }>
2213
+ _newAction<payment> INLINECALLDICT
2214
+ TPUSH
2215
+ }>
2216
+ executePayment PROCINLINE:<{
2217
+ 16 PUSHINT
2218
+ 1 PUSHINT
2219
+ 0 PUSHINT
2220
+ DUP
2221
+ GETFORWARDFEE
2222
+ s2 PUSH
2223
+ 2 INDEX
2224
+ ADD
2225
+ s0 s2 XCHG
2226
+ 1 INDEX
2227
+ <b b> PUSHREF
2228
+ s2 s3 XCHG
2229
+ 0 PUSHINT
2230
+ sendNonTerminalAction INLINECALLDICT
2231
+ TRUE
2232
+ }>
2233
+ BaseStorage::New PROCINLINE:<{
2234
+ 1814802986876646945381 PUSHINT
2235
+ 8 PUSHINT
2236
+ ROT
2237
+ PAIR
2238
+ 0 PUSHINT
2239
+ FALSE
2240
+ PAIR
2241
+ 0 PUSHINT
2242
+ FALSE
2243
+ PAIR
2244
+ 9 PUSHINT
2245
+ cl::nullObject INLINECALLDICT
2246
+ PAIR
2247
+ 4 TUPLE
2248
+ cl::declare INLINECALLDICT
2249
+ }>
2250
+ getOwner PROCINLINE:<{
2251
+ getContractStorage INLINECALLDICT
2252
+ 0 PUSHINT
2253
+ cl::get<objRef> INLINECALLDICT
2254
+ 0 PUSHINT
2255
+ cl::get<address> INLINECALLDICT
2256
+ }>
2257
+ getInitialStorage PROCINLINE:<{
2258
+ getContractStorage INLINECALLDICT
2259
+ 0 PUSHINT
2260
+ cl::get<objRef> INLINECALLDICT
2261
+ 3 PUSHINT
2262
+ cl::get<objRef> INLINECALLDICT
2263
+ }>
2264
+ assertAuthenticated PROCINLINE:<{
2265
+ getContractStorage INLINECALLDICT
2266
+ 0 PUSHINT
2267
+ cl::get<objRef> INLINECALLDICT
2268
+ 1 PUSHINT
2269
+ cl::get<bool> INLINECALLDICT
2270
+ 2032 THROWIFNOT
2271
+ }>
2272
+ authenticate PROC:<{
2273
+ assertOwner INLINECALLDICT
2274
+ getContractStorage INLINECALLDICT
2275
+ 0 PUSHINT
2276
+ 2DUP
2277
+ cl::get<objRef> INLINECALLDICT
2278
+ 3 PUSHINT
2279
+ getContractStorage INLINECALLDICT
2280
+ cl::set INLINECALLDICT
2281
+ 1 PUSHINT
2282
+ TRUE
2283
+ cl::set INLINECALLDICT
2284
+ cl::set INLINECALLDICT
2285
+ setContractStorage INLINECALLDICT
2286
+ }>
2287
+ _initialize PROCINLINE:<{
2288
+ preamble INLINECALLDICT
2289
+ s2 PUSH
2290
+ 0 PUSHINT
2291
+ cl::get<objRef> INLINECALLDICT
2292
+ s0 s3 XCHG
2293
+ 1 PUSHINT
2294
+ cl::get<objRef> INLINECALLDICT
2295
+ s1 s2 XCHG
2296
+ 5 PUSHINT
2297
+ s0 s4 XCHG2
2298
+ cl::set INLINECALLDICT
2299
+ 6 PUSHINT
2300
+ ROT
2301
+ s0 s3 XCHG
2302
+ cl::set INLINECALLDICT
2303
+ SWAP
2304
+ }>
2305
+ POOO::set PROCINLINE:<{
2306
+ DUP
2307
+ 0 LESSINT
2308
+ 1587 THROWIF
2309
+ OVER
2310
+ 1 PUSHINT
2311
+ cl::get<cellRef> INLINECALLDICT
2312
+ CTOS
2313
+ s2 PUSH
2314
+ 0 PUSHINT
2315
+ cl::get<uint64> INLINECALLDICT
2316
+ s2 s0 PUSH2
2317
+ LESS
2318
+ IF:<{
2319
+ 3 BLKDROP
2320
+ }>ELSE<{
2321
+ s2 s2 XCPU
2322
+ SUB
2323
+ 1 PUSHINT
2324
+ NEWC
2325
+ 2OVER
2326
+ 0 PUSHINT
2327
+ SCUTFIRST
2328
+ STSLICER
2329
+ 1 STU
2330
+ 10 PUSHPOW2DEC
2331
+ ROT
2332
+ SUB
2333
+ DEC
2334
+ s1 s2 XCHG
2335
+ 0 PUSHINT
2336
+ SCUTLAST
2337
+ STSLICER
2338
+ ENDC CTOS
2339
+ LDONES
2340
+ 1 PUSHINT
2341
+ NEWC
2342
+ ROT
2343
+ STSLICER
2344
+ s2 PUSH
2345
+ STZEROES
2346
+ ENDC
2347
+ s2 s4 XCHG
2348
+ cl::set INLINECALLDICT
2349
+ SWAP
2350
+ 0 PUSHINT
2351
+ s0 s3 XCHG
2352
+ ADD
2353
+ s1 s2 XCHG
2354
+ cl::set INLINECALLDICT
2355
+ }>
2356
+ }>
2357
+ POOO::New PROCINLINE:<{
2358
+ 1347374927 PUSHINT
2359
+ 6 PUSHINT
2360
+ 1 PUSHINT
2361
+ PAIR
2362
+ 9 PUSHINT
2363
+ NEWC
2364
+ 10 PUSHPOW2DEC
2365
+ STZEROES
2366
+ ENDC
2367
+ PAIR
2368
+ PAIR
2369
+ cl::declare INLINECALLDICT
2370
+ }>
2371
+ POOO::NewWithBitsSets PROC:<{
2372
+ 1347374927 PUSHINT
2373
+ 6 PUSHINT
2374
+ 1 PUSHINT
2375
+ PAIR
2376
+ 9 PUSHINT
2377
+ NEWC
2378
+ 1 PUSHINT
2379
+ STZEROES
2380
+ s4 s5 PUXC
2381
+ SUB
2382
+ s1 s5 XCHG
2383
+ STONES
2384
+ 10 PUSHPOW2DEC
2385
+ s0 s4 XCHG2
2386
+ SUB
2387
+ s1 s3 XCHG
2388
+ STZEROES
2389
+ ENDC
2390
+ s1 s3 XCHG
2391
+ PAIR
2392
+ PAIR
2393
+ cl::declare INLINECALLDICT
2394
+ }>
2395
+ POOO::isBitSet PROCINLINE:<{
2396
+ OVER
2397
+ 0 PUSHINT
2398
+ cl::get<uint64> INLINECALLDICT
2399
+ SUB
2400
+ SWAP
2401
+ 1 PUSHINT
2402
+ cl::get<cellRef> INLINECALLDICT
2403
+ CTOS
2404
+ SWAP
2405
+ 1 PUSHINT
2406
+ SDSUBSTR
2407
+ 1 PLDU
2408
+ 1 EQINT
2409
+ }>
2410
+ POOO::maxSettableBit PROCINLINE:<{
2411
+ 0 PUSHINT
2412
+ cl::get<uint64> INLINECALLDICT
2413
+ 1022 PUSHINT
2414
+ ADD
2415
+ }>
2416
+ lz::Attestation::New PROCINLINE:<{
2417
+ 71968424817524 PUSHINT
2418
+ 8 PUSHINT
2419
+ s0 s3 XCHG2
2420
+ PAIR
2421
+ 6 PUSHINT
2422
+ ROT
2423
+ PAIR
2424
+ PAIR
2425
+ cl::declare INLINECALLDICT
2426
+ }>
2427
+ lz::Attestation::isValid PROCINLINE:<{
2428
+ s2 PUSH
2429
+ 0 PUSHINT
2430
+ cl::get<uint256> INLINECALLDICT
2431
+ ROT
2432
+ EQUAL
2433
+ s0 s2 XCHG
2434
+ 1 PUSHINT
2435
+ cl::get<uint64> INLINECALLDICT
2436
+ SWAP
2437
+ LEQ
2438
+ AND
2439
+ }>
2440
+ UlnSendConfig::New PROC:<{
2441
+ 24044593853984358 PUSHINT
2442
+ 5 PUSHINT
2443
+ s0 s9 XCHG2
2444
+ PAIR
2445
+ 5 PUSHINT
2446
+ s0 s8 XCHG2
2447
+ PAIR
2448
+ 0 PUSHINT
2449
+ s0 s7 XCHG2
2450
+ PAIR
2451
+ 8 PUSHINT
2452
+ s0 s6 XCHG2
2453
+ PAIR
2454
+ 0 PUSHINT
2455
+ s0 s5 XCHG2
2456
+ PAIR
2457
+ 9 PUSHINT
2458
+ s0 s4 XCHG2
2459
+ PAIR
2460
+ 0 PUSHINT
2461
+ s0 s3 XCHG2
2462
+ PAIR
2463
+ 9 PUSHINT
2464
+ ROT
2465
+ PAIR
2466
+ 8 TUPLE
2467
+ cl::declare INLINECALLDICT
2468
+ }>
2469
+ UlnSendConfig::NewWithDefaults PROC:<{
2470
+ 32 PUSHPOW2DEC
2471
+ DUP
2472
+ TRUE
2473
+ 0 PUSHINT
2474
+ TRUE
2475
+ <b b> PUSHREF
2476
+ TRUE
2477
+ <b b> PUSHREF
2478
+ UlnSendConfig::New CALLDICT
2479
+ }>
2480
+ _serializeDVNList PROC:<{
2481
+ NEWC
2482
+ SINGLE
2483
+ 0 PUSHINT
2484
+ WHILE:<{
2485
+ s2 PUSH
2486
+ TLEN
2487
+ s1 s(-1) PUXC
2488
+ LESS
2489
+ }>DO<{
2490
+ OVER
2491
+ TLEN
2492
+ DEC
2493
+ s2 s(-1) PUXC
2494
+ INDEXVAR
2495
+ BBITS
2496
+ 8 PUSHPOW2
2497
+ ADD
2498
+ 10 PUSHPOW2DEC
2499
+ GREATER
2500
+ IF:<{
2501
+ SWAP
2502
+ NEWC
2503
+ TPUSH
2504
+ SWAP
2505
+ }>
2506
+ OVER
2507
+ TLEN
2508
+ DEC
2509
+ s2 s(-1) PUXC
2510
+ INDEXVAR
2511
+ s3 s1 PUSH2
2512
+ INDEXVAR
2513
+ SWAP
2514
+ 256 STU
2515
+ s2 PUSH
2516
+ TLEN
2517
+ DEC
2518
+ s2 s3 XCHG
2519
+ SETINDEXVAR
2520
+ SWAP
2521
+ INC
2522
+ }>
2523
+ DROP
2524
+ NIP
2525
+ TPOP
2526
+ WHILE:<{
2527
+ OVER
2528
+ TLEN
2529
+ 0 GTINT
2530
+ }>DO<{
2531
+ SWAP
2532
+ TPOP
2533
+ s0 s2 XCHG
2534
+ ENDC
2535
+ ROT
2536
+ STREF
2537
+ }>
2538
+ NIP
2539
+ ENDC
2540
+ }>
2541
+ ~dvnListNext PROC:<{
2542
+ c2 SAVE
2543
+ SAMEALTSAVE
2544
+ DUP
2545
+ SBITS
2546
+ 0 EQINT
2547
+ IF:<{
2548
+ DUP
2549
+ SREMPTY
2550
+ IFJMP:<{
2551
+ 0 PUSHINT
2552
+ RETALT
2553
+ }>
2554
+ 0 PLDREFIDX
2555
+ CTOS
2556
+ }>
2557
+ 256 LDU SWAP
2558
+ }>
2559
+ lz::UlnSendConfig::GetUlnSendConfig PROC:<{
2560
+ OVER
2561
+ 0 PUSHINT
2562
+ cl::get<uint32> INLINECALLDICT
2563
+ DUP
2564
+ 0 EQINT
2565
+ IF:<{
2566
+ DROP
2567
+ DUP
2568
+ 0 PUSHINT
2569
+ cl::get<uint32> INLINECALLDICT
2570
+ }>
2571
+ s2 PUSH
2572
+ 1 PUSHINT
2573
+ cl::get<uint32> INLINECALLDICT
2574
+ DUP
2575
+ 0 EQINT
2576
+ IF:<{
2577
+ DROP
2578
+ OVER
2579
+ 1 PUSHINT
2580
+ cl::get<uint32> INLINECALLDICT
2581
+ }>
2582
+ s3 PUSH
2583
+ 3 PUSHINT
2584
+ cl::get<address> INLINECALLDICT
2585
+ s4 PUSH
2586
+ 2 PUSHINT
2587
+ cl::get<bool> INLINECALLDICT
2588
+ IF:<{
2589
+ DROP
2590
+ s2 PUSH
2591
+ 3 PUSHINT
2592
+ cl::get<address> INLINECALLDICT
2593
+ }>
2594
+ s4 PUSH
2595
+ 5 PUSHINT
2596
+ cl::get<cellRef> INLINECALLDICT
2597
+ s5 PUSH
2598
+ 4 PUSHINT
2599
+ cl::get<bool> INLINECALLDICT
2600
+ IF:<{
2601
+ DROP
2602
+ s3 PUSH
2603
+ 5 PUSHINT
2604
+ cl::get<cellRef> INLINECALLDICT
2605
+ }>
2606
+ s5 PUSH
2607
+ 7 PUSHINT
2608
+ cl::get<cellRef> INLINECALLDICT
2609
+ s0 s6 XCHG
2610
+ 6 PUSHINT
2611
+ cl::get<bool> INLINECALLDICT
2612
+ IF:<{
2613
+ s5 POP
2614
+ s0 s3 XCHG
2615
+ 7 PUSHINT
2616
+ cl::get<cellRef> INLINECALLDICT
2617
+ s0 s4 XCHG
2618
+ s0 s3 XCHG
2619
+ }>ELSE<{
2620
+ s4 POP
2621
+ }>
2622
+ s0 s3 s4 XCHG3
2623
+ }>
2624
+ _serializedDVNListIsValid PROCINLINE:<{
2625
+ CONT:<{
2626
+ c2 SAVE
2627
+ SAMEALTSAVE
2628
+ CTOS
2629
+ DUP
2630
+ SREFS
2631
+ 1 GTINT
2632
+ IF:<{
2633
+ DROP
2634
+ FALSE
2635
+ }>ELSE<{
2636
+ 0 PUSHINT
2637
+ WHILE:<{
2638
+ OVER
2639
+ SEMPTY
2640
+ 0 EQINT
2641
+ }>DO<{
2642
+ SWAP
2643
+ ~dvnListNext CALLDICT
2644
+ s0 s2 XCHG
2645
+ INC
2646
+ OVER
2647
+ SREFS
2648
+ 1 GTINT
2649
+ s0 s3 XCHG
2650
+ 0 EQINT
2651
+ s1 s3 XCHG
2652
+ OR
2653
+ s2 PUSH
2654
+ 8 PUSHPOW2DEC
2655
+ GREATER
2656
+ OR
2657
+ IFJMP:<{
2658
+ 2DROP
2659
+ FALSE
2660
+ RETALT
2661
+ }>
2662
+ SWAP
2663
+ }>
2664
+ 2DROP
2665
+ TRUE
2666
+ }>
2667
+ }>
2668
+ EXECUTE
2669
+ }>
2670
+ lz::UlnSendConfig::sanitize PROCREF:<{
2671
+ DUP
2672
+ 0 PUSHINT
2673
+ cl::get<uint32> INLINECALLDICT
2674
+ OVER
2675
+ 1 PUSHINT
2676
+ cl::get<uint32> INLINECALLDICT
2677
+ s2 PUSH
2678
+ 2 PUSHINT
2679
+ cl::get<bool> INLINECALLDICT
2680
+ s3 PUSH
2681
+ 3 PUSHINT
2682
+ cl::get<address> INLINECALLDICT
2683
+ s4 PUSH
2684
+ 4 PUSHINT
2685
+ cl::get<bool> INLINECALLDICT
2686
+ s5 PUSH
2687
+ 5 PUSHINT
2688
+ cl::get<cellRef> INLINECALLDICT
2689
+ s6 PUSH
2690
+ 6 PUSHINT
2691
+ cl::get<bool> INLINECALLDICT
2692
+ s0 s7 XCHG
2693
+ 7 PUSHINT
2694
+ cl::get<cellRef> INLINECALLDICT
2695
+ OVER
2696
+ _serializedDVNListIsValid INLINECALLDICT
2697
+ OVER
2698
+ _serializedDVNListIsValid INLINECALLDICT
2699
+ AND
2700
+ 1445 THROWIFNOT
2701
+ s6 s7 XCHG
2702
+ s5 s6 XCHG
2703
+ s4 s5 XCHG
2704
+ s3 s4 XCHG
2705
+ s1 s3 s0 XCHG3
2706
+ UlnSendConfig::New CALLDICT
2707
+ }>
2708
+ UlnReceiveConfig::New PROC:<{
2709
+ 24044593853984358 PUSHINT
2710
+ 0 PUSHINT
2711
+ s0 s10 XCHG2
2712
+ PAIR
2713
+ 5 PUSHINT
2714
+ s0 s9 XCHG2
2715
+ PAIR
2716
+ 0 PUSHINT
2717
+ s0 s8 XCHG2
2718
+ PAIR
2719
+ 6 PUSHINT
2720
+ s0 s7 XCHG2
2721
+ PAIR
2722
+ 0 PUSHINT
2723
+ s0 s6 XCHG2
2724
+ PAIR
2725
+ 9 PUSHINT
2726
+ s0 s5 XCHG2
2727
+ PAIR
2728
+ 0 PUSHINT
2729
+ s0 s4 XCHG2
2730
+ PAIR
2731
+ 9 PUSHINT
2732
+ s0 s3 XCHG2
2733
+ PAIR
2734
+ 3 PUSHINT
2735
+ ROT
2736
+ PAIR
2737
+ 9 TUPLE
2738
+ cl::declare INLINECALLDICT
2739
+ }>
2740
+ UlnReceiveConfig::NewWithDefaults PROCINLINE:<{
2741
+ TRUE
2742
+ 0 PUSHINT
2743
+ TRUE
2744
+ OVER
2745
+ TRUE
2746
+ cl::dict256::New INLINECALLDICT
2747
+ TRUE
2748
+ cl::dict256::New INLINECALLDICT
2749
+ s4 PUSH
2750
+ UlnReceiveConfig::New CALLDICT
2751
+ }>
2752
+ UlnReceiveConfig::utils::getDVNs PROCINLINE:<{
2753
+ OVER
2754
+ 5 PUSHINT
2755
+ cl::get<dict256> INLINECALLDICT
2756
+ s2 PUSH
2757
+ 7 PUSHINT
2758
+ cl::get<dict256> INLINECALLDICT
2759
+ s3 PUSH
2760
+ 8 PUSHINT
2761
+ cl::get<uint8> INLINECALLDICT
2762
+ s4 PUSH
2763
+ 4 PUSHINT
2764
+ cl::get<bool> INLINECALLDICT
2765
+ IF:<{
2766
+ s2 POP
2767
+ s2 PUSH
2768
+ 5 PUSHINT
2769
+ cl::get<dict256> INLINECALLDICT
2770
+ s0 s2 XCHG
2771
+ }>
2772
+ s0 s4 XCHG
2773
+ 6 PUSHINT
2774
+ cl::get<bool> INLINECALLDICT
2775
+ IF:<{
2776
+ DROP
2777
+ s2 POP
2778
+ DUP
2779
+ 7 PUSHINT
2780
+ cl::get<dict256> INLINECALLDICT
2781
+ SWAP
2782
+ 8 PUSHINT
2783
+ cl::get<uint8> INLINECALLDICT
2784
+ s0 s2 XCHG
2785
+ }>ELSE<{
2786
+ s2 POP
2787
+ }>
2788
+ s0 s2 XCHG
2789
+ }>
2790
+ UlnReceiveConfig::utils::getUlnReceiveConfig PROCINLINE:<{
2791
+ 2DUP
2792
+ UlnReceiveConfig::utils::getDVNs INLINECALLDICT
2793
+ s4 PUSH
2794
+ 3 PUSHINT
2795
+ cl::get<uint64> INLINECALLDICT
2796
+ s0 s5 XCHG
2797
+ 2 PUSHINT
2798
+ cl::get<bool> INLINECALLDICT
2799
+ IF:<{
2800
+ s4 POP
2801
+ s0 s2 XCHG
2802
+ 3 PUSHINT
2803
+ cl::get<uint64> INLINECALLDICT
2804
+ s3 s1 s3 XCHG3
2805
+ }>ELSE<{
2806
+ s3 POP
2807
+ }>
2808
+ s0 s0 s3 XCHG3
2809
+ }>
2810
+ UlnReceiveConfig::utils::readConfig PROCINLINE:<{
2811
+ DUP
2812
+ 0 PUSHINT
2813
+ cl::get<bool> INLINECALLDICT
2814
+ OVER
2815
+ 1 PUSHINT
2816
+ cl::get<uint32> INLINECALLDICT
2817
+ s2 PUSH
2818
+ 2 PUSHINT
2819
+ cl::get<bool> INLINECALLDICT
2820
+ s3 PUSH
2821
+ 3 PUSHINT
2822
+ cl::get<uint64> INLINECALLDICT
2823
+ s4 PUSH
2824
+ 4 PUSHINT
2825
+ cl::get<bool> INLINECALLDICT
2826
+ s5 PUSH
2827
+ 5 PUSHINT
2828
+ cl::get<dict256> INLINECALLDICT
2829
+ s6 PUSH
2830
+ 6 PUSHINT
2831
+ cl::get<bool> INLINECALLDICT
2832
+ s7 PUSH
2833
+ 7 PUSHINT
2834
+ cl::get<dict256> INLINECALLDICT
2835
+ s0 s8 XCHG
2836
+ 8 PUSHINT
2837
+ cl::get<uint8> INLINECALLDICT
2838
+ s7 s8 XCHG
2839
+ s6 s7 XCHG
2840
+ s5 s6 XCHG
2841
+ s4 s5 XCHG
2842
+ s3 s4 XCHG
2843
+ s1 s3 s0 XCHG3
2844
+ }>
2845
+ UlnReceiveConfig::sanitize PROC:<{
2846
+ UlnReceiveConfig::utils::readConfig INLINECALLDICT
2847
+ s3 PUSH
2848
+ cl::dict256::size INLINECALLDICT
2849
+ s2 PUSH
2850
+ cl::dict256::size INLINECALLDICT
2851
+ s10 PUSH
2852
+ 0 EQINT
2853
+ s10 PUSH
2854
+ 1 LESSINT
2855
+ AND
2856
+ 778 THROWIF
2857
+ s2 s0 PUSH2
2858
+ GREATER
2859
+ 1465 THROWIF
2860
+ DUP
2861
+ 0 GTINT
2862
+ s3 PUSH
2863
+ 1 LESSINT
2864
+ AND
2865
+ 740 THROWIF
2866
+ s6 PUSH
2867
+ 0 EQINT
2868
+ s5 PUSH
2869
+ 0 EQINT
2870
+ AND
2871
+ s0 s2 XCHG
2872
+ 0 EQINT
2873
+ s1 s2 XCHG
2874
+ AND
2875
+ SWAP
2876
+ 0 EQINT
2877
+ AND
2878
+ 1869 THROWIF
2879
+ UlnReceiveConfig::New CALLDICT
2880
+ }>
2881
+ UlnConnection::New PROC:<{
2882
+ 469569827805346075864942 PUSHINT
2883
+ 9 PUSHINT
2884
+ s0 s4 XCHG
2885
+ BaseStorage::New INLINECALLDICT
2886
+ s1 s4 XCHG
2887
+ PAIR
2888
+ 9 PUSHINT
2889
+ s0 s3 XCHG2
2890
+ PAIR
2891
+ 8 PUSHINT
2892
+ 0 PUSHINT
2893
+ PAIR
2894
+ 8 PUSHINT
2895
+ 0 PUSHINT
2896
+ PAIR
2897
+ 8 PUSHINT
2898
+ s0 s4 XCHG2
2899
+ PAIR
2900
+ 9 PUSHINT
2901
+ UlnSendConfig::NewWithDefaults CALLDICT
2902
+ PAIR
2903
+ 9 PUSHINT
2904
+ UlnReceiveConfig::NewWithDefaults INLINECALLDICT
2905
+ PAIR
2906
+ 9 PUSHINT
2907
+ cl::dict256::New INLINECALLDICT
2908
+ PAIR
2909
+ 9 PUSHINT
2910
+ POOO::New INLINECALLDICT
2911
+ PAIR
2912
+ 0 PUSHINT
2913
+ FALSE
2914
+ PAIR
2915
+ s7 s8 XCHG
2916
+ s6 s7 XCHG
2917
+ 10 TUPLE
2918
+ cl::declare INLINECALLDICT
2919
+ }>
2920
+ UlnConnection::utils::getHashLookup PROCINLINE:<{
2921
+ s0 s2 XCHG
2922
+ 7 PUSHINT
2923
+ cl::get<dict256> INLINECALLDICT
2924
+ SWAP
2925
+ cl::dict256::get<cellRef> INLINECALLDICT
2926
+ IFNOT:<{
2927
+ 2DROP
2928
+ <b b> PUSHREF
2929
+ }>ELSE<{
2930
+ SWAP
2931
+ cl::dict256::get<cellRef> INLINECALLDICT
2932
+ IFNOTJMP:<{
2933
+ DROP
2934
+ <b b> PUSHREF
2935
+ }>
2936
+ }>
2937
+ }>
2938
+ UlnConnection::utils::getCurrentMaxNonce PROCINLINE:<{
2939
+ 8 PUSHINT
2940
+ cl::get<objRef> INLINECALLDICT
2941
+ POOO::maxSettableBit INLINECALLDICT
2942
+ }>
2943
+ UlnConnection::utils::getCurrentMinNonce PROCINLINE:<{
2944
+ 8 PUSHINT
2945
+ cl::get<objRef> INLINECALLDICT
2946
+ 0 PUSHINT
2947
+ cl::get<uint64> INLINECALLDICT
2948
+ }>
2949
+ UlnConnection::utils::setHashLookup PROCINLINE:<{
2950
+ CONT:<{
2951
+ c2 SAVE
2952
+ SAMEALTSAVE
2953
+ s5 PUSH
2954
+ 6 PUSHINT
2955
+ cl::get<objRef> INLINECALLDICT
2956
+ s0 s5 XCHG2
2957
+ UlnReceiveConfig::utils::getUlnReceiveConfig INLINECALLDICT
2958
+ NIP
2959
+ s2 s4 XCPU
2960
+ cl::dict256::get<uint256> INLINECALLDICT
2961
+ NIP
2962
+ IFNOT:<{
2963
+ s3 PUSH
2964
+ cl::dict256::get<uint256> INLINECALLDICT
2965
+ NIP
2966
+ IFNOTJMP:<{
2967
+ 5 BLKDROP
2968
+ RETALT
2969
+ }>
2970
+ }>ELSE<{
2971
+ DROP
2972
+ }>
2973
+ s4 s(-1) PUXC
2974
+ LESS
2975
+ IF:<{
2976
+ 4 BLKDROP
2977
+ }>ELSE<{
2978
+ s4 PUSH
2979
+ 8 PUSHINT
2980
+ cl::get<objRef> INLINECALLDICT
2981
+ DUP
2982
+ POOO::maxSettableBit INLINECALLDICT
2983
+ SWAP
2984
+ 0 PUSHINT
2985
+ cl::get<uint64> INLINECALLDICT
2986
+ s4 s1 PUXC
2987
+ GREATER
2988
+ s4 s1 PUXC
2989
+ LESS
2990
+ OR
2991
+ IFJMP:<{
2992
+ 4 BLKDROP
2993
+ }>
2994
+ s4 PUSH
2995
+ 7 PUSHINT
2996
+ cl::get<dict256> INLINECALLDICT
2997
+ s0 s3 PUSH2
2998
+ cl::dict256::get<cellRef> INLINECALLDICT
2999
+ DROP
3000
+ s2 s5 XCHG2
3001
+ lz::Attestation::New INLINECALLDICT
3002
+ s4 s4 s0 XCHG3
3003
+ cl::dict256::setRef INLINECALLDICT
3004
+ s2 s1 s2 XCPU2
3005
+ cl::dict256::setRef INLINECALLDICT
3006
+ SWAP
3007
+ 7 PUSHINT
3008
+ s0 s3 XCHG
3009
+ cl::dict256::setRef INLINECALLDICT
3010
+ cl::set INLINECALLDICT
3011
+ }>
3012
+ }>
3013
+ EXECUTE
3014
+ }>
3015
+ UlnConnection::utils::setNonceCommitted PROC:<{
3016
+ OVER
3017
+ 8 PUSHINT
3018
+ cl::get<objRef> INLINECALLDICT
3019
+ DUP
3020
+ POOO::maxSettableBit INLINECALLDICT
3021
+ OVER
3022
+ 0 PUSHINT
3023
+ cl::get<uint64> INLINECALLDICT
3024
+ s3 s1 PUXC
3025
+ GREATER
3026
+ s3 s1 PUXC
3027
+ LESS
3028
+ OR
3029
+ IFJMP:<{
3030
+ 2DROP
3031
+ }>
3032
+ s2 PUSH
3033
+ 7 PUSHINT
3034
+ cl::get<dict256> INLINECALLDICT
3035
+ 7 PUSHINT
3036
+ s1 s3 XCPU
3037
+ cl::dict256::delete CALLDICT
3038
+ s2 s4 XCHG
3039
+ cl::set INLINECALLDICT
3040
+ s0 s2 XCHG
3041
+ 8 PUSHINT
3042
+ s0 s2 XCHG
3043
+ POOO::set INLINECALLDICT
3044
+ cl::set INLINECALLDICT
3045
+ }>
3046
+ UlnConnection::utils::isCommittable PROCINLINE:<{
3047
+ CONT:<{
3048
+ c2 SAVE
3049
+ SAMEALTSAVE
3050
+ s3 PUSH
3051
+ 7 PUSHINT
3052
+ cl::get<dict256> INLINECALLDICT
3053
+ ROT
3054
+ cl::dict256::get<cellRef> INLINECALLDICT
3055
+ IFNOT:<{
3056
+ 4 BLKDROP
3057
+ FALSE
3058
+ }>ELSE<{
3059
+ s0 s3 XCHG
3060
+ 6 PUSHINT
3061
+ cl::get<objRef> INLINECALLDICT
3062
+ ROT
3063
+ UlnReceiveConfig::utils::getUlnReceiveConfig INLINECALLDICT
3064
+ s3 PUSH
3065
+ cl::dict256::getMin<uint256> CALLDICT
3066
+ DROP
3067
+ WHILE:<{
3068
+ DUP
3069
+ -1 GTINT
3070
+ }>DO<{
3071
+ s6 s0 PUSH2
3072
+ cl::dict256::get<cellRef> INLINECALLDICT
3073
+ IFNOTJMP:<{
3074
+ 8 BLKDROP
3075
+ FALSE
3076
+ RETALT
3077
+ }>
3078
+ s6 s2 PUSH2
3079
+ lz::Attestation::isValid INLINECALLDICT
3080
+ IFNOTJMP:<{
3081
+ 7 BLKDROP
3082
+ FALSE
3083
+ RETALT
3084
+ }>
3085
+ s4 s(-1) PUXC
3086
+ cl::dict256::getNext<uint256> CALLDICT
3087
+ DROP
3088
+ }>
3089
+ DROP
3090
+ s3 POP
3091
+ DUP
3092
+ 0 EQINT
3093
+ IFJMP:<{
3094
+ 5 BLKDROP
3095
+ TRUE
3096
+ }>
3097
+ OVER
3098
+ cl::dict256::getMin<uint256> CALLDICT
3099
+ DROP
3100
+ 0 PUSHINT
3101
+ WHILE:<{
3102
+ OVER
3103
+ -1 GTINT
3104
+ }>DO<{
3105
+ s6 s1 PUSH2
3106
+ cl::dict256::get<cellRef> INLINECALLDICT
3107
+ IF:<{
3108
+ s6 s5 PUSH2
3109
+ lz::Attestation::isValid INLINECALLDICT
3110
+ IF:<{
3111
+ INC
3112
+ }>
3113
+ s0 s2 PUSH2
3114
+ EQUAL
3115
+ IFJMP:<{
3116
+ 7 BLKDROP
3117
+ TRUE
3118
+ RETALT
3119
+ }>
3120
+ }>ELSE<{
3121
+ DROP
3122
+ }>
3123
+ s3 s1 PUXC
3124
+ cl::dict256::getNext<uint256> CALLDICT
3125
+ DROP
3126
+ SWAP
3127
+ }>
3128
+ 7 BLKDROP
3129
+ FALSE
3130
+ }>
3131
+ }>
3132
+ EXECUTE
3133
+ }>
3134
+ md::MdObj::New PROCINLINE:<{
3135
+ 332395405930 PUSHINT
3136
+ 9 PUSHINT
3137
+ s0 s3 XCHG2
3138
+ PAIR
3139
+ 9 PUSHINT
3140
+ ROT
3141
+ PAIR
3142
+ PAIR
3143
+ cl::declare INLINECALLDICT
3144
+ }>
3145
+ md::UlnSend::New PROCINLINE:<{
3146
+ 24044594121764452 PUSHINT
3147
+ 9 PUSHINT
3148
+ s0 s5 XCHG2
3149
+ PAIR
3150
+ 9 PUSHINT
3151
+ s0 s4 XCHG2
3152
+ PAIR
3153
+ 9 PUSHINT
3154
+ s0 s3 XCHG2
3155
+ PAIR
3156
+ 8 PUSHINT
3157
+ ROT
3158
+ PAIR
3159
+ 4 TUPLE
3160
+ cl::declare INLINECALLDICT
3161
+ }>
3162
+ Uln::New PROC:<{
3163
+ 7695470 PUSHINT
3164
+ 9 PUSHINT
3165
+ s0 s4 XCHG
3166
+ BaseStorage::New INLINECALLDICT
3167
+ s1 s4 XCHG
3168
+ PAIR
3169
+ 5 PUSHINT
3170
+ s0 s3 XCHG2
3171
+ PAIR
3172
+ 5 PUSHINT
3173
+ ROT
3174
+ PAIR
3175
+ 9 PUSHINT
3176
+ UlnReceiveConfig::NewWithDefaults INLINECALLDICT
3177
+ PAIR
3178
+ 9 PUSHINT
3179
+ UlnSendConfig::NewWithDefaults CALLDICT
3180
+ PAIR
3181
+ 9 PUSHINT
3182
+ <b b> PUSHREF
3183
+ PAIR
3184
+ 9 PUSHINT
3185
+ cl::dict256::New INLINECALLDICT
3186
+ PAIR
3187
+ 4 PUSHINT
3188
+ 0 PUSHINT
3189
+ PAIR
3190
+ 8 TUPLE
3191
+ cl::declare INLINECALLDICT
3192
+ }>
3193
+ assertChannel PROCINLINE:<{
3194
+ DROP
3195
+ getCaller INLINECALLDICT
3196
+ getContractStorage INLINECALLDICT
3197
+ 3 PUSHINT
3198
+ cl::get<address> INLINECALLDICT
3199
+ EQUAL
3200
+ 1390 THROWIFNOT
3201
+ }>
3202
+ assertUln PROCINLINE:<{
3203
+ getCaller INLINECALLDICT
3204
+ getContractStorage INLINECALLDICT
3205
+ 4 PUSHINT
3206
+ cl::get<address> INLINECALLDICT
3207
+ EQUAL
3208
+ 1390 THROWIFNOT
3209
+ }>
3210
+ msglibConnectionQuote PROCINLINE:<{
3211
+ preamble INLINECALLDICT
3212
+ OVER
3213
+ 4 PUSHINT
3214
+ cl::get<address> INLINECALLDICT
3215
+ 3694527094 PUSHINT
3216
+ s3 PUSH
3217
+ 5 PUSHINT
3218
+ cl::get<objRef> INLINECALLDICT
3219
+ getInitialStorage INLINECALLDICT
3220
+ s0 s5 XCHG
3221
+ 3 PUSHINT
3222
+ cl::get<address> INLINECALLDICT
3223
+ s3 s6 XCHG
3224
+ s1 s5 s0 XCHG3
3225
+ md::UlnSend::New INLINECALLDICT
3226
+ s3 s3 s0 XCHG3
3227
+ ~pushAction<call> INLINECALLDICT
3228
+ }>
3229
+ msglibConnectionSend PROCINLINE:<{
3230
+ preamble INLINECALLDICT
3231
+ OVER
3232
+ 4 PUSHINT
3233
+ cl::get<address> INLINECALLDICT
3234
+ 1575388051 PUSHINT
3235
+ s3 PUSH
3236
+ 5 PUSHINT
3237
+ cl::get<objRef> INLINECALLDICT
3238
+ getInitialStorage INLINECALLDICT
3239
+ s0 s5 XCHG
3240
+ 3 PUSHINT
3241
+ cl::get<address> INLINECALLDICT
3242
+ s3 s6 XCHG
3243
+ s1 s5 s0 XCHG3
3244
+ md::UlnSend::New INLINECALLDICT
3245
+ s3 s3 s0 XCHG3
3246
+ ~pushAction<call> INLINECALLDICT
3247
+ }>
3248
+ ulnConnectionVerify PROCINLINE:<{
3249
+ DROP
3250
+ preamble INLINECALLDICT
3251
+ NIP
3252
+ 1015759408 PUSHINT
3253
+ THROWANY
3254
+ }>
3255
+ ulnConnectionCommitPacket PROCINLINE:<{
3256
+ DROP
3257
+ preamble INLINECALLDICT
3258
+ NIP
3259
+ 1015759408 PUSHINT
3260
+ THROWANY
3261
+ }>
3262
+ msglibConnectionCommitPacketCallback PROCINLINE:<{
3263
+ DROP
3264
+ preamble INLINECALLDICT
3265
+ NIP
3266
+ 1015759408 PUSHINT
3267
+ THROWANY
3268
+ }>
3269
+ msglibConnectionSyncChannelState PROCINLINE:<{
3270
+ DROP
3271
+ preamble INLINECALLDICT
3272
+ NIP
3273
+ 1015759408 PUSHINT
3274
+ THROWANY
3275
+ }>
3276
+ setOAppUlnSendConfig PROCINLINE:<{
3277
+ preamble INLINECALLDICT
3278
+ 5 PUSHINT
3279
+ s3 PUSH
3280
+ lz::UlnSendConfig::sanitize INLINECALLDICT
3281
+ s2 s3 XCHG
3282
+ cl::set INLINECALLDICT
3283
+ setContractStorage INLINECALLDICT
3284
+ 38638172622723375059658780869721329125276574716422736669787144120654206551380 PUSHINT
3285
+ ROT
3286
+ ~pushAction<event> INLINECALLDICT
3287
+ }>
3288
+ setOAppUlnReceiveConfig PROCINLINE:<{
3289
+ preamble INLINECALLDICT
3290
+ 6 PUSHINT
3291
+ s3 PUSH
3292
+ UlnReceiveConfig::sanitize CALLDICT
3293
+ s2 s3 XCHG
3294
+ cl::set INLINECALLDICT
3295
+ setContractStorage INLINECALLDICT
3296
+ 150930361807513183826792112772348941895611619986025105989559909324233590100 PUSHINT
3297
+ ROT
3298
+ ~pushAction<event> INLINECALLDICT
3299
+ }>
3300
+ _executeOpcode PROCINLINE:<{
3301
+ CONT:<{
3302
+ c2 SAVE
3303
+ SAMEALTSAVE
3304
+ OVER
3305
+ 1159903224 PUSHINT
3306
+ EQUAL
3307
+ IF:<{
3308
+ NIP
3309
+ msglibConnectionQuote INLINECALLDICT
3310
+ }>ELSE<{
3311
+ OVER
3312
+ 1073919888 PUSHINT
3313
+ EQUAL
3314
+ IFJMP:<{
3315
+ NIP
3316
+ msglibConnectionSend INLINECALLDICT
3317
+ RETALT
3318
+ }>
3319
+ OVER
3320
+ 1321793546 PUSHINT
3321
+ EQUAL
3322
+ IFJMP:<{
3323
+ NIP
3324
+ ulnConnectionVerify INLINECALLDICT
3325
+ RETALT
3326
+ }>
3327
+ OVER
3328
+ 4191386496 PUSHINT
3329
+ EQUAL
3330
+ IFJMP:<{
3331
+ NIP
3332
+ ulnConnectionCommitPacket INLINECALLDICT
3333
+ RETALT
3334
+ }>
3335
+ OVER
3336
+ 1578602291 PUSHINT
3337
+ EQUAL
3338
+ IFJMP:<{
3339
+ NIP
3340
+ msglibConnectionCommitPacketCallback INLINECALLDICT
3341
+ RETALT
3342
+ }>
3343
+ OVER
3344
+ 2258172214 PUSHINT
3345
+ EQUAL
3346
+ IFJMP:<{
3347
+ NIP
3348
+ msglibConnectionSyncChannelState INLINECALLDICT
3349
+ RETALT
3350
+ }>
3351
+ OVER
3352
+ 3959015374 PUSHINT
3353
+ EQUAL
3354
+ IFJMP:<{
3355
+ NIP
3356
+ setOAppUlnSendConfig INLINECALLDICT
3357
+ RETALT
3358
+ }>
3359
+ SWAP
3360
+ 1704710509 PUSHINT
3361
+ EQUAL
3362
+ IFJMP:<{
3363
+ setOAppUlnReceiveConfig INLINECALLDICT
3364
+ RETALT
3365
+ }>
3366
+ DROP
3367
+ 1199 THROW
3368
+ PUSHNULL
3369
+ }>
3370
+ }>
3371
+ EXECUTE
3372
+ }>
3373
+ _executeAction PROCINLINE:<{
3374
+ CONT:<{
3375
+ c2 SAVE
3376
+ SAMEALTSAVE
3377
+ OVER
3378
+ 435778055796 PUSHINT
3379
+ EQUAL
3380
+ IF:<{
3381
+ NIP
3382
+ executeEvent INLINECALLDICT
3383
+ }>ELSE<{
3384
+ OVER
3385
+ 459904164859953153141868 PUSHINT
3386
+ EQUAL
3387
+ IFJMP:<{
3388
+ NIP
3389
+ executeCall INLINECALLDICT
3390
+ RETALT
3391
+ }>
3392
+ OVER
3393
+ 31632371545894516 PUSHINT
3394
+ EQUAL
3395
+ IFJMP:<{
3396
+ NIP
3397
+ executePayment INLINECALLDICT
3398
+ RETALT
3399
+ }>
3400
+ SWAP
3401
+ 110386840629113 PUSHINT
3402
+ EQUAL
3403
+ IFJMP:<{
3404
+ executeDeploy INLINECALLDICT
3405
+ RETALT
3406
+ }>
3407
+ DROP
3408
+ 1693 THROW
3409
+ FALSE
3410
+ }>
3411
+ }>
3412
+ EXECUTE
3413
+ }>
3414
+ main PROCINLINE:<{
3415
+ 3 -ROLL
3416
+ s3 PUSH
3417
+ initTxnContext INLINECALLDICT
3418
+ txnIsBounced INLINECALLDICT
3419
+ IF:<{
3420
+ DROP
3421
+ }>ELSE<{
3422
+ authenticateIfNecessary INLINECALLDICT
3423
+ SEMPTY
3424
+ IFJMP:<{
3425
+ }>
3426
+ getOpcode INLINECALLDICT
3427
+ getMsgData INLINECALLDICT
3428
+ 2DUP
3429
+ checkPermissions INLINECALLDICT
3430
+ OVER
3431
+ 3812333683 PUSHINT
3432
+ EQUAL
3433
+ IF:<{
3434
+ 488 THROW
3435
+ }>
3436
+ OVER
3437
+ 4133284232 PUSHINT
3438
+ EQUAL
3439
+ IF:<{
3440
+ NIP
3441
+ initialize INLINECALLDICT
3442
+ }>ELSE<{
3443
+ assertInitialized INLINECALLDICT
3444
+ _executeOpcode INLINECALLDICT
3445
+ }>
3446
+ DUP
3447
+ 0 INDEX
3448
+ getContractBalance INLINECALLDICT
3449
+ STORAGEFEES
3450
+ SUB
3451
+ getMsgValue INLINECALLDICT
3452
+ getDonationNanos INLINECALLDICT
3453
+ SUB
3454
+ SUB
3455
+ s0 s1 PUSH2
3456
+ GEQ
3457
+ 37 THROWIFNOT
3458
+ SWAP
3459
+ SUB
3460
+ 0 PUSHINT
3461
+ RAWRESERVE
3462
+ TRUE
3463
+ 1 PUSHINT
3464
+ s2 PUSH
3465
+ TLEN
3466
+ WHILE:<{
3467
+ 2DUP
3468
+ LESS
3469
+ }>DO<{
3470
+ s3 s1 PUSH2
3471
+ INDEXVAR
3472
+ DUP
3473
+ 0 INDEX
3474
+ s0 s3 XCHG
3475
+ INC
3476
+ s3 s3 XCHG2
3477
+ _executeAction INLINECALLDICT
3478
+ s1 s3 XCHG
3479
+ AND
3480
+ s0 s2 XCHG
3481
+ }>
3482
+ s2 s3 XCHG
3483
+ 3 BLKDROP
3484
+ IF:<{
3485
+ <b b> PUSHREF
3486
+ 1 PUSHINT
3487
+ 16 PUSHINT
3488
+ NEWC
3489
+ 6 STU
3490
+ getOriginStd INLINECALLDICT
3491
+ STSLICER
3492
+ 0 PUSHINT
3493
+ STGRAMS
3494
+ 107 STU
3495
+ STREF
3496
+ ENDC
3497
+ 7 PUSHPOW2
3498
+ SENDRAWMSG
3499
+ }>
3500
+ }>
3501
+ }>
3502
+ }END>c
3503
+ 2 boc+>B "build/Connection.boc" B>file