@layerzerolabs/protocol-stellar-v2 0.2.41 → 0.2.43

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 (42) hide show
  1. package/.turbo/turbo-build.log +146 -144
  2. package/.turbo/turbo-lint.log +165 -96
  3. package/.turbo/turbo-test.log +1810 -1755
  4. package/Cargo.lock +22 -127
  5. package/Cargo.toml +4 -6
  6. package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +3 -5
  7. package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +2 -1
  8. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +1 -1
  9. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.rs +28 -0
  10. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.stderr +397 -0
  11. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.rs +1 -0
  12. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.stderr +10 -10
  13. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +1 -0
  14. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +4 -0
  15. package/contracts/macro-integration-tests/tests/ui/oapp/pass/minimal_contract.rs +5 -4
  16. package/contracts/macro-integration-tests/tests/ui/oapp/pass/struct_with_fields.rs +2 -0
  17. package/contracts/oapps/counter/src/counter.rs +4 -3
  18. package/contracts/oapps/oapp/src/oapp_core.rs +1 -1
  19. package/contracts/oapps/oapp/src/tests/oapp_core.rs +2 -1
  20. package/contracts/oapps/oapp/src/tests/oapp_options_type3.rs +6 -3
  21. package/contracts/oapps/oapp/src/tests/oapp_receiver.rs +2 -1
  22. package/contracts/oapps/oapp/src/tests/oapp_sender.rs +2 -1
  23. package/contracts/oapps/oapp/src/tests/test_macros.rs +10 -0
  24. package/contracts/oapps/oapp-macros/src/generators.rs +6 -9
  25. package/contracts/oapps/oapp-macros/src/lib.rs +1 -1
  26. package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +0 -7
  27. package/contracts/oapps/oft/src/oft.rs +2 -1
  28. package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +1 -0
  29. package/contracts/oapps/oft-core/integration-tests/setup.rs +1 -0
  30. package/contracts/oapps/oft-core/src/oft_core.rs +2 -2
  31. package/contracts/oapps/oft-core/src/tests/test_utils.rs +2 -0
  32. package/docs/oapp-guide.md +14 -9
  33. package/package.json +5 -4
  34. package/sdk/.turbo/turbo-test.log +294 -298
  35. package/sdk/dist/generated/counter.d.ts +137 -137
  36. package/sdk/dist/generated/counter.js +27 -27
  37. package/sdk/dist/generated/oft.d.ts +136 -136
  38. package/sdk/dist/generated/oft.js +27 -27
  39. package/sdk/package.json +1 -1
  40. package/ts-bindings-gen.toml +67 -0
  41. package/tools/ts-bindings-gen/Cargo.toml +0 -16
  42. package/tools/ts-bindings-gen/src/main.rs +0 -214
package/Cargo.lock CHANGED
@@ -23,12 +23,6 @@ dependencies = [
23
23
  "libc",
24
24
  ]
25
25
 
26
- [[package]]
27
- name = "anyhow"
28
- version = "1.0.100"
29
- source = "registry+https://github.com/rust-lang/crates.io-index"
30
- checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
31
-
32
26
  [[package]]
33
27
  name = "arbitrary"
34
28
  version = "1.3.2"
