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