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