@chainlink/cre-sdk 1.0.0 → 1.0.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.
Files changed (44) hide show
  1. package/dist/generated/capabilities/blockchain/evm/v1alpha/client_pb.d.ts +0 -192
  2. package/dist/generated/capabilities/blockchain/evm/v1alpha/client_pb.js +4 -27
  3. package/dist/generated/capabilities/networking/confidentialhttp/v1alpha/client_pb.d.ts +245 -0
  4. package/dist/generated/capabilities/networking/confidentialhttp/v1alpha/client_pb.js +47 -0
  5. package/dist/generated/capabilities/networking/http/v1alpha/client_pb.d.ts +21 -16
  6. package/dist/generated/capabilities/networking/http/v1alpha/client_pb.js +2 -1
  7. package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.d.ts +12 -13
  8. package/dist/generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen.js +33 -103
  9. package/dist/generated-sdk/capabilities/networking/confidentialhttp/v1alpha/client_sdk_gen.d.ts +32 -0
  10. package/dist/generated-sdk/capabilities/networking/confidentialhttp/v1alpha/client_sdk_gen.js +71 -0
  11. package/dist/pb.d.ts +1 -0
  12. package/dist/pb.js +1 -0
  13. package/dist/sdk/cre/index.d.ts +3 -0
  14. package/dist/sdk/cre/index.js +4 -0
  15. package/dist/sdk/impl/runtime-impl.d.ts +70 -1
  16. package/dist/sdk/impl/runtime-impl.js +215 -110
  17. package/dist/sdk/runtime.d.ts +26 -8
  18. package/dist/sdk/utils/capabilities/blockchain/blockchain-helpers.d.ts +43 -0
  19. package/dist/sdk/utils/capabilities/blockchain/blockchain-helpers.js +51 -1
  20. package/dist/sdk/utils/capabilities/http/http-helpers.d.ts +7 -6
  21. package/dist/sdk/utils/chain-selectors/{getNetwork.d.ts → get-network.d.ts} +2 -8
  22. package/dist/sdk/utils/chain-selectors/get-network.js +18 -0
  23. package/dist/sdk/utils/chain-selectors/index.d.ts +2 -2
  24. package/dist/sdk/utils/chain-selectors/index.js +2 -2
  25. package/dist/sdk/utils/chain-selectors/network-lookup.d.ts +31 -0
  26. package/dist/sdk/utils/chain-selectors/network-lookup.js +82 -0
  27. package/dist/sdk/utils/config/index.js +2 -1
  28. package/dist/sdk/utils/hex-utils.d.ts +17 -0
  29. package/dist/sdk/utils/hex-utils.js +29 -0
  30. package/dist/sdk/utils/index.d.ts +1 -0
  31. package/dist/sdk/utils/index.js +1 -0
  32. package/dist/sdk/wasm/index.d.ts +1 -0
  33. package/dist/sdk/wasm/index.js +1 -0
  34. package/dist/sdk/wasm/send-error-response.d.ts +16 -0
  35. package/dist/sdk/wasm/send-error-response.js +43 -0
  36. package/dist/workflows/standard_tests/host_wasm_write_errors_are_respected/test.ts +32 -0
  37. package/package.json +8 -3
  38. package/scripts/src/compile-to-js.ts +38 -19
  39. package/scripts/src/generate-sdks.ts +3 -0
  40. package/scripts/src/workflow-wrapper.test.ts +321 -0
  41. package/scripts/src/workflow-wrapper.ts +163 -0
  42. package/dist/sdk/utils/chain-selectors/getNetwork.js +0 -77
  43. /package/dist/sdk/utils/chain-selectors/{getAllNetworks.d.ts → get-all-networks.d.ts} +0 -0
  44. /package/dist/sdk/utils/chain-selectors/{getAllNetworks.js → get-all-networks.js} +0 -0
@@ -1,5 +1,6 @@
1
1
  import type { Message } from '@bufbuild/protobuf';
2
2
  import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
3
+ import type { Duration, DurationJson } from '@bufbuild/protobuf/wkt';
3
4
  /**
4
5
  * Describes the file capabilities/networking/http/v1alpha/client.proto.
5
6
  */
@@ -11,17 +12,17 @@ export declare const file_capabilities_networking_http_v1alpha_client: GenFile;
11
12
  */
12
13
  export type CacheSettings = Message<'capabilities.networking.http.v1alpha.CacheSettings'> & {
13
14
  /**
14
- * If true, attempt to read a cached response for the request.
15
+ * If true, cache the response.
15
16
  *
16
- * @generated from field: bool read_from_cache = 1;
17
+ * @generated from field: bool store = 1;
17
18
  */
18
- readFromCache: boolean;
19
+ store: boolean;
19
20
  /**
20
- * Maximum age of a cached response in milliseconds.
21
+ * Maximum age of a cached response. If zero, do not attempt to read from cache
21
22
  *
22
- * @generated from field: int32 max_age_ms = 2;
23
+ * @generated from field: google.protobuf.Duration max_age = 2;
23
24
  */
24
- maxAgeMs: number;
25
+ maxAge?: Duration;
25
26
  };
26
27
  /**
27
28
  * CacheSettings defines cache control options for outbound HTTP requests.
@@ -30,17 +31,17 @@ export type CacheSettings = Message<'capabilities.networking.http.v1alpha.CacheS
30
31
  */
