@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,601 +0,0 @@
1
- extern crate std;
2
-
3
- use crate as oft;
4
- use crate::extensions::rate_limiter::{
5
- Direction, Mode, RateLimitConfig, RateLimitError, RateLimiter, RateLimiterInternal,
6
- };
7
- use crate::extensions::rate_limiter::RATE_LIMITER_MANAGER_ROLE;
8
- use soroban_sdk::{contract, contractimpl, testutils::Ledger as _, Address, Env, Symbol};
9
- use utils::auth::Auth;
10
- use utils::rbac::{grant_role_no_auth, RoleBasedAccessControl};
11
-
12
- // ============================================================================
13
- // Test Contract
14
- // ============================================================================
15
-
16
- #[contract]
17
- struct RateLimiterTestContract;
18
-
19
- impl Auth for RateLimiterTestContract {
20
- fn authorizer(env: &Env) -> Option<Address> {
21
- Some(env.current_contract_address())
22
- }
23
- }
24
-
25
- impl RateLimiterInternal for RateLimiterTestContract {}
26
-
27
- #[contractimpl(contracttrait)]
28
- impl RateLimiter for RateLimiterTestContract {}
29
-
30
- #[contractimpl(contracttrait)]
31
- impl RoleBasedAccessControl for RateLimiterTestContract {}
32
-
33
- #[contractimpl]
34
- impl RateLimiterTestContract {
35
- /// Test-only: grants RATE_LIMITER_MANAGER_ROLE to the contract.
36
- pub fn init_roles(env: Env) {
37
- let contract_id = env.current_contract_address();
38
- grant_role_no_auth(
39
- &env,
40
- &contract_id,
41
- &Symbol::new(&env, RATE_LIMITER_MANAGER_ROLE),
42
- &contract_id,
43
- );
44
- }
45
-
46
- pub fn consume(env: Env, direction: Direction, eid: u32, amount: i128) {
47
- <Self as RateLimiterInternal>::__consume_rate_limit_capacity(&env, &direction, eid, amount)
48
- }
49
-
50
- pub fn release(env: Env, direction: Direction, eid: u32, amount: i128) {
51
- <Self as RateLimiterInternal>::__release_rate_limit_capacity(&env, &direction, eid, amount)
52
- }
53
- }
54
-
55
- // ============================================================================
56
- // Test Setup
57
- // ============================================================================
58
-
59
- struct TestSetup {
60
- env: Env,
61
- client: RateLimiterTestContractClient<'static>,
62
- contract_id: Address,
63
- }
64
-
65
- fn setup() -> TestSetup {
66
- let env = Env::default();
67
- // Enable mock_all_auths_allowing_non_root_auth for all tests to bypass authorization checks
68
- // including sub-contract invocations
69
- env.mock_all_auths_allowing_non_root_auth();
70
-
71
- let contract_id = env.register(RateLimiterTestContract, ());
72
- let client = RateLimiterTestContractClient::new(&env, &contract_id);
73
- client.init_roles();
74
- TestSetup { env, client, contract_id }
75
- }
76
-
77
- fn config(limit: i128, window_seconds: u64) -> RateLimitConfig {
78
- RateLimitConfig { limit, window_seconds, mode: Mode::Net }
79
- }
80
-
81
- fn config_with_mode(limit: i128, window_seconds: u64, mode: Mode) -> RateLimitConfig {
82
- RateLimitConfig { limit, window_seconds, mode }
83
- }
84
-
85
- // ============================================================================
86
- // No Config Tests
87
- // ============================================================================
88
-
89
- #[test]
90
- fn test_no_config_is_unlimited() {
91
- let TestSetup { client, .. } = setup();
92
-
93
- assert_eq!(client.rate_limit_capacity(&Direction::Outbound, &1u32), i128::MAX);
94
- assert_eq!(client.rate_limit_in_flight(&Direction::Outbound, &1u32), 0);
95
- }
96
-
97
- #[test]
98
- fn test_no_config_consume_and_release_are_noop() {
99
- let TestSetup { client, .. } = setup();
100
-
101
- client.consume(&Direction::Outbound, &1u32, &999i128);
102
- assert_eq!(client.rate_limit_in_flight(&Direction::Outbound, &1u32), 0);
103
-
104
- client.release(&Direction::Outbound, &1u32, &999i128);
105
- assert_eq!(client.rate_limit_in_flight(&Direction::Outbound, &1u32), 0);
106
- }
107
-
108
- // ============================================================================
109
- // Set Rate Limit Tests
110
- // ============================================================================
111
-
112
- #[test]
113
- fn test_set_rate_limit_rejects_invalid_config() {
114
- let TestSetup { client, contract_id, .. } = setup();
115
-
116
- // Invalid: window_seconds == 0
117
- let res = client.try_set_rate_limit(&Direction::Outbound, &1u32, &Some(config(10, 0)), &contract_id);
118
- assert_eq!(res.err().unwrap().ok().unwrap(), RateLimitError::InvalidConfig.into());
119
-
120
- // Invalid: limit < 0
121
- let res2 = client.try_set_rate_limit(&Direction::Outbound, &1u32, &Some(config(-1, 10)), &contract_id);
122
- assert_eq!(res2.err().unwrap().ok().unwrap(), RateLimitError::InvalidConfig.into());
123
- }
124
-
125
- #[test]
126
- fn test_set_rate_limit_rejects_same_value() {
127
- let TestSetup { client, contract_id, .. } = setup();
128
-
129
- // SameValue when removing a non-existent config.
130
- let res = client.try_set_rate_limit(&Direction::Outbound, &1u32, &None, &contract_id);
131
- assert_eq!(res.err().unwrap().ok().unwrap(), RateLimitError::SameValue.into());
132
-
133
- // Set a valid config; setting same again should be SameValue.
134
- let cfg = config(100, 10);
135
- client.set_rate_limit(&Direction::Outbound, &1u32, &Some(cfg.clone()), &contract_id);
136
- let res2 = client.try_set_rate_limit(&Direction::Outbound, &1u32, &Some(cfg), &contract_id);
137
- assert_eq!(res2.err().unwrap().ok().unwrap(), RateLimitError::SameValue.into());
138
- }
139
-
140
- // ============================================================================
141
- // Consume and Release Tests
142
- // ============================================================================
143
-
144
- #[test]
145
- fn test_consume_rejects_negative_amount() {
146
- let TestSetup { client, contract_id, .. } = setup();
147
-
148
- client.set_rate_limit(&Direction::Outbound, &1u32, &Some(config(100, 100)), &contract_id);
149
-
150
- let res = client.try_consume(&Direction::Outbound, &1u32, &-1i128);
151
- assert_eq!(res.err().unwrap().ok().unwrap(), RateLimitError::InvalidAmount.into());
152
- }
153
-
154
- #[test]
155
- fn test_release_rejects_negative_amount() {
156
- let TestSetup { client, contract_id, .. } = setup();
157
-
158
- client.set_rate_limit(&Direction::Outbound, &1u32, &Some(config(100, 100)), &contract_id);
159
-
160
- let res = client.try_release(&Direction::Outbound, &1u32, &-1i128);
161
- assert_eq!(res.err().unwrap().ok().unwrap(), RateLimitError::InvalidAmount.into());
162
- }
163
-
164
- #[test]
165
- fn test_consume_within_capacity() {
166
- let TestSetup { client, contract_id, .. } = setup();
167
- let direction = Direction::Outbound;
168
- let eid = 77u32;
169
-
170
- client.set_rate_limit(&direction, &eid, &Some(config(100, 100)), &contract_id);
171
-
172
- client.consume(&direction, &eid, &60i128);
173
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 60);
174
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 40);
175
- }
176
-
177
- #[test]
178
- fn test_consume_exceeds_capacity() {
179
- let TestSetup { client, contract_id, .. } = setup();
180
- let direction = Direction::Outbound;
181
- let eid = 77u32;
182
-
183
- client.set_rate_limit(&direction, &eid, &Some(config(100, 100)), &contract_id);
184
- client.consume(&direction, &eid, &60i128);
185
-
186
- let res = client.try_consume(&direction, &eid, &41i128);
187
- assert_eq!(res.err().unwrap().ok().unwrap(), RateLimitError::ExceededRateLimit.into());
188
- }
189
-
190
- #[test]
191
- fn test_release_reduces_in_flight() {
192
- let TestSetup { client, contract_id, .. } = setup();
193
- let direction = Direction::Outbound;
194
- let eid = 77u32;
195
-
196
- client.set_rate_limit(&direction, &eid, &Some(config(100, 100)), &contract_id);
197
- client.consume(&direction, &eid, &60i128);
198
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 60);
199
-
200
- client.release(&direction, &eid, &10i128);
201
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 50);
202
-
203
- // Release more than in-flight clamps to 0.
204
- client.release(&direction, &eid, &999i128);
205
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 0);
206
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 100);
207
- }
208
-
209
- // ============================================================================
210
- // Decay Tests
211
- // ============================================================================
212
-
213
- #[test]
214
- fn test_decay_reduces_in_flight_over_time() {
215
- let TestSetup { env, client, contract_id } = setup();
216
- let direction = Direction::Outbound;
217
- let eid = 5u32;
218
-
219
- env.ledger().set_timestamp(1_000);
220
- client.set_rate_limit(&direction, &eid, &Some(config(100, 10)), &contract_id);
221
-
222
- client.consume(&direction, &eid, &100i128);
223
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 100);
224
-
225
- // Advance 5 seconds => decay 50.
226
- env.ledger().set_timestamp(1_005);
227
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 50);
228
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 50);
229
- }
230
-
231
- #[test]
232
- fn test_timestamp_regression_errors() {
233
- let TestSetup { env, client, contract_id } = setup();
234
- let direction = Direction::Outbound;
235
- let eid = 5u32;
236
-
237
- env.ledger().set_timestamp(1_000);
238
- client.set_rate_limit(&direction, &eid, &Some(config(100, 10)), &contract_id);
239
- client.consume(&direction, &eid, &100i128);
240
-
241
- // Set timestamp backwards => should error.
242
- env.ledger().set_timestamp(999);
243
- let res = client.try_rate_limit_in_flight(&direction, &eid);
244
- assert_eq!(res.err().unwrap().ok().unwrap(), RateLimitError::InvalidTimestamp.into());
245
- }
246
-
247
- // ============================================================================
248
- // Config Update Tests
249
- // ============================================================================
250
-
251
- #[test]
252
- fn test_updating_config_checkpoints_in_flight() {
253
- let TestSetup { env, client, contract_id } = setup();
254
- let direction = Direction::Outbound;
255
- let eid = 42u32;
256
-
257
- env.ledger().set_timestamp(1_000);
258
- client.set_rate_limit(&direction, &eid, &Some(config(100, 10)), &contract_id);
259
- client.consume(&direction, &eid, &100i128);
260
-
261
- // Move forward, then update config.
262
- env.ledger().set_timestamp(1_005);
263
- client.set_rate_limit(&direction, &eid, &Some(config(200, 20)), &contract_id);
264
-
265
- // At t=1005, old config would have decayed to 50.
266
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 50);
267
-
268
- // After 10 more seconds, new config decay should clear it.
269
- env.ledger().set_timestamp(1_015);
270
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 0);
271
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 200);
272
- }
273
-
274
- #[test]
275
- fn test_reducing_limit_below_in_flight_clamps_capacity() {
276
- let TestSetup { env, client, contract_id } = setup();
277
- let direction = Direction::Inbound;
278
- let eid = 123u32;
279
-
280
- env.ledger().set_timestamp(1_000);
281
- client.set_rate_limit(&direction, &eid, &Some(config(100, 100)), &contract_id);
282
- client.consume(&direction, &eid, &90i128);
283
-
284
- // Reduce limit below in-flight.
285
- client.set_rate_limit(&direction, &eid, &Some(config(50, 100)), &contract_id);
286
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 0);
287
- }
288
-
289
- #[test]
290
- fn test_removing_rate_limit_makes_unlimited() {
291
- let TestSetup { client, contract_id, .. } = setup();
292
- let direction = Direction::Inbound;
293
- let eid = 321u32;
294
-
295
- client.set_rate_limit(&direction, &eid, &Some(config(10, 10)), &contract_id);
296
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 10);
297
-
298
- client.set_rate_limit(&direction, &eid, &None, &contract_id);
299
- assert_eq!(client.rate_limit_capacity(&direction, &eid), i128::MAX);
300
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 0);
301
- }
302
-
303
- // ============================================================================
304
- // Rate Limit Config View Tests
305
- // ============================================================================
306
-
307
- #[test]
308
- fn test_rate_limit_config_returns_none_when_unset() {
309
- let TestSetup { client, .. } = setup();
310
-
311
- assert_eq!(client.rate_limit_config(&Direction::Outbound, &999u32), None);
312
- assert_eq!(client.rate_limit_config(&Direction::Inbound, &888u32), None);
313
- }
314
-
315
- #[test]
316
- fn test_rate_limit_config_returns_config_when_set() {
317
- let TestSetup { client, contract_id, .. } = setup();
318
- let direction = Direction::Outbound;
319
- let eid = 42u32;
320
-
321
- let cfg = config(500, 60);
322
- client.set_rate_limit(&direction, &eid, &Some(cfg.clone()), &contract_id);
323
-
324
- let result = client.rate_limit_config(&direction, &eid);
325
- assert_eq!(result, Some(cfg));
326
- }
327
-
328
- #[test]
329
- fn test_rate_limit_config_returns_none_after_removal() {
330
- let TestSetup { client, contract_id, .. } = setup();
331
- let direction = Direction::Inbound;
332
- let eid = 77u32;
333
-
334
- client.set_rate_limit(&direction, &eid, &Some(config(100, 10)), &contract_id);
335
- assert!(client.rate_limit_config(&direction, &eid).is_some());
336
-
337
- client.set_rate_limit(&direction, &eid, &None, &contract_id);
338
- assert_eq!(client.rate_limit_config(&direction, &eid), None);
339
- }
340
-
341
- // ============================================================================
342
- // Direction Independence Tests
343
- // ============================================================================
344
-
345
- #[test]
346
- fn test_inbound_outbound_are_independent() {
347
- let TestSetup { client, contract_id, .. } = setup();
348
- let eid = 10u32;
349
-
350
- // Set different configs for inbound and outbound
351
- client.set_rate_limit(&Direction::Inbound, &eid, &Some(config(100, 10)), &contract_id);
352
- client.set_rate_limit(&Direction::Outbound, &eid, &Some(config(200, 20)), &contract_id);
353
-
354
- assert_eq!(client.rate_limit_config(&Direction::Inbound, &eid), Some(config(100, 10)));
355
- assert_eq!(client.rate_limit_config(&Direction::Outbound, &eid), Some(config(200, 20)));
356
-
357
- // Consume from one direction doesn't affect the other
358
- client.consume(&Direction::Inbound, &eid, &50i128);
359
- assert_eq!(client.rate_limit_in_flight(&Direction::Inbound, &eid), 50);
360
- assert_eq!(client.rate_limit_in_flight(&Direction::Outbound, &eid), 0);
361
- }
362
-
363
- #[test]
364
- fn test_different_eids_are_independent() {
365
- let TestSetup { client, contract_id, .. } = setup();
366
- let direction = Direction::Outbound;
367
-
368
- client.set_rate_limit(&direction, &1u32, &Some(config(100, 10)), &contract_id);
369
- client.set_rate_limit(&direction, &2u32, &Some(config(200, 20)), &contract_id);
370
-
371
- client.consume(&direction, &1u32, &50i128);
372
- assert_eq!(client.rate_limit_in_flight(&direction, &1u32), 50);
373
- assert_eq!(client.rate_limit_in_flight(&direction, &2u32), 0);
374
- }
375
-
376
- // ============================================================================
377
- // Gross Mode Tests
378
- // ============================================================================
379
-
380
- #[test]
381
- fn test_gross_mode_does_not_release_capacity() {
382
- let TestSetup { client, contract_id, .. } = setup();
383
- let direction = Direction::Outbound;
384
- let eid = 77u32;
385
-
386
- client.set_rate_limit(&direction, &eid, &Some(config_with_mode(100, 100, Mode::Gross)), &contract_id);
387
- client.consume(&direction, &eid, &60i128);
388
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 60);
389
-
390
- // Release should be a no-op in Gross mode
391
- client.release(&direction, &eid, &30i128);
392
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 60, "Gross mode should not release");
393
- }
394
-
395
- #[test]
396
- fn test_net_mode_does_release_capacity() {
397
- let TestSetup { client, contract_id, .. } = setup();
398
- let direction = Direction::Outbound;
399
- let eid = 77u32;
400
-
401
- client.set_rate_limit(&direction, &eid, &Some(config_with_mode(100, 100, Mode::Net)), &contract_id);
402
- client.consume(&direction, &eid, &60i128);
403
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 60);
404
-
405
- // Release should reduce in-flight in Net mode
406
- client.release(&direction, &eid, &30i128);
407
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 30, "Net mode should release");
408
- }
409
-
410
- #[test]
411
- fn test_gross_mode_enforces_absolute_limit() {
412
- let TestSetup { client, contract_id, .. } = setup();
413
- let direction = Direction::Outbound;
414
- let eid = 1u32;
415
-
416
- client.set_rate_limit(&direction, &eid, &Some(config_with_mode(100, 100, Mode::Gross)), &contract_id);
417
-
418
- // Consume 80
419
- client.consume(&direction, &eid, &80i128);
420
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 80);
421
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 20);
422
-
423
- // Try to release 50 (should be no-op)
424
- client.release(&direction, &eid, &50i128);
425
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 80);
426
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 20);
427
-
428
- // Should only be able to consume 20 more
429
- client.consume(&direction, &eid, &20i128);
430
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 100);
431
-
432
- // Should fail to consume more
433
- let res = client.try_consume(&direction, &eid, &1i128);
434
- assert_eq!(res.err().unwrap().ok().unwrap(), RateLimitError::ExceededRateLimit.into());
435
- }
436
-
437
- #[test]
438
- fn test_gross_mode_decay_still_works() {
439
- let TestSetup { env, client, contract_id } = setup();
440
- let direction = Direction::Outbound;
441
- let eid = 1u32;
442
-
443
- env.ledger().set_timestamp(1_000);
444
- client.set_rate_limit(&direction, &eid, &Some(config_with_mode(100, 10, Mode::Gross)), &contract_id);
445
-
446
- // Consume full capacity
447
- client.consume(&direction, &eid, &100i128);
448
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 0);
449
-
450
- // Release should not affect in-flight in Gross mode
451
- client.release(&direction, &eid, &50i128);
452
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 100);
453
-
454
- // Advance time by 5 seconds => decay 50
455
- env.ledger().set_timestamp(1_005);
456
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 50);
457
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 50);
458
- }
459
-
460
- #[test]
461
- fn test_switching_from_net_to_gross_mode() {
462
- let TestSetup { client, contract_id, .. } = setup();
463
- let direction = Direction::Outbound;
464
- let eid = 1u32;
465
-
466
- // Start with Net mode
467
- client.set_rate_limit(&direction, &eid, &Some(config_with_mode(100, 100, Mode::Net)), &contract_id);
468
- client.consume(&direction, &eid, &60i128);
469
- client.release(&direction, &eid, &20i128);
470
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 40, "Net mode should release");
471
-
472
- // Switch to Gross mode
473
- client.set_rate_limit(&direction, &eid, &Some(config_with_mode(100, 100, Mode::Gross)), &contract_id);
474
-
475
- // in-flight should be checkpointed
476
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 40);
477
-
478
- // Now releases should be no-op
479
- client.release(&direction, &eid, &20i128);
480
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 40, "Gross mode should not release");
481
- }
482
-
483
- #[test]
484
- fn test_switching_from_gross_to_net_mode() {
485
- let TestSetup { client, contract_id, .. } = setup();
486
- let direction = Direction::Outbound;
487
- let eid = 1u32;
488
-
489
- // Start with Gross mode
490
- client.set_rate_limit(&direction, &eid, &Some(config_with_mode(100, 100, Mode::Gross)), &contract_id);
491
- client.consume(&direction, &eid, &60i128);
492
- client.release(&direction, &eid, &20i128);
493
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 60, "Gross mode should not release");
494
-
495
- // Switch to Net mode
496
- client.set_rate_limit(&direction, &eid, &Some(config_with_mode(100, 100, Mode::Net)), &contract_id);
497
-
498
- // in-flight should be checkpointed
499
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 60);
500
-
501
- // Now releases should work
502
- client.release(&direction, &eid, &20i128);
503
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 40, "Net mode should release");
504
- }
505
-
506
- // ============================================================================
507
- // Edge Case Tests
508
- // ============================================================================
509
-
510
- #[test]
511
- fn test_consume_zero_amount_succeeds() {
512
- let TestSetup { client, contract_id, .. } = setup();
513
- let direction = Direction::Outbound;
514
- let eid = 1u32;
515
-
516
- client.set_rate_limit(&direction, &eid, &Some(config(100, 100)), &contract_id);
517
-
518
- // Consuming zero should succeed
519
- client.consume(&direction, &eid, &0i128);
520
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 0);
521
- }
522
-
523
- #[test]
524
- fn test_release_zero_amount_succeeds() {
525
- let TestSetup { client, contract_id, .. } = setup();
526
- let direction = Direction::Outbound;
527
- let eid = 1u32;
528
-
529
- client.set_rate_limit(&direction, &eid, &Some(config(100, 100)), &contract_id);
530
- client.consume(&direction, &eid, &50i128);
531
-
532
- // Releasing zero should succeed
533
- client.release(&direction, &eid, &0i128);
534
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 50);
535
- }
536
-
537
- #[test]
538
- fn test_consume_exact_capacity() {
539
- let TestSetup { client, contract_id, .. } = setup();
540
- let direction = Direction::Outbound;
541
- let eid = 1u32;
542
-
543
- client.set_rate_limit(&direction, &eid, &Some(config(100, 100)), &contract_id);
544
-
545
- // Consuming exact capacity should succeed
546
- client.consume(&direction, &eid, &100i128);
547
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 100);
548
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 0);
549
- }
550
-
551
- #[test]
552
- fn test_decay_fully_restores_capacity() {
553
- let TestSetup { env, client, contract_id } = setup();
554
- let direction = Direction::Outbound;
555
- let eid = 1u32;
556
-
557
- env.ledger().set_timestamp(1_000);
558
- client.set_rate_limit(&direction, &eid, &Some(config(100, 10)), &contract_id);
559
-
560
- client.consume(&direction, &eid, &100i128);
561
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 0);
562
-
563
- // Advance full window => full decay
564
- env.ledger().set_timestamp(1_010);
565
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 0);
566
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 100);
567
- }
568
-
569
- #[test]
570
- fn test_decay_beyond_window_clamps_to_zero() {
571
- let TestSetup { env, client, contract_id } = setup();
572
- let direction = Direction::Outbound;
573
- let eid = 1u32;
574
-
575
- env.ledger().set_timestamp(1_000);
576
- client.set_rate_limit(&direction, &eid, &Some(config(100, 10)), &contract_id);
577
-
578
- client.consume(&direction, &eid, &50i128);
579
-
580
- // Advance way beyond window
581
- env.ledger().set_timestamp(2_000);
582
- assert_eq!(client.rate_limit_in_flight(&direction, &eid), 0);
583
- }
584
-
585
- #[test]
586
- fn test_limit_zero_blocks_all_consumption() {
587
- let TestSetup { client, contract_id, .. } = setup();
588
- let direction = Direction::Outbound;
589
- let eid = 1u32;
590
-
591
- // Set limit to 0 (valid config)
592
- client.set_rate_limit(&direction, &eid, &Some(config(0, 10)), &contract_id);
593
- assert_eq!(client.rate_limit_capacity(&direction, &eid), 0);
594
-
595
- // Any non-zero consumption should fail
596
- let res = client.try_consume(&direction, &eid, &1i128);
597
- assert_eq!(res.err().unwrap().ok().unwrap(), RateLimitError::ExceededRateLimit.into());
598
-
599
- // Zero consumption should still succeed
600
- client.consume(&direction, &eid, &0i128);
601
- }
@@ -1,2 +0,0 @@
1
- mod extensions;
2
- mod oft_types;