@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.
- package/.turbo/turbo-build.log +230 -307
- package/.turbo/turbo-lint.log +175 -175
- package/.turbo/turbo-test.log +2047 -1975
- package/Cargo.lock +0 -16
- package/Cargo.toml +0 -1
- package/contracts/oapps/oft/integration-tests/extensions/test_oft_fee.rs +22 -0
- package/contracts/oapps/oft/integration-tests/extensions/test_pausable.rs +9 -2
- package/contracts/oapps/oft/integration-tests/extensions/test_rate_limiter.rs +27 -2
- package/contracts/oapps/oft/integration-tests/setup.rs +22 -18
- package/contracts/oapps/oft/integration-tests/utils.rs +81 -34
- package/contracts/oapps/oft/src/extensions/oft_fee.rs +13 -0
- package/contracts/oapps/oft/src/oft.rs +10 -2
- package/package.json +5 -5
- package/sdk/.turbo/turbo-test.log +284 -291
- package/sdk/dist/generated/oft.d.ts +3 -3
- package/sdk/dist/generated/oft.js +3 -3
- package/sdk/node_modules/.bin/vitest +2 -2
- package/sdk/package.json +2 -2
- package/contracts/oapps/console-oft/Cargo.toml +0 -30
- package/contracts/oapps/console-oft/integration-tests/extensions/mod.rs +0 -5
- package/contracts/oapps/console-oft/integration-tests/extensions/test_combined.rs +0 -90
- package/contracts/oapps/console-oft/integration-tests/extensions/test_oft_fee.rs +0 -186
- package/contracts/oapps/console-oft/integration-tests/extensions/test_ownership.rs +0 -161
- package/contracts/oapps/console-oft/integration-tests/extensions/test_pausable.rs +0 -154
- package/contracts/oapps/console-oft/integration-tests/extensions/test_rate_limiter.rs +0 -479
- package/contracts/oapps/console-oft/integration-tests/mod.rs +0 -3
- package/contracts/oapps/console-oft/integration-tests/setup.rs +0 -303
- package/contracts/oapps/console-oft/integration-tests/utils.rs +0 -685
- package/contracts/oapps/console-oft/src/errors.rs +0 -7
- package/contracts/oapps/console-oft/src/extensions/mod.rs +0 -3
- package/contracts/oapps/console-oft/src/extensions/oft_fee.rs +0 -239
- package/contracts/oapps/console-oft/src/extensions/pausable.rs +0 -185
- package/contracts/oapps/console-oft/src/extensions/rate_limiter.rs +0 -478
- package/contracts/oapps/console-oft/src/interfaces/mintable.rs +0 -14
- package/contracts/oapps/console-oft/src/interfaces/mod.rs +0 -3
- package/contracts/oapps/console-oft/src/lib.rs +0 -26
- package/contracts/oapps/console-oft/src/oft.rs +0 -208
- package/contracts/oapps/console-oft/src/oft_access_control.rs +0 -93
- package/contracts/oapps/console-oft/src/oft_types/lock_unlock.rs +0 -50
- package/contracts/oapps/console-oft/src/oft_types/mint_burn.rs +0 -50
- package/contracts/oapps/console-oft/src/oft_types/mod.rs +0 -24
- package/contracts/oapps/console-oft/src/tests/extensions/mod.rs +0 -3
- package/contracts/oapps/console-oft/src/tests/extensions/oft_fee.rs +0 -255
- package/contracts/oapps/console-oft/src/tests/extensions/pausable.rs +0 -212
- package/contracts/oapps/console-oft/src/tests/extensions/rate_limiter.rs +0 -992
- package/contracts/oapps/console-oft/src/tests/mod.rs +0 -2
- package/contracts/oapps/console-oft/src/tests/oft_types/lock_unlock.rs +0 -185
- 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
|
-
}
|