@layerzerolabs/protocol-stellar-v2 0.2.20 → 0.2.21

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 (198) hide show
  1. package/.turbo/turbo-build.log +783 -802
  2. package/.turbo/turbo-lint.log +320 -157
  3. package/.turbo/turbo-test.log +1414 -1457
  4. package/Cargo.lock +109 -108
  5. package/Cargo.toml +32 -18
  6. package/contracts/common-macros/Cargo.toml +7 -7
  7. package/contracts/common-macros/src/auth.rs +18 -37
  8. package/contracts/common-macros/src/contract_ttl.rs +2 -2
  9. package/contracts/common-macros/src/lib.rs +27 -10
  10. package/contracts/common-macros/src/lz_contract.rs +38 -7
  11. package/contracts/common-macros/src/storage.rs +251 -292
  12. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +6 -12
  13. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +12 -17
  14. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +2 -7
  15. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +20 -9
  16. package/contracts/common-macros/src/tests/upgradeable.rs +26 -4
  17. package/contracts/common-macros/src/ttl_configurable.rs +2 -10
  18. package/contracts/common-macros/src/ttl_extendable.rs +2 -10
  19. package/contracts/common-macros/src/upgradeable.rs +56 -15
  20. package/contracts/common-macros/src/utils.rs +0 -9
  21. package/contracts/endpoint-v2/src/lib.rs +3 -2
  22. package/contracts/endpoint-v2/src/tests/endpoint_v2/clear.rs +2 -2
  23. package/contracts/endpoint-v2/src/tests/endpoint_v2/lz_receive_alert.rs +3 -3
  24. package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +4 -4
  25. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_delegate.rs +17 -5
  26. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
  27. package/contracts/endpoint-v2/src/tests/endpoint_v2/verify.rs +2 -2
  28. package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +2 -2
  29. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +6 -6
  30. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_library.rs +67 -37
  31. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_send_library.rs +5 -5
  32. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library.rs +44 -54
  33. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library_timeout.rs +7 -7
  34. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_send_library.rs +8 -8
  35. package/contracts/endpoint-v2/src/tests/messaging_channel/burn.rs +3 -3
  36. package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +4 -4
  37. package/contracts/endpoint-v2/src/tests/messaging_channel/skip.rs +3 -3
  38. package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +2 -2
  39. package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +3 -3
  40. package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +2 -2
  41. package/contracts/layerzero-views/Cargo.toml +0 -1
  42. package/contracts/layerzero-views/src/layerzero_view.rs +1 -13
  43. package/contracts/macro-integration-tests/Cargo.toml +5 -15
  44. package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +48 -0
  45. package/contracts/macro-integration-tests/tests/runtime/oapp/oapp_core.rs +170 -0
  46. package/contracts/macro-integration-tests/tests/runtime/oapp/options_type3.rs +154 -0
  47. package/contracts/macro-integration-tests/tests/runtime/oapp/receiver.rs +338 -0
  48. package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +435 -0
  49. package/contracts/macro-integration-tests/tests/runtime.rs +1 -0
  50. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.rs +8 -0
  51. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.stderr +5 -0
  52. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.rs +8 -0
  53. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.stderr +71 -0
  54. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.rs +10 -0
  55. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.stderr +5 -0
  56. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.rs +8 -0
  57. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.stderr +5 -0
  58. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.rs +8 -0
  59. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.stderr +5 -0
  60. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +38 -0
  61. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +96 -0
  62. package/contracts/macro-integration-tests/tests/ui/oapp/pass/minimal_contract.rs +64 -0
  63. package/contracts/macro-integration-tests/tests/ui/oapp/pass/struct_with_fields.rs +46 -0
  64. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +8 -0
  65. package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +1 -1
  66. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +1 -1
  67. package/contracts/macro-integration-tests/tests/ui_oapp.rs +11 -0
  68. package/contracts/message-libs/message-lib-common/Cargo.toml +0 -1
  69. package/contracts/message-libs/message-lib-common/src/errors.rs +1 -1
  70. package/contracts/message-libs/treasury/Cargo.toml +0 -2
  71. package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +2 -2
  72. package/contracts/message-libs/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +2 -2
  73. package/contracts/message-libs/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +2 -2
  74. package/contracts/message-libs/uln-302/src/tests/receive_uln302/verify.rs +2 -2
  75. package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_executor_config.rs +2 -2
  76. package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +2 -2
  77. package/contracts/message-libs/uln-302/src/tests/send_uln302/send.rs +7 -27
  78. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +2 -2
  79. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +2 -2
  80. package/contracts/oapps/counter/Cargo.toml +4 -6
  81. package/contracts/oapps/counter/integration_tests/utils.rs +19 -12
  82. package/contracts/oapps/oapp/src/errors.rs +1 -1
  83. package/contracts/oapps/oapp/src/interfaces/mod.rs +3 -0
  84. package/contracts/oapps/oapp/src/interfaces/oapp_msg_inspector.rs +47 -0
  85. package/contracts/oapps/oapp/src/lib.rs +1 -0
  86. package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +4 -4
  87. package/contracts/oapps/oapp/src/oapp_core.rs +5 -5
  88. package/contracts/oapps/oapp/src/oapp_options_type3.rs +12 -4
  89. package/contracts/oapps/oapp/src/oapp_receiver.rs +14 -9
  90. package/contracts/oapps/oapp/src/tests/mod.rs +4 -4
  91. package/contracts/oapps/oapp/src/tests/{test_oapp_core.rs → oapp_core.rs} +4 -4
  92. package/contracts/oapps/oapp/src/tests/{test_oapp_options_type3.rs → oapp_options_type3.rs} +3 -4
  93. package/contracts/oapps/oapp-macros/Cargo.toml +8 -4
  94. package/contracts/oapps/oapp-macros/src/generators.rs +9 -34
  95. package/contracts/oapps/oapp-macros/src/lib.rs +3 -0
  96. package/contracts/oapps/oapp-macros/src/tests/mod.rs +2 -0
  97. package/contracts/oapps/oapp-macros/src/tests/oapp.rs +88 -0
  98. package/contracts/oapps/oapp-macros/src/tests/parse_custom_impls.rs +86 -0
  99. package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +103 -0
  100. package/contracts/oapps/oft/integration-tests/utils.rs +28 -8
  101. package/contracts/oapps/oft/src/extensions/oft_fee.rs +136 -74
  102. package/contracts/oapps/oft/src/extensions/pausable.rs +44 -10
  103. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +170 -130
  104. package/contracts/oapps/oft/src/oft.rs +19 -12
  105. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +1 -1
  106. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +1 -1
  107. package/contracts/oapps/oft-core/Cargo.toml +1 -4
  108. package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -2
  109. package/contracts/oapps/oft-core/integration-tests/utils.rs +21 -3
  110. package/contracts/oapps/oft-core/src/errors.rs +3 -2
  111. package/contracts/oapps/oft-core/src/events.rs +6 -0
  112. package/contracts/oapps/oft-core/src/lib.rs +1 -1
  113. package/contracts/oapps/oft-core/src/oft_core.rs +115 -60
  114. package/contracts/oapps/oft-core/src/storage.rs +7 -3
  115. package/contracts/oapps/oft-core/src/tests/mod.rs +1 -0
  116. package/contracts/oapps/oft-core/src/tests/test_decimals.rs +37 -2
  117. package/contracts/oapps/oft-core/src/tests/test_lz_receive.rs +2 -2
  118. package/contracts/oapps/oft-core/src/tests/test_msg_inspector.rs +323 -0
  119. package/contracts/oapps/oft-core/src/tests/test_send.rs +2 -2
  120. package/contracts/oapps/oft-core/src/tests/test_utils.rs +59 -14
  121. package/contracts/utils/Cargo.toml +0 -1
  122. package/contracts/utils/src/errors.rs +1 -1
  123. package/contracts/utils/src/multisig.rs +17 -8
  124. package/contracts/utils/src/ownable.rs +6 -6
  125. package/contracts/utils/src/testing_utils.rs +124 -54
  126. package/contracts/utils/src/tests/multisig.rs +12 -12
  127. package/contracts/utils/src/tests/ownable.rs +6 -6
  128. package/contracts/utils/src/tests/testing_utils.rs +50 -167
  129. package/contracts/utils/src/tests/ttl_configurable.rs +5 -5
  130. package/contracts/utils/src/tests/upgradeable.rs +1 -1
  131. package/contracts/utils/src/ttl_configurable.rs +10 -4
  132. package/contracts/utils/src/upgradeable.rs +5 -5
  133. package/contracts/workers/dvn/Cargo.toml +5 -6
  134. package/contracts/workers/dvn/src/dvn.rs +2 -12
  135. package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
  136. package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +37 -19
  137. package/contracts/workers/dvn-fee-lib/src/lib.rs +12 -2
  138. package/contracts/workers/dvn-fee-lib/src/tests/dvn_fee_lib.rs +15 -13
  139. package/contracts/workers/executor/Cargo.toml +3 -0
  140. package/contracts/workers/executor/src/executor.rs +2 -12
  141. package/contracts/workers/executor/src/lib.rs +2 -2
  142. package/contracts/workers/executor/src/tests/auth.rs +394 -0
  143. package/contracts/workers/executor/src/tests/executor.rs +410 -0
  144. package/contracts/workers/executor/src/tests/mod.rs +3 -0
  145. package/contracts/workers/executor/src/tests/setup.rs +250 -0
  146. package/contracts/workers/executor-fee-lib/Cargo.toml +5 -0
  147. package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +1 -12
  148. package/contracts/workers/executor-fee-lib/src/lib.rs +8 -2
  149. package/contracts/workers/executor-helper/Cargo.toml +0 -1
  150. package/contracts/workers/price-feed/Cargo.toml +5 -0
  151. package/contracts/workers/price-feed/src/lib.rs +9 -4
  152. package/contracts/workers/price-feed/src/price_feed.rs +1 -11
  153. package/contracts/workers/worker/src/errors.rs +1 -1
  154. package/contracts/workers/worker/src/tests/setup.rs +1 -1
  155. package/contracts/workers/worker/src/tests/worker.rs +55 -41
  156. package/contracts/workers/worker/src/worker.rs +34 -25
  157. package/docs/error-spec.md +55 -0
  158. package/docs/layerzero-v2-on-stellar.md +447 -0
  159. package/docs/oapp-guide.md +212 -0
  160. package/docs/oft-guide.md +314 -0
  161. package/package.json +3 -3
  162. package/sdk/.turbo/turbo-test.log +260 -257
  163. package/sdk/dist/generated/bml.d.ts +3 -3
  164. package/sdk/dist/generated/bml.js +4 -4
  165. package/sdk/dist/generated/counter.d.ts +295 -295
  166. package/sdk/dist/generated/counter.js +43 -43
  167. package/sdk/dist/generated/dvn.d.ts +91 -91
  168. package/sdk/dist/generated/dvn.js +24 -24
  169. package/sdk/dist/generated/dvn_fee_lib.d.ts +92 -92
  170. package/sdk/dist/generated/dvn_fee_lib.js +25 -25
  171. package/sdk/dist/generated/endpoint.d.ts +99 -99
  172. package/sdk/dist/generated/endpoint.js +16 -16
  173. package/sdk/dist/generated/executor.d.ts +91 -91
  174. package/sdk/dist/generated/executor.js +24 -24
  175. package/sdk/dist/generated/executor_fee_lib.d.ts +92 -92
  176. package/sdk/dist/generated/executor_fee_lib.js +25 -25
  177. package/sdk/dist/generated/executor_helper.d.ts +3 -3
  178. package/sdk/dist/generated/executor_helper.js +4 -4
  179. package/sdk/dist/generated/layerzero_view.d.ts +186 -186
  180. package/sdk/dist/generated/layerzero_view.js +35 -35
  181. package/sdk/dist/generated/oft.d.ts +366 -352
  182. package/sdk/dist/generated/oft.js +74 -79
  183. package/sdk/dist/generated/price_feed.d.ts +198 -198
  184. package/sdk/dist/generated/price_feed.js +39 -39
  185. package/sdk/dist/generated/sml.d.ts +99 -99
  186. package/sdk/dist/generated/sml.js +16 -16
  187. package/sdk/dist/generated/treasury.d.ts +99 -99
  188. package/sdk/dist/generated/treasury.js +16 -16
  189. package/sdk/dist/generated/uln302.d.ts +99 -99
  190. package/sdk/dist/generated/uln302.js +16 -16
  191. package/sdk/dist/generated/upgrader.d.ts +3 -3
  192. package/sdk/dist/generated/upgrader.js +3 -3
  193. package/sdk/package.json +1 -1
  194. package/sdk/test/suites/localnet.ts +84 -20
  195. package/contracts/ERROR_SPEC.md +0 -51
  196. package/contracts/endpoint-v2/ARCHITECTURE.md +0 -233
  197. /package/contracts/oapps/oapp/src/tests/{test_oapp_receiver.rs → oapp_receiver.rs} +0 -0
  198. /package/contracts/oapps/oapp/src/tests/{test_oapp_sender.rs → oapp_sender.rs} +0 -0
