@layerzerolabs/protocol-stellar-v2 0.2.64 → 0.2.66

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 (48) hide show
  1. package/.turbo/turbo-build.log +230 -307
  2. package/.turbo/turbo-lint.log +175 -175
  3. package/.turbo/turbo-test.log +2047 -1975
  4. package/Cargo.lock +0 -16
  5. package/Cargo.toml +0 -1
  6. package/contracts/oapps/oft/integration-tests/extensions/test_oft_fee.rs +22 -0
  7. package/contracts/oapps/oft/integration-tests/extensions/test_pausable.rs +9 -2
  8. package/contracts/oapps/oft/integration-tests/extensions/test_rate_limiter.rs +27 -2
  9. package/contracts/oapps/oft/integration-tests/setup.rs +22 -18
  10. package/contracts/oapps/oft/integration-tests/utils.rs +81 -34
  11. package/contracts/oapps/oft/src/extensions/oft_fee.rs +13 -0
  12. package/contracts/oapps/oft/src/oft.rs +10 -2
  13. package/package.json +5 -5
  14. package/sdk/.turbo/turbo-test.log +284 -291
  15. package/sdk/dist/generated/oft.d.ts +3 -3
  16. package/sdk/dist/generated/oft.js +3 -3
  17. package/sdk/node_modules/.bin/vitest +2 -2
  18. package/sdk/package.json +2 -2
  19. package/contracts/oapps/console-oft/Cargo.toml +0 -30
  20. package/contracts/oapps/console-oft/integration-tests/extensions/mod.rs +0 -5
  21. package/contracts/oapps/console-oft/integration-tests/extensions/test_combined.rs +0 -90
  22. package/contracts/oapps/console-oft/integration-tests/extensions/test_oft_fee.rs +0 -186
  23. package/contracts/oapps/console-oft/integration-tests/extensions/test_ownership.rs +0 -161
  24. package/contracts/oapps/console-oft/integration-tests/extensions/test_pausable.rs +0 -154
  25. package/contracts/oapps/console-oft/integration-tests/extensions/test_rate_limiter.rs +0 -479
  26. package/contracts/oapps/console-oft/integration-tests/mod.rs +0 -3
  27. package/contracts/oapps/console-oft/integration-tests/setup.rs +0 -303
  28. package/contracts/oapps/console-oft/integration-tests/utils.rs +0 -685
  29. package/contracts/oapps/console-oft/src/errors.rs +0 -7
  30. package/contracts/oapps/console-oft/src/extensions/mod.rs +0 -3
  31. package/contracts/oapps/console-oft/src/extensions/oft_fee.rs +0 -239
  32. package/contracts/oapps/console-oft/src/extensions/pausable.rs +0 -185
  33. package/contracts/oapps/console-oft/src/extensions/rate_limiter.rs +0 -478
  34. package/contracts/oapps/console-oft/src/interfaces/mintable.rs +0 -14
  35. package/contracts/oapps/console-oft/src/interfaces/mod.rs +0 -3
  36. package/contracts/oapps/console-oft/src/lib.rs +0 -26
  37. package/contracts/oapps/console-oft/src/oft.rs +0 -208
  38. package/contracts/oapps/console-oft/src/oft_access_control.rs +0 -93
  39. package/contracts/oapps/console-oft/src/oft_types/lock_unlock.rs +0 -50
  40. package/contracts/oapps/console-oft/src/oft_types/mint_burn.rs +0 -50
  41. package/contracts/oapps/console-oft/src/oft_types/mod.rs +0 -24
  42. package/contracts/oapps/console-oft/src/tests/extensions/mod.rs +0 -3
  43. package/contracts/oapps/console-oft/src/tests/extensions/oft_fee.rs +0 -255
  44. package/contracts/oapps/console-oft/src/tests/extensions/pausable.rs +0 -212
  45. package/contracts/oapps/console-oft/src/tests/extensions/rate_limiter.rs +0 -992
  46. package/contracts/oapps/console-oft/src/tests/mod.rs +0 -2
  47. package/contracts/oapps/console-oft/src/tests/oft_types/lock_unlock.rs +0 -185
  48. package/contracts/oapps/console-oft/src/tests/oft_types/mod.rs +0 -1
