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