@layerzerolabs/protocol-stellar-v2 0.2.121 → 0.2.122

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 (752) hide show
  1. package/Cargo.toml +22 -37
  2. package/docs/error-spec.md +24 -24
  3. package/docs/layerzero-v2-on-stellar.md +8 -6
  4. package/docs/oapp-guide.md +2 -402
  5. package/docs/oft-guide.md +2 -401
  6. package/{contracts/endpoint-v2 → endpoint-v2}/Cargo.toml +3 -2
  7. package/{contracts/layerzero-views → layerzero-views}/Cargo.toml +1 -6
  8. package/{contracts/message-libs → message-libs}/blocked-message-lib/Cargo.toml +0 -1
  9. package/{contracts/message-libs → message-libs}/message-lib-common/Cargo.toml +2 -2
  10. package/{contracts/message-libs → message-libs}/simple-message-lib/Cargo.toml +1 -2
  11. package/{contracts/message-libs → message-libs}/treasury/Cargo.toml +1 -2
  12. package/{contracts/message-libs → message-libs}/uln-302/Cargo.toml +3 -2
  13. package/package.json +32 -15
  14. package/rustfmt.toml +0 -2
  15. package/{contracts/upgrader → upgrader}/Cargo.toml +0 -1
  16. package/{contracts/workers → workers}/dvn/Cargo.toml +1 -2
  17. package/{contracts/workers → workers}/dvn-fee-lib/Cargo.toml +1 -2
  18. package/{contracts/workers → workers}/executor/Cargo.toml +3 -2
  19. package/{contracts/workers → workers}/executor-fee-lib/Cargo.toml +1 -2
  20. package/{contracts/workers → workers}/executor-helper/Cargo.toml +0 -1
  21. package/{contracts/workers → workers}/fee-lib-interfaces/Cargo.toml +0 -1
  22. package/{contracts/workers → workers}/price-feed/Cargo.toml +1 -2
  23. package/{contracts/workers → workers}/worker/Cargo.toml +0 -1
  24. package/.turbo/turbo-build.log +0 -1363
  25. package/.turbo/turbo-lint.log +0 -401
  26. package/.turbo/turbo-test.log +0 -1952
  27. package/Cargo.lock +0 -2357
  28. package/contracts/common-macros/Cargo.toml +0 -20
  29. package/contracts/common-macros/src/auth.rs +0 -95
  30. package/contracts/common-macros/src/contract_ttl.rs +0 -92
  31. package/contracts/common-macros/src/error.rs +0 -43
  32. package/contracts/common-macros/src/lib.rs +0 -585
  33. package/contracts/common-macros/src/lz_contract.rs +0 -105
  34. package/contracts/common-macros/src/rbac.rs +0 -90
  35. package/contracts/common-macros/src/storage.rs +0 -522
  36. package/contracts/common-macros/src/tests/auth.rs +0 -230
  37. package/contracts/common-macros/src/tests/contract_ttl.rs +0 -695
  38. package/contracts/common-macros/src/tests/error.rs +0 -156
  39. package/contracts/common-macros/src/tests/lz_contract.rs +0 -87
  40. package/contracts/common-macros/src/tests/mod.rs +0 -11
  41. package/contracts/common-macros/src/tests/rbac.rs +0 -523
  42. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +0 -31
  43. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +0 -39
  44. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap +0 -19
  45. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +0 -77
  46. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +0 -46
  47. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__error__snapshot_generated_contract_error_code.snap +0 -20
  48. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +0 -51
  49. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__rbac__snapshot_authorizer_role.snap +0 -21
  50. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__rbac__snapshot_preserve_function_signature.snap +0 -21
  51. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +0 -10
  52. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_extendable__snapshot_generated_ttl_extendable_code.snap +0 -8
  53. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +0 -28
  54. package/contracts/common-macros/src/tests/storage/extract_fields.rs +0 -87
  55. package/contracts/common-macros/src/tests/storage/gen_accessor_methods.rs +0 -223
  56. package/contracts/common-macros/src/tests/storage/gen_args.rs +0 -65
  57. package/contracts/common-macros/src/tests/storage/gen_enum_variant.rs +0 -78
  58. package/contracts/common-macros/src/tests/storage/gen_key.rs +0 -108
  59. package/contracts/common-macros/src/tests/storage/gen_params.rs +0 -105
  60. package/contracts/common-macros/src/tests/storage/generate_storage.rs +0 -410
  61. package/contracts/common-macros/src/tests/storage/is_primitive_type.rs +0 -48
  62. package/contracts/common-macros/src/tests/storage/mod.rs +0 -16
  63. package/contracts/common-macros/src/tests/storage/parse_default.rs +0 -164
  64. package/contracts/common-macros/src/tests/storage/parse_name.rs +0 -158
  65. package/contracts/common-macros/src/tests/storage/parse_no_ttl_extension.rs +0 -124
  66. package/contracts/common-macros/src/tests/storage/parse_storage_type.rs +0 -174
  67. package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +0 -412
  68. package/contracts/common-macros/src/tests/storage/storage_kind.rs +0 -39
  69. package/contracts/common-macros/src/tests/storage/test_setup.rs +0 -25
  70. package/contracts/common-macros/src/tests/storage/validate_attrs.rs +0 -138
  71. package/contracts/common-macros/src/tests/storage/variant_config.rs +0 -226
  72. package/contracts/common-macros/src/tests/test_helpers.rs +0 -87
  73. package/contracts/common-macros/src/tests/ttl_configurable.rs +0 -34
  74. package/contracts/common-macros/src/tests/ttl_extendable.rs +0 -32
  75. package/contracts/common-macros/src/tests/upgradeable.rs +0 -169
  76. package/contracts/common-macros/src/tests/utils.rs +0 -267
  77. package/contracts/common-macros/src/ttl_configurable.rs +0 -24
  78. package/contracts/common-macros/src/ttl_extendable.rs +0 -28
  79. package/contracts/common-macros/src/upgradeable.rs +0 -136
  80. package/contracts/common-macros/src/utils.rs +0 -56
  81. package/contracts/macro-integration-tests/Cargo.toml +0 -20
  82. package/contracts/macro-integration-tests/src/lib.rs +0 -1
  83. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/constructor.rs +0 -61
  84. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_impl_ttl_extension.rs +0 -97
  85. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_trait_ttl_extension.rs +0 -99
  86. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/mod.rs +0 -3
  87. package/contracts/macro-integration-tests/tests/runtime/lz_contract/mod.rs +0 -5
  88. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_default.rs +0 -86
  89. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig.rs +0 -47
  90. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig_upgradeable.rs +0 -77
  91. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable.rs +0 -114
  92. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable_no_migration.rs +0 -105
  93. package/contracts/macro-integration-tests/tests/runtime/multisig/admin_entrypoints.rs +0 -242
  94. package/contracts/macro-integration-tests/tests/runtime/multisig/mod.rs +0 -9
  95. package/contracts/macro-integration-tests/tests/runtime/multisig/self_auth.rs +0 -54
  96. package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +0 -46
  97. package/contracts/macro-integration-tests/tests/runtime/oapp/oapp_core.rs +0 -170
  98. package/contracts/macro-integration-tests/tests/runtime/oapp/options_type3.rs +0 -154
  99. package/contracts/macro-integration-tests/tests/runtime/oapp/receiver.rs +0 -338
  100. package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +0 -437
  101. package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +0 -78
  102. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +0 -23
  103. package/contracts/macro-integration-tests/tests/runtime/ownable/only_auth_guard.rs +0 -97
  104. package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +0 -170
  105. package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +0 -221
  106. package/contracts/macro-integration-tests/tests/runtime/rbac/guard_behavior.rs +0 -91
  107. package/contracts/macro-integration-tests/tests/runtime/rbac/mod.rs +0 -30
  108. package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +0 -266
  109. package/contracts/macro-integration-tests/tests/runtime/storage/mod.rs +0 -4
  110. package/contracts/macro-integration-tests/tests/runtime/storage/name_override_runtime.rs +0 -52
  111. package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +0 -293
  112. package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +0 -147
  113. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +0 -206
  114. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +0 -143
  115. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -2
  116. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/extend_instance_ttl.rs +0 -64
  117. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/mod.rs +0 -16
  118. package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +0 -243
  119. package/contracts/macro-integration-tests/tests/runtime/upgradeable/mod.rs +0 -3
  120. package/contracts/macro-integration-tests/tests/runtime/upgradeable/no_migration.rs +0 -59
  121. package/contracts/macro-integration-tests/tests/runtime/upgradeable/upgrade_then_migrate.rs +0 -88
  122. package/contracts/macro-integration-tests/tests/runtime.rs +0 -11
  123. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.rs +0 -6
  124. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.stderr +0 -7
  125. package/contracts/macro-integration-tests/tests/ui/contract_impl/pass/basic.rs +0 -102
  126. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.rs +0 -6
  127. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.stderr +0 -7
  128. package/contracts/macro-integration-tests/tests/ui/contract_trait/pass/basic.rs +0 -83
  129. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.rs +0 -12
  130. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.stderr +0 -7
  131. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.rs +0 -11
  132. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.stderr +0 -7
  133. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.rs +0 -11
  134. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.stderr +0 -7
  135. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.rs +0 -21
  136. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.stderr +0 -7
  137. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.rs +0 -13
  138. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.stderr +0 -7
  139. package/contracts/macro-integration-tests/tests/ui/error/pass/basic.rs +0 -22
  140. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.rs +0 -6
  141. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.stderr +0 -7
  142. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.rs +0 -20
  143. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.stderr +0 -20
  144. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.rs +0 -8
  145. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.stderr +0 -7
  146. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.rs +0 -10
  147. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +0 -30
  148. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.rs +0 -20
  149. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +0 -56
  150. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/basic.rs +0 -45
  151. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig.rs +0 -34
  152. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig_upgradeable.rs +0 -30
  153. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable.rs +0 -39
  154. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_no_migration.rs +0 -28
  155. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_rbac.rs +0 -44
  156. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.rs +0 -8
  157. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.stderr +0 -7
  158. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.rs +0 -20
  159. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.stderr +0 -12
  160. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.rs +0 -20
  161. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.stderr +0 -5
  162. package/contracts/macro-integration-tests/tests/ui/multisig/pass/basic.rs +0 -49
  163. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.rs +0 -8
  164. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.stderr +0 -7
  165. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.rs +0 -28
  166. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.stderr +0 -397
  167. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.rs +0 -9
  168. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.stderr +0 -71
  169. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.rs +0 -10
  170. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.stderr +0 -7
  171. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.rs +0 -8
  172. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.stderr +0 -7
  173. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.rs +0 -8
  174. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.stderr +0 -7
  175. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +0 -42
  176. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +0 -103
  177. package/contracts/macro-integration-tests/tests/ui/oapp/pass/minimal_contract.rs +0 -65
  178. package/contracts/macro-integration-tests/tests/ui/oapp/pass/struct_with_fields.rs +0 -48
  179. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.rs +0 -8
  180. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.stderr +0 -7
  181. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.rs +0 -19
  182. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.stderr +0 -12
  183. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +0 -22
  184. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +0 -16
  185. package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +0 -39
  186. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +0 -52
  187. package/contracts/macro-integration-tests/tests/ui/rbac/fail/missing_env.rs +0 -18
  188. package/contracts/macro-integration-tests/tests/ui/rbac/fail/missing_env.stderr +0 -16
  189. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_address.rs +0 -18
  190. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_address.stderr +0 -24
  191. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_found.rs +0 -18
  192. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_found.stderr +0 -24
  193. package/contracts/macro-integration-tests/tests/ui/rbac/pass/basic.rs +0 -80
  194. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.rs +0 -13
  195. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +0 -7
  196. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.rs +0 -13
  197. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +0 -7
  198. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.rs +0 -11
  199. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.stderr +0 -7
  200. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.rs +0 -11
  201. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.stderr +0 -7
  202. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.rs +0 -11
  203. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.stderr +0 -7
  204. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.rs +0 -10
  205. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.stderr +0 -7
  206. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.rs +0 -12
  207. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +0 -7
  208. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.rs +0 -10
  209. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.stderr +0 -7
  210. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.rs +0 -13
  211. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.stderr +0 -7
  212. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.rs +0 -10
  213. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.stderr +0 -7
  214. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.rs +0 -13
  215. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.stderr +0 -7
  216. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.rs +0 -13
  217. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.stderr +0 -7
  218. package/contracts/macro-integration-tests/tests/ui/storage/pass/api_surface.rs +0 -102
  219. package/contracts/macro-integration-tests/tests/ui/storage/pass/basic.rs +0 -43
  220. package/contracts/macro-integration-tests/tests/ui/storage/pass/multi_key.rs +0 -38
  221. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.rs +0 -14
  222. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.stderr +0 -71
  223. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.rs +0 -8
  224. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.stderr +0 -7
  225. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/basic.rs +0 -46
  226. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/multisig_contract.rs +0 -28
  227. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/ownable_contract.rs +0 -32
  228. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.rs +0 -8
  229. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.stderr +0 -7
  230. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/basic.rs +0 -23
  231. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/no_user_contractimpl.rs +0 -21
  232. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.rs +0 -11
  233. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +0 -29
  234. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.rs +0 -20
  235. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +0 -41
  236. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.rs +0 -10
  237. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +0 -49
  238. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.rs +0 -8
  239. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.stderr +0 -7
  240. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/basic.rs +0 -41
  241. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/multisig_contract.rs +0 -33
  242. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_migration.rs +0 -28
  243. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_user_contractimpl.rs +0 -27
  244. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/rbac.rs +0 -44
  245. package/contracts/macro-integration-tests/tests/ui_contract_impl.rs +0 -12
  246. package/contracts/macro-integration-tests/tests/ui_contract_trait.rs +0 -12
  247. package/contracts/macro-integration-tests/tests/ui_error.rs +0 -11
  248. package/contracts/macro-integration-tests/tests/ui_lz_contract.rs +0 -11
  249. package/contracts/macro-integration-tests/tests/ui_multisig.rs +0 -11
  250. package/contracts/macro-integration-tests/tests/ui_oapp.rs +0 -11
  251. package/contracts/macro-integration-tests/tests/ui_ownable.rs +0 -11
  252. package/contracts/macro-integration-tests/tests/ui_rbac.rs +0 -12
  253. package/contracts/macro-integration-tests/tests/ui_storage.rs +0 -11
  254. package/contracts/macro-integration-tests/tests/ui_ttl_configurable.rs +0 -12
  255. package/contracts/macro-integration-tests/tests/ui_ttl_extendable.rs +0 -12
  256. package/contracts/macro-integration-tests/tests/ui_upgradeable.rs +0 -11
  257. package/contracts/message-libs/Cargo.toml +0 -12
  258. package/contracts/message-libs/lib.rs +0 -2
  259. package/contracts/oapps/Cargo.toml +0 -12
  260. package/contracts/oapps/counter/Cargo.toml +0 -39
  261. package/contracts/oapps/counter/integration_tests/mod.rs +0 -7
  262. package/contracts/oapps/counter/integration_tests/setup_sml.rs +0 -171
  263. package/contracts/oapps/counter/integration_tests/setup_uln.rs +0 -1019
  264. package/contracts/oapps/counter/integration_tests/signing.rs +0 -62
  265. package/contracts/oapps/counter/integration_tests/test_with_blocked.rs +0 -67
  266. package/contracts/oapps/counter/integration_tests/test_with_sml.rs +0 -135
  267. package/contracts/oapps/counter/integration_tests/test_with_uln.rs +0 -314
  268. package/contracts/oapps/counter/integration_tests/utils.rs +0 -294
  269. package/contracts/oapps/counter/src/codec.rs +0 -62
  270. package/contracts/oapps/counter/src/counter.rs +0 -274
  271. package/contracts/oapps/counter/src/errors.rs +0 -9
  272. package/contracts/oapps/counter/src/lib.rs +0 -16
  273. package/contracts/oapps/counter/src/options.rs +0 -30
  274. package/contracts/oapps/counter/src/storage.rs +0 -32
  275. package/contracts/oapps/counter/src/tests/mod.rs +0 -24
  276. package/contracts/oapps/counter/src/tests/test_codec.rs +0 -64
  277. package/contracts/oapps/counter/src/tests/test_counter.rs +0 -387
  278. package/contracts/oapps/counter/src/tests/test_u256_ext.rs +0 -48
  279. package/contracts/oapps/counter/src/u256_ext.rs +0 -21
  280. package/contracts/oapps/lib.rs +0 -2
  281. package/contracts/oapps/oapp/Cargo.toml +0 -22
  282. package/contracts/oapps/oapp/src/errors.rs +0 -13
  283. package/contracts/oapps/oapp/src/interfaces/mod.rs +0 -3
  284. package/contracts/oapps/oapp/src/interfaces/oapp_msg_inspector.rs +0 -70
  285. package/contracts/oapps/oapp/src/lib.rs +0 -15
  286. package/contracts/oapps/oapp/src/oapp_core.rs +0 -143
  287. package/contracts/oapps/oapp/src/oapp_options_type3.rs +0 -133
  288. package/contracts/oapps/oapp/src/oapp_receiver.rs +0 -195
  289. package/contracts/oapps/oapp/src/oapp_sender.rs +0 -152
  290. package/contracts/oapps/oapp/src/tests/mod.rs +0 -5
  291. package/contracts/oapps/oapp/src/tests/oapp_core.rs +0 -225
  292. package/contracts/oapps/oapp/src/tests/oapp_options_type3.rs +0 -246
  293. package/contracts/oapps/oapp/src/tests/oapp_receiver.rs +0 -383
  294. package/contracts/oapps/oapp/src/tests/oapp_sender.rs +0 -570
  295. package/contracts/oapps/oapp/src/tests/test_macros.rs +0 -434
  296. package/contracts/oapps/oapp-macros/Cargo.toml +0 -18
  297. package/contracts/oapps/oapp-macros/src/generators.rs +0 -147
  298. package/contracts/oapps/oapp-macros/src/lib.rs +0 -166
  299. package/contracts/oapps/oapp-macros/src/tests/mod.rs +0 -2
  300. package/contracts/oapps/oapp-macros/src/tests/oapp.rs +0 -74
  301. package/contracts/oapps/oapp-macros/src/tests/parse_custom_impls.rs +0 -90
  302. package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +0 -111
  303. package/contracts/oapps/oft/Cargo.toml +0 -30
  304. package/contracts/oapps/oft/integration-tests/extensions/mod.rs +0 -3
  305. package/contracts/oapps/oft/integration-tests/extensions/test_oft_fee.rs +0 -172
  306. package/contracts/oapps/oft/integration-tests/extensions/test_pausable.rs +0 -161
  307. package/contracts/oapps/oft/integration-tests/extensions/test_rate_limiter.rs +0 -336
  308. package/contracts/oapps/oft/integration-tests/mod.rs +0 -3
  309. package/contracts/oapps/oft/integration-tests/setup.rs +0 -306
  310. package/contracts/oapps/oft/integration-tests/utils.rs +0 -609
  311. package/contracts/oapps/oft/src/extensions/mod.rs +0 -3
  312. package/contracts/oapps/oft/src/extensions/oft_fee.rs +0 -281
  313. package/contracts/oapps/oft/src/extensions/pausable.rs +0 -119
  314. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +0 -286
  315. package/contracts/oapps/oft/src/interfaces/mintable.rs +0 -14
  316. package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
  317. package/contracts/oapps/oft/src/lib.rs +0 -24
  318. package/contracts/oapps/oft/src/oft.rs +0 -176
  319. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +0 -50
  320. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +0 -51
  321. package/contracts/oapps/oft/src/oft_types/mod.rs +0 -24
  322. package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -3
  323. package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +0 -260
  324. package/contracts/oapps/oft/src/tests/extensions/pausable.rs +0 -155
  325. package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +0 -601
  326. package/contracts/oapps/oft/src/tests/mod.rs +0 -2
  327. package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +0 -185
  328. package/contracts/oapps/oft/src/tests/oft_types/mod.rs +0 -1
  329. package/contracts/oapps/oft-core/Cargo.toml +0 -24
  330. package/contracts/oapps/oft-core/integration-tests/mod.rs +0 -3
  331. package/contracts/oapps/oft-core/integration-tests/setup.rs +0 -346
  332. package/contracts/oapps/oft-core/integration-tests/test_with_sml.rs +0 -156
  333. package/contracts/oapps/oft-core/integration-tests/utils.rs +0 -220
  334. package/contracts/oapps/oft-core/src/codec/mod.rs +0 -2
  335. package/contracts/oapps/oft-core/src/codec/oft_compose_msg_codec.rs +0 -55
  336. package/contracts/oapps/oft-core/src/codec/oft_msg_codec.rs +0 -58
  337. package/contracts/oapps/oft-core/src/errors.rs +0 -15
  338. package/contracts/oapps/oft-core/src/events.rs +0 -32
  339. package/contracts/oapps/oft-core/src/lib.rs +0 -22
  340. package/contracts/oapps/oft-core/src/oft_core.rs +0 -594
  341. package/contracts/oapps/oft-core/src/storage.rs +0 -19
  342. package/contracts/oapps/oft-core/src/tests/mod.rs +0 -14
  343. package/contracts/oapps/oft-core/src/tests/test_decimals.rs +0 -124
  344. package/contracts/oapps/oft-core/src/tests/test_lz_receive.rs +0 -282
  345. package/contracts/oapps/oft-core/src/tests/test_msg_inspector.rs +0 -324
  346. package/contracts/oapps/oft-core/src/tests/test_oft_compose_msg_codec.rs +0 -68
  347. package/contracts/oapps/oft-core/src/tests/test_oft_msg_codec.rs +0 -64
  348. package/contracts/oapps/oft-core/src/tests/test_oft_version_and_approval.rs +0 -22
  349. package/contracts/oapps/oft-core/src/tests/test_quote_oft.rs +0 -159
  350. package/contracts/oapps/oft-core/src/tests/test_quote_send.rs +0 -195
  351. package/contracts/oapps/oft-core/src/tests/test_resolve_address.rs +0 -37
  352. package/contracts/oapps/oft-core/src/tests/test_send.rs +0 -915
  353. package/contracts/oapps/oft-core/src/tests/test_token.rs +0 -47
  354. package/contracts/oapps/oft-core/src/tests/test_utils.rs +0 -870
  355. package/contracts/oapps/oft-core/src/types.rs +0 -58
  356. package/contracts/oapps/oft-core/src/utils.rs +0 -71
  357. package/contracts/oapps/sac-manager/Cargo.toml +0 -24
  358. package/contracts/oapps/sac-manager/src/interfaces/mod.rs +0 -3
  359. package/contracts/oapps/sac-manager/src/interfaces/sac_admin_wrapper.rs +0 -49
  360. package/contracts/oapps/sac-manager/src/lib.rs +0 -19
  361. package/contracts/oapps/sac-manager/src/sac_manager.rs +0 -95
  362. package/contracts/oapps/sac-manager/src/storage.rs +0 -13
  363. package/contracts/oapps/sac-manager/src/tests/mod.rs +0 -10
  364. package/contracts/oapps/sac-manager/src/tests/sac_manager/clawback.rs +0 -84
  365. package/contracts/oapps/sac-manager/src/tests/sac_manager/mint.rs +0 -53
  366. package/contracts/oapps/sac-manager/src/tests/sac_manager/mod.rs +0 -6
  367. package/contracts/oapps/sac-manager/src/tests/sac_manager/set_admin.rs +0 -46
  368. package/contracts/oapps/sac-manager/src/tests/sac_manager/set_authorized.rs +0 -53
  369. package/contracts/oapps/sac-manager/src/tests/sac_manager/test_helper.rs +0 -35
  370. package/contracts/oapps/sac-manager/src/tests/sac_manager/view_functions.rs +0 -13
  371. package/contracts/oapps/sac-manager/src/tests/test_helper.rs +0 -138
  372. package/contracts/utils/Cargo.toml +0 -20
  373. package/contracts/utils/src/auth.rs +0 -48
  374. package/contracts/utils/src/buffer_reader.rs +0 -194
  375. package/contracts/utils/src/buffer_writer.rs +0 -138
  376. package/contracts/utils/src/bytes_ext.rs +0 -18
  377. package/contracts/utils/src/errors.rs +0 -82
  378. package/contracts/utils/src/lib.rs +0 -20
  379. package/contracts/utils/src/multisig.rs +0 -247
  380. package/contracts/utils/src/option_ext.rs +0 -38
  381. package/contracts/utils/src/ownable.rs +0 -227
  382. package/contracts/utils/src/rbac.rs +0 -438
  383. package/contracts/utils/src/testing_utils.rs +0 -180
  384. package/contracts/utils/src/tests/auth.rs +0 -179
  385. package/contracts/utils/src/tests/buffer_reader.rs +0 -969
  386. package/contracts/utils/src/tests/buffer_writer.rs +0 -689
  387. package/contracts/utils/src/tests/bytes_ext.rs +0 -160
  388. package/contracts/utils/src/tests/mod.rs +0 -13
  389. package/contracts/utils/src/tests/multisig.rs +0 -760
  390. package/contracts/utils/src/tests/option_ext.rs +0 -18
  391. package/contracts/utils/src/tests/ownable.rs +0 -822
  392. package/contracts/utils/src/tests/rbac.rs +0 -559
  393. package/contracts/utils/src/tests/test_helper.rs +0 -67
  394. package/contracts/utils/src/tests/testing_utils.rs +0 -522
  395. package/contracts/utils/src/tests/ttl_configurable.rs +0 -586
  396. package/contracts/utils/src/tests/ttl_extendable.rs +0 -64
  397. package/contracts/utils/src/tests/upgradeable.rs +0 -529
  398. package/contracts/utils/src/ttl_configurable.rs +0 -169
  399. package/contracts/utils/src/ttl_extendable.rs +0 -25
  400. package/contracts/utils/src/upgradeable.rs +0 -103
  401. package/contracts/workers/Cargo.toml +0 -13
  402. package/contracts/workers/lib.rs +0 -2
  403. package/sdk/.turbo/turbo-build.log +0 -5
  404. package/sdk/.turbo/turbo-test.log +0 -1507
  405. package/sdk/LICENSE +0 -23
  406. package/sdk/dist/generated/bml.d.ts +0 -670
  407. package/sdk/dist/generated/bml.d.ts.map +0 -1
  408. package/sdk/dist/generated/bml.js +0 -292
  409. package/sdk/dist/generated/bml.js.map +0 -1
  410. package/sdk/dist/generated/counter.d.ts +0 -1253
  411. package/sdk/dist/generated/counter.d.ts.map +0 -1
  412. package/sdk/dist/generated/counter.js +0 -391
  413. package/sdk/dist/generated/counter.js.map +0 -1
  414. package/sdk/dist/generated/dvn.d.ts +0 -1569
  415. package/sdk/dist/generated/dvn.d.ts.map +0 -1
  416. package/sdk/dist/generated/dvn.js +0 -459
  417. package/sdk/dist/generated/dvn.js.map +0 -1
  418. package/sdk/dist/generated/dvn_fee_lib.d.ts +0 -587
  419. package/sdk/dist/generated/dvn_fee_lib.d.ts.map +0 -1
  420. package/sdk/dist/generated/dvn_fee_lib.js +0 -186
  421. package/sdk/dist/generated/dvn_fee_lib.js.map +0 -1
  422. package/sdk/dist/generated/endpoint.d.ts +0 -1304
  423. package/sdk/dist/generated/endpoint.d.ts.map +0 -1
  424. package/sdk/dist/generated/endpoint.js +0 -396
  425. package/sdk/dist/generated/endpoint.js.map +0 -1
  426. package/sdk/dist/generated/executor.d.ts +0 -1554
  427. package/sdk/dist/generated/executor.d.ts.map +0 -1
  428. package/sdk/dist/generated/executor.js +0 -447
  429. package/sdk/dist/generated/executor.js.map +0 -1
  430. package/sdk/dist/generated/executor_fee_lib.d.ts +0 -1037
  431. package/sdk/dist/generated/executor_fee_lib.d.ts.map +0 -1
  432. package/sdk/dist/generated/executor_fee_lib.js +0 -351
  433. package/sdk/dist/generated/executor_fee_lib.js.map +0 -1
  434. package/sdk/dist/generated/executor_helper.d.ts +0 -883
  435. package/sdk/dist/generated/executor_helper.d.ts.map +0 -1
  436. package/sdk/dist/generated/executor_helper.js +0 -354
  437. package/sdk/dist/generated/executor_helper.js.map +0 -1
  438. package/sdk/dist/generated/layerzero_view.d.ts +0 -1153
  439. package/sdk/dist/generated/layerzero_view.d.ts.map +0 -1
  440. package/sdk/dist/generated/layerzero_view.js +0 -457
  441. package/sdk/dist/generated/layerzero_view.js.map +0 -1
  442. package/sdk/dist/generated/oft.d.ts +0 -1638
  443. package/sdk/dist/generated/oft.d.ts.map +0 -1
  444. package/sdk/dist/generated/oft.js +0 -463
  445. package/sdk/dist/generated/oft.js.map +0 -1
  446. package/sdk/dist/generated/price_feed.d.ts +0 -787
  447. package/sdk/dist/generated/price_feed.d.ts.map +0 -1
  448. package/sdk/dist/generated/price_feed.js +0 -231
  449. package/sdk/dist/generated/price_feed.js.map +0 -1
  450. package/sdk/dist/generated/sac_manager.d.ts +0 -567
  451. package/sdk/dist/generated/sac_manager.d.ts.map +0 -1
  452. package/sdk/dist/generated/sac_manager.js +0 -198
  453. package/sdk/dist/generated/sac_manager.js.map +0 -1
  454. package/sdk/dist/generated/sml.d.ts +0 -934
  455. package/sdk/dist/generated/sml.d.ts.map +0 -1
  456. package/sdk/dist/generated/sml.js +0 -366
  457. package/sdk/dist/generated/sml.js.map +0 -1
  458. package/sdk/dist/generated/treasury.d.ts +0 -892
  459. package/sdk/dist/generated/treasury.d.ts.map +0 -1
  460. package/sdk/dist/generated/treasury.js +0 -352
  461. package/sdk/dist/generated/treasury.js.map +0 -1
  462. package/sdk/dist/generated/uln302.d.ts +0 -1268
  463. package/sdk/dist/generated/uln302.d.ts.map +0 -1
  464. package/sdk/dist/generated/uln302.js +0 -477
  465. package/sdk/dist/generated/uln302.js.map +0 -1
  466. package/sdk/dist/generated/upgrader.d.ts +0 -292
  467. package/sdk/dist/generated/upgrader.d.ts.map +0 -1
  468. package/sdk/dist/generated/upgrader.js +0 -144
  469. package/sdk/dist/generated/upgrader.js.map +0 -1
  470. package/sdk/dist/index.d.ts +0 -17
  471. package/sdk/dist/index.d.ts.map +0 -1
  472. package/sdk/dist/index.js +0 -21
  473. package/sdk/dist/index.js.map +0 -1
  474. package/sdk/node_modules/.bin/tsc +0 -21
  475. package/sdk/node_modules/.bin/tsserver +0 -21
  476. package/sdk/node_modules/.bin/vitest +0 -21
  477. package/sdk/package.json +0 -50
  478. package/sdk/src/index.ts +0 -23
  479. package/sdk/test/counter-sml.test.ts +0 -480
  480. package/sdk/test/counter-uln.test.ts +0 -584
  481. package/sdk/test/oft-sml.test.ts +0 -750
  482. package/sdk/test/sac-manager.test.ts +0 -464
  483. package/sdk/test/secp256k1.ts +0 -59
  484. package/sdk/test/suites/constants.ts +0 -51
  485. package/sdk/test/suites/deploy.ts +0 -312
  486. package/sdk/test/suites/dummyContractClient.ts +0 -168
  487. package/sdk/test/suites/globalSetup.ts +0 -604
  488. package/sdk/test/suites/localnet.ts +0 -192
  489. package/sdk/test/suites/scan.ts +0 -202
  490. package/sdk/test/test_data/test_upgradeable_dvn.wasm +0 -0
  491. package/sdk/test/upgrader.test.ts +0 -194
  492. package/sdk/test/utils.ts +0 -671
  493. package/sdk/tsconfig.json +0 -21
  494. package/sdk/tsconfig.test.json +0 -10
  495. package/sdk/turbo.json +0 -15
  496. package/sdk/vitest.config.ts +0 -21
  497. package/ts-bindings-gen.toml +0 -67
  498. package/turbo-snapshot.lock.json +0 -194
  499. package/turbo.json +0 -26
  500. /package/{contracts/endpoint-v2 → endpoint-v2}/src/endpoint_v2.rs +0 -0
  501. /package/{contracts/endpoint-v2 → endpoint-v2}/src/errors.rs +0 -0
  502. /package/{contracts/endpoint-v2 → endpoint-v2}/src/events.rs +0 -0
  503. /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_composer.rs +0 -0
  504. /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_endpoint_v2.rs +0 -0
  505. /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_receiver.rs +0 -0
  506. /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/message_lib.rs +0 -0
  507. /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/message_lib_manager.rs +0 -0
  508. /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/messaging_channel.rs +0 -0
  509. /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/messaging_composer.rs +0 -0
  510. /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/mod.rs +0 -0
  511. /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/send_lib.rs +0 -0
  512. /package/{contracts/endpoint-v2 → endpoint-v2}/src/lib.rs +0 -0
  513. /package/{contracts/endpoint-v2 → endpoint-v2}/src/message_lib_manager.rs +0 -0
  514. /package/{contracts/endpoint-v2 → endpoint-v2}/src/messaging_channel.rs +0 -0
  515. /package/{contracts/endpoint-v2 → endpoint-v2}/src/messaging_composer.rs +0 -0
  516. /package/{contracts/endpoint-v2 → endpoint-v2}/src/storage.rs +0 -0
  517. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_setup.rs +0 -0
  518. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/build_outbound_packet.rs +0 -0
  519. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/clear.rs +0 -0
  520. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/delegate.rs +0 -0
  521. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/initializable.rs +0 -0
  522. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/lz_receive_alert.rs +0 -0
  523. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/mod.rs +0 -0
  524. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/native_token.rs +0 -0
  525. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/owner.rs +0 -0
  526. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/pay_messaging_fees.rs +0 -0
  527. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/quote.rs +0 -0
  528. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/recover_token.rs +0 -0
  529. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/require_oapp_auth.rs +0 -0
  530. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/send.rs +0 -0
  531. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/set_delegate.rs +0 -0
  532. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/set_zro.rs +0 -0
  533. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/transfer_ownership.rs +0 -0
  534. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/ttl_config.rs +0 -0
  535. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/verifiable.rs +0 -0
  536. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/verify.rs +0 -0
  537. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/zro.rs +0 -0
  538. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_receive_library.rs +0 -0
  539. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_receive_library_timeout.rs +0 -0
  540. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_send_library.rs +0 -0
  541. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_config.rs +0 -0
  542. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_library_index.rs +0 -0
  543. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_receive_library.rs +0 -0
  544. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_registered_libraries.rs +0 -0
  545. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_send_library.rs +0 -0
  546. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_registered_library.rs +0 -0
  547. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_supported_eid.rs +0 -0
  548. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_valid_receive_library.rs +0 -0
  549. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/mod.rs +0 -0
  550. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/receive_library_timeout.rs +0 -0
  551. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/register_library.rs +0 -0
  552. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/registered_libraries_count.rs +0 -0
  553. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +0 -0
  554. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_registered.rs +0 -0
  555. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_send_lib_for_eid.rs +0 -0
  556. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_supported_eid.rs +0 -0
  557. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_config.rs +0 -0
  558. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +0 -0
  559. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_receive_library.rs +0 -0
  560. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_send_library.rs +0 -0
  561. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_receive_library.rs +0 -0
  562. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_receive_library_timeout.rs +0 -0
  563. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_send_library.rs +0 -0
  564. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/timeout.rs +0 -0
  565. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/burn.rs +0 -0
  566. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/clear_payload.rs +0 -0
  567. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound.rs +0 -0
  568. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound_nonce.rs +0 -0
  569. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound_payload_hash.rs +0 -0
  570. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/insert_and_drain_pending_nonces.rs +0 -0
  571. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/mod.rs +0 -0
  572. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/next_guid.rs +0 -0
  573. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/nilify.rs +0 -0
  574. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/outbound.rs +0 -0
  575. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/outbound_nonce.rs +0 -0
  576. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/pending_inbound_nonces.rs +0 -0
  577. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/skip.rs +0 -0
  578. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/clear_compose.rs +0 -0
  579. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/compose_queue.rs +0 -0
  580. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/lz_compose_alert.rs +0 -0
  581. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/mod.rs +0 -0
  582. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/send_compose.rs +0 -0
  583. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/mock.rs +0 -0
  584. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/mod.rs +0 -0
  585. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/build_payload.rs +0 -0
  586. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/compute_guid.rs +0 -0
  587. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/keccak256.rs +0 -0
  588. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/mod.rs +0 -0
  589. /package/{contracts/endpoint-v2 → endpoint-v2}/src/util.rs +0 -0
  590. /package/{contracts/layerzero-views → layerzero-views}/src/errors.rs +0 -0
  591. /package/{contracts/layerzero-views → layerzero-views}/src/layerzero_view.rs +0 -0
  592. /package/{contracts/layerzero-views → layerzero-views}/src/lib.rs +0 -0
  593. /package/{contracts/layerzero-views → layerzero-views}/src/storage.rs +0 -0
  594. /package/{contracts/layerzero-views → layerzero-views}/src/tests/layerzero_view_tests.rs +0 -0
  595. /package/{contracts/layerzero-views → layerzero-views}/src/tests/mod.rs +0 -0
  596. /package/{contracts/layerzero-views → layerzero-views}/src/tests/setup.rs +0 -0
  597. /package/{contracts/layerzero-views → layerzero-views}/src/tests/types_tests.rs +0 -0
  598. /package/{contracts/layerzero-views → layerzero-views}/src/types.rs +0 -0
  599. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/lib.rs +0 -0
  600. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/blocked_message_lib_tests.rs +0 -0
  601. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/mod.rs +0 -0
  602. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/setup.rs +0 -0
  603. /package/{contracts/message-libs → message-libs}/message-lib-common/src/errors.rs +0 -0
  604. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/dvn.rs +0 -0
  605. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/executor.rs +0 -0
  606. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/mod.rs +0 -0
  607. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/treasury.rs +0 -0
  608. /package/{contracts/message-libs → message-libs}/message-lib-common/src/lib.rs +0 -0
  609. /package/{contracts/message-libs → message-libs}/message-lib-common/src/packet_codec_v1.rs +0 -0
  610. /package/{contracts/message-libs → message-libs}/message-lib-common/src/testing_utils.rs +0 -0
  611. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/mod.rs +0 -0
  612. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +0 -0
  613. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/encode_packet.rs +0 -0
  614. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/encode_packet_header.rs +0 -0
  615. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/mod.rs +0 -0
  616. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/payload.rs +0 -0
  617. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/payload_hash.rs +0 -0
  618. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/test_helper.rs +0 -0
  619. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_dvn_option.rs +0 -0
  620. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +0 -0
  621. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +0 -0
  622. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +0 -0
  623. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +0 -0
  624. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +0 -0
  625. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/mod.rs +0 -0
  626. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/split_worker_options.rs +0 -0
  627. /package/{contracts/message-libs → message-libs}/message-lib-common/src/worker_options.rs +0 -0
  628. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/errors.rs +0 -0
  629. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/lib.rs +0 -0
  630. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/simple_message_lib.rs +0 -0
  631. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/storage.rs +0 -0
  632. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/mod.rs +0 -0
  633. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/setup.rs +0 -0
  634. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/simple_message_lib_tests.rs +0 -0
  635. /package/{contracts/message-libs → message-libs}/treasury/src/errors.rs +0 -0
  636. /package/{contracts/message-libs → message-libs}/treasury/src/events.rs +0 -0
  637. /package/{contracts/message-libs → message-libs}/treasury/src/interfaces/mod.rs +0 -0
  638. /package/{contracts/message-libs → message-libs}/treasury/src/interfaces/zro_fee_lib.rs +0 -0
  639. /package/{contracts/message-libs → message-libs}/treasury/src/lib.rs +0 -0
  640. /package/{contracts/message-libs → message-libs}/treasury/src/storage.rs +0 -0
  641. /package/{contracts/message-libs → message-libs}/treasury/src/tests/mod.rs +0 -0
  642. /package/{contracts/message-libs → message-libs}/treasury/src/tests/setup.rs +0 -0
  643. /package/{contracts/message-libs → message-libs}/treasury/src/tests/treasury_tests.rs +0 -0
  644. /package/{contracts/message-libs → message-libs}/treasury/src/treasury.rs +0 -0
  645. /package/{contracts/message-libs → message-libs}/uln-302/src/errors.rs +0 -0
  646. /package/{contracts/message-libs → message-libs}/uln-302/src/events.rs +0 -0
  647. /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/mod.rs +0 -0
  648. /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/receive_uln.rs +0 -0
  649. /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/send_uln.rs +0 -0
  650. /package/{contracts/message-libs → message-libs}/uln-302/src/lib.rs +0 -0
  651. /package/{contracts/message-libs → message-libs}/uln-302/src/receive_uln.rs +0 -0
  652. /package/{contracts/message-libs → message-libs}/uln-302/src/send_uln.rs +0 -0
  653. /package/{contracts/message-libs → message-libs}/uln-302/src/storage.rs +0 -0
  654. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/mod.rs +0 -0
  655. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/oapp_uln_config.rs +0 -0
  656. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/uln_config.rs +0 -0
  657. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/mod.rs +0 -0
  658. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/commit_verification.rs +0 -0
  659. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/confirmations.rs +0 -0
  660. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +0 -0
  661. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/mod.rs +0 -0
  662. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +0 -0
  663. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/verifiable.rs +0 -0
  664. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/verify.rs +0 -0
  665. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/effective_executor_config.rs +0 -0
  666. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +0 -0
  667. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/mod.rs +0 -0
  668. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/quote.rs +0 -0
  669. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/send.rs +0 -0
  670. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +0 -0
  671. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +0 -0
  672. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/setup.rs +0 -0
  673. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/testing_utils.rs +0 -0
  674. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_app_receive_uln_config.rs +0 -0
  675. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_app_send_uln_config.rs +0 -0
  676. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_config.rs +0 -0
  677. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_oapp_executor_config.rs +0 -0
  678. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/mod.rs +0 -0
  679. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/set_config.rs +0 -0
  680. /package/{contracts/message-libs → message-libs}/uln-302/src/types.rs +0 -0
  681. /package/{contracts/message-libs → message-libs}/uln-302/src/uln302.rs +0 -0
  682. /package/{contracts/upgrader → upgrader}/src/lib.rs +0 -0
  683. /package/{contracts/upgrader → upgrader}/src/tests/mod.rs +0 -0
  684. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
  685. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
  686. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract3.wasm +0 -0
  687. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract4.wasm +0 -0
  688. /package/{contracts/upgrader → upgrader}/src/tests/test_upgrader.rs +0 -0
  689. /package/{contracts/workers → workers}/dvn/src/auth.rs +0 -0
  690. /package/{contracts/workers → workers}/dvn/src/dvn.rs +0 -0
  691. /package/{contracts/workers → workers}/dvn/src/errors.rs +0 -0
  692. /package/{contracts/workers → workers}/dvn/src/events.rs +0 -0
  693. /package/{contracts/workers → workers}/dvn/src/interfaces/dvn.rs +0 -0
  694. /package/{contracts/workers → workers}/dvn/src/interfaces/mod.rs +0 -0
  695. /package/{contracts/workers → workers}/dvn/src/lib.rs +0 -0
  696. /package/{contracts/workers → workers}/dvn/src/storage.rs +0 -0
  697. /package/{contracts/workers → workers}/dvn/src/tests/auth.rs +0 -0
  698. /package/{contracts/workers → workers}/dvn/src/tests/dvn.rs +0 -0
  699. /package/{contracts/workers → workers}/dvn/src/tests/key_pair.rs +0 -0
  700. /package/{contracts/workers → workers}/dvn/src/tests/mod.rs +0 -0
  701. /package/{contracts/workers → workers}/dvn/src/tests/setup.rs +0 -0
  702. /package/{contracts/workers → workers}/dvn-fee-lib/src/dvn_fee_lib.rs +0 -0
  703. /package/{contracts/workers → workers}/dvn-fee-lib/src/errors.rs +0 -0
  704. /package/{contracts/workers → workers}/dvn-fee-lib/src/lib.rs +0 -0
  705. /package/{contracts/workers → workers}/dvn-fee-lib/src/tests/dvn_fee_lib.rs +0 -0
  706. /package/{contracts/workers → workers}/dvn-fee-lib/src/tests/mod.rs +0 -0
  707. /package/{contracts/workers → workers}/executor/src/auth.rs +0 -0
  708. /package/{contracts/workers → workers}/executor/src/errors.rs +0 -0
  709. /package/{contracts/workers → workers}/executor/src/events.rs +0 -0
  710. /package/{contracts/workers → workers}/executor/src/executor.rs +0 -0
  711. /package/{contracts/workers → workers}/executor/src/interfaces/executor.rs +0 -0
  712. /package/{contracts/workers → workers}/executor/src/interfaces/mod.rs +0 -0
  713. /package/{contracts/workers → workers}/executor/src/lib.rs +0 -0
  714. /package/{contracts/workers → workers}/executor/src/storage.rs +0 -0
  715. /package/{contracts/workers → workers}/executor/src/tests/auth.rs +0 -0
  716. /package/{contracts/workers → workers}/executor/src/tests/executor.rs +0 -0
  717. /package/{contracts/workers → workers}/executor/src/tests/mod.rs +0 -0
  718. /package/{contracts/workers → workers}/executor/src/tests/setup.rs +0 -0
  719. /package/{contracts/workers → workers}/executor-fee-lib/src/errors.rs +0 -0
  720. /package/{contracts/workers → workers}/executor-fee-lib/src/executor_fee_lib.rs +0 -0
  721. /package/{contracts/workers → workers}/executor-fee-lib/src/executor_option.rs +0 -0
  722. /package/{contracts/workers → workers}/executor-fee-lib/src/lib.rs +0 -0
  723. /package/{contracts/workers → workers}/executor-fee-lib/src/tests/executor_fee_lib.rs +0 -0
  724. /package/{contracts/workers → workers}/executor-fee-lib/src/tests/executor_option.rs +0 -0
  725. /package/{contracts/workers → workers}/executor-fee-lib/src/tests/mod.rs +0 -0
  726. /package/{contracts/workers → workers}/executor-fee-lib/src/tests/setup.rs +0 -0
  727. /package/{contracts/workers → workers}/executor-helper/src/executor_helper.rs +0 -0
  728. /package/{contracts/workers → workers}/executor-helper/src/lib.rs +0 -0
  729. /package/{contracts/workers → workers}/executor-helper/src/tests/executor_helper.rs +0 -0
  730. /package/{contracts/workers → workers}/executor-helper/src/tests/mod.rs +0 -0
  731. /package/{contracts/workers → workers}/executor-helper/src/tests/setup.rs +0 -0
  732. /package/{contracts/workers → workers}/fee-lib-interfaces/src/dvn_fee_lib.rs +0 -0
  733. /package/{contracts/workers → workers}/fee-lib-interfaces/src/executor_fee_lib.rs +0 -0
  734. /package/{contracts/workers → workers}/fee-lib-interfaces/src/lib.rs +0 -0
  735. /package/{contracts/workers → workers}/fee-lib-interfaces/src/price_feed.rs +0 -0
  736. /package/{contracts/workers → workers}/price-feed/src/errors.rs +0 -0
  737. /package/{contracts/workers → workers}/price-feed/src/events.rs +0 -0
  738. /package/{contracts/workers → workers}/price-feed/src/lib.rs +0 -0
  739. /package/{contracts/workers → workers}/price-feed/src/price_feed.rs +0 -0
  740. /package/{contracts/workers → workers}/price-feed/src/storage.rs +0 -0
  741. /package/{contracts/workers → workers}/price-feed/src/tests/mod.rs +0 -0
  742. /package/{contracts/workers → workers}/price-feed/src/tests/price_feed.rs +0 -0
  743. /package/{contracts/workers → workers}/price-feed/src/tests/setup.rs +0 -0
  744. /package/{contracts/workers → workers}/price-feed/src/types.rs +0 -0
  745. /package/{contracts/workers → workers}/worker/src/errors.rs +0 -0
  746. /package/{contracts/workers → workers}/worker/src/events.rs +0 -0
  747. /package/{contracts/workers → workers}/worker/src/lib.rs +0 -0
  748. /package/{contracts/workers → workers}/worker/src/storage.rs +0 -0
  749. /package/{contracts/workers → workers}/worker/src/tests/mod.rs +0 -0
  750. /package/{contracts/workers → workers}/worker/src/tests/setup.rs +0 -0
  751. /package/{contracts/workers → workers}/worker/src/tests/worker.rs +0 -0
  752. /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
- }