@layerzerolabs/protocol-stellar-v2 0.2.121 → 0.2.123

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 (753) hide show
  1. package/Cargo.toml +22 -37
  2. package/{contracts/endpoint-v2 → endpoint-v2}/Cargo.toml +3 -2
  3. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/pay_messaging_fees.rs +7 -1
  4. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/quote.rs +2 -2
  5. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/ttl_config.rs +4 -1
  6. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/verifiable.rs +0 -1
  7. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +9 -3
  8. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_send_lib_for_eid.rs +6 -2
  9. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_supported_eid.rs +6 -2
  10. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/clear_payload.rs +1 -4
  11. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound.rs +1 -4
  12. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/nilify.rs +3 -12
  13. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/pending_inbound_nonces.rs +0 -1
  14. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/lz_compose_alert.rs +1 -0
  15. package/{contracts/layerzero-views → layerzero-views}/Cargo.toml +1 -6
  16. package/{contracts/message-libs → message-libs}/blocked-message-lib/Cargo.toml +0 -1
  17. package/{contracts/message-libs → message-libs}/message-lib-common/Cargo.toml +2 -2
  18. package/{contracts/message-libs → message-libs}/simple-message-lib/Cargo.toml +1 -2
  19. package/{contracts/message-libs → message-libs}/treasury/Cargo.toml +1 -2
  20. package/{contracts/message-libs → message-libs}/uln-302/Cargo.toml +3 -2
  21. package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/send.rs +20 -4
  22. package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_app_receive_uln_config.rs +2 -2
  23. package/package.json +32 -15
  24. package/rustfmt.toml +8 -13
  25. package/{contracts/upgrader → upgrader}/Cargo.toml +0 -1
  26. package/upgrader/src/tests/mod.rs +1 -0
  27. package/{contracts/workers → workers}/dvn/Cargo.toml +1 -2
  28. package/{contracts/workers → workers}/dvn/src/tests/auth.rs +12 -60
  29. package/{contracts/workers → workers}/dvn-fee-lib/Cargo.toml +1 -2
  30. package/{contracts/workers → workers}/executor/Cargo.toml +3 -2
  31. package/{contracts/workers → workers}/executor/src/auth.rs +3 -8
  32. package/{contracts/workers → workers}/executor/src/storage.rs +1 -1
  33. package/{contracts/workers → workers}/executor/src/tests/auth.rs +6 -1
  34. package/{contracts/workers → workers}/executor/src/tests/executor.rs +5 -5
  35. package/{contracts/workers → workers}/executor/src/tests/setup.rs +1 -2
  36. package/{contracts/workers → workers}/executor-fee-lib/Cargo.toml +1 -2
  37. package/{contracts/workers → workers}/executor-fee-lib/src/tests/executor_fee_lib.rs +5 -5
  38. package/{contracts/workers → workers}/executor-fee-lib/src/tests/executor_option.rs +2 -2
  39. package/{contracts/workers → workers}/executor-helper/Cargo.toml +0 -1
  40. package/{contracts/workers → workers}/executor-helper/src/executor_helper.rs +0 -1
  41. package/{contracts/workers → workers}/executor-helper/src/tests/executor_helper.rs +0 -1
  42. package/{contracts/workers → workers}/fee-lib-interfaces/Cargo.toml +0 -1
  43. package/{contracts/workers → workers}/price-feed/Cargo.toml +1 -2
  44. package/{contracts/workers → workers}/price-feed/src/tests/price_feed.rs +11 -11
  45. package/{contracts/workers → workers}/worker/Cargo.toml +0 -1
  46. package/{contracts/workers → workers}/worker/src/tests/worker.rs +27 -27
  47. package/.turbo/turbo-build.log +0 -1363
  48. package/.turbo/turbo-lint.log +0 -401
  49. package/.turbo/turbo-test.log +0 -1952
  50. package/Cargo.lock +0 -2357
  51. package/contracts/common-macros/Cargo.toml +0 -20
  52. package/contracts/common-macros/src/auth.rs +0 -95
  53. package/contracts/common-macros/src/contract_ttl.rs +0 -92
  54. package/contracts/common-macros/src/error.rs +0 -43
  55. package/contracts/common-macros/src/lib.rs +0 -585
  56. package/contracts/common-macros/src/lz_contract.rs +0 -105
  57. package/contracts/common-macros/src/rbac.rs +0 -90
  58. package/contracts/common-macros/src/storage.rs +0 -522
  59. package/contracts/common-macros/src/tests/auth.rs +0 -230
  60. package/contracts/common-macros/src/tests/contract_ttl.rs +0 -695
  61. package/contracts/common-macros/src/tests/error.rs +0 -156
  62. package/contracts/common-macros/src/tests/lz_contract.rs +0 -87
  63. package/contracts/common-macros/src/tests/mod.rs +0 -11
  64. package/contracts/common-macros/src/tests/rbac.rs +0 -523
  65. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +0 -31
  66. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +0 -39
  67. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap +0 -19
  68. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +0 -77
  69. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +0 -46
  70. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__error__snapshot_generated_contract_error_code.snap +0 -20
  71. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +0 -51
  72. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__rbac__snapshot_authorizer_role.snap +0 -21
  73. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__rbac__snapshot_preserve_function_signature.snap +0 -21
  74. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +0 -10
  75. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_extendable__snapshot_generated_ttl_extendable_code.snap +0 -8
  76. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +0 -28
  77. package/contracts/common-macros/src/tests/storage/extract_fields.rs +0 -87
  78. package/contracts/common-macros/src/tests/storage/gen_accessor_methods.rs +0 -223
  79. package/contracts/common-macros/src/tests/storage/gen_args.rs +0 -65
  80. package/contracts/common-macros/src/tests/storage/gen_enum_variant.rs +0 -78
  81. package/contracts/common-macros/src/tests/storage/gen_key.rs +0 -108
  82. package/contracts/common-macros/src/tests/storage/gen_params.rs +0 -105
  83. package/contracts/common-macros/src/tests/storage/generate_storage.rs +0 -410
  84. package/contracts/common-macros/src/tests/storage/is_primitive_type.rs +0 -48
  85. package/contracts/common-macros/src/tests/storage/mod.rs +0 -16
  86. package/contracts/common-macros/src/tests/storage/parse_default.rs +0 -164
  87. package/contracts/common-macros/src/tests/storage/parse_name.rs +0 -158
  88. package/contracts/common-macros/src/tests/storage/parse_no_ttl_extension.rs +0 -124
  89. package/contracts/common-macros/src/tests/storage/parse_storage_type.rs +0 -174
  90. package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +0 -412
  91. package/contracts/common-macros/src/tests/storage/storage_kind.rs +0 -39
  92. package/contracts/common-macros/src/tests/storage/test_setup.rs +0 -25
  93. package/contracts/common-macros/src/tests/storage/validate_attrs.rs +0 -138
  94. package/contracts/common-macros/src/tests/storage/variant_config.rs +0 -226
  95. package/contracts/common-macros/src/tests/test_helpers.rs +0 -87
  96. package/contracts/common-macros/src/tests/ttl_configurable.rs +0 -34
  97. package/contracts/common-macros/src/tests/ttl_extendable.rs +0 -32
  98. package/contracts/common-macros/src/tests/upgradeable.rs +0 -169
  99. package/contracts/common-macros/src/tests/utils.rs +0 -267
  100. package/contracts/common-macros/src/ttl_configurable.rs +0 -24
  101. package/contracts/common-macros/src/ttl_extendable.rs +0 -28
  102. package/contracts/common-macros/src/upgradeable.rs +0 -136
  103. package/contracts/common-macros/src/utils.rs +0 -56
  104. package/contracts/macro-integration-tests/Cargo.toml +0 -20
  105. package/contracts/macro-integration-tests/src/lib.rs +0 -1
  106. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/constructor.rs +0 -61
  107. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_impl_ttl_extension.rs +0 -97
  108. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_trait_ttl_extension.rs +0 -99
  109. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/mod.rs +0 -3
  110. package/contracts/macro-integration-tests/tests/runtime/lz_contract/mod.rs +0 -5
  111. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_default.rs +0 -86
  112. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig.rs +0 -47
  113. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig_upgradeable.rs +0 -77
  114. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable.rs +0 -114
  115. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable_no_migration.rs +0 -105
  116. package/contracts/macro-integration-tests/tests/runtime/multisig/admin_entrypoints.rs +0 -242
  117. package/contracts/macro-integration-tests/tests/runtime/multisig/mod.rs +0 -9
  118. package/contracts/macro-integration-tests/tests/runtime/multisig/self_auth.rs +0 -54
  119. package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +0 -46
  120. package/contracts/macro-integration-tests/tests/runtime/oapp/oapp_core.rs +0 -170
  121. package/contracts/macro-integration-tests/tests/runtime/oapp/options_type3.rs +0 -154
  122. package/contracts/macro-integration-tests/tests/runtime/oapp/receiver.rs +0 -338
  123. package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +0 -437
  124. package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +0 -78
  125. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +0 -23
  126. package/contracts/macro-integration-tests/tests/runtime/ownable/only_auth_guard.rs +0 -97
  127. package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +0 -170
  128. package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +0 -221
  129. package/contracts/macro-integration-tests/tests/runtime/rbac/guard_behavior.rs +0 -91
  130. package/contracts/macro-integration-tests/tests/runtime/rbac/mod.rs +0 -30
  131. package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +0 -266
  132. package/contracts/macro-integration-tests/tests/runtime/storage/mod.rs +0 -4
  133. package/contracts/macro-integration-tests/tests/runtime/storage/name_override_runtime.rs +0 -52
  134. package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +0 -293
  135. package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +0 -147
  136. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +0 -206
  137. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +0 -143
  138. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -2
  139. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/extend_instance_ttl.rs +0 -64
  140. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/mod.rs +0 -16
  141. package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +0 -243
  142. package/contracts/macro-integration-tests/tests/runtime/upgradeable/mod.rs +0 -3
  143. package/contracts/macro-integration-tests/tests/runtime/upgradeable/no_migration.rs +0 -59
  144. package/contracts/macro-integration-tests/tests/runtime/upgradeable/upgrade_then_migrate.rs +0 -88
  145. package/contracts/macro-integration-tests/tests/runtime.rs +0 -11
  146. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.rs +0 -6
  147. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.stderr +0 -7
  148. package/contracts/macro-integration-tests/tests/ui/contract_impl/pass/basic.rs +0 -102
  149. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.rs +0 -6
  150. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.stderr +0 -7
  151. package/contracts/macro-integration-tests/tests/ui/contract_trait/pass/basic.rs +0 -83
  152. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.rs +0 -12
  153. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.stderr +0 -7
  154. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.rs +0 -11
  155. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.stderr +0 -7
  156. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.rs +0 -11
  157. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.stderr +0 -7
  158. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.rs +0 -21
  159. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.stderr +0 -7
  160. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.rs +0 -13
  161. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.stderr +0 -7
  162. package/contracts/macro-integration-tests/tests/ui/error/pass/basic.rs +0 -22
  163. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.rs +0 -6
  164. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.stderr +0 -7
  165. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.rs +0 -20
  166. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.stderr +0 -20
  167. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.rs +0 -8
  168. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.stderr +0 -7
  169. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.rs +0 -10
  170. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +0 -30
  171. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.rs +0 -20
  172. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +0 -56
  173. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/basic.rs +0 -45
  174. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig.rs +0 -34
  175. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig_upgradeable.rs +0 -30
  176. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable.rs +0 -39
  177. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_no_migration.rs +0 -28
  178. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_rbac.rs +0 -44
  179. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.rs +0 -8
  180. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.stderr +0 -7
  181. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.rs +0 -20
  182. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.stderr +0 -12
  183. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.rs +0 -20
  184. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.stderr +0 -5
  185. package/contracts/macro-integration-tests/tests/ui/multisig/pass/basic.rs +0 -49
  186. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.rs +0 -8
  187. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.stderr +0 -7
  188. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.rs +0 -28
  189. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.stderr +0 -397
  190. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.rs +0 -9
  191. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.stderr +0 -71
  192. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.rs +0 -10
  193. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.stderr +0 -7
  194. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.rs +0 -8
  195. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.stderr +0 -7
  196. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.rs +0 -8
  197. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.stderr +0 -7
  198. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +0 -42
  199. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +0 -103
  200. package/contracts/macro-integration-tests/tests/ui/oapp/pass/minimal_contract.rs +0 -65
  201. package/contracts/macro-integration-tests/tests/ui/oapp/pass/struct_with_fields.rs +0 -48
  202. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.rs +0 -8
  203. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.stderr +0 -7
  204. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.rs +0 -19
  205. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.stderr +0 -12
  206. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +0 -22
  207. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +0 -16
  208. package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +0 -39
  209. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +0 -52
  210. package/contracts/macro-integration-tests/tests/ui/rbac/fail/missing_env.rs +0 -18
  211. package/contracts/macro-integration-tests/tests/ui/rbac/fail/missing_env.stderr +0 -16
  212. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_address.rs +0 -18
  213. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_address.stderr +0 -24
  214. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_found.rs +0 -18
  215. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_found.stderr +0 -24
  216. package/contracts/macro-integration-tests/tests/ui/rbac/pass/basic.rs +0 -80
  217. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.rs +0 -13
  218. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +0 -7
  219. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.rs +0 -13
  220. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +0 -7
  221. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.rs +0 -11
  222. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.stderr +0 -7
  223. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.rs +0 -11
  224. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.stderr +0 -7
  225. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.rs +0 -11
  226. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.stderr +0 -7
  227. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.rs +0 -10
  228. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.stderr +0 -7
  229. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.rs +0 -12
  230. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +0 -7
  231. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.rs +0 -10
  232. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.stderr +0 -7
  233. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.rs +0 -13
  234. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.stderr +0 -7
  235. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.rs +0 -10
  236. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.stderr +0 -7
  237. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.rs +0 -13
  238. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.stderr +0 -7
  239. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.rs +0 -13
  240. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.stderr +0 -7
  241. package/contracts/macro-integration-tests/tests/ui/storage/pass/api_surface.rs +0 -102
  242. package/contracts/macro-integration-tests/tests/ui/storage/pass/basic.rs +0 -43
  243. package/contracts/macro-integration-tests/tests/ui/storage/pass/multi_key.rs +0 -38
  244. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.rs +0 -14
  245. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.stderr +0 -71
  246. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.rs +0 -8
  247. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.stderr +0 -7
  248. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/basic.rs +0 -46
  249. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/multisig_contract.rs +0 -28
  250. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/ownable_contract.rs +0 -32
  251. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.rs +0 -8
  252. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.stderr +0 -7
  253. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/basic.rs +0 -23
  254. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/no_user_contractimpl.rs +0 -21
  255. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.rs +0 -11
  256. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +0 -29
  257. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.rs +0 -20
  258. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +0 -41
  259. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.rs +0 -10
  260. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +0 -49
  261. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.rs +0 -8
  262. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.stderr +0 -7
  263. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/basic.rs +0 -41
  264. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/multisig_contract.rs +0 -33
  265. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_migration.rs +0 -28
  266. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_user_contractimpl.rs +0 -27
  267. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/rbac.rs +0 -44
  268. package/contracts/macro-integration-tests/tests/ui_contract_impl.rs +0 -12
  269. package/contracts/macro-integration-tests/tests/ui_contract_trait.rs +0 -12
  270. package/contracts/macro-integration-tests/tests/ui_error.rs +0 -11
  271. package/contracts/macro-integration-tests/tests/ui_lz_contract.rs +0 -11
  272. package/contracts/macro-integration-tests/tests/ui_multisig.rs +0 -11
  273. package/contracts/macro-integration-tests/tests/ui_oapp.rs +0 -11
  274. package/contracts/macro-integration-tests/tests/ui_ownable.rs +0 -11
  275. package/contracts/macro-integration-tests/tests/ui_rbac.rs +0 -12
  276. package/contracts/macro-integration-tests/tests/ui_storage.rs +0 -11
  277. package/contracts/macro-integration-tests/tests/ui_ttl_configurable.rs +0 -12
  278. package/contracts/macro-integration-tests/tests/ui_ttl_extendable.rs +0 -12
  279. package/contracts/macro-integration-tests/tests/ui_upgradeable.rs +0 -11
  280. package/contracts/message-libs/Cargo.toml +0 -12
  281. package/contracts/message-libs/lib.rs +0 -2
  282. package/contracts/oapps/Cargo.toml +0 -12
  283. package/contracts/oapps/counter/Cargo.toml +0 -39
  284. package/contracts/oapps/counter/integration_tests/mod.rs +0 -7
  285. package/contracts/oapps/counter/integration_tests/setup_sml.rs +0 -171
  286. package/contracts/oapps/counter/integration_tests/setup_uln.rs +0 -1019
  287. package/contracts/oapps/counter/integration_tests/signing.rs +0 -62
  288. package/contracts/oapps/counter/integration_tests/test_with_blocked.rs +0 -67
  289. package/contracts/oapps/counter/integration_tests/test_with_sml.rs +0 -135
  290. package/contracts/oapps/counter/integration_tests/test_with_uln.rs +0 -314
  291. package/contracts/oapps/counter/integration_tests/utils.rs +0 -294
  292. package/contracts/oapps/counter/src/codec.rs +0 -62
  293. package/contracts/oapps/counter/src/counter.rs +0 -274
  294. package/contracts/oapps/counter/src/errors.rs +0 -9
  295. package/contracts/oapps/counter/src/lib.rs +0 -16
  296. package/contracts/oapps/counter/src/options.rs +0 -30
  297. package/contracts/oapps/counter/src/storage.rs +0 -32
  298. package/contracts/oapps/counter/src/tests/mod.rs +0 -24
  299. package/contracts/oapps/counter/src/tests/test_codec.rs +0 -64
  300. package/contracts/oapps/counter/src/tests/test_counter.rs +0 -387
  301. package/contracts/oapps/counter/src/tests/test_u256_ext.rs +0 -48
  302. package/contracts/oapps/counter/src/u256_ext.rs +0 -21
  303. package/contracts/oapps/lib.rs +0 -2
  304. package/contracts/oapps/oapp/Cargo.toml +0 -22
  305. package/contracts/oapps/oapp/src/errors.rs +0 -13
  306. package/contracts/oapps/oapp/src/interfaces/mod.rs +0 -3
  307. package/contracts/oapps/oapp/src/interfaces/oapp_msg_inspector.rs +0 -70
  308. package/contracts/oapps/oapp/src/lib.rs +0 -15
  309. package/contracts/oapps/oapp/src/oapp_core.rs +0 -143
  310. package/contracts/oapps/oapp/src/oapp_options_type3.rs +0 -133
  311. package/contracts/oapps/oapp/src/oapp_receiver.rs +0 -195
  312. package/contracts/oapps/oapp/src/oapp_sender.rs +0 -152
  313. package/contracts/oapps/oapp/src/tests/mod.rs +0 -5
  314. package/contracts/oapps/oapp/src/tests/oapp_core.rs +0 -225
  315. package/contracts/oapps/oapp/src/tests/oapp_options_type3.rs +0 -246
  316. package/contracts/oapps/oapp/src/tests/oapp_receiver.rs +0 -383
  317. package/contracts/oapps/oapp/src/tests/oapp_sender.rs +0 -570
  318. package/contracts/oapps/oapp/src/tests/test_macros.rs +0 -434
  319. package/contracts/oapps/oapp-macros/Cargo.toml +0 -18
  320. package/contracts/oapps/oapp-macros/src/generators.rs +0 -147
  321. package/contracts/oapps/oapp-macros/src/lib.rs +0 -166
  322. package/contracts/oapps/oapp-macros/src/tests/mod.rs +0 -2
  323. package/contracts/oapps/oapp-macros/src/tests/oapp.rs +0 -74
  324. package/contracts/oapps/oapp-macros/src/tests/parse_custom_impls.rs +0 -90
  325. package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +0 -111
  326. package/contracts/oapps/oft/Cargo.toml +0 -30
  327. package/contracts/oapps/oft/integration-tests/extensions/mod.rs +0 -3
  328. package/contracts/oapps/oft/integration-tests/extensions/test_oft_fee.rs +0 -172
  329. package/contracts/oapps/oft/integration-tests/extensions/test_pausable.rs +0 -161
  330. package/contracts/oapps/oft/integration-tests/extensions/test_rate_limiter.rs +0 -336
  331. package/contracts/oapps/oft/integration-tests/mod.rs +0 -3
  332. package/contracts/oapps/oft/integration-tests/setup.rs +0 -306
  333. package/contracts/oapps/oft/integration-tests/utils.rs +0 -609
  334. package/contracts/oapps/oft/src/extensions/mod.rs +0 -3
  335. package/contracts/oapps/oft/src/extensions/oft_fee.rs +0 -281
  336. package/contracts/oapps/oft/src/extensions/pausable.rs +0 -119
  337. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +0 -286
  338. package/contracts/oapps/oft/src/interfaces/mintable.rs +0 -14
  339. package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
  340. package/contracts/oapps/oft/src/lib.rs +0 -24
  341. package/contracts/oapps/oft/src/oft.rs +0 -176
  342. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +0 -50
  343. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +0 -51
  344. package/contracts/oapps/oft/src/oft_types/mod.rs +0 -24
  345. package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -3
  346. package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +0 -260
  347. package/contracts/oapps/oft/src/tests/extensions/pausable.rs +0 -155
  348. package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +0 -601
  349. package/contracts/oapps/oft/src/tests/mod.rs +0 -2
  350. package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +0 -185
  351. package/contracts/oapps/oft/src/tests/oft_types/mod.rs +0 -1
  352. package/contracts/oapps/oft-core/Cargo.toml +0 -24
  353. package/contracts/oapps/oft-core/integration-tests/mod.rs +0 -3
  354. package/contracts/oapps/oft-core/integration-tests/setup.rs +0 -346
  355. package/contracts/oapps/oft-core/integration-tests/test_with_sml.rs +0 -156
  356. package/contracts/oapps/oft-core/integration-tests/utils.rs +0 -220
  357. package/contracts/oapps/oft-core/src/codec/mod.rs +0 -2
  358. package/contracts/oapps/oft-core/src/codec/oft_compose_msg_codec.rs +0 -55
  359. package/contracts/oapps/oft-core/src/codec/oft_msg_codec.rs +0 -58
  360. package/contracts/oapps/oft-core/src/errors.rs +0 -15
  361. package/contracts/oapps/oft-core/src/events.rs +0 -32
  362. package/contracts/oapps/oft-core/src/lib.rs +0 -22
  363. package/contracts/oapps/oft-core/src/oft_core.rs +0 -594
  364. package/contracts/oapps/oft-core/src/storage.rs +0 -19
  365. package/contracts/oapps/oft-core/src/tests/mod.rs +0 -14
  366. package/contracts/oapps/oft-core/src/tests/test_decimals.rs +0 -124
  367. package/contracts/oapps/oft-core/src/tests/test_lz_receive.rs +0 -282
  368. package/contracts/oapps/oft-core/src/tests/test_msg_inspector.rs +0 -324
  369. package/contracts/oapps/oft-core/src/tests/test_oft_compose_msg_codec.rs +0 -68
  370. package/contracts/oapps/oft-core/src/tests/test_oft_msg_codec.rs +0 -64
  371. package/contracts/oapps/oft-core/src/tests/test_oft_version_and_approval.rs +0 -22
  372. package/contracts/oapps/oft-core/src/tests/test_quote_oft.rs +0 -159
  373. package/contracts/oapps/oft-core/src/tests/test_quote_send.rs +0 -195
  374. package/contracts/oapps/oft-core/src/tests/test_resolve_address.rs +0 -37
  375. package/contracts/oapps/oft-core/src/tests/test_send.rs +0 -915
  376. package/contracts/oapps/oft-core/src/tests/test_token.rs +0 -47
  377. package/contracts/oapps/oft-core/src/tests/test_utils.rs +0 -870
  378. package/contracts/oapps/oft-core/src/types.rs +0 -58
  379. package/contracts/oapps/oft-core/src/utils.rs +0 -71
  380. package/contracts/oapps/sac-manager/Cargo.toml +0 -24
  381. package/contracts/oapps/sac-manager/src/interfaces/mod.rs +0 -3
  382. package/contracts/oapps/sac-manager/src/interfaces/sac_admin_wrapper.rs +0 -49
  383. package/contracts/oapps/sac-manager/src/lib.rs +0 -19
  384. package/contracts/oapps/sac-manager/src/sac_manager.rs +0 -95
  385. package/contracts/oapps/sac-manager/src/storage.rs +0 -13
  386. package/contracts/oapps/sac-manager/src/tests/mod.rs +0 -10
  387. package/contracts/oapps/sac-manager/src/tests/sac_manager/clawback.rs +0 -84
  388. package/contracts/oapps/sac-manager/src/tests/sac_manager/mint.rs +0 -53
  389. package/contracts/oapps/sac-manager/src/tests/sac_manager/mod.rs +0 -6
  390. package/contracts/oapps/sac-manager/src/tests/sac_manager/set_admin.rs +0 -46
  391. package/contracts/oapps/sac-manager/src/tests/sac_manager/set_authorized.rs +0 -53
  392. package/contracts/oapps/sac-manager/src/tests/sac_manager/test_helper.rs +0 -35
  393. package/contracts/oapps/sac-manager/src/tests/sac_manager/view_functions.rs +0 -13
  394. package/contracts/oapps/sac-manager/src/tests/test_helper.rs +0 -138
  395. package/contracts/upgrader/src/tests/mod.rs +0 -1
  396. package/contracts/utils/Cargo.toml +0 -20
  397. package/contracts/utils/src/auth.rs +0 -48
  398. package/contracts/utils/src/buffer_reader.rs +0 -194
  399. package/contracts/utils/src/buffer_writer.rs +0 -138
  400. package/contracts/utils/src/bytes_ext.rs +0 -18
  401. package/contracts/utils/src/errors.rs +0 -82
  402. package/contracts/utils/src/lib.rs +0 -20
  403. package/contracts/utils/src/multisig.rs +0 -247
  404. package/contracts/utils/src/option_ext.rs +0 -38
  405. package/contracts/utils/src/ownable.rs +0 -227
  406. package/contracts/utils/src/rbac.rs +0 -438
  407. package/contracts/utils/src/testing_utils.rs +0 -180
  408. package/contracts/utils/src/tests/auth.rs +0 -179
  409. package/contracts/utils/src/tests/buffer_reader.rs +0 -969
  410. package/contracts/utils/src/tests/buffer_writer.rs +0 -689
  411. package/contracts/utils/src/tests/bytes_ext.rs +0 -160
  412. package/contracts/utils/src/tests/mod.rs +0 -13
  413. package/contracts/utils/src/tests/multisig.rs +0 -760
  414. package/contracts/utils/src/tests/option_ext.rs +0 -18
  415. package/contracts/utils/src/tests/ownable.rs +0 -822
  416. package/contracts/utils/src/tests/rbac.rs +0 -559
  417. package/contracts/utils/src/tests/test_helper.rs +0 -67
  418. package/contracts/utils/src/tests/testing_utils.rs +0 -522
  419. package/contracts/utils/src/tests/ttl_configurable.rs +0 -586
  420. package/contracts/utils/src/tests/ttl_extendable.rs +0 -64
  421. package/contracts/utils/src/tests/upgradeable.rs +0 -529
  422. package/contracts/utils/src/ttl_configurable.rs +0 -169
  423. package/contracts/utils/src/ttl_extendable.rs +0 -25
  424. package/contracts/utils/src/upgradeable.rs +0 -103
  425. package/contracts/workers/Cargo.toml +0 -13
  426. package/contracts/workers/lib.rs +0 -2
  427. package/docs/error-spec.md +0 -55
  428. package/docs/layerzero-v2-on-stellar.md +0 -509
  429. package/docs/oapp-guide.md +0 -405
  430. package/docs/oft-guide.md +0 -404
  431. package/sdk/.turbo/turbo-build.log +0 -5
  432. package/sdk/.turbo/turbo-test.log +0 -1507
  433. package/sdk/LICENSE +0 -23
  434. package/sdk/dist/generated/bml.d.ts +0 -670
  435. package/sdk/dist/generated/bml.d.ts.map +0 -1
  436. package/sdk/dist/generated/bml.js +0 -292
  437. package/sdk/dist/generated/bml.js.map +0 -1
  438. package/sdk/dist/generated/counter.d.ts +0 -1253
  439. package/sdk/dist/generated/counter.d.ts.map +0 -1
  440. package/sdk/dist/generated/counter.js +0 -391
  441. package/sdk/dist/generated/counter.js.map +0 -1
  442. package/sdk/dist/generated/dvn.d.ts +0 -1569
  443. package/sdk/dist/generated/dvn.d.ts.map +0 -1
  444. package/sdk/dist/generated/dvn.js +0 -459
  445. package/sdk/dist/generated/dvn.js.map +0 -1
  446. package/sdk/dist/generated/dvn_fee_lib.d.ts +0 -587
  447. package/sdk/dist/generated/dvn_fee_lib.d.ts.map +0 -1
  448. package/sdk/dist/generated/dvn_fee_lib.js +0 -186
  449. package/sdk/dist/generated/dvn_fee_lib.js.map +0 -1
  450. package/sdk/dist/generated/endpoint.d.ts +0 -1304
  451. package/sdk/dist/generated/endpoint.d.ts.map +0 -1
  452. package/sdk/dist/generated/endpoint.js +0 -396
  453. package/sdk/dist/generated/endpoint.js.map +0 -1
  454. package/sdk/dist/generated/executor.d.ts +0 -1554
  455. package/sdk/dist/generated/executor.d.ts.map +0 -1
  456. package/sdk/dist/generated/executor.js +0 -447
  457. package/sdk/dist/generated/executor.js.map +0 -1
  458. package/sdk/dist/generated/executor_fee_lib.d.ts +0 -1037
  459. package/sdk/dist/generated/executor_fee_lib.d.ts.map +0 -1
  460. package/sdk/dist/generated/executor_fee_lib.js +0 -351
  461. package/sdk/dist/generated/executor_fee_lib.js.map +0 -1
  462. package/sdk/dist/generated/executor_helper.d.ts +0 -883
  463. package/sdk/dist/generated/executor_helper.d.ts.map +0 -1
  464. package/sdk/dist/generated/executor_helper.js +0 -354
  465. package/sdk/dist/generated/executor_helper.js.map +0 -1
  466. package/sdk/dist/generated/layerzero_view.d.ts +0 -1153
  467. package/sdk/dist/generated/layerzero_view.d.ts.map +0 -1
  468. package/sdk/dist/generated/layerzero_view.js +0 -457
  469. package/sdk/dist/generated/layerzero_view.js.map +0 -1
  470. package/sdk/dist/generated/oft.d.ts +0 -1638
  471. package/sdk/dist/generated/oft.d.ts.map +0 -1
  472. package/sdk/dist/generated/oft.js +0 -463
  473. package/sdk/dist/generated/oft.js.map +0 -1
  474. package/sdk/dist/generated/price_feed.d.ts +0 -787
  475. package/sdk/dist/generated/price_feed.d.ts.map +0 -1
  476. package/sdk/dist/generated/price_feed.js +0 -231
  477. package/sdk/dist/generated/price_feed.js.map +0 -1
  478. package/sdk/dist/generated/sac_manager.d.ts +0 -567
  479. package/sdk/dist/generated/sac_manager.d.ts.map +0 -1
  480. package/sdk/dist/generated/sac_manager.js +0 -198
  481. package/sdk/dist/generated/sac_manager.js.map +0 -1
  482. package/sdk/dist/generated/sml.d.ts +0 -934
  483. package/sdk/dist/generated/sml.d.ts.map +0 -1
  484. package/sdk/dist/generated/sml.js +0 -366
  485. package/sdk/dist/generated/sml.js.map +0 -1
  486. package/sdk/dist/generated/treasury.d.ts +0 -892
  487. package/sdk/dist/generated/treasury.d.ts.map +0 -1
  488. package/sdk/dist/generated/treasury.js +0 -352
  489. package/sdk/dist/generated/treasury.js.map +0 -1
  490. package/sdk/dist/generated/uln302.d.ts +0 -1268
  491. package/sdk/dist/generated/uln302.d.ts.map +0 -1
  492. package/sdk/dist/generated/uln302.js +0 -477
  493. package/sdk/dist/generated/uln302.js.map +0 -1
  494. package/sdk/dist/generated/upgrader.d.ts +0 -292
  495. package/sdk/dist/generated/upgrader.d.ts.map +0 -1
  496. package/sdk/dist/generated/upgrader.js +0 -144
  497. package/sdk/dist/generated/upgrader.js.map +0 -1
  498. package/sdk/dist/index.d.ts +0 -17
  499. package/sdk/dist/index.d.ts.map +0 -1
  500. package/sdk/dist/index.js +0 -21
  501. package/sdk/dist/index.js.map +0 -1
  502. package/sdk/node_modules/.bin/tsc +0 -21
  503. package/sdk/node_modules/.bin/tsserver +0 -21
  504. package/sdk/node_modules/.bin/vitest +0 -21
  505. package/sdk/package.json +0 -50
  506. package/sdk/src/index.ts +0 -23
  507. package/sdk/test/counter-sml.test.ts +0 -480
  508. package/sdk/test/counter-uln.test.ts +0 -584
  509. package/sdk/test/oft-sml.test.ts +0 -750
  510. package/sdk/test/sac-manager.test.ts +0 -464
  511. package/sdk/test/secp256k1.ts +0 -59
  512. package/sdk/test/suites/constants.ts +0 -51
  513. package/sdk/test/suites/deploy.ts +0 -312
  514. package/sdk/test/suites/dummyContractClient.ts +0 -168
  515. package/sdk/test/suites/globalSetup.ts +0 -604
  516. package/sdk/test/suites/localnet.ts +0 -192
  517. package/sdk/test/suites/scan.ts +0 -202
  518. package/sdk/test/test_data/test_upgradeable_dvn.wasm +0 -0
  519. package/sdk/test/upgrader.test.ts +0 -194
  520. package/sdk/test/utils.ts +0 -671
  521. package/sdk/tsconfig.json +0 -21
  522. package/sdk/tsconfig.test.json +0 -10
  523. package/sdk/turbo.json +0 -15
  524. package/sdk/vitest.config.ts +0 -21
  525. package/ts-bindings-gen.toml +0 -67
  526. package/turbo-snapshot.lock.json +0 -194
  527. package/turbo.json +0 -26
  528. package/{contracts/endpoint-v2 → endpoint-v2}/src/endpoint_v2.rs +0 -0
  529. package/{contracts/endpoint-v2 → endpoint-v2}/src/errors.rs +0 -0
  530. package/{contracts/endpoint-v2 → endpoint-v2}/src/events.rs +0 -0
  531. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_composer.rs +0 -0
  532. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_endpoint_v2.rs +0 -0
  533. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_receiver.rs +0 -0
  534. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/message_lib.rs +0 -0
  535. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/message_lib_manager.rs +0 -0
  536. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/messaging_channel.rs +0 -0
  537. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/messaging_composer.rs +0 -0
  538. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/mod.rs +0 -0
  539. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/send_lib.rs +0 -0
  540. package/{contracts/endpoint-v2 → endpoint-v2}/src/lib.rs +0 -0
  541. package/{contracts/endpoint-v2 → endpoint-v2}/src/message_lib_manager.rs +0 -0
  542. package/{contracts/endpoint-v2 → endpoint-v2}/src/messaging_channel.rs +0 -0
  543. package/{contracts/endpoint-v2 → endpoint-v2}/src/messaging_composer.rs +0 -0
  544. package/{contracts/endpoint-v2 → endpoint-v2}/src/storage.rs +0 -0
  545. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_setup.rs +0 -0
  546. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/build_outbound_packet.rs +0 -0
  547. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/clear.rs +0 -0
  548. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/delegate.rs +0 -0
  549. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/initializable.rs +0 -0
  550. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/lz_receive_alert.rs +0 -0
  551. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/mod.rs +0 -0
  552. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/native_token.rs +0 -0
  553. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/owner.rs +0 -0
  554. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/recover_token.rs +0 -0
  555. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/require_oapp_auth.rs +0 -0
  556. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/send.rs +0 -0
  557. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/set_delegate.rs +0 -0
  558. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/set_zro.rs +0 -0
  559. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/transfer_ownership.rs +0 -0
  560. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/verify.rs +0 -0
  561. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/zro.rs +0 -0
  562. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_receive_library.rs +0 -0
  563. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_receive_library_timeout.rs +0 -0
  564. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_send_library.rs +0 -0
  565. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_config.rs +0 -0
  566. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_library_index.rs +0 -0
  567. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_receive_library.rs +0 -0
  568. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_registered_libraries.rs +0 -0
  569. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_send_library.rs +0 -0
  570. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_registered_library.rs +0 -0
  571. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_supported_eid.rs +0 -0
  572. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_valid_receive_library.rs +0 -0
  573. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/mod.rs +0 -0
  574. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/receive_library_timeout.rs +0 -0
  575. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/register_library.rs +0 -0
  576. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/registered_libraries_count.rs +0 -0
  577. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_registered.rs +0 -0
  578. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_config.rs +0 -0
  579. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +0 -0
  580. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_receive_library.rs +0 -0
  581. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_send_library.rs +0 -0
  582. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_receive_library.rs +0 -0
  583. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_receive_library_timeout.rs +0 -0
  584. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_send_library.rs +0 -0
  585. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/timeout.rs +0 -0
  586. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/burn.rs +0 -0
  587. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound_nonce.rs +0 -0
  588. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound_payload_hash.rs +0 -0
  589. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/insert_and_drain_pending_nonces.rs +0 -0
  590. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/mod.rs +1 -1
  591. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/next_guid.rs +0 -0
  592. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/outbound.rs +0 -0
  593. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/outbound_nonce.rs +0 -0
  594. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/skip.rs +0 -0
  595. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/clear_compose.rs +0 -0
  596. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/compose_queue.rs +0 -0
  597. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/mod.rs +0 -0
  598. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/send_compose.rs +0 -0
  599. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/mock.rs +0 -0
  600. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/mod.rs +0 -0
  601. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/build_payload.rs +0 -0
  602. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/compute_guid.rs +0 -0
  603. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/keccak256.rs +0 -0
  604. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/mod.rs +0 -0
  605. /package/{contracts/endpoint-v2 → endpoint-v2}/src/util.rs +0 -0
  606. /package/{contracts/layerzero-views → layerzero-views}/src/errors.rs +0 -0
  607. /package/{contracts/layerzero-views → layerzero-views}/src/layerzero_view.rs +0 -0
  608. /package/{contracts/layerzero-views → layerzero-views}/src/lib.rs +0 -0
  609. /package/{contracts/layerzero-views → layerzero-views}/src/storage.rs +0 -0
  610. /package/{contracts/layerzero-views → layerzero-views}/src/tests/layerzero_view_tests.rs +0 -0
  611. /package/{contracts/layerzero-views → layerzero-views}/src/tests/mod.rs +0 -0
  612. /package/{contracts/layerzero-views → layerzero-views}/src/tests/setup.rs +0 -0
  613. /package/{contracts/layerzero-views → layerzero-views}/src/tests/types_tests.rs +0 -0
  614. /package/{contracts/layerzero-views → layerzero-views}/src/types.rs +0 -0
  615. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/lib.rs +0 -0
  616. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/blocked_message_lib_tests.rs +0 -0
  617. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/mod.rs +0 -0
  618. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/setup.rs +0 -0
  619. /package/{contracts/message-libs → message-libs}/message-lib-common/src/errors.rs +0 -0
  620. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/dvn.rs +0 -0
  621. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/executor.rs +0 -0
  622. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/mod.rs +0 -0
  623. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/treasury.rs +0 -0
  624. /package/{contracts/message-libs → message-libs}/message-lib-common/src/lib.rs +0 -0
  625. /package/{contracts/message-libs → message-libs}/message-lib-common/src/packet_codec_v1.rs +0 -0
  626. /package/{contracts/message-libs → message-libs}/message-lib-common/src/testing_utils.rs +0 -0
  627. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/mod.rs +0 -0
  628. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +0 -0
  629. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/encode_packet.rs +0 -0
  630. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/encode_packet_header.rs +0 -0
  631. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/mod.rs +0 -0
  632. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/payload.rs +0 -0
  633. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/payload_hash.rs +0 -0
  634. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/test_helper.rs +0 -0
  635. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_dvn_option.rs +0 -0
  636. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +0 -0
  637. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +0 -0
  638. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +0 -0
  639. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +0 -0
  640. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +0 -0
  641. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/mod.rs +0 -0
  642. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/split_worker_options.rs +0 -0
  643. /package/{contracts/message-libs → message-libs}/message-lib-common/src/worker_options.rs +0 -0
  644. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/errors.rs +0 -0
  645. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/lib.rs +0 -0
  646. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/simple_message_lib.rs +0 -0
  647. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/storage.rs +0 -0
  648. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/mod.rs +0 -0
  649. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/setup.rs +0 -0
  650. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/simple_message_lib_tests.rs +0 -0
  651. /package/{contracts/message-libs → message-libs}/treasury/src/errors.rs +0 -0
  652. /package/{contracts/message-libs → message-libs}/treasury/src/events.rs +0 -0
  653. /package/{contracts/message-libs → message-libs}/treasury/src/interfaces/mod.rs +0 -0
  654. /package/{contracts/message-libs → message-libs}/treasury/src/interfaces/zro_fee_lib.rs +0 -0
  655. /package/{contracts/message-libs → message-libs}/treasury/src/lib.rs +0 -0
  656. /package/{contracts/message-libs → message-libs}/treasury/src/storage.rs +0 -0
  657. /package/{contracts/message-libs → message-libs}/treasury/src/tests/mod.rs +0 -0
  658. /package/{contracts/message-libs → message-libs}/treasury/src/tests/setup.rs +0 -0
  659. /package/{contracts/message-libs → message-libs}/treasury/src/tests/treasury_tests.rs +0 -0
  660. /package/{contracts/message-libs → message-libs}/treasury/src/treasury.rs +0 -0
  661. /package/{contracts/message-libs → message-libs}/uln-302/src/errors.rs +0 -0
  662. /package/{contracts/message-libs → message-libs}/uln-302/src/events.rs +0 -0
  663. /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/mod.rs +0 -0
  664. /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/receive_uln.rs +0 -0
  665. /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/send_uln.rs +0 -0
  666. /package/{contracts/message-libs → message-libs}/uln-302/src/lib.rs +0 -0
  667. /package/{contracts/message-libs → message-libs}/uln-302/src/receive_uln.rs +0 -0
  668. /package/{contracts/message-libs → message-libs}/uln-302/src/send_uln.rs +0 -0
  669. /package/{contracts/message-libs → message-libs}/uln-302/src/storage.rs +0 -0
  670. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/mod.rs +0 -0
  671. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/oapp_uln_config.rs +0 -0
  672. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/uln_config.rs +0 -0
  673. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/mod.rs +0 -0
  674. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/commit_verification.rs +0 -0
  675. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/confirmations.rs +0 -0
  676. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +0 -0
  677. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/mod.rs +0 -0
  678. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +0 -0
  679. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/verifiable.rs +0 -0
  680. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/verify.rs +0 -0
  681. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/effective_executor_config.rs +0 -0
  682. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +0 -0
  683. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/mod.rs +0 -0
  684. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/quote.rs +0 -0
  685. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +0 -0
  686. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +0 -0
  687. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/setup.rs +0 -0
  688. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/testing_utils.rs +0 -0
  689. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_app_send_uln_config.rs +0 -0
  690. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_config.rs +0 -0
  691. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_oapp_executor_config.rs +0 -0
  692. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/mod.rs +0 -0
  693. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/set_config.rs +0 -0
  694. /package/{contracts/message-libs → message-libs}/uln-302/src/types.rs +0 -0
  695. /package/{contracts/message-libs → message-libs}/uln-302/src/uln302.rs +0 -0
  696. /package/{contracts/upgrader → upgrader}/src/lib.rs +0 -0
  697. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
  698. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
  699. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract3.wasm +0 -0
  700. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract4.wasm +0 -0
  701. /package/{contracts/upgrader → upgrader}/src/tests/test_upgrader.rs +0 -0
  702. /package/{contracts/workers → workers}/dvn/src/auth.rs +0 -0
  703. /package/{contracts/workers → workers}/dvn/src/dvn.rs +0 -0
  704. /package/{contracts/workers → workers}/dvn/src/errors.rs +0 -0
  705. /package/{contracts/workers → workers}/dvn/src/events.rs +0 -0
  706. /package/{contracts/workers → workers}/dvn/src/interfaces/dvn.rs +0 -0
  707. /package/{contracts/workers → workers}/dvn/src/interfaces/mod.rs +0 -0
  708. /package/{contracts/workers → workers}/dvn/src/lib.rs +0 -0
  709. /package/{contracts/workers → workers}/dvn/src/storage.rs +0 -0
  710. /package/{contracts/workers → workers}/dvn/src/tests/dvn.rs +0 -0
  711. /package/{contracts/workers → workers}/dvn/src/tests/key_pair.rs +0 -0
  712. /package/{contracts/workers → workers}/dvn/src/tests/mod.rs +0 -0
  713. /package/{contracts/workers → workers}/dvn/src/tests/setup.rs +0 -0
  714. /package/{contracts/workers → workers}/dvn-fee-lib/src/dvn_fee_lib.rs +0 -0
  715. /package/{contracts/workers → workers}/dvn-fee-lib/src/errors.rs +0 -0
  716. /package/{contracts/workers → workers}/dvn-fee-lib/src/lib.rs +0 -0
  717. /package/{contracts/workers → workers}/dvn-fee-lib/src/tests/dvn_fee_lib.rs +0 -0
  718. /package/{contracts/workers → workers}/dvn-fee-lib/src/tests/mod.rs +0 -0
  719. /package/{contracts/workers → workers}/executor/src/errors.rs +0 -0
  720. /package/{contracts/workers → workers}/executor/src/events.rs +0 -0
  721. /package/{contracts/workers → workers}/executor/src/executor.rs +0 -0
  722. /package/{contracts/workers → workers}/executor/src/interfaces/executor.rs +0 -0
  723. /package/{contracts/workers → workers}/executor/src/interfaces/mod.rs +0 -0
  724. /package/{contracts/workers → workers}/executor/src/lib.rs +0 -0
  725. /package/{contracts/workers → workers}/executor/src/tests/mod.rs +0 -0
  726. /package/{contracts/workers → workers}/executor-fee-lib/src/errors.rs +0 -0
  727. /package/{contracts/workers → workers}/executor-fee-lib/src/executor_fee_lib.rs +0 -0
  728. /package/{contracts/workers → workers}/executor-fee-lib/src/executor_option.rs +0 -0
  729. /package/{contracts/workers → workers}/executor-fee-lib/src/lib.rs +0 -0
  730. /package/{contracts/workers → workers}/executor-fee-lib/src/tests/mod.rs +0 -0
  731. /package/{contracts/workers → workers}/executor-fee-lib/src/tests/setup.rs +0 -0
  732. /package/{contracts/workers → workers}/executor-helper/src/lib.rs +0 -0
  733. /package/{contracts/workers → workers}/executor-helper/src/tests/mod.rs +0 -0
  734. /package/{contracts/workers → workers}/executor-helper/src/tests/setup.rs +0 -0
  735. /package/{contracts/workers → workers}/fee-lib-interfaces/src/dvn_fee_lib.rs +0 -0
  736. /package/{contracts/workers → workers}/fee-lib-interfaces/src/executor_fee_lib.rs +0 -0
  737. /package/{contracts/workers → workers}/fee-lib-interfaces/src/lib.rs +0 -0
  738. /package/{contracts/workers → workers}/fee-lib-interfaces/src/price_feed.rs +0 -0
  739. /package/{contracts/workers → workers}/price-feed/src/errors.rs +0 -0
  740. /package/{contracts/workers → workers}/price-feed/src/events.rs +0 -0
  741. /package/{contracts/workers → workers}/price-feed/src/lib.rs +0 -0
  742. /package/{contracts/workers → workers}/price-feed/src/price_feed.rs +0 -0
  743. /package/{contracts/workers → workers}/price-feed/src/storage.rs +0 -0
  744. /package/{contracts/workers → workers}/price-feed/src/tests/mod.rs +0 -0
  745. /package/{contracts/workers → workers}/price-feed/src/tests/setup.rs +0 -0
  746. /package/{contracts/workers → workers}/price-feed/src/types.rs +0 -0
  747. /package/{contracts/workers → workers}/worker/src/errors.rs +0 -0
  748. /package/{contracts/workers → workers}/worker/src/events.rs +0 -0
  749. /package/{contracts/workers → workers}/worker/src/lib.rs +0 -0
  750. /package/{contracts/workers → workers}/worker/src/storage.rs +0 -0
  751. /package/{contracts/workers → workers}/worker/src/tests/mod.rs +0 -0
  752. /package/{contracts/workers → workers}/worker/src/tests/setup.rs +0 -0
  753. /package/{contracts/workers → workers}/worker/src/worker.rs +0 -0
