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