@@ -1,212 +0,0 @@
1
- extern crate std;
2
-
3
- use crate::extensions::pausable::{OFTPausable, OFTPausableError, OFTPausableInternal};
4
- use crate::extensions::pausable::{PAUSER_ROLE, UNPAUSER_ROLE};
5
- use soroban_sdk::{contract, contractimpl, Address, Env, Symbol};
6
- use utils::auth::Auth;
7
- use utils::rbac::{grant_role_no_auth, RoleBasedAccessControl};
8
-
9
- // ============================================================================
10
- // Test Contract
11
- // ============================================================================
12
-
13
- #[contract]
14
- struct PausableTestContract;
15
-
16
- impl Auth for PausableTestContract {
17
- fn authorizer(env: &Env) -> Option<Address> {
18
- Some(env.current_contract_address())
19
- }
20
- }
21
-
22
- impl OFTPausableInternal for PausableTestContract {}
23
-
24
- #[contractimpl(contracttrait)]
25
- impl OFTPausable for PausableTestContract {}
26
-
27
- #[contractimpl(contracttrait)]
28
- impl RoleBasedAccessControl for PausableTestContract {}
29
-
30
- #[contractimpl]
31
- impl PausableTestContract {
32
- /// Test-only: grants PAUSER_ROLE and UNPAUSER_ROLE to the contract.
33
- pub fn init_roles(env: Env) {
34
- let contract_id = env.current_contract_address();
35
- grant_role_no_auth(&env, &contract_id, &Symbol::new(&env, PAUSER_ROLE), &contract_id);
36
- grant_role_no_auth(&env, &contract_id, &Symbol::new(&env, UNPAUSER_ROLE), &contract_id);
37
- }
38
-
39
- /// Test-only: calls __assert_not_paused for the given Destination ID.
40
- pub fn assert_not_paused(env: Env, id: u32) {
41
- <Self as OFTPausableInternal>::__assert_not_paused(&env, id as u128);
42
- }
43
- }
44
-
45
- // ============================================================================
46
- // Test Setup
47
- // ============================================================================
48
-
49
- struct TestSetup {
50
- #[allow(dead_code)]
51
- env: Env,
52
- client: PausableTestContractClient<'static>,
53
- contract_id: Address,
54
- }
55
-
56
- fn setup() -> TestSetup {
57
- let env = Env::default();
58
- env.mock_all_auths_allowing_non_root_auth();
59
-
60
- let contract_id = env.register(PausableTestContract, ());
61
- let client = PausableTestContractClient::new(&env, &contract_id);
62
- client.init_roles();
63
- TestSetup { env, client, contract_id }
64
- }
65
-
66
- fn id_0() -> u128 {
67
- 0u128
68
- }
69
-
70
- // ============================================================================
71
- // Initial State Tests
72
- // ============================================================================
73
-
74
- #[test]
75
- fn test_initial_state_is_not_paused() {
76
- let TestSetup { client, .. } = setup();
77
-
78
- assert!(!client.default_paused());
79
- assert!(!client.is_paused(&id_0()));
80
- }
81
-
82
- // ============================================================================
83
- // Set default paused / set_paused Tests
84
- // ============================================================================
85
-
86
- #[test]
87
- fn test_set_default_paused_sets_paused() {
88
- let TestSetup { client, contract_id, .. } = setup();
89
-
90
- client.set_default_paused(&true, &contract_id);
91
- assert!(client.default_paused());
92
- assert!(client.is_paused(&id_0()));
93
- }
94
-
95
- #[test]
96
- fn test_set_default_paused_unpause_after_pausing() {
97
- let TestSetup { client, contract_id, .. } = setup();
98
-
99
- client.set_default_paused(&true, &contract_id);
100
- assert!(client.default_paused());
101
-
102
- client.set_default_paused(&false, &contract_id);
103
- assert!(!client.default_paused());
104
- assert!(!client.is_paused(&id_0()));
105
- }
106
-
107
- #[test]
108
- fn test_set_default_paused_idempotent_when_unpaused() {
109
- let TestSetup { client, contract_id, .. } = setup();
110
-
111
- // Initially not paused, set_default_paused(false) should fail (idempotent)
112
- let res = client.try_set_default_paused(&false, &contract_id);
113
- assert_eq!(res.err().unwrap().ok().unwrap(), OFTPausableError::PauseStateIdempotent.into());
114
- }
115
-
116
- #[test]
117
- fn test_set_default_paused_idempotent_when_paused() {
118
- let TestSetup { client, contract_id, .. } = setup();
119
-
120
- client.set_default_paused(&true, &contract_id);
121
-
122
- // Already paused, set_default_paused(true) again should fail
123
- let res = client.try_set_default_paused(&true, &contract_id);
124
- assert_eq!(res.err().unwrap().ok().unwrap(), OFTPausableError::PauseStateIdempotent.into());
125
- }
126
-
127
- // ============================================================================
128
- // Per-id set_paused Tests
129
- // ============================================================================
130
-
131
- #[test]
132
- fn test_set_paused_per_id_override() {
133
- let TestSetup { client, contract_id, .. } = setup();
134
-
135
- let id_100 = 100u128;
136
- client.set_paused(&id_100, &Some(true), &contract_id);
137
-
138
- // Destination ID 100 is paused via override; default still unpaused; Destination ID 0 uses default
139
- assert!(!client.default_paused());
140
- assert!(client.is_paused(&id_100));
141
- assert!(!client.is_paused(&id_0()));
142
- assert_eq!(client.pause_config(&id_100), Some(true));
143
- }
144
-
145
- #[test]
146
- fn test_set_paused_per_id_unpaused_override_when_default_paused() {
147
- let TestSetup { client, contract_id, .. } = setup();
148
-
149
- let id_100 = 100u128;
150
- client.set_default_paused(&true, &contract_id);
151
-
152
- // Override Destination ID 100 to unpaused while default is paused
153
- client.set_paused(&id_100, &Some(false), &contract_id);
154
-
155
- assert!(client.default_paused());
156
- assert!(!client.is_paused(&id_100));
157
- assert!(client.is_paused(&id_0()));
158
- }
159
-
160
- #[test]
161
- fn test_set_paused_per_id_removal_falls_back_to_default() {
162
- let TestSetup { client, contract_id, .. } = setup();
163
-
164
- let id_100 = 100u128;
165
-
166
- // Set per-ID override, then remove it
167
- client.set_paused(&id_100, &Some(true), &contract_id);
168
- assert!(client.is_paused(&id_100));
169
- assert_eq!(client.pause_config(&id_100), Some(true));
170
-
171
- client.set_paused(&id_100, &None, &contract_id);
172
- assert!(!client.is_paused(&id_100));
173
- assert_eq!(client.pause_config(&id_100), None);
174
- }
175
-
176
- // ============================================================================
177
- // Assert Not Paused Tests
178
- // ============================================================================
179
-
180
- #[test]
181
- fn test_assert_not_paused_succeeds_when_not_paused() {
182
- let TestSetup { client, .. } = setup();
183
-
184
- client.assert_not_paused(&0);
185
- }
186
-
187
- #[test]
188
- fn test_assert_not_paused_fails_when_paused() {
189
- let TestSetup { client, contract_id, .. } = setup();
190
-
191
- client.set_default_paused(&true, &contract_id);
192
-
193
- let res = client.try_assert_not_paused(&0);
194
- assert_eq!(res.err().unwrap().ok().unwrap(), OFTPausableError::Paused.into());
195
- }
196
-
197
- // ============================================================================
198
- // Toggle Tests
199
- // ============================================================================
200
-
201
- #[test]
202
- fn test_set_default_paused_toggle_multiple_times() {
203
- let TestSetup { client, contract_id, .. } = setup();
204
-
205
- for _ in 0..3 {
206
- assert!(!client.default_paused());
207
- client.set_default_paused(&true, &contract_id);
208
- assert!(client.default_paused());
209
- client.set_default_paused(&false, &contract_id);
210
- }
211
- assert!(!client.default_paused());
212
- }