@@ -1,281 +0,0 @@
1
- use common_macros::{contract_error, contract_trait, only_role, storage};
2
- use soroban_sdk::{assert_with_error, contractevent, token::TokenClient, Address, Env};
3
- use utils::{
4
- option_ext::OptionExt,
5
- rbac::{RoleBasedAccessControl, AUTHORIZER},
6
- };
7
-
8
- /// Role for fee configuration (set_default_fee_bps, set_fee_bps).
9
- pub const FEE_CONFIG_MANAGER_ROLE: &str = "FEE_CONFIG_MANAGER_ROLE";
10
-
11
- /// Base fee in basis points (10,000 BPS = 100%)
12
- /// Used as denominator in fee calculations
13
- const BASE_FEE_BPS: u32 = 10_000;
14
-
15
- // =========================================================================
16
- // Storage
17
- // =========================================================================
18
-
19
- #[storage]
20
- pub enum OFTFeeStorage {
21
- /// Default fee rate in basis points (1-10,000, where 10,000 = 100%)
22
- /// Applied to destinations without specific fee configuration
23
- /// Not set by default (effective rate is 0 when unset)
24
- #[instance(u32)]
25
- DefaultFeeBps,
26
-
27
- /// Destination-specific fee rates mapped by endpoint ID (eid)
28
- #[persistent(u32)]
29
- FeeBps { eid: u32 },
30
-
31
- /// Address where collected fees will be deposited
32
- #[instance(Address)]
33
- FeeDepositAddress,
34
- }
35
-
36
- // =========================================================================
37
- // Errors
38
- // =========================================================================
39
-
40
- #[contract_error]
41
- pub enum OFTFeeError {
42
- InvalidFeeBps = 3100,
43
- InvalidFeeDepositAddress,
44
- SameValue,
45
- }
46
-
47
- // =========================================================================
48
- // Events
49
- // =========================================================================
50
-
51
- #[contractevent]
52
- #[derive(Clone, Debug, Eq, PartialEq)]
53
- pub struct DefaultFeeBpsSet {
54
- /// The default fee rate in basis points, or None if the default fee is removed
55
- pub fee_bps: Option<u32>,
56
- }
57
-
58
- #[contractevent]
59
- #[derive(Clone, Debug, Eq, PartialEq)]
60
- pub struct FeeBpsSet {
61
- pub dst_eid: u32,
62
- /// The fee rate in basis points, or None if the fee is removed
63
- pub fee_bps: Option<u32>,
64
- }
65
-
66
- #[contractevent]
67
- #[derive(Clone, Debug, Eq, PartialEq)]
68
- pub struct FeeDepositAddressSet {
69
- /// The address to deposit fees to, or None to remove the fee deposit address
70
- pub fee_deposit_address: Option<Address>,
71
- }
72
-
73
- // =========================================================================
74
- // Trait With Default Implementations
75
- // =========================================================================
76
-
77
- #[contract_trait]
78
- pub trait OFTFee: OFTFeeInternal + RoleBasedAccessControl {
79
- // =========================================================================
80
- // Management Functions
81
- // =========================================================================
82
-
83
- /// Sets or removes the default fee rate in basis points.
84
- ///
85
- /// - `Some(n)`: sets the default fee to `n` basis points (must be >0 and <=10,000).
86
- /// - `Some(0)`: rejected — use `None` to remove the default fee instead.
87
- /// - `None`: removes the default fee (effective rate becomes 0).
88
- /// * `operator` - The address that must have FEE_CONFIG_MANAGER_ROLE
89
- #[only_role(operator, FEE_CONFIG_MANAGER_ROLE)]
90
- fn set_default_fee_bps(env: &soroban_sdk::Env, default_fee_bps: &Option<u32>, operator: &soroban_sdk::Address) {
91
- Self::__set_default_fee_bps(env, default_fee_bps);
92
- }
93
-
94
- /// Sets or removes the fee rate for a specific destination endpoint.
95
- ///
96
- /// - `Some(0)`: explicitly sets zero fee for this destination, overriding the default fee.
97
- /// - `None`: removes the per-destination override; falls back to the default fee.
98
- ///
99
- /// # Arguments
100
- /// * `dst_eid` - The destination endpoint ID
101
- /// * `fee_bps` - The fee rate (0-10,000), or None to remove the fee configuration
102
- /// * `operator` - The address that must have FEE_CONFIG_MANAGER_ROLE
103
- #[only_role(operator, FEE_CONFIG_MANAGER_ROLE)]
104
- fn set_fee_bps(env: &soroban_sdk::Env, dst_eid: u32, fee_bps: &Option<u32>, operator: &soroban_sdk::Address) {
105
- Self::__set_fee_bps(env, dst_eid, fee_bps);
106
- }
107
-
108
- /// Sets or removes the address where collected fees will be deposited.
109
- ///
110
- /// # Arguments
111
- /// * `fee_deposit_address` - The address to deposit fees to, or None to remove the fee deposit address
112
- /// * `operator` - The authorizer address
113
- #[only_role(operator, AUTHORIZER)]
114
- fn set_fee_deposit_address(
115
- env: &soroban_sdk::Env,
116
- fee_deposit_address: &Option<soroban_sdk::Address>,
117
- operator: &soroban_sdk::Address,
118
- ) {
119
- Self::__set_fee_deposit_address(env, fee_deposit_address);
120
- }
121
-
122
- // =========================================================================
123
- // View Functions
124
- // =========================================================================
125
-
126
- /// Returns the default fee rate in basis points, if set.
127
- fn default_fee_bps(env: &soroban_sdk::Env) -> Option<u32> {
128
- Self::__default_fee_bps(env)
129
- }
130
-
131
- /// Returns the fee rate for a specific destination, if set.
132
- fn fee_bps(env: &soroban_sdk::Env, dst_eid: u32) -> Option<u32> {
133
- Self::__fee_bps(env, dst_eid)
134
- }
135
-
136
- /// Returns the effective fee rate for a destination (destination-specific or default).
137
- fn effective_fee_bps(env: &soroban_sdk::Env, dst_eid: u32) -> u32 {
138
- Self::__effective_fee_bps(env, dst_eid)
139
- }
140
-
141
- /// Returns true if the OFT has a fee rate greater than 0 for the specified destination
142
- fn has_oft_fee(env: &soroban_sdk::Env, dst_eid: u32) -> bool {
143
- Self::__effective_fee_bps(env, dst_eid) > 0
144
- }
145
-
146
- /// Returns the fee deposit address.
147
- fn fee_deposit_address(env: &soroban_sdk::Env) -> Option<soroban_sdk::Address> {
148
- Self::__fee_deposit_address(env)
149
- }
150
- }
151
-
152
- /// Internal trait for OFT fee operations used by OFT hooks.
153
- /// Contains only truly internal methods that are called from OFTFee implementations.
154
- pub trait OFTFeeInternal {
155
- // =========================================================================
156
- // OFT Hooks
157
- // =========================================================================
158
-
159
- /// Calculates the fee amount for a given transfer (read-only).
160
- /// Used internally by `__debit_view` to calculate the fee.
161
- ///
162
- /// # Arguments
163
- /// * `dst_eid` - Destination endpoint ID to determine which fee rate to apply
164
- /// * `amount_ld` - The original amount in local decimals
165
- ///
166
- /// # Returns
167
- /// The fee amount to be deducted
168
- fn __fee_view(env: &Env, dst_eid: u32, amount_ld: i128) -> i128 {
169
- let fee_bps = Self::__effective_fee_bps(env, dst_eid);
170
- if fee_bps == 0 {
171
- return 0;
172
- }
173
-
174
- // Check that fee deposit address is set (required for fee collection)
175
- assert_with_error!(env, OFTFeeStorage::has_fee_deposit_address(env), OFTFeeError::InvalidFeeDepositAddress);
176
-
177
- (amount_ld * fee_bps as i128) / BASE_FEE_BPS as i128
178
- }
179
-
180
- /// Charges the fee by transferring the fee amount from the sender to the fee deposit address.
181
- /// Used internally by `__debit` to collect the fee.
182
- ///
183
- /// # Arguments
184
- /// * `token` - The token address to transfer
185
- /// * `from` - The address to transfer fee from
186
- /// * `fee_amount` - The fee amount to transfer
187
- fn __charge_fee(env: &Env, token: &Address, from: &Address, fee_amount: i128) {
188
- if fee_amount != 0 {
189
- let fee_deposit =
190
- Self::__fee_deposit_address(env).unwrap_or_panic(env, OFTFeeError::InvalidFeeDepositAddress);
191
- TokenClient::new(env, token).transfer(from, &fee_deposit, &fee_amount);
192
- }
193
- }
194
-
195
- // =========================================================================
196
- // Management Functions
197
- // =========================================================================
198
-
199
- /// Sets or removes the default fee rate in basis points.
200
- ///
201
- /// # Arguments
202
- /// * `default_fee_bps` - The default fee rate (>0 and <=10,000, where 10,000 = 100%) or None to remove the default fee rate
203
- fn __set_default_fee_bps(env: &Env, default_fee_bps: &Option<u32>) {
204
- let current = Self::__default_fee_bps(env);
205
- assert_with_error!(env, current != *default_fee_bps, OFTFeeError::SameValue);
206
- assert_with_error!(
207
- env,
208
- default_fee_bps.is_none_or(|bps| bps > 0 && bps <= BASE_FEE_BPS),
209
- OFTFeeError::InvalidFeeBps
210
- );
211
-
212
- OFTFeeStorage::set_or_remove_default_fee_bps(env, default_fee_bps);
213
- DefaultFeeBpsSet { fee_bps: *default_fee_bps }.publish(env);
214
- }
215
-
216
- /// Sets or removes the fee rate for a specific destination endpoint.
217
- ///
218
- /// - `Some(0)`: explicitly sets zero fee for this destination, overriding the default fee.
219
- /// - `None`: removes the per-destination override; falls back to the default fee.
220
- ///
221
- /// # Arguments
222
- /// * `dst_eid` - The destination endpoint ID
223
- /// * `fee_bps` - The fee rate (0-10,000), or None to remove the fee configuration
224
- fn __set_fee_bps(env: &Env, dst_eid: u32, fee_bps: &Option<u32>) {
225
- let current_fee_bps = Self::__fee_bps(env, dst_eid);
226
- assert_with_error!(env, current_fee_bps != *fee_bps, OFTFeeError::SameValue);
227
- assert_with_error!(env, fee_bps.is_none_or(|bps| bps <= BASE_FEE_BPS), OFTFeeError::InvalidFeeBps);
228
-
229
- OFTFeeStorage::set_or_remove_fee_bps(env, dst_eid, fee_bps);
230
-
231
- FeeBpsSet { dst_eid, fee_bps: *fee_bps }.publish(env);
232
- }
233
-
234
- /// Sets or removes the address where collected fees will be deposited.
235
- ///
236
- /// # Arguments
237
- /// * `fee_deposit_address` - The address to deposit fees to, or None to remove the fee deposit address
238
- fn __set_fee_deposit_address(env: &Env, fee_deposit_address: &Option<Address>) {
239
- let current = Self::__fee_deposit_address(env);
240
- assert_with_error!(env, current != *fee_deposit_address, OFTFeeError::SameValue);
241
- OFTFeeStorage::set_or_remove_fee_deposit_address(env, fee_deposit_address);
242
- FeeDepositAddressSet { fee_deposit_address: fee_deposit_address.clone() }.publish(env);
243
- }
244
-
245
- // =========================================================================
246
- // View Functions
247
- // =========================================================================
248
-
249
- /// Returns the effective fee rate for a destination (destination-specific or default, 0 if neither).
250
- fn __effective_fee_bps(env: &Env, dst_eid: u32) -> u32 {
251
- Self::__fee_bps(env, dst_eid).or_else(|| Self::__default_fee_bps(env)).unwrap_or(0)
252
- }
253
-
254
- /// Returns the default fee rate in basis points, if set.
255
- fn __default_fee_bps(env: &Env) -> Option<u32> {
256
- OFTFeeStorage::default_fee_bps(env)
257
- }
258
-
259
- /// Returns the fee rate for a specific destination, if set.
260
- fn __fee_bps(env: &Env, dst_eid: u32) -> Option<u32> {
261
- OFTFeeStorage::fee_bps(env, dst_eid)
262
- }
263
-
264
- /// Returns the fee deposit address.
265
- fn __fee_deposit_address(env: &Env) -> Option<Address> {
266
- OFTFeeStorage::fee_deposit_address(env)
267
- }
268
-
269
- /// Back-calculates the pre-fee amount given a post-fee amount.
270
- /// Returns the smallest `x` such that `x - fee(x) >= amount_after_fee`.
271
- fn __amount_before_fee(env: &Env, dst_eid: u32, amount_after_fee: i128) -> i128 {
272
- let fee_bps = Self::__effective_fee_bps(env, dst_eid);
273
- if fee_bps == 0 {
274
- return amount_after_fee;
275
- }
276
- if fee_bps == BASE_FEE_BPS {
277
- return 0;
278
- }
279
- (amount_after_fee * BASE_FEE_BPS as i128) / (BASE_FEE_BPS - fee_bps) as i128
280
- }
281
- }
@@ -1,119 +0,0 @@
1
- use common_macros::{contract_error, contract_trait, only_role, storage};
2
- use soroban_sdk::{assert_with_error, contractevent, Env};
3
- use utils::rbac::RoleBasedAccessControl;
4
-
5
- /// Role for pausing the contract.
6
- pub const PAUSER_ROLE: &str = "PAUSER_ROLE";
7
-
8
- /// Role for unpausing the contract.
9
- pub const UNPAUSER_ROLE: &str = "UNPAUSER_ROLE";
10
-
11
- // =========================================================================
12
- // Storage
13
- // =========================================================================
14
-
15
- #[storage]
16
- pub enum OFTPausableStorage {
17
- #[instance(bool)]
18
- Paused,
19
- }
20
-
21
- // =========================================================================
22
- // Errors
23
- // =========================================================================
24
-
25
- #[contract_error]
26
- pub enum OFTPausableError {
27
- Paused = 3110,
28
- PauseStatusUnchanged,
29
- }
30
-
31
- // =========================================================================
32
- // Events
33
- // =========================================================================
34
-
35
- #[contractevent]
36
- #[derive(Clone, Debug, Eq, PartialEq)]
37
- pub struct PausedSet {
38
- pub paused: bool,
39
- }
40
-
41
- // =========================================================================
42
- // Trait With Default Implementations
43
- // =========================================================================
44
-
45
- #[contract_trait]
46
- pub trait OFTPausable: OFTPausableInternal + RoleBasedAccessControl {
47
- // =========================================================================
48
- // Management Functions
49
- // =========================================================================
50
-
51
- /// Pauses the OFT. When paused, the OFT will reject new send/receive/quote_send/quote_oft operations.
52
- ///
53
- /// # Arguments
54
- /// * `operator` - The address that must have PAUSER_ROLE
55
- #[only_role(operator, PAUSER_ROLE)]
56
- fn pause(env: &soroban_sdk::Env, operator: &soroban_sdk::Address) {
57
- Self::__set_paused(env, true);
58
- }
59
-
60
- /// Unpauses the OFT.
61
- ///
62
- /// # Arguments
63
- /// * `operator` - The address that must have UNPAUSER_ROLE
64
- #[only_role(operator, UNPAUSER_ROLE)]
65
- fn unpause(env: &soroban_sdk::Env, operator: &soroban_sdk::Address) {
66
- Self::__set_paused(env, false);
67
- }
68
-
69
- // =========================================================================
70
- // View Functions
71
- // =========================================================================
72
-
73
- /// Returns the paused state of the OFT.
74
- fn is_paused(env: &soroban_sdk::Env) -> bool {
75
- Self::__is_paused(env)
76
- }
77
- }
78
-
79
- /// Internal trait for pausable operations used by OFT hooks.
80
- /// Contains only truly internal methods that are called from OFTPausable implementations.
81
- pub trait OFTPausableInternal {
82
- // =========================================================================
83
- // OFT Hooks
84
- // =========================================================================
85
-
86
- /// Asserts that the OFT is not paused, panics otherwise.
87
- /// Used internally by `send`, `quote_send`, `quote_oft`, and `__lz_receive` to enforce pause state.
88
- ///
89
- /// # Errors
90
- /// * `Paused` - If the OFT is currently paused.
91
- fn __assert_not_paused(env: &Env) {
92
- assert_with_error!(env, !Self::__is_paused(env), OFTPausableError::Paused);
93
- }
94
-
95
- // =========================================================================
96
- // Management Functions
97
- // =========================================================================
98
-
99
- /// Sets the paused state of the OFT.
100
- ///
101
- /// When paused, the OFT will reject new send/receive/quote_send/quote_oft operations.
102
- ///
103
- /// # Arguments
104
- /// * `paused` - `true` to pause, `false` to unpause
105
- fn __set_paused(env: &Env, paused: bool) {
106
- assert_with_error!(env, Self::__is_paused(env) != paused, OFTPausableError::PauseStatusUnchanged);
107
- OFTPausableStorage::set_or_remove_paused(env, if paused { &Some(true) } else { &None });
108
- PausedSet { paused }.publish(env);
109
- }
110
-
111
- // =========================================================================
112
- // View Functions
113
- // =========================================================================
114
-
115
- /// Returns the paused state of the OFT.
116
- fn __is_paused(env: &Env) -> bool {
117
- OFTPausableStorage::has_paused(env)
118
- }
119
- }
@@ -1,286 +0,0 @@
1
- use crate as oft;
2
- use common_macros::{contract_error, contract_trait, only_role, storage};
3
- use soroban_sdk::{assert_with_error, contractevent, contracttype, Env};
4
- use utils::rbac::RoleBasedAccessControl;
5
-
6
- /// Role for rate limiter configuration (set_rate_limit).
7
- pub const RATE_LIMITER_MANAGER_ROLE: &str = "RATE_LIMITER_MANAGER_ROLE";
8
-
9
- // =========================================================================
10
- // Types
11
- // =========================================================================
12
-
13
- #[contracttype]
14
- #[derive(Clone, Debug, Eq, PartialEq)]
15
- #[repr(u8)]
16
- pub enum Direction {
17
- Inbound,
18
- Outbound,
19
- }
20
-
21
- #[contracttype]
22
- #[derive(Clone, Debug, Eq, PartialEq)]
23
- #[repr(u8)]
24
- pub enum Mode {
25
- /// Net rate limit: releases decrement in-flight amount
26
- Net,
27
- /// Gross rate limit: releases do not affect in-flight amount
28
- Gross,
29
- }
30
-
31
- /// Configuration for rate limiting, used as input parameter.
32
- #[contracttype]
33
- #[derive(Clone, Debug, Eq, PartialEq)]
34
- pub struct RateLimitConfig {
35
- pub limit: i128,
36
- pub window_seconds: u64,
37
- pub mode: Mode,
38
- }
39
-
40
- /// Internal storage struct for rate limit state.
41
- ///
42
- /// The rate limiter uses a "leaky bucket" algorithm where:
43
- /// - `config.limit` defines the maximum tokens that can be "in flight" at any time
44
- /// - `config.window_seconds` defines how long it takes for the bucket to fully drain
45
- /// - Tokens decay linearly over time: `decay = elapsed_time * limit / window_seconds`
46
- /// - Current in-flight = `in_flight_on_last_update - decay` (clamped to 0)
47
- /// - `config.mode` determines whether releases affect in-flight (Net) or not (Gross)
48
- #[contracttype]
49
- #[derive(Clone, Debug, Eq, PartialEq)]
50
- struct RateLimitState {
51
- /// The rate limit configuration (limit and window_seconds)
52
- config: RateLimitConfig,
53
- /// The in-flight amount at the time of `last_update` (before decay is applied)
54
- in_flight_on_last_update: i128,
55
- /// Timestamp of the last update (used to calculate decay)
56
- last_update: u64,
57
- }
58
-
59
- // =========================================================================
60
- // Storage
61
- // =========================================================================
62
-
63
- #[storage]
64
- enum RateLimitStorage {
65
- #[persistent(RateLimitState)]
66
- RateLimit { direction: Direction, eid: u32 },
67
- }
68
-
69
- // =========================================================================
70
- // Errors
71
- // =========================================================================
72
-
73
- #[contract_error]
74
- pub enum RateLimitError {
75
- ExceededRateLimit = 3120,
76
- InvalidAmount,
77
- InvalidTimestamp,
78
- InvalidConfig,
79
- SameValue,
80
- }
81
-
82
- // =========================================================================
83
- // Events
84
- // =========================================================================
85
-
86
- #[contractevent]
87
- #[derive(Clone, Debug, Eq, PartialEq)]
88
- pub struct RateLimitSet {
89
- pub direction: Direction,
90
- pub eid: u32,
91
- /// The rate limit configuration, or None if the rate limit is removed
92
- pub config: Option<RateLimitConfig>,
93
- }
94
-
95
- // =========================================================================
96
- // Trait With Default Implementations
97
- // =========================================================================
98
-
99
- #[contract_trait]
100
- pub trait RateLimiter: RateLimiterInternal + RoleBasedAccessControl {
101
- // =========================================================================
102
- // Management Functions
103
- // =========================================================================
104
-
105
- /// Sets or removes a rate limit for a specific direction and endpoint.
106
- ///
107
- /// # Arguments
108
- /// * `direction` - The direction (Inbound or Outbound)
109
- /// * `eid` - The endpoint ID
110
- /// * `config` - The rate limit configuration, or None to remove the rate limit
111
- /// * `operator` - The address that must have RATE_LIMITER_MANAGER_ROLE
112
- #[only_role(operator, RATE_LIMITER_MANAGER_ROLE)]
113
- fn set_rate_limit(
114
- env: &soroban_sdk::Env,
115
- direction: &oft::rate_limiter::Direction,
116
- eid: u32,
117
- config: &Option<oft::rate_limiter::RateLimitConfig>,
118
- operator: &soroban_sdk::Address,
119
- ) {
120
- Self::__set_rate_limit(env, direction, eid, config);
121
- }
122
-
123
- // =========================================================================
124
- // View Functions
125
- // =========================================================================
126
-
127
- /// Returns the rate limit configuration for a direction and endpoint.
128
- /// Returns None if no rate limit is configured.
129
- fn rate_limit_config(
130
- env: &soroban_sdk::Env,
131
- direction: &oft::rate_limiter::Direction,
132
- eid: u32,
133
- ) -> Option<oft::rate_limiter::RateLimitConfig> {
134
- Self::__rate_limit_config(env, direction, eid)
135
- }
136
-
137
- /// Returns the current in-flight amount for a direction and endpoint.
138
- fn rate_limit_in_flight(env: &soroban_sdk::Env, direction: &oft::rate_limiter::Direction, eid: u32) -> i128 {
139
- Self::__rate_limit_in_flight(env, direction, eid)
140
- }
141
-
142
- /// Returns the available capacity for a direction and endpoint.
143
- /// Returns i128::MAX if no rate limit is configured.
144
- fn rate_limit_capacity(env: &soroban_sdk::Env, direction: &oft::rate_limiter::Direction, eid: u32) -> i128 {
145
- Self::__rate_limit_capacity(env, direction, eid)
146
- }
147
- }
148
-
149
- /// Internal trait for rate limiter operations used by OFT hooks.
150
- /// Contains only truly internal methods that are called from OFTInternal implementations.
151
- pub trait RateLimiterInternal {
152
- // =========================================================================
153
- // OFT Hooks
154
- // =========================================================================
155
-
156
- /// Consumes the specified amount from the rate limit capacity.
157
- /// Used internally by `__debit` and `__credit` to enforce rate limits.
158
- ///
159
- /// # Errors
160
- /// * `ExceededRateLimit` - If the amount exceeds the available capacity.
161
- fn __consume_rate_limit_capacity(env: &Env, direction: &Direction, eid: u32, amount: i128) {
162
- assert_with_error!(env, amount >= 0, RateLimitError::InvalidAmount);
163
-
164
- let Some(mut state) = RateLimitStorage::rate_limit(env, direction, eid) else {
165
- return;
166
- };
167
-
168
- // Apply decay and update timestamp
169
- let in_flight = calculate_decayed_in_flight(env, &state);
170
- state.in_flight_on_last_update = in_flight;
171
- state.last_update = env.ledger().timestamp();
172
-
173
- // Check capacity and consume
174
- let capacity = (state.config.limit - in_flight).max(0);
175
- assert_with_error!(env, amount <= capacity, RateLimitError::ExceededRateLimit);
176
- state.in_flight_on_last_update += amount;
177
-
178
- RateLimitStorage::set_rate_limit(env, direction, eid, &state);
179
- }
180
-
181
- /// Releases the specified amount back to the rate limit capacity.
182
- /// Used internally by `__credit` to release outbound capacity on inbound messages.
183
- /// Only releases for Net mode; Gross mode ignores releases.
184
- fn __release_rate_limit_capacity(env: &Env, direction: &Direction, eid: u32, amount: i128) {
185
- assert_with_error!(env, amount >= 0, RateLimitError::InvalidAmount);
186
-
187
- let Some(mut state) = RateLimitStorage::rate_limit(env, direction, eid) else {
188
- return;
189
- };
190
-
191
- // Gross mode does not release capacity
192
- if state.config.mode == Mode::Gross {
193
- return;
194
- }
195
-
196
- // Apply decay and update timestamp
197
- let in_flight = calculate_decayed_in_flight(env, &state);
198
- state.in_flight_on_last_update = (in_flight - amount).max(0);
199
- state.last_update = env.ledger().timestamp();
200
-
201
- RateLimitStorage::set_rate_limit(env, direction, eid, &state);
202
- }
203
-
204
- // =========================================================================
205
- // Management Functions
206
- // =========================================================================
207
-
208
- /// Sets or removes a rate limit for a specific direction and endpoint.
209
- ///
210
- /// # Arguments
211
- /// * `direction` - The direction (Inbound or Outbound)
212
- /// * `eid` - The endpoint ID
213
- /// * `config` - The rate limit configuration, or None to remove the rate limit
214
- fn __set_rate_limit(env: &Env, direction: &Direction, eid: u32, config: &Option<RateLimitConfig>) {
215
- let current_state = RateLimitStorage::rate_limit(env, direction, eid);
216
- let current_config = current_state.as_ref().map(|s| s.config.clone());
217
- assert_with_error!(env, current_config != *config, RateLimitError::SameValue);
218
-
219
- match config {
220
- Some(cfg) => {
221
- assert_with_error!(env, cfg.limit >= 0 && cfg.window_seconds > 0, RateLimitError::InvalidConfig);
222
-
223
- let state = if let Some(mut existing) = current_state {
224
- // Update existing: checkpoint in-flight before changing config
225
- existing.in_flight_on_last_update = calculate_decayed_in_flight(env, &existing);
226
- existing.last_update = env.ledger().timestamp();
227
- existing.config = cfg.clone();
228
- existing
229
- } else {
230
- // Create new
231
- RateLimitState {
232
- config: cfg.clone(),
233
- in_flight_on_last_update: 0,
234
- last_update: env.ledger().timestamp(),
235
- }
236
- };
237
-
238
- RateLimitStorage::set_rate_limit(env, direction, eid, &state);
239
- }
240
- None => {
241
- RateLimitStorage::remove_rate_limit(env, direction, eid);
242
- }
243
- }
244
- RateLimitSet { direction: direction.clone(), eid, config: config.clone() }.publish(env);
245
- }
246
-
247
- // =========================================================================
248
- // View Functions
249
- // =========================================================================
250
-
251
- /// Returns the rate limit configuration for a direction and endpoint.
252
- /// Returns None if no rate limit is configured.
253
- fn __rate_limit_config(env: &Env, direction: &Direction, eid: u32) -> Option<RateLimitConfig> {
254
- RateLimitStorage::rate_limit(env, direction, eid).map(|s| s.config)
255
- }
256
-
257
- /// Returns the current in-flight amount for a direction and endpoint.
258
- fn __rate_limit_in_flight(env: &Env, direction: &Direction, eid: u32) -> i128 {
259
- RateLimitStorage::rate_limit(env, direction, eid).map(|s| calculate_decayed_in_flight(env, &s)).unwrap_or(0)
260
- }
261
-
262
- /// Returns the available capacity for a direction and endpoint.
263
- /// Returns i128::MAX if no rate limit is configured.
264
- fn __rate_limit_capacity(env: &Env, direction: &Direction, eid: u32) -> i128 {
265
- RateLimitStorage::rate_limit(env, direction, eid)
266
- .map(|s| (s.config.limit - calculate_decayed_in_flight(env, &s)).max(0))
267
- .unwrap_or(i128::MAX)
268
- }
269
- }
270
-
271
- // =========================================================================
272
- // Helper Functions
273
- // =========================================================================
274
-
275
- /// Calculates the current in-flight amount with decay applied.
276
- /// This is a pure function that doesn't access storage.
277
- fn calculate_decayed_in_flight(env: &Env, state: &RateLimitState) -> i128 {
278
- let timestamp = env.ledger().timestamp();
279
- assert_with_error!(env, timestamp >= state.last_update, RateLimitError::InvalidTimestamp);
280
-
281
- let elapsed = timestamp - state.last_update;
282
- let decay = (elapsed as i128).saturating_mul(state.config.limit) / (state.config.window_seconds as i128);
283
-
284
- // Ensure the decayed in-flight amount is not negative
285
- (state.in_flight_on_last_update - decay).max(0)
286
- }