@layerzerolabs/protocol-stellar-v2 0.2.121 → 0.2.122
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/Cargo.toml +22 -37
- package/docs/error-spec.md +24 -24
- package/docs/layerzero-v2-on-stellar.md +8 -6
- package/docs/oapp-guide.md +2 -402
- package/docs/oft-guide.md +2 -401
- package/{contracts/endpoint-v2 → endpoint-v2}/Cargo.toml +3 -2
- package/{contracts/layerzero-views → layerzero-views}/Cargo.toml +1 -6
- package/{contracts/message-libs → message-libs}/blocked-message-lib/Cargo.toml +0 -1
- package/{contracts/message-libs → message-libs}/message-lib-common/Cargo.toml +2 -2
- package/{contracts/message-libs → message-libs}/simple-message-lib/Cargo.toml +1 -2
- package/{contracts/message-libs → message-libs}/treasury/Cargo.toml +1 -2
- package/{contracts/message-libs → message-libs}/uln-302/Cargo.toml +3 -2
- package/package.json +32 -15
- package/rustfmt.toml +0 -2
- package/{contracts/upgrader → upgrader}/Cargo.toml +0 -1
- package/{contracts/workers → workers}/dvn/Cargo.toml +1 -2
- package/{contracts/workers → workers}/dvn-fee-lib/Cargo.toml +1 -2
- package/{contracts/workers → workers}/executor/Cargo.toml +3 -2
- package/{contracts/workers → workers}/executor-fee-lib/Cargo.toml +1 -2
- package/{contracts/workers → workers}/executor-helper/Cargo.toml +0 -1
- package/{contracts/workers → workers}/fee-lib-interfaces/Cargo.toml +0 -1
- package/{contracts/workers → workers}/price-feed/Cargo.toml +1 -2
- package/{contracts/workers → workers}/worker/Cargo.toml +0 -1
- package/.turbo/turbo-build.log +0 -1363
- package/.turbo/turbo-lint.log +0 -401
- package/.turbo/turbo-test.log +0 -1952
- package/Cargo.lock +0 -2357
- package/contracts/common-macros/Cargo.toml +0 -20
- package/contracts/common-macros/src/auth.rs +0 -95
- package/contracts/common-macros/src/contract_ttl.rs +0 -92
- package/contracts/common-macros/src/error.rs +0 -43
- package/contracts/common-macros/src/lib.rs +0 -585
- package/contracts/common-macros/src/lz_contract.rs +0 -105
- package/contracts/common-macros/src/rbac.rs +0 -90
- package/contracts/common-macros/src/storage.rs +0 -522
- package/contracts/common-macros/src/tests/auth.rs +0 -230
- package/contracts/common-macros/src/tests/contract_ttl.rs +0 -695
- package/contracts/common-macros/src/tests/error.rs +0 -156
- package/contracts/common-macros/src/tests/lz_contract.rs +0 -87
- package/contracts/common-macros/src/tests/mod.rs +0 -11
- package/contracts/common-macros/src/tests/rbac.rs +0 -523
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +0 -31
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +0 -39
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap +0 -19
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +0 -77
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +0 -46
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__error__snapshot_generated_contract_error_code.snap +0 -20
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +0 -51
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__rbac__snapshot_authorizer_role.snap +0 -21
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__rbac__snapshot_preserve_function_signature.snap +0 -21
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +0 -10
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_extendable__snapshot_generated_ttl_extendable_code.snap +0 -8
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +0 -28
- package/contracts/common-macros/src/tests/storage/extract_fields.rs +0 -87
- package/contracts/common-macros/src/tests/storage/gen_accessor_methods.rs +0 -223
- package/contracts/common-macros/src/tests/storage/gen_args.rs +0 -65
- package/contracts/common-macros/src/tests/storage/gen_enum_variant.rs +0 -78
- package/contracts/common-macros/src/tests/storage/gen_key.rs +0 -108
- package/contracts/common-macros/src/tests/storage/gen_params.rs +0 -105
- package/contracts/common-macros/src/tests/storage/generate_storage.rs +0 -410
- package/contracts/common-macros/src/tests/storage/is_primitive_type.rs +0 -48
- package/contracts/common-macros/src/tests/storage/mod.rs +0 -16
- package/contracts/common-macros/src/tests/storage/parse_default.rs +0 -164
- package/contracts/common-macros/src/tests/storage/parse_name.rs +0 -158
- package/contracts/common-macros/src/tests/storage/parse_no_ttl_extension.rs +0 -124
- package/contracts/common-macros/src/tests/storage/parse_storage_type.rs +0 -174
- package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +0 -412
- package/contracts/common-macros/src/tests/storage/storage_kind.rs +0 -39
- package/contracts/common-macros/src/tests/storage/test_setup.rs +0 -25
- package/contracts/common-macros/src/tests/storage/validate_attrs.rs +0 -138
- package/contracts/common-macros/src/tests/storage/variant_config.rs +0 -226
- package/contracts/common-macros/src/tests/test_helpers.rs +0 -87
- package/contracts/common-macros/src/tests/ttl_configurable.rs +0 -34
- package/contracts/common-macros/src/tests/ttl_extendable.rs +0 -32
- package/contracts/common-macros/src/tests/upgradeable.rs +0 -169
- package/contracts/common-macros/src/tests/utils.rs +0 -267
- package/contracts/common-macros/src/ttl_configurable.rs +0 -24
- package/contracts/common-macros/src/ttl_extendable.rs +0 -28
- package/contracts/common-macros/src/upgradeable.rs +0 -136
- package/contracts/common-macros/src/utils.rs +0 -56
- package/contracts/macro-integration-tests/Cargo.toml +0 -20
- package/contracts/macro-integration-tests/src/lib.rs +0 -1
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/constructor.rs +0 -61
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_impl_ttl_extension.rs +0 -97
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_trait_ttl_extension.rs +0 -99
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/mod.rs +0 -3
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/mod.rs +0 -5
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_default.rs +0 -86
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig.rs +0 -47
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig_upgradeable.rs +0 -77
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable.rs +0 -114
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable_no_migration.rs +0 -105
- package/contracts/macro-integration-tests/tests/runtime/multisig/admin_entrypoints.rs +0 -242
- package/contracts/macro-integration-tests/tests/runtime/multisig/mod.rs +0 -9
- package/contracts/macro-integration-tests/tests/runtime/multisig/self_auth.rs +0 -54
- package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +0 -46
- package/contracts/macro-integration-tests/tests/runtime/oapp/oapp_core.rs +0 -170
- package/contracts/macro-integration-tests/tests/runtime/oapp/options_type3.rs +0 -154
- package/contracts/macro-integration-tests/tests/runtime/oapp/receiver.rs +0 -338
- package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +0 -437
- package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +0 -78
- package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +0 -23
- package/contracts/macro-integration-tests/tests/runtime/ownable/only_auth_guard.rs +0 -97
- package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +0 -170
- package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +0 -221
- package/contracts/macro-integration-tests/tests/runtime/rbac/guard_behavior.rs +0 -91
- package/contracts/macro-integration-tests/tests/runtime/rbac/mod.rs +0 -30
- package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +0 -266
- package/contracts/macro-integration-tests/tests/runtime/storage/mod.rs +0 -4
- package/contracts/macro-integration-tests/tests/runtime/storage/name_override_runtime.rs +0 -52
- package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +0 -293
- package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +0 -147
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +0 -206
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +0 -143
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -2
- package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/extend_instance_ttl.rs +0 -64
- package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/mod.rs +0 -16
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +0 -243
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/mod.rs +0 -3
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/no_migration.rs +0 -59
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/upgrade_then_migrate.rs +0 -88
- package/contracts/macro-integration-tests/tests/runtime.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.rs +0 -6
- package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/contract_impl/pass/basic.rs +0 -102
- package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.rs +0 -6
- package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/contract_trait/pass/basic.rs +0 -83
- package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.rs +0 -21
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.rs +0 -13
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/error/pass/basic.rs +0 -22
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.rs +0 -6
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.rs +0 -20
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.stderr +0 -20
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.rs +0 -8
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.rs +0 -10
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +0 -30
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.rs +0 -20
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +0 -56
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/basic.rs +0 -45
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig.rs +0 -34
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig_upgradeable.rs +0 -30
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable.rs +0 -39
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_no_migration.rs +0 -28
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_rbac.rs +0 -44
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.rs +0 -8
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.rs +0 -20
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.stderr +0 -12
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.rs +0 -20
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.stderr +0 -5
- package/contracts/macro-integration-tests/tests/ui/multisig/pass/basic.rs +0 -49
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.rs +0 -8
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.rs +0 -28
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_auth_trait.stderr +0 -397
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.rs +0 -9
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.stderr +0 -71
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.rs +0 -10
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.rs +0 -8
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.rs +0 -8
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +0 -42
- package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +0 -103
- package/contracts/macro-integration-tests/tests/ui/oapp/pass/minimal_contract.rs +0 -65
- package/contracts/macro-integration-tests/tests/ui/oapp/pass/struct_with_fields.rs +0 -48
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.rs +0 -8
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.rs +0 -19
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.stderr +0 -12
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +0 -22
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +0 -16
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +0 -39
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +0 -52
- package/contracts/macro-integration-tests/tests/ui/rbac/fail/missing_env.rs +0 -18
- package/contracts/macro-integration-tests/tests/ui/rbac/fail/missing_env.stderr +0 -16
- package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_address.rs +0 -18
- package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_address.stderr +0 -24
- package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_found.rs +0 -18
- package/contracts/macro-integration-tests/tests/ui/rbac/fail/param_not_found.stderr +0 -24
- package/contracts/macro-integration-tests/tests/ui/rbac/pass/basic.rs +0 -80
- package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.rs +0 -13
- package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.rs +0 -13
- package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.rs +0 -10
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.rs +0 -10
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.rs +0 -13
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.rs +0 -10
- package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.rs +0 -13
- package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.rs +0 -13
- package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/pass/api_surface.rs +0 -102
- package/contracts/macro-integration-tests/tests/ui/storage/pass/basic.rs +0 -43
- package/contracts/macro-integration-tests/tests/ui/storage/pass/multi_key.rs +0 -38
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.stderr +0 -71
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.rs +0 -8
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/basic.rs +0 -46
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/multisig_contract.rs +0 -28
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/ownable_contract.rs +0 -32
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.rs +0 -8
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/basic.rs +0 -23
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/no_user_contractimpl.rs +0 -21
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +0 -29
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.rs +0 -20
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +0 -41
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.rs +0 -10
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +0 -49
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.rs +0 -8
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/basic.rs +0 -41
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/multisig_contract.rs +0 -33
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_migration.rs +0 -28
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_user_contractimpl.rs +0 -27
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/rbac.rs +0 -44
- package/contracts/macro-integration-tests/tests/ui_contract_impl.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui_contract_trait.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui_error.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui_lz_contract.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui_multisig.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui_oapp.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui_ownable.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui_rbac.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui_storage.rs +0 -11
- package/contracts/macro-integration-tests/tests/ui_ttl_configurable.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui_ttl_extendable.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui_upgradeable.rs +0 -11
- package/contracts/message-libs/Cargo.toml +0 -12
- package/contracts/message-libs/lib.rs +0 -2
- package/contracts/oapps/Cargo.toml +0 -12
- package/contracts/oapps/counter/Cargo.toml +0 -39
- package/contracts/oapps/counter/integration_tests/mod.rs +0 -7
- package/contracts/oapps/counter/integration_tests/setup_sml.rs +0 -171
- package/contracts/oapps/counter/integration_tests/setup_uln.rs +0 -1019
- package/contracts/oapps/counter/integration_tests/signing.rs +0 -62
- package/contracts/oapps/counter/integration_tests/test_with_blocked.rs +0 -67
- package/contracts/oapps/counter/integration_tests/test_with_sml.rs +0 -135
- package/contracts/oapps/counter/integration_tests/test_with_uln.rs +0 -314
- package/contracts/oapps/counter/integration_tests/utils.rs +0 -294
- package/contracts/oapps/counter/src/codec.rs +0 -62
- package/contracts/oapps/counter/src/counter.rs +0 -274
- package/contracts/oapps/counter/src/errors.rs +0 -9
- package/contracts/oapps/counter/src/lib.rs +0 -16
- package/contracts/oapps/counter/src/options.rs +0 -30
- package/contracts/oapps/counter/src/storage.rs +0 -32
- package/contracts/oapps/counter/src/tests/mod.rs +0 -24
- package/contracts/oapps/counter/src/tests/test_codec.rs +0 -64
- package/contracts/oapps/counter/src/tests/test_counter.rs +0 -387
- package/contracts/oapps/counter/src/tests/test_u256_ext.rs +0 -48
- package/contracts/oapps/counter/src/u256_ext.rs +0 -21
- package/contracts/oapps/lib.rs +0 -2
- package/contracts/oapps/oapp/Cargo.toml +0 -22
- package/contracts/oapps/oapp/src/errors.rs +0 -13
- package/contracts/oapps/oapp/src/interfaces/mod.rs +0 -3
- package/contracts/oapps/oapp/src/interfaces/oapp_msg_inspector.rs +0 -70
- package/contracts/oapps/oapp/src/lib.rs +0 -15
- package/contracts/oapps/oapp/src/oapp_core.rs +0 -143
- package/contracts/oapps/oapp/src/oapp_options_type3.rs +0 -133
- package/contracts/oapps/oapp/src/oapp_receiver.rs +0 -195
- package/contracts/oapps/oapp/src/oapp_sender.rs +0 -152
- package/contracts/oapps/oapp/src/tests/mod.rs +0 -5
- package/contracts/oapps/oapp/src/tests/oapp_core.rs +0 -225
- package/contracts/oapps/oapp/src/tests/oapp_options_type3.rs +0 -246
- package/contracts/oapps/oapp/src/tests/oapp_receiver.rs +0 -383
- package/contracts/oapps/oapp/src/tests/oapp_sender.rs +0 -570
- package/contracts/oapps/oapp/src/tests/test_macros.rs +0 -434
- package/contracts/oapps/oapp-macros/Cargo.toml +0 -18
- package/contracts/oapps/oapp-macros/src/generators.rs +0 -147
- package/contracts/oapps/oapp-macros/src/lib.rs +0 -166
- package/contracts/oapps/oapp-macros/src/tests/mod.rs +0 -2
- package/contracts/oapps/oapp-macros/src/tests/oapp.rs +0 -74
- package/contracts/oapps/oapp-macros/src/tests/parse_custom_impls.rs +0 -90
- package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +0 -111
- package/contracts/oapps/oft/Cargo.toml +0 -30
- package/contracts/oapps/oft/integration-tests/extensions/mod.rs +0 -3
- package/contracts/oapps/oft/integration-tests/extensions/test_oft_fee.rs +0 -172
- package/contracts/oapps/oft/integration-tests/extensions/test_pausable.rs +0 -161
- package/contracts/oapps/oft/integration-tests/extensions/test_rate_limiter.rs +0 -336
- package/contracts/oapps/oft/integration-tests/mod.rs +0 -3
- package/contracts/oapps/oft/integration-tests/setup.rs +0 -306
- package/contracts/oapps/oft/integration-tests/utils.rs +0 -609
- package/contracts/oapps/oft/src/extensions/mod.rs +0 -3
- package/contracts/oapps/oft/src/extensions/oft_fee.rs +0 -281
- package/contracts/oapps/oft/src/extensions/pausable.rs +0 -119
- package/contracts/oapps/oft/src/extensions/rate_limiter.rs +0 -286
- package/contracts/oapps/oft/src/interfaces/mintable.rs +0 -14
- package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
- package/contracts/oapps/oft/src/lib.rs +0 -24
- package/contracts/oapps/oft/src/oft.rs +0 -176
- package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +0 -50
- package/contracts/oapps/oft/src/oft_types/mint_burn.rs +0 -51
- package/contracts/oapps/oft/src/oft_types/mod.rs +0 -24
- package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -3
- package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +0 -260
- package/contracts/oapps/oft/src/tests/extensions/pausable.rs +0 -155
- package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +0 -601
- package/contracts/oapps/oft/src/tests/mod.rs +0 -2
- package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +0 -185
- package/contracts/oapps/oft/src/tests/oft_types/mod.rs +0 -1
- package/contracts/oapps/oft-core/Cargo.toml +0 -24
- package/contracts/oapps/oft-core/integration-tests/mod.rs +0 -3
- package/contracts/oapps/oft-core/integration-tests/setup.rs +0 -346
- package/contracts/oapps/oft-core/integration-tests/test_with_sml.rs +0 -156
- package/contracts/oapps/oft-core/integration-tests/utils.rs +0 -220
- package/contracts/oapps/oft-core/src/codec/mod.rs +0 -2
- package/contracts/oapps/oft-core/src/codec/oft_compose_msg_codec.rs +0 -55
- package/contracts/oapps/oft-core/src/codec/oft_msg_codec.rs +0 -58
- package/contracts/oapps/oft-core/src/errors.rs +0 -15
- package/contracts/oapps/oft-core/src/events.rs +0 -32
- package/contracts/oapps/oft-core/src/lib.rs +0 -22
- package/contracts/oapps/oft-core/src/oft_core.rs +0 -594
- package/contracts/oapps/oft-core/src/storage.rs +0 -19
- package/contracts/oapps/oft-core/src/tests/mod.rs +0 -14
- package/contracts/oapps/oft-core/src/tests/test_decimals.rs +0 -124
- package/contracts/oapps/oft-core/src/tests/test_lz_receive.rs +0 -282
- package/contracts/oapps/oft-core/src/tests/test_msg_inspector.rs +0 -324
- package/contracts/oapps/oft-core/src/tests/test_oft_compose_msg_codec.rs +0 -68
- package/contracts/oapps/oft-core/src/tests/test_oft_msg_codec.rs +0 -64
- package/contracts/oapps/oft-core/src/tests/test_oft_version_and_approval.rs +0 -22
- package/contracts/oapps/oft-core/src/tests/test_quote_oft.rs +0 -159
- package/contracts/oapps/oft-core/src/tests/test_quote_send.rs +0 -195
- package/contracts/oapps/oft-core/src/tests/test_resolve_address.rs +0 -37
- package/contracts/oapps/oft-core/src/tests/test_send.rs +0 -915
- package/contracts/oapps/oft-core/src/tests/test_token.rs +0 -47
- package/contracts/oapps/oft-core/src/tests/test_utils.rs +0 -870
- package/contracts/oapps/oft-core/src/types.rs +0 -58
- package/contracts/oapps/oft-core/src/utils.rs +0 -71
- package/contracts/oapps/sac-manager/Cargo.toml +0 -24
- package/contracts/oapps/sac-manager/src/interfaces/mod.rs +0 -3
- package/contracts/oapps/sac-manager/src/interfaces/sac_admin_wrapper.rs +0 -49
- package/contracts/oapps/sac-manager/src/lib.rs +0 -19
- package/contracts/oapps/sac-manager/src/sac_manager.rs +0 -95
- package/contracts/oapps/sac-manager/src/storage.rs +0 -13
- package/contracts/oapps/sac-manager/src/tests/mod.rs +0 -10
- package/contracts/oapps/sac-manager/src/tests/sac_manager/clawback.rs +0 -84
- package/contracts/oapps/sac-manager/src/tests/sac_manager/mint.rs +0 -53
- package/contracts/oapps/sac-manager/src/tests/sac_manager/mod.rs +0 -6
- package/contracts/oapps/sac-manager/src/tests/sac_manager/set_admin.rs +0 -46
- package/contracts/oapps/sac-manager/src/tests/sac_manager/set_authorized.rs +0 -53
- package/contracts/oapps/sac-manager/src/tests/sac_manager/test_helper.rs +0 -35
- package/contracts/oapps/sac-manager/src/tests/sac_manager/view_functions.rs +0 -13
- package/contracts/oapps/sac-manager/src/tests/test_helper.rs +0 -138
- package/contracts/utils/Cargo.toml +0 -20
- package/contracts/utils/src/auth.rs +0 -48
- package/contracts/utils/src/buffer_reader.rs +0 -194
- package/contracts/utils/src/buffer_writer.rs +0 -138
- package/contracts/utils/src/bytes_ext.rs +0 -18
- package/contracts/utils/src/errors.rs +0 -82
- package/contracts/utils/src/lib.rs +0 -20
- package/contracts/utils/src/multisig.rs +0 -247
- package/contracts/utils/src/option_ext.rs +0 -38
- package/contracts/utils/src/ownable.rs +0 -227
- package/contracts/utils/src/rbac.rs +0 -438
- package/contracts/utils/src/testing_utils.rs +0 -180
- package/contracts/utils/src/tests/auth.rs +0 -179
- package/contracts/utils/src/tests/buffer_reader.rs +0 -969
- package/contracts/utils/src/tests/buffer_writer.rs +0 -689
- package/contracts/utils/src/tests/bytes_ext.rs +0 -160
- package/contracts/utils/src/tests/mod.rs +0 -13
- package/contracts/utils/src/tests/multisig.rs +0 -760
- package/contracts/utils/src/tests/option_ext.rs +0 -18
- package/contracts/utils/src/tests/ownable.rs +0 -822
- package/contracts/utils/src/tests/rbac.rs +0 -559
- package/contracts/utils/src/tests/test_helper.rs +0 -67
- package/contracts/utils/src/tests/testing_utils.rs +0 -522
- package/contracts/utils/src/tests/ttl_configurable.rs +0 -586
- package/contracts/utils/src/tests/ttl_extendable.rs +0 -64
- package/contracts/utils/src/tests/upgradeable.rs +0 -529
- package/contracts/utils/src/ttl_configurable.rs +0 -169
- package/contracts/utils/src/ttl_extendable.rs +0 -25
- package/contracts/utils/src/upgradeable.rs +0 -103
- package/contracts/workers/Cargo.toml +0 -13
- package/contracts/workers/lib.rs +0 -2
- package/sdk/.turbo/turbo-build.log +0 -5
- package/sdk/.turbo/turbo-test.log +0 -1507
- package/sdk/LICENSE +0 -23
- package/sdk/dist/generated/bml.d.ts +0 -670
- package/sdk/dist/generated/bml.d.ts.map +0 -1
- package/sdk/dist/generated/bml.js +0 -292
- package/sdk/dist/generated/bml.js.map +0 -1
- package/sdk/dist/generated/counter.d.ts +0 -1253
- package/sdk/dist/generated/counter.d.ts.map +0 -1
- package/sdk/dist/generated/counter.js +0 -391
- package/sdk/dist/generated/counter.js.map +0 -1
- package/sdk/dist/generated/dvn.d.ts +0 -1569
- package/sdk/dist/generated/dvn.d.ts.map +0 -1
- package/sdk/dist/generated/dvn.js +0 -459
- package/sdk/dist/generated/dvn.js.map +0 -1
- package/sdk/dist/generated/dvn_fee_lib.d.ts +0 -587
- package/sdk/dist/generated/dvn_fee_lib.d.ts.map +0 -1
- package/sdk/dist/generated/dvn_fee_lib.js +0 -186
- package/sdk/dist/generated/dvn_fee_lib.js.map +0 -1
- package/sdk/dist/generated/endpoint.d.ts +0 -1304
- package/sdk/dist/generated/endpoint.d.ts.map +0 -1
- package/sdk/dist/generated/endpoint.js +0 -396
- package/sdk/dist/generated/endpoint.js.map +0 -1
- package/sdk/dist/generated/executor.d.ts +0 -1554
- package/sdk/dist/generated/executor.d.ts.map +0 -1
- package/sdk/dist/generated/executor.js +0 -447
- package/sdk/dist/generated/executor.js.map +0 -1
- package/sdk/dist/generated/executor_fee_lib.d.ts +0 -1037
- package/sdk/dist/generated/executor_fee_lib.d.ts.map +0 -1
- package/sdk/dist/generated/executor_fee_lib.js +0 -351
- package/sdk/dist/generated/executor_fee_lib.js.map +0 -1
- package/sdk/dist/generated/executor_helper.d.ts +0 -883
- package/sdk/dist/generated/executor_helper.d.ts.map +0 -1
- package/sdk/dist/generated/executor_helper.js +0 -354
- package/sdk/dist/generated/executor_helper.js.map +0 -1
- package/sdk/dist/generated/layerzero_view.d.ts +0 -1153
- package/sdk/dist/generated/layerzero_view.d.ts.map +0 -1
- package/sdk/dist/generated/layerzero_view.js +0 -457
- package/sdk/dist/generated/layerzero_view.js.map +0 -1
- package/sdk/dist/generated/oft.d.ts +0 -1638
- package/sdk/dist/generated/oft.d.ts.map +0 -1
- package/sdk/dist/generated/oft.js +0 -463
- package/sdk/dist/generated/oft.js.map +0 -1
- package/sdk/dist/generated/price_feed.d.ts +0 -787
- package/sdk/dist/generated/price_feed.d.ts.map +0 -1
- package/sdk/dist/generated/price_feed.js +0 -231
- package/sdk/dist/generated/price_feed.js.map +0 -1
- package/sdk/dist/generated/sac_manager.d.ts +0 -567
- package/sdk/dist/generated/sac_manager.d.ts.map +0 -1
- package/sdk/dist/generated/sac_manager.js +0 -198
- package/sdk/dist/generated/sac_manager.js.map +0 -1
- package/sdk/dist/generated/sml.d.ts +0 -934
- package/sdk/dist/generated/sml.d.ts.map +0 -1
- package/sdk/dist/generated/sml.js +0 -366
- package/sdk/dist/generated/sml.js.map +0 -1
- package/sdk/dist/generated/treasury.d.ts +0 -892
- package/sdk/dist/generated/treasury.d.ts.map +0 -1
- package/sdk/dist/generated/treasury.js +0 -352
- package/sdk/dist/generated/treasury.js.map +0 -1
- package/sdk/dist/generated/uln302.d.ts +0 -1268
- package/sdk/dist/generated/uln302.d.ts.map +0 -1
- package/sdk/dist/generated/uln302.js +0 -477
- package/sdk/dist/generated/uln302.js.map +0 -1
- package/sdk/dist/generated/upgrader.d.ts +0 -292
- package/sdk/dist/generated/upgrader.d.ts.map +0 -1
- package/sdk/dist/generated/upgrader.js +0 -144
- package/sdk/dist/generated/upgrader.js.map +0 -1
- package/sdk/dist/index.d.ts +0 -17
- package/sdk/dist/index.d.ts.map +0 -1
- package/sdk/dist/index.js +0 -21
- package/sdk/dist/index.js.map +0 -1
- package/sdk/node_modules/.bin/tsc +0 -21
- package/sdk/node_modules/.bin/tsserver +0 -21
- package/sdk/node_modules/.bin/vitest +0 -21
- package/sdk/package.json +0 -50
- package/sdk/src/index.ts +0 -23
- package/sdk/test/counter-sml.test.ts +0 -480
- package/sdk/test/counter-uln.test.ts +0 -584
- package/sdk/test/oft-sml.test.ts +0 -750
- package/sdk/test/sac-manager.test.ts +0 -464
- package/sdk/test/secp256k1.ts +0 -59
- package/sdk/test/suites/constants.ts +0 -51
- package/sdk/test/suites/deploy.ts +0 -312
- package/sdk/test/suites/dummyContractClient.ts +0 -168
- package/sdk/test/suites/globalSetup.ts +0 -604
- package/sdk/test/suites/localnet.ts +0 -192
- package/sdk/test/suites/scan.ts +0 -202
- package/sdk/test/test_data/test_upgradeable_dvn.wasm +0 -0
- package/sdk/test/upgrader.test.ts +0 -194
- package/sdk/test/utils.ts +0 -671
- package/sdk/tsconfig.json +0 -21
- package/sdk/tsconfig.test.json +0 -10
- package/sdk/turbo.json +0 -15
- package/sdk/vitest.config.ts +0 -21
- package/ts-bindings-gen.toml +0 -67
- package/turbo-snapshot.lock.json +0 -194
- package/turbo.json +0 -26
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/endpoint_v2.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/errors.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/events.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_composer.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_endpoint_v2.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/layerzero_receiver.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/message_lib.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/message_lib_manager.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/messaging_channel.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/messaging_composer.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/mod.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/interfaces/send_lib.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/lib.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/message_lib_manager.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/messaging_channel.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/messaging_composer.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/storage.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_setup.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/build_outbound_packet.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/clear.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/delegate.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/initializable.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/lz_receive_alert.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/mod.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/native_token.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/owner.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/pay_messaging_fees.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/quote.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/recover_token.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/require_oapp_auth.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/send.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/set_delegate.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/set_zro.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/transfer_ownership.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/ttl_config.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/verifiable.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/verify.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/endpoint_v2/zro.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_receive_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_receive_library_timeout.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/default_send_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_config.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_library_index.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_receive_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_registered_libraries.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/get_send_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_registered_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_supported_eid.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/is_valid_receive_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/mod.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/receive_library_timeout.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/register_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/registered_libraries_count.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_registered.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_send_lib_for_eid.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/require_supported_eid.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_config.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_receive_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_default_send_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_receive_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_receive_library_timeout.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/set_send_library.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/message_lib_manager/timeout.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/burn.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/clear_payload.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound_nonce.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/inbound_payload_hash.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/insert_and_drain_pending_nonces.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/mod.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/next_guid.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/nilify.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/outbound.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/outbound_nonce.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/pending_inbound_nonces.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_channel/skip.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/clear_compose.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/compose_queue.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/lz_compose_alert.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/mod.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/messaging_composer/send_compose.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/mock.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/mod.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/build_payload.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/compute_guid.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/keccak256.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/tests/util/mod.rs +0 -0
- /package/{contracts/endpoint-v2 → endpoint-v2}/src/util.rs +0 -0
- /package/{contracts/layerzero-views → layerzero-views}/src/errors.rs +0 -0
- /package/{contracts/layerzero-views → layerzero-views}/src/layerzero_view.rs +0 -0
- /package/{contracts/layerzero-views → layerzero-views}/src/lib.rs +0 -0
- /package/{contracts/layerzero-views → layerzero-views}/src/storage.rs +0 -0
- /package/{contracts/layerzero-views → layerzero-views}/src/tests/layerzero_view_tests.rs +0 -0
- /package/{contracts/layerzero-views → layerzero-views}/src/tests/mod.rs +0 -0
- /package/{contracts/layerzero-views → layerzero-views}/src/tests/setup.rs +0 -0
- /package/{contracts/layerzero-views → layerzero-views}/src/tests/types_tests.rs +0 -0
- /package/{contracts/layerzero-views → layerzero-views}/src/types.rs +0 -0
- /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/lib.rs +0 -0
- /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/blocked_message_lib_tests.rs +0 -0
- /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/blocked-message-lib/src/tests/setup.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/errors.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/dvn.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/executor.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/interfaces/treasury.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/lib.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/packet_codec_v1.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/testing_utils.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/encode_packet.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/encode_packet_header.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/payload.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/payload_hash.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/packet_codec_v1/test_helper.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_dvn_option.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/tests/worker_options/split_worker_options.rs +0 -0
- /package/{contracts/message-libs → message-libs}/message-lib-common/src/worker_options.rs +0 -0
- /package/{contracts/message-libs → message-libs}/simple-message-lib/src/errors.rs +0 -0
- /package/{contracts/message-libs → message-libs}/simple-message-lib/src/lib.rs +0 -0
- /package/{contracts/message-libs → message-libs}/simple-message-lib/src/simple_message_lib.rs +0 -0
- /package/{contracts/message-libs → message-libs}/simple-message-lib/src/storage.rs +0 -0
- /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/setup.rs +0 -0
- /package/{contracts/message-libs → message-libs}/simple-message-lib/src/tests/simple_message_lib_tests.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/errors.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/events.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/interfaces/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/interfaces/zro_fee_lib.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/lib.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/storage.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/tests/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/tests/setup.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/tests/treasury_tests.rs +0 -0
- /package/{contracts/message-libs → message-libs}/treasury/src/treasury.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/errors.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/events.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/receive_uln.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/interfaces/send_uln.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/lib.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/receive_uln.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/send_uln.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/storage.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/oapp_uln_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/config/uln_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/commit_verification.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/confirmations.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/verifiable.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/receive_uln302/verify.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/effective_executor_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/quote.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/send.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/setup.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/testing_utils.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_app_receive_uln_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_app_send_uln_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/get_oapp_executor_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/mod.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/tests/uln302/set_config.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/types.rs +0 -0
- /package/{contracts/message-libs → message-libs}/uln-302/src/uln302.rs +0 -0
- /package/{contracts/upgrader → upgrader}/src/lib.rs +0 -0
- /package/{contracts/upgrader → upgrader}/src/tests/mod.rs +0 -0
- /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
- /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
- /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract3.wasm +0 -0
- /package/{contracts/upgrader → upgrader}/src/tests/test_data/test_upgradeable_contract4.wasm +0 -0
- /package/{contracts/upgrader → upgrader}/src/tests/test_upgrader.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/auth.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/dvn.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/errors.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/events.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/interfaces/dvn.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/interfaces/mod.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/lib.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/storage.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/tests/auth.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/tests/dvn.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/tests/key_pair.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/tests/mod.rs +0 -0
- /package/{contracts/workers → workers}/dvn/src/tests/setup.rs +0 -0
- /package/{contracts/workers → workers}/dvn-fee-lib/src/dvn_fee_lib.rs +0 -0
- /package/{contracts/workers → workers}/dvn-fee-lib/src/errors.rs +0 -0
- /package/{contracts/workers → workers}/dvn-fee-lib/src/lib.rs +0 -0
- /package/{contracts/workers → workers}/dvn-fee-lib/src/tests/dvn_fee_lib.rs +0 -0
- /package/{contracts/workers → workers}/dvn-fee-lib/src/tests/mod.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/auth.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/errors.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/events.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/executor.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/interfaces/executor.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/interfaces/mod.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/lib.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/storage.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/tests/auth.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/tests/executor.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/tests/mod.rs +0 -0
- /package/{contracts/workers → workers}/executor/src/tests/setup.rs +0 -0
- /package/{contracts/workers → workers}/executor-fee-lib/src/errors.rs +0 -0
- /package/{contracts/workers → workers}/executor-fee-lib/src/executor_fee_lib.rs +0 -0
- /package/{contracts/workers → workers}/executor-fee-lib/src/executor_option.rs +0 -0
- /package/{contracts/workers → workers}/executor-fee-lib/src/lib.rs +0 -0
- /package/{contracts/workers → workers}/executor-fee-lib/src/tests/executor_fee_lib.rs +0 -0
- /package/{contracts/workers → workers}/executor-fee-lib/src/tests/executor_option.rs +0 -0
- /package/{contracts/workers → workers}/executor-fee-lib/src/tests/mod.rs +0 -0
- /package/{contracts/workers → workers}/executor-fee-lib/src/tests/setup.rs +0 -0
- /package/{contracts/workers → workers}/executor-helper/src/executor_helper.rs +0 -0
- /package/{contracts/workers → workers}/executor-helper/src/lib.rs +0 -0
- /package/{contracts/workers → workers}/executor-helper/src/tests/executor_helper.rs +0 -0
- /package/{contracts/workers → workers}/executor-helper/src/tests/mod.rs +0 -0
- /package/{contracts/workers → workers}/executor-helper/src/tests/setup.rs +0 -0
- /package/{contracts/workers → workers}/fee-lib-interfaces/src/dvn_fee_lib.rs +0 -0
- /package/{contracts/workers → workers}/fee-lib-interfaces/src/executor_fee_lib.rs +0 -0
- /package/{contracts/workers → workers}/fee-lib-interfaces/src/lib.rs +0 -0
- /package/{contracts/workers → workers}/fee-lib-interfaces/src/price_feed.rs +0 -0
- /package/{contracts/workers → workers}/price-feed/src/errors.rs +0 -0
- /package/{contracts/workers → workers}/price-feed/src/events.rs +0 -0
- /package/{contracts/workers → workers}/price-feed/src/lib.rs +0 -0
- /package/{contracts/workers → workers}/price-feed/src/price_feed.rs +0 -0
- /package/{contracts/workers → workers}/price-feed/src/storage.rs +0 -0
- /package/{contracts/workers → workers}/price-feed/src/tests/mod.rs +0 -0
- /package/{contracts/workers → workers}/price-feed/src/tests/price_feed.rs +0 -0
- /package/{contracts/workers → workers}/price-feed/src/tests/setup.rs +0 -0
- /package/{contracts/workers → workers}/price-feed/src/types.rs +0 -0
- /package/{contracts/workers → workers}/worker/src/errors.rs +0 -0
- /package/{contracts/workers → workers}/worker/src/events.rs +0 -0
- /package/{contracts/workers → workers}/worker/src/lib.rs +0 -0
- /package/{contracts/workers → workers}/worker/src/storage.rs +0 -0
- /package/{contracts/workers → workers}/worker/src/tests/mod.rs +0 -0
- /package/{contracts/workers → workers}/worker/src/tests/setup.rs +0 -0
- /package/{contracts/workers → workers}/worker/src/tests/worker.rs +0 -0
- /package/{contracts/workers → workers}/worker/src/worker.rs +0 -0
package/Cargo.toml
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
[workspace]
|
|
2
2
|
resolver = "2"
|
|
3
3
|
members = [
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
4
|
+
"endpoint-v2",
|
|
5
|
+
"upgrader",
|
|
6
|
+
"layerzero-views",
|
|
7
|
+
"message-libs/*",
|
|
8
|
+
"workers/*",
|
|
8
9
|
]
|
|
10
|
+
# Vendored path deps (build-utils-rust resolve) land under dependencies/ inside this workspace root;
|
|
11
|
+
# cargo would otherwise auto-adopt them as members and try to test them (their test dirs are stripped
|
|
12
|
+
# when vendored). Exclude so they stay plain path deps.
|
|
13
|
+
exclude = ["dependencies"]
|
|
9
14
|
|
|
10
15
|
[workspace.package]
|
|
11
16
|
edition = "2021"
|
|
12
|
-
license = "MIT"
|
|
13
17
|
version = "0.0.1"
|
|
14
18
|
|
|
15
19
|
[workspace.dependencies]
|
|
@@ -17,46 +21,27 @@ soroban-sdk = { version = "25.1.1", features = ["hazmat-address", "hazmat-crypto
|
|
|
17
21
|
|
|
18
22
|
# Third-party dependencies (production)
|
|
19
23
|
cfg-if = { version = "1.0", default-features = false }
|
|
20
|
-
|
|
21
|
-
itertools = "0.14"
|
|
22
|
-
proc-macro2 = "1.0"
|
|
23
|
-
quote = "1.0"
|
|
24
|
-
syn = { version = "2.0", features = ["full", "extra-traits"] }
|
|
24
|
+
sha3 = "0.10"
|
|
25
25
|
|
|
26
26
|
# Third-party dependencies (testing only)
|
|
27
27
|
ed25519-dalek = "2"
|
|
28
28
|
hex-literal = "1.0.0"
|
|
29
|
-
insta = "1.44.3"
|
|
30
29
|
k256 = "0.13"
|
|
31
|
-
prettyplease = "0.2.37"
|
|
32
30
|
rand = "0.8"
|
|
33
|
-
anyhow = "1.0"
|
|
34
|
-
sha2 = "0.10"
|
|
35
|
-
base64 = "0.22"
|
|
36
|
-
sha3 = "0.10"
|
|
37
|
-
trybuild = "1.0.114"
|
|
38
31
|
|
|
39
32
|
# Internal workspace dependencies
|
|
40
|
-
common-macros = { path = "
|
|
41
|
-
dvn = { path = "
|
|
42
|
-
dvn-fee-lib = { path = "
|
|
43
|
-
endpoint-v2 = { path = "
|
|
44
|
-
executor = { path = "
|
|
45
|
-
executor-fee-lib = { path = "
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
message-lib
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
oft = { path = "contracts/oapps/oft" }
|
|
53
|
-
oft-core = { path = "contracts/oapps/oft-core" }
|
|
54
|
-
price-feed = { path = "contracts/workers/price-feed" }
|
|
55
|
-
simple-message-lib = { path = "contracts/message-libs/simple-message-lib" }
|
|
56
|
-
treasury = { path = "contracts/message-libs/treasury" }
|
|
57
|
-
uln302 = { path = "contracts/message-libs/uln-302", default-features = false }
|
|
58
|
-
utils = { path = "contracts/utils" }
|
|
59
|
-
worker = { path = "contracts/workers/worker" }
|
|
33
|
+
common-macros = { path = "dependencies/common-utils-macros-stellar-contracts" }
|
|
34
|
+
dvn = { path = "workers/dvn" }
|
|
35
|
+
dvn-fee-lib = { path = "workers/dvn-fee-lib" }
|
|
36
|
+
endpoint-v2 = { path = "endpoint-v2", default-features = false }
|
|
37
|
+
executor = { path = "workers/executor" }
|
|
38
|
+
executor-fee-lib = { path = "workers/executor-fee-lib" }
|
|
39
|
+
fee-lib-interfaces = { path = "workers/fee-lib-interfaces" }
|
|
40
|
+
message-lib-common = { path = "message-libs/message-lib-common" }
|
|
41
|
+
simple-message-lib = { path = "message-libs/simple-message-lib" }
|
|
42
|
+
uln302 = { path = "message-libs/uln-302", default-features = false }
|
|
43
|
+
utils = { path = "dependencies/common-utils-stellar-contracts" }
|
|
44
|
+
worker = { path = "workers/worker" }
|
|
60
45
|
|
|
61
46
|
# Fast dev builds for testing
|
|
62
47
|
[profile.dev]
|
package/docs/error-spec.md
CHANGED
|
@@ -24,32 +24,32 @@ Each library has a unique error code range to:
|
|
|
24
24
|
|
|
25
25
|
Contract-specific errors auto-increment from 1 and are scoped to each contract.
|
|
26
26
|
|
|
27
|
-
| Contract | Location
|
|
28
|
-
| ----------------- |
|
|
29
|
-
| EndpointV2 | `endpoint-v2/src/errors.rs`
|
|
30
|
-
| ULN302 | `message-libs/uln-302/src/errors.rs`
|
|
31
|
-
| Treasury | `message-libs/treasury/src/errors.rs`
|
|
32
|
-
| SimpleMessageLib | `message-libs/simple-message-lib/src/errors.rs`
|
|
33
|
-
| DVN | `workers/dvn/src/errors.rs`
|
|
34
|
-
| Executor | `workers/executor/src/errors.rs`
|
|
35
|
-
| DVN Fee Lib | `workers/dvn-fee-lib/src/errors.rs`
|
|
36
|
-
| Executor Fee Lib | `workers/executor-fee-lib/src/errors.rs`
|
|
37
|
-
| Price Feed | `workers/price-feed/src/errors.rs`
|
|
38
|
-
| LayerZero Views | `layerzero-views/src/errors.rs`
|
|
39
|
-
| Counter (example) | `
|
|
27
|
+
| Contract | Location |
|
|
28
|
+
| ----------------- | --------------------------------------------------------------------- |
|
|
29
|
+
| EndpointV2 | `endpoint-v2/src/errors.rs` |
|
|
30
|
+
| ULN302 | `message-libs/uln-302/src/errors.rs` |
|
|
31
|
+
| Treasury | `message-libs/treasury/src/errors.rs` |
|
|
32
|
+
| SimpleMessageLib | `message-libs/simple-message-lib/src/errors.rs` |
|
|
33
|
+
| DVN | `workers/dvn/src/errors.rs` |
|
|
34
|
+
| Executor | `workers/executor/src/errors.rs` |
|
|
35
|
+
| DVN Fee Lib | `workers/dvn-fee-lib/src/errors.rs` |
|
|
36
|
+
| Executor Fee Lib | `workers/executor-fee-lib/src/errors.rs` |
|
|
37
|
+
| Price Feed | `workers/price-feed/src/errors.rs` |
|
|
38
|
+
| LayerZero Views | `layerzero-views/src/errors.rs` |
|
|
39
|
+
| Counter (example) | `apps/project-types/omni-counter-app/contracts/stellar/src/errors.rs` |
|
|
40
40
|
|
|
41
41
|
### Library Errors (1000+)
|
|
42
42
|
|
|
43
43
|
Libraries shared across contracts use reserved ranges for global uniqueness.
|
|
44
44
|
|
|
45
|
-
| Range | Category | Library | Location
|
|
46
|
-
| --------- | ------------ | ------------------ |
|
|
47
|
-
| 1000-1099 | Protocol Lib | utils | `utils/src/errors.rs`
|
|
48
|
-
| 1100-1199 | Protocol Lib | message-lib-common | `message-libs/message-lib-common/src/errors.rs`
|
|
49
|
-
| 1200-1299 | Protocol Lib | worker | `workers/worker/src/errors.rs`
|
|
50
|
-
| 1300-1999 | Protocol Lib | (reserved) | Future protocol libs
|
|
51
|
-
| 2000-2099 | OApp Lib | oapp | `
|
|
52
|
-
| 2100-2999 | OApp Lib | (reserved) | Future OApp libs
|
|
53
|
-
| 3000-3099 | OFT Lib | oft-core | `
|
|
54
|
-
| 3100-3199 | OFT Lib | oft (extensions) | `
|
|
55
|
-
| 3200-3999 | OFT Lib | (reserved) | Future OFT libs
|
|
45
|
+
| Range | Category | Library | Location |
|
|
46
|
+
| --------- | ------------ | ------------------ | ----------------------------------------------------------- |
|
|
47
|
+
| 1000-1099 | Protocol Lib | utils | `contracts/common/utils/stellar/common-utils/src/errors.rs` |
|
|
48
|
+
| 1100-1199 | Protocol Lib | message-lib-common | `message-libs/message-lib-common/src/errors.rs` |
|
|
49
|
+
| 1200-1299 | Protocol Lib | worker | `workers/worker/src/errors.rs` |
|
|
50
|
+
| 1300-1999 | Protocol Lib | (reserved) | Future protocol libs |
|
|
51
|
+
| 2000-2099 | OApp Lib | oapp | `apps/oapp-app/contracts/stellar/contracts/src/errors.rs` |
|
|
52
|
+
| 2100-2999 | OApp Lib | (reserved) | Future OApp libs |
|
|
53
|
+
| 3000-3099 | OFT Lib | oft-core | `apps/oft-app/contracts/stellar/oft-core/src/errors.rs` |
|
|
54
|
+
| 3100-3199 | OFT Lib | oft (extensions) | `apps/oft-app/contracts/stellar/oft/src/extensions/` |
|
|
55
|
+
| 3200-3999 | OFT Lib | (reserved) | Future OFT libs |
|
|
@@ -123,7 +123,7 @@ Executes verified messages on the destination chain.
|
|
|
123
123
|
|
|
124
124
|
Base framework for building cross-chain applications.
|
|
125
125
|
|
|
126
|
-
**Location**: `contracts/
|
|
126
|
+
**Location**: `apps/oapp-app/contracts/stellar/`
|
|
127
127
|
|
|
128
128
|
**Key traits**:
|
|
129
129
|
|
|
@@ -139,7 +139,7 @@ Base framework for building cross-chain applications.
|
|
|
139
139
|
|
|
140
140
|
Standardized cross-chain token bridge implementation.
|
|
141
141
|
|
|
142
|
-
**Location**: `contracts/
|
|
142
|
+
**Location**: `apps/oft-app/contracts/stellar/oft-core/` (core traits) and `apps/oft-app/contracts/stellar/oft/`
|
|
143
143
|
(token types and extensions)
|
|
144
144
|
|
|
145
145
|
**Key traits**:
|
|
@@ -498,10 +498,12 @@ Executor auth ──► OApp.lz_receive() ──► Endpoint.clear()
|
|
|
498
498
|
|
|
499
499
|
## Building OApps and OFTs
|
|
500
500
|
|
|
501
|
-
- [
|
|
502
|
-
OApp framework, macros, and traits
|
|
503
|
-
|
|
504
|
-
|
|
501
|
+
- [OApp guide](../../../../../apps/oapp-app/contracts/stellar/docs/oapp-guide.md) —
|
|
502
|
+
Building Omnichain Applications using the OApp framework, macros, and traits
|
|
503
|
+
(stub: [oapp-guide.md](oapp-guide.md))
|
|
504
|
+
- [OFT guide](../../../../../apps/oft-app/contracts/stellar/docs/oft-guide.md) —
|
|
505
|
+
Building Omnichain Fungible Tokens with MintBurn/LockUnlock strategies and extensions
|
|
506
|
+
(stub: [oft-guide.md](oft-guide.md))
|
|
505
507
|
|
|
506
508
|
## Error codes
|
|
507
509
|
|
package/docs/oapp-guide.md
CHANGED
|
@@ -1,405 +1,5 @@
|
|
|
1
1
|
# Building OApps on Stellar
|
|
2
2
|
|
|
3
|
-
This guide
|
|
3
|
+
This guide moved with the OApp package out of the protocol workspace.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
An OApp is a cross-chain application that can send and receive messages through LayerZero. The framework provides:
|
|
8
|
-
|
|
9
|
-
- **OAppCore**: Foundation for all OApp functionality (peer management, endpoint access)
|
|
10
|
-
- **OAppSenderInternal**: Enables sending cross-chain messages
|
|
11
|
-
- **OAppReceiver**: Handles incoming cross-chain messages
|
|
12
|
-
- **LzReceiveInternal**: Application-specific message handling logic
|
|
13
|
-
- **OAppOptionsType3**: Manages enforced options for message execution
|
|
14
|
-
|
|
15
|
-
## Quick start
|
|
16
|
-
|
|
17
|
-
The `#[oapp]` macro provides the simplest way to create an OApp:
|
|
18
|
-
|
|
19
|
-
```rust
|
|
20
|
-
use oapp::oapp_receiver::LzReceiveInternal;
|
|
21
|
-
use oapp_macros::oapp;
|
|
22
|
-
|
|
23
|
-
#[lz_contract]
|
|
24
|
-
#[oapp]
|
|
25
|
-
pub struct MyOApp;
|
|
26
|
-
|
|
27
|
-
impl LzReceiveInternal for MyOApp {
|
|
28
|
-
fn __lz_receive(
|
|
29
|
-
env: &Env,
|
|
30
|
-
origin: &Origin,
|
|
31
|
-
guid: &BytesN<32>,
|
|
32
|
-
message: &Bytes,
|
|
33
|
-
extra_data: &Bytes,
|
|
34
|
-
executor: &Address,
|
|
35
|
-
value: i128,
|
|
36
|
-
) {
|
|
37
|
-
// Your message handling logic here
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
The macro generates only OApp trait implementations. You must apply a contract macro such as
|
|
43
|
-
`#[common_macros::lz_contract]` to the struct. `#[lz_contract]` provides:
|
|
44
|
-
|
|
45
|
-
- `#[soroban_sdk::contract]` — makes the struct a Soroban contract
|
|
46
|
-
- `#[common_macros::ownable]` or `#[common_macros::multisig]` — Auth (use `#[lz_contract(multisig)]` for multisig)
|
|
47
|
-
- `#[common_macros::ttl_configurable]` — adds TTL configuration with auth
|
|
48
|
-
- `#[common_macros::ttl_extendable]` — adds manual TTL extension support
|
|
49
|
-
|
|
50
|
-
The `#[oapp]` macro generates:
|
|
51
|
-
|
|
52
|
-
- `OAppCore` implementation
|
|
53
|
-
- `OAppSenderInternal` implementation
|
|
54
|
-
- `OAppReceiver` implementation
|
|
55
|
-
- `OAppOptionsType3` implementation
|
|
56
|
-
|
|
57
|
-
## Initialization
|
|
58
|
-
|
|
59
|
-
Initialize your OApp in the constructor:
|
|
60
|
-
|
|
61
|
-
```rust
|
|
62
|
-
use oapp::oapp_core::init_ownable_oapp;
|
|
63
|
-
|
|
64
|
-
#[contract_impl]
|
|
65
|
-
impl MyOApp {
|
|
66
|
-
pub fn __constructor(env: &Env, owner: &Address, endpoint: &Address, delegate: &Address) {
|
|
67
|
-
init_ownable_oapp::<Self>(env, owner, endpoint, delegate);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
The `init_ownable_oapp` function:
|
|
73
|
-
|
|
74
|
-
1. Sets the contract owner
|
|
75
|
-
2. Stores the LayerZero endpoint address
|
|
76
|
-
3. Sets a delegate on the endpoint
|
|
77
|
-
|
|
78
|
-
## Access control
|
|
79
|
-
|
|
80
|
-
OApps use a two-layer authorization model. The `Auth` trait returns the contract's authorizer — the owner under `#[lz_contract]`, or the contract itself under `#[lz_contract(multisig)]`. On top of that, `RoleBasedAccessControl` adds OpenZeppelin-style role membership so administrative actions can be delegated without surrendering ownership. A vanilla `#[lz_contract] #[oapp]` contract exposes both layers automatically.
|
|
81
|
-
|
|
82
|
-
### Custom roles
|
|
83
|
-
|
|
84
|
-
Declare a role as a `&str` constant and gate methods with `#[only_role]` (role check + `require_auth`) or `#[has_role]` (role check only — use when the address has already been authenticated to avoid a duplicate `require_auth` panic):
|
|
85
|
-
|
|
86
|
-
```rust
|
|
87
|
-
use common_macros::only_role;
|
|
88
|
-
|
|
89
|
-
pub const CONFIG_MANAGER_ROLE: &str = "CONFIG_MANAGER";
|
|
90
|
-
|
|
91
|
-
#[contract_impl]
|
|
92
|
-
impl MyOApp {
|
|
93
|
-
#[only_role(operator, CONFIG_MANAGER_ROLE)]
|
|
94
|
-
pub fn set_config(env: &Env, value: u64, operator: &Address) {
|
|
95
|
-
// operator must hold CONFIG_MANAGER_ROLE
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
The role argument is expanded to `Symbol::new(env, ROLE)` internally.
|
|
101
|
-
|
|
102
|
-
### Managing roles
|
|
103
|
-
|
|
104
|
-
The standard RBAC entry points are auto-exposed by `#[oapp]`:
|
|
105
|
-
|
|
106
|
-
```rust
|
|
107
|
-
let role = Symbol::new(env, "CONFIG_MANAGER");
|
|
108
|
-
|
|
109
|
-
oapp_client.grant_role(&account, &role, &caller); // authorizer or role-admin
|
|
110
|
-
oapp_client.revoke_role(&account, &role, &caller); // authorizer or role-admin
|
|
111
|
-
oapp_client.renounce_role(&role, &account); // self only
|
|
112
|
-
oapp_client.set_role_admin(&role, &admin_role); // authorizer only
|
|
113
|
-
oapp_client.remove_role_admin(&role); // authorizer only
|
|
114
|
-
|
|
115
|
-
oapp_client.has_role(&account, &role); // Option<u32>
|
|
116
|
-
oapp_client.get_role_admin(&role); // Option<Symbol>
|
|
117
|
-
oapp_client.get_role_member_count(&role); // u32
|
|
118
|
-
oapp_client.get_role_member(&role, index); // Address — panics if out of bounds
|
|
119
|
-
oapp_client.get_existing_roles(); // Vec<Symbol>, capped at 256
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Operations emit `RoleGranted`, `RoleRevoked`, and `RoleAdminChanged` events; failures surface as `RbacError` variants (`Unauthorized`, `RoleNotHeld`, `AdminRoleNotFound`, `MaxRolesExceeded`, etc.).
|
|
123
|
-
|
|
124
|
-
### Constructor-time setup
|
|
125
|
-
|
|
126
|
-
Constructors run before an authorizer is in scope, so use the `_no_auth` helpers to seed roles:
|
|
127
|
-
|
|
128
|
-
```rust
|
|
129
|
-
use utils::rbac::{grant_role_no_auth, set_role_admin_no_auth};
|
|
130
|
-
|
|
131
|
-
#[contract_impl]
|
|
132
|
-
impl MyOApp {
|
|
133
|
-
pub fn __constructor(
|
|
134
|
-
env: &Env,
|
|
135
|
-
owner: &Address,
|
|
136
|
-
endpoint: &Address,
|
|
137
|
-
delegate: &Address,
|
|
138
|
-
config_manager: &Address,
|
|
139
|
-
) {
|
|
140
|
-
init_ownable_oapp::<Self>(env, owner, endpoint, delegate);
|
|
141
|
-
|
|
142
|
-
let role = Symbol::new(env, "CONFIG_MANAGER");
|
|
143
|
-
grant_role_no_auth(env, config_manager, &role, owner);
|
|
144
|
-
set_role_admin_no_auth(env, &role, &Symbol::new(env, "CONFIG_ADMIN"));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
## Peer management
|
|
150
|
-
|
|
151
|
-
Before sending or receiving messages, configure peers for each destination chain:
|
|
152
|
-
|
|
153
|
-
```rust
|
|
154
|
-
// Set a peer (owner only). Pass owner as operator (reserved for future RBAC).
|
|
155
|
-
oapp.set_peer(env, dst_eid, &Some(peer_address_bytes32), &owner);
|
|
156
|
-
|
|
157
|
-
// Remove a peer
|
|
158
|
-
oapp.set_peer(env, dst_eid, &None, &owner);
|
|
159
|
-
|
|
160
|
-
// Query a peer
|
|
161
|
-
let peer = oapp.peer(env, dst_eid);
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
Peers are stored as `BytesN<32>` to maintain cross-chain address compatibility.
|
|
165
|
-
|
|
166
|
-
## Sending messages
|
|
167
|
-
|
|
168
|
-
Use the internal sender methods to send cross-chain messages:
|
|
169
|
-
|
|
170
|
-
```rust
|
|
171
|
-
use oapp::oapp_sender::{FeePayer, OAppSenderInternal};
|
|
172
|
-
|
|
173
|
-
impl MyOApp {
|
|
174
|
-
pub fn send_message(env: &Env, caller: &Address, dst_eid: u32, message: &Bytes, options: &Bytes, fee: &MessagingFee) {
|
|
175
|
-
caller.require_auth();
|
|
176
|
-
|
|
177
|
-
// Send the message — caller already authorized, use FeePayer::Verified to avoid
|
|
178
|
-
// a duplicate require_auth() node in the Soroban auth tree.
|
|
179
|
-
Self::__lz_send(env, dst_eid, message, options, &FeePayer::Verified(caller.clone()), fee, caller);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
pub fn quote(env: &Env, dst_eid: u32, message: &Bytes, options: &Bytes, pay_in_zro: bool) -> MessagingFee {
|
|
183
|
-
Self::__quote(env, dst_eid, message, options, pay_in_zro)
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
The `__lz_send` method accepts a [`FeePayer`] enum that indicates authorization state:
|
|
189
|
-
|
|
190
|
-
- `FeePayer::Unverified(addr)` — Safe default. `__lz_send` will call `addr.require_auth()`.
|
|
191
|
-
- `FeePayer::Verified(addr)` — Caller already called `require_auth()` on this address.
|
|
192
|
-
|
|
193
|
-
The method then:
|
|
194
|
-
|
|
195
|
-
1. Transfers the native fee from the payer to the endpoint
|
|
196
|
-
2. Transfers the ZRO fee if applicable
|
|
197
|
-
3. Looks up the peer for the destination
|
|
198
|
-
4. Calls the endpoint's `send` function
|
|
199
|
-
|
|
200
|
-
## Receiving messages
|
|
201
|
-
|
|
202
|
-
Implement `LzReceiveInternal` to handle incoming messages:
|
|
203
|
-
|
|
204
|
-
```rust
|
|
205
|
-
impl LzReceiveInternal for MyOApp {
|
|
206
|
-
fn __lz_receive(
|
|
207
|
-
env: &Env,
|
|
208
|
-
origin: &Origin, // Contains src_eid, sender, nonce
|
|
209
|
-
guid: &BytesN<32>, // Unique message identifier
|
|
210
|
-
message: &Bytes, // The message payload
|
|
211
|
-
extra_data: &Bytes, // Additional data from executor
|
|
212
|
-
executor: &Address, // Executor who delivered the message
|
|
213
|
-
value: i128, // Native token value sent with message
|
|
214
|
-
) {
|
|
215
|
-
// Your message handling logic
|
|
216
|
-
// Note: clear_payload_and_transfer is called automatically before this
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
The default `lz_receive` flow:
|
|
222
|
-
|
|
223
|
-
1. Requires executor authorization
|
|
224
|
-
2. Transfers native value from executor to OApp (if any)
|
|
225
|
-
3. Verifies the sender matches the configured peer
|
|
226
|
-
4. Clears the payload from the endpoint
|
|
227
|
-
5. Calls your `__lz_receive` implementation
|
|
228
|
-
|
|
229
|
-
## Custom implementations
|
|
230
|
-
|
|
231
|
-
Use `#[oapp(custom = [...])]` to override default behavior:
|
|
232
|
-
|
|
233
|
-
### Custom receiver (ordered delivery)
|
|
234
|
-
|
|
235
|
-
```rust
|
|
236
|
-
#[common_macros::lz_contract]
|
|
237
|
-
#[oapp(custom = [receiver])]
|
|
238
|
-
pub struct MyOrderedOApp;
|
|
239
|
-
|
|
240
|
-
impl LzReceiveInternal for MyOrderedOApp {
|
|
241
|
-
fn __lz_receive(env: &Env, origin: &Origin, ...) {
|
|
242
|
-
// Your logic here
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
#[contract_impl(contracttrait)]
|
|
247
|
-
impl OAppReceiver for MyOrderedOApp {
|
|
248
|
-
fn next_nonce(env: &Env, src_eid: u32, sender: &BytesN<32>) -> u64 {
|
|
249
|
-
// Return expected nonce for ordered delivery
|
|
250
|
-
// Return 0 for unordered (default)
|
|
251
|
-
Storage::max_received_nonce(env, src_eid, sender) + 1
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### Custom core (version override)
|
|
257
|
-
|
|
258
|
-
```rust
|
|
259
|
-
#[oapp(custom = [core])]
|
|
260
|
-
pub struct MyOApp;
|
|
261
|
-
|
|
262
|
-
#[contract_impl(contracttrait)]
|
|
263
|
-
#[common_macros::ownable]
|
|
264
|
-
impl OAppCore for MyOApp {
|
|
265
|
-
fn oapp_version(_env: &Env) -> (u64, u64) {
|
|
266
|
-
(2, 1) // Custom version
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
### Multiple custom implementations
|
|
272
|
-
|
|
273
|
-
```rust
|
|
274
|
-
#[oapp(custom = [core, receiver, options_type3])]
|
|
275
|
-
pub struct MyCustomOApp;
|
|
276
|
-
|
|
277
|
-
// Implement each trait manually...
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
## Debugging and recovering messages
|
|
281
|
-
|
|
282
|
-
An inbound path is tracked by `(receiver, src_eid, sender)` and guarded by an Endpoint nonce.
|
|
283
|
-
A message can only be delivered — via `lz_receive` (on the OApp) or `clear` (on the Endpoint) — once its nonce is at or below
|
|
284
|
-
`inbound_nonce`, and `inbound_nonce` only advances across the gapless prefix of verified, skipped,
|
|
285
|
-
or nilified nonces. Two very different situations are worth separating:
|
|
286
|
-
|
|
287
|
-
- **A verification gap truly stalls the channel.** If a lower nonce is never verified, `inbound_nonce`
|
|
288
|
-
stops before it, so every nonce at or above the gap becomes undeliverable until the gap is resolved
|
|
289
|
-
(for example, verified or skipped).
|
|
290
|
-
- **A reverting `lz_receive` does not, by itself, block later nonces.** The payload hash stays stored,
|
|
291
|
-
so that nonce can be retried or cleared. Whether a stuck nonce holds up higher ones depends on
|
|
292
|
-
whether the OApp enforces ordered delivery via `next_nonce` (the default returns `0`, i.e. unordered).
|
|
293
|
-
|
|
294
|
-
The Endpoint exposes four channel-management operations for an OApp to recover from these situations.
|
|
295
|
-
They are the on-chain equivalents of the skip / clear / nilify / burn flow described for other VMs.
|
|
296
|
-
|
|
297
|
-
### Authorization
|
|
298
|
-
|
|
299
|
-
All four operations are gated by `require_oapp_auth`: the `caller` must be **the OApp contract
|
|
300
|
-
itself or its registered delegate**, and `caller.require_auth()` is enforced. The `receiver`
|
|
301
|
-
argument is always the OApp address. Two calling patterns are available:
|
|
302
|
-
|
|
303
|
-
- **Delegate calls the endpoint directly** — the delegate set via `set_delegate` (typically the
|
|
304
|
-
owner or an admin) invokes the endpoint, passing itself as `caller` and the OApp as `receiver`.
|
|
305
|
-
- **OApp wraps the call** — add an admin-gated method on the OApp that reaches the endpoint through
|
|
306
|
-
the shared client and passes the OApp as both `caller` and `receiver`:
|
|
307
|
-
|
|
308
|
-
```rust
|
|
309
|
-
use oapp::oapp_core::endpoint_client;
|
|
310
|
-
|
|
311
|
-
#[contract_impl]
|
|
312
|
-
impl MyOApp {
|
|
313
|
-
#[only_role(operator, MESSAGE_ADMIN_ROLE)]
|
|
314
|
-
pub fn skip_message(env: &Env, src_eid: u32, sender: &BytesN<32>, nonce: u64, operator: &Address) {
|
|
315
|
-
let oapp = env.current_contract_address();
|
|
316
|
-
endpoint_client::<Self>(env).skip(&oapp, &oapp, &src_eid, sender, &nonce);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
`endpoint_client::<Self>(env)` returns the endpoint client, which exposes `skip`, `clear`, `nilify`,
|
|
322
|
-
and `burn` alongside a read-only `inbound_payload_hash` for inspecting stored payloads.
|
|
323
|
-
|
|
324
|
-
### Skip
|
|
325
|
-
|
|
326
|
-
Skips the next expected inbound nonce **before it is verified**. Use this to bypass a message you
|
|
327
|
-
never want delivered (e.g. flagged by a precrime alert) so the channel keeps advancing.
|
|
328
|
-
|
|
329
|
-
```rust
|
|
330
|
-
endpoint.skip(&caller, &receiver, src_eid, &sender, nonce);
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
- `nonce` **must** be the next expected nonce (`inbound_nonce + 1`), otherwise the call fails with
|
|
334
|
-
`EndpointError::InvalidNonce`.
|
|
335
|
-
- The skipped nonce counts as "verified" for ordering purposes, so subsequent nonces can proceed.
|
|
336
|
-
- Emits `InboundNonceSkipped`.
|
|
337
|
-
|
|
338
|
-
### Clear
|
|
339
|
-
|
|
340
|
-
Clears a **verified** message from the channel without running your `__lz_receive` logic. This is the
|
|
341
|
-
PULL-mode counterpart to `lz_receive`: use it to accept-and-drop a payload that can never execute
|
|
342
|
-
successfully but that you want to move past.
|
|
343
|
-
|
|
344
|
-
```rust
|
|
345
|
-
endpoint.clear(&caller, &origin, &receiver, &guid, &message);
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
- Requires the reconstructed payload (`guid` + `message`) to match the stored payload hash for the
|
|
349
|
-
nonce carried in `origin`; a missing or mismatched hash fails with
|
|
350
|
-
`EndpointError::PayloadHashNotFound`.
|
|
351
|
-
- The nonce must be at or below `inbound_nonce`, otherwise the call fails with
|
|
352
|
-
`EndpointError::InvalidNonce`.
|
|
353
|
-
- Removes the stored payload hash and emits `PacketDelivered`, but does **not** advance
|
|
354
|
-
`inbound_nonce`; nonce advancement happens during `verify`, `skip`, or `nilify`.
|
|
355
|
-
|
|
356
|
-
### Nilify
|
|
357
|
-
|
|
358
|
-
Marks a message as nil so it **cannot execute until it is re-verified**. Unlike `burn`, the message
|
|
359
|
-
can be verified again later, making this the recoverable option for temporarily blocking a nonce.
|
|
360
|
-
|
|
361
|
-
```rust
|
|
362
|
-
endpoint.nilify(&caller, &receiver, src_eid, &sender, nonce, &payload_hash);
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
- `payload_hash` must match the currently stored hash; a mismatch fails with
|
|
366
|
-
`EndpointError::PayloadHashNotFound`.
|
|
367
|
-
- Pass `None` only when no hash is stored yet, and only for a future nonce inside the pending window
|
|
368
|
-
(`inbound_nonce < nonce <= inbound_nonce + 256`).
|
|
369
|
-
- Sets the stored hash to the NIL sentinel; a fresh `verify` can restore it.
|
|
370
|
-
- Emits `PacketNilified`.
|
|
371
|
-
|
|
372
|
-
### Burn
|
|
373
|
-
|
|
374
|
-
Permanently marks a nonce as **unexecutable and un-verifiable** — it can never be re-verified or
|
|
375
|
-
executed. Use this as the terminal action for a message you have decided to discard for good.
|
|
376
|
-
|
|
377
|
-
```rust
|
|
378
|
-
endpoint.burn(&caller, &receiver, src_eid, &sender, nonce, &payload_hash);
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
- There must be a matching stored payload hash — possibly the NIL sentinel left by `nilify` — at the
|
|
382
|
-
target nonce. A missing or mismatched hash fails with `EndpointError::PayloadHashNotFound`.
|
|
383
|
-
- `nonce` must be at or below `inbound_nonce`; otherwise the call fails with
|
|
384
|
-
`EndpointError::InvalidNonce`.
|
|
385
|
-
- Removes the payload hash from storage and emits `PacketBurnt`.
|
|
386
|
-
|
|
387
|
-
## Example: Counter OApp
|
|
388
|
-
|
|
389
|
-
See `contracts/oapps/counter/` for a complete example demonstrating:
|
|
390
|
-
|
|
391
|
-
- Basic send/receive flow
|
|
392
|
-
- Ordered nonce enforcement
|
|
393
|
-
- Compose message handling
|
|
394
|
-
- ABA (request-response) pattern
|
|
395
|
-
|
|
396
|
-
## Key traits summary
|
|
397
|
-
|
|
398
|
-
| Trait | Purpose | Default behavior |
|
|
399
|
-
| ------------------------ | -------------------------------- | --------------------------------------------------------------- |
|
|
400
|
-
| `OAppCore` | Peer management, endpoint access | Stores endpoint, manages peers |
|
|
401
|
-
| `OAppSenderInternal` | Send cross-chain messages | Handles fee payment and message dispatch |
|
|
402
|
-
| `OAppReceiver` | Receive cross-chain messages | Clears payload, delegates to `__lz_receive` |
|
|
403
|
-
| `LzReceiveInternal` | Application message handling | **Must implement** |
|
|
404
|
-
| `OAppOptionsType3` | Enforced execution options | No enforced options |
|
|
405
|
-
| `RoleBasedAccessControl` | Role-based access control | Provided automatically; manages role grants and admin hierarchy |
|
|
5
|
+
See **[apps/oapp-app/contracts/stellar/docs/oapp-guide.md](../../../../../apps/oapp-app/contracts/stellar/docs/oapp-guide.md)**.
|