package/Cargo.lock CHANGED
@@ -23,15 +23,6 @@ dependencies = [
23
23
  "libc",
24
24
  ]
25
25
 
26
- [[package]]
27
- name = "ansi_term"
28
- version = "0.12.1"
29
- source = "registry+https://github.com/rust-lang/crates.io-index"
30
- checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
31
- dependencies = [
32
- "winapi",
33
- ]
34
-
35
26
  [[package]]
36
27
  name = "anyhow"
37
28
  version = "1.0.100"
@@ -59,6 +50,17 @@ dependencies = [
59
50
  "ark-std",
60
51
  ]
61
52
 
53
+ [[package]]
54
+ name = "ark-bn254"
55
+ version = "0.4.0"
56
+ source = "registry+https://github.com/rust-lang/crates.io-index"
57
+ checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f"
58
+ dependencies = [
59
+ "ark-ec",
60
+ "ark-ff",
61
+ "ark-std",
62
+ ]
63
+
62
64
  [[package]]
63
65
  name = "ark-ec"
64
66
  version = "0.4.2"
@@ -165,15 +167,6 @@ dependencies = [
165
167
  "rand",
166
168
  ]
167
169
 
168
- [[package]]
169
- name = "assert_unordered"
170
- version = "0.3.5"
171
- source = "registry+https://github.com/rust-lang/crates.io-index"
172
- checksum = "1c74323b7881323eb351134e08ee5331594826789557afef8e309baf481b2264"
173
- dependencies = [
174
- "ansi_term",
175
- ]
176
-
177
170
  [[package]]