@@ -89,7 +83,7 @@ dependencies = [
89
83
  "ark-serialize",
90
84
  "ark-std",
91
85
  "derivative",
92
- "digest 0.10.7",
86
+ "digest",
93
87
  "itertools 0.10.5",
94
88
  "num-bigint",
95
89
  "num-traits",
@@ -142,7 +136,7 @@ checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5"
142
136
  dependencies = [
143
137
  "ark-serialize-derive",
144
138
  "ark-std",
145
- "digest 0.10.7",
139
+ "digest",
146
140
  "num-bigint",
147
141
  ]
148
142
 
@@ -179,12 +173,6 @@ version = "0.2.0"
179
173
  source = "registry+https://github.com/rust-lang/crates.io-index"
180
174
  checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
181
175
 
182
- [[package]]
183
- name = "base64"
184
- version = "0.21.7"
185
- source = "registry+https://github.com/rust-lang/crates.io-index"
186
- checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
187
-
188
176
  [[package]]
189
177
  name = "base64"
190
178
  version = "0.22.1"
@@ -197,15 +185,6 @@ version = "1.8.0"
197
185
  source = "registry+https://github.com/rust-lang/crates.io-index"
198
186
  checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba"
199
187
 
200
- [[package]]
201
- name = "block-buffer"
202
- version = "0.9.0"
203
- source = "registry+https://github.com/rust-lang/crates.io-index"
204
- checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
205
- dependencies = [
206
- "generic-array",
207
- ]
208
-
209
188
  [[package]]
210
189
  name = "block-buffer"
211
190
  version = "0.10.4"
@@ -292,7 +271,7 @@ dependencies = [
292
271
  name = "common-macros"
293
272
  version = "0.0.1"
294
273
  dependencies = [
295
- "heck 0.5.0",
274
+ "heck",
296
275
  "insta",
297
276
  "itertools 0.14.0",
298
277
  "prettyplease",
@@ -420,7 +399,7 @@ dependencies = [
420
399
  "cfg-if",
421
400
  "cpufeatures",
422
401
  "curve25519-dalek-derive",
423
- "digest 0.10.7",
402
+ "digest",
424
403
  "fiat-crypto",
425
404
  "rustc_version",
426
405
  "subtle",
@@ -556,22 +535,13 @@ dependencies = [
556
535
  "syn 2.0.108",
557
536
  ]
558
537
 
559
- [[package]]
560
- name = "digest"
561
- version = "0.9.0"
562
- source = "registry+https://github.com/rust-lang/crates.io-index"
563
- checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
564
- dependencies = [
565
- "generic-array",
566
- ]
567
-
568
538
  [[package]]
569
539
  name = "digest"
570
540
  version = "0.10.7"
571
541
  source = "registry+https://github.com/rust-lang/crates.io-index"
572
542
  checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
573
543
  dependencies = [
574
- "block-buffer 0.10.4",
544
+ "block-buffer",
575
545
  "const-oid",
576
546
  "crypto-common",
577
547
  "subtle",
@@ -640,7 +610,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
640
610
  checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
641
611
  dependencies = [
642
612
  "der",
643
- "digest 0.10.7",
613
+ "digest",
644
614
  "elliptic-curve",
645
615
  "rfc6979",
646
616
  "signature",
@@ -667,7 +637,7 @@ dependencies = [
667
637
  "ed25519",
668
638
  "rand_core",
669
639
  "serde",
670
- "sha2 0.10.9",
640
+ "sha2",
671
641
  "subtle",
672
642
  "zeroize",
673
643
  ]
@@ -686,7 +656,7 @@ checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
686
656
  dependencies = [
687
657
  "base16ct",
688
658
  "crypto-bigint",
689
- "digest 0.10.7",
659
+ "digest",
690
660
  "ff",
691
661
  "generic-array",
692
662
  "group",
@@ -887,12 +857,6 @@ dependencies = [
887
857
  "stable_deref_trait",
888
858
  ]
889
859
 
890
- [[package]]
891
- name = "heck"
892
- version = "0.4.1"
893
- source = "registry+https://github.com/rust-lang/crates.io-index"
894
- checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
895
-
896
860
  [[package]]
897
861
  name = "heck"
898
862
  version = "0.5.0"
@@ -926,7 +890,7 @@ version = "0.12.1"
926
890
  source = "registry+https://github.com/rust-lang/crates.io-index"
927
891
  checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
928
892
  dependencies = [
929
- "digest 0.10.7",
893
+ "digest",
930
894
  ]
931
895
 
932
896
  [[package]]
@@ -959,26 +923,6 @@ version = "1.0.1"
959
923
  source = "registry+https://github.com/rust-lang/crates.io-index"
960
924
  checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
961
925
 
962
- [[package]]
963
- name = "include_dir"
964
- version = "0.7.4"
965
- source = "registry+https://github.com/rust-lang/crates.io-index"
966
- checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd"
967
- dependencies = [
968
- "glob",
969
- "include_dir_macros",
970
- ]
971
-
972
- [[package]]
973
- name = "include_dir_macros"
974
- version = "0.7.4"
975
- source = "registry+https://github.com/rust-lang/crates.io-index"
976
- checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75"
977
- dependencies = [
978
- "proc-macro2",
979
- "quote",
980
- ]
981
-
982
926
  [[package]]
983
927
  name = "indexmap"
984
928
  version = "1.9.3"
@@ -1063,7 +1007,7 @@ dependencies = [
1063
1007
  "ecdsa",
1064
1008
  "elliptic-curve",
1065
1009
  "once_cell",
1066
- "sha2 0.10.9",
1010
+ "sha2",
1067
1011
  "signature",
1068
1012
  ]
1069
1013
 
@@ -1258,12 +1202,6 @@ version = "1.21.3"
1258
1202
  source = "registry+https://github.com/rust-lang/crates.io-index"
1259
1203
  checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
1260
1204
 
1261
- [[package]]
1262
- name = "opaque-debug"
1263
- version = "0.3.1"
1264
- source = "registry+https://github.com/rust-lang/crates.io-index"
1265
- checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
1266
-
1267
1205
  [[package]]
1268
1206
  name = "p256"
1269
1207
  version = "0.13.2"
@@ -1273,7 +1211,7 @@ dependencies = [
1273
1211
  "ecdsa",
1274
1212
  "elliptic-curve",
1275
1213
  "primeorder",
1276
- "sha2 0.10.9",
1214
+ "sha2",
1277
1215
  ]
1278
1216
 
1279
1217
  [[package]]
@@ -1560,7 +1498,7 @@ version = "3.15.1"
1560
1498
  source = "registry+https://github.com/rust-lang/crates.io-index"
1561
1499
  checksum = "aa66c845eee442168b2c8134fec70ac50dc20e760769c8ba0ad1319ca1959b04"
1562
1500
  dependencies = [
1563
- "base64 0.22.1",
1501
+ "base64",
1564
1502
  "chrono",
1565
1503
  "hex",
1566
1504
  "indexmap 1.9.3",
@@ -1586,19 +1524,6 @@ dependencies = [
1586
1524
  "syn 2.0.108",
1587
1525
  ]
1588
1526
 
1589
- [[package]]
1590
- name = "sha2"
1591
- version = "0.9.9"
1592
- source = "registry+https://github.com/rust-lang/crates.io-index"
1593
- checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
1594
- dependencies = [
1595
- "block-buffer 0.9.0",
1596
- "cfg-if",
1597
- "cpufeatures",
1598
- "digest 0.9.0",
1599
- "opaque-debug",
1600
- ]
1601
-
1602
1527
  [[package]]
1603
1528
  name = "sha2"
1604
1529
  version = "0.10.9"
@@ -1607,7 +1532,7 @@ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
1607
1532
  dependencies = [
1608
1533
  "cfg-if",
1609
1534
  "cpufeatures",
1610
- "digest 0.10.7",
1535
+ "digest",
1611
1536
  ]
1612
1537
 
1613
1538
  [[package]]
@@ -1616,7 +1541,7 @@ version = "0.10.8"
1616
1541
  source = "registry+https://github.com/rust-lang/crates.io-index"
1617
1542
  checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
1618
1543
  dependencies = [
1619
- "digest 0.10.7",
1544
+ "digest",
1620
1545
  "keccak",
1621
1546
  ]
1622
1547
 
@@ -1632,7 +1557,7 @@ version = "2.2.0"
1632
1557
  source = "registry+https://github.com/rust-lang/crates.io-index"
1633
1558
  checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
1634
1559
  dependencies = [
1635
- "digest 0.10.7",
1560
+ "digest",
1636
1561
  "rand_core",
1637
1562
  ]
1638
1563
 
@@ -1728,7 +1653,7 @@ dependencies = [
1728
1653
  "rand",
1729
1654
  "rand_chacha",
1730
1655
  "sec1",
1731
- "sha2 0.10.9",
1656
+ "sha2",
1732
1657
  "sha3",
1733
1658
  "soroban-builtin-sdk-macros",
1734
1659
  "soroban-env-common",
@@ -1798,12 +1723,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1798
1723
  checksum = "2a0107e34575ec704ce29407695462e79e6b0e13ce7af6431b2f15c313e34464"
1799
1724
  dependencies = [
1800
1725
  "darling 0.20.11",
1801
- "heck 0.5.0",
1726
+ "heck",
1802
1727
  "itertools 0.10.5",
1803
1728
  "macro-string",
1804
1729
  "proc-macro2",
1805
1730
  "quote",
1806
- "sha2 0.10.9",
1731
+ "sha2",
1807
1732
  "soroban-env-common",
1808
1733
  "soroban-spec",
1809
1734
  "soroban-spec-rust",
@@ -1817,7 +1742,7 @@ version = "25.1.1"
1817
1742
  source = "registry+https://github.com/rust-lang/crates.io-index"
1818
1743
  checksum = "53a1c9f6ccc6aa78518545e3cf542bd26f11d9085328a2e1c06c90514733fe15"
1819
1744
  dependencies = [
1820
- "base64 0.22.1",
1745
+ "base64",
1821
1746
  "stellar-xdr",
1822
1747
  "thiserror",
1823
1748
  "wasmparser",
@@ -1832,33 +1757,13 @@ dependencies = [
1832
1757
  "prettyplease",
1833
1758
  "proc-macro2",
1834
1759
  "quote",
1835
- "sha2 0.10.9",
1760
+ "sha2",
1836
1761
  "soroban-spec",
1837
1762
  "stellar-xdr",
1838
1763
  "syn 2.0.108",
1839
1764
  "thiserror",
1840
1765
  ]
1841
1766
 
1842
- [[package]]
1843
- name = "soroban-spec-typescript"
1844
- version = "25.1.0"
1845
- source = "registry+https://github.com/rust-lang/crates.io-index"
1846
- checksum = "25684cb264ba39bac049ba93fc66fd241993c9aefb82d60d60417736408ec61a"
1847
- dependencies = [
1848
- "base64 0.21.7",
1849
- "heck 0.4.1",
1850
- "include_dir",
1851
- "itertools 0.10.5",
1852
- "prettyplease",
1853
- "serde",
1854
- "serde_derive",
1855
- "serde_json",
1856
- "sha2 0.9.9",
1857
- "soroban-spec",
1858
- "stellar-xdr",
1859
- "thiserror",
1860
- ]
1861
-
1862
1767
  [[package]]
1863
1768
  name = "soroban-wasmi"
1864
1769
  version = "0.31.1-soroban.20.0.1"
@@ -1928,7 +1833,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1928
1833
  checksum = "10d20dafed80076b227d4b17c0c508a4bbc4d5e4c3d4c1de7cd42242df4b1eaf"
1929
1834
  dependencies = [
1930
1835
  "arbitrary",
1931
- "base64 0.22.1",
1836
+ "base64",
1932
1837
  "cfg_eval",
1933
1838
  "crate-git-revision",
1934
1839
  "escape-bytes",
@@ -1936,7 +1841,7 @@ dependencies = [
1936
1841
  "hex",
1937
1842
  "serde",
1938
1843
  "serde_with",
1939
- "sha2 0.10.9",
1844
+ "sha2",
1940
1845
  "stellar-strkey 0.0.13",
1941
1846
  ]
1942
1847
 
@@ -2105,16 +2010,6 @@ dependencies = [
2105
2010
  "toml",
2106
2011
  ]
2107
2012
 
2108
- [[package]]
2109
- name = "ts-bindings-gen"
2110
- version = "0.0.1"
2111
- dependencies = [
2112
- "anyhow",
2113
- "base64 0.22.1",
2114
- "sha2 0.10.9",
2115
- "soroban-spec-typescript",
2116
- ]
2117
-
2118
2013
  [[package]]
2119
2014
  name = "typenum"
2120
2015
  version = "1.19.0"
package/Cargo.toml CHANGED
@@ -1,11 +1,10 @@
1
1
  [workspace]
2
2
  resolver = "2"
3
3
  members = [
4
- "contracts/*",
5
- "contracts/message-libs/*",
6
- "contracts/oapps/*",
7
- "contracts/workers/*",
8
- "tools/*",
4
+ "contracts/*",
5
+ "contracts/message-libs/*",
6
+ "contracts/oapps/*",
7
+ "contracts/workers/*",
9
8
  ]
10
9
 
11
10
  [workspace.package]
@@ -15,7 +14,6 @@ version = "0.0.1"
15
14
 
16
15
  [workspace.dependencies]
17
16
  soroban-sdk = { version = "25.1.1", features = ["hazmat-address", "hazmat-crypto"] }
18
- soroban-spec-typescript = "25.1.0" # used in tools/ts-bindings-gen
19
17
 
20
18
  # Third-party dependencies (production)
21
19
  cfg-if = { version = "1.0", default-features = false }
@@ -16,12 +16,10 @@ mod sender;
16
16
  /// Shared contract used by oapp-macros runtime tests.
17
17
  ///
18
18
  /// Notes:
19
- /// - `#[oapp]` expands to `#[common_macros::lz_contract]` + default trait impls for:
20
- /// - `oapp::oapp_core::OAppCore` (contract trait)
21
- /// - `oapp::oapp_receiver::OAppReceiver` (contract trait)
22
- /// - `oapp::oapp_options_type3::OAppOptionsType3` (contract trait)
23
- /// - `oapp::oapp_sender::OAppSenderInternal` (internal trait)
19
+ /// - `#[oapp]` generates only trait impls. User must apply `#[lz_contract]` (or similar) for contract + TTL + Auth.
20
+ /// - Default trait impls: `OAppCore`, `OAppReceiver`, `OAppOptionsType3`, `OAppSenderInternal`
24
21
  #[oapp]
22
+ #[common_macros::lz_contract]
25
23
  pub struct TestOApp;
26
24
 
27
25
  impl LzReceiveInternal for TestOApp {
@@ -76,6 +76,7 @@ impl MockEndpoint {
76
76
  }
77
77
 
78
78
  #[oapp]
79
+ #[common_macros::lz_contract]
79
80
  pub struct TestOAppSender;
80
81
 
81
82
  impl LzReceiveInternal for TestOAppSender {
@@ -94,7 +95,7 @@ impl LzReceiveInternal for TestOAppSender {
94
95
  #[contractimpl]
95
96
  impl TestOAppSender {
96
97
  pub fn init(env: Env, owner: Address, endpoint: Address) {
97
- oapp::oapp_core::initialize_oapp::<Self>(&env, &owner, &endpoint, &owner);
98
+ oapp::oapp_core::init_ownable_oapp::<Self>(&env, &owner, &endpoint, &owner);
98
99
  }
99
100
 
100
101
  pub fn quote(env: &Env, dst_eid: u32, message: &Bytes, options: &Bytes, pay_in_zro: bool) -> MessagingFee {
@@ -2,8 +2,8 @@ use soroban_sdk::{contract, contractimpl, Address, Env};
2
2
 
3
3
  mod initialization;
4
4
  mod only_auth_guard;
5
- mod two_step_transfer;
6
5
  mod ownership_transfer;
6
+ mod two_step_transfer;
7
7
 
8
8
  /// Shared contract used by ownable runtime tests.
9
9
  #[contract]
@@ -0,0 +1,28 @@
1
+ // UI (trybuild) negative test: `#[oapp]` requires a contract macro such as `#[lz_contract]`.
2
+ //
3
+ // Purpose:
4
+ // - Ensures we fail compilation when a struct uses `#[oapp]` without applying
5
+ // `#[common_macros::lz_contract]` or `#[soroban_sdk::contract]` (or similar).
6
+
7
+ use endpoint_v2::Origin;
8
+ use oapp::oapp_receiver::LzReceiveInternal;
9
+ use oapp_macros::oapp;
10
+ use soroban_sdk::{Address, Bytes, BytesN, Env};
11
+
12
+ #[oapp]
13
+ pub struct MyOApp;
14
+
15
+ impl LzReceiveInternal for MyOApp {
16
+ fn __lz_receive(
17
+ _env: &Env,
18
+ _origin: &Origin,
19
+ _guid: &BytesN<32>,
20
+ _message: &Bytes,
21
+ _extra_data: &Bytes,
22
+ _executor: &Address,
23
+ _value: i128,
24
+ ) {
25
+ }
26
+ }
27
+
28
+ fn main() {}