@layerzerolabs/protocol-stellar-v2 0.2.15 → 0.2.18
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 +350 -309
- package/.turbo/turbo-lint.log +146 -108
- package/.turbo/turbo-test.log +1423 -1238
- package/Cargo.lock +12 -0
- package/Cargo.toml +3 -0
- package/contracts/ERROR_SPEC.md +44 -0
- package/contracts/common-macros/src/auth.rs +113 -0
- package/contracts/common-macros/src/contract_ttl.rs +84 -0
- package/contracts/common-macros/src/lib.rs +181 -30
- package/contracts/common-macros/src/lz_contract.rs +83 -0
- package/contracts/common-macros/src/tests/{ownable.rs → auth.rs} +48 -15
- package/contracts/common-macros/src/tests/contract_ttl.rs +662 -0
- package/contracts/common-macros/src/tests/mod.rs +2 -2
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +24 -0
- package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__ownable__snapshot_only_owner_preserves_function_signature.snap → common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap} +4 -4
- package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__contract_impl__snapshot_generated_contract_impl_code.snap → common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap} +3 -3
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +69 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +7 -21
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +2 -2
- package/contracts/common-macros/src/ttl_configurable.rs +19 -34
- package/contracts/common-macros/src/ttl_extendable.rs +36 -0
- package/contracts/common-macros/src/upgradeable.rs +5 -5
- package/contracts/common-macros/src/utils.rs +9 -0
- package/contracts/endpoint-v2/src/constants.rs +4 -4
- package/contracts/endpoint-v2/src/endpoint_v2.rs +38 -40
- package/contracts/endpoint-v2/src/errors.rs +4 -3
- package/contracts/endpoint-v2/src/events.rs +1 -1
- package/contracts/endpoint-v2/src/message_lib_manager.rs +18 -5
- package/contracts/endpoint-v2/src/messaging_channel.rs +11 -1
- package/contracts/endpoint-v2/src/messaging_composer.rs +11 -1
- package/contracts/endpoint-v2/src/storage.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +3 -3
- package/contracts/endpoint-v2/src/tests/endpoint_v2/quote.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +3 -3
- package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +1 -1
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +1 -1
- package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +4 -4
- package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +1 -1
- package/contracts/layerzero-views/src/layerzero_view.rs +3 -6
- package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +2 -2
- package/contracts/macro-integration-tests/tests/runtime/ownable/{only_owner_guard.rs → only_auth_guard.rs} +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -1
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.rs → only_auth_missing_env.rs} +3 -3
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.stderr → only_auth_missing_env.stderr} +4 -4
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +2 -3
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/{only_owner_env_param_variants.rs → only_auth_env_param_variants.rs} +9 -9
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/minimal_contract.rs +6 -6
- package/contracts/message-libs/message-lib-common/src/errors.rs +7 -2
- package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +3 -3
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +1 -2
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +1 -2
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +9 -9
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +1 -1
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +1 -1
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/split_worker_options.rs +2 -2
- package/contracts/message-libs/simple-message-lib/src/simple_message_lib.rs +7 -9
- package/contracts/message-libs/treasury/src/errors.rs +2 -2
- package/contracts/message-libs/treasury/src/events.rs +1 -1
- package/contracts/message-libs/treasury/src/interfaces/zro_fee_lib.rs +2 -2
- package/contracts/message-libs/treasury/src/storage.rs +1 -1
- package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +1 -1
- package/contracts/message-libs/treasury/src/treasury.rs +14 -16
- package/contracts/message-libs/uln-302/src/receive_uln.rs +13 -2
- package/contracts/message-libs/uln-302/src/send_uln.rs +23 -3
- package/contracts/message-libs/uln-302/src/uln302.rs +6 -24
- package/contracts/oapps/counter/Cargo.toml +14 -1
- package/contracts/oapps/counter/integration_tests/mod.rs +4 -1
- package/contracts/oapps/counter/integration_tests/{setup.rs → setup_sml.rs} +48 -80
- package/contracts/oapps/counter/integration_tests/setup_uln.rs +997 -0
- package/contracts/oapps/counter/integration_tests/signing.rs +62 -0
- package/contracts/oapps/counter/integration_tests/test_with_sml.rs +24 -55
- package/contracts/oapps/counter/integration_tests/test_with_uln.rs +314 -0
- package/contracts/oapps/counter/integration_tests/utils.rs +196 -53
- package/contracts/oapps/counter/src/counter.rs +67 -43
- package/contracts/oapps/counter/src/tests/mod.rs +0 -13
- package/contracts/oapps/counter/src/tests/test_counter.rs +5 -7
- package/contracts/oapps/oapp/src/errors.rs +5 -1
- package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +93 -78
- package/contracts/oapps/oapp/src/oapp_core.rs +36 -21
- package/contracts/oapps/oapp/src/oapp_options_type3.rs +48 -12
- package/contracts/oapps/oapp/src/oapp_receiver.rs +106 -41
- package/contracts/oapps/oapp/src/oapp_sender.rs +26 -34
- package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +9 -8
- package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +25 -17
- package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +7 -7
- package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +14 -15
- package/contracts/oapps/oapp-macros/src/generators.rs +128 -0
- package/contracts/oapps/oapp-macros/src/lib.rs +113 -56
- package/contracts/oapps/oft/integration-tests/setup.rs +25 -7
- package/contracts/oapps/oft/src/errors.rs +6 -1
- package/contracts/oapps/oft/src/extensions/oft_fee.rs +8 -8
- package/contracts/oapps/oft/src/extensions/pausable.rs +4 -4
- package/contracts/oapps/oft/src/extensions/rate_limiter.rs +5 -5
- package/contracts/oapps/oft/src/lib.rs +4 -2
- package/contracts/oapps/oft/src/oft.rs +24 -64
- package/contracts/oapps/oft/src/oft_impl.rs +201 -0
- package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +1 -3
- package/contracts/oapps/oft/src/oft_types/mint_burn.rs +1 -4
- package/contracts/oapps/oft/src/storage.rs +2 -0
- package/contracts/oapps/oft/src/tests/extensions/setup.rs +36 -22
- package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +5 -3
- package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +5 -3
- package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +5 -3
- package/contracts/oapps/oft/src/tests/test_decimals.rs +2 -2
- package/contracts/oapps/oft/src/tests/test_oft_msg_codec.rs +1 -2
- package/contracts/oapps/oft/src/tests/test_utils.rs +45 -23
- package/contracts/oapps/oft/src/types.rs +20 -0
- package/contracts/oapps/oft-std/integration-tests/setup.rs +4 -2
- package/contracts/oapps/oft-std/src/oft.rs +24 -6
- package/contracts/upgrader/src/lib.rs +4 -4
- package/contracts/utils/src/auth.rs +44 -0
- package/contracts/utils/src/errors.rs +27 -5
- package/contracts/utils/src/lib.rs +3 -0
- package/contracts/utils/src/multisig.rs +211 -0
- package/contracts/utils/src/ownable.rs +12 -10
- package/contracts/utils/src/tests/buffer_reader.rs +6 -6
- package/contracts/utils/src/tests/buffer_writer.rs +6 -6
- package/contracts/utils/src/tests/bytes_ext.rs +2 -4
- package/contracts/utils/src/tests/mod.rs +1 -0
- package/contracts/utils/src/tests/multisig.rs +731 -0
- package/contracts/utils/src/tests/option_ext.rs +2 -5
- package/contracts/utils/src/tests/ownable.rs +16 -5
- package/contracts/utils/src/tests/ttl_configurable.rs +27 -16
- package/contracts/utils/src/tests/upgradeable.rs +4 -2
- package/contracts/utils/src/ttl_configurable.rs +23 -8
- package/contracts/utils/src/ttl_extendable.rs +27 -0
- package/contracts/utils/src/upgradeable.rs +2 -0
- package/contracts/workers/dvn/Cargo.toml +1 -1
- package/contracts/workers/dvn/src/auth.rs +7 -7
- package/contracts/workers/dvn/src/dvn.rs +10 -38
- package/contracts/workers/dvn/src/errors.rs +0 -7
- package/contracts/workers/dvn/src/events.rs +1 -14
- package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
- package/contracts/workers/dvn/src/interfaces/mod.rs +0 -2
- package/contracts/workers/dvn/src/storage.rs +3 -13
- package/contracts/workers/dvn/src/tests/auth.rs +4 -4
- package/contracts/workers/dvn/src/tests/dvn.rs +1 -2
- package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +7 -8
- package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +11 -8
- package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +11 -12
- package/contracts/workers/dvn/src/tests/setup.rs +5 -5
- package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +3 -6
- package/contracts/workers/executor/src/auth.rs +80 -16
- package/contracts/workers/executor/src/executor.rs +5 -31
- package/contracts/workers/executor/src/storage.rs +2 -9
- package/contracts/workers/executor-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +3 -6
- package/contracts/workers/executor-helper/Cargo.toml +1 -1
- package/contracts/workers/executor-helper/src/executor_helper.rs +53 -73
- package/contracts/workers/price-feed/Cargo.toml +1 -1
- package/contracts/workers/price-feed/src/price_feed.rs +7 -10
- package/contracts/workers/worker/src/errors.rs +4 -0
- package/contracts/workers/worker/src/tests/worker.rs +7 -6
- package/contracts/workers/worker/src/worker.rs +20 -16
- package/package.json +8 -5
- package/sdk/.turbo/turbo-build.log +1 -0
- package/sdk/.turbo/turbo-test.log +1009 -0
- package/sdk/dist/generated/bml.d.ts +65 -8
- package/sdk/dist/generated/bml.js +70 -34
- package/sdk/dist/generated/counter.d.ts +167 -42
- package/sdk/dist/generated/counter.js +86 -45
- package/sdk/dist/generated/dvn.d.ts +282 -229
- package/sdk/dist/generated/dvn.js +119 -81
- package/sdk/dist/generated/dvn_fee_lib.d.ts +142 -67
- package/sdk/dist/generated/dvn_fee_lib.js +64 -24
- package/sdk/dist/generated/endpoint.d.ts +97 -22
- package/sdk/dist/generated/endpoint.js +75 -37
- package/sdk/dist/generated/executor.d.ts +117 -85
- package/sdk/dist/generated/executor.js +102 -59
- package/sdk/dist/generated/executor_fee_lib.d.ts +162 -78
- package/sdk/dist/generated/executor_fee_lib.js +104 -57
- package/sdk/dist/generated/executor_helper.d.ts +133 -21
- package/sdk/dist/generated/executor_helper.js +99 -50
- package/sdk/dist/generated/oft_std.d.ts +233 -55
- package/sdk/dist/generated/oft_std.js +99 -54
- package/sdk/dist/generated/price_feed.d.ts +142 -67
- package/sdk/dist/generated/price_feed.js +64 -24
- package/sdk/dist/generated/sml.d.ts +113 -32
- package/sdk/dist/generated/sml.js +93 -49
- package/sdk/dist/generated/treasury.d.ts +896 -0
- package/sdk/dist/generated/treasury.js +219 -0
- package/sdk/dist/generated/uln302.d.ts +113 -32
- package/sdk/dist/generated/uln302.js +93 -49
- package/sdk/dist/generated/upgrader.d.ts +2 -2
- package/sdk/dist/generated/upgrader.js +1 -1
- package/sdk/dist/index.d.ts +2 -0
- package/sdk/dist/index.js +3 -0
- package/sdk/dist/wasm/blocked-message-lib.d.ts +1 -0
- package/sdk/dist/wasm/blocked-message-lib.js +2 -0
- package/sdk/dist/wasm/counter.d.ts +1 -0
- package/sdk/dist/wasm/counter.js +2 -0
- package/sdk/dist/wasm/dvn-fee-lib.d.ts +1 -0
- package/sdk/dist/wasm/dvn-fee-lib.js +2 -0
- package/sdk/dist/wasm/dvn.d.ts +1 -0
- package/sdk/dist/wasm/dvn.js +2 -0
- package/sdk/dist/wasm/endpoint-v2.d.ts +1 -0
- package/sdk/dist/wasm/endpoint-v2.js +2 -0
- package/sdk/dist/wasm/executor-fee-lib.d.ts +1 -0
- package/sdk/dist/wasm/executor-fee-lib.js +2 -0
- package/sdk/dist/wasm/executor-helper.d.ts +1 -0
- package/sdk/dist/wasm/executor-helper.js +2 -0
- package/sdk/dist/wasm/executor.d.ts +1 -0
- package/sdk/dist/wasm/executor.js +2 -0
- package/sdk/dist/wasm/layerzero-views.d.ts +1 -0
- package/sdk/dist/wasm/layerzero-views.js +2 -0
- package/sdk/dist/wasm/oft-std.d.ts +1 -0
- package/sdk/dist/wasm/oft-std.js +2 -0
- package/sdk/dist/wasm/price-feed.d.ts +1 -0
- package/sdk/dist/wasm/price-feed.js +2 -0
- package/sdk/dist/wasm/simple-message-lib.d.ts +1 -0
- package/sdk/dist/wasm/simple-message-lib.js +2 -0
- package/sdk/dist/wasm/treasury.d.ts +1 -0
- package/sdk/dist/wasm/treasury.js +2 -0
- package/sdk/dist/wasm/uln302.d.ts +1 -0
- package/sdk/dist/wasm/uln302.js +2 -0
- package/sdk/dist/wasm/upgrader.d.ts +1 -0
- package/sdk/dist/wasm/upgrader.js +2 -0
- package/sdk/dist/wasm.d.ts +15 -0
- package/sdk/dist/wasm.js +15 -0
- package/sdk/package.json +4 -2
- package/sdk/src/index.ts +4 -0
- package/sdk/test/counter-sml.test.ts +376 -0
- package/sdk/test/counter-uln.test.ts +493 -0
- package/sdk/test/{oft.test.ts → oft-sml.test.ts} +185 -310
- package/sdk/test/suites/constants.ts +22 -2
- package/sdk/test/suites/globalSetup.ts +450 -0
- package/sdk/test/suites/localnet.ts +23 -6
- package/sdk/test/upgrader.test.ts +7 -16
- package/sdk/test/utils.ts +558 -85
- package/sdk/vitest.config.ts +21 -0
- package/tools/ts-bindings-gen/src/main.rs +1 -0
- package/turbo.json +2 -0
- package/contracts/common-macros/src/contract_impl.rs +0 -52
- package/contracts/common-macros/src/ownable.rs +0 -41
- package/contracts/common-macros/src/tests/contract_impl.rs +0 -386
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ownable__snapshot_generated_ownable_code.snap +0 -12
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/extend_instance_ttl.rs +0 -50
- package/contracts/oapps/oapp-macros/src/oapp_core.rs +0 -41
- package/contracts/oapps/oapp-macros/src/oapp_full.rs +0 -21
- package/contracts/oapps/oapp-macros/src/oapp_options_type3.rs +0 -31
- package/contracts/oapps/oapp-macros/src/oapp_receiver.rs +0 -48
- package/contracts/oapps/oapp-macros/src/oapp_sender.rs +0 -21
- package/contracts/oapps/oapp-macros/src/util.rs +0 -107
- package/contracts/oapps/oft/src/constants.rs +0 -5
- package/contracts/oapps/oft/src/default_oft_impl.rs +0 -152
- package/contracts/workers/dvn/src/interfaces/multisig.rs +0 -56
- package/contracts/workers/dvn/src/multisig.rs +0 -157
- package/sdk/test/index.test.ts +0 -375
- /package/sdk/test/suites/{testUpgradeable.ts → dummyContractClient.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
use common_macros::{contract_impl,
|
|
2
|
-
use soroban_sdk::{assert_with_error,
|
|
1
|
+
use common_macros::{contract_impl, lz_contract, only_auth};
|
|
2
|
+
use soroban_sdk::{assert_with_error, panic_with_error, Address, Env, Vec};
|
|
3
3
|
use utils::upgradeable::UpgradeableInternal;
|
|
4
4
|
use worker::{FeeEstimate, ILayerZeroPriceFeed, Price};
|
|
5
5
|
|
|
@@ -10,10 +10,7 @@ use crate::{
|
|
|
10
10
|
types::{ArbitrumPriceExt, ModelType, SetEidToModelTypeParam, UpdatePrice, UpdatePriceExt},
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
#[
|
|
14
|
-
#[ownable]
|
|
15
|
-
#[ttl_configurable]
|
|
16
|
-
#[upgradeable]
|
|
13
|
+
#[lz_contract(upgradeable)]
|
|
17
14
|
pub struct LzPriceFeed;
|
|
18
15
|
|
|
19
16
|
#[contract_impl]
|
|
@@ -79,7 +76,7 @@ impl LzPriceFeed {
|
|
|
79
76
|
// ========================================================================
|
|
80
77
|
|
|
81
78
|
/// Set price updater status (owner only)
|
|
82
|
-
#[
|
|
79
|
+
#[only_auth]
|
|
83
80
|
pub fn set_price_updater(env: &Env, updater: &Address, active: bool) {
|
|
84
81
|
if active {
|
|
85
82
|
PriceFeedStorage::set_price_updater(env, updater, &true);
|
|
@@ -90,20 +87,20 @@ impl LzPriceFeed {
|
|
|
90
87
|
}
|
|
91
88
|
|
|
92
89
|
/// Set the price ratio denominator (owner only)
|
|
93
|
-
#[
|
|
90
|
+
#[only_auth]
|
|
94
91
|
pub fn set_price_ratio_denominator(env: &Env, denominator: u128) {
|
|
95
92
|
assert_with_error!(env, denominator > 0, PriceFeedError::InvalidDenominator);
|
|
96
93
|
PriceFeedStorage::set_price_ratio_denominator(env, &denominator);
|
|
97
94
|
}
|
|
98
95
|
|
|
99
96
|
/// Set the Arbitrum compression percentage (owner only)
|
|
100
|
-
#[
|
|
97
|
+
#[only_auth]
|
|
101
98
|
pub fn set_arbitrum_compression_percent(env: &Env, compression_percent: u128) {
|
|
102
99
|
PriceFeedStorage::set_arbitrum_compression_percent(env, &compression_percent);
|
|
103
100
|
}
|
|
104
101
|
|
|
105
102
|
/// Set the fee model type for destination EIDs (owner only)
|
|
106
|
-
#[
|
|
103
|
+
#[only_auth]
|
|
107
104
|
pub fn set_eid_to_model_type(env: &Env, params: &Vec<SetEidToModelTypeParam>) {
|
|
108
105
|
for param in params.iter() {
|
|
109
106
|
PriceFeedStorage::set_eid_to_model_type(env, param.dst_eid, ¶m.model_type);
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
use super::setup::{bare_worker, TestSetup, WorkerTester};
|
|
2
|
-
use crate::
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
use crate::{
|
|
3
|
+
events::{
|
|
4
|
+
Paused, SetAdmin, SetAllowlist, SetDefaultMultiplierBps, SetDenylist, SetDepositAddress, SetPriceFeed,
|
|
5
|
+
SetSupportedMessageLib, SetSupportedOptionTypes, SetWorkerFeeLib, Unpaused,
|
|
6
|
+
},
|
|
7
|
+
init_worker,
|
|
5
8
|
};
|
|
6
|
-
use
|
|
7
|
-
use soroban_sdk::testutils::Address as _;
|
|
8
|
-
use soroban_sdk::{vec, Address, Bytes, Env, IntoVal};
|
|
9
|
+
use soroban_sdk::{testutils::Address as _, vec, Address, Bytes, Env, IntoVal};
|
|
9
10
|
use utils::testing_utils::assert_event;
|
|
10
11
|
|
|
11
12
|
// pause
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
use soroban_sdk::{assert_with_error, contracttrait, panic_with_error, Address, Bytes, Env, Vec};
|
|
2
|
-
use utils::{
|
|
3
|
-
option_ext::OptionExt,
|
|
4
|
-
ownable::{enforce_owner_auth, require_owner_auth, Ownable},
|
|
5
|
-
};
|
|
6
|
-
|
|
7
1
|
use crate::{
|
|
8
2
|
errors::WorkerError,
|
|
9
3
|
events::{
|
|
@@ -12,10 +6,20 @@ use crate::{
|
|
|
12
6
|
},
|
|
13
7
|
storage::WorkerStorage,
|
|
14
8
|
};
|
|
9
|
+
use common_macros::contract_trait;
|
|
10
|
+
use soroban_sdk::{assert_with_error, panic_with_error, Address, Bytes, Env, Vec};
|
|
11
|
+
use utils::{
|
|
12
|
+
auth::{enforce_auth, require_auth, Auth},
|
|
13
|
+
option_ext::OptionExt,
|
|
14
|
+
};
|
|
15
15
|
|
|
16
16
|
/// Worker interface providing common functionality for LayerZero workers.
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
///
|
|
18
|
+
/// Requires the `Auth` trait to be implemented, which can be provided by either:
|
|
19
|
+
/// - `#[ownable]` macro for single-owner contracts (e.g., Executor)
|
|
20
|
+
/// - `Multisig` trait for multisig-controlled contracts (e.g., DVN)
|
|
21
|
+
#[contract_trait]
|
|
22
|
+
pub trait Worker: Auth {
|
|
19
23
|
// ========================================================================
|
|
20
24
|
// Manager Functions
|
|
21
25
|
// ========================================================================
|
|
@@ -28,14 +32,14 @@ pub trait Worker: Ownable {
|
|
|
28
32
|
/// # Arguments
|
|
29
33
|
/// * `paused` - `true` to pause, `false` to unpause
|
|
30
34
|
fn set_paused(env: &Env, paused: bool) {
|
|
31
|
-
let
|
|
35
|
+
let authorizer = enforce_auth::<Self>(env);
|
|
32
36
|
assert_with_error!(env, Self::paused(env) != paused, WorkerError::PauseStatusUnchanged);
|
|
33
37
|
|
|
34
38
|
WorkerStorage::set_paused(env, &paused);
|
|
35
39
|
if paused {
|
|
36
|
-
Paused { pauser:
|
|
40
|
+
Paused { pauser: authorizer }.publish(env);
|
|
37
41
|
} else {
|
|
38
|
-
Unpaused { unpauser:
|
|
42
|
+
Unpaused { unpauser: authorizer }.publish(env);
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
|
|
@@ -48,7 +52,7 @@ pub trait Worker: Ownable {
|
|
|
48
52
|
/// * `message_lib` - The message library contract address
|
|
49
53
|
/// * `supported` - `true` to add support, `false` to remove support
|
|
50
54
|
fn set_supported_message_lib(env: &Env, message_lib: &Address, supported: bool) {
|
|
51
|
-
|
|
55
|
+
require_auth::<Self>(env);
|
|
52
56
|
set_message_lib_no_auth::<Self>(env, message_lib, supported);
|
|
53
57
|
}
|
|
54
58
|
|
|
@@ -62,7 +66,7 @@ pub trait Worker: Ownable {
|
|
|
62
66
|
/// * `oapp` - The OApp contract address
|
|
63
67
|
/// * `allowed` - `true` to add to allowlist, `false` to remove
|
|
64
68
|
fn set_allowlist(env: &Env, oapp: &Address, allowed: bool) {
|
|
65
|
-
|
|
69
|
+
require_auth::<Self>(env);
|
|
66
70
|
|
|
67
71
|
let is_on_list = Self::is_on_allowlist(env, oapp);
|
|
68
72
|
if allowed {
|
|
@@ -92,7 +96,7 @@ pub trait Worker: Ownable {
|
|
|
92
96
|
/// * `oapp` - The OApp contract address
|
|
93
97
|
/// * `denied` - `true` to add to denylist, `false` to remove
|
|
94
98
|
fn set_denylist(env: &Env, oapp: &Address, denied: bool) {
|
|
95
|
-
|
|
99
|
+
require_auth::<Self>(env);
|
|
96
100
|
let is_on_list = Self::is_on_denylist(env, oapp);
|
|
97
101
|
|
|
98
102
|
if denied {
|
|
@@ -369,13 +373,13 @@ pub fn assert_supported_message_lib<T: Worker>(env: &Env, message_lib: &Address)
|
|
|
369
373
|
// Admin Setter Functions with authentication
|
|
370
374
|
// ============================================================================================
|
|
371
375
|
|
|
372
|
-
/// Sets admin status for an address by owner.
|
|
376
|
+
/// Sets admin status for an address by authorizer (owner/multisig).
|
|
373
377
|
///
|
|
374
378
|
/// # Arguments
|
|
375
379
|
/// * `admin` - The address to set admin status for
|
|
376
380
|
/// * `active` - `true` to add admin, `false` to remove
|
|
377
381
|
pub fn set_admin_by_owner<T: Worker>(env: &Env, admin: &Address, active: bool) {
|
|
378
|
-
|
|
382
|
+
require_auth::<T>(env);
|
|
379
383
|
set_admin_no_auth::<T>(env, admin, active);
|
|
380
384
|
}
|
|
381
385
|
|
package/package.json
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerzerolabs/protocol-stellar-v2",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.18",
|
|
4
4
|
"private": false,
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@types/node": "^22.18.6",
|
|
7
7
|
"tsx": "^4.19.3",
|
|
8
8
|
"typescript": "^5.8.2",
|
|
9
|
-
"@layerzerolabs/common-node-utils": "0.2.
|
|
10
|
-
"@layerzerolabs/vm-tooling-stellar": "0.2.
|
|
9
|
+
"@layerzerolabs/common-node-utils": "0.2.18",
|
|
10
|
+
"@layerzerolabs/vm-tooling-stellar": "0.2.18"
|
|
11
11
|
},
|
|
12
12
|
"publishConfig": {
|
|
13
13
|
"access": "restricted",
|
|
14
14
|
"registry": "https://registry.npmjs.org/"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
|
-
"build": "pnpm build:contracts && pnpm generate:sdk",
|
|
18
|
-
"build:contracts": "pnpm exec lz-tool stellar contract build",
|
|
17
|
+
"build": "pnpm build:contracts:sandbox && pnpm generate:sdk && pnpm build:wasm",
|
|
18
|
+
"build:contracts:mainnet": "pnpm exec lz-tool stellar contract build --features mainnet",
|
|
19
|
+
"build:contracts:sandbox": "pnpm exec lz-tool stellar contract build --features sandbox",
|
|
20
|
+
"build:contracts:testnet": "pnpm exec lz-tool stellar contract build --features testnet",
|
|
21
|
+
"build:wasm": "lz-tool extra stellar build-typescript-sdk target sdk/src",
|
|
19
22
|
"format": "pnpm exec lz-tool --script \"cargo fmt\" stellar",
|
|
20
23
|
"generate:sdk": "pnpm exec lz-tool --script \"cargo run -p ts-bindings-gen\" stellar",
|
|
21
24
|
"lint": "pnpm exec lz-tool --script \"cargo clippy -- -D warnings\" stellar",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
WARN Issue while reading "/home/runner/work/monorepo-internal/monorepo-internal/.npmrc". Failed to replace env in config: ${NPM_TOKEN}
|
|
1
2
|
|
|
2
3
|
> @layerzerolabs/lz-v2-stellar-sdk@0.0.1 build /home/runner/work/monorepo-internal/monorepo-internal/contracts/protocol/stellar/sdk
|
|
3
4
|
> tsc
|