@layerzerolabs/protocol-stellar-v2 0.2.13 → 0.2.18

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 (435) hide show
  1. package/.turbo/turbo-build.log +484 -337
  2. package/.turbo/turbo-lint.log +126 -56
  3. package/.turbo/turbo-test.log +1403 -984
  4. package/Cargo.lock +142 -3
  5. package/Cargo.toml +5 -1
  6. package/contracts/ERROR_SPEC.md +44 -0
  7. package/contracts/common-macros/src/auth.rs +113 -0
  8. package/contracts/common-macros/src/contract_ttl.rs +84 -0
  9. package/contracts/common-macros/src/lib.rs +219 -29
  10. package/contracts/common-macros/src/lz_contract.rs +83 -0
  11. package/contracts/common-macros/src/storage.rs +1 -1
  12. package/contracts/common-macros/src/tests/{ownable.rs → auth.rs} +48 -15
  13. package/contracts/common-macros/src/tests/contract_ttl.rs +662 -0
  14. package/contracts/common-macros/src/tests/mod.rs +3 -2
  15. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -0
  16. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +24 -0
  17. package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__ownable__snapshot_only_owner_preserves_function_signature.snap → common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap} +4 -4
  18. package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__contract_impl__snapshot_generated_contract_impl_code.snap → common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap} +26 -10
  19. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +69 -0
  20. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__storage__snapshot_generated_storage_code.snap +48 -48
  21. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +7 -41
  22. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +21 -0
  23. package/contracts/common-macros/src/tests/upgradeable.rs +31 -0
  24. package/contracts/common-macros/src/ttl_configurable.rs +21 -66
  25. package/contracts/common-macros/src/ttl_extendable.rs +36 -0
  26. package/contracts/common-macros/src/upgradeable.rs +76 -0
  27. package/contracts/common-macros/src/utils.rs +9 -0
  28. package/contracts/endpoint-v2/src/constants.rs +4 -4
  29. package/contracts/endpoint-v2/src/endpoint_v2.rs +58 -36
  30. package/contracts/endpoint-v2/src/errors.rs +4 -3
  31. package/contracts/endpoint-v2/src/events.rs +1 -1
  32. package/contracts/endpoint-v2/src/message_lib_manager.rs +18 -5
  33. package/contracts/endpoint-v2/src/messaging_channel.rs +11 -1
  34. package/contracts/endpoint-v2/src/messaging_composer.rs +11 -1
  35. package/contracts/endpoint-v2/src/storage.rs +1 -1
  36. package/contracts/endpoint-v2/src/tests/endpoint_setup.rs +175 -8
  37. package/contracts/endpoint-v2/src/tests/endpoint_v2/build_outbound_packet.rs +76 -0
  38. package/contracts/endpoint-v2/src/tests/endpoint_v2/clear.rs +342 -159
  39. package/contracts/endpoint-v2/src/tests/endpoint_v2/delegate.rs +3 -15
  40. package/contracts/endpoint-v2/src/tests/endpoint_v2/initializable.rs +20 -31
  41. package/contracts/endpoint-v2/src/tests/endpoint_v2/lz_receive_alert.rs +126 -164
  42. package/contracts/endpoint-v2/src/tests/endpoint_v2/mod.rs +1 -0
  43. package/contracts/endpoint-v2/src/tests/endpoint_v2/native_token.rs +0 -1
  44. package/contracts/endpoint-v2/src/tests/endpoint_v2/owner.rs +0 -1
  45. package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +311 -304
  46. package/contracts/endpoint-v2/src/tests/endpoint_v2/quote.rs +423 -96
  47. package/contracts/endpoint-v2/src/tests/endpoint_v2/recover_token.rs +1 -1
  48. package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +47 -20
  49. package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +373 -403
  50. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_delegate.rs +96 -22
  51. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +62 -10
  52. package/contracts/endpoint-v2/src/tests/endpoint_v2/transfer_ownership.rs +4 -4
  53. package/contracts/endpoint-v2/src/tests/endpoint_v2/ttl_config.rs +8 -11
  54. package/contracts/endpoint-v2/src/tests/endpoint_v2/verifiable.rs +81 -30
  55. package/contracts/endpoint-v2/src/tests/endpoint_v2/verify.rs +209 -76
  56. package/contracts/endpoint-v2/src/tests/endpoint_v2/zro.rs +0 -1
  57. package/contracts/endpoint-v2/src/tests/message_lib_manager/default_receive_library.rs +24 -0
  58. package/contracts/endpoint-v2/src/tests/message_lib_manager/default_receive_library_timeout.rs +40 -0
  59. package/contracts/endpoint-v2/src/tests/message_lib_manager/default_send_library.rs +24 -0
  60. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_config.rs +108 -0
  61. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_library_index.rs +52 -0
  62. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_receive_library.rs +92 -0
  63. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_registered_libraries.rs +74 -0
  64. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_send_library.rs +83 -0
  65. package/contracts/endpoint-v2/src/tests/message_lib_manager/is_registered_library.rs +32 -0
  66. package/contracts/endpoint-v2/src/tests/message_lib_manager/is_supported_eid.rs +28 -0
  67. package/contracts/endpoint-v2/src/tests/message_lib_manager/is_valid_receive_library.rs +261 -0
  68. package/contracts/endpoint-v2/src/tests/message_lib_manager/mod.rs +16 -0
  69. package/contracts/endpoint-v2/src/tests/message_lib_manager/receive_library_timeout.rs +62 -0
  70. package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +65 -43
  71. package/contracts/endpoint-v2/src/tests/message_lib_manager/registered_libraries_count.rs +42 -0
  72. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +61 -0
  73. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +4 -6
  74. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +59 -0
  75. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +16 -2
  76. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_config.rs +155 -51
  77. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +114 -92
  78. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_library.rs +235 -132
  79. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_send_library.rs +93 -87
  80. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library.rs +346 -245
  81. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library_timeout.rs +406 -60
  82. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_send_library.rs +252 -78
  83. package/contracts/endpoint-v2/src/tests/message_lib_manager/timeout.rs +102 -0
  84. package/contracts/endpoint-v2/src/tests/messaging_channel/burn.rs +212 -273
  85. package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +203 -0
  86. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +94 -0
  87. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound_nonce.rs +78 -248
  88. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound_payload_hash.rs +7 -282
  89. package/contracts/endpoint-v2/src/tests/messaging_channel/lazy_inbound_nonce.rs +6 -274
  90. package/contracts/endpoint-v2/src/tests/messaging_channel/mod.rs +3 -2
  91. package/contracts/endpoint-v2/src/tests/messaging_channel/next_guid.rs +86 -178
  92. package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +328 -212
  93. package/contracts/endpoint-v2/src/tests/messaging_channel/outbound.rs +68 -0
  94. package/contracts/endpoint-v2/src/tests/messaging_channel/outbound_nonce.rs +6 -209
  95. package/contracts/endpoint-v2/src/tests/messaging_channel/skip.rs +207 -159
  96. package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +142 -153
  97. package/contracts/endpoint-v2/src/tests/messaging_composer/compose_queue.rs +6 -179
  98. package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +163 -221
  99. package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +90 -121
  100. package/contracts/endpoint-v2/src/tests/mock.rs +18 -4
  101. package/contracts/endpoint-v2/src/tests/util/build_payload.rs +4 -70
  102. package/contracts/endpoint-v2/src/tests/util/compute_guid.rs +2 -1
  103. package/contracts/endpoint-v2/src/tests/util/keccak256.rs +17 -106
  104. package/contracts/layerzero-views/Cargo.toml +35 -0
  105. package/contracts/layerzero-views/src/errors.rs +10 -0
  106. package/contracts/layerzero-views/src/layerzero_view.rs +226 -0
  107. package/contracts/layerzero-views/src/lib.rs +38 -0
  108. package/contracts/layerzero-views/src/storage.rs +18 -0
  109. package/contracts/layerzero-views/src/tests/layerzero_view_tests.rs +423 -0
  110. package/contracts/layerzero-views/src/tests/mod.rs +4 -0
  111. package/contracts/layerzero-views/src/tests/setup.rs +377 -0
  112. package/contracts/layerzero-views/src/types.rs +50 -0
  113. package/contracts/macro-integration-tests/Cargo.toml +30 -0
  114. package/contracts/macro-integration-tests/src/lib.rs +1 -0
  115. package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +62 -0
  116. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +22 -0
  117. package/contracts/macro-integration-tests/tests/runtime/ownable/only_auth_guard.rs +97 -0
  118. package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +101 -0
  119. package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +225 -0
  120. package/contracts/macro-integration-tests/tests/runtime/storage/mod.rs +4 -0
  121. package/contracts/macro-integration-tests/tests/runtime/storage/name_override_runtime.rs +52 -0
  122. package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +261 -0
  123. package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +137 -0
  124. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +113 -0
  125. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +139 -0
  126. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +2 -0
  127. package/contracts/macro-integration-tests/tests/runtime.rs +5 -0
  128. package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.rs +12 -0
  129. package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.stderr +7 -0
  130. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.rs +12 -0
  131. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.stderr +7 -0
  132. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.rs +21 -0
  133. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.stderr +7 -0
  134. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.rs +13 -0
  135. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.stderr +7 -0
  136. package/contracts/macro-integration-tests/tests/ui/error/pass/attr_on_variant_allowed.rs +20 -0
  137. package/contracts/macro-integration-tests/tests/ui/error/pass/basic_auto_discriminants.rs +15 -0
  138. package/contracts/macro-integration-tests/tests/ui/error/pass/mixed_discriminants.rs +16 -0
  139. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +22 -0
  140. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +16 -0
  141. package/contracts/macro-integration-tests/tests/ui/ownable/pass/minimal_contract.rs +26 -0
  142. package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +21 -0
  143. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +46 -0
  144. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.rs +13 -0
  145. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +7 -0
  146. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.rs +13 -0
  147. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +7 -0
  148. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.rs +10 -0
  149. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.stderr +7 -0
  150. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.rs +12 -0
  151. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +7 -0
  152. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.rs +10 -0
  153. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.stderr +7 -0
  154. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.rs +10 -0
  155. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.stderr +7 -0
  156. package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.rs +12 -0
  157. package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.stderr +7 -0
  158. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.rs +13 -0
  159. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.stderr +7 -0
  160. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.rs +13 -0
  161. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.stderr +7 -0
  162. package/contracts/macro-integration-tests/tests/ui/storage/pass/default_value_on_variant.rs +14 -0
  163. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_instance_unit_basic.rs +14 -0
  164. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_persistent_named_fields_keyed.rs +16 -0
  165. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_temporary_unit_option.rs +15 -0
  166. package/contracts/macro-integration-tests/tests/ui/storage/pass/name_override.rs +14 -0
  167. package/contracts/macro-integration-tests/tests/ui/storage/pass/no_auto_ttl_extension.rs +19 -0
  168. package/contracts/macro-integration-tests/tests/ui/storage/pass/ttl_provider_basic.rs +15 -0
  169. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/minimal_contract.rs +44 -0
  170. package/contracts/macro-integration-tests/tests/ui_error.rs +11 -0
  171. package/contracts/macro-integration-tests/tests/ui_ownable.rs +11 -0
  172. package/contracts/macro-integration-tests/tests/ui_storage.rs +11 -0
  173. package/contracts/macro-integration-tests/tests/ui_ttl_configurable.rs +12 -0
  174. package/contracts/message-libs/blocked-message-lib/src/lib.rs +17 -17
  175. package/contracts/message-libs/message-lib-common/src/errors.rs +7 -2
  176. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +64 -0
  177. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/encode_packet.rs +58 -0
  178. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/encode_packet_header.rs +138 -0
  179. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/mod.rs +6 -0
  180. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/payload.rs +30 -0
  181. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/payload_hash.rs +15 -0
  182. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/test_helper.rs +39 -0
  183. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_dvn_option.rs +57 -0
  184. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +49 -0
  185. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +73 -0
  186. package/contracts/message-libs/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +280 -0
  187. package/contracts/message-libs/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +126 -0
  188. package/contracts/message-libs/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +48 -0
  189. package/contracts/message-libs/message-lib-common/src/tests/worker_options/mod.rs +7 -0
  190. package/contracts/message-libs/message-lib-common/src/tests/worker_options/split_worker_options.rs +139 -0
  191. package/contracts/message-libs/message-lib-common/src/worker_options.rs +31 -1
  192. package/contracts/message-libs/simple-message-lib/src/simple_message_lib.rs +7 -9
  193. package/contracts/message-libs/treasury/src/errors.rs +2 -3
  194. package/contracts/message-libs/treasury/src/events.rs +1 -1
  195. package/contracts/message-libs/treasury/src/interfaces/zro_fee_lib.rs +2 -2
  196. package/contracts/message-libs/treasury/src/lib.rs +3 -3
  197. package/contracts/message-libs/treasury/src/storage.rs +3 -1
  198. package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +1 -1
  199. package/contracts/message-libs/treasury/src/treasury.rs +23 -26
  200. package/contracts/message-libs/uln-302/Cargo.toml +1 -1
  201. package/contracts/message-libs/uln-302/src/errors.rs +0 -5
  202. package/contracts/message-libs/uln-302/src/events.rs +5 -6
  203. package/contracts/message-libs/uln-302/src/receive_uln.rs +37 -56
  204. package/contracts/message-libs/uln-302/src/send_uln.rs +112 -138
  205. package/contracts/message-libs/uln-302/src/storage.rs +5 -5
  206. package/contracts/message-libs/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +5 -7
  207. package/contracts/message-libs/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +3 -3
  208. package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +6 -9
  209. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +2 -2
  210. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +3 -3
  211. package/contracts/message-libs/uln-302/src/tests/setup.rs +9 -0
  212. package/contracts/message-libs/uln-302/src/tests/testing_utils.rs +5 -0
  213. package/contracts/message-libs/uln-302/src/tests/uln302/get_app_receive_uln_config.rs +1 -2
  214. package/contracts/message-libs/uln-302/src/tests/uln302/get_app_send_uln_config.rs +1 -2
  215. package/contracts/message-libs/uln-302/src/tests/uln302/set_config.rs +37 -55
  216. package/contracts/message-libs/uln-302/src/uln302.rs +10 -25
  217. package/contracts/oapps/counter/Cargo.toml +14 -1
  218. package/contracts/oapps/counter/integration_tests/mod.rs +4 -1
  219. package/contracts/oapps/counter/integration_tests/setup_sml.rs +169 -0
  220. package/contracts/oapps/counter/integration_tests/setup_uln.rs +997 -0
  221. package/contracts/oapps/counter/integration_tests/signing.rs +62 -0
  222. package/contracts/oapps/counter/integration_tests/test_with_sml.rs +24 -55
  223. package/contracts/oapps/counter/integration_tests/test_with_uln.rs +314 -0
  224. package/contracts/oapps/counter/integration_tests/utils.rs +196 -53
  225. package/contracts/oapps/counter/src/counter.rs +67 -44
  226. package/contracts/oapps/counter/src/tests/mod.rs +0 -13
  227. package/contracts/oapps/counter/src/tests/test_counter.rs +5 -7
  228. package/contracts/oapps/oapp/src/errors.rs +5 -1
  229. package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +318 -221
  230. package/contracts/oapps/oapp/src/oapp_core.rs +36 -21
  231. package/contracts/oapps/oapp/src/oapp_options_type3.rs +48 -12
  232. package/contracts/oapps/oapp/src/oapp_receiver.rs +106 -41
  233. package/contracts/oapps/oapp/src/oapp_sender.rs +26 -34
  234. package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +9 -9
  235. package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +25 -18
  236. package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +7 -8
  237. package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +14 -16
  238. package/contracts/oapps/oapp-macros/src/generators.rs +128 -0
  239. package/contracts/oapps/oapp-macros/src/lib.rs +211 -0
  240. package/contracts/oapps/oft/integration-tests/setup.rs +34 -9
  241. package/contracts/oapps/oft/integration-tests/utils.rs +1 -1
  242. package/contracts/oapps/oft/src/errors.rs +6 -1
  243. package/contracts/oapps/oft/src/extensions/oft_fee.rs +13 -13
  244. package/contracts/oapps/oft/src/extensions/pausable.rs +5 -5
  245. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +23 -23
  246. package/contracts/oapps/oft/src/lib.rs +4 -2
  247. package/contracts/oapps/oft/src/oft.rs +31 -71
  248. package/contracts/oapps/oft/src/oft_impl.rs +201 -0
  249. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +2 -4
  250. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +1 -4
  251. package/contracts/oapps/oft/src/storage.rs +2 -0
  252. package/contracts/oapps/oft/src/tests/extensions/setup.rs +60 -31
  253. package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +5 -3
  254. package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +5 -3
  255. package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +6 -4
  256. package/contracts/oapps/oft/src/tests/test_decimals.rs +2 -2
  257. package/contracts/oapps/oft/src/tests/test_oft_msg_codec.rs +1 -2
  258. package/contracts/oapps/oft/src/tests/test_send.rs +4 -4
  259. package/contracts/oapps/oft/src/tests/test_utils.rs +122 -81
  260. package/contracts/oapps/oft/src/types.rs +20 -0
  261. package/contracts/oapps/oft-std/Cargo.toml +6 -0
  262. package/contracts/oapps/oft-std/integration-tests/extensions/mod.rs +3 -0
  263. package/contracts/oapps/oft-std/integration-tests/extensions/test_oft_fee.rs +157 -0
  264. package/contracts/oapps/oft-std/integration-tests/extensions/test_pausable.rs +162 -0
  265. package/contracts/oapps/oft-std/integration-tests/extensions/test_rate_limiter.rs +186 -0
  266. package/contracts/oapps/oft-std/integration-tests/mod.rs +3 -0
  267. package/contracts/oapps/{counter/integration_tests → oft-std/integration-tests}/setup.rs +76 -30
  268. package/contracts/oapps/oft-std/integration-tests/utils.rs +427 -0
  269. package/contracts/oapps/oft-std/src/lib.rs +12 -1
  270. package/contracts/oapps/oft-std/src/oft.rs +141 -26
  271. package/contracts/upgrader/Cargo.toml +19 -0
  272. package/contracts/upgrader/src/lib.rs +96 -0
  273. package/contracts/upgrader/src/tests/mod.rs +1 -0
  274. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
  275. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
  276. package/contracts/upgrader/src/tests/test_upgrader.rs +120 -0
  277. package/contracts/utils/src/auth.rs +44 -0
  278. package/contracts/utils/src/errors.rs +32 -5
  279. package/contracts/utils/src/lib.rs +5 -1
  280. package/contracts/utils/src/multisig.rs +211 -0
  281. package/contracts/utils/src/ownable.rs +50 -60
  282. package/contracts/utils/src/tests/buffer_reader.rs +6 -6
  283. package/contracts/utils/src/tests/buffer_writer.rs +6 -6
  284. package/contracts/utils/src/tests/bytes_ext.rs +2 -4
  285. package/contracts/utils/src/tests/mod.rs +4 -1
  286. package/contracts/utils/src/tests/multisig.rs +731 -0
  287. package/contracts/utils/src/tests/option_ext.rs +18 -0
  288. package/contracts/utils/src/tests/ownable.rs +22 -70
  289. package/contracts/utils/src/tests/ttl_configurable.rs +607 -0
  290. package/contracts/utils/src/tests/upgradeable.rs +290 -0
  291. package/contracts/utils/src/ttl_configurable.rs +153 -0
  292. package/contracts/utils/src/ttl_extendable.rs +27 -0
  293. package/contracts/utils/src/upgradeable.rs +56 -0
  294. package/contracts/workers/dvn/Cargo.toml +2 -2
  295. package/contracts/workers/dvn/src/auth.rs +24 -35
  296. package/contracts/workers/dvn/src/dvn.rs +23 -14
  297. package/contracts/workers/dvn/src/errors.rs +1 -7
  298. package/contracts/workers/dvn/src/events.rs +1 -14
  299. package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
  300. package/contracts/workers/dvn/src/interfaces/mod.rs +0 -2
  301. package/contracts/workers/dvn/src/storage.rs +3 -13
  302. package/contracts/workers/dvn/src/tests/auth.rs +4 -4
  303. package/contracts/workers/dvn/src/tests/dvn.rs +1 -2
  304. package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +7 -8
  305. package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +11 -8
  306. package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +11 -12
  307. package/contracts/workers/dvn/src/tests/setup.rs +5 -5
  308. package/contracts/workers/dvn-fee-lib/Cargo.toml +0 -1
  309. package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +45 -16
  310. package/contracts/workers/dvn-fee-lib/src/errors.rs +3 -2
  311. package/contracts/workers/dvn-fee-lib/src/lib.rs +5 -11
  312. package/contracts/workers/dvn-fee-lib/src/tests/dvn_fee_lib.rs +30 -16
  313. package/contracts/workers/executor/src/auth.rs +80 -16
  314. package/contracts/workers/executor/src/executor.rs +17 -29
  315. package/contracts/workers/executor/src/storage.rs +2 -9
  316. package/contracts/workers/executor-fee-lib/Cargo.toml +1 -1
  317. package/contracts/workers/executor-fee-lib/src/errors.rs +9 -7
  318. package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +153 -121
  319. package/contracts/workers/executor-helper/Cargo.toml +1 -6
  320. package/contracts/workers/executor-helper/src/executor_helper.rs +53 -73
  321. package/contracts/workers/executor-helper/src/lib.rs +1 -7
  322. package/contracts/workers/price-feed/Cargo.toml +1 -2
  323. package/contracts/workers/price-feed/src/errors.rs +3 -2
  324. package/contracts/workers/price-feed/src/lib.rs +5 -6
  325. package/contracts/workers/price-feed/src/price_feed.rs +42 -23
  326. package/contracts/workers/worker/Cargo.toml +4 -0
  327. package/contracts/workers/worker/src/errors.rs +4 -0
  328. package/contracts/workers/worker/src/interfaces/price_feed.rs +3 -3
  329. package/contracts/workers/worker/src/lib.rs +2 -2
  330. package/contracts/workers/worker/src/tests/mod.rs +4 -0
  331. package/contracts/workers/worker/src/tests/setup.rs +147 -0
  332. package/contracts/workers/worker/src/tests/worker.rs +502 -0
  333. package/contracts/workers/worker/src/worker.rs +28 -30
  334. package/package.json +8 -5
  335. package/sdk/.turbo/turbo-build.log +1 -0
  336. package/sdk/.turbo/turbo-test.log +1009 -0
  337. package/sdk/dist/generated/bml.d.ts +104 -37
  338. package/sdk/dist/generated/bml.js +83 -42
  339. package/sdk/dist/generated/counter.d.ts +334 -175
  340. package/sdk/dist/generated/counter.js +109 -63
  341. package/sdk/dist/generated/dvn.d.ts +1985 -0
  342. package/sdk/dist/generated/dvn.js +326 -0
  343. package/sdk/dist/generated/dvn_fee_lib.d.ts +690 -0
  344. package/sdk/dist/generated/dvn_fee_lib.js +163 -0
  345. package/sdk/dist/generated/endpoint.d.ts +155 -46
  346. package/sdk/dist/generated/endpoint.js +93 -50
  347. package/sdk/dist/generated/executor.d.ts +1841 -0
  348. package/sdk/dist/generated/executor.js +312 -0
  349. package/sdk/dist/generated/executor_fee_lib.d.ts +1083 -0
  350. package/sdk/dist/generated/executor_fee_lib.js +255 -0
  351. package/sdk/dist/generated/executor_helper.d.ts +981 -0
  352. package/sdk/dist/generated/executor_helper.js +236 -0
  353. package/sdk/dist/generated/oft_std.d.ts +1722 -0
  354. package/sdk/dist/generated/oft_std.js +316 -0
  355. package/sdk/dist/generated/price_feed.d.ts +1077 -0
  356. package/sdk/dist/generated/price_feed.js +210 -0
  357. package/sdk/dist/generated/sml.d.ts +171 -56
  358. package/sdk/dist/generated/sml.js +111 -62
  359. package/sdk/dist/generated/treasury.d.ts +896 -0
  360. package/sdk/dist/generated/treasury.js +219 -0
  361. package/sdk/dist/generated/uln302.d.ts +175 -75
  362. package/sdk/dist/generated/uln302.js +126 -82
  363. package/sdk/dist/generated/upgrader.d.ts +70 -0
  364. package/sdk/dist/generated/upgrader.js +19 -0
  365. package/sdk/dist/index.d.ts +10 -0
  366. package/sdk/dist/index.js +14 -0
  367. package/sdk/dist/wasm/blocked-message-lib.d.ts +1 -0
  368. package/sdk/dist/wasm/blocked-message-lib.js +2 -0
  369. package/sdk/dist/wasm/counter.d.ts +1 -0
  370. package/sdk/dist/wasm/counter.js +2 -0
  371. package/sdk/dist/wasm/dvn-fee-lib.d.ts +1 -0
  372. package/sdk/dist/wasm/dvn-fee-lib.js +2 -0
  373. package/sdk/dist/wasm/dvn.d.ts +1 -0
  374. package/sdk/dist/wasm/dvn.js +2 -0
  375. package/sdk/dist/wasm/endpoint-v2.d.ts +1 -0
  376. package/sdk/dist/wasm/endpoint-v2.js +2 -0
  377. package/sdk/dist/wasm/executor-fee-lib.d.ts +1 -0
  378. package/sdk/dist/wasm/executor-fee-lib.js +2 -0
  379. package/sdk/dist/wasm/executor-helper.d.ts +1 -0
  380. package/sdk/dist/wasm/executor-helper.js +2 -0
  381. package/sdk/dist/wasm/executor.d.ts +1 -0
  382. package/sdk/dist/wasm/executor.js +2 -0
  383. package/sdk/dist/wasm/layerzero-views.d.ts +1 -0
  384. package/sdk/dist/wasm/layerzero-views.js +2 -0
  385. package/sdk/dist/wasm/oft-std.d.ts +1 -0
  386. package/sdk/dist/wasm/oft-std.js +2 -0
  387. package/sdk/dist/wasm/price-feed.d.ts +1 -0
  388. package/sdk/dist/wasm/price-feed.js +2 -0
  389. package/sdk/dist/wasm/simple-message-lib.d.ts +1 -0
  390. package/sdk/dist/wasm/simple-message-lib.js +2 -0
  391. package/sdk/dist/wasm/treasury.d.ts +1 -0
  392. package/sdk/dist/wasm/treasury.js +2 -0
  393. package/sdk/dist/wasm/uln302.d.ts +1 -0
  394. package/sdk/dist/wasm/uln302.js +2 -0
  395. package/sdk/dist/wasm/upgrader.d.ts +1 -0
  396. package/sdk/dist/wasm/upgrader.js +2 -0
  397. package/sdk/dist/wasm.d.ts +15 -0
  398. package/sdk/dist/wasm.js +15 -0
  399. package/sdk/package.json +7 -4
  400. package/sdk/src/index.ts +17 -0
  401. package/sdk/test/counter-sml.test.ts +376 -0
  402. package/sdk/test/counter-uln.test.ts +493 -0
  403. package/sdk/test/{oft.test.ts → oft-sml.test.ts} +187 -323
  404. package/sdk/test/suites/constants.ts +22 -2
  405. package/sdk/test/suites/dummyContractClient.ts +169 -0
  406. package/sdk/test/suites/globalSetup.ts +450 -0
  407. package/sdk/test/suites/localnet.ts +23 -6
  408. package/sdk/test/upgrader.test.ts +300 -0
  409. package/sdk/test/utils.ts +558 -85
  410. package/sdk/vitest.config.ts +21 -0
  411. package/tools/ts-bindings-gen/src/main.rs +12 -1
  412. package/turbo.json +2 -0
  413. package/contracts/common-macros/src/contract_impl.rs +0 -47
  414. package/contracts/common-macros/src/ownable.rs +0 -59
  415. package/contracts/common-macros/src/tests/contract_impl.rs +0 -381
  416. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ownable__snapshot_generated_ownable_code.snap +0 -32
  417. package/contracts/endpoint-v2/src/tests/messaging_channel/clear.rs +0 -316
  418. package/contracts/endpoint-v2/src/tests/messaging_channel/internal.rs +0 -388
  419. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1.rs +0 -162
  420. package/contracts/message-libs/message-lib-common/src/tests/worker_options.rs +0 -319
  421. package/contracts/oapp-macros/src/lib.rs +0 -154
  422. package/contracts/oapp-macros/src/oapp_core.rs +0 -40
  423. package/contracts/oapp-macros/src/oapp_full.rs +0 -21
  424. package/contracts/oapp-macros/src/oapp_options_type3.rs +0 -31
  425. package/contracts/oapp-macros/src/oapp_receiver.rs +0 -48
  426. package/contracts/oapp-macros/src/oapp_sender.rs +0 -21
  427. package/contracts/oapp-macros/src/util.rs +0 -107
  428. package/contracts/oapps/oft/src/constants.rs +0 -5
  429. package/contracts/oapps/oft/src/default_oft_impl.rs +0 -146
  430. package/contracts/utils/src/tests/ttl.rs +0 -421
  431. package/contracts/utils/src/ttl.rs +0 -123
  432. package/contracts/workers/dvn/src/interfaces/multisig.rs +0 -56
  433. package/contracts/workers/dvn/src/multisig.rs +0 -153
  434. package/sdk/test/index.test.ts +0 -376
  435. /package/contracts/{oapp-macros → oapps/oapp-macros}/Cargo.toml +0 -0
