@chainlink/cre-sdk 1.5.0-alpha.1 → 1.5.0-alpha.2

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/README.md CHANGED
@@ -8,7 +8,6 @@ The Chainlink Runtime Environment (CRE) SDK for TypeScript enables developers to
8
8
  - [Examples](#examples)
9
9
  - [Simulate locally with CRE CLI](#simulate-locally-with-cre-cli)
10
10
  - [Installation](#installation)
11
- - [Runtime Compatibility Constraints](#runtime-compatibility-constraints)
12
11
  - [Core Concepts](#core-concepts)
13
12
  - [Workflows](#workflows)
14
13
  - [Runtime Modes](#runtime-modes)
@@ -48,20 +47,10 @@ This package must be used along with the [CRE CLI tool](https://github.com/smart
48
47
 
49
48
  ## Prerequisites
50
49
 
51
- 1. the [bun runtime](https://bun.com/) for local tooling and workflow compilation.
50
+ 1. the [bun runtime](https://bun.com/). The wasm compilation currently is only supported by the bun runtime which has near-complete NodeJS compatibility.
52
51
 
53
52
  2. the [CRE CLI tool](https://github.com/smartcontractkit/cre-cli) installed.
54
53
 
55
- ## Runtime Compatibility Constraints
56
-
57
- CRE workflows are compiled to WASM and executed through Javy (QuickJS). This is **not** a full Node.js runtime.
58
-
59
- - Node built-ins like `node:fs`, `node:crypto`, `node:http`, `node:net`, etc. are not supported in workflows.
60
- - Browser globals like `fetch`, `window`, and `setTimeout` are also not available in workflow runtime.
61
- - `cre compile:workflow` / `cre-compile` now validates workflow source and fails fast when unsupported APIs are used.
62
-
63
- Use CRE capabilities (for example, `cre.capabilities.HTTPClient`) instead of direct Node/browser APIs.
64
-
65
54
  ## Getting Started
66
55
 
67
56
  We recommend you consult the [getting started docs](https://docs.chain.link/cre/getting-started/cli-installation) and install the CRE CLI.
@@ -1,32 +1,36 @@
1
1
  #!/usr/bin/env bun
2
2
 
3
3
  import { main as compileWorkflow } from "../scripts/src/compile-workflow";
4
- import { WorkflowRuntimeCompatibilityError } from "../scripts/src/validate-workflow-runtime-compat";
4
+ import { parseCompileFlags } from "../../cre-sdk-javy-plugin/scripts/parse-compile-flags";
5
5
 
6
6
  const main = async () => {
7
- const [inputPath, outputPathArg] = process.argv.slice(2);
7
+ const cliArgs = process.argv.slice(2);
8
+ const { creExports, plugin, rest } = parseCompileFlags(cliArgs);
9
+
10
+ const inputPath = rest[0];
11
+ const outputPathArg = rest[1];
8
12
 
9
13
  if (!inputPath) {
10
14
  console.error(
11
- "Usage: cre-compile <path/to/workflow.ts> [path/to/output.wasm]"
12
- );
13
- console.error("Examples:");
14
- console.error(" cre-compile src/standard_tests/secrets/test.ts");
15
- console.error(
16
- " cre-compile src/standard_tests/secrets/test.ts .temp/standard_tests/secrets/test.wasm"
15
+ "Usage: cre-compile [--plugin <path>] [--cre-exports <path|rlib>]... <path/to/workflow.ts> [path/to/output.wasm]"
17
16
  );
18
17
  process.exit(1);
19
18
  }
20
19
 
21
- await compileWorkflow(inputPath, outputPathArg);
20
+ if (plugin !== null && creExports.length > 0) {
21
+ console.error("❌ Error: --plugin and --cre-exports are mutually exclusive.");
22
+ process.exit(1);
23
+ }
24
+
25
+ await compileWorkflow(
26
+ inputPath,
27
+ outputPathArg,
28
+ creExports.length > 0 ? creExports : undefined,
29
+ plugin ?? undefined,
30
+ );
22
31
  };
23
32
 
24
- // CLI entry point
25
33
  main().catch((e) => {
26
- if (e instanceof WorkflowRuntimeCompatibilityError) {
27
- console.error(`\n❌ ${e.message}`);
28
- } else {
29
- console.error(e);
30
- }
34
+ console.error(e);
31
35
  process.exit(1);
32
36
  });
@@ -10,7 +10,7 @@ import { file_values_v1_values } from '../../../../values/v1/values_pb';
10
10
  */
11
11
  export const file_capabilities_blockchain_evm_v1alpha_client =
12
12
  /*@__PURE__*/
13
- fileDesc('CjBjYXBhYmlsaXRpZXMvYmxvY2tjaGFpbi9ldm0vdjFhbHBoYS9jbGllbnQucHJvdG8SI2NhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhIh0KC1RvcGljVmFsdWVzEg4KBnZhbHVlcxgBIAMoDCK4AQoXRmlsdGVyTG9nVHJpZ2dlclJlcXVlc3QSEQoJYWRkcmVzc2VzGAEgAygMEkAKBnRvcGljcxgCIAMoCzIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLlRvcGljVmFsdWVzEkgKCmNvbmZpZGVuY2UYAyABKA4yNC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5Db25maWRlbmNlTGV2ZWwiegoTQ2FsbENvbnRyYWN0UmVxdWVzdBI6CgRjYWxsGAEgASgLMiwuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuQ2FsbE1zZxInCgxibG9ja19udW1iZXIYAiABKAsyES52YWx1ZXMudjEuQmlnSW50IiEKEUNhbGxDb250cmFjdFJlcGx5EgwKBGRhdGEYASABKAwiWwoRRmlsdGVyTG9nc1JlcXVlc3QSRgoMZmlsdGVyX3F1ZXJ5GAEgASgLMjAuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRmlsdGVyUXVlcnkiSQoPRmlsdGVyTG9nc1JlcGx5EjYKBGxvZ3MYASADKAsyKC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5Mb2cixwEKA0xvZxIPCgdhZGRyZXNzGAEgASgMEg4KBnRvcGljcxgCIAMoDBIPCgd0eF9oYXNoGAMgASgMEhIKCmJsb2NrX2hhc2gYBCABKAwSDAoEZGF0YRgFIAEoDBIRCglldmVudF9zaWcYBiABKAwSJwoMYmxvY2tfbnVtYmVyGAcgASgLMhEudmFsdWVzLnYxLkJpZ0ludBIQCgh0eF9pbmRleBgIIAEoDRINCgVpbmRleBgJIAEoDRIPCgdyZW1vdmVkGAogASgIIjEKB0NhbGxNc2cSDAoEZnJvbRgBIAEoDBIKCgJ0bxgCIAEoDBIMCgRkYXRhGAMgASgMIr0BCgtGaWx0ZXJRdWVyeRISCgpibG9ja19oYXNoGAEgASgMEiUKCmZyb21fYmxvY2sYAiABKAsyES52YWx1ZXMudjEuQmlnSW50EiMKCHRvX2Jsb2NrGAMgASgLMhEudmFsdWVzLnYxLkJpZ0ludBIRCglhZGRyZXNzZXMYBCADKAwSOwoGdG9waWNzGAUgAygLMisuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuVG9waWNzIhcKBlRvcGljcxINCgV0b3BpYxgBIAMoDCJMChBCYWxhbmNlQXRSZXF1ZXN0Eg8KB2FjY291bnQYASABKAwSJwoMYmxvY2tfbnVtYmVyGAIgASgLMhEudmFsdWVzLnYxLkJpZ0ludCI0Cg5CYWxhbmNlQXRSZXBseRIiCgdiYWxhbmNlGAEgASgLMhEudmFsdWVzLnYxLkJpZ0ludCJPChJFc3RpbWF0ZUdhc1JlcXVlc3QSOQoDbXNnGAEgASgLMiwuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuQ2FsbE1zZyIjChBFc3RpbWF0ZUdhc1JlcGx5Eg8KA2dhcxgBIAEoBEICMAAiKwobR2V0VHJhbnNhY3Rpb25CeUhhc2hSZXF1ZXN0EgwKBGhhc2gYASABKAwiYgoZR2V0VHJhbnNhY3Rpb25CeUhhc2hSZXBseRJFCgt0cmFuc2FjdGlvbhgBIAEoCzIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLlRyYW5zYWN0aW9uIqEBCgtUcmFuc2FjdGlvbhIRCgVub25jZRgBIAEoBEICMAASDwoDZ2FzGAIgASgEQgIwABIKCgJ0bxgDIAEoDBIMCgRkYXRhGAQgASgMEgwKBGhhc2gYBSABKAwSIAoFdmFsdWUYBiABKAsyES52YWx1ZXMudjEuQmlnSW50EiQKCWdhc19wcmljZRgHIAEoCzIRLnZhbHVlcy52MS5CaWdJbnQiLAocR2V0VHJhbnNhY3Rpb25SZWNlaXB0UmVxdWVzdBIMCgRoYXNoGAEgASgMIlsKGkdldFRyYW5zYWN0aW9uUmVjZWlwdFJlcGx5Ej0KB3JlY2VpcHQYASABKAsyLC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5SZWNlaXB0IpkCCgdSZWNlaXB0EhIKBnN0YXR1cxgBIAEoBEICMAASFAoIZ2FzX3VzZWQYAiABKARCAjAAEhQKCHR4X2luZGV4GAMgASgEQgIwABISCgpibG9ja19oYXNoGAQgASgMEjYKBGxvZ3MYBiADKAsyKC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5Mb2cSDwoHdHhfaGFzaBgHIAEoDBIuChNlZmZlY3RpdmVfZ2FzX3ByaWNlGAggASgLMhEudmFsdWVzLnYxLkJpZ0ludBInCgxibG9ja19udW1iZXIYCSABKAsyES52YWx1ZXMudjEuQmlnSW50EhgKEGNvbnRyYWN0X2FkZHJlc3MYCiABKAwiQAoVSGVhZGVyQnlOdW1iZXJSZXF1ZXN0EicKDGJsb2NrX251bWJlchgBIAEoCzIRLnZhbHVlcy52MS5CaWdJbnQiUgoTSGVhZGVyQnlOdW1iZXJSZXBseRI7CgZoZWFkZXIYASABKAsyKy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5IZWFkZXIiawoGSGVhZGVyEhUKCXRpbWVzdGFtcBgBIAEoBEICMAASJwoMYmxvY2tfbnVtYmVyGAIgASgLMhEudmFsdWVzLnYxLkJpZ0ludBIMCgRoYXNoGAMgASgMEhMKC3BhcmVudF9oYXNoGAQgASgMIqsBChJXcml0ZVJlcG9ydFJlcXVlc3QSEAoIcmVjZWl2ZXIYASABKAwSKwoGcmVwb3J0GAIgASgLMhsuc2RrLnYxYWxwaGEuUmVwb3J0UmVzcG9uc2USRwoKZ2FzX2NvbmZpZxgDIAEoCzIuLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLkdhc0NvbmZpZ0gAiAEBQg0KC19nYXNfY29uZmlnIiIKCUdhc0NvbmZpZxIVCglnYXNfbGltaXQYASABKARCAjAAIocDChBXcml0ZVJlcG9ydFJlcGx5EkAKCXR4X3N0YXR1cxgBIAEoDjItLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLlR4U3RhdHVzEnUKInJlY2VpdmVyX2NvbnRyYWN0X2V4ZWN1dGlvbl9zdGF0dXMYAiABKA4yRC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5SZWNlaXZlckNvbnRyYWN0RXhlY3V0aW9uU3RhdHVzSACIAQESFAoHdHhfaGFzaBgDIAEoDEgBiAEBEi8KD3RyYW5zYWN0aW9uX2ZlZRgEIAEoCzIRLnZhbHVlcy52MS5CaWdJbnRIAogBARIaCg1lcnJvcl9tZXNzYWdlGAUgASgJSAOIAQFCJQojX3JlY2VpdmVyX2NvbnRyYWN0X2V4ZWN1dGlvbl9zdGF0dXNCCgoIX3R4X2hhc2hCEgoQX3RyYW5zYWN0aW9uX2ZlZUIQCg5fZXJyb3JfbWVzc2FnZSppCg9Db25maWRlbmNlTGV2ZWwSGQoVQ09ORklERU5DRV9MRVZFTF9TQUZFEAASGwoXQ09ORklERU5DRV9MRVZFTF9MQVRFU1QQARIeChpDT05GSURFTkNFX0xFVkVMX0ZJTkFMSVpFRBACKoIBCh9SZWNlaXZlckNvbnRyYWN0RXhlY3V0aW9uU3RhdHVzEi4KKlJFQ0VJVkVSX0NPTlRSQUNUX0VYRUNVVElPTl9TVEFUVVNfU1VDQ0VTUxAAEi8KK1JFQ0VJVkVSX0NPTlRSQUNUX0VYRUNVVElPTl9TVEFUVVNfUkVWRVJURUQQASpOCghUeFN0YXR1cxITCg9UWF9TVEFUVVNfRkFUQUwQABIWChJUWF9TVEFUVVNfUkVWRVJURUQQARIVChFUWF9TVEFUVVNfU1VDQ0VTUxACMoUYCgZDbGllbnQSgAEKDENhbGxDb250cmFjdBI4LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLkNhbGxDb250cmFjdFJlcXVlc3QaNi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5DYWxsQ29udHJhY3RSZXBseRJ6CgpGaWx0ZXJMb2dzEjYuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRmlsdGVyTG9nc1JlcXVlc3QaNC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5GaWx0ZXJMb2dzUmVwbHkSdwoJQmFsYW5jZUF0EjUuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuQmFsYW5jZUF0UmVxdWVzdBozLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLkJhbGFuY2VBdFJlcGx5En0KC0VzdGltYXRlR2FzEjcuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRXN0aW1hdGVHYXNSZXF1ZXN0GjUuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRXN0aW1hdGVHYXNSZXBseRKYAQoUR2V0VHJhbnNhY3Rpb25CeUhhc2gSQC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5HZXRUcmFuc2FjdGlvbkJ5SGFzaFJlcXVlc3QaPi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5HZXRUcmFuc2FjdGlvbkJ5SGFzaFJlcGx5EpsBChVHZXRUcmFuc2FjdGlvblJlY2VpcHQSQS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5HZXRUcmFuc2FjdGlvblJlY2VpcHRSZXF1ZXN0Gj8uY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuR2V0VHJhbnNhY3Rpb25SZWNlaXB0UmVwbHkShgEKDkhlYWRlckJ5TnVtYmVyEjouY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuSGVhZGVyQnlOdW1iZXJSZXF1ZXN0GjguY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuSGVhZGVyQnlOdW1iZXJSZXBseRJ2CgpMb2dUcmlnZ2VyEjwuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRmlsdGVyTG9nVHJpZ2dlclJlcXVlc3QaKC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5Mb2cwARJ9CgtXcml0ZVJlcG9ydBI3LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLldyaXRlUmVwb3J0UmVxdWVzdBo1LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLldyaXRlUmVwb3J0UmVwbHkayg6CtRjFDggBEglldm1AMS4wLjAatQ4KDUNoYWluU2VsZWN0b3ISow4SoA4KJAoXYXBlY2hhaW4tdGVzdG5ldC1jdXJ0aXMQwcO0+I3EkrKJAQoXCgthcmMtdGVzdG5ldBDnxoye19fQjSoKHQoRYXZhbGFuY2hlLW1haW5uZXQQ1eeKwOHVmKRZCiMKFmF2YWxhbmNoZS10ZXN0bmV0LWZ1amkQm/n8kKLjqPjMAQooChtiaW5hbmNlX3NtYXJ0X2NoYWluLW1haW5uZXQQz/eU8djtlbidAQooChtiaW5hbmNlX3NtYXJ0X2NoYWluLXRlc3RuZXQQ+62+nICu5Iq4AQoYCgxjZWxvLW1haW5uZXQQhtTo2IaTiNcSChoKDmNyb25vcy10ZXN0bmV0EP3Z7q3g3trIKQoiChVkdGNjLXRlc3RuZXQtYW5kZXNpdGUQ0oPj0JmW5aTXAQocChBldGhlcmV1bS1tYWlubmV0EJX28eTPsqbCRQonChtldGhlcmV1bS1tYWlubmV0LWFyYml0cnVtLTEQxOiNzY6boddECiQKF2V0aGVyZXVtLW1haW5uZXQtYmFzZS0xEIL/q6L+uZDT3QEKIgoWZXRoZXJldW0tbWFpbm5ldC1pbmstMRCgsKbpt+aqhDAKJAoYZXRoZXJldW0tbWFpbm5ldC1saW5lYS0xELa66ZjLvbCbQAolChlldGhlcmV1bS1tYWlubmV0LW1hbnRsZS0xEIrntJXnsIPMFQonChtldGhlcmV1bS1tYWlubmV0LW9wdGltaXNtLTEQuJWPw/f+0OkzCiYKGWV0aGVyZXVtLW1haW5uZXQtc2Nyb2xsLTEQuLzk68S+yJ+3AQopCh1ldGhlcmV1bS1tYWlubmV0LXdvcmxkY2hhaW4tMRCH77q3xbbCuBwKJQoZZXRoZXJldW0tbWFpbm5ldC14bGF5ZXItMRCWpfycpqjv7SkKJQoZZXRoZXJldW0tbWFpbm5ldC16a3N5bmMtMRCU7pfZ7bSx1xUKJQoYZXRoZXJldW0tdGVzdG5ldC1zZXBvbGlhENm15M78ye6g3gEKLwojZXRoZXJldW0tdGVzdG5ldC1zZXBvbGlhLWFyYml0cnVtLTEQ6s7u/+q2hKMwCiwKH2V0aGVyZXVtLXRlc3RuZXQtc2Vwb2xpYS1iYXNlLTEQuMq57/aQrsiPAQosCiBldGhlcmV1bS10ZXN0bmV0LXNlcG9saWEtbGluZWEtMRDrqtT+gvnmr08KLQohZXRoZXJldW0tdGVzdG5ldC1zZXBvbGlhLW1hbnRsZS0xENXGuO7N9vKmcgovCiNldGhlcmV1bS10ZXN0bmV0LXNlcG9saWEtb3B0aW1pc20tMRCfhsWhvtjDwEgKLQohZXRoZXJldW0tdGVzdG5ldC1zZXBvbGlhLXNjcm9sbC0xEIvptL7buu3RHwowCiNldGhlcmV1bS10ZXN0bmV0LXNlcG9saWEtdW5pY2hhaW4tMRC03v7g7JeplsQBCjEKJWV0aGVyZXVtLXRlc3RuZXQtc2Vwb2xpYS13b3JsZGNoYWluLTEQut/gxcep88VJCi0KIWV0aGVyZXVtLXRlc3RuZXQtc2Vwb2xpYS16a3N5bmMtMRC3wfz98sSA3l8KIAoUZ25vc2lzX2NoYWluLW1haW5uZXQQ9JKt2vKirroGCicKG2dub3Npc19jaGFpbi10ZXN0bmV0LWNoaWFkbxCzsYLQm6WPj3sKHwoTaHlwZXJsaXF1aWQtbWFpbm5ldBCns/jdztHp8iEKHwoTaHlwZXJsaXF1aWQtdGVzdG5ldBCIzt3Il+DJvTsKIAoTaW5rLXRlc3RuZXQtc2Vwb2xpYRDo9Kel8+aWwIcBChkKDWpvdmF5LW1haW5uZXQQtcPEmqGA35IVChkKDWpvdmF5LXRlc3RuZXQQ5M+KhN6y3o4NChsKD21lZ2FldGgtbWFpbm5ldBDqlbbIvOSmyFQKHgoRbWVnYWV0aC10ZXN0bmV0LTIQ443eiLGP/ZP9AQokChdwaGFyb3MtYXRsYW50aWMtdGVzdG5ldBDMme3gzryvtN8BChoKDnBoYXJvcy1tYWlubmV0EMjBh571782hbAobCg5wbGFzbWEtbWFpbm5ldBD4m/HR2snVxoEBChoKDnBsYXNtYS10ZXN0bmV0ENWbv6XDtJmHNwobCg9wb2x5Z29uLW1haW5uZXQQsavk8JqShp04CiEKFHBvbHlnb24tdGVzdG5ldC1hbW95EM2P1t/xx5D64QEKJAoYcHJpdmF0ZS10ZXN0bmV0LWFuZGVzaXRlENSmmKXBj9z8XwoZCg1zb25pYy1tYWlubmV0ENGy5e3ZoLKdFwoZCg1zb25pYy10ZXN0bmV0EMiI+9S0xvq8GAoYCgt0YWMtdGVzdG5ldBDV243j+5+T14MBChsKDnhsYXllci10ZXN0bmV0EMm+obStzLzdjQFC5QEKJ2NvbS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYUILQ2xpZW50UHJvdG9QAaICA0NCRaoCI0NhcGFiaWxpdGllcy5CbG9ja2NoYWluLkV2bS5WMWFscGhhygIjQ2FwYWJpbGl0aWVzXEJsb2NrY2hhaW5cRXZtXFYxYWxwaGHiAi9DYXBhYmlsaXRpZXNcQmxvY2tjaGFpblxFdm1cVjFhbHBoYVxHUEJNZXRhZGF0YeoCJkNhcGFiaWxpdGllczo6QmxvY2tjaGFpbjo6RXZtOjpWMWFscGhhYgZwcm90bzM', [file_sdk_v1alpha_sdk, file_tools_generator_v1alpha_cre_metadata, file_values_v1_values]);
13
+ fileDesc('CjBjYXBhYmlsaXRpZXMvYmxvY2tjaGFpbi9ldm0vdjFhbHBoYS9jbGllbnQucHJvdG8SI2NhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhIh0KC1RvcGljVmFsdWVzEg4KBnZhbHVlcxgBIAMoDCK4AQoXRmlsdGVyTG9nVHJpZ2dlclJlcXVlc3QSEQoJYWRkcmVzc2VzGAEgAygMEkAKBnRvcGljcxgCIAMoCzIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLlRvcGljVmFsdWVzEkgKCmNvbmZpZGVuY2UYAyABKA4yNC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5Db25maWRlbmNlTGV2ZWwiegoTQ2FsbENvbnRyYWN0UmVxdWVzdBI6CgRjYWxsGAEgASgLMiwuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuQ2FsbE1zZxInCgxibG9ja19udW1iZXIYAiABKAsyES52YWx1ZXMudjEuQmlnSW50IiEKEUNhbGxDb250cmFjdFJlcGx5EgwKBGRhdGEYASABKAwiWwoRRmlsdGVyTG9nc1JlcXVlc3QSRgoMZmlsdGVyX3F1ZXJ5GAEgASgLMjAuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRmlsdGVyUXVlcnkiSQoPRmlsdGVyTG9nc1JlcGx5EjYKBGxvZ3MYASADKAsyKC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5Mb2cixwEKA0xvZxIPCgdhZGRyZXNzGAEgASgMEg4KBnRvcGljcxgCIAMoDBIPCgd0eF9oYXNoGAMgASgMEhIKCmJsb2NrX2hhc2gYBCABKAwSDAoEZGF0YRgFIAEoDBIRCglldmVudF9zaWcYBiABKAwSJwoMYmxvY2tfbnVtYmVyGAcgASgLMhEudmFsdWVzLnYxLkJpZ0ludBIQCgh0eF9pbmRleBgIIAEoDRINCgVpbmRleBgJIAEoDRIPCgdyZW1vdmVkGAogASgIIjEKB0NhbGxNc2cSDAoEZnJvbRgBIAEoDBIKCgJ0bxgCIAEoDBIMCgRkYXRhGAMgASgMIr0BCgtGaWx0ZXJRdWVyeRISCgpibG9ja19oYXNoGAEgASgMEiUKCmZyb21fYmxvY2sYAiABKAsyES52YWx1ZXMudjEuQmlnSW50EiMKCHRvX2Jsb2NrGAMgASgLMhEudmFsdWVzLnYxLkJpZ0ludBIRCglhZGRyZXNzZXMYBCADKAwSOwoGdG9waWNzGAUgAygLMisuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuVG9waWNzIhcKBlRvcGljcxINCgV0b3BpYxgBIAMoDCJMChBCYWxhbmNlQXRSZXF1ZXN0Eg8KB2FjY291bnQYASABKAwSJwoMYmxvY2tfbnVtYmVyGAIgASgLMhEudmFsdWVzLnYxLkJpZ0ludCI0Cg5CYWxhbmNlQXRSZXBseRIiCgdiYWxhbmNlGAEgASgLMhEudmFsdWVzLnYxLkJpZ0ludCJPChJFc3RpbWF0ZUdhc1JlcXVlc3QSOQoDbXNnGAEgASgLMiwuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuQ2FsbE1zZyIjChBFc3RpbWF0ZUdhc1JlcGx5Eg8KA2dhcxgBIAEoBEICMAAiKwobR2V0VHJhbnNhY3Rpb25CeUhhc2hSZXF1ZXN0EgwKBGhhc2gYASABKAwiYgoZR2V0VHJhbnNhY3Rpb25CeUhhc2hSZXBseRJFCgt0cmFuc2FjdGlvbhgBIAEoCzIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLlRyYW5zYWN0aW9uIqEBCgtUcmFuc2FjdGlvbhIRCgVub25jZRgBIAEoBEICMAASDwoDZ2FzGAIgASgEQgIwABIKCgJ0bxgDIAEoDBIMCgRkYXRhGAQgASgMEgwKBGhhc2gYBSABKAwSIAoFdmFsdWUYBiABKAsyES52YWx1ZXMudjEuQmlnSW50EiQKCWdhc19wcmljZRgHIAEoCzIRLnZhbHVlcy52MS5CaWdJbnQiLAocR2V0VHJhbnNhY3Rpb25SZWNlaXB0UmVxdWVzdBIMCgRoYXNoGAEgASgMIlsKGkdldFRyYW5zYWN0aW9uUmVjZWlwdFJlcGx5Ej0KB3JlY2VpcHQYASABKAsyLC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5SZWNlaXB0IpkCCgdSZWNlaXB0EhIKBnN0YXR1cxgBIAEoBEICMAASFAoIZ2FzX3VzZWQYAiABKARCAjAAEhQKCHR4X2luZGV4GAMgASgEQgIwABISCgpibG9ja19oYXNoGAQgASgMEjYKBGxvZ3MYBiADKAsyKC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5Mb2cSDwoHdHhfaGFzaBgHIAEoDBIuChNlZmZlY3RpdmVfZ2FzX3ByaWNlGAggASgLMhEudmFsdWVzLnYxLkJpZ0ludBInCgxibG9ja19udW1iZXIYCSABKAsyES52YWx1ZXMudjEuQmlnSW50EhgKEGNvbnRyYWN0X2FkZHJlc3MYCiABKAwiQAoVSGVhZGVyQnlOdW1iZXJSZXF1ZXN0EicKDGJsb2NrX251bWJlchgBIAEoCzIRLnZhbHVlcy52MS5CaWdJbnQiUgoTSGVhZGVyQnlOdW1iZXJSZXBseRI7CgZoZWFkZXIYASABKAsyKy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5IZWFkZXIiawoGSGVhZGVyEhUKCXRpbWVzdGFtcBgBIAEoBEICMAASJwoMYmxvY2tfbnVtYmVyGAIgASgLMhEudmFsdWVzLnYxLkJpZ0ludBIMCgRoYXNoGAMgASgMEhMKC3BhcmVudF9oYXNoGAQgASgMIqsBChJXcml0ZVJlcG9ydFJlcXVlc3QSEAoIcmVjZWl2ZXIYASABKAwSKwoGcmVwb3J0GAIgASgLMhsuc2RrLnYxYWxwaGEuUmVwb3J0UmVzcG9uc2USRwoKZ2FzX2NvbmZpZxgDIAEoCzIuLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLkdhc0NvbmZpZ0gAiAEBQg0KC19nYXNfY29uZmlnIiIKCUdhc0NvbmZpZxIVCglnYXNfbGltaXQYASABKARCAjAAIocDChBXcml0ZVJlcG9ydFJlcGx5EkAKCXR4X3N0YXR1cxgBIAEoDjItLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLlR4U3RhdHVzEnUKInJlY2VpdmVyX2NvbnRyYWN0X2V4ZWN1dGlvbl9zdGF0dXMYAiABKA4yRC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5SZWNlaXZlckNvbnRyYWN0RXhlY3V0aW9uU3RhdHVzSACIAQESFAoHdHhfaGFzaBgDIAEoDEgBiAEBEi8KD3RyYW5zYWN0aW9uX2ZlZRgEIAEoCzIRLnZhbHVlcy52MS5CaWdJbnRIAogBARIaCg1lcnJvcl9tZXNzYWdlGAUgASgJSAOIAQFCJQojX3JlY2VpdmVyX2NvbnRyYWN0X2V4ZWN1dGlvbl9zdGF0dXNCCgoIX3R4X2hhc2hCEgoQX3RyYW5zYWN0aW9uX2ZlZUIQCg5fZXJyb3JfbWVzc2FnZSppCg9Db25maWRlbmNlTGV2ZWwSGQoVQ09ORklERU5DRV9MRVZFTF9TQUZFEAASGwoXQ09ORklERU5DRV9MRVZFTF9MQVRFU1QQARIeChpDT05GSURFTkNFX0xFVkVMX0ZJTkFMSVpFRBACKoIBCh9SZWNlaXZlckNvbnRyYWN0RXhlY3V0aW9uU3RhdHVzEi4KKlJFQ0VJVkVSX0NPTlRSQUNUX0VYRUNVVElPTl9TVEFUVVNfU1VDQ0VTUxAAEi8KK1JFQ0VJVkVSX0NPTlRSQUNUX0VYRUNVVElPTl9TVEFUVVNfUkVWRVJURUQQASpOCghUeFN0YXR1cxITCg9UWF9TVEFUVVNfRkFUQUwQABIWChJUWF9TVEFUVVNfUkVWRVJURUQQARIVChFUWF9TVEFUVVNfU1VDQ0VTUxACMssRCgZDbGllbnQSgAEKDENhbGxDb250cmFjdBI4LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLkNhbGxDb250cmFjdFJlcXVlc3QaNi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5DYWxsQ29udHJhY3RSZXBseRJ6CgpGaWx0ZXJMb2dzEjYuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRmlsdGVyTG9nc1JlcXVlc3QaNC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5GaWx0ZXJMb2dzUmVwbHkSdwoJQmFsYW5jZUF0EjUuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuQmFsYW5jZUF0UmVxdWVzdBozLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLkJhbGFuY2VBdFJlcGx5En0KC0VzdGltYXRlR2FzEjcuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRXN0aW1hdGVHYXNSZXF1ZXN0GjUuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRXN0aW1hdGVHYXNSZXBseRKYAQoUR2V0VHJhbnNhY3Rpb25CeUhhc2gSQC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5HZXRUcmFuc2FjdGlvbkJ5SGFzaFJlcXVlc3QaPi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5HZXRUcmFuc2FjdGlvbkJ5SGFzaFJlcGx5EpsBChVHZXRUcmFuc2FjdGlvblJlY2VpcHQSQS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5HZXRUcmFuc2FjdGlvblJlY2VpcHRSZXF1ZXN0Gj8uY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuR2V0VHJhbnNhY3Rpb25SZWNlaXB0UmVwbHkShgEKDkhlYWRlckJ5TnVtYmVyEjouY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuSGVhZGVyQnlOdW1iZXJSZXF1ZXN0GjguY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuSGVhZGVyQnlOdW1iZXJSZXBseRJ2CgpMb2dUcmlnZ2VyEjwuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uZXZtLnYxYWxwaGEuRmlsdGVyTG9nVHJpZ2dlclJlcXVlc3QaKC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5ldm0udjFhbHBoYS5Mb2cwARJ9CgtXcml0ZVJlcG9ydBI3LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLldyaXRlUmVwb3J0UmVxdWVzdBo1LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhLldyaXRlUmVwb3J0UmVwbHkakAiCtRiLCAgBEglldm1AMS4wLjAa+wcKDUNoYWluU2VsZWN0b3IS6QcS5gcKJAoXYXBlY2hhaW4tdGVzdG5ldC1jdXJ0aXMQwcO0+I3EkrKJAQoXCgthcmMtdGVzdG5ldBDnxoye19fQjSoKHQoRYXZhbGFuY2hlLW1haW5uZXQQ1eeKwOHVmKRZCiMKFmF2YWxhbmNoZS10ZXN0bmV0LWZ1amkQm/n8kKLjqPjMAQooChtiaW5hbmNlX3NtYXJ0X2NoYWluLW1haW5uZXQQz/eU8djtlbidAQooChtiaW5hbmNlX3NtYXJ0X2NoYWluLXRlc3RuZXQQ+62+nICu5Iq4AQocChBldGhlcmV1bS1tYWlubmV0EJX28eTPsqbCRQonChtldGhlcmV1bS1tYWlubmV0LWFyYml0cnVtLTEQxOiNzY6boddECiQKF2V0aGVyZXVtLW1haW5uZXQtYmFzZS0xEIL/q6L+uZDT3QEKJwobZXRoZXJldW0tbWFpbm5ldC1vcHRpbWlzbS0xELiVj8P3/tDpMwopCh1ldGhlcmV1bS1tYWlubmV0LXdvcmxkY2hhaW4tMRCH77q3xbbCuBwKJQoZZXRoZXJldW0tbWFpbm5ldC16a3N5bmMtMRCU7pfZ7bSx1xUKJQoYZXRoZXJldW0tdGVzdG5ldC1zZXBvbGlhENm15M78ye6g3gEKLwojZXRoZXJldW0tdGVzdG5ldC1zZXBvbGlhLWFyYml0cnVtLTEQ6s7u/+q2hKMwCiwKH2V0aGVyZXVtLXRlc3RuZXQtc2Vwb2xpYS1iYXNlLTEQuMq57/aQrsiPAQosCiBldGhlcmV1bS10ZXN0bmV0LXNlcG9saWEtbGluZWEtMRDrqtT+gvnmr08KLwojZXRoZXJldW0tdGVzdG5ldC1zZXBvbGlhLW9wdGltaXNtLTEQn4bFob7Yw8BICjEKJWV0aGVyZXVtLXRlc3RuZXQtc2Vwb2xpYS13b3JsZGNoYWluLTEQut/gxcep88VJCi0KIWV0aGVyZXVtLXRlc3RuZXQtc2Vwb2xpYS16a3N5bmMtMRC3wfz98sSA3l8KHwoTaHlwZXJsaXF1aWQtdGVzdG5ldBCIzt3Il+DJvTsKIAoTaW5rLXRlc3RuZXQtc2Vwb2xpYRDo9Kel8+aWwIcBChkKDWpvdmF5LXRlc3RuZXQQ5M+KhN6y3o4NChoKDnBsYXNtYS10ZXN0bmV0ENWbv6XDtJmHNwobCg9wb2x5Z29uLW1haW5uZXQQsavk8JqShp04CiEKFHBvbHlnb24tdGVzdG5ldC1hbW95EM2P1t/xx5D64QEKJAoYcHJpdmF0ZS10ZXN0bmV0LWFuZGVzaXRlENSmmKXBj9z8X0LlAQonY29tLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmV2bS52MWFscGhhQgtDbGllbnRQcm90b1ABogIDQ0JFqgIjQ2FwYWJpbGl0aWVzLkJsb2NrY2hhaW4uRXZtLlYxYWxwaGHKAiNDYXBhYmlsaXRpZXNcQmxvY2tjaGFpblxFdm1cVjFhbHBoYeICL0NhcGFiaWxpdGllc1xCbG9ja2NoYWluXEV2bVxWMWFscGhhXEdQQk1ldGFkYXRh6gImQ2FwYWJpbGl0aWVzOjpCbG9ja2NoYWluOjpFdm06OlYxYWxwaGFiBnByb3RvMw', [file_sdk_v1alpha_sdk, file_tools_generator_v1alpha_cre_metadata, file_values_v1_values]);
14
14
  /**
15
15
  * Describes the message capabilities.blockchain.evm.v1alpha.TopicValues.
16
16
  * Use `create(TopicValuesSchema)` to create a new message.
@@ -38,50 +38,26 @@ export declare class ClientCapability {
38
38
  readonly 'avalanche-testnet-fuji': 14767482510784806043n;
39
39
  readonly 'binance_smart_chain-mainnet': 11344663589394136015n;
40
40
  readonly 'binance_smart_chain-testnet': 13264668187771770619n;
41
- readonly 'celo-mainnet': 1346049177634351622n;
42
- readonly 'cronos-testnet': 2995292832068775165n;
43
- readonly 'dtcc-testnet-andesite': 15513093881969820114n;
44
41
  readonly 'ethereum-mainnet': 5009297550715157269n;
45
42
  readonly 'ethereum-mainnet-arbitrum-1': 4949039107694359620n;
46
43
  readonly 'ethereum-mainnet-base-1': 15971525489660198786n;
47
- readonly 'ethereum-mainnet-ink-1': 3461204551265785888n;
48
- readonly 'ethereum-mainnet-linea-1': 4627098889531055414n;
49
- readonly 'ethereum-mainnet-mantle-1': 1556008542357238666n;
50
44
  readonly 'ethereum-mainnet-optimism-1': 3734403246176062136n;
51
- readonly 'ethereum-mainnet-scroll-1': 13204309965629103672n;
52
45
  readonly 'ethereum-mainnet-worldchain-1': 2049429975587534727n;
53
- readonly 'ethereum-mainnet-xlayer-1': 3016212468291539606n;
54
46
  readonly 'ethereum-mainnet-zksync-1': 1562403441176082196n;
55
47
  readonly 'ethereum-testnet-sepolia': 16015286601757825753n;
56
48
  readonly 'ethereum-testnet-sepolia-arbitrum-1': 3478487238524512106n;
57
49
  readonly 'ethereum-testnet-sepolia-base-1': 10344971235874465080n;
58
50
  readonly 'ethereum-testnet-sepolia-linea-1': 5719461335882077547n;
59
- readonly 'ethereum-testnet-sepolia-mantle-1': 8236463271206331221n;
60
51
  readonly 'ethereum-testnet-sepolia-optimism-1': 5224473277236331295n;
61
- readonly 'ethereum-testnet-sepolia-scroll-1': 2279865765895943307n;
62
- readonly 'ethereum-testnet-sepolia-unichain-1': 14135854469784514356n;
63
52
  readonly 'ethereum-testnet-sepolia-worldchain-1': 5299555114858065850n;
64
53
  readonly 'ethereum-testnet-sepolia-zksync-1': 6898391096552792247n;
65
- readonly 'gnosis_chain-mainnet': 465200170687744372n;
66
- readonly 'gnosis_chain-testnet-chiado': 8871595565390010547n;
67
- readonly 'hyperliquid-mainnet': 2442541497099098535n;
68
54
  readonly 'hyperliquid-testnet': 4286062357653186312n;
69
55
  readonly 'ink-testnet-sepolia': 9763904284804119144n;
70
- readonly 'jovay-mainnet': 1523760397290643893n;
71
56
  readonly 'jovay-testnet': 945045181441419236n;
72
- readonly 'megaeth-mainnet': 6093540873831549674n;
73
- readonly 'megaeth-testnet-2': 18241817625092392675n;
74
- readonly 'pharos-atlantic-testnet': 16098325658947243212n;
75
- readonly 'pharos-mainnet': 7801139999541420232n;
76
- readonly 'plasma-mainnet': 9335212494177455608n;
77
57
  readonly 'plasma-testnet': 3967220077692964309n;
78
58
  readonly 'polygon-mainnet': 4051577828743386545n;
79
59
  readonly 'polygon-testnet-amoy': 16281711391670634445n;
80
60
  readonly 'private-testnet-andesite': 6915682381028791124n;
81
- readonly 'sonic-mainnet': 1673871237479749969n;
82
- readonly 'sonic-testnet': 1763698235108410440n;
83
- readonly 'tac-testnet': 9488606126177218005n;
84
- readonly 'xlayer-testnet': 10212741611335999305n;
85
61
  };
86
62
  constructor(ChainSelector: bigint);
87
63
  callContract(runtime: Runtime<unknown>, input: CallContractRequest | CallContractRequestJson): {
@@ -48,50 +48,26 @@ export class ClientCapability {
48
48
  'avalanche-testnet-fuji': 14767482510784806043n,
49
49
  'binance_smart_chain-mainnet': 11344663589394136015n,
50
50
  'binance_smart_chain-testnet': 13264668187771770619n,
51
- 'celo-mainnet': 1346049177634351622n,
52
- 'cronos-testnet': 2995292832068775165n,
53
- 'dtcc-testnet-andesite': 15513093881969820114n,
54
51
  'ethereum-mainnet': 5009297550715157269n,
55
52
  'ethereum-mainnet-arbitrum-1': 4949039107694359620n,
56
53
  'ethereum-mainnet-base-1': 15971525489660198786n,
57
- 'ethereum-mainnet-ink-1': 3461204551265785888n,
58
- 'ethereum-mainnet-linea-1': 4627098889531055414n,
59
- 'ethereum-mainnet-mantle-1': 1556008542357238666n,
60
54
  'ethereum-mainnet-optimism-1': 3734403246176062136n,
61
- 'ethereum-mainnet-scroll-1': 13204309965629103672n,
62
55
  'ethereum-mainnet-worldchain-1': 2049429975587534727n,
63
- 'ethereum-mainnet-xlayer-1': 3016212468291539606n,
64
56
  'ethereum-mainnet-zksync-1': 1562403441176082196n,
65
57
  'ethereum-testnet-sepolia': 16015286601757825753n,
66
58
  'ethereum-testnet-sepolia-arbitrum-1': 3478487238524512106n,
67
59
  'ethereum-testnet-sepolia-base-1': 10344971235874465080n,
68
60
  'ethereum-testnet-sepolia-linea-1': 5719461335882077547n,
69
- 'ethereum-testnet-sepolia-mantle-1': 8236463271206331221n,
70
61
  'ethereum-testnet-sepolia-optimism-1': 5224473277236331295n,
71
- 'ethereum-testnet-sepolia-scroll-1': 2279865765895943307n,
72
- 'ethereum-testnet-sepolia-unichain-1': 14135854469784514356n,
73
62
  'ethereum-testnet-sepolia-worldchain-1': 5299555114858065850n,
74
63
  'ethereum-testnet-sepolia-zksync-1': 6898391096552792247n,
75
- 'gnosis_chain-mainnet': 465200170687744372n,
76
- 'gnosis_chain-testnet-chiado': 8871595565390010547n,
77
- 'hyperliquid-mainnet': 2442541497099098535n,
78
64
  'hyperliquid-testnet': 4286062357653186312n,
79
65
  'ink-testnet-sepolia': 9763904284804119144n,
80
- 'jovay-mainnet': 1523760397290643893n,
81
66
  'jovay-testnet': 945045181441419236n,
82
- 'megaeth-mainnet': 6093540873831549674n,
83
- 'megaeth-testnet-2': 18241817625092392675n,
84
- 'pharos-atlantic-testnet': 16098325658947243212n,
85
- 'pharos-mainnet': 7801139999541420232n,
86
- 'plasma-mainnet': 9335212494177455608n,
87
67
  'plasma-testnet': 3967220077692964309n,
88
68
  'polygon-mainnet': 4051577828743386545n,
89
69
  'polygon-testnet-amoy': 16281711391670634445n,
90
70
  'private-testnet-andesite': 6915682381028791124n,
91
- 'sonic-mainnet': 1673871237479749969n,
92
- 'sonic-testnet': 1763698235108410440n,
93
- 'tac-testnet': 9488606126177218005n,
94
- 'xlayer-testnet': 10212741611335999305n,
95
71
  };
96
72
  constructor(ChainSelector) {
97
73
  this.ChainSelector = ChainSelector;
package/dist/index.d.ts CHANGED
@@ -1,4 +1 @@
1
- /// <reference types="./sdk/types/global" />
2
- /// <reference types="./sdk/types/restricted-apis" />
3
- /// <reference types="./sdk/types/restricted-node-modules" />
4
1
  export * from './sdk';
@@ -1,8 +1,5 @@
1
- // Global type declarations for the CRE SDK runtime.
2
- // These are the methods and globals exposed by the Host to the Guest.
3
-
4
- type ExistingGlobal<K extends PropertyKey, Fallback> =
5
- typeof globalThis extends Record<K, infer T> ? T : Fallback
1
+ // Global type declarations for the CRE SDK runtime
2
+ // Those are the methods that the Host exposes to the Guest.
6
3
 
7
4
  /**
8
5
  * Host functions exposed by the CRE runtime to WASM guests
@@ -81,147 +78,6 @@ declare global {
81
78
  * @returns Unix timestamp in milliseconds
82
79
  */
83
80
  function now(): number
84
-
85
- /**
86
- * Console API available in the QuickJS runtime
87
- */
88
- type CreConsole = {
89
- log(...args: unknown[]): void
90
- warn(...args: unknown[]): void
91
- error(...args: unknown[]): void
92
- info(...args: unknown[]): void
93
- debug(...args: unknown[]): void
94
- }
95
- var console: ExistingGlobal<'console', CreConsole>
96
-
97
- /**
98
- * TextEncoder/TextDecoder APIs available via Javy's text_encoding support
99
- */
100
- interface CreTextEncoderEncodeIntoResult {
101
- read: number
102
- written: number
103
- }
104
-
105
- interface CreTextEncoder {
106
- readonly encoding: string
107
- encode(input?: string): Uint8Array
108
- encodeInto(input: string, dest: Uint8Array): CreTextEncoderEncodeIntoResult
109
- }
110
- var TextEncoder: ExistingGlobal<
111
- 'TextEncoder',
112
- { prototype: CreTextEncoder; new (): CreTextEncoder }
113
- >
114
-
115
- interface CreTextDecoder {
116
- readonly encoding: string
117
- readonly fatal: boolean
118
- readonly ignoreBOM: boolean
119
- decode(input?: ArrayBuffer | ArrayBufferView, options?: { stream?: boolean }): string
120
- }
121
- var TextDecoder: ExistingGlobal<
122
- 'TextDecoder',
123
- {
124
- prototype: CreTextDecoder
125
- new (label?: string, options?: { fatal?: boolean; ignoreBOM?: boolean }): CreTextDecoder
126
- }
127
- >
128
-
129
- /**
130
- * Buffer and Base64 APIs exposed via prepareRuntime() from node:buffer.
131
- * Declared structurally so they work even when consumers opt out of @types/node.
132
- */
133
- type CreBufferEncoding =
134
- | 'ascii'
135
- | 'base64'
136
- | 'base64url'
137
- | 'binary'
138
- | 'hex'
139
- | 'latin1'
140
- | 'ucs-2'
141
- | 'ucs2'
142
- | 'utf-8'
143
- | 'utf-16le'
144
- | 'utf8'
145
- | 'utf16le'
146
-
147
- interface CreBuffer extends Uint8Array {
148
- toString(encoding?: CreBufferEncoding, start?: number, end?: number): string
149
- slice(start?: number, end?: number): CreBuffer
150
- subarray(begin?: number, end?: number): CreBuffer
151
- }
152
-
153
- var Buffer: ExistingGlobal<
154
- 'Buffer',
155
- {
156
- prototype: CreBuffer
157
- alloc(
158
- size: number,
159
- fill?: string | number | Uint8Array | ArrayBuffer | ArrayBufferView,
160
- encoding?: CreBufferEncoding,
161
- ): CreBuffer
162
- byteLength(
163
- value: string | Uint8Array | ArrayBuffer | ArrayBufferView,
164
- encoding?: CreBufferEncoding,
165
- ): number
166
- concat(list: readonly Uint8Array[], totalLength?: number): CreBuffer
167
- from(value: string, encoding?: CreBufferEncoding): CreBuffer
168
- from(value: Uint8Array | ArrayBuffer | ArrayBufferView | ArrayLike<number>): CreBuffer
169
- isBuffer(value: unknown): value is CreBuffer
170
- }
171
- >
172
-
173
- function atob(encodedData: string): string
174
- function btoa(stringToEncode: string): string
175
-
176
- /**
177
- * URL and URLSearchParams — exposed via prepareRuntime() from node:url
178
- */
179
- interface CreURLSearchParams {
180
- append(name: string, value: string): void
181
- delete(name: string): void
182
- get(name: string): string | null
183
- getAll(name: string): string[]
184
- has(name: string): boolean
185
- set(name: string, value: string): void
186
- sort(): void
187
- toString(): string
188
- forEach(callback: (value: string, key: string, parent: CreURLSearchParams) => void): void
189
- entries(): IterableIterator<[string, string]>
190
- keys(): IterableIterator<string>
191
- values(): IterableIterator<string>
192
- [Symbol.iterator](): IterableIterator<[string, string]>
193
- readonly size: number
194
- }
195
- var URLSearchParams: ExistingGlobal<
196
- 'URLSearchParams',
197
- {
198
- prototype: CreURLSearchParams
199
- new (
200
- init?: string | Record<string, string> | [string, string][] | CreURLSearchParams,
201
- ): CreURLSearchParams
202
- }
203
- >
204
-
205
- interface CreURL {
206
- hash: string
207
- host: string
208
- hostname: string
209
- href: string
210
- readonly origin: string
211
- password: string
212
- pathname: string
213
- port: string
214
- protocol: string
215
- search: string
216
- readonly searchParams: CreURLSearchParams
217
- username: string
218
- toString(): string
219
- toJSON(): string
220
- }
221
- var URL: ExistingGlobal<
222
- 'URL',
223
- { prototype: CreURL; new (url: string, base?: string | CreURL): CreURL }
224
- >
225
81
  }
226
82
 
227
83
  export {}
@@ -1,22 +1,27 @@
1
1
  declare global {
2
- /**
3
- * @deprecated fetch is not available in CRE WASM workflows.
4
- * Use cre.capabilities.HTTPClient instead.
5
- * @see https://docs.chain.link/cre/concepts/typescript-wasm-runtime
6
- */
7
- function fetch(_notAvailable: never): never
8
-
9
- /**
10
- * @deprecated setTimeout is not available in CRE WASM workflows. Use cre.capabilities.CronCapability for scheduling.
11
- * @see https://docs.chain.link/cre/concepts/typescript-wasm-runtime
12
- */
13
- function setTimeout(_notAvailable: never, ..._args: never[]): never
14
-
15
- /**
16
- * @deprecated setInterval is not available in CRE WASM workflows. Use cre.capabilities.CronCapability for scheduling.
17
- * @see https://docs.chain.link/cre/concepts/typescript-wasm-runtime
18
- */
19
- function setInterval(_notAvailable: never, ..._args: never[]): never
2
+ /** @deprecated fetch is not available in CRE WASM workflows. Use cre.capabilities.HTTPClient instead. */
3
+ const fetch: never
4
+
5
+ /** @deprecated window is not available in CRE WASM workflows. */
6
+ const window: never
7
+
8
+ /** @deprecated document is not available in CRE WASM workflows. */
9
+ const document: never
10
+
11
+ /** @deprecated XMLHttpRequest is not available in CRE WASM workflows. Use cre.capabilities.HTTPClient instead. */
12
+ const XMLHttpRequest: never
13
+
14
+ /** @deprecated localStorage is not available in CRE WASM workflows. */
15
+ const localStorage: never
16
+
17
+ /** @deprecated sessionStorage is not available in CRE WASM workflows. */
18
+ const sessionStorage: never
19
+
20
+ /** @deprecated setTimeout is not available in CRE WASM workflows. Use cre.capabilities.CronCapability for scheduling. */
21
+ const setTimeout: never
22
+
23
+ /** @deprecated setInterval is not available in CRE WASM workflows. Use cre.capabilities.CronCapability for scheduling. */
24
+ const setInterval: never
20
25
  }
21
26
 
22
27
  export {}
@@ -1,4 +1,4 @@
1
- import type { CallMsgJson, FilterLogTriggerRequestJson } from '../../../../generated/capabilities/blockchain/evm/v1alpha/client_pb';
1
+ import type { CallMsgJson } from '../../../../generated/capabilities/blockchain/evm/v1alpha/client_pb';
2
2
  import type { ReportRequestJson } from '../../../../generated/sdk/v1alpha/sdk_pb';
3
3
  import { type BigInt as GeneratedBigInt } from '../../../../generated/values/v1/values_pb';
4
4
  import type { Address, Hex } from 'viem';
@@ -54,7 +54,7 @@ export declare const blockNumber: (n: number | bigint | string) => import("../..
54
54
  * Using this constant will indicate that the call should be executed at the last finalized block.
55
55
  */
56
56
  export declare const LAST_FINALIZED_BLOCK_NUMBER: {
57
- absVal: any;
57
+ absVal: string;
58
58
  sign: string;
59
59
  };
60
60
  /**
@@ -68,7 +68,7 @@ export declare const LAST_FINALIZED_BLOCK_NUMBER: {
68
68
  * Using this constant will indicate that the call should be executed at the latest mined block.
69
69
  */
70
70
  export declare const LATEST_BLOCK_NUMBER: {
71
- absVal: any;
71
+ absVal: string;
72
72
  sign: string;
73
73
  };
74
74
  export interface EncodeCallMsgPayload {
@@ -107,41 +107,4 @@ export declare const EVM_DEFAULT_REPORT_ENCODER: {
107
107
  * @returns The prepared report request.
108
108
  */
109
109
  export declare const prepareReportRequest: (hexEncodedPayload: Hex, reportEncoder?: Omit<ReportRequestJson, "encodedPayload">) => ReportRequestJson;
110
- export interface LogTriggerConfigOptions {
111
- /** EVM addresses to monitor — hex strings with 0x prefix (20 bytes each) */
112
- addresses: Hex[];
113
- /** Topic filters — array of up to 4 arrays of hex topic values (32 bytes each).
114
- * - topics[0]: event signatures (keccak256 hashes), at least one required
115
- * - topics[1]: possible values for first indexed arg (optional)
116
- * - topics[2]: possible values for second indexed arg (optional)
117
- * - topics[3]: possible values for third indexed arg (optional)
118
- */
119
- topics?: Hex[][];
120
- /** Confidence level for log finality. Defaults to SAFE. */
121
- confidence?: 'SAFE' | 'LATEST' | 'FINALIZED';
122
- }
123
- /**
124
- * Creates a log trigger configuration from hex-encoded addresses and topics.
125
- *
126
- * This helper converts hex addresses and topic hashes to the base64-encoded format
127
- * expected by the EVM capability's `FilterLogTriggerRequest`, and validates that
128
- * addresses are 20 bytes and topics are 32 bytes.
129
- *
130
- * @example
131
- * const WETH = '0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9'
132
- * const TRANSFER = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
133
- *
134
- * handler(
135
- * evmClient.logTrigger(logTriggerConfig({
136
- * addresses: [WETH],
137
- * topics: [[TRANSFER]],
138
- * confidence: 'LATEST',
139
- * })),
140
- * onLogTrigger,
141
- * )
142
- *
143
- * @param opts - Hex-encoded addresses, topic filters, and optional confidence level.
144
- * @returns The `FilterLogTriggerRequestJson` ready to pass to `evmClient.logTrigger()`.
145
- */
146
- export declare const logTriggerConfig: (opts: LogTriggerConfigOptions) => FilterLogTriggerRequestJson;
147
110
  export declare const isChainSelectorSupported: (chainSelectorName: string) => boolean;
@@ -1,7 +1,7 @@
1
1
  import { create, toJson } from '@bufbuild/protobuf';
2
2
  import { BigIntSchema } from '../../../../generated/values/v1/values_pb';
3
3
  import { EVMClient } from '../../../cre';
4
- import { bigintToBytes, bytesToBigint, hexToBase64, hexToBytes } from '../../hex-utils';
4
+ import { bigintToBytes, bytesToBigint, hexToBase64 } from '../../hex-utils';
5
5
  /**
6
6
  * Converts a native JS bigint to a protobuf BigInt JSON representation.
7
7
  * Use this when passing bigint values to SDK methods.
@@ -95,21 +95,11 @@ export const LATEST_BLOCK_NUMBER = {
95
95
  * @param payload - The call message payload to encode.
96
96
  * @returns The encoded call message payload.
97
97
  */
98
- export const encodeCallMsg = (payload) => {
99
- const encodeField = (fieldName, value) => {
100
- try {
101
- return hexToBase64(value);
102
- }
103
- catch (e) {
104
- throw new Error(`Invalid hex in '${fieldName}' field of CallMsg: ${e instanceof Error ? e.message : String(e)}`);
105
- }
106
- };
107
- return {
108
- from: encodeField('from', payload.from),
109
- to: encodeField('to', payload.to),
110
- data: encodeField('data', payload.data),
111
- };
112
- };
98
+ export const encodeCallMsg = (payload) => ({
99
+ from: hexToBase64(payload.from),
100
+ to: hexToBase64(payload.to),
101
+ data: hexToBase64(payload.data),
102
+ });
113
103
  /**
114
104
  * Default values expected by the EVM capability for report encoding.
115
105
  */
@@ -129,68 +119,4 @@ export const prepareReportRequest = (hexEncodedPayload, reportEncoder = EVM_DEFA
129
119
  encodedPayload: hexToBase64(hexEncodedPayload),
130
120
  ...reportEncoder,
131
121
  });
132
- /**
133
- * Validates a hex string and checks that the decoded bytes have the expected length.
134
- */
135
- const validateHexByteLength = (hex, expectedBytes, fieldLabel) => {
136
- const bytes = hexToBytes(hex);
137
- if (bytes.length !== expectedBytes) {
138
- throw new Error(`Invalid ${fieldLabel}: expected ${expectedBytes} bytes, got ${bytes.length} bytes from '${hex.length > 200 ? hex.slice(0, 200) + '...' : hex}'. EVM ${fieldLabel}s must be exactly ${expectedBytes} bytes.`);
139
- }
140
- return hexToBase64(hex);
141
- };
142
- /**
143
- * Creates a log trigger configuration from hex-encoded addresses and topics.
144
- *
145
- * This helper converts hex addresses and topic hashes to the base64-encoded format
146
- * expected by the EVM capability's `FilterLogTriggerRequest`, and validates that
147
- * addresses are 20 bytes and topics are 32 bytes.
148
- *
149
- * @example
150
- * const WETH = '0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9'
151
- * const TRANSFER = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
152
- *
153
- * handler(
154
- * evmClient.logTrigger(logTriggerConfig({
155
- * addresses: [WETH],
156
- * topics: [[TRANSFER]],
157
- * confidence: 'LATEST',
158
- * })),
159
- * onLogTrigger,
160
- * )
161
- *
162
- * @param opts - Hex-encoded addresses, topic filters, and optional confidence level.
163
- * @returns The `FilterLogTriggerRequestJson` ready to pass to `evmClient.logTrigger()`.
164
- */
165
- export const logTriggerConfig = (opts) => {
166
- if (!opts.addresses || opts.addresses.length === 0) {
167
- throw new Error('logTriggerConfig requires at least one address. Provide an array of hex-encoded EVM addresses (20 bytes each).');
168
- }
169
- const addresses = opts.addresses.map((addr, i) => {
170
- try {
171
- return validateHexByteLength(addr, 20, 'address');
172
- }
173
- catch (e) {
174
- throw new Error(`Invalid address at index ${i}: ${e instanceof Error ? e.message : String(e)}`);
175
- }
176
- });
177
- const topics = opts.topics?.map((topicSlot, slotIndex) => ({
178
- values: topicSlot.map((topic, valueIndex) => {
179
- try {
180
- return validateHexByteLength(topic, 32, 'topic');
181
- }
182
- catch (e) {
183
- throw new Error(`Invalid topic at topics[${slotIndex}][${valueIndex}]: ${e instanceof Error ? e.message : String(e)}`);
184
- }
185
- }),
186
- }));
187
- const confidence = opts.confidence
188
- ? `CONFIDENCE_LEVEL_${opts.confidence}`
189
- : undefined;
190
- return {
191
- addresses,
192
- ...(topics ? { topics } : {}),
193
- ...(confidence ? { confidence } : {}),
194
- };
195
- };
196
122
  export const isChainSelectorSupported = (chainSelectorName) => Object.keys(EVMClient.SUPPORTED_CHAIN_SELECTORS).includes(chainSelectorName);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * This function is used to prepare the runtime for the SDK to work.
3
3
  * It should be called as a part of SDK initialization.
4
- * It exposes Node.js APIs in global namespace, so they can be bundled and used in workflow code.
4
+ * It exposes NodeJS Buffer in global namespace, so it can be bundled and used in workflow code.
5
5
  */
6
6
  export declare const prepareRuntime: () => void;
@@ -1,16 +1,9 @@
1
- import { atob, Buffer, btoa } from 'node:buffer';
2
- import { URL, URLSearchParams } from 'node:url';
1
+ import { Buffer } from 'node:buffer';
3
2
  /**
4
3
  * This function is used to prepare the runtime for the SDK to work.
5
4
  * It should be called as a part of SDK initialization.
6
- * It exposes Node.js APIs in global namespace, so they can be bundled and used in workflow code.
5
+ * It exposes NodeJS Buffer in global namespace, so it can be bundled and used in workflow code.
7
6
  */
8
7
  export const prepareRuntime = () => {
9
8
  globalThis.Buffer = Buffer;
10
- globalThis.atob = atob;
11
- globalThis.btoa = btoa;
12
- // node:url constructor types are slightly narrower than lib.dom/global types.
13
- // Runtime behavior is compatible; cast to the global constructor shapes.
14
- globalThis.URL = URL;
15
- globalThis.URLSearchParams = URLSearchParams;
16
9
  };
@@ -1,13 +1,13 @@
1
1
  import { Mode } from '../../generated/sdk/v1alpha/sdk_pb';
2
2
  export declare const hostBindings: {
3
+ switchModes: (args_0: Mode, ...args: unknown[]) => void;
4
+ log: (args_0: string, ...args: unknown[]) => void;
5
+ sendResponse: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, ...args: unknown[]) => number;
6
+ versionV2: (...args: unknown[]) => void;
3
7
  callCapability: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, ...args: unknown[]) => number;
4
8
  awaitCapabilities: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>;
5
9
  getSecrets: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => any;
6
10
  awaitSecrets: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, args_1: number, ...args: unknown[]) => Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>;
7
- log: (args_0: string, ...args: unknown[]) => void;
8
- sendResponse: (args_0: Uint8Array<ArrayBufferLike> | Uint8Array<ArrayBuffer>, ...args: unknown[]) => number;
9
- switchModes: (args_0: Mode, ...args: unknown[]) => void;
10
- versionV2: (...args: unknown[]) => void;
11
11
  getWasiArgs: (...args: unknown[]) => string;
12
12
  now: (...args: unknown[]) => number;
13
13
  };