31
32
  export type CacheSettingsJson = {
32
33
  /**
33
- * If true, attempt to read a cached response for the request.
34
+ * If true, cache the response.
34
35
  *
35
- * @generated from field: bool read_from_cache = 1;
36
+ * @generated from field: bool store = 1;
36
37
  */
37
- readFromCache?: boolean;
38
+ store?: boolean;
38
39
  /**
39
- * Maximum age of a cached response in milliseconds.
40
+ * Maximum age of a cached response. If zero, do not attempt to read from cache
40
41
  *
41
- * @generated from field: int32 max_age_ms = 2;
42
+ * @generated from field: google.protobuf.Duration max_age = 2;
42
43
  */
43
- maxAgeMs?: number;
44
+ maxAge?: DurationJson;
44
45
  };
45
46
  /**
46
47
  * Describes the message capabilities.networking.http.v1alpha.CacheSettings.
@@ -72,9 +73,11 @@ export type Request = Message<'capabilities.networking.http.v1alpha.Request'> &
72
73
  */
73
74
  body: Uint8Array;
74
75
  /**
75
- * @generated from field: int32 timeout_ms = 5;
76
+ * Request timeout duration
77
+ *
78
+ * @generated from field: google.protobuf.Duration timeout = 5;
76
79
  */
77
- timeoutMs: number;
80
+ timeout?: Duration;
78
81
  /**
79
82
  * @generated from field: capabilities.networking.http.v1alpha.CacheSettings cache_settings = 6;
80
83
  */