178
171
  name = "autocfg"
179
172
  version = "1.5.0"
@@ -238,6 +231,12 @@ version = "3.19.0"
238
231
  source = "registry+https://github.com/rust-lang/crates.io-index"
239
232
  checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
240
233
 
234
+ [[package]]
235
+ name = "byteorder"
236
+ version = "1.5.0"
237
+ source = "registry+https://github.com/rust-lang/crates.io-index"
238
+ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
239
+
241
240
  [[package]]
242
241
  name = "bytes-lit"
243
242
  version = "0.0.5"
@@ -330,7 +329,6 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
330
329
  name = "counter"
331
330
  version = "0.0.1"
332
331
  dependencies = [
333
- "assert_unordered",
334
332
  "common-macros",
335
333
  "dvn",
336
334
  "dvn-fee-lib",
@@ -352,7 +350,6 @@ dependencies = [
352
350
  "treasury",
353
351
  "uln302",
354
352
  "utils",
355
- "worker",
356
353
  ]
357
354
 
358
355
  [[package]]
@@ -609,7 +606,6 @@ dependencies = [
609
606
  "ed25519-dalek",
610
607
  "endpoint-v2",
611
608
  "fee-lib-interfaces",
612
- "insta",
613
609
  "k256",
614
610
  "message-lib-common",
615
611
  "rand",
@@ -623,9 +619,9 @@ dependencies = [
623
619
  name = "dvn-fee-lib"
624
620
  version = "0.0.1"
625
621
  dependencies = [
622
+ "cfg-if",
626
623
  "common-macros",
627
624
  "fee-lib-interfaces",
628
- "message-lib-common",
629
625
  "soroban-sdk",
630
626
  "utils",
631
627
  ]
@@ -741,9 +737,11 @@ version = "0.0.1"
741
737
  dependencies = [
742
738
  "cfg-if",
743
739
  "common-macros",
740
+ "ed25519-dalek",
744
741
  "endpoint-v2",
745
742
  "fee-lib-interfaces",
746
743
  "message-lib-common",
744
+ "rand",
747
745
  "soroban-sdk",
748
746
  "utils",
749
747
  "worker",
@@ -753,6 +751,7 @@ dependencies = [
753
751
  name = "executor-fee-lib"
754
752
  version = "0.0.1"
755
753
  dependencies = [
754
+ "cfg-if",
756
755
  "common-macros",
757
756
  "fee-lib-interfaces",
758
757
  "message-lib-common",
@@ -769,7 +768,6 @@ dependencies = [
769
768
  "executor",
770
769
  "soroban-sdk",
771
770
  "utils",
772
- "worker",
773
771
  ]
774
772
 
775
773
  [[package]]
@@ -848,6 +846,15 @@ dependencies = [
848
846
  "subtle",
849
847
  ]
850
848
 
849
+ [[package]]
850
+ name = "hash32"
851
+ version = "0.3.1"
852
+ source = "registry+https://github.com/rust-lang/crates.io-index"
853
+ checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606"
854
+ dependencies = [
855
+ "byteorder",
856
+ ]
857
+
851
858
  [[package]]
852
859
  name = "hashbrown"
853
860
  version = "0.12.3"
@@ -869,6 +876,16 @@ version = "0.16.0"
869
876
  source = "registry+https://github.com/rust-lang/crates.io-index"
870
877
  checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d"
871
878
 
879
+ [[package]]
880
+ name = "heapless"
881
+ version = "0.8.0"
882
+ source = "registry+https://github.com/rust-lang/crates.io-index"
883
+ checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad"
884
+ dependencies = [
885
+ "hash32",
886
+ "stable_deref_trait",
887
+ ]
888
+
872
889
  [[package]]
873
890
  name = "heck"
874
891
  version = "0.4.1"
@@ -1062,7 +1079,6 @@ dependencies = [
1062
1079
  name = "layerzero-views"
1063
1080
  version = "0.0.1"
1064
1081
  dependencies = [
1065
- "cfg-if",
1066
1082
  "common-macros",
1067
1083
  "endpoint-v2",
1068
1084
  "message-lib-common",
@@ -1123,7 +1139,6 @@ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
1123
1139
  name = "message-lib-common"
1124
1140
  version = "0.0.1"
1125
1141
  dependencies = [
1126
- "cfg-if",
1127
1142
  "common-macros",
1128
1143
  "endpoint-v2",
1129
1144
  "hex-literal 1.1.0",
@@ -1196,6 +1211,8 @@ name = "oapp-macros"
1196
1211
  version = "0.0.1"
1197
1212
  dependencies = [
1198
1213
  "heck 0.5.0",
1214
+ "insta",
1215
+ "prettyplease",
1199
1216
  "proc-macro2",
1200
1217
  "quote",
1201
1218
  "syn 2.0.108",
@@ -1227,14 +1244,11 @@ version = "0.0.1"
1227
1244
  dependencies = [
1228
1245
  "common-macros",
1229
1246
  "endpoint-v2",
1230
- "insta",
1231
1247
  "message-lib-common",
1232
1248
  "oapp",
1233
1249
  "oapp-macros",
1234
1250
  "simple-message-lib",
1235
1251
  "soroban-sdk",
1236
- "stellar-macros",
1237
- "stellar-tokens",
1238
1252
  "utils",
1239
1253
  ]
1240
1254
 
@@ -1307,6 +1321,7 @@ dependencies = [
1307
1321
  name = "price-feed"
1308
1322
  version = "0.0.1"
1309
1323
  dependencies = [
1324
+ "cfg-if",
1310
1325
  "common-macros",
1311
1326
  "fee-lib-interfaces",
1312
1327
  "soroban-sdk",
@@ -1636,9 +1651,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
1636
1651
 
1637
1652
  [[package]]
1638
1653
  name = "soroban-builtin-sdk-macros"
1639
- version = "23.0.1"
1654
+ version = "25.0.1"
1640
1655
  source = "registry+https://github.com/rust-lang/crates.io-index"
1641
- checksum = "d9336adeabcd6f636a4e0889c8baf494658ef5a3c4e7e227569acd2ce9091e85"
1656
+ checksum = "7192e3a5551a7aeee90d2110b11b615798e81951fd8c8293c87ea7f88b0168f5"
1642
1657
  dependencies = [
1643
1658
  "itertools 0.10.5",
1644
1659
  "proc-macro2",
@@ -1648,9 +1663,9 @@ dependencies = [
1648
1663
 
1649
1664
  [[package]]
1650
1665
  name = "soroban-env-common"
1651
- version = "23.0.1"
1666
+ version = "25.0.1"
1652
1667
  source = "registry+https://github.com/rust-lang/crates.io-index"
1653
- checksum = "00067f52e8bbf1abf0de03fe3e2fbb06910893cfbe9a7d9093d6425658833ff3"
1668
+ checksum = "bfc49a80a68fc1005847308e63b9fce39874de731940b1807b721d472de3ff01"
1654
1669
  dependencies = [
1655
1670
  "arbitrary",
1656
1671
  "crate-git-revision",
@@ -1661,15 +1676,15 @@ dependencies = [
1661
1676
  "soroban-env-macros",
1662
1677
  "soroban-wasmi",
1663
1678
  "static_assertions",
1664
- "stellar-xdr",
1679
+ "stellar-xdr 25.0.0",
1665
1680
  "wasmparser",
1666
1681
  ]
1667
1682
 
1668
1683
  [[package]]
1669
1684
  name = "soroban-env-guest"
1670
- version = "23.0.1"
1685
+ version = "25.0.1"
1671
1686
  source = "registry+https://github.com/rust-lang/crates.io-index"
1672
- checksum = "ccd1e40963517b10963a8e404348d3fe6caf9c278ac47a6effd48771297374d6"
1687
+ checksum = "ea2334ba1cfe0a170ab744d96db0b4ca86934de9ff68187ceebc09dc342def55"
1673
1688
  dependencies = [
1674
1689
  "soroban-env-common",
1675
1690
  "static_assertions",
@@ -1677,11 +1692,12 @@ dependencies = [
1677
1692
 
1678
1693
  [[package]]
1679
1694
  name = "soroban-env-host"
1680
- version = "23.0.1"
1695
+ version = "25.0.1"
1681
1696
  source = "registry+https://github.com/rust-lang/crates.io-index"
1682
- checksum = "b9766c5ad78e9d8ae10afbc076301f7d610c16407a1ebb230766dbe007a48725"
1697
+ checksum = "43af5d53c57bc2f546e122adc0b1cca6f93942c718977379aa19ddd04f06fcec"
1683
1698
  dependencies = [
1684
1699
  "ark-bls12-381",
1700
+ "ark-bn254",
1685
1701
  "ark-ec",
1686
1702
  "ark-ff",
1687
1703
  "ark-serialize",
@@ -1713,24 +1729,24 @@ dependencies = [
1713
1729
 
1714
1730
  [[package]]
1715
1731
  name = "soroban-env-macros"
1716
- version = "23.0.1"
1732
+ version = "25.0.1"
1717
1733
  source = "registry+https://github.com/rust-lang/crates.io-index"
1718
- checksum = "b0e6a1c5844257ce96f5f54ef976035d5bd0ee6edefaf9f5e0bcb8ea4b34228c"
1734
+ checksum = "a989167512e3592d455b1e204d703cfe578a36672a77ed2f9e6f7e1bbfd9cc5c"
1719
1735
  dependencies = [
1720
1736
  "itertools 0.10.5",
1721
1737
  "proc-macro2",
1722
1738
  "quote",
1723
1739
  "serde",
1724
1740
  "serde_json",
1725
- "stellar-xdr",
1741
+ "stellar-xdr 25.0.0",
1726
1742
  "syn 2.0.108",
1727
1743
  ]
1728
1744
 
1729
1745
  [[package]]
1730
1746
  name = "soroban-ledger-snapshot"
1731
- version = "23.4.0"
1747
+ version = "25.0.1"
1732
1748
  source = "registry+https://github.com/rust-lang/crates.io-index"
1733
- checksum = "c9c4500634698292eabdc97ec7e98b817d8c343ca7ddcf1ae25f985b0f7ee4da"
1749
+ checksum = "af1d4de49c32b4285f63a84764c57f36b32a177dfb7dad02e06d9f8cc77d6115"
1734
1750
  dependencies = [
1735
1751
  "serde",
1736
1752
  "serde_json",
@@ -1742,9 +1758,9 @@ dependencies = [
1742
1758
 
1743
1759
  [[package]]
1744
1760
  name = "soroban-sdk"
1745
- version = "23.4.0"
1761
+ version = "25.0.1"
1746
1762
  source = "registry+https://github.com/rust-lang/crates.io-index"
1747
- checksum = "7fdaa5d2d75769a5df6015b476882bdf186414c7558c241911e79d75b39b515d"
1763
+ checksum = "0ce2a038346959b8073f3fcab7d608441ccb4a963e7261053f135adbee1972f8"
1748
1764
  dependencies = [
1749
1765
  "arbitrary",
1750
1766
  "bytes-lit",
@@ -1760,15 +1776,15 @@ dependencies = [
1760
1776
  "soroban-env-host",
1761
1777
  "soroban-ledger-snapshot",
1762
1778
  "soroban-sdk-macros",
1763
- "stellar-strkey 0.0.13",
1779
+ "stellar-strkey 0.0.16",
1764
1780
  "visibility",
1765
1781
  ]
1766
1782
 
1767
1783
  [[package]]
1768
1784
  name = "soroban-sdk-macros"
1769
- version = "23.4.0"
1785
+ version = "25.0.1"
1770
1786
  source = "registry+https://github.com/rust-lang/crates.io-index"
1771
- checksum = "50ed4dc6b43003c278fe8a7a80d94542232eb1b56e311dd71b73f7d646e1e7a4"
1787
+ checksum = "17eab1ea0b58aa644cd9b37818a0c5ac23f02db7cd064a6914647116ca4a5480"
1772
1788
  dependencies = [
1773
1789
  "darling 0.20.11",
1774
1790
  "heck 0.5.0",
@@ -1778,9 +1794,9 @@ dependencies = [
1778
1794
  "quote",
1779
1795
  "sha2 0.10.9",
1780
1796
  "soroban-env-common",
1781
- "soroban-spec",
1797
+ "soroban-spec 25.0.1",
1782
1798
  "soroban-spec-rust",
1783
- "stellar-xdr",
1799
+ "stellar-xdr 25.0.0",
1784
1800
  "syn 2.0.108",
1785
1801
  ]
1786
1802
 
@@ -1791,23 +1807,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1791
1807
  checksum = "c55623057d24c2a5326f519b56a756463f2aeb7ae62af0978fa0b9bab59d732d"
1792
1808
  dependencies = [
1793
1809
  "base64 0.22.1",
1794
- "stellar-xdr",
1810
+ "stellar-xdr 23.0.0",
1811
+ "thiserror",
1812
+ "wasmparser",
1813
+ ]
1814
+
1815
+ [[package]]
1816
+ name = "soroban-spec"
1817
+ version = "25.0.1"
1818
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1819
+ checksum = "1bb240973e06456393328d0bdb3397e86bbe7369972b0a94ad13e51b55eacd65"
1820
+ dependencies = [
1821
+ "base64 0.22.1",
1822
+ "stellar-xdr 25.0.0",
1795
1823
  "thiserror",
1796
1824
  "wasmparser",
1797
1825
  ]
1798
1826
 
1799
1827
  [[package]]
1800
1828
  name = "soroban-spec-rust"
1801
- version = "23.4.0"
1829
+ version = "25.0.1"
1802
1830
  source = "registry+https://github.com/rust-lang/crates.io-index"
1803
- checksum = "e9eec1039dfb0dda4c2fb8699a6e5a1c3c5a682432bdaee5fd6a7bb90c45db0c"
1831
+ checksum = "1ce64a5ae92b7c0fe5c995ca47dccb83b12c0a60b0409f3b919b87afa41f64e2"
1804
1832
  dependencies = [
1805
1833
  "prettyplease",
1806
1834
  "proc-macro2",
1807
1835
  "quote",
1808
1836
  "sha2 0.10.9",
1809
- "soroban-spec",
1810
- "stellar-xdr",
1837
+ "soroban-spec 25.0.1",
1838
+ "stellar-xdr 25.0.0",
1811
1839
  "syn 2.0.108",
1812
1840
  "thiserror",
1813
1841
  ]
@@ -1827,8 +1855,8 @@ dependencies = [
1827
1855
  "serde_derive",
1828
1856
  "serde_json",
1829
1857
  "sha2 0.9.9",
1830
- "soroban-spec",
1831
- "stellar-xdr",
1858
+ "soroban-spec 23.4.0",
1859
+ "stellar-xdr 23.0.0",
1832
1860
  "thiserror",
1833
1861
  ]
1834
1862
 
@@ -1861,30 +1889,18 @@ dependencies = [
1861
1889
  "der",
1862
1890
  ]
1863
1891
 
1892
+ [[package]]
1893
+ name = "stable_deref_trait"
1894
+ version = "1.2.1"
1895
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1896
+ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
1897
+
1864
1898
  [[package]]
1865
1899
  name = "static_assertions"
1866
1900
  version = "1.1.0"
1867
1901
  source = "registry+https://github.com/rust-lang/crates.io-index"
1868
1902
  checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
1869
1903
 
1870
- [[package]]
1871
- name = "stellar-contract-utils"
1872
- version = "0.5.1"
1873
- source = "git+https://github.com/OpenZeppelin/stellar-contracts.git?tag=v0.5.1#372a162a6df8aed108befa5573d30a8ca49cb271"
1874
- dependencies = [
1875
- "soroban-sdk",
1876
- ]
1877
-
1878
- [[package]]
1879
- name = "stellar-macros"
1880
- version = "0.5.1"
1881
- source = "git+https://github.com/OpenZeppelin/stellar-contracts.git?tag=v0.5.1#372a162a6df8aed108befa5573d30a8ca49cb271"
1882
- dependencies = [
1883
- "proc-macro2",
1884
- "quote",
1885
- "syn 2.0.108",
1886
- ]
1887
-
1888
1904
  [[package]]
1889
1905
  name = "stellar-strkey"
1890
1906
  version = "0.0.13"
@@ -1897,28 +1913,38 @@ dependencies = [
1897
1913
 
1898
1914
  [[package]]
1899
1915
  name = "stellar-strkey"
1900
- version = "0.0.14"
1916
+ version = "0.0.16"
1901
1917
  source = "registry+https://github.com/rust-lang/crates.io-index"
1902
- checksum = "a4b7f19b1c8a8b98616479c71669633456b567898aef7c5367489c982dcb58a1"
1918
+ checksum = "084afcb0d458c3d5d5baa2d294b18f881e62cc258ef539d8fdf68be7dbe45520"
1903
1919
  dependencies = [
1904
1920
  "crate-git-revision",
1905
1921
  "data-encoding",
1922
+ "heapless",
1906
1923
  ]
1907
1924
 
1908
1925
  [[package]]
1909
- name = "stellar-tokens"
1910
- version = "0.5.1"
1911
- source = "git+https://github.com/OpenZeppelin/stellar-contracts.git?tag=v0.5.1#372a162a6df8aed108befa5573d30a8ca49cb271"
1926
+ name = "stellar-xdr"
1927
+ version = "23.0.0"
1928
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1929
+ checksum = "89d2848e1694b0c8db81fd812bfab5ea71ee28073e09ccc45620ef3cf7a75a9b"
1912
1930
  dependencies = [
1913
- "soroban-sdk",
1914
- "stellar-contract-utils",
1931
+ "base64 0.22.1",
1932
+ "cfg_eval",
1933
+ "crate-git-revision",
1934
+ "escape-bytes",
1935
+ "ethnum",
1936
+ "hex",
1937
+ "serde",
1938
+ "serde_with",
1939
+ "sha2 0.10.9",
1940
+ "stellar-strkey 0.0.13",
1915
1941
  ]
1916
1942
 
1917
1943
  [[package]]
1918
1944
  name = "stellar-xdr"
1919
- version = "23.0.0"
1945
+ version = "25.0.0"
1920
1946
  source = "registry+https://github.com/rust-lang/crates.io-index"
1921
- checksum = "89d2848e1694b0c8db81fd812bfab5ea71ee28073e09ccc45620ef3cf7a75a9b"
1947
+ checksum = "10d20dafed80076b227d4b17c0c508a4bbc4d5e4c3d4c1de7cd42242df4b1eaf"
1922
1948
  dependencies = [
1923
1949
  "arbitrary",
1924
1950
  "base64 0.22.1",
@@ -2078,8 +2104,6 @@ version = "0.0.1"
2078
2104
  dependencies = [
2079
2105
  "cfg-if",
2080
2106
  "common-macros",
2081
- "endpoint-v2",
2082
- "insta",
2083
2107
  "message-lib-common",
2084
2108
  "soroban-sdk",
2085
2109
  "utils",
@@ -2149,7 +2173,6 @@ version = "0.0.1"
2149
2173
  dependencies = [
2150
2174
  "common-macros",
2151
2175
  "soroban-sdk",
2152
- "stellar-strkey 0.0.14",
2153
2176
  ]
2154
2177
 
2155
2178
  [[package]]
@@ -2257,22 +2280,6 @@ dependencies = [
2257
2280
  "indexmap-nostd",
2258
2281
  ]
2259
2282
 
2260
- [[package]]
2261
- name = "winapi"
2262
- version = "0.3.9"
2263
- source = "registry+https://github.com/rust-lang/crates.io-index"
2264
- checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
2265
- dependencies = [
2266
- "winapi-i686-pc-windows-gnu",
2267
- "winapi-x86_64-pc-windows-gnu",
2268
- ]
2269
-
2270
- [[package]]
2271
- name = "winapi-i686-pc-windows-gnu"
2272
- version = "0.4.0"
2273
- source = "registry+https://github.com/rust-lang/crates.io-index"
2274
- checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
2275
-
2276
2283
  [[package]]
2277
2284
  name = "winapi-util"
2278
2285
  version = "0.1.11"
@@ -2282,12 +2289,6 @@ dependencies = [
2282
2289
  "windows-sys",
2283
2290
  ]
2284
2291
 
2285
- [[package]]
2286
- name = "winapi-x86_64-pc-windows-gnu"
2287
- version = "0.4.0"
2288
- source = "registry+https://github.com/rust-lang/crates.io-index"
2289
- checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
2290
-
2291
2292
  [[package]]
2292
2293
  name = "windows-core"
2293
2294
  version = "0.62.2"
package/Cargo.toml CHANGED
@@ -14,32 +14,46 @@ license = "MIT"
14
14
  version = "0.0.1"
15
15
 
16
16
  [workspace.dependencies]
17
- soroban-sdk = {version = "23.4.0", features = ["hazmat-address", "hazmat-crypto"]}
17
+ soroban-sdk = { version = "25.0.1", features = ["hazmat-address", "hazmat-crypto"] }
18
+
19
+ # Third-party dependencies (production)
18
20
  cfg-if = { version = "1.0", default-features = false }
21
+ heck = "0.5"
22
+ itertools = "0.14"
23
+ proc-macro2 = "1.0"
24
+ quote = "1.0"
25
+ syn = { version = "2.0", features = ["full", "extra-traits"] }
26
+
27
+ # Third-party dependencies (testing only)
28
+ ed25519-dalek = "2"
19
29
  hex-literal = "1.0.0"
20
- endpoint-v2 = { path = "contracts/endpoint-v2", default-features = false }
21
- utils = { path = "contracts/utils" }
30
+ insta = "1.44.3"
31
+ k256 = "0.13"
32
+ prettyplease = "0.2.37"
33
+ rand = "0.8"
34
+ sha3 = "0.10"
35
+ trybuild = "1.0.114"
36
+
37
+ # Internal workspace dependencies
22
38
  common-macros = { path = "contracts/common-macros" }
23
- oapp-macros = { path = "contracts/oapps/oapp-macros" }
39
+ dvn = { path = "contracts/workers/dvn" }
40
+ dvn-fee-lib = { path = "contracts/workers/dvn-fee-lib" }
41
+ endpoint-v2 = { path = "contracts/endpoint-v2", default-features = false }
42
+ executor = { path = "contracts/workers/executor" }
43
+ executor-fee-lib = { path = "contracts/workers/executor-fee-lib" }
44
+ executor-helper = { path = "contracts/workers/executor-helper" }
45
+ fee-lib-interfaces = { path = "contracts/workers/fee-lib-interfaces" }
24
46
  message-lib-common = { path = "contracts/message-libs/message-lib-common" }
25
- uln302 = { path = "contracts/message-libs/uln-302", default-features = false }
26
47
  oapp = { path = "contracts/oapps/oapp" }
48
+ oapp-macros = { path = "contracts/oapps/oapp-macros" }
49
+ oft = { path = "contracts/oapps/oft" }
50
+ oft-core = { path = "contracts/oapps/oft-core" }
51
+ price-feed = { path = "contracts/workers/price-feed" }
27
52
  simple-message-lib = { path = "contracts/message-libs/simple-message-lib" }
28
53
  treasury = { path = "contracts/message-libs/treasury" }
29
- fee-lib-interfaces = { path = "contracts/workers/fee-lib-interfaces" }
54
+ uln302 = { path = "contracts/message-libs/uln-302", default-features = false }
55
+ utils = { path = "contracts/utils" }
30
56
  worker = { path = "contracts/workers/worker" }
31
- executor = { path = "contracts/workers/executor" }
32
- executor-helper = { path = "contracts/workers/executor-helper" }
33
- executor-fee-lib = { path = "contracts/workers/executor-fee-lib" }
34
- dvn = { path = "contracts/workers/dvn" }
35
- dvn-fee-lib = { path = "contracts/workers/dvn-fee-lib" }
36
- price-feed = { path = "contracts/workers/price-feed" }
37
- oft-core = { path = "contracts/oapps/oft-core" }
38
- oft = { path = "contracts/oapps/oft" }
39
- stellar-macros = { git = "https://github.com/OpenZeppelin/stellar-contracts.git", tag = "v0.5.1" }
40
- stellar-tokens = { git = "https://github.com/OpenZeppelin/stellar-contracts.git", tag = "v0.5.1" }
41
- stellar-contract-utils = { git = "https://github.com/OpenZeppelin/stellar-contracts.git", tag = "v0.5.1" }
42
- insta = "1.44.3"
43
57
 
44
58
  # Fast dev builds for testing
45
59
  [profile.dev]
@@ -9,12 +9,12 @@ publish = false
9
9
  proc-macro = true
10
10
 
11
11
  [dependencies]
12
- proc-macro2 = "1.0"
13
- quote = "1.0"
14
- syn = { version = "2.0", features = ["full", "extra-traits"] }
15
- heck = "0.5"
16
- itertools = "0.14"
17
- prettyplease = "0.2.37"
12
+ proc-macro2 = { workspace = true }
13
+ quote = { workspace = true }
14
+ syn = { workspace = true }
15
+ heck = { workspace = true }
16
+ itertools = { workspace = true }
18
17
 
19
18
  [dev-dependencies]
20
- insta = { workspace = true }
19
+ insta = { workspace = true }
20
+ prettyplease = { workspace = true }
@@ -22,35 +22,23 @@ use syn::{parse_quote, ItemFn, ItemStruct};
22
22
  pub fn generate_ownable_impl(input: TokenStream) -> TokenStream {
23
23
  let item_struct: ItemStruct = syn::parse2(input).unwrap_or_else(|e| panic!("failed to parse struct: {}", e));
24
24
  let name = &item_struct.ident;
25
- let impl_mod = utils::impl_mod_ident(name, "ownable");
26
25
 
27
26
  quote! {
28
27
  #item_struct
29
28
 
30
- use utils::{auth::Auth as _, ownable::{Ownable as _, OwnableInitializer as _}};
31
-
32
- #[doc(hidden)]
33
- mod #impl_mod {
34
- use super::*;
35
- use utils::{
36
- auth::Auth,
37
- errors::OwnableError,
38
- option_ext::OptionExt as _,
39
- ownable::{Ownable, OwnableInitializer},
40
- };
41
-
42
- impl OwnableInitializer for #name {}
43
-
44
- #[common_macros::contract_impl]
45
- impl Auth for #name {
46
- fn authorizer(env: &soroban_sdk::Env) -> soroban_sdk::Address {
47
- <Self as Ownable>::owner(env).unwrap_or_panic(env, OwnableError::OwnerNotSet)
48
- }
49
- }
29
+ use utils::{auth::Auth as _, option_ext::OptionExt as _, ownable::{Ownable as _, OwnableInitializer as _}};
30
+
31
+ impl utils::ownable::OwnableInitializer for #name {}
50
32
 
51
- #[common_macros::contract_impl(contracttrait)]
52
- impl Ownable for #name {}
33
+ #[common_macros::contract_impl]
34
+ impl utils::auth::Auth for #name {
35
+ fn authorizer(env: &soroban_sdk::Env) -> soroban_sdk::Address {
36
+ <Self as utils::ownable::Ownable>::owner(env).unwrap_or_panic(env, utils::errors::OwnableError::OwnerNotSet)
37
+ }
53
38
  }
39
+
40
+ #[common_macros::contract_impl(contracttrait)]
41
+ impl utils::ownable::Ownable for #name {}
54
42
  }
55
43
  }
56
44
 
@@ -66,28 +54,21 @@ pub fn generate_ownable_impl(input: TokenStream) -> TokenStream {
66
54
  pub fn generate_multisig_impl(input: TokenStream) -> TokenStream {
67
55
  let item_struct: ItemStruct = syn::parse2(input).unwrap_or_else(|e| panic!("failed to parse struct: {}", e));
68
56
  let name = &item_struct.ident;
69
- let impl_mod = utils::impl_mod_ident(name, "multisig");
70
57
 
71
58
  quote! {
72
59
  #item_struct
73
60
 
74
61
  use utils::{auth::Auth as _, multisig::Multisig as _};
75
62
 
76
- #[doc(hidden)]
77
- mod #impl_mod {
78
- use super::*;
79
- use utils::{auth::Auth, multisig::Multisig};
80
-
81
- #[common_macros::contract_impl]
82
- impl Auth for #name {
83
- fn authorizer(env: &soroban_sdk::Env) -> soroban_sdk::Address {
84
- env.current_contract_address()
85
- }
63
+ #[common_macros::contract_impl]
64
+ impl utils::auth::Auth for #name {
65
+ fn authorizer(env: &soroban_sdk::Env) -> soroban_sdk::Address {
66
+ env.current_contract_address()
86
67
  }
87
-
88
- #[common_macros::contract_impl(contracttrait)]
89
- impl Multisig for #name {}
90
68
  }
69
+
70
+ #[common_macros::contract_impl(contracttrait)]
71
+ impl utils::multisig::Multisig for #name {}
91
72
  }
92
73
  }
93
74