@layerzerolabs/protocol-stellar-v2 0.2.13 → 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.
Files changed (435) hide show
  1. package/.turbo/turbo-build.log +484 -337
  2. package/.turbo/turbo-lint.log +126 -56
  3. package/.turbo/turbo-test.log +1403 -984
  4. package/Cargo.lock +142 -3
  5. package/Cargo.toml +5 -1
  6. package/contracts/ERROR_SPEC.md +44 -0
  7. package/contracts/common-macros/src/auth.rs +113 -0
  8. package/contracts/common-macros/src/contract_ttl.rs +84 -0
  9. package/contracts/common-macros/src/lib.rs +219 -29
  10. package/contracts/common-macros/src/lz_contract.rs +83 -0
  11. package/contracts/common-macros/src/storage.rs +1 -1
  12. package/contracts/common-macros/src/tests/{ownable.rs → auth.rs} +48 -15
  13. package/contracts/common-macros/src/tests/contract_ttl.rs +662 -0
  14. package/contracts/common-macros/src/tests/mod.rs +3 -2
  15. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -0
  16. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +24 -0
  17. 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
  18. 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} +26 -10
  19. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +69 -0
  20. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__storage__snapshot_generated_storage_code.snap +48 -48
  21. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +7 -41
  22. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +21 -0
  23. package/contracts/common-macros/src/tests/upgradeable.rs +31 -0
  24. package/contracts/common-macros/src/ttl_configurable.rs +21 -66
  25. package/contracts/common-macros/src/ttl_extendable.rs +36 -0
  26. package/contracts/common-macros/src/upgradeable.rs +76 -0
  27. package/contracts/common-macros/src/utils.rs +9 -0
  28. package/contracts/endpoint-v2/src/constants.rs +4 -4
  29. package/contracts/endpoint-v2/src/endpoint_v2.rs +58 -36
  30. package/contracts/endpoint-v2/src/errors.rs +4 -3
  31. package/contracts/endpoint-v2/src/events.rs +1 -1
  32. package/contracts/endpoint-v2/src/message_lib_manager.rs +18 -5
  33. package/contracts/endpoint-v2/src/messaging_channel.rs +11 -1
  34. package/contracts/endpoint-v2/src/messaging_composer.rs +11 -1
  35. package/contracts/endpoint-v2/src/storage.rs +1 -1
  36. package/contracts/endpoint-v2/src/tests/endpoint_setup.rs +175 -8
  37. package/contracts/endpoint-v2/src/tests/endpoint_v2/build_outbound_packet.rs +76 -0
  38. package/contracts/endpoint-v2/src/tests/endpoint_v2/clear.rs +342 -159
  39. package/contracts/endpoint-v2/src/tests/endpoint_v2/delegate.rs +3 -15
  40. package/contracts/endpoint-v2/src/tests/endpoint_v2/initializable.rs +20 -31
  41. package/contracts/endpoint-v2/src/tests/endpoint_v2/lz_receive_alert.rs +126 -164
  42. package/contracts/endpoint-v2/src/tests/endpoint_v2/mod.rs +1 -0
  43. package/contracts/endpoint-v2/src/tests/endpoint_v2/native_token.rs +0 -1
  44. package/contracts/endpoint-v2/src/tests/endpoint_v2/owner.rs +0 -1
  45. package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +311 -304
  46. package/contracts/endpoint-v2/src/tests/endpoint_v2/quote.rs +423 -96
  47. package/contracts/endpoint-v2/src/tests/endpoint_v2/recover_token.rs +1 -1
  48. package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +47 -20
  49. package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +373 -403
  50. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_delegate.rs +96 -22
  51. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +62 -10
  52. package/contracts/endpoint-v2/src/tests/endpoint_v2/transfer_ownership.rs +4 -4
  53. package/contracts/endpoint-v2/src/tests/endpoint_v2/ttl_config.rs +8 -11
  54. package/contracts/endpoint-v2/src/tests/endpoint_v2/verifiable.rs +81 -30
  55. package/contracts/endpoint-v2/src/tests/endpoint_v2/verify.rs +209 -76
  56. package/contracts/endpoint-v2/src/tests/endpoint_v2/zro.rs +0 -1
  57. package/contracts/endpoint-v2/src/tests/message_lib_manager/default_receive_library.rs +24 -0
  58. package/contracts/endpoint-v2/src/tests/message_lib_manager/default_receive_library_timeout.rs +40 -0
  59. package/contracts/endpoint-v2/src/tests/message_lib_manager/default_send_library.rs +24 -0
  60. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_config.rs +108 -0
  61. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_library_index.rs +52 -0
  62. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_receive_library.rs +92 -0
  63. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_registered_libraries.rs +74 -0
  64. package/contracts/endpoint-v2/src/tests/message_lib_manager/get_send_library.rs +83 -0
  65. package/contracts/endpoint-v2/src/tests/message_lib_manager/is_registered_library.rs +32 -0
  66. package/contracts/endpoint-v2/src/tests/message_lib_manager/is_supported_eid.rs +28 -0
  67. package/contracts/endpoint-v2/src/tests/message_lib_manager/is_valid_receive_library.rs +261 -0
  68. package/contracts/endpoint-v2/src/tests/message_lib_manager/mod.rs +16 -0
  69. package/contracts/endpoint-v2/src/tests/message_lib_manager/receive_library_timeout.rs +62 -0
  70. package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +65 -43
  71. package/contracts/endpoint-v2/src/tests/message_lib_manager/registered_libraries_count.rs +42 -0
  72. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +61 -0
  73. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +4 -6
  74. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +59 -0
  75. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +16 -2
  76. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_config.rs +155 -51
  77. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +114 -92
  78. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_library.rs +235 -132
  79. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_send_library.rs +93 -87
  80. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library.rs +346 -245
  81. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library_timeout.rs +406 -60
  82. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_send_library.rs +252 -78
  83. package/contracts/endpoint-v2/src/tests/message_lib_manager/timeout.rs +102 -0
  84. package/contracts/endpoint-v2/src/tests/messaging_channel/burn.rs +212 -273
  85. package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +203 -0
  86. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +94 -0
  87. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound_nonce.rs +78 -248
  88. package/contracts/endpoint-v2/src/tests/messaging_channel/inbound_payload_hash.rs +7 -282
  89. package/contracts/endpoint-v2/src/tests/messaging_channel/lazy_inbound_nonce.rs +6 -274
  90. package/contracts/endpoint-v2/src/tests/messaging_channel/mod.rs +3 -2
  91. package/contracts/endpoint-v2/src/tests/messaging_channel/next_guid.rs +86 -178
  92. package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +328 -212
  93. package/contracts/endpoint-v2/src/tests/messaging_channel/outbound.rs +68 -0
  94. package/contracts/endpoint-v2/src/tests/messaging_channel/outbound_nonce.rs +6 -209
  95. package/contracts/endpoint-v2/src/tests/messaging_channel/skip.rs +207 -159
  96. package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +142 -153
  97. package/contracts/endpoint-v2/src/tests/messaging_composer/compose_queue.rs +6 -179
  98. package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +163 -221
  99. package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +90 -121
  100. package/contracts/endpoint-v2/src/tests/mock.rs +18 -4
  101. package/contracts/endpoint-v2/src/tests/util/build_payload.rs +4 -70
  102. package/contracts/endpoint-v2/src/tests/util/compute_guid.rs +2 -1
  103. package/contracts/endpoint-v2/src/tests/util/keccak256.rs +17 -106
  104. package/contracts/layerzero-views/Cargo.toml +35 -0
  105. package/contracts/layerzero-views/src/errors.rs +10 -0
  106. package/contracts/layerzero-views/src/layerzero_view.rs +226 -0
  107. package/contracts/layerzero-views/src/lib.rs +38 -0
  108. package/contracts/layerzero-views/src/storage.rs +18 -0
  109. package/contracts/layerzero-views/src/tests/layerzero_view_tests.rs +423 -0
  110. package/contracts/layerzero-views/src/tests/mod.rs +4 -0
  111. package/contracts/layerzero-views/src/tests/setup.rs +377 -0
  112. package/contracts/layerzero-views/src/types.rs +50 -0
  113. package/contracts/macro-integration-tests/Cargo.toml +30 -0
  114. package/contracts/macro-integration-tests/src/lib.rs +1 -0
  115. package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +62 -0
  116. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +22 -0
  117. package/contracts/macro-integration-tests/tests/runtime/ownable/only_auth_guard.rs +97 -0
  118. package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +101 -0
  119. package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +225 -0
  120. package/contracts/macro-integration-tests/tests/runtime/storage/mod.rs +4 -0
  121. package/contracts/macro-integration-tests/tests/runtime/storage/name_override_runtime.rs +52 -0
  122. package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +261 -0
  123. package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +137 -0
  124. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +113 -0
  125. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +139 -0
  126. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +2 -0
  127. package/contracts/macro-integration-tests/tests/runtime.rs +5 -0
  128. package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.rs +12 -0
  129. package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.stderr +7 -0
  130. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.rs +12 -0
  131. package/contracts/macro-integration-tests/tests/ui/error/fail/decreasing_discriminant.stderr +7 -0
  132. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.rs +21 -0
  133. package/contracts/macro-integration-tests/tests/ui/error/fail/non_int_discriminant.stderr +7 -0
  134. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.rs +13 -0
  135. package/contracts/macro-integration-tests/tests/ui/error/fail/non_unit_variant.stderr +7 -0
  136. package/contracts/macro-integration-tests/tests/ui/error/pass/attr_on_variant_allowed.rs +20 -0
  137. package/contracts/macro-integration-tests/tests/ui/error/pass/basic_auto_discriminants.rs +15 -0
  138. package/contracts/macro-integration-tests/tests/ui/error/pass/mixed_discriminants.rs +16 -0
  139. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +22 -0
  140. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +16 -0
  141. package/contracts/macro-integration-tests/tests/ui/ownable/pass/minimal_contract.rs +26 -0
  142. package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +21 -0
  143. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +46 -0
  144. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.rs +13 -0
  145. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +7 -0
  146. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.rs +13 -0
  147. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +7 -0
  148. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.rs +10 -0
  149. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_storage_kinds.stderr +7 -0
  150. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.rs +12 -0
  151. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +7 -0
  152. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.rs +10 -0
  153. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_on_non_persistent.stderr +7 -0
  154. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.rs +10 -0
  155. package/contracts/macro-integration-tests/tests/ui/storage/fail/non_enum_input.stderr +7 -0
  156. package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.rs +12 -0
  157. package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.stderr +7 -0
  158. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.rs +13 -0
  159. package/contracts/macro-integration-tests/tests/ui/storage/fail/tuple_variant_rejected.stderr +7 -0
  160. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.rs +13 -0
  161. package/contracts/macro-integration-tests/tests/ui/storage/fail/unknown_variant_attr.stderr +7 -0
  162. package/contracts/macro-integration-tests/tests/ui/storage/pass/default_value_on_variant.rs +14 -0
  163. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_instance_unit_basic.rs +14 -0
  164. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_persistent_named_fields_keyed.rs +16 -0
  165. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_temporary_unit_option.rs +15 -0
  166. package/contracts/macro-integration-tests/tests/ui/storage/pass/name_override.rs +14 -0
  167. package/contracts/macro-integration-tests/tests/ui/storage/pass/no_auto_ttl_extension.rs +19 -0
  168. package/contracts/macro-integration-tests/tests/ui/storage/pass/ttl_provider_basic.rs +15 -0
  169. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/minimal_contract.rs +44 -0
  170. package/contracts/macro-integration-tests/tests/ui_error.rs +11 -0
  171. package/contracts/macro-integration-tests/tests/ui_ownable.rs +11 -0
  172. package/contracts/macro-integration-tests/tests/ui_storage.rs +11 -0
  173. package/contracts/macro-integration-tests/tests/ui_ttl_configurable.rs +12 -0
  174. package/contracts/message-libs/blocked-message-lib/src/lib.rs +17 -17
  175. package/contracts/message-libs/message-lib-common/src/errors.rs +7 -2
  176. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +64 -0
  177. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/encode_packet.rs +58 -0
  178. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/encode_packet_header.rs +138 -0
  179. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/mod.rs +6 -0
  180. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/payload.rs +30 -0
  181. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/payload_hash.rs +15 -0
  182. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/test_helper.rs +39 -0
  183. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_dvn_option.rs +57 -0
  184. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +49 -0
  185. package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +73 -0
  186. package/contracts/message-libs/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +280 -0
  187. package/contracts/message-libs/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +126 -0
  188. package/contracts/message-libs/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +48 -0
  189. package/contracts/message-libs/message-lib-common/src/tests/worker_options/mod.rs +7 -0
  190. package/contracts/message-libs/message-lib-common/src/tests/worker_options/split_worker_options.rs +139 -0
  191. package/contracts/message-libs/message-lib-common/src/worker_options.rs +31 -1
  192. package/contracts/message-libs/simple-message-lib/src/simple_message_lib.rs +7 -9
  193. package/contracts/message-libs/treasury/src/errors.rs +2 -3
  194. package/contracts/message-libs/treasury/src/events.rs +1 -1
  195. package/contracts/message-libs/treasury/src/interfaces/zro_fee_lib.rs +2 -2
  196. package/contracts/message-libs/treasury/src/lib.rs +3 -3
  197. package/contracts/message-libs/treasury/src/storage.rs +3 -1
  198. package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +1 -1
  199. package/contracts/message-libs/treasury/src/treasury.rs +23 -26
  200. package/contracts/message-libs/uln-302/Cargo.toml +1 -1
  201. package/contracts/message-libs/uln-302/src/errors.rs +0 -5
  202. package/contracts/message-libs/uln-302/src/events.rs +5 -6
  203. package/contracts/message-libs/uln-302/src/receive_uln.rs +37 -56
  204. package/contracts/message-libs/uln-302/src/send_uln.rs +112 -138
  205. package/contracts/message-libs/uln-302/src/storage.rs +5 -5
  206. package/contracts/message-libs/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +5 -7
  207. package/contracts/message-libs/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +3 -3
  208. package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +6 -9
  209. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +2 -2
  210. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +3 -3
  211. package/contracts/message-libs/uln-302/src/tests/setup.rs +9 -0
  212. package/contracts/message-libs/uln-302/src/tests/testing_utils.rs +5 -0
  213. package/contracts/message-libs/uln-302/src/tests/uln302/get_app_receive_uln_config.rs +1 -2
  214. package/contracts/message-libs/uln-302/src/tests/uln302/get_app_send_uln_config.rs +1 -2
  215. package/contracts/message-libs/uln-302/src/tests/uln302/set_config.rs +37 -55
  216. package/contracts/message-libs/uln-302/src/uln302.rs +10 -25
  217. package/contracts/oapps/counter/Cargo.toml +14 -1
  218. package/contracts/oapps/counter/integration_tests/mod.rs +4 -1
  219. package/contracts/oapps/counter/integration_tests/setup_sml.rs +169 -0
  220. package/contracts/oapps/counter/integration_tests/setup_uln.rs +997 -0
  221. package/contracts/oapps/counter/integration_tests/signing.rs +62 -0
  222. package/contracts/oapps/counter/integration_tests/test_with_sml.rs +24 -55
  223. package/contracts/oapps/counter/integration_tests/test_with_uln.rs +314 -0
  224. package/contracts/oapps/counter/integration_tests/utils.rs +196 -53
  225. package/contracts/oapps/counter/src/counter.rs +67 -44
  226. package/contracts/oapps/counter/src/tests/mod.rs +0 -13
  227. package/contracts/oapps/counter/src/tests/test_counter.rs +5 -7
  228. package/contracts/oapps/oapp/src/errors.rs +5 -1
  229. package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +318 -221
  230. package/contracts/oapps/oapp/src/oapp_core.rs +36 -21
  231. package/contracts/oapps/oapp/src/oapp_options_type3.rs +48 -12
  232. package/contracts/oapps/oapp/src/oapp_receiver.rs +106 -41
  233. package/contracts/oapps/oapp/src/oapp_sender.rs +26 -34
  234. package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +9 -9
  235. package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +25 -18
  236. package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +7 -8
  237. package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +14 -16
  238. package/contracts/oapps/oapp-macros/src/generators.rs +128 -0
  239. package/contracts/oapps/oapp-macros/src/lib.rs +211 -0
  240. package/contracts/oapps/oft/integration-tests/setup.rs +34 -9
  241. package/contracts/oapps/oft/integration-tests/utils.rs +1 -1
  242. package/contracts/oapps/oft/src/errors.rs +6 -1
  243. package/contracts/oapps/oft/src/extensions/oft_fee.rs +13 -13
  244. package/contracts/oapps/oft/src/extensions/pausable.rs +5 -5
  245. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +23 -23
  246. package/contracts/oapps/oft/src/lib.rs +4 -2
  247. package/contracts/oapps/oft/src/oft.rs +31 -71
  248. package/contracts/oapps/oft/src/oft_impl.rs +201 -0
  249. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +2 -4
  250. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +1 -4
  251. package/contracts/oapps/oft/src/storage.rs +2 -0
  252. package/contracts/oapps/oft/src/tests/extensions/setup.rs +60 -31
  253. package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +5 -3
  254. package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +5 -3
  255. package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +6 -4
  256. package/contracts/oapps/oft/src/tests/test_decimals.rs +2 -2
  257. package/contracts/oapps/oft/src/tests/test_oft_msg_codec.rs +1 -2
  258. package/contracts/oapps/oft/src/tests/test_send.rs +4 -4
  259. package/contracts/oapps/oft/src/tests/test_utils.rs +122 -81
  260. package/contracts/oapps/oft/src/types.rs +20 -0
  261. package/contracts/oapps/oft-std/Cargo.toml +6 -0
  262. package/contracts/oapps/oft-std/integration-tests/extensions/mod.rs +3 -0
  263. package/contracts/oapps/oft-std/integration-tests/extensions/test_oft_fee.rs +157 -0
  264. package/contracts/oapps/oft-std/integration-tests/extensions/test_pausable.rs +162 -0
  265. package/contracts/oapps/oft-std/integration-tests/extensions/test_rate_limiter.rs +186 -0
  266. package/contracts/oapps/oft-std/integration-tests/mod.rs +3 -0
  267. package/contracts/oapps/{counter/integration_tests → oft-std/integration-tests}/setup.rs +76 -30
  268. package/contracts/oapps/oft-std/integration-tests/utils.rs +427 -0
  269. package/contracts/oapps/oft-std/src/lib.rs +12 -1
  270. package/contracts/oapps/oft-std/src/oft.rs +141 -26
  271. package/contracts/upgrader/Cargo.toml +19 -0
  272. package/contracts/upgrader/src/lib.rs +96 -0
  273. package/contracts/upgrader/src/tests/mod.rs +1 -0
  274. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
  275. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
  276. package/contracts/upgrader/src/tests/test_upgrader.rs +120 -0
  277. package/contracts/utils/src/auth.rs +44 -0
  278. package/contracts/utils/src/errors.rs +32 -5
  279. package/contracts/utils/src/lib.rs +5 -1
  280. package/contracts/utils/src/multisig.rs +211 -0
  281. package/contracts/utils/src/ownable.rs +50 -60
  282. package/contracts/utils/src/tests/buffer_reader.rs +6 -6
  283. package/contracts/utils/src/tests/buffer_writer.rs +6 -6
  284. package/contracts/utils/src/tests/bytes_ext.rs +2 -4
  285. package/contracts/utils/src/tests/mod.rs +4 -1
  286. package/contracts/utils/src/tests/multisig.rs +731 -0
  287. package/contracts/utils/src/tests/option_ext.rs +18 -0
  288. package/contracts/utils/src/tests/ownable.rs +22 -70
  289. package/contracts/utils/src/tests/ttl_configurable.rs +607 -0
  290. package/contracts/utils/src/tests/upgradeable.rs +290 -0
  291. package/contracts/utils/src/ttl_configurable.rs +153 -0
  292. package/contracts/utils/src/ttl_extendable.rs +27 -0
  293. package/contracts/utils/src/upgradeable.rs +56 -0
  294. package/contracts/workers/dvn/Cargo.toml +2 -2
  295. package/contracts/workers/dvn/src/auth.rs +24 -35
  296. package/contracts/workers/dvn/src/dvn.rs +23 -14
  297. package/contracts/workers/dvn/src/errors.rs +1 -7
  298. package/contracts/workers/dvn/src/events.rs +1 -14
  299. package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
  300. package/contracts/workers/dvn/src/interfaces/mod.rs +0 -2
  301. package/contracts/workers/dvn/src/storage.rs +3 -13
  302. package/contracts/workers/dvn/src/tests/auth.rs +4 -4
  303. package/contracts/workers/dvn/src/tests/dvn.rs +1 -2
  304. package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +7 -8
  305. package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +11 -8
  306. package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +11 -12
  307. package/contracts/workers/dvn/src/tests/setup.rs +5 -5
  308. package/contracts/workers/dvn-fee-lib/Cargo.toml +0 -1
  309. package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +45 -16
  310. package/contracts/workers/dvn-fee-lib/src/errors.rs +3 -2
  311. package/contracts/workers/dvn-fee-lib/src/lib.rs +5 -11
  312. package/contracts/workers/dvn-fee-lib/src/tests/dvn_fee_lib.rs +30 -16
  313. package/contracts/workers/executor/src/auth.rs +80 -16
  314. package/contracts/workers/executor/src/executor.rs +17 -29
  315. package/contracts/workers/executor/src/storage.rs +2 -9
  316. package/contracts/workers/executor-fee-lib/Cargo.toml +1 -1
  317. package/contracts/workers/executor-fee-lib/src/errors.rs +9 -7
  318. package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +153 -121
  319. package/contracts/workers/executor-helper/Cargo.toml +1 -6
  320. package/contracts/workers/executor-helper/src/executor_helper.rs +53 -73
  321. package/contracts/workers/executor-helper/src/lib.rs +1 -7
  322. package/contracts/workers/price-feed/Cargo.toml +1 -2
  323. package/contracts/workers/price-feed/src/errors.rs +3 -2
  324. package/contracts/workers/price-feed/src/lib.rs +5 -6
  325. package/contracts/workers/price-feed/src/price_feed.rs +42 -23
  326. package/contracts/workers/worker/Cargo.toml +4 -0
  327. package/contracts/workers/worker/src/errors.rs +4 -0
  328. package/contracts/workers/worker/src/interfaces/price_feed.rs +3 -3
  329. package/contracts/workers/worker/src/lib.rs +2 -2
  330. package/contracts/workers/worker/src/tests/mod.rs +4 -0
  331. package/contracts/workers/worker/src/tests/setup.rs +147 -0
  332. package/contracts/workers/worker/src/tests/worker.rs +502 -0
  333. package/contracts/workers/worker/src/worker.rs +28 -30
  334. package/package.json +8 -5
  335. package/sdk/.turbo/turbo-build.log +1 -0
  336. package/sdk/.turbo/turbo-test.log +1009 -0
  337. package/sdk/dist/generated/bml.d.ts +104 -37
  338. package/sdk/dist/generated/bml.js +83 -42
  339. package/sdk/dist/generated/counter.d.ts +334 -175
  340. package/sdk/dist/generated/counter.js +109 -63
  341. package/sdk/dist/generated/dvn.d.ts +1985 -0
  342. package/sdk/dist/generated/dvn.js +326 -0
  343. package/sdk/dist/generated/dvn_fee_lib.d.ts +690 -0
  344. package/sdk/dist/generated/dvn_fee_lib.js +163 -0
  345. package/sdk/dist/generated/endpoint.d.ts +155 -46
  346. package/sdk/dist/generated/endpoint.js +93 -50
  347. package/sdk/dist/generated/executor.d.ts +1841 -0
  348. package/sdk/dist/generated/executor.js +312 -0
  349. package/sdk/dist/generated/executor_fee_lib.d.ts +1083 -0
  350. package/sdk/dist/generated/executor_fee_lib.js +255 -0
  351. package/sdk/dist/generated/executor_helper.d.ts +981 -0
  352. package/sdk/dist/generated/executor_helper.js +236 -0
  353. package/sdk/dist/generated/oft_std.d.ts +1722 -0
  354. package/sdk/dist/generated/oft_std.js +316 -0
  355. package/sdk/dist/generated/price_feed.d.ts +1077 -0
  356. package/sdk/dist/generated/price_feed.js +210 -0
  357. package/sdk/dist/generated/sml.d.ts +171 -56
  358. package/sdk/dist/generated/sml.js +111 -62
  359. package/sdk/dist/generated/treasury.d.ts +896 -0
  360. package/sdk/dist/generated/treasury.js +219 -0
  361. package/sdk/dist/generated/uln302.d.ts +175 -75
  362. package/sdk/dist/generated/uln302.js +126 -82
  363. package/sdk/dist/generated/upgrader.d.ts +70 -0
  364. package/sdk/dist/generated/upgrader.js +19 -0
  365. package/sdk/dist/index.d.ts +10 -0
  366. package/sdk/dist/index.js +14 -0
  367. package/sdk/dist/wasm/blocked-message-lib.d.ts +1 -0
  368. package/sdk/dist/wasm/blocked-message-lib.js +2 -0
  369. package/sdk/dist/wasm/counter.d.ts +1 -0
  370. package/sdk/dist/wasm/counter.js +2 -0
  371. package/sdk/dist/wasm/dvn-fee-lib.d.ts +1 -0
  372. package/sdk/dist/wasm/dvn-fee-lib.js +2 -0
  373. package/sdk/dist/wasm/dvn.d.ts +1 -0
  374. package/sdk/dist/wasm/dvn.js +2 -0
  375. package/sdk/dist/wasm/endpoint-v2.d.ts +1 -0
  376. package/sdk/dist/wasm/endpoint-v2.js +2 -0
  377. package/sdk/dist/wasm/executor-fee-lib.d.ts +1 -0
  378. package/sdk/dist/wasm/executor-fee-lib.js +2 -0
  379. package/sdk/dist/wasm/executor-helper.d.ts +1 -0
  380. package/sdk/dist/wasm/executor-helper.js +2 -0
  381. package/sdk/dist/wasm/executor.d.ts +1 -0
  382. package/sdk/dist/wasm/executor.js +2 -0
  383. package/sdk/dist/wasm/layerzero-views.d.ts +1 -0
  384. package/sdk/dist/wasm/layerzero-views.js +2 -0
  385. package/sdk/dist/wasm/oft-std.d.ts +1 -0
  386. package/sdk/dist/wasm/oft-std.js +2 -0
  387. package/sdk/dist/wasm/price-feed.d.ts +1 -0
  388. package/sdk/dist/wasm/price-feed.js +2 -0
  389. package/sdk/dist/wasm/simple-message-lib.d.ts +1 -0
  390. package/sdk/dist/wasm/simple-message-lib.js +2 -0
  391. package/sdk/dist/wasm/treasury.d.ts +1 -0
  392. package/sdk/dist/wasm/treasury.js +2 -0
  393. package/sdk/dist/wasm/uln302.d.ts +1 -0
  394. package/sdk/dist/wasm/uln302.js +2 -0
  395. package/sdk/dist/wasm/upgrader.d.ts +1 -0
  396. package/sdk/dist/wasm/upgrader.js +2 -0
  397. package/sdk/dist/wasm.d.ts +15 -0
  398. package/sdk/dist/wasm.js +15 -0
  399. package/sdk/package.json +7 -4
  400. package/sdk/src/index.ts +17 -0
  401. package/sdk/test/counter-sml.test.ts +376 -0
  402. package/sdk/test/counter-uln.test.ts +493 -0
  403. package/sdk/test/{oft.test.ts → oft-sml.test.ts} +187 -323
  404. package/sdk/test/suites/constants.ts +22 -2
  405. package/sdk/test/suites/dummyContractClient.ts +169 -0
  406. package/sdk/test/suites/globalSetup.ts +450 -0
  407. package/sdk/test/suites/localnet.ts +23 -6
  408. package/sdk/test/upgrader.test.ts +300 -0
  409. package/sdk/test/utils.ts +558 -85
  410. package/sdk/vitest.config.ts +21 -0
  411. package/tools/ts-bindings-gen/src/main.rs +12 -1
  412. package/turbo.json +2 -0
  413. package/contracts/common-macros/src/contract_impl.rs +0 -47
  414. package/contracts/common-macros/src/ownable.rs +0 -59
  415. package/contracts/common-macros/src/tests/contract_impl.rs +0 -381
  416. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ownable__snapshot_generated_ownable_code.snap +0 -32
  417. package/contracts/endpoint-v2/src/tests/messaging_channel/clear.rs +0 -316
  418. package/contracts/endpoint-v2/src/tests/messaging_channel/internal.rs +0 -388
  419. package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1.rs +0 -162
  420. package/contracts/message-libs/message-lib-common/src/tests/worker_options.rs +0 -319
  421. package/contracts/oapp-macros/src/lib.rs +0 -154
  422. package/contracts/oapp-macros/src/oapp_core.rs +0 -40
  423. package/contracts/oapp-macros/src/oapp_full.rs +0 -21
  424. package/contracts/oapp-macros/src/oapp_options_type3.rs +0 -31
  425. package/contracts/oapp-macros/src/oapp_receiver.rs +0 -48
  426. package/contracts/oapp-macros/src/oapp_sender.rs +0 -21
  427. package/contracts/oapp-macros/src/util.rs +0 -107
  428. package/contracts/oapps/oft/src/constants.rs +0 -5
  429. package/contracts/oapps/oft/src/default_oft_impl.rs +0 -146
  430. package/contracts/utils/src/tests/ttl.rs +0 -421
  431. package/contracts/utils/src/ttl.rs +0 -123
  432. package/contracts/workers/dvn/src/interfaces/multisig.rs +0 -56
  433. package/contracts/workers/dvn/src/multisig.rs +0 -153
  434. package/sdk/test/index.test.ts +0 -376
  435. /package/contracts/{oapp-macros → oapps/oapp-macros}/Cargo.toml +0 -0