@@ -1,304 +1,401 @@
1
- extern crate self as oapp;
2
-
3
- use endpoint_v2::Origin;
4
- use oapp::{
5
- oapp_core::OAppCore,
6
- oapp_options_type3::{EnforcedOptionParam, OAppOptionsType3},
7
- oapp_receiver::OAppReceiver,
8
- oapp_sender::OAppSender,
9
- };
10
- use oapp_macros::{oapp, oapp_manual_impl};
11
- use soroban_sdk::{contractimpl, Address, Bytes, BytesN, Env, Vec};
12
-
13
1
  // ============================================================================
14
2
  // Test 1: Full OApp with all defaults
15
3
  // ============================================================================
16
- #[oapp]
17
- struct TestFullDefault;
18
-
19
- impl TestFullDefault {
20
- fn __lz_receive(
21
- _env: &Env,
22
- _executor: &Address,
23
- _origin: &Origin,
24
- _guid: &BytesN<32>,
25
- _message: &Bytes,
26
- _extra_data: &Bytes,
27
- _value: i128,
28
- ) {
29
- // Default behavior
4
+ mod test_full_default {
5
+ extern crate self as oapp;
6
+
7
+ use endpoint_v2::Origin;
8
+ use oapp::oapp_receiver::LzReceiveInternal;
9
+ use oapp_macros::oapp;
10
+ use soroban_sdk::{Address, Bytes, BytesN, Env};
11
+
12
+ #[oapp]
13
+ struct TestFullDefault;
14
+
15
+ impl LzReceiveInternal for TestFullDefault {
16
+ fn __lz_receive(
17
+ _env: &Env,
18
+ _origin: &Origin,
19
+ _guid: &BytesN<32>,
20
+ _message: &Bytes,
21
+ _extra_data: &Bytes,
22
+ _executor: &Address,
23
+ _value: i128,
24
+ ) {
25
+ // Default behavior
26
+ }
30
27
  }
31
28
  }
32
29
 
33
30
  // ============================================================================
34
31
  // Test 2: Full OApp with manual core implementation
35
32
  // ============================================================================
36
- #[oapp]
37
- #[oapp_manual_impl(core)]
38
- struct TestFullManualCore;
39
-
40
- #[contractimpl(contracttrait)]
41
- impl OAppCore for TestFullManualCore {
42
- fn oapp_version(_env: &Env) -> (u64, u64) {
43
- (2, 0)
33
+ mod test_full_manual_core {
34
+ extern crate self as oapp;
35
+
36
+ use endpoint_v2::Origin;
37
+ use oapp::oapp_core::OAppCore;
38
+ use oapp::oapp_receiver::LzReceiveInternal;
39
+ use oapp_macros::oapp;
40
+ use soroban_sdk::{contractimpl, Address, Bytes, BytesN, Env};
41
+
42
+ #[oapp(custom = [core])]
43
+ struct TestFullManualCore;
44
+
45
+ #[contractimpl(contracttrait)]
46
+ impl OAppCore for TestFullManualCore {
47
+ fn oapp_version(_env: &Env) -> (u64, u64) {
48
+ (2, 0)
49
+ }
44
50
  }
45
- }
46
51
 
47
- impl TestFullManualCore {
48
- fn __lz_receive(
49
- _env: &Env,
50
- _executor: &Address,
51
- _origin: &Origin,
52
- _guid: &BytesN<32>,
53
- _message: &Bytes,
54
- _extra_data: &Bytes,
55
- _value: i128,
56
- ) {
57
- // Custom logic
52
+ impl LzReceiveInternal for TestFullManualCore {
53
+ fn __lz_receive(
54
+ _env: &Env,
55
+ _origin: &Origin,
56
+ _guid: &BytesN<32>,
57
+ _message: &Bytes,
58
+ _extra_data: &Bytes,
59
+ _executor: &Address,
60
+ _value: i128,
61
+ ) {
62
+ // Custom logic
63
+ }
58
64
  }
59
65
  }
60
66
 
61
67
  // ============================================================================
62
68
  // Test 3: Full OApp with manual sender implementation
63
69
  // ============================================================================
64
- #[oapp]
65
- #[oapp_manual_impl(sender)]
66
- struct TestFullManualSender;
70
+ mod test_full_manual_sender {
71
+ extern crate self as oapp;
67
72
 
68
- impl OAppSender for TestFullManualSender {
69
- // Custom sender implementation
70
- }
73
+ use endpoint_v2::Origin;
74
+ use oapp::oapp_receiver::LzReceiveInternal;
75
+ use oapp::oapp_sender::OAppSenderInternal;
76
+ use oapp_macros::oapp;
77
+ use soroban_sdk::{Address, Bytes, BytesN, Env};
78
+
79
+ #[oapp(custom = [sender])]
80
+ struct TestFullManualSender;
71
81
 
72
- impl TestFullManualSender {
73
- fn __lz_receive(
74
- _env: &Env,
75
- _executor: &Address,
76
- _origin: &Origin,
77
- _guid: &BytesN<32>,
78
- _message: &Bytes,
79
- _extra_data: &Bytes,
80
- _value: i128,
81
- ) {
82
- // Implementation
82
+ impl OAppSenderInternal for TestFullManualSender {
83
+ // Custom sender implementation
84
+ }
85
+
86
+ impl LzReceiveInternal for TestFullManualSender {
87
+ fn __lz_receive(
88
+ _env: &Env,
89
+ _origin: &Origin,
90
+ _guid: &BytesN<32>,
91
+ _message: &Bytes,
92
+ _extra_data: &Bytes,
93
+ _executor: &Address,
94
+ _value: i128,
95
+ ) {
96
+ // Implementation
97
+ }
83
98
  }
84
99
  }
85
100
 
86
101
  // ============================================================================
87
102
  // Test 4: Full OApp with manual receiver implementation
88
103
  // ============================================================================
89
- #[oapp]
90
- #[oapp_manual_impl(receiver)]
91
- struct TestFullManualReceiver;
92
-
93
- #[contractimpl(contracttrait)]
94
- impl OAppReceiver for TestFullManualReceiver {
95
- fn is_compose_msg_sender(_env: &Env, _origin: &Origin, _message: &Bytes, _sender: &Address) -> bool {
96
- true
104
+ mod test_full_manual_receiver {
105
+ extern crate self as oapp;
106
+
107
+ use endpoint_v2::Origin;
108
+ use oapp::oapp_receiver::{LzReceiveInternal, OAppReceiver};
109
+ use oapp_macros::oapp;
110
+ use soroban_sdk::{contractimpl, Address, Bytes, BytesN, Env};
111
+
112
+ #[oapp(custom = [receiver])]
113
+ struct TestFullManualReceiver;
114
+
115
+ impl LzReceiveInternal for TestFullManualReceiver {
116
+ fn __lz_receive(
117
+ _env: &Env,
118
+ _origin: &Origin,
119
+ _guid: &BytesN<32>,
120
+ _message: &Bytes,
121
+ _extra_data: &Bytes,
122
+ _executor: &Address,
123
+ _value: i128,
124
+ ) {
125
+ // Custom implementation
126
+ }
97
127
  }
98
128
 
99
- fn allow_initialize_path(_env: &Env, _origin: &Origin) -> bool {
100
- true
101
- }
129
+ #[contractimpl(contracttrait)]
130
+ impl OAppReceiver for TestFullManualReceiver {
131
+ fn is_compose_msg_sender(_env: &Env, _origin: &Origin, _message: &Bytes, _sender: &Address) -> bool {
132
+ true
133
+ }
102
134
 
103
- fn next_nonce(_env: &Env, _src_eid: u32, _sender: &BytesN<32>) -> u64 {
104
- 1 // Ordered delivery
105
- }
135
+ fn allow_initialize_path(_env: &Env, _origin: &Origin) -> bool {
136
+ true
137
+ }
106
138
 
107
- fn lz_receive(
108
- _env: &Env,
109
- _executor: &Address,
110
- _origin: &Origin,
111
- _guid: &BytesN<32>,
112
- _message: &Bytes,
113
- _extra_data: &Bytes,
114
- _value: i128,
115
- ) {
116
- // Custom implementation - verify_and_clear_payload must be called manually
139
+ fn next_nonce(_env: &Env, _src_eid: u32, _sender: &BytesN<32>) -> u64 {
140
+ 1 // Ordered delivery
141
+ }
117
142
  }
118
143
  }
119
144
 
120
145
  // ============================================================================
121
146
  // Test 5: Full OApp with manual options_type3 implementation
122
147
  // ============================================================================
123
- #[oapp]
124
- #[oapp_manual_impl(options_type3)]
125
- struct TestFullManualOptions;
126
-
127
- impl TestFullManualOptions {
128
- fn __lz_receive(
129
- _env: &Env,
130
- _executor: &Address,
131
- _origin: &Origin,
132
- _guid: &BytesN<32>,
133
- _message: &Bytes,
134
- _extra_data: &Bytes,
135
- _value: i128,
136
- ) {
137
- // Implementation
148
+ mod test_full_manual_options {
149
+ extern crate self as oapp;
150
+
151
+ use endpoint_v2::Origin;
152
+ use oapp::oapp_options_type3::{EnforcedOptionParam, OAppOptionsType3};
153
+ use oapp::oapp_receiver::LzReceiveInternal;
154
+ use oapp_macros::oapp;
155
+ use soroban_sdk::{contractimpl, Address, Bytes, BytesN, Env, Vec};
156
+
157
+ #[oapp(custom = [options_type3])]
158
+ struct TestFullManualOptions;
159
+
160
+ impl LzReceiveInternal for TestFullManualOptions {
161
+ fn __lz_receive(
162
+ _env: &Env,
163
+ _origin: &Origin,
164
+ _guid: &BytesN<32>,
165
+ _message: &Bytes,
166
+ _extra_data: &Bytes,
167
+ _executor: &Address,
168
+ _value: i128,
169
+ ) {
170
+ // Implementation
171
+ }
138
172
  }
139
- }
140
173
 
141
- #[contractimpl(contracttrait)]
142
- impl OAppOptionsType3 for TestFullManualOptions {
143
- // Custom options implementation
174
+ #[contractimpl(contracttrait)]
175
+ impl OAppOptionsType3 for TestFullManualOptions {
176
+ // Custom options implementation
177
+ }
144
178
  }
145
179
 
146
180
  // ============================================================================
147
181
  // Test 6: Full OApp with manual core + sender
148
182
  // ============================================================================
149
- #[oapp]
150
- #[oapp_manual_impl(core, sender)]
151
- struct TestFullManualCoreSender;
152
-
153
- #[contractimpl(contracttrait)]
154
- impl OAppCore for TestFullManualCoreSender {
155
- fn oapp_version(_env: &Env) -> (u64, u64) {
156
- (3, 0)
183
+ mod test_full_manual_core_sender {
184
+ extern crate self as oapp;
185
+
186
+ use endpoint_v2::Origin;
187
+ use oapp::{oapp_core::OAppCore, oapp_receiver::LzReceiveInternal, oapp_sender::OAppSenderInternal};
188
+ use oapp_macros::oapp;
189
+ use soroban_sdk::{contractimpl, Address, Bytes, BytesN, Env};
190
+
191
+ #[oapp(custom = [core, sender])]
192
+ struct TestFullManualCoreSender;
193
+
194
+ #[contractimpl(contracttrait)]
195
+ impl OAppCore for TestFullManualCoreSender {
196
+ fn oapp_version(_env: &Env) -> (u64, u64) {
197
+ (3, 0)
198
+ }
157
199
  }
158
- }
159
200
 
160
- impl OAppSender for TestFullManualCoreSender {
161
- // Custom sender implementation
162
- }
201
+ impl OAppSenderInternal for TestFullManualCoreSender {
202
+ // Custom sender implementation
203
+ }
163
204
 
164
- impl TestFullManualCoreSender {
165
- fn __lz_receive(
166
- _env: &Env,
167
- _executor: &Address,
168
- _origin: &Origin,
169
- _guid: &BytesN<32>,
170
- _message: &Bytes,
171
- _extra_data: &Bytes,
172
- _value: i128,
173
- ) {
174
- // Implementation
205
+ impl LzReceiveInternal for TestFullManualCoreSender {
206
+ fn __lz_receive(
207
+ _env: &Env,
208
+ _origin: &Origin,
209
+ _guid: &BytesN<32>,
210
+ _message: &Bytes,
211
+ _extra_data: &Bytes,
212
+ _executor: &Address,
213
+ _value: i128,
214
+ ) {
215
+ // Implementation
216
+ }
175
217
  }
176
218
  }
177
219
 
178
220
  // ============================================================================
179
221
  // Test 7: Full OApp with manual core + receiver
180
222
  // ============================================================================
181
- #[oapp]
182
- #[oapp_manual_impl(core, receiver)]
183
- struct TestFullManualCoreReceiver;
184
-
185
- #[contractimpl(contracttrait)]
186
- impl OAppCore for TestFullManualCoreReceiver {
187
- fn oapp_version(_env: &Env) -> (u64, u64) {
188
- (4, 0)
223
+ mod test_full_manual_core_receiver {
224
+ extern crate self as oapp;
225
+
226
+ use endpoint_v2::Origin;
227
+ use oapp::{
228
+ oapp_core::OAppCore,
229
+ oapp_receiver::{LzReceiveInternal, OAppReceiver},
230
+ };
231
+ use oapp_macros::oapp;
232
+ use soroban_sdk::{contractimpl, Address, Bytes, BytesN, Env};
233
+
234
+ #[oapp(custom = [core, receiver])]
235
+ struct TestFullManualCoreReceiver;
236
+
237
+ #[contractimpl(contracttrait)]
238
+ impl OAppCore for TestFullManualCoreReceiver {
239
+ fn oapp_version(_env: &Env) -> (u64, u64) {
240
+ (4, 0)
241
+ }
189
242
  }
190
- }
191
243
 
192
- #[contractimpl(contracttrait)]
193
- impl OAppReceiver for TestFullManualCoreReceiver {
194
- fn lz_receive(
195
- _env: &Env,
196
- _executor: &Address,
197
- _origin: &Origin,
198
- _guid: &BytesN<32>,
199
- _message: &Bytes,
200
- _extra_data: &Bytes,
201
- _value: i128,
202
- ) {
203
- // Custom receiver implementation
244
+ impl LzReceiveInternal for TestFullManualCoreReceiver {
245
+ fn __lz_receive(
246
+ _env: &Env,
247
+ _origin: &Origin,
248
+ _guid: &BytesN<32>,
249
+ _message: &Bytes,
250
+ _extra_data: &Bytes,
251
+ _executor: &Address,
252
+ _value: i128,
253
+ ) {
254
+ // Custom receiver implementation
255
+ }
204
256
  }
257
+
258
+ #[contractimpl(contracttrait)]
259
+ impl OAppReceiver for TestFullManualCoreReceiver {}
205
260
  }
206
261
 
207
262
  // ============================================================================
208
263
  // Test 8: Full OApp with manual sender + receiver
209
264
  // ============================================================================
210
- #[oapp]
211
- #[oapp_manual_impl(sender, receiver)]
212
- struct TestFullManualSenderReceiver;
213
-
214
- impl OAppSender for TestFullManualSenderReceiver {
215
- // Custom sender implementation
216
- }
265
+ mod test_full_manual_sender_receiver {
266
+ extern crate self as oapp;
267
+
268
+ use endpoint_v2::Origin;
269
+ use oapp::{
270
+ oapp_receiver::{LzReceiveInternal, OAppReceiver},
271
+ oapp_sender::OAppSenderInternal,
272
+ };
273
+ use oapp_macros::oapp;
274
+ use soroban_sdk::{contractimpl, Address, Bytes, BytesN, Env};
275
+
276
+ #[oapp(custom = [sender, receiver])]
277
+ struct TestFullManualSenderReceiver;
278
+
279
+ impl OAppSenderInternal for TestFullManualSenderReceiver {
280
+ // Custom sender implementation
281
+ }
217
282
 
218
- #[contractimpl(contracttrait)]
219
- impl OAppReceiver for TestFullManualSenderReceiver {
220
- fn lz_receive(
221
- _env: &Env,
222
- _executor: &Address,
223
- _origin: &Origin,
224
- _guid: &BytesN<32>,
225
- _message: &Bytes,
226
- _extra_data: &Bytes,
227
- _value: i128,
228
- ) {
229
- // Custom receiver implementation
283
+ impl LzReceiveInternal for TestFullManualSenderReceiver {
284
+ fn __lz_receive(
285
+ _env: &Env,
286
+ _origin: &Origin,
287
+ _guid: &BytesN<32>,
288
+ _message: &Bytes,
289
+ _extra_data: &Bytes,
290
+ _executor: &Address,
291
+ _value: i128,
292
+ ) {
293
+ // Custom receiver implementation
294
+ }
230
295
  }
296
+
297
+ #[contractimpl(contracttrait)]
298
+ impl OAppReceiver for TestFullManualSenderReceiver {}
231
299
  }
232
300
 
233
301
  // ============================================================================
234
302
  // Test 9: Full OApp with manual core + sender + receiver (all except options)
235
303
  // ============================================================================
236
- #[oapp]
237
- #[oapp_manual_impl(core, sender, receiver)]
238
- struct TestFullManualAllExceptOptions;
239
-
240
- #[contractimpl(contracttrait)]
241
- impl OAppCore for TestFullManualAllExceptOptions {
242
- fn oapp_version(_env: &Env) -> (u64, u64) {
243
- (5, 0)
304
+ mod test_full_manual_all_except_options {
305
+ extern crate self as oapp;
306
+
307
+ use endpoint_v2::Origin;
308
+ use oapp::{
309
+ oapp_core::OAppCore,
310
+ oapp_receiver::{LzReceiveInternal, OAppReceiver},
311
+ oapp_sender::OAppSenderInternal,
312
+ };
313
+ use oapp_macros::oapp;
314
+ use soroban_sdk::{contractimpl, Address, Bytes, BytesN, Env};
315
+
316
+ #[oapp(custom = [core, sender, receiver])]
317
+ struct TestFullManualAllExceptOptions;
318
+
319
+ #[contractimpl(contracttrait)]
320
+ impl OAppCore for TestFullManualAllExceptOptions {
321
+ fn oapp_version(_env: &Env) -> (u64, u64) {
322
+ (5, 0)
323
+ }
244
324
  }
245
- }
246
325
 
247
- impl OAppSender for TestFullManualAllExceptOptions {
248
- // Custom sender implementation
249
- }
326
+ impl OAppSenderInternal for TestFullManualAllExceptOptions {
327
+ // Custom sender implementation
328
+ }
250
329
 
251
- #[contractimpl(contracttrait)]
252
- impl OAppReceiver for TestFullManualAllExceptOptions {
253
- fn lz_receive(
254
- _env: &Env,
255
- _executor: &Address,
256
- _origin: &Origin,
257
- _guid: &BytesN<32>,
258
- _message: &Bytes,
259
- _extra_data: &Bytes,
260
- _value: i128,
261
- ) {
262
- // Custom receiver implementation
330
+ impl LzReceiveInternal for TestFullManualAllExceptOptions {
331
+ fn __lz_receive(
332
+ _env: &Env,
333
+ _origin: &Origin,
334
+ _guid: &BytesN<32>,
335
+ _message: &Bytes,
336
+ _extra_data: &Bytes,
337
+ _executor: &Address,
338
+ _value: i128,
339
+ ) {
340
+ // Custom receiver implementation
341
+ }
263
342
  }
343
+
344
+ #[contractimpl(contracttrait)]
345
+ impl OAppReceiver for TestFullManualAllExceptOptions {}
264
346
  }
265
347
 
266
348
  // ============================================================================
267
349
  // Test 10: Full OApp with all manual implementations
268
350
  // ============================================================================
269
- #[oapp]
270
- #[oapp_manual_impl(core, sender, receiver, options_type3)]
271
- struct TestFullManualAll;
272
-
273
- #[contractimpl(contracttrait)]
274
- impl OAppCore for TestFullManualAll {
275
- fn oapp_version(_env: &Env) -> (u64, u64) {
276
- (6, 0)
351
+ mod test_full_manual_all {
352
+ extern crate self as oapp;
353
+
354
+ use endpoint_v2::Origin;
355
+ use oapp::{
356
+ oapp_core::OAppCore,
357
+ oapp_options_type3::{EnforcedOptionParam, OAppOptionsType3},
358
+ oapp_receiver::{LzReceiveInternal, OAppReceiver},
359
+ oapp_sender::OAppSenderInternal,
360
+ };
361
+ use oapp_macros::oapp;
362
+ use soroban_sdk::{contractimpl, Address, Bytes, BytesN, Env, Vec};
363
+
364
+ #[oapp(custom = [core, sender, receiver, options_type3])]
365
+ struct TestFullManualAll;
366
+
367
+ #[contractimpl(contracttrait)]
368
+ impl OAppCore for TestFullManualAll {
369
+ fn oapp_version(_env: &Env) -> (u64, u64) {
370
+ (6, 0)
371
+ }
277
372
  }
278
- }
279
373
 
280
- impl OAppSender for TestFullManualAll {
281
- // Custom sender implementation
282
- }
374
+ impl OAppSenderInternal for TestFullManualAll {
375
+ // Custom sender implementation
376
+ }
283
377
 
284
- #[contractimpl(contracttrait)]
285
- impl OAppReceiver for TestFullManualAll {
286
- fn lz_receive(
287
- _env: &Env,
288
- _executor: &Address,
289
- _origin: &Origin,
290
- _guid: &BytesN<32>,
291
- _message: &Bytes,
292
- _extra_data: &Bytes,
293
- _value: i128,
294
- ) {
295
- // Custom receiver implementation
378
+ impl LzReceiveInternal for TestFullManualAll {
379
+ fn __lz_receive(
380
+ _env: &Env,
381
+ _origin: &Origin,
382
+ _guid: &BytesN<32>,
383
+ _message: &Bytes,
384
+ _extra_data: &Bytes,
385
+ _executor: &Address,
386
+ _value: i128,
387
+ ) {
388
+ // Custom receiver implementation
389
+ }
296
390
  }
297
- }
298
391
 
299
- #[contractimpl(contracttrait)]
300
- impl OAppOptionsType3 for TestFullManualAll {
301
- // Custom options implementation
392
+ #[contractimpl(contracttrait)]
393
+ impl OAppReceiver for TestFullManualAll {}
394
+
395
+ #[contractimpl(contracttrait)]
396
+ impl OAppOptionsType3 for TestFullManualAll {
397
+ // Custom options implementation
398
+ }
302
399
  }
303
400
 
304
401
  // ============================================================================