@layerzerolabs/protocol-stellar-v2 0.2.121 → 0.2.123

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (753) hide show
  1. package/Cargo.toml +22 -37
  2. package/{contracts/endpoint-v2 → endpoint-v2}/Cargo.toml +3 -2
  3. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/pay_messaging_fees.rs +7 -1
  4. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/quote.rs +2 -2
  5. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/ttl_config.rs +4 -1
  6. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/verifiable.rs +0 -1
  7. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +9 -3
  8. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_send_lib_for_eid.rs +6 -2
  9. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_supported_eid.rs +6 -2
  10. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/clear_payload.rs +1 -4
  11. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound.rs +1 -4
  12. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/nilify.rs +3 -12
  13. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/pending_inbound_nonces.rs +0 -1
  14. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/lz_compose_alert.rs +1 -0
  15. package/{contracts/layerzero-views → layerzero-views}/Cargo.toml +1 -6
  16. package/{contracts/message-libs → message-libs}/blocked-message-lib/Cargo.toml +0 -1
  17. package/{contracts/message-libs → message-libs}/message-lib-common/Cargo.toml +2 -2
  18. package/{contracts/message-libs → message-libs}/simple-message-lib/Cargo.toml +1 -2
  19. package/{contracts/message-libs → message-libs}/treasury/Cargo.toml +1 -2
  20. package/{contracts/message-libs → message-libs}/uln-302/Cargo.toml +3 -2
  21. package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/send.rs +20 -4
  22. package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_app_receive_uln_config.rs +2 -2
  23. package/package.json +32 -15
  24. package/rustfmt.toml +8 -13
  25. package/{contracts/upgrader → upgrader}/Cargo.toml +0 -1
  26. package/upgrader/src/tests/mod.rs +1 -0
  27. package/{contracts/workers → workers}/dvn/Cargo.toml +1 -2
  28. package/{contracts/workers → workers}/dvn/src/tests/auth.rs +12 -60
  29. package/{contracts/workers → workers}/dvn-fee-lib/Cargo.toml +1 -2
  30. package/{contracts/workers → workers}/executor/Cargo.toml +3 -2
  31. package/{contracts/workers → workers}/executor/src/auth.rs +3 -8
  32. package/{contracts/workers → workers}/executor/src/storage.rs +1 -1
  33. package/{contracts/workers → workers}/executor/src/tests/auth.rs +6 -1
  34. package/{contracts/workers → workers}/executor/src/tests/executor.rs +5 -5
  35. package/{contracts/workers → workers}/executor/src/tests/setup.rs +1 -2
  36. package/{contracts/workers → workers}/executor-fee-lib/Cargo.toml +1 -2
  37. package/{contracts/workers → workers}/executor-fee-lib/src/tests/executor_fee_lib.rs +5 -5
  38. package/{contracts/workers → workers}/executor-fee-lib/src/tests/executor_option.rs +2 -2
  39. package/{contracts/workers → workers}/executor-helper/Cargo.toml +0 -1
  40. package/{contracts/workers → workers}/executor-helper/src/executor_helper.rs +0 -1
  41. package/{contracts/workers → workers}/executor-helper/src/tests/executor_helper.rs +0 -1
  42. package/{contracts/workers → workers}/fee-lib-interfaces/Cargo.toml +0 -1
  43. package/{contracts/workers → workers}/price-feed/Cargo.toml +1 -2
  44. package/{contracts/workers → workers}/price-feed/src/tests/price_feed.rs +11 -11
  45. package/{contracts/workers → workers}/worker/Cargo.toml +0 -1
  46. package/{contracts/workers → workers}/worker/src/tests/worker.rs +27 -27
  47. package/.turbo/turbo-build.log +0 -1363
  48. package/.turbo/turbo-lint.log +0 -401
  49. package/.turbo/turbo-test.log +0 -1952
  50. package/Cargo.lock +0 -2357
  51. package/contracts/common-macros/Cargo.toml +0 -20
  52. package/contracts/common-macros/src/auth.rs +0 -95
  53. package/contracts/common-macros/src/contract_ttl.rs +0 -92
  54. package/contracts/common-macros/src/error.rs +0 -43
  55. package/contracts/common-macros/src/lib.rs +0 -585
  56. package/contracts/common-macros/src/lz_contract.rs +0 -105
  57. package/contracts/common-macros/src/rbac.rs +0 -90
  58. package/contracts/common-macros/src/storage.rs +0 -522
  59. package/contracts/common-macros/src/tests/auth.rs +0 -230
  60. package/contracts/common-macros/src/tests/contract_ttl.rs +0 -695
  61. package/contracts/common-macros/src/tests/error.rs +0 -156
  62. package/contracts/common-macros/src/tests/lz_contract.rs +0 -87
  63. package/contracts/common-macros/src/tests/mod.rs +0 -11
  64. package/contracts/common-macros/src/tests/rbac.rs +0 -523
  65. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +0 -31
  66. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +0 -39
  67. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap +0 -19
  68. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +0 -77
  69. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +0 -46
  70. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__error__snapshot_generated_contract_error_code.snap +0 -20
  71. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +0 -51
  72. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__rbac__snapshot_authorizer_role.snap +0 -21
  73. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__rbac__snapshot_preserve_function_signature.snap +0 -21
  74. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +0 -10
  75. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_extendable__snapshot_generated_ttl_extendable_code.snap +0 -8
  76. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +0 -28
  77. package/contracts/common-macros/src/tests/storage/extract_fields.rs +0 -87
  78. package/contracts/common-macros/src/tests/storage/gen_accessor_methods.rs +0 -223
  79. package/contracts/common-macros/src/tests/storage/gen_args.rs +0 -65
  80. package/contracts/common-macros/src/tests/storage/gen_enum_variant.rs +0 -78
  81. package/contracts/common-macros/src/tests/storage/gen_key.rs +0 -108
  82. package/contracts/common-macros/src/tests/storage/gen_params.rs +0 -105
  83. package/contracts/common-macros/src/tests/storage/generate_storage.rs +0 -410
  84. package/contracts/common-macros/src/tests/storage/is_primitive_type.rs +0 -48
  85. package/contracts/common-macros/src/tests/storage/mod.rs +0 -16
  86. package/contracts/common-macros/src/tests/storage/parse_default.rs +0 -164
  87. package/contracts/common-macros/src/tests/storage/parse_name.rs +0 -158
  88. package/contracts/common-macros/src/tests/storage/parse_no_ttl_extension.rs +0 -124
  89. package/contracts/common-macros/src/tests/storage/parse_storage_type.rs +0 -174
  90. package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +0 -412
  91. package/contracts/common-macros/src/tests/storage/storage_kind.rs +0 -39
  92. package/contracts/common-macros/src/tests/storage/test_setup.rs +0 -25
  93. package/contracts/common-macros/src/tests/storage/validate_attrs.rs +0 -138
  94. package/contracts/common-macros/src/tests/storage/variant_config.rs +0 -226
  95. package/contracts/common-macros/src/tests/test_helpers.rs +0 -87
  96. package/contracts/common-macros/src/tests/ttl_configurable.rs +0 -34
  97. package/contracts/common-macros/src/tests/ttl_extendable.rs +0 -32
  98. package/contracts/common-macros/src/tests/upgradeable.rs +0 -169
  99. package/contracts/common-macros/src/tests/utils.rs +0 -267
  100. package/contracts/common-macros/src/ttl_configurable.rs +0 -24
  101. package/contracts/common-macros/src/ttl_extendable.rs +0 -28
  102. package/contracts/common-macros/src/upgradeable.rs +0 -136
  103. package/contracts/common-macros/src/utils.rs +0 -56
  104. package/contracts/macro-integration-tests/Cargo.toml +0 -20
  105. package/contracts/macro-integration-tests/src/lib.rs +0 -1
  106. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/constructor.rs +0 -61
  107. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_impl_ttl_extension.rs +0 -97
  108. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_trait_ttl_extension.rs +0 -99
  109. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/mod.rs +0 -3
  110. package/contracts/macro-integration-tests/tests/runtime/lz_contract/mod.rs +0 -5
  111. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_default.rs +0 -86
  112. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig.rs +0 -47
  113. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig_upgradeable.rs +0 -77
  114. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable.rs +0 -114
  115. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable_no_migration.rs +0 -105
  116. package/contracts/macro-integration-tests/tests/runtime/multisig/admin_entrypoints.rs +0 -242
  117. package/contracts/macro-integration-tests/tests/runtime/multisig/mod.rs +0 -9
  118. package/contracts/macro-integration-tests/tests/runtime/multisig/self_auth.rs +0 -54
  119. package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +0 -46
  120. package/contracts/macro-integration-tests/tests/runtime/oapp/oapp_core.rs +0 -170
  121. package/contracts/macro-integration-tests/tests/runtime/oapp/options_type3.rs +0 -154
  122. package/contracts/macro-integration-tests/tests/runtime/oapp/receiver.rs +0 -338
  123. package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +0 -437
  124. package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +0 -78
  125. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +0 -23
  126. package/contracts/macro-integration-tests/tests/runtime/ownable/only_auth_guard.rs +0 -97
  127. package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +0 -170
  128. package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +0 -221
  129. package/contracts/macro-integration-tests/tests/runtime/rbac/guard_behavior.rs +0 -91
  130. package/contracts/macro-integration-tests/tests/runtime/rbac/mod.rs +0 -30
  131. package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +0 -266
  132. package/contracts/macro-integration-tests/tests/runtime/storage/mod.rs +0 -4
  133. package/contracts/macro-integration-tests/tests/runtime/storage/name_override_runtime.rs +0 -52
  134. package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +0 -293
  135. package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +0 -147
  136. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +0 -206
  137. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +0 -143
  138. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -2
  139. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/extend_instance_ttl.rs +0 -64
  140. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/mod.rs +0 -16
  141. package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +0 -243
  142. package/contracts/macro-integration-tests/tests/runtime/upgradeable/mod.rs +0 -3
  143. package/contracts/macro-integration-tests/tests/runtime/upgradeable/no_migration.rs +0 -59
  144. package/contracts/macro-integration-tests/tests/runtime/upgradeable/upgrade_then_migrate.rs +0 -88
  145. package/contracts/macro-integration-tests/tests/runtime.rs +0 -11
  146. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.rs +0 -6
  147. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.stderr +0 -7
  148. package/contracts/macro-integration-tests/tests/ui/contract_impl/pass/basic.rs +0 -102
  149. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.rs +0 -6
  150. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.stderr +0 -7
  151. package/contracts/macro-integration-tests/tests/ui/contract_trait/pass/basic.rs +0 -83
  152. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.rs +0 -12
  153. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.stderr +0 -7
  154. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.rs +0 -11
  155. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.stderr +0 -7
  156. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.rs +0 -11
  157. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.stderr +0 -7
  158. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.rs +0 -21
  159. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.stderr +0 -7
  160. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.rs +0 -13
  161. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.stderr +0 -7
  162. package/contracts/macro-integration-tests/tests/ui/error/pass/basic.rs +0 -22
  163. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.rs +0 -6
  164. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.stderr +0 -7
  165. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.rs +0 -20
  166. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.stderr +0 -20
  167. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.rs +0 -8
  168. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.stderr +0 -7
  169. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.rs +0 -10
  170. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +0 -30
  171. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.rs +0 -20
  172. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +0 -56
  173. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/basic.rs +0 -45
  174. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig.rs +0 -34
  175. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig_upgradeable.rs +0 -30
  176. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable.rs +0 -39
  177. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_no_migration.rs +0 -28
  178. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_rbac.rs +0 -44
  179. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.rs +0 -8
  180. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.stderr +0 -7
  181. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.rs +0 -20
  182. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.stderr +0 -12
  183. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.rs +0 -20
  184. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.stderr +0 -5
  185. package/contracts/macro-integration-tests/tests/ui/multisig/pass/basic.rs +0 -49
  186. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.rs +0 -8
  187. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.stderr +0 -7
  188. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.rs +0 -28
  189. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.stderr +0 -397
  190. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.rs +0 -9
  191. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.stderr +0 -71
  192. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.rs +0 -10
  193. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.stderr +0 -7
  194. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.rs +0 -8
  195. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.stderr +0 -7
  196. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.rs +0 -8
  197. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.stderr +0 -7
  198. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +0 -42
  199. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +0 -103
  200. package/contracts/macro-integration-tests/tests/ui/oapp/pass/minimal_contract.rs +0 -65
  201. package/contracts/macro-integration-tests/tests/ui/oapp/pass/struct_with_fields.rs +0 -48
  202. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.rs +0 -8
  203. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.stderr +0 -7
  204. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.rs +0 -19
  205. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.stderr +0 -12
  206. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +0 -22
  207. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +0 -16
  208. package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +0 -39
  209. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +0 -52
  210. package/contracts/macro-integration-tests/tests/ui/rbac/fail/missing_env.rs +0 -18
  211. package/contracts/macro-integration-tests/tests/ui/rbac/fail/missing_env.stderr +0 -16
  212. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_address.rs +0 -18
  213. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_address.stderr +0 -24
  214. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_found.rs +0 -18
  215. package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_found.stderr +0 -24
  216. package/contracts/macro-integration-tests/tests/ui/rbac/pass/basic.rs +0 -80
  217. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.rs +0 -13
  218. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +0 -7
  219. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.rs +0 -13
  220. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +0 -7
  221. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.rs +0 -11
  222. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.stderr +0 -7
  223. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.rs +0 -11
  224. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.stderr +0 -7
  225. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.rs +0 -11
  226. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.stderr +0 -7
  227. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.rs +0 -10
  228. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.stderr +0 -7
  229. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.rs +0 -12
  230. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +0 -7
  231. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.rs +0 -10
  232. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.stderr +0 -7
  233. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.rs +0 -13
  234. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.stderr +0 -7
  235. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.rs +0 -10
  236. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.stderr +0 -7
  237. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.rs +0 -13
  238. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.stderr +0 -7
  239. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.rs +0 -13
  240. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.stderr +0 -7
  241. package/contracts/macro-integration-tests/tests/ui/storage/pass/api_surface.rs +0 -102
  242. package/contracts/macro-integration-tests/tests/ui/storage/pass/basic.rs +0 -43
  243. package/contracts/macro-integration-tests/tests/ui/storage/pass/multi_key.rs +0 -38
  244. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.rs +0 -14
  245. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.stderr +0 -71
  246. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.rs +0 -8
  247. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.stderr +0 -7
  248. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/basic.rs +0 -46
  249. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/multisig_contract.rs +0 -28
  250. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/ownable_contract.rs +0 -32
  251. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.rs +0 -8
  252. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.stderr +0 -7
  253. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/basic.rs +0 -23
  254. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/no_user_contractimpl.rs +0 -21
  255. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.rs +0 -11
  256. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +0 -29
  257. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.rs +0 -20
  258. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +0 -41
  259. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.rs +0 -10
  260. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +0 -49
  261. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.rs +0 -8
  262. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.stderr +0 -7
  263. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/basic.rs +0 -41
  264. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/multisig_contract.rs +0 -33
  265. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_migration.rs +0 -28
  266. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_user_contractimpl.rs +0 -27
  267. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/rbac.rs +0 -44
  268. package/contracts/macro-integration-tests/tests/ui_contract_impl.rs +0 -12
  269. package/contracts/macro-integration-tests/tests/ui_contract_trait.rs +0 -12
  270. package/contracts/macro-integration-tests/tests/ui_error.rs +0 -11
  271. package/contracts/macro-integration-tests/tests/ui_lz_contract.rs +0 -11
  272. package/contracts/macro-integration-tests/tests/ui_multisig.rs +0 -11
  273. package/contracts/macro-integration-tests/tests/ui_oapp.rs +0 -11
  274. package/contracts/macro-integration-tests/tests/ui_ownable.rs +0 -11
  275. package/contracts/macro-integration-tests/tests/ui_rbac.rs +0 -12
  276. package/contracts/macro-integration-tests/tests/ui_storage.rs +0 -11
  277. package/contracts/macro-integration-tests/tests/ui_ttl_configurable.rs +0 -12
  278. package/contracts/macro-integration-tests/tests/ui_ttl_extendable.rs +0 -12
  279. package/contracts/macro-integration-tests/tests/ui_upgradeable.rs +0 -11
  280. package/contracts/message-libs/Cargo.toml +0 -12
  281. package/contracts/message-libs/lib.rs +0 -2
  282. package/contracts/oapps/Cargo.toml +0 -12
  283. package/contracts/oapps/counter/Cargo.toml +0 -39
  284. package/contracts/oapps/counter/integration_tests/mod.rs +0 -7
  285. package/contracts/oapps/counter/integration_tests/setup_sml.rs +0 -171
  286. package/contracts/oapps/counter/integration_tests/setup_uln.rs +0 -1019
  287. package/contracts/oapps/counter/integration_tests/signing.rs +0 -62
  288. package/contracts/oapps/counter/integration_tests/test_with_blocked.rs +0 -67
  289. package/contracts/oapps/counter/integration_tests/test_with_sml.rs +0 -135
  290. package/contracts/oapps/counter/integration_tests/test_with_uln.rs +0 -314
  291. package/contracts/oapps/counter/integration_tests/utils.rs +0 -294
  292. package/contracts/oapps/counter/src/codec.rs +0 -62
  293. package/contracts/oapps/counter/src/counter.rs +0 -274
  294. package/contracts/oapps/counter/src/errors.rs +0 -9
  295. package/contracts/oapps/counter/src/lib.rs +0 -16
  296. package/contracts/oapps/counter/src/options.rs +0 -30
  297. package/contracts/oapps/counter/src/storage.rs +0 -32
  298. package/contracts/oapps/counter/src/tests/mod.rs +0 -24
  299. package/contracts/oapps/counter/src/tests/test_codec.rs +0 -64
  300. package/contracts/oapps/counter/src/tests/test_counter.rs +0 -387
  301. package/contracts/oapps/counter/src/tests/test_u256_ext.rs +0 -48
  302. package/contracts/oapps/counter/src/u256_ext.rs +0 -21
  303. package/contracts/oapps/lib.rs +0 -2
  304. package/contracts/oapps/oapp/Cargo.toml +0 -22
  305. package/contracts/oapps/oapp/src/errors.rs +0 -13
  306. package/contracts/oapps/oapp/src/interfaces/mod.rs +0 -3
  307. package/contracts/oapps/oapp/src/interfaces/oapp_msg_inspector.rs +0 -70
  308. package/contracts/oapps/oapp/src/lib.rs +0 -15
  309. package/contracts/oapps/oapp/src/oapp_core.rs +0 -143
  310. package/contracts/oapps/oapp/src/oapp_options_type3.rs +0 -133
  311. package/contracts/oapps/oapp/src/oapp_receiver.rs +0 -195
  312. package/contracts/oapps/oapp/src/oapp_sender.rs +0 -152
  313. package/contracts/oapps/oapp/src/tests/mod.rs +0 -5
  314. package/contracts/oapps/oapp/src/tests/oapp_core.rs +0 -225
  315. package/contracts/oapps/oapp/src/tests/oapp_options_type3.rs +0 -246
  316. package/contracts/oapps/oapp/src/tests/oapp_receiver.rs +0 -383
  317. package/contracts/oapps/oapp/src/tests/oapp_sender.rs +0 -570
  318. package/contracts/oapps/oapp/src/tests/test_macros.rs +0 -434
  319. package/contracts/oapps/oapp-macros/Cargo.toml +0 -18
  320. package/contracts/oapps/oapp-macros/src/generators.rs +0 -147
  321. package/contracts/oapps/oapp-macros/src/lib.rs +0 -166
  322. package/contracts/oapps/oapp-macros/src/tests/mod.rs +0 -2
  323. package/contracts/oapps/oapp-macros/src/tests/oapp.rs +0 -74
  324. package/contracts/oapps/oapp-macros/src/tests/parse_custom_impls.rs +0 -90
  325. package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +0 -111
  326. package/contracts/oapps/oft/Cargo.toml +0 -30
  327. package/contracts/oapps/oft/integration-tests/extensions/mod.rs +0 -3
  328. package/contracts/oapps/oft/integration-tests/extensions/test_oft_fee.rs +0 -172
  329. package/contracts/oapps/oft/integration-tests/extensions/test_pausable.rs +0 -161
  330. package/contracts/oapps/oft/integration-tests/extensions/test_rate_limiter.rs +0 -336
  331. package/contracts/oapps/oft/integration-tests/mod.rs +0 -3
  332. package/contracts/oapps/oft/integration-tests/setup.rs +0 -306
  333. package/contracts/oapps/oft/integration-tests/utils.rs +0 -609
  334. package/contracts/oapps/oft/src/extensions/mod.rs +0 -3
  335. package/contracts/oapps/oft/src/extensions/oft_fee.rs +0 -281
  336. package/contracts/oapps/oft/src/extensions/pausable.rs +0 -119
  337. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +0 -286
  338. package/contracts/oapps/oft/src/interfaces/mintable.rs +0 -14
  339. package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
  340. package/contracts/oapps/oft/src/lib.rs +0 -24
  341. package/contracts/oapps/oft/src/oft.rs +0 -176
  342. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +0 -50
  343. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +0 -51
  344. package/contracts/oapps/oft/src/oft_types/mod.rs +0 -24
  345. package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -3
  346. package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +0 -260
  347. package/contracts/oapps/oft/src/tests/extensions/pausable.rs +0 -155
  348. package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +0 -601
  349. package/contracts/oapps/oft/src/tests/mod.rs +0 -2
  350. package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +0 -185
  351. package/contracts/oapps/oft/src/tests/oft_types/mod.rs +0 -1
  352. package/contracts/oapps/oft-core/Cargo.toml +0 -24
  353. package/contracts/oapps/oft-core/integration-tests/mod.rs +0 -3
  354. package/contracts/oapps/oft-core/integration-tests/setup.rs +0 -346
  355. package/contracts/oapps/oft-core/integration-tests/test_with_sml.rs +0 -156
  356. package/contracts/oapps/oft-core/integration-tests/utils.rs +0 -220
  357. package/contracts/oapps/oft-core/src/codec/mod.rs +0 -2
  358. package/contracts/oapps/oft-core/src/codec/oft_compose_msg_codec.rs +0 -55
  359. package/contracts/oapps/oft-core/src/codec/oft_msg_codec.rs +0 -58
  360. package/contracts/oapps/oft-core/src/errors.rs +0 -15
  361. package/contracts/oapps/oft-core/src/events.rs +0 -32
  362. package/contracts/oapps/oft-core/src/lib.rs +0 -22
  363. package/contracts/oapps/oft-core/src/oft_core.rs +0 -594
  364. package/contracts/oapps/oft-core/src/storage.rs +0 -19
  365. package/contracts/oapps/oft-core/src/tests/mod.rs +0 -14
  366. package/contracts/oapps/oft-core/src/tests/test_decimals.rs +0 -124
  367. package/contracts/oapps/oft-core/src/tests/test_lz_receive.rs +0 -282
  368. package/contracts/oapps/oft-core/src/tests/test_msg_inspector.rs +0 -324
  369. package/contracts/oapps/oft-core/src/tests/test_oft_compose_msg_codec.rs +0 -68
  370. package/contracts/oapps/oft-core/src/tests/test_oft_msg_codec.rs +0 -64
  371. package/contracts/oapps/oft-core/src/tests/test_oft_version_and_approval.rs +0 -22
  372. package/contracts/oapps/oft-core/src/tests/test_quote_oft.rs +0 -159
  373. package/contracts/oapps/oft-core/src/tests/test_quote_send.rs +0 -195
  374. package/contracts/oapps/oft-core/src/tests/test_resolve_address.rs +0 -37
  375. package/contracts/oapps/oft-core/src/tests/test_send.rs +0 -915
  376. package/contracts/oapps/oft-core/src/tests/test_token.rs +0 -47
  377. package/contracts/oapps/oft-core/src/tests/test_utils.rs +0 -870
  378. package/contracts/oapps/oft-core/src/types.rs +0 -58
  379. package/contracts/oapps/oft-core/src/utils.rs +0 -71
  380. package/contracts/oapps/sac-manager/Cargo.toml +0 -24
  381. package/contracts/oapps/sac-manager/src/interfaces/mod.rs +0 -3
  382. package/contracts/oapps/sac-manager/src/interfaces/sac_admin_wrapper.rs +0 -49
  383. package/contracts/oapps/sac-manager/src/lib.rs +0 -19
  384. package/contracts/oapps/sac-manager/src/sac_manager.rs +0 -95
  385. package/contracts/oapps/sac-manager/src/storage.rs +0 -13
  386. package/contracts/oapps/sac-manager/src/tests/mod.rs +0 -10
  387. package/contracts/oapps/sac-manager/src/tests/sac_manager/clawback.rs +0 -84
  388. package/contracts/oapps/sac-manager/src/tests/sac_manager/mint.rs +0 -53
  389. package/contracts/oapps/sac-manager/src/tests/sac_manager/mod.rs +0 -6
  390. package/contracts/oapps/sac-manager/src/tests/sac_manager/set_admin.rs +0 -46
  391. package/contracts/oapps/sac-manager/src/tests/sac_manager/set_authorized.rs +0 -53
  392. package/contracts/oapps/sac-manager/src/tests/sac_manager/test_helper.rs +0 -35
  393. package/contracts/oapps/sac-manager/src/tests/sac_manager/view_functions.rs +0 -13
  394. package/contracts/oapps/sac-manager/src/tests/test_helper.rs +0 -138
  395. package/contracts/upgrader/src/tests/mod.rs +0 -1
  396. package/contracts/utils/Cargo.toml +0 -20
  397. package/contracts/utils/src/auth.rs +0 -48
  398. package/contracts/utils/src/buffer_reader.rs +0 -194
  399. package/contracts/utils/src/buffer_writer.rs +0 -138
  400. package/contracts/utils/src/bytes_ext.rs +0 -18
  401. package/contracts/utils/src/errors.rs +0 -82
  402. package/contracts/utils/src/lib.rs +0 -20
  403. package/contracts/utils/src/multisig.rs +0 -247
  404. package/contracts/utils/src/option_ext.rs +0 -38
  405. package/contracts/utils/src/ownable.rs +0 -227
  406. package/contracts/utils/src/rbac.rs +0 -438
  407. package/contracts/utils/src/testing_utils.rs +0 -180
  408. package/contracts/utils/src/tests/auth.rs +0 -179
  409. package/contracts/utils/src/tests/buffer_reader.rs +0 -969
  410. package/contracts/utils/src/tests/buffer_writer.rs +0 -689
  411. package/contracts/utils/src/tests/bytes_ext.rs +0 -160
  412. package/contracts/utils/src/tests/mod.rs +0 -13
  413. package/contracts/utils/src/tests/multisig.rs +0 -760
  414. package/contracts/utils/src/tests/option_ext.rs +0 -18
  415. package/contracts/utils/src/tests/ownable.rs +0 -822
  416. package/contracts/utils/src/tests/rbac.rs +0 -559
  417. package/contracts/utils/src/tests/test_helper.rs +0 -67
  418. package/contracts/utils/src/tests/testing_utils.rs +0 -522
  419. package/contracts/utils/src/tests/ttl_configurable.rs +0 -586
  420. package/contracts/utils/src/tests/ttl_extendable.rs +0 -64
  421. package/contracts/utils/src/tests/upgradeable.rs +0 -529
  422. package/contracts/utils/src/ttl_configurable.rs +0 -169
  423. package/contracts/utils/src/ttl_extendable.rs +0 -25
  424. package/contracts/utils/src/upgradeable.rs +0 -103
  425. package/contracts/workers/Cargo.toml +0 -13
  426. package/contracts/workers/lib.rs +0 -2
  427. package/docs/error-spec.md +0 -55
  428. package/docs/layerzero-v2-on-stellar.md +0 -509
  429. package/docs/oapp-guide.md +0 -405
  430. package/docs/oft-guide.md +0 -404
  431. package/sdk/.turbo/turbo-build.log +0 -5
  432. package/sdk/.turbo/turbo-test.log +0 -1507
  433. package/sdk/LICENSE +0 -23
  434. package/sdk/dist/generated/bml.d.ts +0 -670
  435. package/sdk/dist/generated/bml.d.ts.map +0 -1
  436. package/sdk/dist/generated/bml.js +0 -292
  437. package/sdk/dist/generated/bml.js.map +0 -1
  438. package/sdk/dist/generated/counter.d.ts +0 -1253
  439. package/sdk/dist/generated/counter.d.ts.map +0 -1
  440. package/sdk/dist/generated/counter.js +0 -391
  441. package/sdk/dist/generated/counter.js.map +0 -1
  442. package/sdk/dist/generated/dvn.d.ts +0 -1569
  443. package/sdk/dist/generated/dvn.d.ts.map +0 -1
  444. package/sdk/dist/generated/dvn.js +0 -459
  445. package/sdk/dist/generated/dvn.js.map +0 -1
  446. package/sdk/dist/generated/dvn_fee_lib.d.ts +0 -587
  447. package/sdk/dist/generated/dvn_fee_lib.d.ts.map +0 -1
  448. package/sdk/dist/generated/dvn_fee_lib.js +0 -186
  449. package/sdk/dist/generated/dvn_fee_lib.js.map +0 -1
  450. package/sdk/dist/generated/endpoint.d.ts +0 -1304
  451. package/sdk/dist/generated/endpoint.d.ts.map +0 -1
  452. package/sdk/dist/generated/endpoint.js +0 -396
  453. package/sdk/dist/generated/endpoint.js.map +0 -1
  454. package/sdk/dist/generated/executor.d.ts +0 -1554
  455. package/sdk/dist/generated/executor.d.ts.map +0 -1
  456. package/sdk/dist/generated/executor.js +0 -447
  457. package/sdk/dist/generated/executor.js.map +0 -1
  458. package/sdk/dist/generated/executor_fee_lib.d.ts +0 -1037
  459. package/sdk/dist/generated/executor_fee_lib.d.ts.map +0 -1
  460. package/sdk/dist/generated/executor_fee_lib.js +0 -351
  461. package/sdk/dist/generated/executor_fee_lib.js.map +0 -1
  462. package/sdk/dist/generated/executor_helper.d.ts +0 -883
  463. package/sdk/dist/generated/executor_helper.d.ts.map +0 -1
  464. package/sdk/dist/generated/executor_helper.js +0 -354
  465. package/sdk/dist/generated/executor_helper.js.map +0 -1
  466. package/sdk/dist/generated/layerzero_view.d.ts +0 -1153
  467. package/sdk/dist/generated/layerzero_view.d.ts.map +0 -1
  468. package/sdk/dist/generated/layerzero_view.js +0 -457
  469. package/sdk/dist/generated/layerzero_view.js.map +0 -1
  470. package/sdk/dist/generated/oft.d.ts +0 -1638
  471. package/sdk/dist/generated/oft.d.ts.map +0 -1
  472. package/sdk/dist/generated/oft.js +0 -463
  473. package/sdk/dist/generated/oft.js.map +0 -1
  474. package/sdk/dist/generated/price_feed.d.ts +0 -787
  475. package/sdk/dist/generated/price_feed.d.ts.map +0 -1
  476. package/sdk/dist/generated/price_feed.js +0 -231
  477. package/sdk/dist/generated/price_feed.js.map +0 -1
  478. package/sdk/dist/generated/sac_manager.d.ts +0 -567
  479. package/sdk/dist/generated/sac_manager.d.ts.map +0 -1
  480. package/sdk/dist/generated/sac_manager.js +0 -198
  481. package/sdk/dist/generated/sac_manager.js.map +0 -1
  482. package/sdk/dist/generated/sml.d.ts +0 -934
  483. package/sdk/dist/generated/sml.d.ts.map +0 -1
  484. package/sdk/dist/generated/sml.js +0 -366
  485. package/sdk/dist/generated/sml.js.map +0 -1
  486. package/sdk/dist/generated/treasury.d.ts +0 -892
  487. package/sdk/dist/generated/treasury.d.ts.map +0 -1
  488. package/sdk/dist/generated/treasury.js +0 -352
  489. package/sdk/dist/generated/treasury.js.map +0 -1
  490. package/sdk/dist/generated/uln302.d.ts +0 -1268
  491. package/sdk/dist/generated/uln302.d.ts.map +0 -1
  492. package/sdk/dist/generated/uln302.js +0 -477
  493. package/sdk/dist/generated/uln302.js.map +0 -1
  494. package/sdk/dist/generated/upgrader.d.ts +0 -292
  495. package/sdk/dist/generated/upgrader.d.ts.map +0 -1
  496. package/sdk/dist/generated/upgrader.js +0 -144
  497. package/sdk/dist/generated/upgrader.js.map +0 -1
  498. package/sdk/dist/index.d.ts +0 -17
  499. package/sdk/dist/index.d.ts.map +0 -1
  500. package/sdk/dist/index.js +0 -21
  501. package/sdk/dist/index.js.map +0 -1
  502. package/sdk/node_modules/.bin/tsc +0 -21
  503. package/sdk/node_modules/.bin/tsserver +0 -21
  504. package/sdk/node_modules/.bin/vitest +0 -21
  505. package/sdk/package.json +0 -50
  506. package/sdk/src/index.ts +0 -23
  507. package/sdk/test/counter-sml.test.ts +0 -480
  508. package/sdk/test/counter-uln.test.ts +0 -584
  509. package/sdk/test/oft-sml.test.ts +0 -750
  510. package/sdk/test/sac-manager.test.ts +0 -464
  511. package/sdk/test/secp256k1.ts +0 -59
  512. package/sdk/test/suites/constants.ts +0 -51
  513. package/sdk/test/suites/deploy.ts +0 -312
  514. package/sdk/test/suites/dummyContractClient.ts +0 -168
  515. package/sdk/test/suites/globalSetup.ts +0 -604
  516. package/sdk/test/suites/localnet.ts +0 -192
  517. package/sdk/test/suites/scan.ts +0 -202
  518. package/sdk/test/test_data/test_upgradeable_dvn.wasm +0 -0
  519. package/sdk/test/upgrader.test.ts +0 -194
  520. package/sdk/test/utils.ts +0 -671
  521. package/sdk/tsconfig.json +0 -21
  522. package/sdk/tsconfig.test.json +0 -10
  523. package/sdk/turbo.json +0 -15
  524. package/sdk/vitest.config.ts +0 -21
  525. package/ts-bindings-gen.toml +0 -67
  526. package/turbo-snapshot.lock.json +0 -194
  527. package/turbo.json +0 -26
  528. package/{contracts/endpoint-v2 → endpoint-v2}/src/endpoint_v2.rs +0 -0
  529. package/{contracts/endpoint-v2 → endpoint-v2}/src/errors.rs +0 -0
  530. package/{contracts/endpoint-v2 → endpoint-v2}/src/events.rs +0 -0
  531. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_composer.rs +0 -0
  532. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_endpoint_v2.rs +0 -0
  533. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_receiver.rs +0 -0
  534. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/message_lib.rs +0 -0
  535. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/message_lib_manager.rs +0 -0
  536. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/messaging_channel.rs +0 -0
  537. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/messaging_composer.rs +0 -0
  538. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/mod.rs +0 -0
  539. package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/send_lib.rs +0 -0
  540. package/{contracts/endpoint-v2 → endpoint-v2}/src/lib.rs +0 -0
  541. package/{contracts/endpoint-v2 → endpoint-v2}/src/message_lib_manager.rs +0 -0
  542. package/{contracts/endpoint-v2 → endpoint-v2}/src/messaging_channel.rs +0 -0
  543. package/{contracts/endpoint-v2 → endpoint-v2}/src/messaging_composer.rs +0 -0
  544. package/{contracts/endpoint-v2 → endpoint-v2}/src/storage.rs +0 -0
  545. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_setup.rs +0 -0
  546. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/build_outbound_packet.rs +0 -0
  547. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/clear.rs +0 -0
  548. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/delegate.rs +0 -0
  549. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/initializable.rs +0 -0
  550. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/lz_receive_alert.rs +0 -0
  551. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/mod.rs +0 -0
  552. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/native_token.rs +0 -0
  553. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/owner.rs +0 -0
  554. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/recover_token.rs +0 -0
  555. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/require_oapp_auth.rs +0 -0
  556. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/send.rs +0 -0
  557. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/set_delegate.rs +0 -0
  558. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/set_zro.rs +0 -0
  559. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/transfer_ownership.rs +0 -0
  560. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/verify.rs +0 -0
  561. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/zro.rs +0 -0
  562. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_receive_library.rs +0 -0
  563. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_receive_library_timeout.rs +0 -0
  564. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_send_library.rs +0 -0
  565. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_config.rs +0 -0
  566. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_library_index.rs +0 -0
  567. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_receive_library.rs +0 -0
  568. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_registered_libraries.rs +0 -0
  569. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_send_library.rs +0 -0
  570. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_registered_library.rs +0 -0
  571. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_supported_eid.rs +0 -0
  572. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_valid_receive_library.rs +0 -0
  573. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/mod.rs +0 -0
  574. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/receive_library_timeout.rs +0 -0
  575. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/register_library.rs +0 -0
  576. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/registered_libraries_count.rs +0 -0
  577. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_registered.rs +0 -0
  578. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_config.rs +0 -0
  579. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +0 -0
  580. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_receive_library.rs +0 -0
  581. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_send_library.rs +0 -0
  582. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_receive_library.rs +0 -0
  583. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_receive_library_timeout.rs +0 -0
  584. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_send_library.rs +0 -0
  585. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/timeout.rs +0 -0
  586. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/burn.rs +0 -0
  587. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound_nonce.rs +0 -0
  588. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound_payload_hash.rs +0 -0
  589. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/insert_and_drain_pending_nonces.rs +0 -0
  590. package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/mod.rs +1 -1
  591. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/next_guid.rs +0 -0
  592. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/outbound.rs +0 -0
  593. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/outbound_nonce.rs +0 -0
  594. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/skip.rs +0 -0
  595. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/clear_compose.rs +0 -0
  596. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/compose_queue.rs +0 -0
  597. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/mod.rs +0 -0
  598. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/send_compose.rs +0 -0
  599. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/mock.rs +0 -0
  600. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/mod.rs +0 -0
  601. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/build_payload.rs +0 -0
  602. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/compute_guid.rs +0 -0
  603. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/keccak256.rs +0 -0
  604. /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/mod.rs +0 -0
  605. /package/{contracts/endpoint-v2 → endpoint-v2}/src/util.rs +0 -0
  606. /package/{contracts/layerzero-views → layerzero-views}/src/errors.rs +0 -0
  607. /package/{contracts/layerzero-views → layerzero-views}/src/layerzero_view.rs +0 -0
  608. /package/{contracts/layerzero-views → layerzero-views}/src/lib.rs +0 -0
  609. /package/{contracts/layerzero-views → layerzero-views}/src/storage.rs +0 -0
  610. /package/{contracts/layerzero-views → layerzero-views}/src/tests/layerzero_view_tests.rs +0 -0
  611. /package/{contracts/layerzero-views → layerzero-views}/src/tests/mod.rs +0 -0
  612. /package/{contracts/layerzero-views → layerzero-views}/src/tests/setup.rs +0 -0
  613. /package/{contracts/layerzero-views → layerzero-views}/src/tests/types_tests.rs +0 -0
  614. /package/{contracts/layerzero-views → layerzero-views}/src/types.rs +0 -0
  615. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/lib.rs +0 -0
  616. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/blocked_message_lib_tests.rs +0 -0
  617. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/mod.rs +0 -0
  618. /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/setup.rs +0 -0
  619. /package/{contracts/message-libs → message-libs}/message-lib-common/src/errors.rs +0 -0
  620. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/dvn.rs +0 -0
  621. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/executor.rs +0 -0
  622. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/mod.rs +0 -0
  623. /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/treasury.rs +0 -0
  624. /package/{contracts/message-libs → message-libs}/message-lib-common/src/lib.rs +0 -0
  625. /package/{contracts/message-libs → message-libs}/message-lib-common/src/packet_codec_v1.rs +0 -0
  626. /package/{contracts/message-libs → message-libs}/message-lib-common/src/testing_utils.rs +0 -0
  627. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/mod.rs +0 -0
  628. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +0 -0
  629. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/encode_packet.rs +0 -0
  630. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/encode_packet_header.rs +0 -0
  631. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/mod.rs +0 -0
  632. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/payload.rs +0 -0
  633. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/payload_hash.rs +0 -0
  634. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/test_helper.rs +0 -0
  635. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_dvn_option.rs +0 -0
  636. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +0 -0
  637. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +0 -0
  638. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +0 -0
  639. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +0 -0
  640. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +0 -0
  641. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/mod.rs +0 -0
  642. /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/split_worker_options.rs +0 -0
  643. /package/{contracts/message-libs → message-libs}/message-lib-common/src/worker_options.rs +0 -0
  644. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/errors.rs +0 -0
  645. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/lib.rs +0 -0
  646. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/simple_message_lib.rs +0 -0
  647. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/storage.rs +0 -0
  648. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/mod.rs +0 -0
  649. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/setup.rs +0 -0
  650. /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/simple_message_lib_tests.rs +0 -0
  651. /package/{contracts/message-libs → message-libs}/treasury/src/errors.rs +0 -0
  652. /package/{contracts/message-libs → message-libs}/treasury/src/events.rs +0 -0
  653. /package/{contracts/message-libs → message-libs}/treasury/src/interfaces/mod.rs +0 -0
  654. /package/{contracts/message-libs → message-libs}/treasury/src/interfaces/zro_fee_lib.rs +0 -0
  655. /package/{contracts/message-libs → message-libs}/treasury/src/lib.rs +0 -0
  656. /package/{contracts/message-libs → message-libs}/treasury/src/storage.rs +0 -0
  657. /package/{contracts/message-libs → message-libs}/treasury/src/tests/mod.rs +0 -0
  658. /package/{contracts/message-libs → message-libs}/treasury/src/tests/setup.rs +0 -0
  659. /package/{contracts/message-libs → message-libs}/treasury/src/tests/treasury_tests.rs +0 -0
  660. /package/{contracts/message-libs → message-libs}/treasury/src/treasury.rs +0 -0
  661. /package/{contracts/message-libs → message-libs}/uln-302/src/errors.rs +0 -0
  662. /package/{contracts/message-libs → message-libs}/uln-302/src/events.rs +0 -0
  663. /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/mod.rs +0 -0
  664. /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/receive_uln.rs +0 -0
  665. /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/send_uln.rs +0 -0
  666. /package/{contracts/message-libs → message-libs}/uln-302/src/lib.rs +0 -0
  667. /package/{contracts/message-libs → message-libs}/uln-302/src/receive_uln.rs +0 -0
  668. /package/{contracts/message-libs → message-libs}/uln-302/src/send_uln.rs +0 -0
  669. /package/{contracts/message-libs → message-libs}/uln-302/src/storage.rs +0 -0
  670. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/mod.rs +0 -0
  671. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/oapp_uln_config.rs +0 -0
  672. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/uln_config.rs +0 -0
  673. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/mod.rs +0 -0
  674. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/commit_verification.rs +0 -0
  675. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/confirmations.rs +0 -0
  676. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +0 -0
  677. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/mod.rs +0 -0
  678. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +0 -0
  679. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/verifiable.rs +0 -0
  680. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/verify.rs +0 -0
  681. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/effective_executor_config.rs +0 -0
  682. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +0 -0
  683. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/mod.rs +0 -0
  684. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/quote.rs +0 -0
  685. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +0 -0
  686. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +0 -0
  687. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/setup.rs +0 -0
  688. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/testing_utils.rs +0 -0
  689. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_app_send_uln_config.rs +0 -0
  690. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_config.rs +0 -0
  691. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_oapp_executor_config.rs +0 -0
  692. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/mod.rs +0 -0
  693. /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/set_config.rs +0 -0
  694. /package/{contracts/message-libs → message-libs}/uln-302/src/types.rs +0 -0
  695. /package/{contracts/message-libs → message-libs}/uln-302/src/uln302.rs +0 -0
  696. /package/{contracts/upgrader → upgrader}/src/lib.rs +0 -0
  697. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
  698. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
  699. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract3.wasm +0 -0
  700. /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract4.wasm +0 -0
  701. /package/{contracts/upgrader → upgrader}/src/tests/test_upgrader.rs +0 -0
  702. /package/{contracts/workers → workers}/dvn/src/auth.rs +0 -0
  703. /package/{contracts/workers → workers}/dvn/src/dvn.rs +0 -0
  704. /package/{contracts/workers → workers}/dvn/src/errors.rs +0 -0
  705. /package/{contracts/workers → workers}/dvn/src/events.rs +0 -0
  706. /package/{contracts/workers → workers}/dvn/src/interfaces/dvn.rs +0 -0
  707. /package/{contracts/workers → workers}/dvn/src/interfaces/mod.rs +0 -0
  708. /package/{contracts/workers → workers}/dvn/src/lib.rs +0 -0
  709. /package/{contracts/workers → workers}/dvn/src/storage.rs +0 -0
  710. /package/{contracts/workers → workers}/dvn/src/tests/dvn.rs +0 -0
  711. /package/{contracts/workers → workers}/dvn/src/tests/key_pair.rs +0 -0
  712. /package/{contracts/workers → workers}/dvn/src/tests/mod.rs +0 -0
  713. /package/{contracts/workers → workers}/dvn/src/tests/setup.rs +0 -0
  714. /package/{contracts/workers → workers}/dvn-fee-lib/src/dvn_fee_lib.rs +0 -0
  715. /package/{contracts/workers → workers}/dvn-fee-lib/src/errors.rs +0 -0
  716. /package/{contracts/workers → workers}/dvn-fee-lib/src/lib.rs +0 -0
  717. /package/{contracts/workers → workers}/dvn-fee-lib/src/tests/dvn_fee_lib.rs +0 -0
  718. /package/{contracts/workers → workers}/dvn-fee-lib/src/tests/mod.rs +0 -0
  719. /package/{contracts/workers → workers}/executor/src/errors.rs +0 -0
  720. /package/{contracts/workers → workers}/executor/src/events.rs +0 -0
  721. /package/{contracts/workers → workers}/executor/src/executor.rs +0 -0
  722. /package/{contracts/workers → workers}/executor/src/interfaces/executor.rs +0 -0
  723. /package/{contracts/workers → workers}/executor/src/interfaces/mod.rs +0 -0
  724. /package/{contracts/workers → workers}/executor/src/lib.rs +0 -0
  725. /package/{contracts/workers → workers}/executor/src/tests/mod.rs +0 -0
  726. /package/{contracts/workers → workers}/executor-fee-lib/src/errors.rs +0 -0
  727. /package/{contracts/workers → workers}/executor-fee-lib/src/executor_fee_lib.rs +0 -0
  728. /package/{contracts/workers → workers}/executor-fee-lib/src/executor_option.rs +0 -0
  729. /package/{contracts/workers → workers}/executor-fee-lib/src/lib.rs +0 -0
  730. /package/{contracts/workers → workers}/executor-fee-lib/src/tests/mod.rs +0 -0
  731. /package/{contracts/workers → workers}/executor-fee-lib/src/tests/setup.rs +0 -0
  732. /package/{contracts/workers → workers}/executor-helper/src/lib.rs +0 -0
  733. /package/{contracts/workers → workers}/executor-helper/src/tests/mod.rs +0 -0
  734. /package/{contracts/workers → workers}/executor-helper/src/tests/setup.rs +0 -0
  735. /package/{contracts/workers → workers}/fee-lib-interfaces/src/dvn_fee_lib.rs +0 -0
  736. /package/{contracts/workers → workers}/fee-lib-interfaces/src/executor_fee_lib.rs +0 -0
  737. /package/{contracts/workers → workers}/fee-lib-interfaces/src/lib.rs +0 -0
  738. /package/{contracts/workers → workers}/fee-lib-interfaces/src/price_feed.rs +0 -0
  739. /package/{contracts/workers → workers}/price-feed/src/errors.rs +0 -0
  740. /package/{contracts/workers → workers}/price-feed/src/events.rs +0 -0
  741. /package/{contracts/workers → workers}/price-feed/src/lib.rs +0 -0
  742. /package/{contracts/workers → workers}/price-feed/src/price_feed.rs +0 -0
  743. /package/{contracts/workers → workers}/price-feed/src/storage.rs +0 -0
  744. /package/{contracts/workers → workers}/price-feed/src/tests/mod.rs +0 -0
  745. /package/{contracts/workers → workers}/price-feed/src/tests/setup.rs +0 -0
  746. /package/{contracts/workers → workers}/price-feed/src/types.rs +0 -0
  747. /package/{contracts/workers → workers}/worker/src/errors.rs +0 -0
  748. /package/{contracts/workers → workers}/worker/src/events.rs +0 -0
  749. /package/{contracts/workers → workers}/worker/src/lib.rs +0 -0
  750. /package/{contracts/workers → workers}/worker/src/storage.rs +0 -0
  751. /package/{contracts/workers → workers}/worker/src/tests/mod.rs +0 -0
  752. /package/{contracts/workers → workers}/worker/src/tests/setup.rs +0 -0
  753. /package/{contracts/workers → workers}/worker/src/worker.rs +0 -0