@@ -103,9 +106,11 @@ export type RequestJson = {
103
106
  */
104
107
  body?: string;
105
108
  /**
106
- * @generated from field: int32 timeout_ms = 5;
109
+ * Request timeout duration
110
+ *
111
+ * @generated from field: google.protobuf.Duration timeout = 5;
107
112
  */
108
- timeoutMs?: number;
113
+ timeout?: DurationJson;
109
114
  /**
110
115
  * @generated from field: capabilities.networking.http.v1alpha.CacheSettings cache_settings = 6;
111
116
  */
@@ -2,13 +2,14 @@
2
2
  // @generated from file capabilities/networking/http/v1alpha/client.proto (package capabilities.networking.http.v1alpha, syntax proto3)
3
3
  /* eslint-disable */
4
4
  import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
5
+ import { file_google_protobuf_duration } from '@bufbuild/protobuf/wkt';
5
6
  import { file_tools_generator_v1alpha_cre_metadata } from '../../../../tools/generator/v1alpha/cre_metadata_pb';
6
7
  /**
7
8
  * Describes the file capabilities/networking/http/v1alpha/client.proto.
8
9
  */
9
10
  export const file_capabilities_networking_http_v1alpha_client =
10
11
  /*@__PURE__*/
11
- fileDesc('CjFjYXBhYmlsaXRpZXMvbmV0d29ya2luZy9odHRwL3YxYWxwaGEvY2xpZW50LnByb3RvEiRjYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEiPAoNQ2FjaGVTZXR0aW5ncxIXCg9yZWFkX2Zyb21fY2FjaGUYASABKAgSEgoKbWF4X2FnZV9tcxgCIAEoBSKSAgoHUmVxdWVzdBILCgN1cmwYASABKAkSDgoGbWV0aG9kGAIgASgJEksKB2hlYWRlcnMYAyADKAsyOi5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEuUmVxdWVzdC5IZWFkZXJzRW50cnkSDAoEYm9keRgEIAEoDBISCgp0aW1lb3V0X21zGAUgASgFEksKDmNhY2hlX3NldHRpbmdzGAYgASgLMjMuY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLkNhY2hlU2V0dGluZ3MaLgoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiqwEKCFJlc3BvbnNlEhMKC3N0YXR1c19jb2RlGAEgASgNEkwKB2hlYWRlcnMYAiADKAsyOy5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEuUmVzcG9uc2UuSGVhZGVyc0VudHJ5EgwKBGJvZHkYAyABKAwaLgoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEymAEKBkNsaWVudBJsCgtTZW5kUmVxdWVzdBItLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5SZXF1ZXN0Gi4uY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlc3BvbnNlGiCCtRgcCAISGGh0dHAtYWN0aW9uc0AxLjAuMC1hbHBoYULqAQooY29tLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYUILQ2xpZW50UHJvdG9QAaICA0NOSKoCJENhcGFiaWxpdGllcy5OZXR3b3JraW5nLkh0dHAuVjFhbHBoYcoCJENhcGFiaWxpdGllc1xOZXR3b3JraW5nXEh0dHBcVjFhbHBoYeICMENhcGFiaWxpdGllc1xOZXR3b3JraW5nXEh0dHBcVjFhbHBoYVxHUEJNZXRhZGF0YeoCJ0NhcGFiaWxpdGllczo6TmV0d29ya2luZzo6SHR0cDo6VjFhbHBoYWIGcHJvdG8z', [file_tools_generator_v1alpha_cre_metadata]);
12
+ fileDesc('CjFjYXBhYmlsaXRpZXMvbmV0d29ya2luZy9odHRwL3YxYWxwaGEvY2xpZW50LnByb3RvEiRjYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEiSgoNQ2FjaGVTZXR0aW5ncxINCgVzdG9yZRgBIAEoCBIqCgdtYXhfYWdlGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIqoCCgdSZXF1ZXN0EgsKA3VybBgBIAEoCRIOCgZtZXRob2QYAiABKAkSSwoHaGVhZGVycxgDIAMoCzI6LmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5SZXF1ZXN0LkhlYWRlcnNFbnRyeRIMCgRib2R5GAQgASgMEioKB3RpbWVvdXQYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SSwoOY2FjaGVfc2V0dGluZ3MYBiABKAsyMy5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEuQ2FjaGVTZXR0aW5ncxouCgxIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKrAQoIUmVzcG9uc2USEwoLc3RhdHVzX2NvZGUYASABKA0STAoHaGVhZGVycxgCIAMoCzI7LmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5SZXNwb25zZS5IZWFkZXJzRW50cnkSDAoEYm9keRgDIAEoDBouCgxIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ATKYAQoGQ2xpZW50EmwKC1NlbmRSZXF1ZXN0Ei0uY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlcXVlc3QaLi5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEuUmVzcG9uc2UaIIK1GBwIAhIYaHR0cC1hY3Rpb25zQDEuMC4wLWFscGhhQuoBCihjb20uY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhQgtDbGllbnRQcm90b1ABogIDQ05IqgIkQ2FwYWJpbGl0aWVzLk5ldHdvcmtpbmcuSHR0cC5WMWFscGhhygIkQ2FwYWJpbGl0aWVzXE5ldHdvcmtpbmdcSHR0cFxWMWFscGhh4gIwQ2FwYWJpbGl0aWVzXE5ldHdvcmtpbmdcSHR0cFxWMWFscGhhXEdQQk1ldGFkYXRh6gInQ2FwYWJpbGl0aWVzOjpOZXR3b3JraW5nOjpIdHRwOjpWMWFscGhhYgZwcm90bzM', [file_google_protobuf_duration, file_tools_generator_v1alpha_cre_metadata]);
12
13
  /**
13
14
  * Describes the message capabilities.networking.http.v1alpha.CacheSettings.
14
15
  * Use `create(CacheSettingsSchema)` to create a new message.
@@ -1,5 +1,5 @@
1
- import { type Any, type Empty } from '@bufbuild/protobuf/wkt';
2
- import { type BalanceAtReply, type BalanceAtRequest, type BalanceAtRequestJson, type CallContractReply, type CallContractRequest, type CallContractRequestJson, type EstimateGasReply, type EstimateGasRequest, type EstimateGasRequestJson, type FilterLogsReply, type FilterLogsRequest, type FilterLogsRequestJson, type FilterLogTriggerRequest, type FilterLogTriggerRequestJson, type GasConfig, type GasConfigJson, type GetTransactionByHashReply, type GetTransactionByHashRequest, type GetTransactionByHashRequestJson, type GetTransactionReceiptReply, type GetTransactionReceiptRequest, type GetTransactionReceiptRequestJson, type HeaderByNumberReply, type HeaderByNumberRequest, type HeaderByNumberRequestJson, type Log, type RegisterLogTrackingRequest, type RegisterLogTrackingRequestJson, type UnregisterLogTrackingRequest, type UnregisterLogTrackingRequestJson, type WriteReportReply, type WriteReportRequest } from '../../../../../generated/capabilities/blockchain/evm/v1alpha/client_pb';
1
+ import { type Any } from '@bufbuild/protobuf/wkt';
2
+ import { type BalanceAtReply, type BalanceAtRequest, type BalanceAtRequestJson, type CallContractReply, type CallContractRequest, type CallContractRequestJson, type EstimateGasReply, type EstimateGasRequest, type EstimateGasRequestJson, type FilterLogsReply, type FilterLogsRequest, type FilterLogsRequestJson, type FilterLogTriggerRequest, type FilterLogTriggerRequestJson, type GasConfig, type GasConfigJson, type GetTransactionByHashReply, type GetTransactionByHashRequest, type GetTransactionByHashRequestJson, type GetTransactionReceiptReply, type GetTransactionReceiptRequest, type GetTransactionReceiptRequestJson, type HeaderByNumberReply, type HeaderByNumberRequest, type HeaderByNumberRequestJson, type Log, type WriteReportReply, type WriteReportRequest } from '../../../../../generated/capabilities/blockchain/evm/v1alpha/client_pb';
3
3
  import { type Runtime } from '../../../../../sdk';
4
4
  import { Report } from '../../../../../sdk/report';
5
5
  import { type Trigger } from '../../../../../sdk/utils/triggers/trigger-interface';
@@ -25,28 +25,32 @@ export declare function x_generatedCodeOnly_unwrap_WriteCreReportRequest(input:
25
25
  * Capability Version: 1.0.0
26
26
  */
27
27
  export declare class ClientCapability {
28
- private readonly chainSelector?;
28
+ private readonly ChainSelector;
29
29
  /** The capability ID for this service */
30
30
  static readonly CAPABILITY_ID = "evm@1.0.0";
31
31
  static readonly CAPABILITY_NAME = "evm";
32
32
  static readonly CAPABILITY_VERSION = "1.0.0";
33
- /** Available chain selectors */
34
- static readonly SUPPORTED_CHAINS: {
33
+ /** Available ChainSelector values */
34
+ static readonly SUPPORTED_CHAIN_SELECTORS: {
35
35
  readonly 'avalanche-mainnet': 6433500567565415381n;
36
36
  readonly 'avalanche-testnet-fuji': 14767482510784806043n;
37
37
  readonly 'binance_smart_chain-mainnet-opbnb-1': 465944652040885897n;
38
38
  readonly 'binance_smart_chain-testnet-opbnb-1': 13274425992935471758n;
39
39
  readonly 'ethereum-mainnet': 5009297550715157269n;
40
40
  readonly 'ethereum-mainnet-arbitrum-1': 4949039107694359620n;
41
+ readonly 'ethereum-mainnet-base-1': 15971525489660198786n;
41
42
  readonly 'ethereum-mainnet-optimism-1': 3734403246176062136n;
43
+ readonly 'ethereum-mainnet-zksync-1': 1562403441176082196n;
42
44
  readonly 'ethereum-testnet-sepolia': 16015286601757825753n;
43
45
  readonly 'ethereum-testnet-sepolia-arbitrum-1': 3478487238524512106n;
44
46
  readonly 'ethereum-testnet-sepolia-base-1': 10344971235874465080n;
45
47
  readonly 'ethereum-testnet-sepolia-optimism-1': 5224473277236331295n;
48
+ readonly 'ethereum-testnet-sepolia-zksync-1': 6898391096552792247n;
46
49
  readonly 'polygon-mainnet': 4051577828743386545n;
47
50
  readonly 'polygon-testnet-amoy': 16281711391670634445n;
51
+ readonly 'private-testnet-andesite': 6915682381028791124n;
48
52
  };
49
- constructor(chainSelector?: bigint | undefined);
53
+ constructor(ChainSelector: bigint);
50
54
  callContract(runtime: Runtime<unknown>, input: CallContractRequest | CallContractRequestJson): {
51
55
  result: () => CallContractReply;
52
56
  };
@@ -68,12 +72,6 @@ export declare class ClientCapability {
68
72
  headerByNumber(runtime: Runtime<unknown>, input: HeaderByNumberRequest | HeaderByNumberRequestJson): {
69
73
  result: () => HeaderByNumberReply;
70
74
  };
71
- registerLogTracking(runtime: Runtime<unknown>, input: RegisterLogTrackingRequest | RegisterLogTrackingRequestJson): {
72
- result: () => Empty;
73
- };
74
- unregisterLogTracking(runtime: Runtime<unknown>, input: UnregisterLogTrackingRequest | UnregisterLogTrackingRequestJson): {
75
- result: () => Empty;
76
- };
77
75
  logTrigger(config: FilterLogTriggerRequestJson): ClientLogTrigger;
78
76
  writeReport(runtime: Runtime<unknown>, input: WriteCreReportRequest | WriteCreReportRequestJson): {
79
77
  result: () => WriteReportReply;
@@ -85,8 +83,9 @@ export declare class ClientCapability {
85
83
  declare class ClientLogTrigger implements Trigger<Log, Log> {
86
84
  private readonly _capabilityId;
87
85
  private readonly _method;
86
+ private readonly ChainSelector;
88
87
  readonly config: FilterLogTriggerRequest;
89
- constructor(config: FilterLogTriggerRequest | FilterLogTriggerRequestJson, _capabilityId: string, _method: string);
88
+ constructor(config: FilterLogTriggerRequest | FilterLogTriggerRequestJson, _capabilityId: string, _method: string, ChainSelector: bigint);
90
89
  capabilityId(): string;
91
90
  method(): string;
92
91
  outputSchema(): import("@bufbuild/protobuf/codegenv2").GenMessage<Log, {
@@ -1,6 +1,6 @@
1
1
  import { create, fromJson } from '@bufbuild/protobuf';
2
- import { AnySchema, anyPack, EmptySchema } from '@bufbuild/protobuf/wkt';
3
- import { BalanceAtReplySchema, BalanceAtRequestSchema, CallContractReplySchema, CallContractRequestSchema, EstimateGasReplySchema, EstimateGasRequestSchema, FilterLogsReplySchema, FilterLogsRequestSchema, FilterLogTriggerRequestSchema, GasConfigSchema, GetTransactionByHashReplySchema, GetTransactionByHashRequestSchema, GetTransactionReceiptReplySchema, GetTransactionReceiptRequestSchema, HeaderByNumberReplySchema, HeaderByNumberRequestSchema, LogSchema, RegisterLogTrackingRequestSchema, UnregisterLogTrackingRequestSchema, WriteReportReplySchema, WriteReportRequestSchema, } from '../../../../../generated/capabilities/blockchain/evm/v1alpha/client_pb';
2
+ import { AnySchema, anyPack } from '@bufbuild/protobuf/wkt';
3
+ import { BalanceAtReplySchema, BalanceAtRequestSchema, CallContractReplySchema, CallContractRequestSchema, EstimateGasReplySchema, EstimateGasRequestSchema, FilterLogsReplySchema, FilterLogsRequestSchema, FilterLogTriggerRequestSchema, GasConfigSchema, GetTransactionByHashReplySchema, GetTransactionByHashRequestSchema, GetTransactionReceiptReplySchema, GetTransactionReceiptRequestSchema, HeaderByNumberReplySchema, HeaderByNumberRequestSchema, LogSchema, WriteReportReplySchema, WriteReportRequestSchema, } from '../../../../../generated/capabilities/blockchain/evm/v1alpha/client_pb';
4
4
  import { ReportResponseSchema, } from '../../../../../generated/sdk/v1alpha/sdk_pb';
5
5
  import {} from '../../../../../sdk';
6
6
  import { Report } from '../../../../../sdk/report';
@@ -37,29 +37,33 @@ export function x_generatedCodeOnly_unwrap_WriteCreReportRequest(input) {
37
37
  * Capability Version: 1.0.0
38
38
  */
39
39
  export class ClientCapability {
40
- chainSelector;
40
+ ChainSelector;
41
41
  /** The capability ID for this service */
42
42
  static CAPABILITY_ID = 'evm@1.0.0';
43
43
  static CAPABILITY_NAME = 'evm';
44
44
  static CAPABILITY_VERSION = '1.0.0';
45
- /** Available chain selectors */
46
- static SUPPORTED_CHAINS = {
45
+ /** Available ChainSelector values */
46
+ static SUPPORTED_CHAIN_SELECTORS = {
47
47
  'avalanche-mainnet': 6433500567565415381n,
48
48
  'avalanche-testnet-fuji': 14767482510784806043n,
49
49
  'binance_smart_chain-mainnet-opbnb-1': 465944652040885897n,
50
50
  'binance_smart_chain-testnet-opbnb-1': 13274425992935471758n,
51
51
  'ethereum-mainnet': 5009297550715157269n,
52
52
  'ethereum-mainnet-arbitrum-1': 4949039107694359620n,
53
+ 'ethereum-mainnet-base-1': 15971525489660198786n,
53
54
  'ethereum-mainnet-optimism-1': 3734403246176062136n,
55
+ 'ethereum-mainnet-zksync-1': 1562403441176082196n,
54
56
  'ethereum-testnet-sepolia': 16015286601757825753n,
55
57
  'ethereum-testnet-sepolia-arbitrum-1': 3478487238524512106n,
56
58
  'ethereum-testnet-sepolia-base-1': 10344971235874465080n,
57
59
  'ethereum-testnet-sepolia-optimism-1': 5224473277236331295n,
60
+ 'ethereum-testnet-sepolia-zksync-1': 6898391096552792247n,
58
61
  'polygon-mainnet': 4051577828743386545n,
59
62
  'polygon-testnet-amoy': 16281711391670634445n,
63
+ 'private-testnet-andesite': 6915682381028791124n,
60
64
  };
61
- constructor(chainSelector) {
62
- this.chainSelector = chainSelector;
65
+ constructor(ChainSelector) {
66
+ this.ChainSelector = ChainSelector;
63
67
  }
64
68
  callContract(runtime, input) {
65
69
  // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed
@@ -72,10 +76,8 @@ export class ClientCapability {
72
76
  // It's regular JSON, convert using fromJson
73
77
  payload = fromJson(CallContractRequestSchema, input);
74
78
  }
75
- // Include chainSelector in capability ID for routing when specified
76
- const capabilityId = this.chainSelector
77
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
78
- : ClientCapability.CAPABILITY_ID;
79
+ // Include all labels in capability ID for routing when specified
80
+ const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}`;
79
81
  const capabilityResponse = runtime.callCapability({
80
82
  capabilityId,
81
83
  method: 'CallContract',
@@ -101,10 +103,8 @@ export class ClientCapability {
101
103
  // It's regular JSON, convert using fromJson
102
104
  payload = fromJson(FilterLogsRequestSchema, input);
103
105
  }
104
- // Include chainSelector in capability ID for routing when specified
105
- const capabilityId = this.chainSelector
106
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
107
- : ClientCapability.CAPABILITY_ID;
106
+ // Include all labels in capability ID for routing when specified
107
+ const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}`;
108
108
  const capabilityResponse = runtime.callCapability({
109
109
  capabilityId,
110
110
  method: 'FilterLogs',
@@ -130,10 +130,8 @@ export class ClientCapability {
130
130
  // It's regular JSON, convert using fromJson
131
131
  payload = fromJson(BalanceAtRequestSchema, input);
132
132
  }
133
- // Include chainSelector in capability ID for routing when specified
134
- const capabilityId = this.chainSelector
135
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
136
- : ClientCapability.CAPABILITY_ID;
133
+ // Include all labels in capability ID for routing when specified
134
+ const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}`;
137
135
  const capabilityResponse = runtime.callCapability({
138
136
  capabilityId,
139
137
  method: 'BalanceAt',
@@ -159,10 +157,8 @@ export class ClientCapability {
159
157
  // It's regular JSON, convert using fromJson
160
158
  payload = fromJson(EstimateGasRequestSchema, input);
161
159
  }
162
- // Include chainSelector in capability ID for routing when specified
163
- const capabilityId = this.chainSelector
164
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
165
- : ClientCapability.CAPABILITY_ID;
160
+ // Include all labels in capability ID for routing when specified
161
+ const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}`;
166
162
  const capabilityResponse = runtime.callCapability({
167
163
  capabilityId,
168
164
  method: 'EstimateGas',
@@ -188,10 +184,8 @@ export class ClientCapability {
188
184
  // It's regular JSON, convert using fromJson
189
185
  payload = fromJson(GetTransactionByHashRequestSchema, input);
190
186
  }
191
- // Include chainSelector in capability ID for routing when specified
192
- const capabilityId = this.chainSelector
193
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
194
- : ClientCapability.CAPABILITY_ID;
187
+ // Include all labels in capability ID for routing when specified
188
+ const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}`;
195
189
  const capabilityResponse = runtime.callCapability({
196
190
  capabilityId,
197
191
  method: 'GetTransactionByHash',
@@ -217,10 +211,8 @@ export class ClientCapability {
217
211
  // It's regular JSON, convert using fromJson
218
212
  payload = fromJson(GetTransactionReceiptRequestSchema, input);
219
213
  }
220
- // Include chainSelector in capability ID for routing when specified
221
- const capabilityId = this.chainSelector
222
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
223
- : ClientCapability.CAPABILITY_ID;
214
+ // Include all labels in capability ID for routing when specified
215
+ const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}`;
224
216
  const capabilityResponse = runtime.callCapability({
225
217
  capabilityId,
226
218
  method: 'GetTransactionReceipt',
@@ -246,10 +238,8 @@ export class ClientCapability {
246
238
  // It's regular JSON, convert using fromJson
247
239
  payload = fromJson(HeaderByNumberRequestSchema, input);
248
240
  }
249
- // Include chainSelector in capability ID for routing when specified
250
- const capabilityId = this.chainSelector
251
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
252
- : ClientCapability.CAPABILITY_ID;
241
+ // Include all labels in capability ID for routing when specified
242
+ const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}`;
253
243
  const capabilityResponse = runtime.callCapability({
254
244
  capabilityId,
255
245
  method: 'HeaderByNumber',
@@ -264,70 +254,10 @@ export class ClientCapability {
264
254
  },
265
255
  };
266
256
  }
267
- registerLogTracking(runtime, input) {
268
- // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed
269
- let payload;
270
- if (input.$typeName) {
271
- // It's the original protobuf type
272
- payload = input;
273
- }
274
- else {
275
- // It's regular JSON, convert using fromJson
276
- payload = fromJson(RegisterLogTrackingRequestSchema, input);
277
- }
278
- // Include chainSelector in capability ID for routing when specified
279
- const capabilityId = this.chainSelector
280
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
281
- : ClientCapability.CAPABILITY_ID;
282
- const capabilityResponse = runtime.callCapability({
283
- capabilityId,
284
- method: 'RegisterLogTracking',
285
- payload,
286
- inputSchema: RegisterLogTrackingRequestSchema,
287
- outputSchema: EmptySchema,
288
- });
289
- return {
290
- result: () => {
291
- const result = capabilityResponse.result();
292
- return result;
293
- },
294
- };
295
- }
296
- unregisterLogTracking(runtime, input) {
297
- // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed
298
- let payload;
299
- if (input.$typeName) {
300
- // It's the original protobuf type
301
- payload = input;
302
- }
303
- else {
304
- // It's regular JSON, convert using fromJson
305
- payload = fromJson(UnregisterLogTrackingRequestSchema, input);
306
- }
307
- // Include chainSelector in capability ID for routing when specified
308
- const capabilityId = this.chainSelector
309
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
310
- : ClientCapability.CAPABILITY_ID;
311
- const capabilityResponse = runtime.callCapability({
312
- capabilityId,
313
- method: 'UnregisterLogTracking',
314
- payload,
315
- inputSchema: UnregisterLogTrackingRequestSchema,
316
- outputSchema: EmptySchema,
317
- });
318
- return {
319
- result: () => {
320
- const result = capabilityResponse.result();
321
- return result;
322
- },
323
- };
324
- }
325
257
  logTrigger(config) {
326
- // Include chainSelector in capability ID for routing when specified
327
- const capabilityId = this.chainSelector
328
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
329
- : ClientCapability.CAPABILITY_ID;
330
- return new ClientLogTrigger(config, capabilityId, 'LogTrigger');
258
+ // Include all labels in capability ID for routing when specified
259
+ const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}`;
260
+ return new ClientLogTrigger(config, capabilityId, 'LogTrigger', this.ChainSelector);
331
261
  }
332
262
  writeReport(runtime, input) {
333
263
  // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed
@@ -341,10 +271,8 @@ export class ClientCapability {
341
271
  // It's wrapped JSON, convert using create function
342
272
  payload = x_generatedCodeOnly_unwrap_WriteCreReportRequest(createWriteCreReportRequest(input));
343
273
  }
344
- // Include chainSelector in capability ID for routing when specified
345
- const capabilityId = this.chainSelector
346
- ? `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.chainSelector}@${ClientCapability.CAPABILITY_VERSION}`
347
- : ClientCapability.CAPABILITY_ID;
274
+ // Include all labels in capability ID for routing when specified
275
+ const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}`;
348
276
  const capabilityResponse = runtime.callCapability({
349
277
  capabilityId,
350
278
  method: 'WriteReport',
@@ -366,10 +294,12 @@ export class ClientCapability {
366
294
  class ClientLogTrigger {
367
295
  _capabilityId;
368
296
  _method;
297
+ ChainSelector;
369
298
  config;
370
- constructor(config, _capabilityId, _method) {
299
+ constructor(config, _capabilityId, _method, ChainSelector) {
371
300
  this._capabilityId = _capabilityId;
372
301
  this._method = _method;
302
+ this.ChainSelector = ChainSelector;
373
303
  // biome-ignore lint/suspicious/noExplicitAny: Needed for runtime type checking of protocol buffer messages
374
304
  this.config = config.$typeName
375
305
  ? config
@@ -0,0 +1,32 @@
1
+ import { type EnclaveActionInput, type EnclaveActionInputJson, type HTTPEnclaveResponseData } from '../../../../../generated/capabilities/networking/confidentialhttp/v1alpha/client_pb';
2
+ import { type NodeRuntime, type Runtime } from '../../../../../sdk';
3
+ import type { ConsensusAggregation, PrimitiveTypes, UnwrapOptions } from '../../../../../sdk/utils';
4
+ export declare class SendRequestser {
5
+ private readonly runtime;
6
+ private readonly client;
7
+ constructor(runtime: NodeRuntime<unknown>, client: ClientCapability);
8
+ sendRequests(input: EnclaveActionInput | EnclaveActionInputJson): {
9
+ result: () => HTTPEnclaveResponseData;
10
+ };
11
+ }
12
+ /**
13
+ * Client Capability
14
+ *
15
+ * Capability ID: confidential-http@1.0.0-alpha
16
+ * Capability Name: confidential-http
17
+ * Capability Version: 1.0.0-alpha
18
+ */
19
+ export declare class ClientCapability {
20
+ /** The capability ID for this service */
21
+ static readonly CAPABILITY_ID = "confidential-http@1.0.0-alpha";
22
+ static readonly CAPABILITY_NAME = "confidential-http";
23
+ static readonly CAPABILITY_VERSION = "1.0.0-alpha";
24
+ sendRequests(runtime: NodeRuntime<unknown>, input: EnclaveActionInput | EnclaveActionInputJson): {
25
+ result: () => HTTPEnclaveResponseData;
26
+ };
27
+ sendRequests<TArgs extends unknown[], TOutput>(runtime: Runtime<unknown>, fn: (sendRequestser: SendRequestser, ...args: TArgs) => TOutput, consensusAggregation: ConsensusAggregation<TOutput, true>, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions<TOutput>): (...args: TArgs) => {
28
+ result: () => TOutput;
29
+ };
30
+ private sendRequestsCallHelper;
31
+ private sendRequestsSugarHelper;
32
+ }
@@ -0,0 +1,71 @@
1
+ import { fromJson } from '@bufbuild/protobuf';
2
+ import { EnclaveActionInputSchema, HTTPEnclaveResponseDataSchema, } from '../../../../../generated/capabilities/networking/confidentialhttp/v1alpha/client_pb';
3
+ import {} from '../../../../../sdk';
4
+ import { Report } from '../../../../../sdk/report';
5
+ export class SendRequestser {
6
+ runtime;
7
+ client;
8
+ constructor(runtime, client) {
9
+ this.runtime = runtime;
10
+ this.client = client;
11
+ }
12
+ sendRequests(input) {
13
+ return this.client.sendRequests(this.runtime, input);
14
+ }
15
+ }
16
+ /**
17
+ * Client Capability
18
+ *
19
+ * Capability ID: confidential-http@1.0.0-alpha
20
+ * Capability Name: confidential-http
21
+ * Capability Version: 1.0.0-alpha
22
+ */
23
+ export class ClientCapability {
24
+ /** The capability ID for this service */
25
+ static CAPABILITY_ID = 'confidential-http@1.0.0-alpha';
26
+ static CAPABILITY_NAME = 'confidential-http';
27
+ static CAPABILITY_VERSION = '1.0.0-alpha';
28
+ sendRequests(...args) {
29
+ // Check if this is the sugar syntax overload (has function parameter)
30
+ if (typeof args[1] === 'function') {
31
+ const [runtime, fn, consensusAggregation, unwrapOptions] = args;
32
+ return this.sendRequestsSugarHelper(runtime, fn, consensusAggregation, unwrapOptions);
33
+ }
34
+ // Otherwise, this is the basic call overload
35
+ const [runtime, input] = args;
36
+ return this.sendRequestsCallHelper(runtime, input);
37
+ }
38
+ sendRequestsCallHelper(runtime, input) {
39
+ // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed
40
+ let payload;
41
+ if (input.$typeName) {
42
+ // It's the original protobuf type
43
+ payload = input;
44
+ }
45
+ else {
46
+ // It's regular JSON, convert using fromJson
47
+ payload = fromJson(EnclaveActionInputSchema, input);
48
+ }
49
+ const capabilityId = ClientCapability.CAPABILITY_ID;
50
+ const capabilityResponse = runtime.callCapability({
51
+ capabilityId,
52
+ method: 'SendRequests',
53
+ payload,
54
+ inputSchema: EnclaveActionInputSchema,
55
+ outputSchema: HTTPEnclaveResponseDataSchema,
56
+ });
57
+ return {
58
+ result: () => {
59
+ const result = capabilityResponse.result();
60
+ return result;
61
+ },
62
+ };
63
+ }
64
+ sendRequestsSugarHelper(runtime, fn, consensusAggregation, unwrapOptions) {
65
+ const wrappedFn = (runtime, ...args) => {
66
+ const sendRequestser = new SendRequestser(runtime, this);
67
+ return fn(sendRequestser, ...args);
68
+ };
69
+ return runtime.runInNodeMode(wrappedFn, consensusAggregation, unwrapOptions);
70
+ }
71
+ }
package/dist/pb.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * as EVM_PB from './generated/capabilities/blockchain/evm/v1alpha/client_pb';
2
+ export * as CONFIDENTIAL_HTTP_CLIENT_PB from './generated/capabilities/networking/confidentialhttp/v1alpha/client_pb';
2
3
  export * as HTTP_CLIENT_PB from './generated/capabilities/networking/http/v1alpha/client_pb';
3
4
  export * as HTTP_TRIGGER_PB from './generated/capabilities/networking/http/v1alpha/trigger_pb';
4
5
  export * as CRON_TRIGGER_PB from './generated/capabilities/scheduler/cron/v1/trigger_pb';
package/dist/pb.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * as EVM_PB from './generated/capabilities/blockchain/evm/v1alpha/client_pb';
2
+ export * as CONFIDENTIAL_HTTP_CLIENT_PB from './generated/capabilities/networking/confidentialhttp/v1alpha/client_pb';
2
3
  export * as HTTP_CLIENT_PB from './generated/capabilities/networking/http/v1alpha/client_pb';
3
4
  export * as HTTP_TRIGGER_PB from './generated/capabilities/networking/http/v1alpha/trigger_pb';
4
5
  export * as CRON_TRIGGER_PB from './generated/capabilities/scheduler/cron/v1/trigger_pb';
@@ -2,6 +2,7 @@
2
2
  * Public API for the CRE SDK.
3
3
  */
4
4
  import { ClientCapability as EVMClient } from '../../generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen';
5
+ import { ClientCapability as ConfidentialHTTPClient } from '../../generated-sdk/capabilities/networking/confidentialhttp/v1alpha/client_sdk_gen';
5
6
  import { ClientCapability as HTTPClient } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
6
7
  import { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
7
8
  import { CronCapability } from '../../generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen';
@@ -12,6 +13,7 @@ export { type Log as EVMLog, TxStatus, } from '../../generated/capabilities/bloc
12
13
  export type { Payload as HTTPPayload } from '../../generated/capabilities/networking/http/v1alpha/trigger_pb';
13
14
  export type { Payload as CronPayload } from '../../generated/capabilities/scheduler/cron/v1/trigger_pb';
14
15
  export { ClientCapability as EVMClient, type WriteCreReportRequest, type WriteCreReportRequestJson, } from '../../generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen';
16
+ export { ClientCapability as ConfidentialHTTPClient, type SendRequestser as ConfidentialHTTPSendRequester, } from '../../generated-sdk/capabilities/networking/confidentialhttp/v1alpha/client_sdk_gen';
15
17
  export { ClientCapability as HTTPClient, type SendRequester as HTTPSendRequester, } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
16
18
  export { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
17
19
  export { CronCapability } from '../../generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen';
@@ -21,6 +23,7 @@ export declare const cre: {
21
23
  capabilities: {
22
24
  CronCapability: typeof CronCapability;
23
25
  HTTPCapability: typeof HTTPCapability;
26
+ ConfidentialHTTPClient: typeof ConfidentialHTTPClient;
24
27
  HTTPClient: typeof HTTPClient;
25
28
  EVMClient: typeof EVMClient;
26
29
  };
@@ -2,6 +2,7 @@
2
2
  * Public API for the CRE SDK.
3
3
  */
4
4
  import { ClientCapability as EVMClient } from '../../generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen';
5
+ import { ClientCapability as ConfidentialHTTPClient } from '../../generated-sdk/capabilities/networking/confidentialhttp/v1alpha/client_sdk_gen';
5
6
  import { ClientCapability as HTTPClient } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
6
7
  import { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
7
8
  import { CronCapability } from '../../generated-sdk/capabilities/scheduler/cron/v1/cron_sdk_gen';
@@ -13,6 +14,8 @@ import { handler } from '../workflow';
13
14
  export { TxStatus, } from '../../generated/capabilities/blockchain/evm/v1alpha/client_pb';
14
15
  // EVM Capability
15
16
  export { ClientCapability as EVMClient, } from '../../generated-sdk/capabilities/blockchain/evm/v1alpha/client_sdk_gen';
17
+ // Confidential HTTP Capability
18
+ export { ClientCapability as ConfidentialHTTPClient, } from '../../generated-sdk/capabilities/networking/confidentialhttp/v1alpha/client_sdk_gen';
16
19
  // HTTP Capability
17
20
  export { ClientCapability as HTTPClient, } from '../../generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen';
18
21
  export { HTTPCapability } from '../../generated-sdk/capabilities/networking/http/v1alpha/http_sdk_gen';
@@ -24,6 +27,7 @@ export const cre = {
24
27
  capabilities: {
25
28
  CronCapability,
26
29
  HTTPCapability,
30
+ ConfidentialHTTPClient,
27
31
  HTTPClient,
28
32
  EVMClient,
29
33
  },