@@ -0,0 +1,1077 @@
1
+ import { Buffer } from "buffer";
2
+ import { AssembledTransaction, Client as ContractClient, ClientOptions as ContractClientOptions, MethodOptions } from '@stellar/stellar-sdk/contract';
3
+ import type { u32, u64, u128, i128, Option } from '@stellar/stellar-sdk/contract';
4
+ export * from '@stellar/stellar-sdk';
5
+ export * as contract from '@stellar/stellar-sdk/contract';
6
+ export * as rpc from '@stellar/stellar-sdk/rpc';
7
+ export type MigrationData = void;
8
+ export type PriceFeedStorage = {
9
+ tag: "PriceRatioDenominator";
10
+ values: void;
11
+ } | {
12
+ tag: "PriceUpdater";
13
+ values: readonly [string];
14
+ } | {
15
+ tag: "DefaultModelPrice";
16
+ values: readonly [u32];
17
+ } | {
18
+ tag: "ArbitrumPriceExt";
19
+ values: void;
20
+ } | {
21
+ tag: "NativePriceUSD";
22
+ values: void;
23
+ } | {
24
+ tag: "ArbitrumCompressionPercent";
25
+ values: void;
26
+ } | {
27
+ tag: "EidToModelType";
28
+ values: readonly [u32];
29
+ };
30
+ export declare const PriceFeedError: {
31
+ 1: {
32
+ message: string;
33
+ };
34
+ 2: {
35
+ message: string;
36
+ };
37
+ 3: {
38
+ message: string;
39
+ };
40
+ 4: {
41
+ message: string;
42
+ };
43
+ 5: {
44
+ message: string;
45
+ };
46
+ };
47
+ /**
48
+ * Arbitrum-specific price extension
49
+ */
50
+ export interface ArbitrumPriceExt {
51
+ /**
52
+ * Gas cost per byte of L1 calldata (for Arbitrum's L1 data posting)
53
+ */
54
+ gas_per_l1_calldata_byte: u32;
55
+ /**
56
+ * Gas overhead per L2 transaction
57
+ */
58
+ gas_per_l2_tx: u64;
59
+ }
60
+ /**
61
+ * Parameter for updating a single price
62
+ */
63
+ export interface UpdatePrice {
64
+ /**
65
+ * Destination endpoint ID
66
+ */
67
+ eid: u32;
68
+ /**
69
+ * Price information for the destination
70
+ */
71
+ price: Price;
72
+ }
73
+ /**
74
+ * Parameter for updating Arbitrum price with extension
75
+ */
76
+ export interface UpdatePriceExt {
77
+ /**
78
+ * Destination endpoint ID (should be an Arbitrum endpoint)
79
+ */
80
+ eid: u32;
81
+ /**
82
+ * Arbitrum-specific pricing extension
83
+ */
84
+ extend: ArbitrumPriceExt;
85
+ /**
86
+ * Price information for the destination
87
+ */
88
+ price: Price;
89
+ }
90
+ /**
91
+ * Fee model type for different chain architectures
92
+ */
93
+ export declare enum ModelType {
94
+ Default = 0,
95
+ ArbStack = 1,
96
+ OpStack = 2
97
+ }
98
+ /**
99
+ * Parameter for setting EID to model type mapping
100
+ */
101
+ export interface SetEidToModelTypeParam {
102
+ /**
103
+ * Destination endpoint ID
104
+ */
105
+ dst_eid: u32;
106
+ /**
107
+ * Fee model type for this destination
108
+ */
109
+ model_type: ModelType;
110
+ }
111
+ /**
112
+ * BufferReaderError: 1000-1009
113
+ */
114
+ export declare const BufferReaderError: {
115
+ 1000: {
116
+ message: string;
117
+ };
118
+ 1001: {
119
+ message: string;
120
+ };
121
+ };
122
+ /**
123
+ * BufferWriterError: 1010-1019
124
+ */
125
+ export declare const BufferWriterError: {
126
+ 1010: {
127
+ message: string;
128
+ };
129
+ };
130
+ /**
131
+ * TtlConfigurableError: 1020-1029
132
+ */
133
+ export declare const TtlConfigurableError: {
134
+ 1020: {
135
+ message: string;
136
+ };
137
+ 1021: {
138
+ message: string;
139
+ };
140
+ 1022: {
141
+ message: string;
142
+ };
143
+ };
144
+ /**
145
+ * OwnableError: 1030-1039
146
+ */
147
+ export declare const OwnableError: {
148
+ 1030: {
149
+ message: string;
150
+ };
151
+ 1031: {
152
+ message: string;
153
+ };
154
+ };
155
+ /**
156
+ * BytesExtError: 1040-1049
157
+ */
158
+ export declare const BytesExtError: {
159
+ 1040: {
160
+ message: string;
161
+ };
162
+ };
163
+ /**
164
+ * UpgradeableError: 1050-1059
165
+ */
166
+ export declare const UpgradeableError: {
167
+ 1050: {
168
+ message: string;
169
+ };
170
+ };
171
+ /**
172
+ * MultisigError: 1060-1069
173
+ */
174
+ export declare const MultisigError: {
175
+ 1060: {
176
+ message: string;
177
+ };
178
+ 1061: {
179
+ message: string;
180
+ };
181
+ 1062: {
182
+ message: string;
183
+ };
184
+ 1063: {
185
+ message: string;
186
+ };
187
+ 1064: {
188
+ message: string;
189
+ };
190
+ 1065: {
191
+ message: string;
192
+ };
193
+ 1066: {
194
+ message: string;
195
+ };
196
+ 1067: {
197
+ message: string;
198
+ };
199
+ };
200
+ export type MultisigStorage = {
201
+ tag: "Signers";
202
+ values: void;
203
+ } | {
204
+ tag: "Threshold";
205
+ values: void;
206
+ };
207
+ export type OwnableStorage = {
208
+ tag: "Owner";
209
+ values: void;
210
+ };
211
+ /**
212
+ * TTL configuration: threshold (when to extend) and extend_to (target TTL).
213
+ */
214
+ export interface TtlConfig {
215
+ /**
216
+ * Target TTL after extension (in ledgers).
217
+ */
218
+ extend_to: u32;
219
+ /**
220
+ * TTL threshold that triggers extension (in ledgers).
221
+ */
222
+ threshold: u32;
223
+ }
224
+ export type TtlConfigStorage = {
225
+ tag: "Frozen";
226
+ values: void;
227
+ } | {
228
+ tag: "Instance";
229
+ values: void;
230
+ } | {
231
+ tag: "Persistent";
232
+ values: void;
233
+ };
234
+ export type UpgradeableStorage = {
235
+ tag: "Migrating";
236
+ values: void;
237
+ };
238
+ /**
239
+ * WorkerError: 1200-1299
240
+ */
241
+ export declare const WorkerError: {
242
+ 1200: {
243
+ message: string;
244
+ };
245
+ 1201: {
246
+ message: string;
247
+ };
248
+ 1202: {
249
+ message: string;
250
+ };
251
+ 1203: {
252
+ message: string;
253
+ };
254
+ 1204: {
255
+ message: string;
256
+ };
257
+ 1205: {
258
+ message: string;
259
+ };
260
+ 1206: {
261
+ message: string;
262
+ };
263
+ 1207: {
264
+ message: string;
265
+ };
266
+ 1208: {
267
+ message: string;
268
+ };
269
+ 1209: {
270
+ message: string;
271
+ };
272
+ 1210: {
273
+ message: string;
274
+ };
275
+ 1211: {
276
+ message: string;
277
+ };
278
+ 1212: {
279
+ message: string;
280
+ };
281
+ 1213: {
282
+ message: string;
283
+ };
284
+ 1214: {
285
+ message: string;
286
+ };
287
+ 1215: {
288
+ message: string;
289
+ };
290
+ 1216: {
291
+ message: string;
292
+ };
293
+ 1217: {
294
+ message: string;
295
+ };
296
+ 1218: {
297
+ message: string;
298
+ };
299
+ };
300
+ /**
301
+ * Parameters for DVN fee calculation.
302
+ *
303
+ * Contains all inputs needed by the fee library to calculate verification fees
304
+ * for cross-chain messages. Includes message parameters, common configuration,
305
+ * and destination-specific settings.
306
+ */
307
+ export interface DvnFeeParams {
308
+ /**
309
+ * Number of block confirmations required.
310
+ */
311
+ confirmations: u64;
312
+ /**
313
+ * Default fee multiplier in basis points (used if no dst-specific multiplier).
314
+ */
315
+ default_multiplier_bps: u32;
316
+ /**
317
+ * Destination endpoint ID (chain identifier).
318
+ */
319
+ dst_eid: u32;
320
+ /**
321
+ * Minimum fee margin in USD (scaled).
322
+ */
323
+ floor_margin_usd: u128;
324
+ /**
325
+ * ============================================================================================
326
+ * Destination-Specific Configuration
327
+ * ============================================================================================
328
+ * Gas estimate for verification on destination chain.
329
+ */
330
+ gas: u128;
331
+ /**
332
+ * Destination-specific fee multiplier in basis points (0 = use default).
333
+ */
334
+ multiplier_bps: u32;
335
+ /**
336
+ * DVN options
337
+ */
338
+ options: Buffer;
339
+ /**
340
+ * ============================================================================================
341
+ * Common Configuration
342
+ * ============================================================================================
343
+ * Price feed contract address for gas price and exchange rate data.
344
+ */
345
+ price_feed: string;
346
+ /**
347
+ * Number of required signatures (quorum).
348
+ */
349
+ quorum: u32;
350
+ /**
351
+ * ============================================================================================
352
+ * Message Parameters
353
+ * ============================================================================================
354
+ * The OApp sender address.
355
+ */
356
+ sender: string;
357
+ }
358
+ /**
359
+ * Parameters for executor fee calculation.
360
+ *
361
+ * Contains all inputs needed by the fee library to calculate execution fees
362
+ * for cross-chain messages. Includes message parameters, common configuration,
363
+ * and destination-specific settings.
364
+ */
365
+ export interface FeeParams {
366
+ /**
367
+ * Size of the message calldata in bytes.
368
+ */
369
+ calldata_size: u32;
370
+ /**
371
+ * Default fee multiplier in basis points (used if no dst-specific multiplier).
372
+ */
373
+ default_multiplier_bps: u32;
374
+ /**
375
+ * Destination endpoint ID (chain identifier).
376
+ */
377
+ dst_eid: u32;
378
+ /**
379
+ * Minimum fee margin in USD (scaled).
380
+ */
381
+ floor_margin_usd: u128;
382
+ /**
383
+ * Base gas for each lzCompose call on destination chain.
384
+ */
385
+ lz_compose_base_gas: u64;
386
+ /**
387
+ * ============================================================================================
388
+ * Destination-Specific Configuration
389
+ * ============================================================================================
390
+ * Base gas for lzReceive execution on destination chain.
391
+ */
392
+ lz_receive_base_gas: u64;
393
+ /**
394
+ * Destination-specific fee multiplier in basis points (0 = use default).
395
+ */
396
+ multiplier_bps: u32;
397
+ /**
398
+ * Maximum native token value that can be sent.
399
+ */
400
+ native_cap: u128;
401
+ /**
402
+ * Encoded executor options (lzReceive gas, lzCompose, nativeDrop, etc.).
403
+ */
404
+ options: Buffer;
405
+ /**
406
+ * ============================================================================================
407
+ * Common Configuration
408
+ * ============================================================================================
409
+ * Price feed contract address for gas price and exchange rate data.
410
+ */
411
+ price_feed: string;
412
+ /**
413
+ * ============================================================================================
414
+ * Message Parameters
415
+ * ============================================================================================
416
+ * The OApp sender address.
417
+ */
418
+ sender: string;
419
+ }
420
+ /**
421
+ * Gas price information for a destination endpoint.
422
+ *
423
+ * Contains the exchange rate and gas costs needed for cross-chain fee calculations.
424
+ */
425
+ export interface Price {
426
+ /**
427
+ * Gas cost per byte of calldata on the destination chain.
428
+ */
429
+ gas_per_byte: u32;
430
+ /**
431
+ * Gas price in the smallest unit (wei for EVM, stroops for Stellar).
432
+ */
433
+ gas_price_in_unit: u64;
434
+ /**
435
+ * Price ratio = (remote native token price / local native token price) * PRICE_RATIO_DENOMINATOR.
436
+ * Used to convert destination chain gas costs to source chain native token.
437
+ */
438
+ price_ratio: u128;
439
+ }
440
+ /**
441
+ * Fee estimation result with detailed breakdown.
442
+ *
443
+ * Contains the calculated fee and all intermediate values used in the calculation.
444
+ */
445
+ export interface FeeEstimate {
446
+ /**
447
+ * Source chain native token price in USD (scaled).
448
+ */
449
+ native_price_usd: u128;
450
+ /**
451
+ * Price ratio used for the calculation.
452
+ */
453
+ price_ratio: u128;
454
+ /**
455
+ * Denominator for the price ratio (typically 10^20).
456
+ */
457
+ price_ratio_denominator: u128;
458
+ /**
459
+ * Total gas fee in source chain native token units.
460
+ */
461
+ total_gas_fee: i128;
462
+ }
463
+ export type WorkerStorage = {
464
+ tag: "Paused";
465
+ values: void;
466
+ } | {
467
+ tag: "DepositAddress";
468
+ values: void;
469
+ } | {
470
+ tag: "PriceFeed";
471
+ values: void;
472
+ } | {
473
+ tag: "WorkerFeeLib";
474
+ values: void;
475
+ } | {
476
+ tag: "DefaultMultiplierBps";
477
+ values: void;
478
+ } | {
479
+ tag: "SupportedOptionTypes";
480
+ values: readonly [u32];
481
+ } | {
482
+ tag: "MessageLibs";
483
+ values: void;
484
+ } | {
485
+ tag: "Allowlist";
486
+ values: readonly [string];
487
+ } | {
488
+ tag: "Denylist";
489
+ values: readonly [string];
490
+ } | {
491
+ tag: "AllowlistSize";
492
+ values: void;
493
+ } | {
494
+ tag: "Admins";
495
+ values: void;
496
+ };
497
+ export interface Client {
498
+ /**
499
+ * Construct and simulate a upgrade transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
500
+ */
501
+ upgrade: ({ new_wasm_hash }: {
502
+ new_wasm_hash: Buffer;
503
+ }, txnOptions?: {
504
+ /**
505
+ * The fee to pay for the transaction. Default: BASE_FEE
506
+ */
507
+ fee?: number;
508
+ /**
509
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
510
+ */
511
+ timeoutInSeconds?: number;
512
+ /**
513
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
514
+ */
515
+ simulate?: boolean;
516
+ }) => Promise<AssembledTransaction<null>>;
517
+ /**
518
+ * Construct and simulate a migrate transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
519
+ */
520
+ migrate: ({ migration_data }: {
521
+ migration_data: MigrationData;
522
+ }, txnOptions?: {
523
+ /**
524
+ * The fee to pay for the transaction. Default: BASE_FEE
525
+ */
526
+ fee?: number;
527
+ /**
528
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
529
+ */
530
+ timeoutInSeconds?: number;
531
+ /**
532
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
533
+ */
534
+ simulate?: boolean;
535
+ }) => Promise<AssembledTransaction<null>>;
536
+ /**
537
+ * Construct and simulate a authorizer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
538
+ */
539
+ authorizer: (txnOptions?: {
540
+ /**
541
+ * The fee to pay for the transaction. Default: BASE_FEE
542
+ */
543
+ fee?: number;
544
+ /**
545
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
546
+ */
547
+ timeoutInSeconds?: number;
548
+ /**
549
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
550
+ */
551
+ simulate?: boolean;
552
+ }) => Promise<AssembledTransaction<string>>;
553
+ /**
554
+ * Construct and simulate a estimate_fee_by_eid transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
555
+ * Estimate fee with detailed breakdown by endpoint ID
556
+ * Corresponds to estimateFeeByEid in PriceFeed.sol
557
+ */
558
+ estimate_fee_by_eid: ({ fee_lib, dst_eid, calldata_size, gas }: {
559
+ fee_lib: string;
560
+ dst_eid: u32;
561
+ calldata_size: u32;
562
+ gas: u128;
563
+ }, txnOptions?: {
564
+ /**
565
+ * The fee to pay for the transaction. Default: BASE_FEE
566
+ */
567
+ fee?: number;
568
+ /**
569
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
570
+ */
571
+ timeoutInSeconds?: number;
572
+ /**
573
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
574
+ */
575
+ simulate?: boolean;
576
+ }) => Promise<AssembledTransaction<FeeEstimate>>;
577
+ /**
578
+ * Construct and simulate a native_token_price_usd transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
579
+ * Get the native token price in USD
580
+ */
581
+ native_token_price_usd: (txnOptions?: {
582
+ /**
583
+ * The fee to pay for the transaction. Default: BASE_FEE
584
+ */
585
+ fee?: number;
586
+ /**
587
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
588
+ */
589
+ timeoutInSeconds?: number;
590
+ /**
591
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
592
+ */
593
+ simulate?: boolean;
594
+ }) => Promise<AssembledTransaction<u128>>;
595
+ /**
596
+ * Construct and simulate a get_price transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
597
+ * Get the price for a destination EID.
598
+ */
599
+ get_price: ({ dst_eid }: {
600
+ dst_eid: u32;
601
+ }, txnOptions?: {
602
+ /**
603
+ * The fee to pay for the transaction. Default: BASE_FEE
604
+ */
605
+ fee?: number;
606
+ /**
607
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
608
+ */
609
+ timeoutInSeconds?: number;
610
+ /**
611
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
612
+ */
613
+ simulate?: boolean;
614
+ }) => Promise<AssembledTransaction<Option<Price>>>;
615
+ /**
616
+ * Construct and simulate a get_price_ratio_denominator transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
617
+ * Get the price ratio denominator.
618
+ */
619
+ get_price_ratio_denominator: (txnOptions?: {
620
+ /**
621
+ * The fee to pay for the transaction. Default: BASE_FEE
622
+ */
623
+ fee?: number;
624
+ /**
625
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
626
+ */
627
+ timeoutInSeconds?: number;
628
+ /**
629
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
630
+ */
631
+ simulate?: boolean;
632
+ }) => Promise<AssembledTransaction<u128>>;
633
+ /**
634
+ * Construct and simulate a set_price_updater transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
635
+ * Set price updater status (owner only)
636
+ */
637
+ set_price_updater: ({ updater, active }: {
638
+ updater: string;
639
+ active: boolean;
640
+ }, txnOptions?: {
641
+ /**
642
+ * The fee to pay for the transaction. Default: BASE_FEE
643
+ */
644
+ fee?: number;
645
+ /**
646
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
647
+ */
648
+ timeoutInSeconds?: number;
649
+ /**
650
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
651
+ */
652
+ simulate?: boolean;
653
+ }) => Promise<AssembledTransaction<null>>;
654
+ /**
655
+ * Construct and simulate a set_price_ratio_denominator transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
656
+ * Set the price ratio denominator (owner only)
657
+ */
658
+ set_price_ratio_denominator: ({ denominator }: {
659
+ denominator: u128;
660
+ }, txnOptions?: {
661
+ /**
662
+ * The fee to pay for the transaction. Default: BASE_FEE
663
+ */
664
+ fee?: number;
665
+ /**
666
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
667
+ */
668
+ timeoutInSeconds?: number;
669
+ /**
670
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
671
+ */
672
+ simulate?: boolean;
673
+ }) => Promise<AssembledTransaction<null>>;
674
+ /**
675
+ * Construct and simulate a set_arbitrum_compression_percent transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
676
+ * Set the Arbitrum compression percentage (owner only)
677
+ */
678
+ set_arbitrum_compression_percent: ({ compression_percent }: {
679
+ compression_percent: u128;
680
+ }, txnOptions?: {
681
+ /**
682
+ * The fee to pay for the transaction. Default: BASE_FEE
683
+ */
684
+ fee?: number;
685
+ /**
686
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
687
+ */
688
+ timeoutInSeconds?: number;
689
+ /**
690
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
691
+ */
692
+ simulate?: boolean;
693
+ }) => Promise<AssembledTransaction<null>>;
694
+ /**
695
+ * Construct and simulate a set_eid_to_model_type transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
696
+ * Set the fee model type for destination EIDs (owner only)
697
+ */
698
+ set_eid_to_model_type: ({ params }: {
699
+ params: Array<SetEidToModelTypeParam>;
700
+ }, txnOptions?: {
701
+ /**
702
+ * The fee to pay for the transaction. Default: BASE_FEE
703
+ */
704
+ fee?: number;
705
+ /**
706
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
707
+ */
708
+ timeoutInSeconds?: number;
709
+ /**
710
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
711
+ */
712
+ simulate?: boolean;
713
+ }) => Promise<AssembledTransaction<null>>;
714
+ /**
715
+ * Construct and simulate a set_price transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
716
+ * Set prices for multiple destinations (price updater or owner)
717
+ */
718
+ set_price: ({ price_updater, prices }: {
719
+ price_updater: string;
720
+ prices: Array<UpdatePrice>;
721
+ }, txnOptions?: {
722
+ /**
723
+ * The fee to pay for the transaction. Default: BASE_FEE
724
+ */
725
+ fee?: number;
726
+ /**
727
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
728
+ */
729
+ timeoutInSeconds?: number;
730
+ /**
731
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
732
+ */
733
+ simulate?: boolean;
734
+ }) => Promise<AssembledTransaction<null>>;
735
+ /**
736
+ * Construct and simulate a set_price_for_arbitrum transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
737
+ * Set price for Arbitrum with extension (price updater or owner)
738
+ * Corresponds to setPriceForArbitrum in PriceFeed.sol
739
+ */
740
+ set_price_for_arbitrum: ({ price_updater, update }: {
741
+ price_updater: string;
742
+ update: UpdatePriceExt;
743
+ }, txnOptions?: {
744
+ /**
745
+ * The fee to pay for the transaction. Default: BASE_FEE
746
+ */
747
+ fee?: number;
748
+ /**
749
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
750
+ */
751
+ timeoutInSeconds?: number;
752
+ /**
753
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
754
+ */
755
+ simulate?: boolean;
756
+ }) => Promise<AssembledTransaction<null>>;
757
+ /**
758
+ * Construct and simulate a set_native_token_price_usd transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
759
+ * Set the native token price in USD (price updater or owner).
760
+ *
761
+ * Kept as a standalone contract function (not part of the canonical `worker::ILayerZeroPriceFeed` interface).
762
+ */
763
+ set_native_token_price_usd: ({ price_updater, native_token_price_usd }: {
764
+ price_updater: string;
765
+ native_token_price_usd: u128;
766
+ }, txnOptions?: {
767
+ /**
768
+ * The fee to pay for the transaction. Default: BASE_FEE
769
+ */
770
+ fee?: number;
771
+ /**
772
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
773
+ */
774
+ timeoutInSeconds?: number;
775
+ /**
776
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
777
+ */
778
+ simulate?: boolean;
779
+ }) => Promise<AssembledTransaction<null>>;
780
+ /**
781
+ * Construct and simulate a is_price_updater transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
782
+ * Check if an address is an active price updater
783
+ */
784
+ is_price_updater: ({ updater }: {
785
+ updater: string;
786
+ }, txnOptions?: {
787
+ /**
788
+ * The fee to pay for the transaction. Default: BASE_FEE
789
+ */
790
+ fee?: number;
791
+ /**
792
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
793
+ */
794
+ timeoutInSeconds?: number;
795
+ /**
796
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
797
+ */
798
+ simulate?: boolean;
799
+ }) => Promise<AssembledTransaction<boolean>>;
800
+ /**
801
+ * Construct and simulate a arbitrum_compression_percent transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
802
+ * Get the Arbitrum compression percent
803
+ */
804
+ arbitrum_compression_percent: (txnOptions?: {
805
+ /**
806
+ * The fee to pay for the transaction. Default: BASE_FEE
807
+ */
808
+ fee?: number;
809
+ /**
810
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
811
+ */
812
+ timeoutInSeconds?: number;
813
+ /**
814
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
815
+ */
816
+ simulate?: boolean;
817
+ }) => Promise<AssembledTransaction<u128>>;
818
+ /**
819
+ * Construct and simulate a arbitrum_price_ext transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
820
+ * Get the Arbitrum price extension
821
+ */
822
+ arbitrum_price_ext: (txnOptions?: {
823
+ /**
824
+ * The fee to pay for the transaction. Default: BASE_FEE
825
+ */
826
+ fee?: number;
827
+ /**
828
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
829
+ */
830
+ timeoutInSeconds?: number;
831
+ /**
832
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
833
+ */
834
+ simulate?: boolean;
835
+ }) => Promise<AssembledTransaction<ArbitrumPriceExt>>;
836
+ /**
837
+ * Construct and simulate a eid_to_model_type transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
838
+ * Get the model type for a destination EID
839
+ */
840
+ eid_to_model_type: ({ dst_eid }: {
841
+ dst_eid: u32;
842
+ }, txnOptions?: {
843
+ /**
844
+ * The fee to pay for the transaction. Default: BASE_FEE
845
+ */
846
+ fee?: number;
847
+ /**
848
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
849
+ */
850
+ timeoutInSeconds?: number;
851
+ /**
852
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
853
+ */
854
+ simulate?: boolean;
855
+ }) => Promise<AssembledTransaction<ModelType>>;
856
+ /**
857
+ * Construct and simulate a set_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
858
+ * Sets TTL configs for instance and persistent storage.
859
+ *
860
+ * - `None` values remove the corresponding config (disables auto-extension for that type)
861
+ * - Validates that `threshold <= extend_to <= MAX_TTL`
862
+ *
863
+ * # Arguments
864
+ * - `instance` - TTL config for instance storage
865
+ * - `persistent` - TTL config for persistent storage
866
+ *
867
+ * # Panics
868
+ * - `TtlConfigFrozen` if configs are frozen
869
+ * - `InvalidTtlConfig` if validation fails
870
+ */
871
+ set_ttl_configs: ({ instance, persistent }: {
872
+ instance: Option<TtlConfig>;
873
+ persistent: Option<TtlConfig>;
874
+ }, txnOptions?: {
875
+ /**
876
+ * The fee to pay for the transaction. Default: BASE_FEE
877
+ */
878
+ fee?: number;
879
+ /**
880
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
881
+ */
882
+ timeoutInSeconds?: number;
883
+ /**
884
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
885
+ */
886
+ simulate?: boolean;
887
+ }) => Promise<AssembledTransaction<null>>;
888
+ /**
889
+ * Construct and simulate a ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
890
+ * Returns the current TTL configs as (instance_config, persistent_config).
891
+ */
892
+ ttl_configs: (txnOptions?: {
893
+ /**
894
+ * The fee to pay for the transaction. Default: BASE_FEE
895
+ */
896
+ fee?: number;
897
+ /**
898
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
899
+ */
900
+ timeoutInSeconds?: number;
901
+ /**
902
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
903
+ */
904
+ simulate?: boolean;
905
+ }) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
906
+ /**
907
+ * Construct and simulate a freeze_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
908
+ * Permanently freezes TTL configs, preventing any future modifications.
909
+ *
910
+ * This is irreversible and provides immutability guarantees to users.
911
+ * Emits `TtlConfigsFrozen` event.
912
+ *
913
+ * # Panics
914
+ * - `TtlConfigAlreadyFrozen` if already frozen
915
+ */
916
+ freeze_ttl_configs: (txnOptions?: {
917
+ /**
918
+ * The fee to pay for the transaction. Default: BASE_FEE
919
+ */
920
+ fee?: number;
921
+ /**
922
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
923
+ */
924
+ timeoutInSeconds?: number;
925
+ /**
926
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
927
+ */
928
+ simulate?: boolean;
929
+ }) => Promise<AssembledTransaction<null>>;
930
+ /**
931
+ * Construct and simulate a is_ttl_configs_frozen transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
932
+ * Returns whether TTL configs are frozen.
933
+ */
934
+ is_ttl_configs_frozen: (txnOptions?: {
935
+ /**
936
+ * The fee to pay for the transaction. Default: BASE_FEE
937
+ */
938
+ fee?: number;
939
+ /**
940
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
941
+ */
942
+ timeoutInSeconds?: number;
943
+ /**
944
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
945
+ */
946
+ simulate?: boolean;
947
+ }) => Promise<AssembledTransaction<boolean>>;
948
+ /**
949
+ * Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
950
+ * Extends the instance TTL.
951
+ *
952
+ * # Arguments
953
+ *
954
+ * * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).
955
+ * * `extend_to` - The TTL to extend to.
956
+ */
957
+ extend_instance_ttl: ({ threshold, extend_to }: {
958
+ threshold: u32;
959
+ extend_to: u32;
960
+ }, txnOptions?: {
961
+ /**
962
+ * The fee to pay for the transaction. Default: BASE_FEE
963
+ */
964
+ fee?: number;
965
+ /**
966
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
967
+ */
968
+ timeoutInSeconds?: number;
969
+ /**
970
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
971
+ */
972
+ simulate?: boolean;
973
+ }) => Promise<AssembledTransaction<null>>;
974
+ /**
975
+ * Construct and simulate a owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
976
+ * Returns the current owner address, or None if no owner is set.
977
+ */
978
+ owner: (txnOptions?: {
979
+ /**
980
+ * The fee to pay for the transaction. Default: BASE_FEE
981
+ */
982
+ fee?: number;
983
+ /**
984
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
985
+ */
986
+ timeoutInSeconds?: number;
987
+ /**
988
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
989
+ */
990
+ simulate?: boolean;
991
+ }) => Promise<AssembledTransaction<Option<string>>>;
992
+ /**
993
+ * Construct and simulate a transfer_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
994
+ * Transfers ownership to a new address. Requires current owner authorization.
995
+ */
996
+ transfer_ownership: ({ new_owner }: {
997
+ new_owner: string;
998
+ }, txnOptions?: {
999
+ /**
1000
+ * The fee to pay for the transaction. Default: BASE_FEE
1001
+ */
1002
+ fee?: number;
1003
+ /**
1004
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1005
+ */
1006
+ timeoutInSeconds?: number;
1007
+ /**
1008
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1009
+ */
1010
+ simulate?: boolean;
1011
+ }) => Promise<AssembledTransaction<null>>;
1012
+ /**
1013
+ * Construct and simulate a renounce_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1014
+ * Permanently renounces ownership. Requires current owner authorization.
1015
+ */
1016
+ renounce_ownership: (txnOptions?: {
1017
+ /**
1018
+ * The fee to pay for the transaction. Default: BASE_FEE
1019
+ */
1020
+ fee?: number;
1021
+ /**
1022
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1023
+ */
1024
+ timeoutInSeconds?: number;
1025
+ /**
1026
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1027
+ */
1028
+ simulate?: boolean;
1029
+ }) => Promise<AssembledTransaction<null>>;
1030
+ }
1031
+ export declare class Client extends ContractClient {
1032
+ readonly options: ContractClientOptions;
1033
+ static deploy<T = Client>(
1034
+ /** Constructor/Initialization Args for the contract's `__constructor` method */
1035
+ { owner, price_updater }: {
1036
+ owner: string;
1037
+ price_updater: string;
1038
+ },
1039
+ /** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */
1040
+ options: MethodOptions & Omit<ContractClientOptions, "contractId"> & {
1041
+ /** The hash of the Wasm blob, which must already be installed on-chain. */
1042
+ wasmHash: Buffer | string;
1043
+ /** Salt used to generate the contract's ID. Passed through to {@link Operation.createCustomContract}. Default: random. */
1044
+ salt?: Buffer | Uint8Array;
1045
+ /** The format used to decode `wasmHash`, if it's provided as a string. */
1046
+ format?: "hex" | "base64";
1047
+ }): Promise<AssembledTransaction<T>>;
1048
+ constructor(options: ContractClientOptions);
1049
+ readonly fromJSON: {
1050
+ upgrade: (json: string) => AssembledTransaction<null>;
1051
+ migrate: (json: string) => AssembledTransaction<null>;
1052
+ authorizer: (json: string) => AssembledTransaction<string>;
1053
+ estimate_fee_by_eid: (json: string) => AssembledTransaction<FeeEstimate>;
1054
+ native_token_price_usd: (json: string) => AssembledTransaction<bigint>;
1055
+ get_price: (json: string) => AssembledTransaction<Option<Price>>;
1056
+ get_price_ratio_denominator: (json: string) => AssembledTransaction<bigint>;
1057
+ set_price_updater: (json: string) => AssembledTransaction<null>;
1058
+ set_price_ratio_denominator: (json: string) => AssembledTransaction<null>;
1059
+ set_arbitrum_compression_percent: (json: string) => AssembledTransaction<null>;
1060
+ set_eid_to_model_type: (json: string) => AssembledTransaction<null>;
1061
+ set_price: (json: string) => AssembledTransaction<null>;
1062
+ set_price_for_arbitrum: (json: string) => AssembledTransaction<null>;
1063
+ set_native_token_price_usd: (json: string) => AssembledTransaction<null>;
1064
+ is_price_updater: (json: string) => AssembledTransaction<boolean>;
1065
+ arbitrum_compression_percent: (json: string) => AssembledTransaction<bigint>;
1066
+ arbitrum_price_ext: (json: string) => AssembledTransaction<ArbitrumPriceExt>;
1067
+ eid_to_model_type: (json: string) => AssembledTransaction<ModelType>;
1068
+ set_ttl_configs: (json: string) => AssembledTransaction<null>;
1069
+ ttl_configs: (json: string) => AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>;
1070
+ freeze_ttl_configs: (json: string) => AssembledTransaction<null>;
1071
+ is_ttl_configs_frozen: (json: string) => AssembledTransaction<boolean>;
1072
+ extend_instance_ttl: (json: string) => AssembledTransaction<null>;
1073
+ owner: (json: string) => AssembledTransaction<Option<string>>;
1074
+ transfer_ownership: (json: string) => AssembledTransaction<null>;
1075
+ renounce_ownership: (json: string) => AssembledTransaction<null>;
1076
+ };
1077
+ }