@@ -1,760 +0,0 @@
1
- use crate::{
2
- auth::Auth,
3
- errors::MultiSigError,
4
- multisig::{init_multisig, recover_signer, MultiSig, SignerSet, ThresholdSet},
5
- testing_utils::{assert_eq_event, assert_eq_events},
6
- };
7
- use soroban_sdk::{
8
- contract, contractimpl, testutils::AuthorizedFunction, vec, Address, BytesN, Env, IntoVal, Symbol, Val, Vec,
9
- };
10
-
11
- // Test contract implementing MultiSig + Auth (self-owning)
12
- #[contract]
13
- pub struct TestContract;
14
-
15
- #[contractimpl]
16
- impl TestContract {
17
- pub fn __constructor(env: &Env, signers: &Vec<BytesN<20>>, threshold: u32) {
18
- init_multisig(env, signers, threshold);
19
- }
20
- }
21
-
22
- /// Self-owning contract: the contract owns itself.
23
- /// This allows multisig quorum approval to serve as the authorizer.
24
- #[contractimpl]
25
- impl Auth for TestContract {
26
- fn authorizer(env: &Env) -> Option<Address> {
27
- Some(env.current_contract_address())
28
- }
29
- }
30
-
31
- #[contractimpl(contracttrait)]
32
- impl MultiSig for TestContract {}
33
-
34
- fn signer(env: &Env, seed: u8) -> BytesN<20> {
35
- let mut bytes = [0u8; 20];
36
- bytes[0] = seed;
37
- BytesN::from_array(env, &bytes)
38
- }
39
-
40
- fn zero_signer(env: &Env) -> BytesN<20> {
41
- BytesN::from_array(env, &[0u8; 20])
42
- }
43
-
44
- fn assert_auth(env: &Env, contract: &Address, func: &str, expected_args: Vec<Val>) {
45
- let auths = env.auths();
46
- assert_eq!(auths.len(), 1);
47
- let (addr, invocation) = &auths[0];
48
- assert_eq!(addr, contract);
49
- assert!(invocation.sub_invocations.is_empty());
50
- match &invocation.function {
51
- AuthorizedFunction::Contract((id, symbol, args)) => {
52
- assert_eq!(id, contract);
53
- assert_eq!(symbol, &Symbol::new(env, func));
54
- assert_eq!(args, &expected_args);
55
- }
56
- _ => panic!("expected contract invocation auth"),
57
- }
58
- }
59
-
60
- // ============================================
61
- // init: Initialization tests
62
- // ============================================
63
-
64
- #[test]
65
- fn init_sets_signers_and_threshold() {
66
- let env = Env::default();
67
-
68
- let s1 = signer(&env, 1);
69
- let s2 = signer(&env, 2);
70
- let signers = vec![&env, s1.clone(), s2.clone()];
71
-
72
- let contract = env.register(TestContract, (&signers, 2u32));
73
- let client = TestContractClient::new(&env, &contract);
74
-
75
- assert_eq!(client.threshold(), 2);
76
- assert_eq!(client.total_signers(), 2);
77
- assert!(client.is_signer(&s1));
78
- assert!(client.is_signer(&s2));
79
- }
80
-
81
- #[test]
82
- #[should_panic(expected = "Error(Contract, #1068)")] // ZeroThreshold
83
- fn init_zero_threshold_fails() {
84
- let env = Env::default();
85
- let s1 = signer(&env, 1);
86
- let signers = vec![&env, s1];
87
-
88
- env.register(TestContract, (&signers, 0u32));
89
- }
90
-
91
- #[test]
92
- #[should_panic(expected = "Error(Contract, #1066)")] // TotalSignersLessThanThreshold
93
- fn init_threshold_exceeds_signers_fails() {
94
- let env = Env::default();
95
- let s1 = signer(&env, 1);
96
- let signers = vec![&env, s1];
97
-
98
- env.register(TestContract, (&signers, 2u32));
99
- }
100
-
101
- #[test]
102
- #[should_panic(expected = "Error(Contract, #1060)")] // AlreadyInitialized
103
- fn init_already_initialized_fails() {
104
- let env = Env::default();
105
- let s1 = signer(&env, 1);
106
- let signers = vec![&env, s1.clone()];
107
-
108
- let contract = env.register(TestContract, (&signers, 1u32));
109
-
110
- // Try to call init_multisig again - should fail with AlreadyInitialized
111
- env.as_contract(&contract, || {
112
- init_multisig(&env, &signers, 1);
113
- });
114
- }
115
-
116
- #[test]
117
- fn init_emits_signer_and_threshold_events() {
118
- let env = Env::default();
119
-
120
- let s1 = signer(&env, 1);
121
- let s2 = signer(&env, 2);
122
- let signers = vec![&env, s1.clone(), s2.clone()];
123
-
124
- let contract = env.register(TestContract, (&signers, 2u32));
125
-
126
- assert_eq_events(
127
- &env,
128
- &contract,
129
- &[
130
- &SignerSet { signer: s1, active: true },
131
- &SignerSet { signer: s2, active: true },
132
- &ThresholdSet { threshold: 2 },
133
- ],
134
- );
135
- }
136
-
137
- #[test]
138
- #[should_panic(expected = "Error(Contract, #1062)")] // InvalidSigner
139
- fn init_zero_signer_fails() {
140
- let env = Env::default();
141
- let signers = vec![&env, zero_signer(&env)];
142
-
143
- env.register(TestContract, (&signers, 1u32));
144
- }
145
-
146
- #[test]
147
- #[should_panic(expected = "Error(Contract, #1064)")] // SignerAlreadyExists
148
- fn init_duplicate_signers_fails() {
149
- let env = Env::default();
150
- let s1 = signer(&env, 1);
151
- let signers = vec![&env, s1.clone(), s1];
152
-
153
- env.register(TestContract, (&signers, 1u32));
154
- }
155
-
156
- // ============================================
157
- // set_signer: Add/remove signer tests
158
- // ============================================
159
-
160
- #[test]
161
- fn set_signer_add() {
162
- let env = Env::default();
163
- env.mock_all_auths();
164
-
165
- let s1 = signer(&env, 1);
166
- let s2 = signer(&env, 2);
167
- let signers = vec![&env, s1.clone()];
168
-
169
- let contract = env.register(TestContract, (&signers, 1u32));
170
- let client = TestContractClient::new(&env, &contract);
171
-
172
- client.set_signer(&s2, &true);
173
-
174
- // Verify auth was required from the contract (self-owning)
175
- assert_auth(&env, &contract, "set_signer", (s2.clone(), true).into_val(&env));
176
-
177
- // Verify SignerSet event was emitted
178
- assert_eq_event(&env, &contract, SignerSet { signer: s2.clone(), active: true });
179
-
180
- assert_eq!(client.total_signers(), 2);
181
- assert!(client.is_signer(&s1));
182
- assert!(client.is_signer(&s2));
183
- }
184
-
185
- #[test]
186
- #[should_panic(expected = "Error(Auth, InvalidAction)")]
187
- fn set_signer_requires_auth() {
188
- let env = Env::default();
189
-
190
- let s1 = signer(&env, 1);
191
- let s2 = signer(&env, 2);
192
- let signers = vec![&env, s1];
193
-
194
- let contract = env.register(TestContract, (&signers, 1u32));
195
- let client = TestContractClient::new(&env, &contract);
196
-
197
- // No `mock_*auth*` provided -> contract.require_auth() must fail.
198
- client.set_signer(&s2, &true);
199
- }
200
-
201
- #[test]
202
- fn set_signer_remove() {
203
- let env = Env::default();
204
- env.mock_all_auths();
205
-
206
- let s1 = signer(&env, 1);
207
- let s2 = signer(&env, 2);
208
- let signers = vec![&env, s1.clone(), s2.clone()];
209
-
210
- let contract = env.register(TestContract, (&signers, 1u32));
211
- let client = TestContractClient::new(&env, &contract);
212
-
213
- client.set_signer(&s1, &false);
214
-
215
- // Verify auth was required from the contract (self-owning)
216
- assert_auth(&env, &contract, "set_signer", (s1.clone(), false).into_val(&env));
217
-
218
- // Verify SignerSet event was emitted
219
- assert_eq_event(&env, &contract, SignerSet { signer: s1.clone(), active: false });
220
-
221
- assert_eq!(client.total_signers(), 1);
222
- assert!(!client.is_signer(&s1));
223
- assert!(client.is_signer(&s2));
224
- }
225
-
226
- #[test]
227
- fn set_signer_zero_address_fails() {
228
- let env = Env::default();
229
- env.mock_all_auths();
230
-
231
- let s1 = signer(&env, 1);
232
- let signers = vec![&env, s1];
233
-
234
- let contract = env.register(TestContract, (&signers, 1u32));
235
- let client = TestContractClient::new(&env, &contract);
236
-
237
- let res = client.try_set_signer(&zero_signer(&env), &true);
238
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::InvalidSigner.into());
239
- }
240
-
241
- #[test]
242
- fn set_signer_duplicate_fails() {
243
- let env = Env::default();
244
- env.mock_all_auths();
245
-
246
- let s1 = signer(&env, 1);
247
- let signers = vec![&env, s1.clone()];
248
-
249
- let contract = env.register(TestContract, (&signers, 1u32));
250
- let client = TestContractClient::new(&env, &contract);
251
-
252
- let res = client.try_set_signer(&s1, &true);
253
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::SignerAlreadyExists.into());
254
- }
255
-
256
- #[test]
257
- fn set_signer_remove_not_found_fails() {
258
- let env = Env::default();
259
- env.mock_all_auths();
260
-
261
- let s1 = signer(&env, 1);
262
- let s2 = signer(&env, 2);
263
- let signers = vec![&env, s1];
264
-
265
- let contract = env.register(TestContract, (&signers, 1u32));
266
- let client = TestContractClient::new(&env, &contract);
267
-
268
- let res = client.try_set_signer(&s2, &false);
269
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::SignerNotFound.into());
270
- }
271
-
272
- #[test]
273
- fn set_signer_remove_violates_threshold_fails() {
274
- let env = Env::default();
275
- env.mock_all_auths();
276
-
277
- let s1 = signer(&env, 1);
278
- let s2 = signer(&env, 2);
279
- let signers = vec![&env, s1.clone(), s2];
280
-
281
- let contract = env.register(TestContract, (&signers, 2u32));
282
- let client = TestContractClient::new(&env, &contract);
283
-
284
- let res = client.try_set_signer(&s1, &false);
285
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::TotalSignersLessThanThreshold.into());
286
- }
287
-
288
- // ============================================
289
- // set_threshold: Threshold tests
290
- // ============================================
291
-
292
- #[test]
293
- fn set_threshold_success() {
294
- let env = Env::default();
295
- env.mock_all_auths();
296
-
297
- let s1 = signer(&env, 1);
298
- let s2 = signer(&env, 2);
299
- let signers = vec![&env, s1, s2];
300
-
301
- let contract = env.register(TestContract, (&signers, 1u32));
302
- let client = TestContractClient::new(&env, &contract);
303
-
304
- client.set_threshold(&2);
305
-
306
- // Verify auth was required from the contract (self-owning)
307
- assert_auth(&env, &contract, "set_threshold", (2u32,).into_val(&env));
308
-
309
- // Verify ThresholdSet event was emitted
310
- assert_eq_event(&env, &contract, ThresholdSet { threshold: 2 });
311
-
312
- assert_eq!(client.threshold(), 2);
313
- }
314
-
315
- #[test]
316
- #[should_panic(expected = "Error(Auth, InvalidAction)")]
317
- fn set_threshold_requires_auth() {
318
- let env = Env::default();
319
-
320
- let s1 = signer(&env, 1);
321
- let s2 = signer(&env, 2);
322
- let signers = vec![&env, s1, s2];
323
-
324
- let contract = env.register(TestContract, (&signers, 1u32));
325
- let client = TestContractClient::new(&env, &contract);
326
-
327
- // No `mock_*auth*` provided -> contract.require_auth() must fail.
328
- client.set_threshold(&2);
329
- }
330
-
331
- #[test]
332
- fn set_threshold_zero_fails() {
333
- let env = Env::default();
334
- env.mock_all_auths();
335
-
336
- let s1 = signer(&env, 1);
337
- let signers = vec![&env, s1];
338
-
339
- let contract = env.register(TestContract, (&signers, 1u32));
340
- let client = TestContractClient::new(&env, &contract);
341
-
342
- let res = client.try_set_threshold(&0);
343
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::ZeroThreshold.into());
344
- }
345
-
346
- #[test]
347
- fn set_threshold_exceeds_signers_fails() {
348
- let env = Env::default();
349
- env.mock_all_auths();
350
-
351
- let s1 = signer(&env, 1);
352
- let signers = vec![&env, s1];
353
-
354
- let contract = env.register(TestContract, (&signers, 1u32));
355
- let client = TestContractClient::new(&env, &contract);
356
-
357
- let res = client.try_set_threshold(&2);
358
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::TotalSignersLessThanThreshold.into());
359
- }
360
-
361
- // ============================================
362
- // get_signers: Returns all signers
363
- // ============================================
364
-
365
- #[test]
366
- fn get_signers_returns_all() {
367
- let env = Env::default();
368
-
369
- let s1 = signer(&env, 1);
370
- let s2 = signer(&env, 2);
371
- let s3 = signer(&env, 3);
372
- let signers = vec![&env, s1.clone(), s2.clone(), s3.clone()];
373
-
374
- let contract = env.register(TestContract, (&signers, 1u32));
375
- let client = TestContractClient::new(&env, &contract);
376
-
377
- let result = client.get_signers();
378
- assert_eq!(result.len(), 3);
379
- assert!(result.iter().any(|s| s == s1));
380
- assert!(result.iter().any(|s| s == s2));
381
- assert!(result.iter().any(|s| s == s3));
382
- }
383
-
384
- // ============================================
385
- // verify: Signature verification tests
386
- // ============================================
387
-
388
- // Known test vectors for signature verification
389
- fn test_digest(env: &Env) -> BytesN<32> {
390
- BytesN::from_array(
391
- env,
392
- &[
393
- 0x7d, 0x84, 0xfd, 0x50, 0x8a, 0x27, 0xac, 0x81, 0xde, 0xe4, 0xbf, 0xa9, 0x7f, 0x29, 0xbe, 0xdb, 0x88, 0x5c,
394
- 0x1b, 0xd7, 0xfc, 0x46, 0x50, 0xf4, 0x91, 0xe6, 0x4f, 0xbd, 0xaa, 0x05, 0xcd, 0xac,
395
- ],
396
- )
397
- }
398
-
399
- // Signer 1: 0x9b6ababd080456f900ed64e74d122ff9ca40daa1
400
- fn test_signer1(env: &Env) -> BytesN<20> {
401
- BytesN::from_array(
402
- env,
403
- &[
404
- 0x9b, 0x6a, 0xba, 0xbd, 0x08, 0x04, 0x56, 0xf9, 0x00, 0xed, 0x64, 0xe7, 0x4d, 0x12, 0x2f, 0xf9, 0xca, 0x40,
405
- 0xda, 0xa1,
406
- ],
407
- )
408
- }
409
-
410
- // Signer 2: 0xd6869dacf9c6ce629cf042864737690641d0e2d7
411
- fn test_signer2(env: &Env) -> BytesN<20> {
412
- BytesN::from_array(
413
- env,
414
- &[
415
- 0xd6, 0x86, 0x9d, 0xac, 0xf9, 0xc6, 0xce, 0x62, 0x9c, 0xf0, 0x42, 0x86, 0x47, 0x37, 0x69, 0x06, 0x41, 0xd0,
416
- 0xe2, 0xd7,
417
- ],
418
- )
419
- }
420
-
421
- // Signature from signer1 for test_digest
422
- fn test_sig1(env: &Env) -> BytesN<65> {
423
- BytesN::from_array(
424
- env,
425
- &[
426
- 0x31, 0x53, 0x7d, 0xcf, 0xe1, 0xec, 0x4d, 0x7e, 0x89, 0xf5, 0x97, 0x2c, 0xcd, 0x30, 0x65, 0xe3, 0x4e, 0x17,
427
- 0x8e, 0x30, 0x2c, 0x1b, 0x9e, 0x8e, 0x17, 0x5d, 0x38, 0x43, 0xa2, 0x96, 0x4f, 0x28, // r
428
- 0x63, 0xf2, 0xb6, 0x0c, 0x7e, 0xf7, 0x43, 0x63, 0xb6, 0x87, 0xf8, 0x22, 0xdb, 0x6c, 0x31, 0x3e, 0x87, 0x62,
429
- 0xb3, 0x8d, 0x30, 0x97, 0xb6, 0xfe, 0xc9, 0xb7, 0xb7, 0x61, 0x65, 0x63, 0x0a, 0xaa, // s
430
- 0x1b, // v = 27
431
- ],
432
- )
433
- }
434
-
435
- // Signature from signer2 for test_digest
436
- fn test_sig2(env: &Env) -> BytesN<65> {
437
- BytesN::from_array(
438
- env,
439
- &[
440
- 0x42, 0x67, 0x4f, 0xc6, 0x30, 0xe3, 0x2f, 0x90, 0x00, 0xbc, 0x95, 0x27, 0x1e, 0xc5, 0x42, 0x83, 0xc8, 0xad,
441
- 0x35, 0x00, 0x16, 0xbb, 0x66, 0xa1, 0x84, 0x64, 0x95, 0x89, 0x63, 0xa5, 0x1f, 0x03, // r
442
- 0x14, 0x6e, 0x8b, 0x3f, 0xbb, 0x3a, 0x5b, 0xd0, 0xb8, 0x9d, 0x3b, 0x6c, 0x1e, 0x01, 0xdd, 0x61, 0x4e, 0x86,
443
- 0xba, 0xe0, 0x13, 0x51, 0xdc, 0x3d, 0x1f, 0xfe, 0x35, 0x22, 0xc8, 0x3e, 0xd4, 0x50, // s
444
- 0x1c, // v = 28
445
- ],
446
- )
447
- }
448
-
449
- #[test]
450
- fn verify_signatures_success() {
451
- let env = Env::default();
452
-
453
- let s1 = test_signer1(&env);
454
- let s2 = test_signer2(&env);
455
- let signers = vec![&env, s1, s2];
456
-
457
- let contract = env.register(TestContract, (&signers, 2u32));
458
- let client = TestContractClient::new(&env, &contract);
459
-
460
- let digest = test_digest(&env);
461
- // Signatures must be sorted by signer address (s1 < s2)
462
- let signatures = vec![&env, test_sig1(&env), test_sig2(&env)];
463
-
464
- // Should not panic - uses configured threshold (2)
465
- client.verify_signatures(&digest, &signatures);
466
- }
467
-
468
- #[test]
469
- fn verify_n_signatures_success() {
470
- let env = Env::default();
471
-
472
- let s1 = test_signer1(&env);
473
- let s2 = test_signer2(&env);
474
- let signers = vec![&env, s1, s2];
475
-
476
- let contract = env.register(TestContract, (&signers, 2u32));
477
- let client = TestContractClient::new(&env, &contract);
478
-
479
- let digest = test_digest(&env);
480
- let signatures = vec![&env, test_sig1(&env), test_sig2(&env)];
481
-
482
- // Should not panic - custom threshold of 1 (only need 1 sig)
483
- client.verify_n_signatures(&digest, &signatures, &1);
484
- }
485
-
486
- #[test]
487
- fn verify_n_signatures_zero_threshold_fails() {
488
- let env = Env::default();
489
-
490
- let s1 = test_signer1(&env);
491
- let signers = vec![&env, s1];
492
-
493
- let contract = env.register(TestContract, (&signers, 1u32));
494
- let client = TestContractClient::new(&env, &contract);
495
-
496
- let digest = BytesN::from_array(&env, &[0u8; 32]);
497
- let signatures: Vec<BytesN<65>> = vec![&env];
498
-
499
- let res = client.try_verify_n_signatures(&digest, &signatures, &0);
500
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::ZeroThreshold.into());
501
- }
502
-
503
- #[test]
504
- fn verify_n_signatures_insufficient_signatures_fails() {
505
- let env = Env::default();
506
-
507
- let s1 = test_signer1(&env);
508
- let signers = vec![&env, s1];
509
-
510
- let contract = env.register(TestContract, (&signers, 1u32));
511
- let client = TestContractClient::new(&env, &contract);
512
-
513
- let digest = BytesN::from_array(&env, &[0u8; 32]);
514
- let signatures: Vec<BytesN<65>> = vec![&env]; // Empty
515
-
516
- let res = client.try_verify_n_signatures(&digest, &signatures, &1);
517
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::SignatureError.into());
518
- }
519
-
520
- #[test]
521
- fn verify_n_signatures_signer_not_found_fails() {
522
- let env = Env::default();
523
-
524
- // Register with only signer2, but provide sig1 (from signer1)
525
- let s2 = test_signer2(&env);
526
- let signers = vec![&env, s2];
527
-
528
- let contract = env.register(TestContract, (&signers, 1u32));
529
- let client = TestContractClient::new(&env, &contract);
530
-
531
- let digest = test_digest(&env);
532
- let signatures = vec![&env, test_sig1(&env)]; // sig1 is from signer1, not registered
533
-
534
- let res = client.try_verify_n_signatures(&digest, &signatures, &1);
535
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::SignerNotFound.into());
536
- }
537
-
538
- #[test]
539
- fn verify_n_signatures_unsorted_signers_fails() {
540
- let env = Env::default();
541
-
542
- let s1 = test_signer1(&env);
543
- let s2 = test_signer2(&env);
544
- let signers = vec![&env, s1, s2];
545
-
546
- let contract = env.register(TestContract, (&signers, 2u32));
547
- let client = TestContractClient::new(&env, &contract);
548
-
549
- let digest = test_digest(&env);
550
- // Wrong order: sig2 before sig1 (signer2 > signer1)
551
- let signatures = vec![&env, test_sig2(&env), test_sig1(&env)];
552
-
553
- let res = client.try_verify_n_signatures(&digest, &signatures, &2);
554
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::UnsortedSigners.into());
555
- }
556
-
557
- #[test]
558
- fn verify_n_signatures_duplicate_signers_fails() {
559
- let env = Env::default();
560
-
561
- let s1 = test_signer1(&env);
562
- let s2 = test_signer2(&env);
563
- let signers = vec![&env, s1, s2];
564
-
565
- let contract = env.register(TestContract, (&signers, 2u32));
566
- let client = TestContractClient::new(&env, &contract);
567
-
568
- let digest = test_digest(&env);
569
- // Duplicate signer (sig1 twice) must fail the strict ordering check (not strictly increasing).
570
- let signatures = vec![&env, test_sig1(&env), test_sig1(&env)];
571
-
572
- let res = client.try_verify_n_signatures(&digest, &signatures, &2);
573
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::UnsortedSigners.into());
574
- }
575
-
576
- #[test]
577
- fn verify_n_signatures_threshold_one_still_requires_sorted_if_multiple_provided() {
578
- let env = Env::default();
579
-
580
- let s1 = test_signer1(&env);
581
- let s2 = test_signer2(&env);
582
- let signers = vec![&env, s1, s2];
583
-
584
- let contract = env.register(TestContract, (&signers, 2u32));
585
- let client = TestContractClient::new(&env, &contract);
586
-
587
- let digest = test_digest(&env);
588
- // Even though threshold=1, passing multiple signatures still requires them to be strictly sorted.
589
- let signatures = vec![&env, test_sig2(&env), test_sig1(&env)];
590
-
591
- let res = client.try_verify_n_signatures(&digest, &signatures, &1);
592
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::UnsortedSigners.into());
593
- }
594
-
595
- #[test]
596
- fn verify_n_signatures_threshold_met_but_extra_invalid_signature_fails() {
597
- let env = Env::default();
598
-
599
- // Register only signer1 with threshold=1 (so sig1 alone would be sufficient).
600
- let s1 = test_signer1(&env);
601
- let signers = vec![&env, s1];
602
-
603
- let contract = env.register(TestContract, (&signers, 1u32));
604
- let client = TestContractClient::new(&env, &contract);
605
-
606
- let digest = test_digest(&env);
607
- // Provide an extra signature from signer2 (not registered). Even though threshold is met,
608
- // verification checks *all provided signatures* and must fail.
609
- let signatures = vec![&env, test_sig1(&env), test_sig2(&env)];
610
-
611
- let res = client.try_verify_n_signatures(&digest, &signatures, &1);
612
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::SignerNotFound.into());
613
- }
614
-
615
- #[test]
616
- fn verify_signatures_enforces_configured_threshold() {
617
- let env = Env::default();
618
-
619
- let s1 = test_signer1(&env);
620
- let s2 = test_signer2(&env);
621
- let signers = vec![&env, s1, s2];
622
-
623
- // Configured threshold = 2
624
- let contract = env.register(TestContract, (&signers, 2u32));
625
- let client = TestContractClient::new(&env, &contract);
626
-
627
- let digest = test_digest(&env);
628
- // Only one signature -> must fail because `verify_signatures` uses configured threshold.
629
- let signatures = vec![&env, test_sig1(&env)];
630
- let res = client.try_verify_signatures(&digest, &signatures);
631
- assert_eq!(res.err().unwrap().ok().unwrap(), MultiSigError::SignatureError.into());
632
- }
633
-
634
- // ============================================
635
- // recover: Signature recovery tests
636
- // ============================================
637
-
638
- #[test]
639
- fn recover_signer_valid_signature() {
640
- let env = Env::default();
641
-
642
- // Known test vector: digest + signature -> expected signer
643
- // Using the same test data from onesig tests
644
- let digest_bytes = [
645
- 0x7d, 0x84, 0xfd, 0x50, 0x8a, 0x27, 0xac, 0x81, 0xde, 0xe4, 0xbf, 0xa9, 0x7f, 0x29, 0xbe, 0xdb, 0x88, 0x5c,
646
- 0x1b, 0xd7, 0xfc, 0x46, 0x50, 0xf4, 0x91, 0xe6, 0x4f, 0xbd, 0xaa, 0x05, 0xcd, 0xac,
647
- ];
648
- let digest = BytesN::from_array(&env, &digest_bytes);
649
-
650
- // Signature from signer 0x9b6ababd080456f900ed64e74d122ff9ca40daa1
651
- let sig_bytes = [
652
- 0x31, 0x53, 0x7d, 0xcf, 0xe1, 0xec, 0x4d, 0x7e, 0x89, 0xf5, 0x97, 0x2c, 0xcd, 0x30, 0x65, 0xe3, 0x4e, 0x17,
653
- 0x8e, 0x30, 0x2c, 0x1b, 0x9e, 0x8e, 0x17, 0x5d, 0x38, 0x43, 0xa2, 0x96, 0x4f, 0x28, // r
654
- 0x63, 0xf2, 0xb6, 0x0c, 0x7e, 0xf7, 0x43, 0x63, 0xb6, 0x87, 0xf8, 0x22, 0xdb, 0x6c, 0x31, 0x3e, 0x87, 0x62,
655
- 0xb3, 0x8d, 0x30, 0x97, 0xb6, 0xfe, 0xc9, 0xb7, 0xb7, 0x61, 0x65, 0x63, 0x0a, 0xaa, // s
656
- 0x1b, // v = 27
657
- ];
658
- let signature = BytesN::from_array(&env, &sig_bytes);
659
-
660
- let expected_signer = BytesN::from_array(
661
- &env,
662
- &[
663
- 0x9b, 0x6a, 0xba, 0xbd, 0x08, 0x04, 0x56, 0xf9, 0x00, 0xed, 0x64, 0xe7, 0x4d, 0x12, 0x2f, 0xf9, 0xca, 0x40,
664
- 0xda, 0xa1,
665
- ],
666
- );
667
-
668
- let recovered = recover_signer(&env, &digest, &signature);
669
- assert_eq!(recovered, expected_signer);
670
- }
671
-
672
- #[test]
673
- fn recover_signer_raw_v_path() {
674
- let env = Env::default();
675
-
676
- let digest_bytes = [
677
- 0x7d, 0x84, 0xfd, 0x50, 0x8a, 0x27, 0xac, 0x81, 0xde, 0xe4, 0xbf, 0xa9, 0x7f, 0x29, 0xbe, 0xdb, 0x88, 0x5c,
678
- 0x1b, 0xd7, 0xfc, 0x46, 0x50, 0xf4, 0x91, 0xe6, 0x4f, 0xbd, 0xaa, 0x05, 0xcd, 0xac,
679
- ];
680
- let digest = BytesN::from_array(&env, &digest_bytes);
681
-
682
- // Same signature but with v=0 instead of v=27
683
- let sig_bytes = [
684
- 0x31, 0x53, 0x7d, 0xcf, 0xe1, 0xec, 0x4d, 0x7e, 0x89, 0xf5, 0x97, 0x2c, 0xcd, 0x30, 0x65, 0xe3, 0x4e, 0x17,
685
- 0x8e, 0x30, 0x2c, 0x1b, 0x9e, 0x8e, 0x17, 0x5d, 0x38, 0x43, 0xa2, 0x96, 0x4f, 0x28, // r
686
- 0x63, 0xf2, 0xb6, 0x0c, 0x7e, 0xf7, 0x43, 0x63, 0xb6, 0x87, 0xf8, 0x22, 0xdb, 0x6c, 0x31, 0x3e, 0x87, 0x62,
687
- 0xb3, 0x8d, 0x30, 0x97, 0xb6, 0xfe, 0xc9, 0xb7, 0xb7, 0x61, 0x65, 0x63, 0x0a, 0xaa, // s
688
- 0x00, // v = 0 (raw)
689
- ];
690
- let signature = BytesN::from_array(&env, &sig_bytes);
691
-
692
- let expected_signer = BytesN::from_array(
693
- &env,
694
- &[
695
- 0x9b, 0x6a, 0xba, 0xbd, 0x08, 0x04, 0x56, 0xf9, 0x00, 0xed, 0x64, 0xe7, 0x4d, 0x12, 0x2f, 0xf9, 0xca, 0x40,
696
- 0xda, 0xa1,
697
- ],
698
- );
699
-
700
- let recovered = recover_signer(&env, &digest, &signature);
701
- assert_eq!(recovered, expected_signer);
702
- }
703
-
704
- #[test]
705
- #[should_panic(expected = "Error(Crypto, InvalidInput)")]
706
- fn recover_signer_invalid_r_zero_fails() {
707
- let env = Env::default();
708
-
709
- let digest = BytesN::from_array(&env, &[0u8; 32]);
710
-
711
- // Signature with r=0 (invalid for secp256k1)
712
- let mut sig_bytes = [0u8; 65];
713
- // r = 0 (bytes 0-31 already 0)
714
- // s = some non-zero value (bytes 32-63)
715
- for i in 32..64 {
716
- sig_bytes[i] = 1;
717
- }
718
- sig_bytes[64] = 27; // v
719
- let signature = BytesN::from_array(&env, &sig_bytes);
720
-
721
- // Should panic - r=0 is invalid for secp256k1
722
- recover_signer(&env, &digest, &signature);
723
- }
724
-
725
- #[test]
726
- #[should_panic(expected = "Error(Crypto, InvalidInput)")]
727
- fn recover_signer_invalid_s_zero_fails() {
728
- let env = Env::default();
729
-
730
- let digest = BytesN::from_array(&env, &[0u8; 32]);
731
-
732
- // Signature with s=0 (invalid for secp256k1)
733
- let mut sig_bytes = [0u8; 65];
734
- // r = some non-zero value (bytes 0-31)
735
- for i in 0..32 {
736
- sig_bytes[i] = 1;
737
- }
738
- // s = 0 (bytes 32-63 already 0)
739
- sig_bytes[64] = 27; // v
740
- let signature = BytesN::from_array(&env, &sig_bytes);
741
-
742
- // Should panic - s=0 is invalid for secp256k1
743
- recover_signer(&env, &digest, &signature);
744
- }
745
-
746
- #[test]
747
- #[should_panic(expected = "Error(Crypto, InvalidInput)")]
748
- fn recover_signer_invalid_v_fails() {
749
- let env = Env::default();
750
-
751
- let digest = BytesN::from_array(&env, &[0u8; 32]);
752
-
753
- // Signature with invalid v value (v=29 normalizes to 2, which is invalid)
754
- let mut sig_bytes = [1u8; 65];
755
- sig_bytes[64] = 29; // v=29 -> normalized to 2 (invalid, must be 0 or 1)
756
- let signature = BytesN::from_array(&env, &sig_bytes);
757
-
758
- // Should panic - recovery_id must be 0 or 1
759
- recover_signer(&env, &digest, &signature);
760
- }