@layerzerolabs/protocol-stellar-v2 0.2.12 → 0.2.15

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