diff --git a/packages/cre-sdk-examples/.env.example b/packages/cre-sdk-examples/.env.example index 64d40946..d44bf257 100644 --- a/packages/cre-sdk-examples/.env.example +++ b/packages/cre-sdk-examples/.env.example @@ -9,6 +9,8 @@ ############################################################################### # Ethereum private key or 1Password reference (e.g. op://vault/item/field) CRE_ETH_PRIVATE_KEY=0000000000000000000000000000000000000000000000000000000000000001 +# Solana 64-byte base58 keypair. +CRE_SOLANA_PRIVATE_KEY=1111111111111111111111111111111PPm2a2NNZH2EFJ5UkEjkH9Fcxn8cvjTmZDKQQisyLDmA # Profile to use for this environment (e.g. staging-settins, production-settings) CRE_TARGET=staging-settings # This one will be used in PoR workflow diff --git a/packages/cre-sdk/api-baseline.d.ts b/packages/cre-sdk/api-baseline.d.ts index ed39b73e..dbdbe051 100644 --- a/packages/cre-sdk/api-baseline.d.ts +++ b/packages/cre-sdk/api-baseline.d.ts @@ -65,7 +65,7 @@ export interface Runtime extends BaseRuntime, SecretsProvider { * @param unwrapOptions - Optional unwrapping config for complex return types * @returns Wrapped function that returns aggregated result */ - runInNodeMode(fn: (nodeRuntime: NodeRuntime, ...args: TArgs) => TOutput, consensusAggregation: ConsensusAggregation, unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions): (...args: TArgs) => { + runInNodeMode(fn: (nodeRuntime: NodeRuntime, ...args: TArgs) => TInput, consensusAggregation: ConsensusAggregation, unwrapOptions?: TInput extends PrimitiveTypes ? never : UnwrapOptions): (...args: TArgs) => { result: () => TOutput; }; report(input: ReportRequest | ReportRequestJson): { diff --git a/packages/cre-sdk/src/generated-sdk/capabilities/blockchain/solana/v1alpha/client_sdk_gen.ts b/packages/cre-sdk/src/generated-sdk/capabilities/blockchain/solana/v1alpha/client_sdk_gen.ts index 612bd21a..43a2e333 100644 --- a/packages/cre-sdk/src/generated-sdk/capabilities/blockchain/solana/v1alpha/client_sdk_gen.ts +++ b/packages/cre-sdk/src/generated-sdk/capabilities/blockchain/solana/v1alpha/client_sdk_gen.ts @@ -1,4 +1,5 @@ import { create, fromJson } from '@bufbuild/protobuf' +import { type Any, AnySchema, anyPack } from '@bufbuild/protobuf/wkt' import { type AccountMeta, type AccountMetaJson, @@ -6,6 +7,56 @@ import { type ComputeConfig, type ComputeConfigJson, ComputeConfigSchema, + type FilterLogTriggerRequest, + type FilterLogTriggerRequestJson, + FilterLogTriggerRequestSchema, + type GetAccountInfoWithOptsReply, + GetAccountInfoWithOptsReplySchema, + type GetAccountInfoWithOptsRequest, + type GetAccountInfoWithOptsRequestJson, + GetAccountInfoWithOptsRequestSchema, + type GetBalanceReply, + GetBalanceReplySchema, + type GetBalanceRequest, + type GetBalanceRequestJson, + GetBalanceRequestSchema, + type GetBlockReply, + GetBlockReplySchema, + type GetBlockRequest, + type GetBlockRequestJson, + GetBlockRequestSchema, + type GetFeeForMessageReply, + GetFeeForMessageReplySchema, + type GetFeeForMessageRequest, + type GetFeeForMessageRequestJson, + GetFeeForMessageRequestSchema, + type GetMultipleAccountsWithOptsReply, + GetMultipleAccountsWithOptsReplySchema, + type GetMultipleAccountsWithOptsRequest, + type GetMultipleAccountsWithOptsRequestJson, + GetMultipleAccountsWithOptsRequestSchema, + type GetProgramAccountsReply, + GetProgramAccountsReplySchema, + type GetProgramAccountsRequest, + type GetProgramAccountsRequestJson, + GetProgramAccountsRequestSchema, + type GetSignatureStatusesReply, + GetSignatureStatusesReplySchema, + type GetSignatureStatusesRequest, + type GetSignatureStatusesRequestJson, + GetSignatureStatusesRequestSchema, + type GetSlotHeightReply, + GetSlotHeightReplySchema, + type GetSlotHeightRequest, + type GetSlotHeightRequestJson, + GetSlotHeightRequestSchema, + type GetTransactionReply, + GetTransactionReplySchema, + type GetTransactionRequest, + type GetTransactionRequestJson, + GetTransactionRequestSchema, + type Log, + LogSchema, type WriteReportReply, WriteReportReplySchema, type WriteReportRequest, @@ -20,7 +71,8 @@ import { import type { Runtime } from '@cre/sdk' import { Report } from '@cre/sdk/report' import { hexToBytes } from '@cre/sdk/utils/hex-utils' -import type { CapabilityInput } from '@cre/sdk/utils/types/no-excess' +import type { Trigger } from '@cre/sdk/utils/triggers/trigger-interface' +import type { CapabilityInput, NoExcess } from '@cre/sdk/utils/types/no-excess' export type WriteCreReportRequest = { remainingAccounts: AccountMeta[] @@ -97,6 +149,402 @@ export class ClientCapability { constructor(private readonly ChainSelector: bigint) {} + getAccountInfoWithOpts( + runtime: Runtime, + input: CapabilityInput< + TInput, + GetAccountInfoWithOptsRequest, + GetAccountInfoWithOptsRequestJson + >, + ): { result: () => GetAccountInfoWithOptsReply } + getAccountInfoWithOpts( + runtime: Runtime, + input: GetAccountInfoWithOptsRequest | GetAccountInfoWithOptsRequestJson, + ): { result: () => GetAccountInfoWithOptsReply } { + // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed + let payload: GetAccountInfoWithOptsRequest + + if ((input as unknown as { $typeName?: string }).$typeName) { + // It's the original protobuf type + payload = input as GetAccountInfoWithOptsRequest + } else { + // It's regular JSON, convert using fromJson + payload = fromJson( + GetAccountInfoWithOptsRequestSchema, + input as GetAccountInfoWithOptsRequestJson, + ) + } + + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + + const capabilityResponse = runtime.callCapability< + GetAccountInfoWithOptsRequest, + GetAccountInfoWithOptsReply + >({ + capabilityId, + method: 'GetAccountInfoWithOpts', + payload, + inputSchema: GetAccountInfoWithOptsRequestSchema, + outputSchema: GetAccountInfoWithOptsReplySchema, + }) + + return { + result: () => { + const result = capabilityResponse.result() + + return result + }, + } + } + + getBalance( + runtime: Runtime, + input: CapabilityInput, + ): { result: () => GetBalanceReply } + getBalance( + runtime: Runtime, + input: GetBalanceRequest | GetBalanceRequestJson, + ): { result: () => GetBalanceReply } { + // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed + let payload: GetBalanceRequest + + if ((input as unknown as { $typeName?: string }).$typeName) { + // It's the original protobuf type + payload = input as GetBalanceRequest + } else { + // It's regular JSON, convert using fromJson + payload = fromJson(GetBalanceRequestSchema, input as GetBalanceRequestJson) + } + + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + + const capabilityResponse = runtime.callCapability({ + capabilityId, + method: 'GetBalance', + payload, + inputSchema: GetBalanceRequestSchema, + outputSchema: GetBalanceReplySchema, + }) + + return { + result: () => { + const result = capabilityResponse.result() + + return result + }, + } + } + + getBlock( + runtime: Runtime, + input: CapabilityInput, + ): { result: () => GetBlockReply } + getBlock( + runtime: Runtime, + input: GetBlockRequest | GetBlockRequestJson, + ): { result: () => GetBlockReply } { + // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed + let payload: GetBlockRequest + + if ((input as unknown as { $typeName?: string }).$typeName) { + // It's the original protobuf type + payload = input as GetBlockRequest + } else { + // It's regular JSON, convert using fromJson + payload = fromJson(GetBlockRequestSchema, input as GetBlockRequestJson) + } + + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + + const capabilityResponse = runtime.callCapability({ + capabilityId, + method: 'GetBlock', + payload, + inputSchema: GetBlockRequestSchema, + outputSchema: GetBlockReplySchema, + }) + + return { + result: () => { + const result = capabilityResponse.result() + + return result + }, + } + } + + getFeeForMessage( + runtime: Runtime, + input: CapabilityInput, + ): { result: () => GetFeeForMessageReply } + getFeeForMessage( + runtime: Runtime, + input: GetFeeForMessageRequest | GetFeeForMessageRequestJson, + ): { result: () => GetFeeForMessageReply } { + // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed + let payload: GetFeeForMessageRequest + + if ((input as unknown as { $typeName?: string }).$typeName) { + // It's the original protobuf type + payload = input as GetFeeForMessageRequest + } else { + // It's regular JSON, convert using fromJson + payload = fromJson(GetFeeForMessageRequestSchema, input as GetFeeForMessageRequestJson) + } + + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + + const capabilityResponse = runtime.callCapability< + GetFeeForMessageRequest, + GetFeeForMessageReply + >({ + capabilityId, + method: 'GetFeeForMessage', + payload, + inputSchema: GetFeeForMessageRequestSchema, + outputSchema: GetFeeForMessageReplySchema, + }) + + return { + result: () => { + const result = capabilityResponse.result() + + return result + }, + } + } + + getMultipleAccountsWithOpts( + runtime: Runtime, + input: CapabilityInput< + TInput, + GetMultipleAccountsWithOptsRequest, + GetMultipleAccountsWithOptsRequestJson + >, + ): { result: () => GetMultipleAccountsWithOptsReply } + getMultipleAccountsWithOpts( + runtime: Runtime, + input: GetMultipleAccountsWithOptsRequest | GetMultipleAccountsWithOptsRequestJson, + ): { result: () => GetMultipleAccountsWithOptsReply } { + // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed + let payload: GetMultipleAccountsWithOptsRequest + + if ((input as unknown as { $typeName?: string }).$typeName) { + // It's the original protobuf type + payload = input as GetMultipleAccountsWithOptsRequest + } else { + // It's regular JSON, convert using fromJson + payload = fromJson( + GetMultipleAccountsWithOptsRequestSchema, + input as GetMultipleAccountsWithOptsRequestJson, + ) + } + + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + + const capabilityResponse = runtime.callCapability< + GetMultipleAccountsWithOptsRequest, + GetMultipleAccountsWithOptsReply + >({ + capabilityId, + method: 'GetMultipleAccountsWithOpts', + payload, + inputSchema: GetMultipleAccountsWithOptsRequestSchema, + outputSchema: GetMultipleAccountsWithOptsReplySchema, + }) + + return { + result: () => { + const result = capabilityResponse.result() + + return result + }, + } + } + + getProgramAccounts( + runtime: Runtime, + input: CapabilityInput, + ): { result: () => GetProgramAccountsReply } + getProgramAccounts( + runtime: Runtime, + input: GetProgramAccountsRequest | GetProgramAccountsRequestJson, + ): { result: () => GetProgramAccountsReply } { + // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed + let payload: GetProgramAccountsRequest + + if ((input as unknown as { $typeName?: string }).$typeName) { + // It's the original protobuf type + payload = input as GetProgramAccountsRequest + } else { + // It's regular JSON, convert using fromJson + payload = fromJson(GetProgramAccountsRequestSchema, input as GetProgramAccountsRequestJson) + } + + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + + const capabilityResponse = runtime.callCapability< + GetProgramAccountsRequest, + GetProgramAccountsReply + >({ + capabilityId, + method: 'GetProgramAccounts', + payload, + inputSchema: GetProgramAccountsRequestSchema, + outputSchema: GetProgramAccountsReplySchema, + }) + + return { + result: () => { + const result = capabilityResponse.result() + + return result + }, + } + } + + getSignatureStatuses( + runtime: Runtime, + input: CapabilityInput, + ): { result: () => GetSignatureStatusesReply } + getSignatureStatuses( + runtime: Runtime, + input: GetSignatureStatusesRequest | GetSignatureStatusesRequestJson, + ): { result: () => GetSignatureStatusesReply } { + // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed + let payload: GetSignatureStatusesRequest + + if ((input as unknown as { $typeName?: string }).$typeName) { + // It's the original protobuf type + payload = input as GetSignatureStatusesRequest + } else { + // It's regular JSON, convert using fromJson + payload = fromJson( + GetSignatureStatusesRequestSchema, + input as GetSignatureStatusesRequestJson, + ) + } + + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + + const capabilityResponse = runtime.callCapability< + GetSignatureStatusesRequest, + GetSignatureStatusesReply + >({ + capabilityId, + method: 'GetSignatureStatuses', + payload, + inputSchema: GetSignatureStatusesRequestSchema, + outputSchema: GetSignatureStatusesReplySchema, + }) + + return { + result: () => { + const result = capabilityResponse.result() + + return result + }, + } + } + + getSlotHeight( + runtime: Runtime, + input: CapabilityInput, + ): { result: () => GetSlotHeightReply } + getSlotHeight( + runtime: Runtime, + input: GetSlotHeightRequest | GetSlotHeightRequestJson, + ): { result: () => GetSlotHeightReply } { + // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed + let payload: GetSlotHeightRequest + + if ((input as unknown as { $typeName?: string }).$typeName) { + // It's the original protobuf type + payload = input as GetSlotHeightRequest + } else { + // It's regular JSON, convert using fromJson + payload = fromJson(GetSlotHeightRequestSchema, input as GetSlotHeightRequestJson) + } + + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + + const capabilityResponse = runtime.callCapability({ + capabilityId, + method: 'GetSlotHeight', + payload, + inputSchema: GetSlotHeightRequestSchema, + outputSchema: GetSlotHeightReplySchema, + }) + + return { + result: () => { + const result = capabilityResponse.result() + + return result + }, + } + } + + getTransaction( + runtime: Runtime, + input: CapabilityInput, + ): { result: () => GetTransactionReply } + getTransaction( + runtime: Runtime, + input: GetTransactionRequest | GetTransactionRequestJson, + ): { result: () => GetTransactionReply } { + // Handle input conversion - unwrap if it's a wrapped type, convert from JSON if needed + let payload: GetTransactionRequest + + if ((input as unknown as { $typeName?: string }).$typeName) { + // It's the original protobuf type + payload = input as GetTransactionRequest + } else { + // It's regular JSON, convert using fromJson + payload = fromJson(GetTransactionRequestSchema, input as GetTransactionRequestJson) + } + + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + + const capabilityResponse = runtime.callCapability({ + capabilityId, + method: 'GetTransaction', + payload, + inputSchema: GetTransactionRequestSchema, + outputSchema: GetTransactionReplySchema, + }) + + return { + result: () => { + const result = capabilityResponse.result() + + return result + }, + } + } + + logTrigger( + config: NoExcess, + ): ClientLogTrigger { + // Include all labels in capability ID for routing when specified + const capabilityId = `${ClientCapability.CAPABILITY_NAME}:ChainSelector:${this.ChainSelector}@${ClientCapability.CAPABILITY_VERSION}` + return new ClientLogTrigger( + config as FilterLogTriggerRequestJson, + capabilityId, + 'LogTrigger', + this.ChainSelector, + ) + } + writeReport( runtime: Runtime, input: CapabilityInput, @@ -139,3 +587,45 @@ export class ClientCapability { } } } + +/** + * Trigger implementation for LogTrigger + */ +class ClientLogTrigger implements Trigger { + public readonly config: FilterLogTriggerRequest + constructor( + config: FilterLogTriggerRequest | FilterLogTriggerRequestJson, + private readonly _capabilityId: string, + private readonly _method: string, + private readonly ChainSelector: bigint, + ) { + // biome-ignore lint/suspicious/noExplicitAny: Needed for runtime type checking of protocol buffer messages + this.config = (config as any).$typeName + ? (config as FilterLogTriggerRequest) + : fromJson(FilterLogTriggerRequestSchema, config as FilterLogTriggerRequestJson) + } + + capabilityId(): string { + return this._capabilityId + } + + method(): string { + return this._method + } + + outputSchema() { + return LogSchema + } + + configAsAny(): Any { + return anyPack(FilterLogTriggerRequestSchema, this.config) + } + + /** + * Transform the raw trigger output - override this method if needed + * Default implementation returns the raw output unchanged + */ + adapt(rawOutput: Log): Log { + return rawOutput + } +} diff --git a/packages/cre-sdk/src/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.ts b/packages/cre-sdk/src/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.ts index 82364fbb..594a3cf9 100644 --- a/packages/cre-sdk/src/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.ts +++ b/packages/cre-sdk/src/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen.ts @@ -41,11 +41,11 @@ export class BasicActionCapability { runtime: NodeRuntime, input: CapabilityInput, ): { result: () => NodeOutputs } - performAction( + performAction( runtime: Runtime, - fn: (performActioner: PerformActioner, ...args: TArgs) => TOutput, - consensusAggregation: ConsensusAggregation, - unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions, + fn: (performActioner: PerformActioner, ...args: TArgs) => TInput, + consensusAggregation: ConsensusAggregation, + unwrapOptions?: TInput extends PrimitiveTypes ? never : UnwrapOptions, ): (...args: TArgs) => { result: () => TOutput } performAction(...args: unknown[]): unknown { // Check if this is the sugar syntax overload (has function parameter) @@ -53,7 +53,7 @@ export class BasicActionCapability { const [runtime, fn, consensusAggregation, unwrapOptions] = args as [ Runtime, (performActioner: PerformActioner, ...args: unknown[]) => unknown, - ConsensusAggregation, + ConsensusAggregation, UnwrapOptions | undefined, ] return this.performActionSugarHelper(runtime, fn, consensusAggregation, unwrapOptions) @@ -95,11 +95,11 @@ export class BasicActionCapability { }, } } - private performActionSugarHelper( + private performActionSugarHelper( runtime: Runtime, - fn: (performActioner: PerformActioner, ...args: TArgs) => TOutput, - consensusAggregation: ConsensusAggregation, - unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions, + fn: (performActioner: PerformActioner, ...args: TArgs) => TInput, + consensusAggregation: ConsensusAggregation, + unwrapOptions?: TInput extends PrimitiveTypes ? never : UnwrapOptions, ): (...args: TArgs) => { result: () => TOutput } { const wrappedFn = (runtime: NodeRuntime, ...args: TArgs) => { const performActioner = new PerformActioner(runtime, this) diff --git a/packages/cre-sdk/src/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.ts b/packages/cre-sdk/src/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.ts index ddb29b2d..17ad88dc 100644 --- a/packages/cre-sdk/src/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.ts +++ b/packages/cre-sdk/src/generated-sdk/capabilities/networking/http/v1alpha/client_sdk_gen.ts @@ -41,11 +41,11 @@ export class ClientCapability { runtime: NodeRuntime, input: CapabilityInput, ): { result: () => Response } - sendRequest( + sendRequest( runtime: Runtime, - fn: (sendRequester: SendRequester, ...args: TArgs) => TOutput, - consensusAggregation: ConsensusAggregation, - unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions, + fn: (sendRequester: SendRequester, ...args: TArgs) => TInput, + consensusAggregation: ConsensusAggregation, + unwrapOptions?: TInput extends PrimitiveTypes ? never : UnwrapOptions, ): (...args: TArgs) => { result: () => TOutput } sendRequest(...args: unknown[]): unknown { // Check if this is the sugar syntax overload (has function parameter) @@ -53,7 +53,7 @@ export class ClientCapability { const [runtime, fn, consensusAggregation, unwrapOptions] = args as [ Runtime, (sendRequester: SendRequester, ...args: unknown[]) => unknown, - ConsensusAggregation, + ConsensusAggregation, UnwrapOptions | undefined, ] return this.sendRequestSugarHelper(runtime, fn, consensusAggregation, unwrapOptions) @@ -95,11 +95,11 @@ export class ClientCapability { }, } } - private sendRequestSugarHelper( + private sendRequestSugarHelper( runtime: Runtime, - fn: (sendRequester: SendRequester, ...args: TArgs) => TOutput, - consensusAggregation: ConsensusAggregation, - unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions, + fn: (sendRequester: SendRequester, ...args: TArgs) => TInput, + consensusAggregation: ConsensusAggregation, + unwrapOptions?: TInput extends PrimitiveTypes ? never : UnwrapOptions, ): (...args: TArgs) => { result: () => TOutput } { const wrappedFn = (runtime: NodeRuntime, ...args: TArgs) => { const sendRequester = new SendRequester(runtime, this) diff --git a/packages/cre-sdk/src/generated/capabilities/blockchain/aptos/v1alpha/client_pb.ts b/packages/cre-sdk/src/generated/capabilities/blockchain/aptos/v1alpha/client_pb.ts index b5c67964..81e8fea1 100644 --- a/packages/cre-sdk/src/generated/capabilities/blockchain/aptos/v1alpha/client_pb.ts +++ b/packages/cre-sdk/src/generated/capabilities/blockchain/aptos/v1alpha/client_pb.ts @@ -15,7 +15,7 @@ import { file_tools_generator_v1alpha_cre_metadata } from '../../../../tools/gen export const file_capabilities_blockchain_aptos_v1alpha_client: GenFile = /*@__PURE__*/ fileDesc( - 'CjJjYXBhYmlsaXRpZXMvYmxvY2tjaGFpbi9hcHRvcy92MWFscGhhL2NsaWVudC5wcm90bxIlY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYSIrChhBY2NvdW50QVBUQmFsYW5jZVJlcXVlc3QSDwoHYWRkcmVzcxgBIAEoDCIrChZBY2NvdW50QVBUQmFsYW5jZVJlcGx5EhEKBXZhbHVlGAEgASgEQgIwACKGAQoLVmlld1JlcXVlc3QSQwoHcGF5bG9hZBgBIAEoCzIyLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVmlld1BheWxvYWQSHwoObGVkZ2VyX3ZlcnNpb24YAiABKARCAjAASACIAQFCEQoPX2xlZGdlcl92ZXJzaW9uIhkKCVZpZXdSZXBseRIMCgRkYXRhGAEgASgMIrEBCgtWaWV3UGF5bG9hZBI/CgZtb2R1bGUYASABKAsyLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLk1vZHVsZUlEEhAKCGZ1bmN0aW9uGAIgASgJEkEKCWFyZ190eXBlcxgDIAMoCzIuLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVHlwZVRhZxIMCgRhcmdzGAQgAygMIikKCE1vZHVsZUlEEg8KB2FkZHJlc3MYASABKAwSDAoEbmFtZRgCIAEoCSKiAgoHVHlwZVRhZxJACgRraW5kGAEgASgOMjIuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5UeXBlVGFnS2luZBJCCgZ2ZWN0b3IYAiABKAsyMC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlZlY3RvclRhZ0gAEkIKBnN0cnVjdBgDIAEoCzIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuU3RydWN0VGFnSAASRAoHZ2VuZXJpYxgEIAEoCzIxLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuR2VuZXJpY1RhZ0gAQgcKBXZhbHVlIlEKCVZlY3RvclRhZxJECgxlbGVtZW50X3R5cGUYASABKAsyLi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlR5cGVUYWcifwoJU3RydWN0VGFnEg8KB2FkZHJlc3MYASABKAwSDgoGbW9kdWxlGAIgASgJEgwKBG5hbWUYAyABKAkSQwoLdHlwZV9wYXJhbXMYBCADKAsyLi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlR5cGVUYWciGwoKR2VuZXJpY1RhZxINCgVpbmRleBgBIAEoDSIoChhUcmFuc2FjdGlvbkJ5SGFzaFJlcXVlc3QSDAoEaGFzaBgBIAEoCSJ2ChZUcmFuc2FjdGlvbkJ5SGFzaFJlcGx5EkwKC3RyYW5zYWN0aW9uGAEgASgLMjIuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5UcmFuc2FjdGlvbkgAiAEBQg4KDF90cmFuc2FjdGlvbiK6AQoLVHJhbnNhY3Rpb24SRwoEdHlwZRgBIAEoDjI5LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVHJhbnNhY3Rpb25WYXJpYW50EgwKBGhhc2gYAiABKAkSGAoHdmVyc2lvbhgDIAEoBEICMABIAIgBARIUCgdzdWNjZXNzGAQgASgISAGIAQESDAoEZGF0YRgFIAEoDEIKCghfdmVyc2lvbkIKCghfc3VjY2VzcyJxChpBY2NvdW50VHJhbnNhY3Rpb25zUmVxdWVzdBIPCgdhZGRyZXNzGAEgASgMEhYKBXN0YXJ0GAIgASgEQgIwAEgAiAEBEhYKBWxpbWl0GAMgASgEQgIwAEgBiAEBQggKBl9zdGFydEIICgZfbGltaXQiZAoYQWNjb3VudFRyYW5zYWN0aW9uc1JlcGx5EkgKDHRyYW5zYWN0aW9ucxgBIAMoCzIyLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVHJhbnNhY3Rpb24i2gEKGFN1Ym1pdFRyYW5zYWN0aW9uUmVxdWVzdBJLChJyZWNlaXZlcl9tb2R1bGVfaWQYASABKAsyLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLk1vZHVsZUlEEhcKD2VuY29kZWRfcGF5bG9hZBgCIAEoDBJJCgpnYXNfY29uZmlnGAMgASgLMjAuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5HYXNDb25maWdIAIgBAUINCgtfZ2FzX2NvbmZpZyKJAQoWU3VibWl0VHJhbnNhY3Rpb25SZXBseRJCCgl0eF9zdGF0dXMYASABKA4yLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlR4U3RhdHVzEg8KB3R4X2hhc2gYAiABKAkSGgoSdHhfaWRlbXBvdGVuY3lfa2V5GAMgASgJIkMKCUdhc0NvbmZpZxIaCg5tYXhfZ2FzX2Ftb3VudBgBIAEoBEICMAASGgoOZ2FzX3VuaXRfcHJpY2UYAiABKARCAjAAIq0BChJXcml0ZVJlcG9ydFJlcXVlc3QSEAoIcmVjZWl2ZXIYASABKAwSSQoKZ2FzX2NvbmZpZxgCIAEoCzIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuR2FzQ29uZmlnSACIAQESKwoGcmVwb3J0GAMgASgLMhsuc2RrLnYxYWxwaGEuUmVwb3J0UmVzcG9uc2VCDQoLX2dhc19jb25maWci3AEKEFdyaXRlUmVwb3J0UmVwbHkSQgoJdHhfc3RhdHVzGAEgASgOMi8uY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5UeFN0YXR1cxIUCgd0eF9oYXNoGAIgASgJSACIAQESIAoPdHJhbnNhY3Rpb25fZmVlGAMgASgEQgIwAEgBiAEBEhoKDWVycm9yX21lc3NhZ2UYBCABKAlIAogBAUIKCghfdHhfaGFzaEISChBfdHJhbnNhY3Rpb25fZmVlQhAKDl9lcnJvcl9tZXNzYWdlKk0KCFR4U3RhdHVzEhMKD1RYX1NUQVRVU19GQVRBTBAAEhUKEVRYX1NUQVRVU19BQk9SVEVEEAESFQoRVFhfU1RBVFVTX1NVQ0NFU1MQAiq0AgoLVHlwZVRhZ0tpbmQSFgoSVFlQRV9UQUdfS0lORF9CT09MEAASFAoQVFlQRV9UQUdfS0lORF9VOBABEhUKEVRZUEVfVEFHX0tJTkRfVTE2EAISFQoRVFlQRV9UQUdfS0lORF9VMzIQAxIVChFUWVBFX1RBR19LSU5EX1U2NBAEEhYKElRZUEVfVEFHX0tJTkRfVTEyOBAFEhYKElRZUEVfVEFHX0tJTkRfVTI1NhAGEhkKFVRZUEVfVEFHX0tJTkRfQUREUkVTUxAHEhgKFFRZUEVfVEFHX0tJTkRfU0lHTkVSEAgSGAoUVFlQRV9UQUdfS0lORF9WRUNUT1IQCRIYChRUWVBFX1RBR19LSU5EX1NUUlVDVBAKEhkKFVRZUEVfVEFHX0tJTkRfR0VORVJJQxALKrICChJUcmFuc2FjdGlvblZhcmlhbnQSHwobVFJBTlNBQ1RJT05fVkFSSUFOVF9QRU5ESU5HEAASHAoYVFJBTlNBQ1RJT05fVkFSSUFOVF9VU0VSEAESHwobVFJBTlNBQ1RJT05fVkFSSUFOVF9HRU5FU0lTEAISJgoiVFJBTlNBQ1RJT05fVkFSSUFOVF9CTE9DS19NRVRBREFUQRADEiYKIlRSQU5TQUNUSU9OX1ZBUklBTlRfQkxPQ0tfRVBJTE9HVUUQBBIoCiRUUkFOU0FDVElPTl9WQVJJQU5UX1NUQVRFX0NIRUNLUE9JTlQQBRIhCh1UUkFOU0FDVElPTl9WQVJJQU5UX1ZBTElEQVRPUhAGEh8KG1RSQU5TQUNUSU9OX1ZBUklBTlRfVU5LTk9XThAHMqIGCgZDbGllbnQSkwEKEUFjY291bnRBUFRCYWxhbmNlEj8uY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5BY2NvdW50QVBUQmFsYW5jZVJlcXVlc3QaPS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLkFjY291bnRBUFRCYWxhbmNlUmVwbHkSbAoEVmlldxIyLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVmlld1JlcXVlc3QaMC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlZpZXdSZXBseRKTAQoRVHJhbnNhY3Rpb25CeUhhc2gSPy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlRyYW5zYWN0aW9uQnlIYXNoUmVxdWVzdBo9LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVHJhbnNhY3Rpb25CeUhhc2hSZXBseRKZAQoTQWNjb3VudFRyYW5zYWN0aW9ucxJBLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuQWNjb3VudFRyYW5zYWN0aW9uc1JlcXVlc3QaPy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLkFjY291bnRUcmFuc2FjdGlvbnNSZXBseRKBAQoLV3JpdGVSZXBvcnQSOS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLldyaXRlUmVwb3J0UmVxdWVzdBo3LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuV3JpdGVSZXBvcnRSZXBseRpegrUYWggBEgthcHRvc0AxLjAuMBpJCg1DaGFpblNlbGVjdG9yEjgSNgoZCg1hcHRvcy1tYWlubmV0EO61gpCbmb3mQQoZCg1hcHRvcy10ZXN0bmV0EJXShp7j/ZSoCkLvAQopY29tLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGFCC0NsaWVudFByb3RvUAGiAgNDQkGqAiVDYXBhYmlsaXRpZXMuQmxvY2tjaGFpbi5BcHRvcy5WMWFscGhhygIlQ2FwYWJpbGl0aWVzXEJsb2NrY2hhaW5cQXB0b3NcVjFhbHBoYeICMUNhcGFiaWxpdGllc1xCbG9ja2NoYWluXEFwdG9zXFYxYWxwaGFcR1BCTWV0YWRhdGHqAihDYXBhYmlsaXRpZXM6OkJsb2NrY2hhaW46OkFwdG9zOjpWMWFscGhhYgZwcm90bzM', + 'CjJjYXBhYmlsaXRpZXMvYmxvY2tjaGFpbi9hcHRvcy92MWFscGhhL2NsaWVudC5wcm90bxIlY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYSIrChhBY2NvdW50QVBUQmFsYW5jZVJlcXVlc3QSDwoHYWRkcmVzcxgBIAEoDCIrChZBY2NvdW50QVBUQmFsYW5jZVJlcGx5EhEKBXZhbHVlGAEgASgEQgIwACKGAQoLVmlld1JlcXVlc3QSQwoHcGF5bG9hZBgBIAEoCzIyLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVmlld1BheWxvYWQSHwoObGVkZ2VyX3ZlcnNpb24YAiABKARCAjAASACIAQFCEQoPX2xlZGdlcl92ZXJzaW9uIhkKCVZpZXdSZXBseRIMCgRkYXRhGAEgASgMIrEBCgtWaWV3UGF5bG9hZBI/CgZtb2R1bGUYASABKAsyLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLk1vZHVsZUlEEhAKCGZ1bmN0aW9uGAIgASgJEkEKCWFyZ190eXBlcxgDIAMoCzIuLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVHlwZVRhZxIMCgRhcmdzGAQgAygMIikKCE1vZHVsZUlEEg8KB2FkZHJlc3MYASABKAwSDAoEbmFtZRgCIAEoCSKiAgoHVHlwZVRhZxJACgRraW5kGAEgASgOMjIuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5UeXBlVGFnS2luZBJCCgZ2ZWN0b3IYAiABKAsyMC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlZlY3RvclRhZ0gAEkIKBnN0cnVjdBgDIAEoCzIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuU3RydWN0VGFnSAASRAoHZ2VuZXJpYxgEIAEoCzIxLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuR2VuZXJpY1RhZ0gAQgcKBXZhbHVlIlEKCVZlY3RvclRhZxJECgxlbGVtZW50X3R5cGUYASABKAsyLi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlR5cGVUYWcifwoJU3RydWN0VGFnEg8KB2FkZHJlc3MYASABKAwSDgoGbW9kdWxlGAIgASgJEgwKBG5hbWUYAyABKAkSQwoLdHlwZV9wYXJhbXMYBCADKAsyLi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlR5cGVUYWciGwoKR2VuZXJpY1RhZxINCgVpbmRleBgBIAEoDSIoChhUcmFuc2FjdGlvbkJ5SGFzaFJlcXVlc3QSDAoEaGFzaBgBIAEoCSJ2ChZUcmFuc2FjdGlvbkJ5SGFzaFJlcGx5EkwKC3RyYW5zYWN0aW9uGAEgASgLMjIuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5UcmFuc2FjdGlvbkgAiAEBQg4KDF90cmFuc2FjdGlvbiK6AQoLVHJhbnNhY3Rpb24SRwoEdHlwZRgBIAEoDjI5LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVHJhbnNhY3Rpb25WYXJpYW50EgwKBGhhc2gYAiABKAkSGAoHdmVyc2lvbhgDIAEoBEICMABIAIgBARIUCgdzdWNjZXNzGAQgASgISAGIAQESDAoEZGF0YRgFIAEoDEIKCghfdmVyc2lvbkIKCghfc3VjY2VzcyJxChpBY2NvdW50VHJhbnNhY3Rpb25zUmVxdWVzdBIPCgdhZGRyZXNzGAEgASgMEhYKBXN0YXJ0GAIgASgEQgIwAEgAiAEBEhYKBWxpbWl0GAMgASgEQgIwAEgBiAEBQggKBl9zdGFydEIICgZfbGltaXQiZAoYQWNjb3VudFRyYW5zYWN0aW9uc1JlcGx5EkgKDHRyYW5zYWN0aW9ucxgBIAMoCzIyLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVHJhbnNhY3Rpb24i2gEKGFN1Ym1pdFRyYW5zYWN0aW9uUmVxdWVzdBJLChJyZWNlaXZlcl9tb2R1bGVfaWQYASABKAsyLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLk1vZHVsZUlEEhcKD2VuY29kZWRfcGF5bG9hZBgCIAEoDBJJCgpnYXNfY29uZmlnGAMgASgLMjAuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5HYXNDb25maWdIAIgBAUINCgtfZ2FzX2NvbmZpZyKJAQoWU3VibWl0VHJhbnNhY3Rpb25SZXBseRJCCgl0eF9zdGF0dXMYASABKA4yLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLlR4U3RhdHVzEg8KB3R4X2hhc2gYAiABKAkSGgoSdHhfaWRlbXBvdGVuY3lfa2V5GAMgASgJIkMKCUdhc0NvbmZpZxIaCg5tYXhfZ2FzX2Ftb3VudBgBIAEoBEICMAASGgoOZ2FzX3VuaXRfcHJpY2UYAiABKARCAjAAIq0BChJXcml0ZVJlcG9ydFJlcXVlc3QSEAoIcmVjZWl2ZXIYASABKAwSSQoKZ2FzX2NvbmZpZxgCIAEoCzIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuR2FzQ29uZmlnSACIAQESKwoGcmVwb3J0GAMgASgLMhsuc2RrLnYxYWxwaGEuUmVwb3J0UmVzcG9uc2VCDQoLX2dhc19jb25maWcisgMKEFdyaXRlUmVwb3J0UmVwbHkSQgoJdHhfc3RhdHVzGAEgASgOMi8uY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5UeFN0YXR1cxIUCgd0eF9oYXNoGAIgASgJSACIAQESIAoPdHJhbnNhY3Rpb25fZmVlGAMgASgEQgIwAEgBiAEBEhoKDWVycm9yX21lc3NhZ2UYBCABKAlIAogBARJ3CiJyZWNlaXZlcl9jb250cmFjdF9leGVjdXRpb25fc3RhdHVzGAUgASgOMkYuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5SZWNlaXZlckNvbnRyYWN0RXhlY3V0aW9uU3RhdHVzSAOIAQESIAoPYmxvY2tfdGltZXN0YW1wGAYgASgEQgIwAEgEiAEBQgoKCF90eF9oYXNoQhIKEF90cmFuc2FjdGlvbl9mZWVCEAoOX2Vycm9yX21lc3NhZ2VCJQojX3JlY2VpdmVyX2NvbnRyYWN0X2V4ZWN1dGlvbl9zdGF0dXNCEgoQX2Jsb2NrX3RpbWVzdGFtcCpNCghUeFN0YXR1cxITCg9UWF9TVEFUVVNfRkFUQUwQABIVChFUWF9TVEFUVVNfQUJPUlRFRBABEhUKEVRYX1NUQVRVU19TVUNDRVNTEAIqtAIKC1R5cGVUYWdLaW5kEhYKElRZUEVfVEFHX0tJTkRfQk9PTBAAEhQKEFRZUEVfVEFHX0tJTkRfVTgQARIVChFUWVBFX1RBR19LSU5EX1UxNhACEhUKEVRZUEVfVEFHX0tJTkRfVTMyEAMSFQoRVFlQRV9UQUdfS0lORF9VNjQQBBIWChJUWVBFX1RBR19LSU5EX1UxMjgQBRIWChJUWVBFX1RBR19LSU5EX1UyNTYQBhIZChVUWVBFX1RBR19LSU5EX0FERFJFU1MQBxIYChRUWVBFX1RBR19LSU5EX1NJR05FUhAIEhgKFFRZUEVfVEFHX0tJTkRfVkVDVE9SEAkSGAoUVFlQRV9UQUdfS0lORF9TVFJVQ1QQChIZChVUWVBFX1RBR19LSU5EX0dFTkVSSUMQCyqyAgoSVHJhbnNhY3Rpb25WYXJpYW50Eh8KG1RSQU5TQUNUSU9OX1ZBUklBTlRfUEVORElORxAAEhwKGFRSQU5TQUNUSU9OX1ZBUklBTlRfVVNFUhABEh8KG1RSQU5TQUNUSU9OX1ZBUklBTlRfR0VORVNJUxACEiYKIlRSQU5TQUNUSU9OX1ZBUklBTlRfQkxPQ0tfTUVUQURBVEEQAxImCiJUUkFOU0FDVElPTl9WQVJJQU5UX0JMT0NLX0VQSUxPR1VFEAQSKAokVFJBTlNBQ1RJT05fVkFSSUFOVF9TVEFURV9DSEVDS1BPSU5UEAUSIQodVFJBTlNBQ1RJT05fVkFSSUFOVF9WQUxJREFUT1IQBhIfChtUUkFOU0FDVElPTl9WQVJJQU5UX1VOS05PV04QByqCAQofUmVjZWl2ZXJDb250cmFjdEV4ZWN1dGlvblN0YXR1cxIuCipSRUNFSVZFUl9DT05UUkFDVF9FWEVDVVRJT05fU1RBVFVTX1NVQ0NFU1MQABIvCitSRUNFSVZFUl9DT05UUkFDVF9FWEVDVVRJT05fU1RBVFVTX1JFVkVSVEVEEAEyogYKBkNsaWVudBKTAQoRQWNjb3VudEFQVEJhbGFuY2USPy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5hcHRvcy52MWFscGhhLkFjY291bnRBUFRCYWxhbmNlUmVxdWVzdBo9LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuQWNjb3VudEFQVEJhbGFuY2VSZXBseRJsCgRWaWV3EjIuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5WaWV3UmVxdWVzdBowLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVmlld1JlcGx5EpMBChFUcmFuc2FjdGlvbkJ5SGFzaBI/LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuVHJhbnNhY3Rpb25CeUhhc2hSZXF1ZXN0Gj0uY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5UcmFuc2FjdGlvbkJ5SGFzaFJlcGx5EpkBChNBY2NvdW50VHJhbnNhY3Rpb25zEkEuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5BY2NvdW50VHJhbnNhY3Rpb25zUmVxdWVzdBo/LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuQWNjb3VudFRyYW5zYWN0aW9uc1JlcGx5EoEBCgtXcml0ZVJlcG9ydBI5LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLmFwdG9zLnYxYWxwaGEuV3JpdGVSZXBvcnRSZXF1ZXN0GjcuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYS5Xcml0ZVJlcG9ydFJlcGx5Gl6CtRhaCAESC2FwdG9zQDEuMC4wGkkKDUNoYWluU2VsZWN0b3ISOBI2ChkKDWFwdG9zLW1haW5uZXQQ7rWCkJuZveZBChkKDWFwdG9zLXRlc3RuZXQQldKGnuP9lKgKQu8BCiljb20uY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uYXB0b3MudjFhbHBoYUILQ2xpZW50UHJvdG9QAaICA0NCQaoCJUNhcGFiaWxpdGllcy5CbG9ja2NoYWluLkFwdG9zLlYxYWxwaGHKAiVDYXBhYmlsaXRpZXNcQmxvY2tjaGFpblxBcHRvc1xWMWFscGhh4gIxQ2FwYWJpbGl0aWVzXEJsb2NrY2hhaW5cQXB0b3NcVjFhbHBoYVxHUEJNZXRhZGF0YeoCKENhcGFiaWxpdGllczo6QmxvY2tjaGFpbjo6QXB0b3M6OlYxYWxwaGFiBnByb3RvMw', [file_sdk_v1alpha_sdk, file_tools_generator_v1alpha_cre_metadata], ) @@ -912,6 +912,18 @@ export type WriteReportReply = Message<'capabilities.blockchain.aptos.v1alpha.Wr * @generated from field: optional string error_message = 4; */ errorMessage?: string + + /** + * @generated from field: optional capabilities.blockchain.aptos.v1alpha.ReceiverContractExecutionStatus receiver_contract_execution_status = 5; + */ + receiverContractExecutionStatus?: ReceiverContractExecutionStatus + + /** + * block timestamp in microseconds + * + * @generated from field: optional uint64 block_timestamp = 6 [jstype = JS_NORMAL]; + */ + blockTimestamp?: bigint } /** @@ -941,6 +953,18 @@ export type WriteReportReplyJson = { * @generated from field: optional string error_message = 4; */ errorMessage?: string + + /** + * @generated from field: optional capabilities.blockchain.aptos.v1alpha.ReceiverContractExecutionStatus receiver_contract_execution_status = 5; + */ + receiverContractExecutionStatus?: ReceiverContractExecutionStatusJson + + /** + * block timestamp in microseconds + * + * @generated from field: optional uint64 block_timestamp = 6 [jstype = JS_NORMAL]; + */ + blockTimestamp?: string } /** @@ -1148,6 +1172,36 @@ export const TransactionVariantSchema: GenEnum = /*@__PURE__*/ enumDesc(file_capabilities_blockchain_aptos_v1alpha_client, 3) + /** * @generated from service capabilities.blockchain.aptos.v1alpha.Client */ diff --git a/packages/cre-sdk/src/generated/capabilities/blockchain/solana/v1alpha/client_pb.ts b/packages/cre-sdk/src/generated/capabilities/blockchain/solana/v1alpha/client_pb.ts index fe57fc57..42fe1f14 100644 --- a/packages/cre-sdk/src/generated/capabilities/blockchain/solana/v1alpha/client_pb.ts +++ b/packages/cre-sdk/src/generated/capabilities/blockchain/solana/v1alpha/client_pb.ts @@ -8,6 +8,8 @@ import { enumDesc, fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf import type { ReportResponse, ReportResponseJson } from '../../../../sdk/v1alpha/sdk_pb' import { file_sdk_v1alpha_sdk } from '../../../../sdk/v1alpha/sdk_pb' import { file_tools_generator_v1alpha_cre_metadata } from '../../../../tools/generator/v1alpha/cre_metadata_pb' +import type { BigInt, BigIntJson } from '../../../../values/v1/values_pb' +import { file_values_v1_values } from '../../../../values/v1/values_pb' /** * Describes the file capabilities/blockchain/solana/v1alpha/client.proto. @@ -15,45 +17,3065 @@ import { file_tools_generator_v1alpha_cre_metadata } from '../../../../tools/gen export const file_capabilities_blockchain_solana_v1alpha_client: GenFile = /*@__PURE__*/ fileDesc( - 'CjNjYXBhYmlsaXRpZXMvYmxvY2tjaGFpbi9zb2xhbmEvdjFhbHBoYS9jbGllbnQucHJvdG8SJmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhIiYKDUNvbXB1dGVDb25maWcSFQoNY29tcHV0ZV9saW1pdBgBIAEoDSI2CgtBY2NvdW50TWV0YRISCgpwdWJsaWNfa2V5GAEgASgMEhMKC2lzX3dyaXRhYmxlGAIgASgIIosCChJXcml0ZVJlcG9ydFJlcXVlc3QSTwoScmVtYWluaW5nX2FjY291bnRzGAEgAygLMjMuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuQWNjb3VudE1ldGESEAoIcmVjZWl2ZXIYAiABKAwSUgoOY29tcHV0ZV9jb25maWcYAyABKAsyNS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5Db21wdXRlQ29uZmlnSACIAQESKwoGcmVwb3J0GAQgASgLMhsuc2RrLnYxYWxwaGEuUmVwb3J0UmVzcG9uc2VCEQoPX2NvbXB1dGVfY29uZmlnIogDChBXcml0ZVJlcG9ydFJlcGx5EkMKCXR4X3N0YXR1cxgBIAEoDjIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLlR4U3RhdHVzEngKInJlY2VpdmVyX2NvbnRyYWN0X2V4ZWN1dGlvbl9zdGF0dXMYAiABKA4yRy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5SZWNlaXZlckNvbnRyYWN0RXhlY3V0aW9uU3RhdHVzSACIAQESGQoMdHhfc2lnbmF0dXJlGAMgASgMSAGIAQESIAoPdHJhbnNhY3Rpb25fZmVlGAQgASgEQgIwAEgCiAEBEhoKDWVycm9yX21lc3NhZ2UYBSABKAlIA4gBAUIlCiNfcmVjZWl2ZXJfY29udHJhY3RfZXhlY3V0aW9uX3N0YXR1c0IPCg1fdHhfc2lnbmF0dXJlQhIKEF90cmFuc2FjdGlvbl9mZWVCEAoOX2Vycm9yX21lc3NhZ2UqTQoIVHhTdGF0dXMSEwoPVFhfU1RBVFVTX0ZBVEFMEAASFQoRVFhfU1RBVFVTX0FCT1JURUQQARIVChFUWF9TVEFUVVNfU1VDQ0VTUxACKoIBCh9SZWNlaXZlckNvbnRyYWN0RXhlY3V0aW9uU3RhdHVzEi4KKlJFQ0VJVkVSX0NPTlRSQUNUX0VYRUNVVElPTl9TVEFUVVNfU1VDQ0VTUxAAEi8KK1JFQ0VJVkVSX0NPTlRSQUNUX0VYRUNVVElPTl9TVEFUVVNfUkVWRVJURUQQATLxAQoGQ2xpZW50EoMBCgtXcml0ZVJlcG9ydBI6LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLldyaXRlUmVwb3J0UmVxdWVzdBo4LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLldyaXRlUmVwb3J0UmVwbHkaYYK1GF0IARIMc29sYW5hQDEuMC4wGksKDUNoYWluU2VsZWN0b3ISOhI4ChoKDXNvbGFuYS1kZXZuZXQQ3++Mp6n8sfbjAQoaCg5zb2xhbmEtbWFpbm5ldBDnk9+Mtp+u3QFC9AEKKmNvbS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYUILQ2xpZW50UHJvdG9QAaICA0NCU6oCJkNhcGFiaWxpdGllcy5CbG9ja2NoYWluLlNvbGFuYS5WMWFscGhhygImQ2FwYWJpbGl0aWVzXEJsb2NrY2hhaW5cU29sYW5hXFYxYWxwaGHiAjJDYXBhYmlsaXRpZXNcQmxvY2tjaGFpblxTb2xhbmFcVjFhbHBoYVxHUEJNZXRhZGF0YeoCKUNhcGFiaWxpdGllczo6QmxvY2tjaGFpbjo6U29sYW5hOjpWMWFscGhhYgZwcm90bzM', - [file_sdk_v1alpha_sdk, file_tools_generator_v1alpha_cre_metadata], + 'CjNjYXBhYmlsaXRpZXMvYmxvY2tjaGFpbi9zb2xhbmEvdjFhbHBoYS9jbGllbnQucHJvdG8SJmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhIsMBCgdBY2NvdW50EhQKCGxhbXBvcnRzGAEgASgEQgIwABINCgVvd25lchgCIAEoDBJFCgRkYXRhGAMgASgLMjcuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuRGF0YUJ5dGVzT3JKU09OEhIKCmV4ZWN1dGFibGUYBCABKAgSJQoKcmVudF9lcG9jaBgFIAEoCzIRLnZhbHVlcy52MS5CaWdJbnQSEQoFc3BhY2UYBiABKARCAjAAIiYKDUNvbXB1dGVDb25maWcSFQoNY29tcHV0ZV9saW1pdBgBIAEoDSKAAQoPRGF0YUJ5dGVzT3JKU09OEkYKCGVuY29kaW5nGAEgASgOMjQuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuRW5jb2RpbmdUeXBlEg0KA3JhdxgCIAEoDEgAEg4KBGpzb24YAyABKAxIAEIGCgRib2R5IjMKCURhdGFTbGljZRISCgZvZmZzZXQYASABKARCAjAAEhIKBmxlbmd0aBgCIAEoBEICMAAijQIKEkdldEFjY291bnRJbmZvT3B0cxJGCghlbmNvZGluZxgBIAEoDjI0LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkVuY29kaW5nVHlwZRJKCgpjb21taXRtZW50GAIgASgOMjYuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuQ29tbWl0bWVudFR5cGUSRQoKZGF0YV9zbGljZRgDIAEoCzIxLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkRhdGFTbGljZRIcChBtaW5fY29udGV4dF9zbG90GAQgASgEQgIwACJsChtHZXRBY2NvdW50SW5mb1dpdGhPcHRzUmVwbHkSQwoFdmFsdWUYAiABKAsyLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5BY2NvdW50SACIAQFCCAoGX3ZhbHVlInoKHUdldEFjY291bnRJbmZvV2l0aE9wdHNSZXF1ZXN0Eg8KB2FjY291bnQYASABKAwSSAoEb3B0cxgCIAEoCzI6LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkdldEFjY291bnRJbmZvT3B0cyIkCg9HZXRCYWxhbmNlUmVwbHkSEQoFdmFsdWUYASABKARCAjAAIm0KEUdldEJhbGFuY2VSZXF1ZXN0EgwKBGFkZHIYASABKAwSSgoKY29tbWl0bWVudBgCIAEoDjI2LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkNvbW1pdG1lbnRUeXBlIloKDEdldEJsb2NrT3B0cxJKCgpjb21taXRtZW50GAQgASgOMjYuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuQ29tbWl0bWVudFR5cGUinQEKDUdldEJsb2NrUmVwbHkSEQoJYmxvY2toYXNoGAEgASgMEhoKEnByZXZpb3VzX2Jsb2NraGFzaBgCIAEoDBIXCgtwYXJlbnRfc2xvdBgDIAEoBEICMAASGwoKYmxvY2tfdGltZRgEIAEoA0ICMABIAIgBARIYCgxibG9ja19oZWlnaHQYBSABKARCAjAAQg0KC19ibG9ja190aW1lImcKD0dldEJsb2NrUmVxdWVzdBIQCgRzbG90GAEgASgEQgIwABJCCgRvcHRzGAIgASgLMjQuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuR2V0QmxvY2tPcHRzIigKFUdldEZlZUZvck1lc3NhZ2VSZXBseRIPCgNmZWUYASABKARCAjAAInYKF0dldEZlZUZvck1lc3NhZ2VSZXF1ZXN0Eg8KB21lc3NhZ2UYASABKAkSSgoKY29tbWl0bWVudBgCIAEoDjI2LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkNvbW1pdG1lbnRUeXBlIpICChdHZXRNdWx0aXBsZUFjY291bnRzT3B0cxJGCghlbmNvZGluZxgBIAEoDjI0LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkVuY29kaW5nVHlwZRJKCgpjb21taXRtZW50GAIgASgOMjYuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuQ29tbWl0bWVudFR5cGUSRQoKZGF0YV9zbGljZRgDIAEoCzIxLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkRhdGFTbGljZRIcChBtaW5fY29udGV4dF9zbG90GAQgASgEQgIwACJrChZPcHRpb25hbEFjY291bnRXcmFwcGVyEkUKB2FjY291bnQYASABKAsyLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5BY2NvdW50SACIAQFCCgoIX2FjY291bnQicQogR2V0TXVsdGlwbGVBY2NvdW50c1dpdGhPcHRzUmVwbHkSTQoFdmFsdWUYAiADKAsyPi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5PcHRpb25hbEFjY291bnRXcmFwcGVyIoUBCiJHZXRNdWx0aXBsZUFjY291bnRzV2l0aE9wdHNSZXF1ZXN0EhAKCGFjY291bnRzGAEgAygMEk0KBG9wdHMYAiABKAsyPy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5HZXRNdWx0aXBsZUFjY291bnRzT3B0cyI0Cg9SUENGaWx0ZXJNZW1jbXASEgoGb2Zmc2V0GAEgASgEQgIwABINCgVieXRlcxgCIAEoDCJrCglSUENGaWx0ZXISRwoGbWVtY21wGAEgASgLMjcuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuUlBDRmlsdGVyTWVtY21wEhUKCWRhdGFfc2l6ZRgCIAEoBEICMAAitwIKFkdldFByb2dyYW1BY2NvdW50c09wdHMSRgoIZW5jb2RpbmcYASABKA4yNC5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5FbmNvZGluZ1R5cGUSSgoKY29tbWl0bWVudBgCIAEoDjI2LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkNvbW1pdG1lbnRUeXBlEkUKCmRhdGFfc2xpY2UYAyABKAsyMS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5EYXRhU2xpY2USQgoHZmlsdGVycxgEIAMoCzIxLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLlJQQ0ZpbHRlciJgCgxLZXllZEFjY291bnQSDgoGcHVia2V5GAEgASgMEkAKB2FjY291bnQYAiABKAsyLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5BY2NvdW50Il4KF0dldFByb2dyYW1BY2NvdW50c1JlcGx5EkMKBXZhbHVlGAEgAygLMjQuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuS2V5ZWRBY2NvdW50InoKGUdldFByb2dyYW1BY2NvdW50c1JlcXVlc3QSDwoHcHJvZ3JhbRgBIAEoDBJMCgRvcHRzGAIgASgLMj4uY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuR2V0UHJvZ3JhbUFjY291bnRzT3B0cyJwChlHZXRTaWduYXR1cmVTdGF0dXNlc1JlcGx5ElMKB3Jlc3VsdHMYASADKAsyQi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5HZXRTaWduYXR1cmVTdGF0dXNlc1Jlc3VsdCIrChtHZXRTaWduYXR1cmVTdGF0dXNlc1JlcXVlc3QSDAoEc2lncxgBIAMoDCLKAQoaR2V0U2lnbmF0dXJlU3RhdHVzZXNSZXN1bHQSEAoEc2xvdBgBIAEoBEICMAASHgoNY29uZmlybWF0aW9ucxgCIAEoBEICMABIAIgBARILCgNlcnIYAyABKAkSWwoTY29uZmlybWF0aW9uX3N0YXR1cxgEIAEoDjI+LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkNvbmZpcm1hdGlvblN0YXR1c1R5cGVCEAoOX2NvbmZpcm1hdGlvbnMiKAoSR2V0U2xvdEhlaWdodFJlcGx5EhIKBmhlaWdodBgBIAEoBEICMAAiYgoUR2V0U2xvdEhlaWdodFJlcXVlc3QSSgoKY29tbWl0bWVudBgBIAEoDjI2LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkNvbW1pdG1lbnRUeXBlIn4KDU1lc3NhZ2VIZWFkZXISHwoXbnVtX3JlcXVpcmVkX3NpZ25hdHVyZXMYASABKA0SJAocbnVtX3JlYWRvbmx5X3NpZ25lZF9hY2NvdW50cxgCIAEoDRImCh5udW1fcmVhZG9ubHlfdW5zaWduZWRfYWNjb3VudHMYAyABKA0i2QEKDVBhcnNlZE1lc3NhZ2USGAoQcmVjZW50X2Jsb2NraGFzaBgBIAEoDBIUCgxhY2NvdW50X2tleXMYAiADKAwSRQoGaGVhZGVyGAMgASgLMjUuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuTWVzc2FnZUhlYWRlchJRCgxpbnN0cnVjdGlvbnMYBCADKAsyOy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5Db21waWxlZEluc3RydWN0aW9uIm8KEVBhcnNlZFRyYW5zYWN0aW9uEhIKCnNpZ25hdHVyZXMYASADKAwSRgoHbWVzc2FnZRgCIAEoCzI1LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLlBhcnNlZE1lc3NhZ2UiSwoNVWlUb2tlbkFtb3VudBIOCgZhbW91bnQYASABKAkSEAoIZGVjaW1hbHMYAiABKA0SGAoQdWlfYW1vdW50X3N0cmluZxgEIAEoCSK8AQoMVG9rZW5CYWxhbmNlEhUKDWFjY291bnRfaW5kZXgYASABKA0SEgoFb3duZXIYAiABKAxIAIgBARIXCgpwcm9ncmFtX2lkGAMgASgMSAGIAQESDAoEbWludBgEIAEoDBJBCgJ1aRgFIAEoCzI1LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLlVpVG9rZW5BbW91bnRCCAoGX293bmVyQg0KC19wcm9ncmFtX2lkInQKEElubmVySW5zdHJ1Y3Rpb24SDQoFaW5kZXgYASABKA0SUQoMaW5zdHJ1Y3Rpb25zGAIgAygLMjsuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuQ29tcGlsZWRJbnN0cnVjdGlvbiI1Cg9Mb2FkZWRBZGRyZXNzZXMSEAoIcmVhZG9ubHkYASADKAwSEAoId3JpdGFibGUYAiADKAwiZQoTQ29tcGlsZWRJbnN0cnVjdGlvbhIYChBwcm9ncmFtX2lkX2luZGV4GAEgASgNEhAKCGFjY291bnRzGAIgAygNEgwKBGRhdGEYAyABKAwSFAoMc3RhY2tfaGVpZ2h0GAQgASgNIl8KBERhdGESDwoHY29udGVudBgBIAEoDBJGCghlbmNvZGluZxgCIAEoDjI0LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkVuY29kaW5nVHlwZSJcCgpSZXR1cm5EYXRhEhIKCnByb2dyYW1faWQYASABKAwSOgoEZGF0YRgCIAEoCzIsLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkRhdGEi2gQKD1RyYW5zYWN0aW9uTWV0YRIQCghlcnJfanNvbhgBIAEoCRIPCgNmZWUYAiABKARCAjAAEhgKDHByZV9iYWxhbmNlcxgDIAMoBEICMAASGQoNcG9zdF9iYWxhbmNlcxgEIAMoBEICMAASFAoMbG9nX21lc3NhZ2VzGAUgAygJElAKEnByZV90b2tlbl9iYWxhbmNlcxgGIAMoCzI0LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLlRva2VuQmFsYW5jZRJRChNwb3N0X3Rva2VuX2JhbGFuY2VzGAcgAygLMjQuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuVG9rZW5CYWxhbmNlElQKEmlubmVyX2luc3RydWN0aW9ucxgIIAMoCzI4LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLklubmVySW5zdHJ1Y3Rpb24SUQoQbG9hZGVkX2FkZHJlc3NlcxgJIAEoCzI3LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkxvYWRlZEFkZHJlc3NlcxJHCgtyZXR1cm5fZGF0YRgKIAEoCzIyLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLlJldHVybkRhdGESJwoWY29tcHV0ZV91bml0c19jb25zdW1lZBgLIAEoBEICMABIAIgBAUIZChdfY29tcHV0ZV91bml0c19jb25zdW1lZCKAAQoTVHJhbnNhY3Rpb25FbnZlbG9wZRINCgNyYXcYASABKAxIABJLCgZwYXJzZWQYAiABKAsyOS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5QYXJzZWRUcmFuc2FjdGlvbkgAQg0KC3RyYW5zYWN0aW9uIo8CChNHZXRUcmFuc2FjdGlvblJlcGx5EhAKBHNsb3QYASABKARCAjAAEhsKCmJsb2NrX3RpbWUYAiABKANCAjAASACIAQESVQoLdHJhbnNhY3Rpb24YAyABKAsyOy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5UcmFuc2FjdGlvbkVudmVsb3BlSAGIAQESSgoEbWV0YRgEIAEoCzI3LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLlRyYW5zYWN0aW9uTWV0YUgCiAEBQg0KC19ibG9ja190aW1lQg4KDF90cmFuc2FjdGlvbkIHCgVfbWV0YSIqChVHZXRUcmFuc2FjdGlvblJlcXVlc3QSEQoJc2lnbmF0dXJlGAEgASgMIu0BCg5TaW11bGF0ZVRYT3B0cxISCgpzaWdfdmVyaWZ5GAEgASgIEkoKCmNvbW1pdG1lbnQYAiABKA4yNi5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5Db21taXRtZW50VHlwZRIgChhyZXBsYWNlX3JlY2VudF9ibG9ja2hhc2gYAyABKAgSWQoIYWNjb3VudHMYBCABKAsyRy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5TaW11bGF0ZVRyYW5zYWN0aW9uQWNjb3VudHNPcHRzIosBCg9TaW11bGF0ZVRYUmVwbHkSCwoDZXJyGAEgASgJEgwKBGxvZ3MYAiADKAkSQQoIYWNjb3VudHMYAyADKAsyLy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5BY2NvdW50EhoKDnVuaXRzX2NvbnN1bWVkGAQgASgEQgIwACKIAQoRU2ltdWxhdGVUWFJlcXVlc3QSEAoIcmVjZWl2ZXIYASABKAwSGwoTZW5jb2RlZF90cmFuc2FjdGlvbhgCIAEoCRJECgRvcHRzGAMgASgLMjYuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuU2ltdWxhdGVUWE9wdHMifAofU2ltdWxhdGVUcmFuc2FjdGlvbkFjY291bnRzT3B0cxJGCghlbmNvZGluZxgBIAEoDjI0LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkVuY29kaW5nVHlwZRIRCglhZGRyZXNzZXMYAiADKAwibgoPVmFsdWVDb21wYXJhdG9yEg0KBXZhbHVlGAEgASgMEkwKCG9wZXJhdG9yGAIgASgOMjouY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuQ29tcGFyaXNvbk9wZXJhdG9yImgKDFN1YmtleUNvbmZpZxIMCgRwYXRoGAEgAygJEkoKCWNvbXBhcmVycxgCIAMoCzI3LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLlZhbHVlQ29tcGFyYXRvciI8Cg9DUElGaWx0ZXJDb25maWcSFAoMZGVzdF9hZGRyZXNzGAEgASgMEhMKC21ldGhvZF9uYW1lGAIgASgMIp0CChdGaWx0ZXJMb2dUcmlnZ2VyUmVxdWVzdBIMCgRuYW1lGAEgASgJEg8KB2FkZHJlc3MYAiABKAwSEgoKZXZlbnRfbmFtZRgDIAEoCRIZChFjb250cmFjdF9pZGxfanNvbhgEIAEoDBJFCgdzdWJrZXlzGAUgAygLMjQuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuU3Via2V5Q29uZmlnElcKEWNwaV9maWx0ZXJfY29uZmlnGAYgASgLMjcuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuQ1BJRmlsdGVyQ29uZmlnSACIAQFCFAoSX2NwaV9maWx0ZXJfY29uZmlnIvQBCgNMb2cSEAoIY2hhaW5faWQYASABKAkSFQoJbG9nX2luZGV4GAIgASgDQgIwABISCgpibG9ja19oYXNoGAMgASgMEhgKDGJsb2NrX251bWJlchgEIAEoA0ICMAASGwoPYmxvY2tfdGltZXN0YW1wGAUgASgEQgIwABIPCgdhZGRyZXNzGAYgASgMEhEKCWV2ZW50X3NpZxgHIAEoDBIPCgd0eF9oYXNoGAggASgMEgwKBGRhdGEYCSABKAwSGAoMc2VxdWVuY2VfbnVtGAogASgDQgIwABISCgVlcnJvchgLIAEoCUgAiAEBQggKBl9lcnJvciI2CgtBY2NvdW50TWV0YRISCgpwdWJsaWNfa2V5GAEgASgMEhMKC2lzX3dyaXRhYmxlGAIgASgIIosCChJXcml0ZVJlcG9ydFJlcXVlc3QSTwoScmVtYWluaW5nX2FjY291bnRzGAEgAygLMjMuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuQWNjb3VudE1ldGESEAoIcmVjZWl2ZXIYAiABKAwSUgoOY29tcHV0ZV9jb25maWcYAyABKAsyNS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5Db21wdXRlQ29uZmlnSACIAQESKwoGcmVwb3J0GAQgASgLMhsuc2RrLnYxYWxwaGEuUmVwb3J0UmVzcG9uc2VCEQoPX2NvbXB1dGVfY29uZmlnIogDChBXcml0ZVJlcG9ydFJlcGx5EkMKCXR4X3N0YXR1cxgBIAEoDjIwLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLlR4U3RhdHVzEngKInJlY2VpdmVyX2NvbnRyYWN0X2V4ZWN1dGlvbl9zdGF0dXMYAiABKA4yRy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5SZWNlaXZlckNvbnRyYWN0RXhlY3V0aW9uU3RhdHVzSACIAQESGQoMdHhfc2lnbmF0dXJlGAMgASgMSAGIAQESIAoPdHJhbnNhY3Rpb25fZmVlGAQgASgEQgIwAEgCiAEBEhoKDWVycm9yX21lc3NhZ2UYBSABKAlIA4gBAUIlCiNfcmVjZWl2ZXJfY29udHJhY3RfZXhlY3V0aW9uX3N0YXR1c0IPCg1fdHhfc2lnbmF0dXJlQhIKEF90cmFuc2FjdGlvbl9mZWVCEAoOX2Vycm9yX21lc3NhZ2UqsAEKDEVuY29kaW5nVHlwZRIWChJFTkNPRElOR19UWVBFX05PTkUQABIYChRFTkNPRElOR19UWVBFX0JBU0U1OBABEhgKFEVOQ09ESU5HX1RZUEVfQkFTRTY0EAISHQoZRU5DT0RJTkdfVFlQRV9CQVNFNjRfWlNURBADEh0KGUVOQ09ESU5HX1RZUEVfSlNPTl9QQVJTRUQQBBIWChJFTkNPRElOR19UWVBFX0pTT04QBSqHAQoOQ29tbWl0bWVudFR5cGUSGAoUQ09NTUlUTUVOVF9UWVBFX05PTkUQABIdChlDT01NSVRNRU5UX1RZUEVfRklOQUxJWkVEEAESHQoZQ09NTUlUTUVOVF9UWVBFX0NPTkZJUk1FRBACEh0KGUNPTU1JVE1FTlRfVFlQRV9QUk9DRVNTRUQQAyqzAQoWQ29uZmlybWF0aW9uU3RhdHVzVHlwZRIhCh1DT05GSVJNQVRJT05fU1RBVFVTX1RZUEVfTk9ORRAAEiYKIkNPTkZJUk1BVElPTl9TVEFUVVNfVFlQRV9QUk9DRVNTRUQQARImCiJDT05GSVJNQVRJT05fU1RBVFVTX1RZUEVfQ09ORklSTUVEEAISJgoiQ09ORklSTUFUSU9OX1NUQVRVU19UWVBFX0ZJTkFMSVpFRBADKk0KCFR4U3RhdHVzEhMKD1RYX1NUQVRVU19GQVRBTBAAEhUKEVRYX1NUQVRVU19BQk9SVEVEEAESFQoRVFhfU1RBVFVTX1NVQ0NFU1MQAiq/AQoSQ29tcGFyaXNvbk9wZXJhdG9yEhoKFkNPTVBBUklTT05fT1BFUkFUT1JfRVEQABIbChdDT01QQVJJU09OX09QRVJBVE9SX05FURABEhoKFkNPTVBBUklTT05fT1BFUkFUT1JfR1QQAhIaChZDT01QQVJJU09OX09QRVJBVE9SX0xUEAMSGwoXQ09NUEFSSVNPTl9PUEVSQVRPUl9HVEUQBBIbChdDT01QQVJJU09OX09QRVJBVE9SX0xURRAFKoIBCh9SZWNlaXZlckNvbnRyYWN0RXhlY3V0aW9uU3RhdHVzEi4KKlJFQ0VJVkVSX0NPTlRSQUNUX0VYRUNVVElPTl9TVEFUVVNfU1VDQ0VTUxAAEi8KK1JFQ0VJVkVSX0NPTlRSQUNUX0VYRUNVVElPTl9TVEFUVVNfUkVWRVJURUQQATK3DQoGQ2xpZW50EqQBChZHZXRBY2NvdW50SW5mb1dpdGhPcHRzEkUuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuR2V0QWNjb3VudEluZm9XaXRoT3B0c1JlcXVlc3QaQy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5HZXRBY2NvdW50SW5mb1dpdGhPcHRzUmVwbHkSgAEKCkdldEJhbGFuY2USOS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5HZXRCYWxhbmNlUmVxdWVzdBo3LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkdldEJhbGFuY2VSZXBseRJ6CghHZXRCbG9jaxI3LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkdldEJsb2NrUmVxdWVzdBo1LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkdldEJsb2NrUmVwbHkSkgEKEEdldEZlZUZvck1lc3NhZ2USPy5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5HZXRGZWVGb3JNZXNzYWdlUmVxdWVzdBo9LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkdldEZlZUZvck1lc3NhZ2VSZXBseRKzAQobR2V0TXVsdGlwbGVBY2NvdW50c1dpdGhPcHRzEkouY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuR2V0TXVsdGlwbGVBY2NvdW50c1dpdGhPcHRzUmVxdWVzdBpILmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkdldE11bHRpcGxlQWNjb3VudHNXaXRoT3B0c1JlcGx5EpgBChJHZXRQcm9ncmFtQWNjb3VudHMSQS5jYXBhYmlsaXRpZXMuYmxvY2tjaGFpbi5zb2xhbmEudjFhbHBoYS5HZXRQcm9ncmFtQWNjb3VudHNSZXF1ZXN0Gj8uY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuR2V0UHJvZ3JhbUFjY291bnRzUmVwbHkSngEKFEdldFNpZ25hdHVyZVN0YXR1c2VzEkMuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuR2V0U2lnbmF0dXJlU3RhdHVzZXNSZXF1ZXN0GkEuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuR2V0U2lnbmF0dXJlU3RhdHVzZXNSZXBseRKJAQoNR2V0U2xvdEhlaWdodBI8LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkdldFNsb3RIZWlnaHRSZXF1ZXN0GjouY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuR2V0U2xvdEhlaWdodFJlcGx5EowBCg5HZXRUcmFuc2FjdGlvbhI9LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkdldFRyYW5zYWN0aW9uUmVxdWVzdBo7LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkdldFRyYW5zYWN0aW9uUmVwbHkSfAoKTG9nVHJpZ2dlchI/LmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhLkZpbHRlckxvZ1RyaWdnZXJSZXF1ZXN0GisuY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuTG9nMAESgwEKC1dyaXRlUmVwb3J0EjouY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuV3JpdGVSZXBvcnRSZXF1ZXN0GjguY2FwYWJpbGl0aWVzLmJsb2NrY2hhaW4uc29sYW5hLnYxYWxwaGEuV3JpdGVSZXBvcnRSZXBseRphgrUYXQgBEgxzb2xhbmFAMS4wLjAaSwoNQ2hhaW5TZWxlY3RvchI6EjgKGgoNc29sYW5hLWRldm5ldBDf74ynqfyx9uMBChoKDnNvbGFuYS1tYWlubmV0EOeT34y2n67dAUL0AQoqY29tLmNhcGFiaWxpdGllcy5ibG9ja2NoYWluLnNvbGFuYS52MWFscGhhQgtDbGllbnRQcm90b1ABogIDQ0JTqgImQ2FwYWJpbGl0aWVzLkJsb2NrY2hhaW4uU29sYW5hLlYxYWxwaGHKAiZDYXBhYmlsaXRpZXNcQmxvY2tjaGFpblxTb2xhbmFcVjFhbHBoYeICMkNhcGFiaWxpdGllc1xCbG9ja2NoYWluXFNvbGFuYVxWMWFscGhhXEdQQk1ldGFkYXRh6gIpQ2FwYWJpbGl0aWVzOjpCbG9ja2NoYWluOjpTb2xhbmE6OlYxYWxwaGFiBnByb3RvMw', + [file_sdk_v1alpha_sdk, file_tools_generator_v1alpha_cre_metadata, file_values_v1_values], ) +/** + * On-chain account state. + * + * @generated from message capabilities.blockchain.solana.v1alpha.Account + */ +export type Account = Message<'capabilities.blockchain.solana.v1alpha.Account'> & { + /** + * balance in lamports (1e-9 SOL) + * + * @generated from field: uint64 lamports = 1 [jstype = JS_NORMAL]; + */ + lamports: bigint + + /** + * 32-byte program id (Pubkey) + * + * @generated from field: bytes owner = 2; + */ + owner: Uint8Array + + /** + * account data (encoded or JSON) + * + * @generated from field: capabilities.blockchain.solana.v1alpha.DataBytesOrJSON data = 3; + */ + data?: DataBytesOrJSON + + /** + * true if this is a program account + * + * @generated from field: bool executable = 4; + */ + executable: boolean + + /** + * next rent epoch + * + * @generated from field: values.v1.BigInt rent_epoch = 5; + */ + rentEpoch?: BigInt + + /** + * data length in bytes + * + * @generated from field: uint64 space = 6 [jstype = JS_NORMAL]; + */ + space: bigint +} + +/** + * On-chain account state. + * + * @generated from message capabilities.blockchain.solana.v1alpha.Account + */ +export type AccountJson = { + /** + * balance in lamports (1e-9 SOL) + * + * @generated from field: uint64 lamports = 1 [jstype = JS_NORMAL]; + */ + lamports?: string + + /** + * 32-byte program id (Pubkey) + * + * @generated from field: bytes owner = 2; + */ + owner?: string + + /** + * account data (encoded or JSON) + * + * @generated from field: capabilities.blockchain.solana.v1alpha.DataBytesOrJSON data = 3; + */ + data?: DataBytesOrJSONJson + + /** + * true if this is a program account + * + * @generated from field: bool executable = 4; + */ + executable?: boolean + + /** + * next rent epoch + * + * @generated from field: values.v1.BigInt rent_epoch = 5; + */ + rentEpoch?: BigIntJson + + /** + * data length in bytes + * + * @generated from field: uint64 space = 6 [jstype = JS_NORMAL]; + */ + space?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.Account. + * Use `create(AccountSchema)` to create a new message. + */ +export const AccountSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 0) + +/** + * Compute budget configuration when submitting txs. + * + * @generated from message capabilities.blockchain.solana.v1alpha.ComputeConfig + */ +export type ComputeConfig = Message<'capabilities.blockchain.solana.v1alpha.ComputeConfig'> & { + /** + * max CUs (approx per-tx limit) + * + * @generated from field: uint32 compute_limit = 1; + */ + computeLimit: number +} + /** * Compute budget configuration when submitting txs. * * @generated from message capabilities.blockchain.solana.v1alpha.ComputeConfig */ -export type ComputeConfig = Message<'capabilities.blockchain.solana.v1alpha.ComputeConfig'> & { +export type ComputeConfigJson = { + /** + * max CUs (approx per-tx limit) + * + * @generated from field: uint32 compute_limit = 1; + */ + computeLimit?: number +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.ComputeConfig. + * Use `create(ComputeConfigSchema)` to create a new message. + */ +export const ComputeConfigSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 1) + +/** + * Raw bytes vs parsed JSON (as returned by RPC). + * + * @generated from message capabilities.blockchain.solana.v1alpha.DataBytesOrJSON + */ +export type DataBytesOrJSON = Message<'capabilities.blockchain.solana.v1alpha.DataBytesOrJSON'> & { + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding: EncodingType + + /** + * @generated from oneof capabilities.blockchain.solana.v1alpha.DataBytesOrJSON.body + */ + body: + | { + /** + * program data (node’s base64/base58 decoded) + * + * @generated from field: bytes raw = 2; + */ + value: Uint8Array + case: 'raw' + } + | { + /** + * json: UTF-8 bytes of the jsonParsed payload. + * + * @generated from field: bytes json = 3; + */ + value: Uint8Array + case: 'json' + } + | { case: undefined; value?: undefined } +} + +/** + * Raw bytes vs parsed JSON (as returned by RPC). + * + * @generated from message capabilities.blockchain.solana.v1alpha.DataBytesOrJSON + */ +export type DataBytesOrJSONJson = { + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding?: EncodingTypeJson + + /** + * program data (node’s base64/base58 decoded) + * + * @generated from field: bytes raw = 2; + */ + raw?: string + + /** + * json: UTF-8 bytes of the jsonParsed payload. + * + * @generated from field: bytes json = 3; + */ + json?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.DataBytesOrJSON. + * Use `create(DataBytesOrJSONSchema)` to create a new message. + */ +export const DataBytesOrJSONSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 2) + +/** + * Return a slice of account data. + * + * @generated from message capabilities.blockchain.solana.v1alpha.DataSlice + */ +export type DataSlice = Message<'capabilities.blockchain.solana.v1alpha.DataSlice'> & { + /** + * start byte + * + * @generated from field: uint64 offset = 1 [jstype = JS_NORMAL]; + */ + offset: bigint + + /** + * number of bytes + * + * @generated from field: uint64 length = 2 [jstype = JS_NORMAL]; + */ + length: bigint +} + +/** + * Return a slice of account data. + * + * @generated from message capabilities.blockchain.solana.v1alpha.DataSlice + */ +export type DataSliceJson = { + /** + * start byte + * + * @generated from field: uint64 offset = 1 [jstype = JS_NORMAL]; + */ + offset?: string + + /** + * number of bytes + * + * @generated from field: uint64 length = 2 [jstype = JS_NORMAL]; + */ + length?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.DataSlice. + * Use `create(DataSliceSchema)` to create a new message. + */ +export const DataSliceSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 3) + +/** + * Options for GetAccountInfo. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetAccountInfoOpts + */ +export type GetAccountInfoOpts = + Message<'capabilities.blockchain.solana.v1alpha.GetAccountInfoOpts'> & { + /** + * data encoding + * + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding: EncodingType + + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment: CommitmentType + + /** + * optional slice window + * + * @generated from field: capabilities.blockchain.solana.v1alpha.DataSlice data_slice = 3; + */ + dataSlice?: DataSlice + + /** + * lower bound slot + * + * @generated from field: uint64 min_context_slot = 4 [jstype = JS_NORMAL]; + */ + minContextSlot: bigint + } + +/** + * Options for GetAccountInfo. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetAccountInfoOpts + */ +export type GetAccountInfoOptsJson = { + /** + * data encoding + * + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding?: EncodingTypeJson + + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment?: CommitmentTypeJson + + /** + * optional slice window + * + * @generated from field: capabilities.blockchain.solana.v1alpha.DataSlice data_slice = 3; + */ + dataSlice?: DataSliceJson + + /** + * lower bound slot + * + * @generated from field: uint64 min_context_slot = 4 [jstype = JS_NORMAL]; + */ + minContextSlot?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetAccountInfoOpts. + * Use `create(GetAccountInfoOptsSchema)` to create a new message. + */ +export const GetAccountInfoOptsSchema: GenMessage< + GetAccountInfoOpts, + { jsonType: GetAccountInfoOptsJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 4) + +/** + * Reply for GetAccountInfoWithOpts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetAccountInfoWithOptsReply + */ +export type GetAccountInfoWithOptsReply = + Message<'capabilities.blockchain.solana.v1alpha.GetAccountInfoWithOptsReply'> & { + /** + * account (may be empty) + * + * @generated from field: optional capabilities.blockchain.solana.v1alpha.Account value = 2; + */ + value?: Account + } + +/** + * Reply for GetAccountInfoWithOpts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetAccountInfoWithOptsReply + */ +export type GetAccountInfoWithOptsReplyJson = { + /** + * account (may be empty) + * + * @generated from field: optional capabilities.blockchain.solana.v1alpha.Account value = 2; + */ + value?: AccountJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetAccountInfoWithOptsReply. + * Use `create(GetAccountInfoWithOptsReplySchema)` to create a new message. + */ +export const GetAccountInfoWithOptsReplySchema: GenMessage< + GetAccountInfoWithOptsReply, + { jsonType: GetAccountInfoWithOptsReplyJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 5) + +/** + * Request for GetAccountInfoWithOpts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetAccountInfoWithOptsRequest + */ +export type GetAccountInfoWithOptsRequest = + Message<'capabilities.blockchain.solana.v1alpha.GetAccountInfoWithOptsRequest'> & { + /** + * 32-byte Pubkey + * + * @generated from field: bytes account = 1; + */ + account: Uint8Array + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.GetAccountInfoOpts opts = 2; + */ + opts?: GetAccountInfoOpts + } + +/** + * Request for GetAccountInfoWithOpts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetAccountInfoWithOptsRequest + */ +export type GetAccountInfoWithOptsRequestJson = { + /** + * 32-byte Pubkey + * + * @generated from field: bytes account = 1; + */ + account?: string + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.GetAccountInfoOpts opts = 2; + */ + opts?: GetAccountInfoOptsJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetAccountInfoWithOptsRequest. + * Use `create(GetAccountInfoWithOptsRequestSchema)` to create a new message. + */ +export const GetAccountInfoWithOptsRequestSchema: GenMessage< + GetAccountInfoWithOptsRequest, + { jsonType: GetAccountInfoWithOptsRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 6) + +/** + * Reply for GetBalance. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBalanceReply + */ +export type GetBalanceReply = Message<'capabilities.blockchain.solana.v1alpha.GetBalanceReply'> & { + /** + * lamports + * + * @generated from field: uint64 value = 1 [jstype = JS_NORMAL]; + */ + value: bigint +} + +/** + * Reply for GetBalance. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBalanceReply + */ +export type GetBalanceReplyJson = { + /** + * lamports + * + * @generated from field: uint64 value = 1 [jstype = JS_NORMAL]; + */ + value?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetBalanceReply. + * Use `create(GetBalanceReplySchema)` to create a new message. + */ +export const GetBalanceReplySchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 7) + +/** + * Request for GetBalance. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBalanceRequest + */ +export type GetBalanceRequest = + Message<'capabilities.blockchain.solana.v1alpha.GetBalanceRequest'> & { + /** + * 32-byte Pubkey + * + * @generated from field: bytes addr = 1; + */ + addr: Uint8Array + + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment: CommitmentType + } + +/** + * Request for GetBalance. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBalanceRequest + */ +export type GetBalanceRequestJson = { + /** + * 32-byte Pubkey + * + * @generated from field: bytes addr = 1; + */ + addr?: string + + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment?: CommitmentTypeJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetBalanceRequest. + * Use `create(GetBalanceRequestSchema)` to create a new message. + */ +export const GetBalanceRequestSchema: GenMessage< + GetBalanceRequest, + { jsonType: GetBalanceRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 8) + +/** + * Options for GetBlock. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBlockOpts + */ +export type GetBlockOpts = Message<'capabilities.blockchain.solana.v1alpha.GetBlockOpts'> & { + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 4; + */ + commitment: CommitmentType +} + +/** + * Options for GetBlock. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBlockOpts + */ +export type GetBlockOptsJson = { + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 4; + */ + commitment?: CommitmentTypeJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetBlockOpts. + * Use `create(GetBlockOptsSchema)` to create a new message. + */ +export const GetBlockOptsSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 9) + +/** + * Block response. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBlockReply + */ +export type GetBlockReply = Message<'capabilities.blockchain.solana.v1alpha.GetBlockReply'> & { + /** + * 32-byte block hash + * + * @generated from field: bytes blockhash = 1; + */ + blockhash: Uint8Array + + /** + * 32-byte parent hash + * + * @generated from field: bytes previous_blockhash = 2; + */ + previousBlockhash: Uint8Array + + /** + * @generated from field: uint64 parent_slot = 3 [jstype = JS_NORMAL]; + */ + parentSlot: bigint + + /** + * unix seconds, node may not report it + * + * @generated from field: optional int64 block_time = 4 [jstype = JS_NORMAL]; + */ + blockTime?: bigint + + /** + * chain height + * + * @generated from field: uint64 block_height = 5 [jstype = JS_NORMAL]; + */ + blockHeight: bigint +} + +/** + * Block response. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBlockReply + */ +export type GetBlockReplyJson = { + /** + * 32-byte block hash + * + * @generated from field: bytes blockhash = 1; + */ + blockhash?: string + + /** + * 32-byte parent hash + * + * @generated from field: bytes previous_blockhash = 2; + */ + previousBlockhash?: string + + /** + * @generated from field: uint64 parent_slot = 3 [jstype = JS_NORMAL]; + */ + parentSlot?: string + + /** + * unix seconds, node may not report it + * + * @generated from field: optional int64 block_time = 4 [jstype = JS_NORMAL]; + */ + blockTime?: string + + /** + * chain height + * + * @generated from field: uint64 block_height = 5 [jstype = JS_NORMAL]; + */ + blockHeight?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetBlockReply. + * Use `create(GetBlockReplySchema)` to create a new message. + */ +export const GetBlockReplySchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 10) + +/** + * Request for GetBlock. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBlockRequest + */ +export type GetBlockRequest = Message<'capabilities.blockchain.solana.v1alpha.GetBlockRequest'> & { + /** + * target slot + * + * @generated from field: uint64 slot = 1 [jstype = JS_NORMAL]; + */ + slot: bigint + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.GetBlockOpts opts = 2; + */ + opts?: GetBlockOpts +} + +/** + * Request for GetBlock. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetBlockRequest + */ +export type GetBlockRequestJson = { + /** + * target slot + * + * @generated from field: uint64 slot = 1 [jstype = JS_NORMAL]; + */ + slot?: string + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.GetBlockOpts opts = 2; + */ + opts?: GetBlockOptsJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetBlockRequest. + * Use `create(GetBlockRequestSchema)` to create a new message. + */ +export const GetBlockRequestSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 11) + +/** + * Fee quote for a base58-encoded Message. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetFeeForMessageReply + */ +export type GetFeeForMessageReply = + Message<'capabilities.blockchain.solana.v1alpha.GetFeeForMessageReply'> & { + /** + * lamports + * + * @generated from field: uint64 fee = 1 [jstype = JS_NORMAL]; + */ + fee: bigint + } + +/** + * Fee quote for a base58-encoded Message. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetFeeForMessageReply + */ +export type GetFeeForMessageReplyJson = { + /** + * lamports + * + * @generated from field: uint64 fee = 1 [jstype = JS_NORMAL]; + */ + fee?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetFeeForMessageReply. + * Use `create(GetFeeForMessageReplySchema)` to create a new message. + */ +export const GetFeeForMessageReplySchema: GenMessage< + GetFeeForMessageReply, + { jsonType: GetFeeForMessageReplyJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 12) + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.GetFeeForMessageRequest + */ +export type GetFeeForMessageRequest = + Message<'capabilities.blockchain.solana.v1alpha.GetFeeForMessageRequest'> & { + /** + * must be base58-encoded Message + * + * @generated from field: string message = 1; + */ + message: string + + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment: CommitmentType + } + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.GetFeeForMessageRequest + */ +export type GetFeeForMessageRequestJson = { + /** + * must be base58-encoded Message + * + * @generated from field: string message = 1; + */ + message?: string + + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment?: CommitmentTypeJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetFeeForMessageRequest. + * Use `create(GetFeeForMessageRequestSchema)` to create a new message. + */ +export const GetFeeForMessageRequestSchema: GenMessage< + GetFeeForMessageRequest, + { jsonType: GetFeeForMessageRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 13) + +/** + * Options for GetMultipleAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetMultipleAccountsOpts + */ +export type GetMultipleAccountsOpts = + Message<'capabilities.blockchain.solana.v1alpha.GetMultipleAccountsOpts'> & { + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding: EncodingType + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment: CommitmentType + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.DataSlice data_slice = 3; + */ + dataSlice?: DataSlice + + /** + * @generated from field: uint64 min_context_slot = 4 [jstype = JS_NORMAL]; + */ + minContextSlot: bigint + } + +/** + * Options for GetMultipleAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetMultipleAccountsOpts + */ +export type GetMultipleAccountsOptsJson = { + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding?: EncodingTypeJson + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment?: CommitmentTypeJson + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.DataSlice data_slice = 3; + */ + dataSlice?: DataSliceJson + + /** + * @generated from field: uint64 min_context_slot = 4 [jstype = JS_NORMAL]; + */ + minContextSlot?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetMultipleAccountsOpts. + * Use `create(GetMultipleAccountsOptsSchema)` to create a new message. + */ +export const GetMultipleAccountsOptsSchema: GenMessage< + GetMultipleAccountsOpts, + { jsonType: GetMultipleAccountsOptsJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 14) + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.OptionalAccountWrapper + */ +export type OptionalAccountWrapper = + Message<'capabilities.blockchain.solana.v1alpha.OptionalAccountWrapper'> & { + /** + * @generated from field: optional capabilities.blockchain.solana.v1alpha.Account account = 1; + */ + account?: Account + } + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.OptionalAccountWrapper + */ +export type OptionalAccountWrapperJson = { + /** + * @generated from field: optional capabilities.blockchain.solana.v1alpha.Account account = 1; + */ + account?: AccountJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.OptionalAccountWrapper. + * Use `create(OptionalAccountWrapperSchema)` to create a new message. + */ +export const OptionalAccountWrapperSchema: GenMessage< + OptionalAccountWrapper, + { jsonType: OptionalAccountWrapperJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 15) + +/** + * Reply for GetMultipleAccountsWithOpts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetMultipleAccountsWithOptsReply + */ +export type GetMultipleAccountsWithOptsReply = + Message<'capabilities.blockchain.solana.v1alpha.GetMultipleAccountsWithOptsReply'> & { + /** + * accounts (nil entries allowed) + * + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.OptionalAccountWrapper value = 2; + */ + value: OptionalAccountWrapper[] + } + +/** + * Reply for GetMultipleAccountsWithOpts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetMultipleAccountsWithOptsReply + */ +export type GetMultipleAccountsWithOptsReplyJson = { + /** + * accounts (nil entries allowed) + * + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.OptionalAccountWrapper value = 2; + */ + value?: OptionalAccountWrapperJson[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetMultipleAccountsWithOptsReply. + * Use `create(GetMultipleAccountsWithOptsReplySchema)` to create a new message. + */ +export const GetMultipleAccountsWithOptsReplySchema: GenMessage< + GetMultipleAccountsWithOptsReply, + { jsonType: GetMultipleAccountsWithOptsReplyJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 16) + +/** + * Request for GetMultipleAccountsWithOpts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetMultipleAccountsWithOptsRequest + */ +export type GetMultipleAccountsWithOptsRequest = + Message<'capabilities.blockchain.solana.v1alpha.GetMultipleAccountsWithOptsRequest'> & { + /** + * list of 32-byte Pubkeys + * + * @generated from field: repeated bytes accounts = 1; + */ + accounts: Uint8Array[] + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.GetMultipleAccountsOpts opts = 2; + */ + opts?: GetMultipleAccountsOpts + } + +/** + * Request for GetMultipleAccountsWithOpts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetMultipleAccountsWithOptsRequest + */ +export type GetMultipleAccountsWithOptsRequestJson = { + /** + * list of 32-byte Pubkeys + * + * @generated from field: repeated bytes accounts = 1; + */ + accounts?: string[] + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.GetMultipleAccountsOpts opts = 2; + */ + opts?: GetMultipleAccountsOptsJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetMultipleAccountsWithOptsRequest. + * Use `create(GetMultipleAccountsWithOptsRequestSchema)` to create a new message. + */ +export const GetMultipleAccountsWithOptsRequestSchema: GenMessage< + GetMultipleAccountsWithOptsRequest, + { jsonType: GetMultipleAccountsWithOptsRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 17) + +/** + * Memcmp filter for getProgramAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.RPCFilterMemcmp + */ +export type RPCFilterMemcmp = Message<'capabilities.blockchain.solana.v1alpha.RPCFilterMemcmp'> & { + /** + * byte offset into account data + * + * @generated from field: uint64 offset = 1 [jstype = JS_NORMAL]; + */ + offset: bigint + + /** + * data to match (RPC encodes as base58) + * + * @generated from field: bytes bytes = 2; + */ + bytes: Uint8Array +} + +/** + * Memcmp filter for getProgramAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.RPCFilterMemcmp + */ +export type RPCFilterMemcmpJson = { + /** + * byte offset into account data + * + * @generated from field: uint64 offset = 1 [jstype = JS_NORMAL]; + */ + offset?: string + + /** + * data to match (RPC encodes as base58) + * + * @generated from field: bytes bytes = 2; + */ + bytes?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.RPCFilterMemcmp. + * Use `create(RPCFilterMemcmpSchema)` to create a new message. + */ +export const RPCFilterMemcmpSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 18) + +/** + * Account filter for getProgramAccounts (memcmp or data size). + * + * @generated from message capabilities.blockchain.solana.v1alpha.RPCFilter + */ +export type RPCFilter = Message<'capabilities.blockchain.solana.v1alpha.RPCFilter'> & { + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.RPCFilterMemcmp memcmp = 1; + */ + memcmp?: RPCFilterMemcmp + + /** + * match accounts with this data length + * + * @generated from field: uint64 data_size = 2 [jstype = JS_NORMAL]; + */ + dataSize: bigint +} + +/** + * Account filter for getProgramAccounts (memcmp or data size). + * + * @generated from message capabilities.blockchain.solana.v1alpha.RPCFilter + */ +export type RPCFilterJson = { + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.RPCFilterMemcmp memcmp = 1; + */ + memcmp?: RPCFilterMemcmpJson + + /** + * match accounts with this data length + * + * @generated from field: uint64 data_size = 2 [jstype = JS_NORMAL]; + */ + dataSize?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.RPCFilter. + * Use `create(RPCFilterSchema)` to create a new message. + */ +export const RPCFilterSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 19) + +/** + * Options for GetProgramAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetProgramAccountsOpts + */ +export type GetProgramAccountsOpts = + Message<'capabilities.blockchain.solana.v1alpha.GetProgramAccountsOpts'> & { + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding: EncodingType + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment: CommitmentType + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.DataSlice data_slice = 3; + */ + dataSlice?: DataSlice + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.RPCFilter filters = 4; + */ + filters: RPCFilter[] + } + +/** + * Options for GetProgramAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetProgramAccountsOpts + */ +export type GetProgramAccountsOptsJson = { + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding?: EncodingTypeJson + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment?: CommitmentTypeJson + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.DataSlice data_slice = 3; + */ + dataSlice?: DataSliceJson + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.RPCFilter filters = 4; + */ + filters?: RPCFilterJson[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetProgramAccountsOpts. + * Use `create(GetProgramAccountsOptsSchema)` to create a new message. + */ +export const GetProgramAccountsOptsSchema: GenMessage< + GetProgramAccountsOpts, + { jsonType: GetProgramAccountsOptsJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 20) + +/** + * Program-owned account with its pubkey. + * + * @generated from message capabilities.blockchain.solana.v1alpha.KeyedAccount + */ +export type KeyedAccount = Message<'capabilities.blockchain.solana.v1alpha.KeyedAccount'> & { + /** + * 32-byte Pubkey + * + * @generated from field: bytes pubkey = 1; + */ + pubkey: Uint8Array + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.Account account = 2; + */ + account?: Account +} + +/** + * Program-owned account with its pubkey. + * + * @generated from message capabilities.blockchain.solana.v1alpha.KeyedAccount + */ +export type KeyedAccountJson = { + /** + * 32-byte Pubkey + * + * @generated from field: bytes pubkey = 1; + */ + pubkey?: string + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.Account account = 2; + */ + account?: AccountJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.KeyedAccount. + * Use `create(KeyedAccountSchema)` to create a new message. + */ +export const KeyedAccountSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 21) + +/** + * Reply for GetProgramAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetProgramAccountsReply + */ +export type GetProgramAccountsReply = + Message<'capabilities.blockchain.solana.v1alpha.GetProgramAccountsReply'> & { + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.KeyedAccount value = 1; + */ + value: KeyedAccount[] + } + +/** + * Reply for GetProgramAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetProgramAccountsReply + */ +export type GetProgramAccountsReplyJson = { + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.KeyedAccount value = 1; + */ + value?: KeyedAccountJson[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetProgramAccountsReply. + * Use `create(GetProgramAccountsReplySchema)` to create a new message. + */ +export const GetProgramAccountsReplySchema: GenMessage< + GetProgramAccountsReply, + { jsonType: GetProgramAccountsReplyJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 22) + +/** + * Request for GetProgramAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetProgramAccountsRequest + */ +export type GetProgramAccountsRequest = + Message<'capabilities.blockchain.solana.v1alpha.GetProgramAccountsRequest'> & { + /** + * 32-byte program Pubkey + * + * @generated from field: bytes program = 1; + */ + program: Uint8Array + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.GetProgramAccountsOpts opts = 2; + */ + opts?: GetProgramAccountsOpts + } + +/** + * Request for GetProgramAccounts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetProgramAccountsRequest + */ +export type GetProgramAccountsRequestJson = { + /** + * 32-byte program Pubkey + * + * @generated from field: bytes program = 1; + */ + program?: string + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.GetProgramAccountsOpts opts = 2; + */ + opts?: GetProgramAccountsOptsJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetProgramAccountsRequest. + * Use `create(GetProgramAccountsRequestSchema)` to create a new message. + */ +export const GetProgramAccountsRequestSchema: GenMessage< + GetProgramAccountsRequest, + { jsonType: GetProgramAccountsRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 23) + +/** + * Reply for GetSignatureStatuses. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetSignatureStatusesReply + */ +export type GetSignatureStatusesReply = + Message<'capabilities.blockchain.solana.v1alpha.GetSignatureStatusesReply'> & { + /** + * 1:1 with input + * + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.GetSignatureStatusesResult results = 1; + */ + results: GetSignatureStatusesResult[] + } + +/** + * Reply for GetSignatureStatuses. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetSignatureStatusesReply + */ +export type GetSignatureStatusesReplyJson = { + /** + * 1:1 with input + * + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.GetSignatureStatusesResult results = 1; + */ + results?: GetSignatureStatusesResultJson[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetSignatureStatusesReply. + * Use `create(GetSignatureStatusesReplySchema)` to create a new message. + */ +export const GetSignatureStatusesReplySchema: GenMessage< + GetSignatureStatusesReply, + { jsonType: GetSignatureStatusesReplyJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 24) + +/** + * Request for GetSignatureStatuses. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetSignatureStatusesRequest + */ +export type GetSignatureStatusesRequest = + Message<'capabilities.blockchain.solana.v1alpha.GetSignatureStatusesRequest'> & { + /** + * 64-byte signatures + * + * @generated from field: repeated bytes sigs = 1; + */ + sigs: Uint8Array[] + } + +/** + * Request for GetSignatureStatuses. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetSignatureStatusesRequest + */ +export type GetSignatureStatusesRequestJson = { + /** + * 64-byte signatures + * + * @generated from field: repeated bytes sigs = 1; + */ + sigs?: string[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetSignatureStatusesRequest. + * Use `create(GetSignatureStatusesRequestSchema)` to create a new message. + */ +export const GetSignatureStatusesRequestSchema: GenMessage< + GetSignatureStatusesRequest, + { jsonType: GetSignatureStatusesRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 25) + +/** + * Per-signature status. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetSignatureStatusesResult + */ +export type GetSignatureStatusesResult = + Message<'capabilities.blockchain.solana.v1alpha.GetSignatureStatusesResult'> & { + /** + * processed slot + * + * @generated from field: uint64 slot = 1 [jstype = JS_NORMAL]; + */ + slot: bigint + + /** + * null->0 here + * + * @generated from field: optional uint64 confirmations = 2 [jstype = JS_NORMAL]; + */ + confirmations?: bigint + + /** + * error JSON string (empty on success) + * + * @generated from field: string err = 3; + */ + err: string + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.ConfirmationStatusType confirmation_status = 4; + */ + confirmationStatus: ConfirmationStatusType + } + +/** + * Per-signature status. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetSignatureStatusesResult + */ +export type GetSignatureStatusesResultJson = { + /** + * processed slot + * + * @generated from field: uint64 slot = 1 [jstype = JS_NORMAL]; + */ + slot?: string + + /** + * null->0 here + * + * @generated from field: optional uint64 confirmations = 2 [jstype = JS_NORMAL]; + */ + confirmations?: string + + /** + * error JSON string (empty on success) + * + * @generated from field: string err = 3; + */ + err?: string + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.ConfirmationStatusType confirmation_status = 4; + */ + confirmationStatus?: ConfirmationStatusTypeJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetSignatureStatusesResult. + * Use `create(GetSignatureStatusesResultSchema)` to create a new message. + */ +export const GetSignatureStatusesResultSchema: GenMessage< + GetSignatureStatusesResult, + { jsonType: GetSignatureStatusesResultJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 26) + +/** + * Current “height” (blocks below latest). + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetSlotHeightReply + */ +export type GetSlotHeightReply = + Message<'capabilities.blockchain.solana.v1alpha.GetSlotHeightReply'> & { + /** + * @generated from field: uint64 height = 1 [jstype = JS_NORMAL]; + */ + height: bigint + } + +/** + * Current “height” (blocks below latest). + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetSlotHeightReply + */ +export type GetSlotHeightReplyJson = { + /** + * @generated from field: uint64 height = 1 [jstype = JS_NORMAL]; + */ + height?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetSlotHeightReply. + * Use `create(GetSlotHeightReplySchema)` to create a new message. + */ +export const GetSlotHeightReplySchema: GenMessage< + GetSlotHeightReply, + { jsonType: GetSlotHeightReplyJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 27) + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.GetSlotHeightRequest + */ +export type GetSlotHeightRequest = + Message<'capabilities.blockchain.solana.v1alpha.GetSlotHeightRequest'> & { + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 1; + */ + commitment: CommitmentType + } + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.GetSlotHeightRequest + */ +export type GetSlotHeightRequestJson = { + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 1; + */ + commitment?: CommitmentTypeJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetSlotHeightRequest. + * Use `create(GetSlotHeightRequestSchema)` to create a new message. + */ +export const GetSlotHeightRequestSchema: GenMessage< + GetSlotHeightRequest, + { jsonType: GetSlotHeightRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 28) + +/** + * Message header counts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.MessageHeader + */ +export type MessageHeader = Message<'capabilities.blockchain.solana.v1alpha.MessageHeader'> & { + /** + * signer count + * + * @generated from field: uint32 num_required_signatures = 1; + */ + numRequiredSignatures: number + + /** + * trailing signed RO + * + * @generated from field: uint32 num_readonly_signed_accounts = 2; + */ + numReadonlySignedAccounts: number + + /** + * trailing unsigned RO + * + * @generated from field: uint32 num_readonly_unsigned_accounts = 3; + */ + numReadonlyUnsignedAccounts: number +} + +/** + * Message header counts. + * + * @generated from message capabilities.blockchain.solana.v1alpha.MessageHeader + */ +export type MessageHeaderJson = { + /** + * signer count + * + * @generated from field: uint32 num_required_signatures = 1; + */ + numRequiredSignatures?: number + + /** + * trailing signed RO + * + * @generated from field: uint32 num_readonly_signed_accounts = 2; + */ + numReadonlySignedAccounts?: number + + /** + * trailing unsigned RO + * + * @generated from field: uint32 num_readonly_unsigned_accounts = 3; + */ + numReadonlyUnsignedAccounts?: number +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.MessageHeader. + * Use `create(MessageHeaderSchema)` to create a new message. + */ +export const MessageHeaderSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 29) + +/** + * Parsed message (no address tables). + * + * @generated from message capabilities.blockchain.solana.v1alpha.ParsedMessage + */ +export type ParsedMessage = Message<'capabilities.blockchain.solana.v1alpha.ParsedMessage'> & { + /** + * 32-byte Hash + * + * @generated from field: bytes recent_blockhash = 1; + */ + recentBlockhash: Uint8Array + + /** + * list of 32-byte Pubkeys + * + * @generated from field: repeated bytes account_keys = 2; + */ + accountKeys: Uint8Array[] + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.MessageHeader header = 3; + */ + header?: MessageHeader + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.CompiledInstruction instructions = 4; + */ + instructions: CompiledInstruction[] +} + +/** + * Parsed message (no address tables). + * + * @generated from message capabilities.blockchain.solana.v1alpha.ParsedMessage + */ +export type ParsedMessageJson = { + /** + * 32-byte Hash + * + * @generated from field: bytes recent_blockhash = 1; + */ + recentBlockhash?: string + + /** + * list of 32-byte Pubkeys + * + * @generated from field: repeated bytes account_keys = 2; + */ + accountKeys?: string[] + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.MessageHeader header = 3; + */ + header?: MessageHeaderJson + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.CompiledInstruction instructions = 4; + */ + instructions?: CompiledInstructionJson[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.ParsedMessage. + * Use `create(ParsedMessageSchema)` to create a new message. + */ +export const ParsedMessageSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 30) + +/** + * Parsed transaction (signatures + message). + * + * @generated from message capabilities.blockchain.solana.v1alpha.ParsedTransaction + */ +export type ParsedTransaction = + Message<'capabilities.blockchain.solana.v1alpha.ParsedTransaction'> & { + /** + * 64-byte signatures + * + * @generated from field: repeated bytes signatures = 1; + */ + signatures: Uint8Array[] + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.ParsedMessage message = 2; + */ + message?: ParsedMessage + } + +/** + * Parsed transaction (signatures + message). + * + * @generated from message capabilities.blockchain.solana.v1alpha.ParsedTransaction + */ +export type ParsedTransactionJson = { + /** + * 64-byte signatures + * + * @generated from field: repeated bytes signatures = 1; + */ + signatures?: string[] + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.ParsedMessage message = 2; + */ + message?: ParsedMessageJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.ParsedTransaction. + * Use `create(ParsedTransactionSchema)` to create a new message. + */ +export const ParsedTransactionSchema: GenMessage< + ParsedTransaction, + { jsonType: ParsedTransactionJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 31) + +/** + * Token amount (UI-friendly). + * + * @generated from message capabilities.blockchain.solana.v1alpha.UiTokenAmount + */ +export type UiTokenAmount = Message<'capabilities.blockchain.solana.v1alpha.UiTokenAmount'> & { + /** + * raw integer string + * + * @generated from field: string amount = 1; + */ + amount: string + + /** + * mint decimals + * + * @generated from field: uint32 decimals = 2; + */ + decimals: number + + /** + * amount / 10^decimals + * + * @generated from field: string ui_amount_string = 4; + */ + uiAmountString: string +} + +/** + * Token amount (UI-friendly). + * + * @generated from message capabilities.blockchain.solana.v1alpha.UiTokenAmount + */ +export type UiTokenAmountJson = { + /** + * raw integer string + * + * @generated from field: string amount = 1; + */ + amount?: string + + /** + * mint decimals + * + * @generated from field: uint32 decimals = 2; + */ + decimals?: number + + /** + * amount / 10^decimals + * + * @generated from field: string ui_amount_string = 4; + */ + uiAmountString?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.UiTokenAmount. + * Use `create(UiTokenAmountSchema)` to create a new message. + */ +export const UiTokenAmountSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 32) + +/** + * SPL token balance entry. + * + * @generated from message capabilities.blockchain.solana.v1alpha.TokenBalance + */ +export type TokenBalance = Message<'capabilities.blockchain.solana.v1alpha.TokenBalance'> & { + /** + * index in account_keys + * + * @generated from field: uint32 account_index = 1; + */ + accountIndex: number + + /** + * 32-byte owner (optional) + * + * @generated from field: optional bytes owner = 2; + */ + owner?: Uint8Array + + /** + * 32-byte token program (optional) + * + * @generated from field: optional bytes program_id = 3; + */ + programId?: Uint8Array + + /** + * 32-byte mint + * + * @generated from field: bytes mint = 4; + */ + mint: Uint8Array + + /** + * formatted amounts + * + * @generated from field: capabilities.blockchain.solana.v1alpha.UiTokenAmount ui = 5; + */ + ui?: UiTokenAmount +} + +/** + * SPL token balance entry. + * + * @generated from message capabilities.blockchain.solana.v1alpha.TokenBalance + */ +export type TokenBalanceJson = { + /** + * index in account_keys + * + * @generated from field: uint32 account_index = 1; + */ + accountIndex?: number + + /** + * 32-byte owner (optional) + * + * @generated from field: optional bytes owner = 2; + */ + owner?: string + + /** + * 32-byte token program (optional) + * + * @generated from field: optional bytes program_id = 3; + */ + programId?: string + + /** + * 32-byte mint + * + * @generated from field: bytes mint = 4; + */ + mint?: string + + /** + * formatted amounts + * + * @generated from field: capabilities.blockchain.solana.v1alpha.UiTokenAmount ui = 5; + */ + ui?: UiTokenAmountJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.TokenBalance. + * Use `create(TokenBalanceSchema)` to create a new message. + */ +export const TokenBalanceSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 33) + +/** + * Inner instruction list at a given outer instruction index. + * + * @generated from message capabilities.blockchain.solana.v1alpha.InnerInstruction + */ +export type InnerInstruction = + Message<'capabilities.blockchain.solana.v1alpha.InnerInstruction'> & { + /** + * outer ix index + * + * @generated from field: uint32 index = 1; + */ + index: number + + /** + * invoked ixs + * + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.CompiledInstruction instructions = 2; + */ + instructions: CompiledInstruction[] + } + +/** + * Inner instruction list at a given outer instruction index. + * + * @generated from message capabilities.blockchain.solana.v1alpha.InnerInstruction + */ +export type InnerInstructionJson = { + /** + * outer ix index + * + * @generated from field: uint32 index = 1; + */ + index?: number + + /** + * invoked ixs + * + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.CompiledInstruction instructions = 2; + */ + instructions?: CompiledInstructionJson[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.InnerInstruction. + * Use `create(InnerInstructionSchema)` to create a new message. + */ +export const InnerInstructionSchema: GenMessage< + InnerInstruction, + { jsonType: InnerInstructionJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 34) + +/** + * Address table lookups expanded by loader. + * + * @generated from message capabilities.blockchain.solana.v1alpha.LoadedAddresses + */ +export type LoadedAddresses = Message<'capabilities.blockchain.solana.v1alpha.LoadedAddresses'> & { + /** + * 32-byte Pubkeys + * + * @generated from field: repeated bytes readonly = 1; + */ + readonly: Uint8Array[] + + /** + * 32-byte Pubkeys + * + * @generated from field: repeated bytes writable = 2; + */ + writable: Uint8Array[] +} + +/** + * Address table lookups expanded by loader. + * + * @generated from message capabilities.blockchain.solana.v1alpha.LoadedAddresses + */ +export type LoadedAddressesJson = { + /** + * 32-byte Pubkeys + * + * @generated from field: repeated bytes readonly = 1; + */ + readonly?: string[] + + /** + * 32-byte Pubkeys + * + * @generated from field: repeated bytes writable = 2; + */ + writable?: string[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.LoadedAddresses. + * Use `create(LoadedAddressesSchema)` to create a new message. + */ +export const LoadedAddressesSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 35) + +/** + * Compiled (program) instruction. + * + * @generated from message capabilities.blockchain.solana.v1alpha.CompiledInstruction + */ +export type CompiledInstruction = + Message<'capabilities.blockchain.solana.v1alpha.CompiledInstruction'> & { + /** + * index into account_keys + * + * @generated from field: uint32 program_id_index = 1; + */ + programIdIndex: number + + /** + * indices into account_keys + * + * @generated from field: repeated uint32 accounts = 2; + */ + accounts: number[] + + /** + * program input bytes + * + * @generated from field: bytes data = 3; + */ + data: Uint8Array + + /** + * if recorded by node + * + * @generated from field: uint32 stack_height = 4; + */ + stackHeight: number + } + +/** + * Compiled (program) instruction. + * + * @generated from message capabilities.blockchain.solana.v1alpha.CompiledInstruction + */ +export type CompiledInstructionJson = { + /** + * index into account_keys + * + * @generated from field: uint32 program_id_index = 1; + */ + programIdIndex?: number + + /** + * indices into account_keys + * + * @generated from field: repeated uint32 accounts = 2; + */ + accounts?: number[] + + /** + * program input bytes + * + * @generated from field: bytes data = 3; + */ + data?: string + + /** + * if recorded by node + * + * @generated from field: uint32 stack_height = 4; + */ + stackHeight?: number +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.CompiledInstruction. + * Use `create(CompiledInstructionSchema)` to create a new message. + */ +export const CompiledInstructionSchema: GenMessage< + CompiledInstruction, + { jsonType: CompiledInstructionJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 36) + +/** + * Raw bytes with encoding tag. + * + * @generated from message capabilities.blockchain.solana.v1alpha.Data + */ +export type Data = Message<'capabilities.blockchain.solana.v1alpha.Data'> & { + /** + * raw bytes + * + * @generated from field: bytes content = 1; + */ + content: Uint8Array + + /** + * how it was encoded originally + * + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 2; + */ + encoding: EncodingType +} + +/** + * Raw bytes with encoding tag. + * + * @generated from message capabilities.blockchain.solana.v1alpha.Data + */ +export type DataJson = { + /** + * raw bytes + * + * @generated from field: bytes content = 1; + */ + content?: string + + /** + * how it was encoded originally + * + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 2; + */ + encoding?: EncodingTypeJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.Data. + * Use `create(DataSchema)` to create a new message. + */ +export const DataSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 37) + +/** + * Program return data. + * + * @generated from message capabilities.blockchain.solana.v1alpha.ReturnData + */ +export type ReturnData = Message<'capabilities.blockchain.solana.v1alpha.ReturnData'> & { + /** + * 32-byte Pubkey + * + * @generated from field: bytes program_id = 1; + */ + programId: Uint8Array + + /** + * raw return bytes + * + * @generated from field: capabilities.blockchain.solana.v1alpha.Data data = 2; + */ + data?: Data +} + +/** + * Program return data. + * + * @generated from message capabilities.blockchain.solana.v1alpha.ReturnData + */ +export type ReturnDataJson = { + /** + * 32-byte Pubkey + * + * @generated from field: bytes program_id = 1; + */ + programId?: string + + /** + * raw return bytes + * + * @generated from field: capabilities.blockchain.solana.v1alpha.Data data = 2; + */ + data?: DataJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.ReturnData. + * Use `create(ReturnDataSchema)` to create a new message. + */ +export const ReturnDataSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 38) + +/** + * Transaction execution metadata. + * + * @generated from message capabilities.blockchain.solana.v1alpha.TransactionMeta + */ +export type TransactionMeta = Message<'capabilities.blockchain.solana.v1alpha.TransactionMeta'> & { + /** + * error JSON (empty on success) + * + * @generated from field: string err_json = 1; + */ + errJson: string + + /** + * lamports + * + * @generated from field: uint64 fee = 2 [jstype = JS_NORMAL]; + */ + fee: bigint + + /** + * lamports per account + * + * @generated from field: repeated uint64 pre_balances = 3 [jstype = JS_NORMAL]; + */ + preBalances: bigint[] + + /** + * lamports per account + * + * @generated from field: repeated uint64 post_balances = 4 [jstype = JS_NORMAL]; + */ + postBalances: bigint[] + + /** + * runtime logs + * + * @generated from field: repeated string log_messages = 5; + */ + logMessages: string[] + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.TokenBalance pre_token_balances = 6; + */ + preTokenBalances: TokenBalance[] + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.TokenBalance post_token_balances = 7; + */ + postTokenBalances: TokenBalance[] + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.InnerInstruction inner_instructions = 8; + */ + innerInstructions: InnerInstruction[] + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.LoadedAddresses loaded_addresses = 9; + */ + loadedAddresses?: LoadedAddresses + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.ReturnData return_data = 10; + */ + returnData?: ReturnData + + /** + * CUs + * + * @generated from field: optional uint64 compute_units_consumed = 11 [jstype = JS_NORMAL]; + */ + computeUnitsConsumed?: bigint +} + +/** + * Transaction execution metadata. + * + * @generated from message capabilities.blockchain.solana.v1alpha.TransactionMeta + */ +export type TransactionMetaJson = { + /** + * error JSON (empty on success) + * + * @generated from field: string err_json = 1; + */ + errJson?: string + + /** + * lamports + * + * @generated from field: uint64 fee = 2 [jstype = JS_NORMAL]; + */ + fee?: string + + /** + * lamports per account + * + * @generated from field: repeated uint64 pre_balances = 3 [jstype = JS_NORMAL]; + */ + preBalances?: string[] + + /** + * lamports per account + * + * @generated from field: repeated uint64 post_balances = 4 [jstype = JS_NORMAL]; + */ + postBalances?: string[] + + /** + * runtime logs + * + * @generated from field: repeated string log_messages = 5; + */ + logMessages?: string[] + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.TokenBalance pre_token_balances = 6; + */ + preTokenBalances?: TokenBalanceJson[] + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.TokenBalance post_token_balances = 7; + */ + postTokenBalances?: TokenBalanceJson[] + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.InnerInstruction inner_instructions = 8; + */ + innerInstructions?: InnerInstructionJson[] + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.LoadedAddresses loaded_addresses = 9; + */ + loadedAddresses?: LoadedAddressesJson + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.ReturnData return_data = 10; + */ + returnData?: ReturnDataJson + + /** + * CUs + * + * @generated from field: optional uint64 compute_units_consumed = 11 [jstype = JS_NORMAL]; + */ + computeUnitsConsumed?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.TransactionMeta. + * Use `create(TransactionMetaSchema)` to create a new message. + */ +export const TransactionMetaSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 39) + +/** + * Transaction envelope: raw bytes or parsed struct. + * + * @generated from message capabilities.blockchain.solana.v1alpha.TransactionEnvelope + */ +export type TransactionEnvelope = + Message<'capabilities.blockchain.solana.v1alpha.TransactionEnvelope'> & { + /** + * @generated from oneof capabilities.blockchain.solana.v1alpha.TransactionEnvelope.transaction + */ + transaction: + | { + /** + * raw tx bytes (for RAW/base64) + * + * @generated from field: bytes raw = 1; + */ + value: Uint8Array + case: 'raw' + } + | { + /** + * parsed tx (for JSON_PARSED) + * + * @generated from field: capabilities.blockchain.solana.v1alpha.ParsedTransaction parsed = 2; + */ + value: ParsedTransaction + case: 'parsed' + } + | { case: undefined; value?: undefined } + } + +/** + * Transaction envelope: raw bytes or parsed struct. + * + * @generated from message capabilities.blockchain.solana.v1alpha.TransactionEnvelope + */ +export type TransactionEnvelopeJson = { + /** + * raw tx bytes (for RAW/base64) + * + * @generated from field: bytes raw = 1; + */ + raw?: string + + /** + * parsed tx (for JSON_PARSED) + * + * @generated from field: capabilities.blockchain.solana.v1alpha.ParsedTransaction parsed = 2; + */ + parsed?: ParsedTransactionJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.TransactionEnvelope. + * Use `create(TransactionEnvelopeSchema)` to create a new message. + */ +export const TransactionEnvelopeSchema: GenMessage< + TransactionEnvelope, + { jsonType: TransactionEnvelopeJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 40) + +/** + * GetTransaction reply. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetTransactionReply + */ +export type GetTransactionReply = + Message<'capabilities.blockchain.solana.v1alpha.GetTransactionReply'> & { + /** + * processed slot + * + * @generated from field: uint64 slot = 1 [jstype = JS_NORMAL]; + */ + slot: bigint + + /** + * unix seconds + * + * @generated from field: optional int64 block_time = 2 [jstype = JS_NORMAL]; + */ + blockTime?: bigint + + /** + * tx bytes or parsed + * + * @generated from field: optional capabilities.blockchain.solana.v1alpha.TransactionEnvelope transaction = 3; + */ + transaction?: TransactionEnvelope + + /** + * may be omitted by node + * + * @generated from field: optional capabilities.blockchain.solana.v1alpha.TransactionMeta meta = 4; + */ + meta?: TransactionMeta + } + +/** + * GetTransaction reply. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetTransactionReply + */ +export type GetTransactionReplyJson = { + /** + * processed slot + * + * @generated from field: uint64 slot = 1 [jstype = JS_NORMAL]; + */ + slot?: string + + /** + * unix seconds + * + * @generated from field: optional int64 block_time = 2 [jstype = JS_NORMAL]; + */ + blockTime?: string + + /** + * tx bytes or parsed + * + * @generated from field: optional capabilities.blockchain.solana.v1alpha.TransactionEnvelope transaction = 3; + */ + transaction?: TransactionEnvelopeJson + + /** + * may be omitted by node + * + * @generated from field: optional capabilities.blockchain.solana.v1alpha.TransactionMeta meta = 4; + */ + meta?: TransactionMetaJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetTransactionReply. + * Use `create(GetTransactionReplySchema)` to create a new message. + */ +export const GetTransactionReplySchema: GenMessage< + GetTransactionReply, + { jsonType: GetTransactionReplyJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 41) + +/** + * GetTransaction request. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetTransactionRequest + */ +export type GetTransactionRequest = + Message<'capabilities.blockchain.solana.v1alpha.GetTransactionRequest'> & { + /** + * 64-byte signature + * + * @generated from field: bytes signature = 1; + */ + signature: Uint8Array + } + +/** + * GetTransaction request. + * + * @generated from message capabilities.blockchain.solana.v1alpha.GetTransactionRequest + */ +export type GetTransactionRequestJson = { + /** + * 64-byte signature + * + * @generated from field: bytes signature = 1; + */ + signature?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.GetTransactionRequest. + * Use `create(GetTransactionRequestSchema)` to create a new message. + */ +export const GetTransactionRequestSchema: GenMessage< + GetTransactionRequest, + { jsonType: GetTransactionRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 42) + +/** + * Simulation options. + * + * @generated from message capabilities.blockchain.solana.v1alpha.SimulateTXOpts + */ +export type SimulateTXOpts = Message<'capabilities.blockchain.solana.v1alpha.SimulateTXOpts'> & { + /** + * verify sigs + * + * @generated from field: bool sig_verify = 1; + */ + sigVerify: boolean + + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment: CommitmentType + + /** + * refresh blockhash + * + * @generated from field: bool replace_recent_blockhash = 3; + */ + replaceRecentBlockhash: boolean + + /** + * return accounts + * + * @generated from field: capabilities.blockchain.solana.v1alpha.SimulateTransactionAccountsOpts accounts = 4; + */ + accounts?: SimulateTransactionAccountsOpts +} + +/** + * Simulation options. + * + * @generated from message capabilities.blockchain.solana.v1alpha.SimulateTXOpts + */ +export type SimulateTXOptsJson = { + /** + * verify sigs + * + * @generated from field: bool sig_verify = 1; + */ + sigVerify?: boolean + + /** + * read consistency + * + * @generated from field: capabilities.blockchain.solana.v1alpha.CommitmentType commitment = 2; + */ + commitment?: CommitmentTypeJson + + /** + * refresh blockhash + * + * @generated from field: bool replace_recent_blockhash = 3; + */ + replaceRecentBlockhash?: boolean + + /** + * return accounts + * + * @generated from field: capabilities.blockchain.solana.v1alpha.SimulateTransactionAccountsOpts accounts = 4; + */ + accounts?: SimulateTransactionAccountsOptsJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.SimulateTXOpts. + * Use `create(SimulateTXOptsSchema)` to create a new message. + */ +export const SimulateTXOptsSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 43) + +/** + * Simulation result. + * + * @generated from message capabilities.blockchain.solana.v1alpha.SimulateTXReply + */ +export type SimulateTXReply = Message<'capabilities.blockchain.solana.v1alpha.SimulateTXReply'> & { + /** + * empty on success + * + * @generated from field: string err = 1; + */ + err: string + + /** + * runtime logs + * + * @generated from field: repeated string logs = 2; + */ + logs: string[] + + /** + * returned accounts + * + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.Account accounts = 3; + */ + accounts: Account[] + + /** + * CUs + * + * @generated from field: uint64 units_consumed = 4 [jstype = JS_NORMAL]; + */ + unitsConsumed: bigint +} + +/** + * Simulation result. + * + * @generated from message capabilities.blockchain.solana.v1alpha.SimulateTXReply + */ +export type SimulateTXReplyJson = { + /** + * empty on success + * + * @generated from field: string err = 1; + */ + err?: string + + /** + * runtime logs + * + * @generated from field: repeated string logs = 2; + */ + logs?: string[] + + /** + * returned accounts + * + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.Account accounts = 3; + */ + accounts?: AccountJson[] + + /** + * CUs + * + * @generated from field: uint64 units_consumed = 4 [jstype = JS_NORMAL]; + */ + unitsConsumed?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.SimulateTXReply. + * Use `create(SimulateTXReplySchema)` to create a new message. + */ +export const SimulateTXReplySchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 44) + +/** + * Simulation request. + * + * @generated from message capabilities.blockchain.solana.v1alpha.SimulateTXRequest + */ +export type SimulateTXRequest = + Message<'capabilities.blockchain.solana.v1alpha.SimulateTXRequest'> & { + /** + * 32-byte program id (target) + * + * @generated from field: bytes receiver = 1; + */ + receiver: Uint8Array + + /** + * base64/base58 tx + * + * @generated from field: string encoded_transaction = 2; + */ + encodedTransaction: string + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.SimulateTXOpts opts = 3; + */ + opts?: SimulateTXOpts + } + +/** + * Simulation request. + * + * @generated from message capabilities.blockchain.solana.v1alpha.SimulateTXRequest + */ +export type SimulateTXRequestJson = { + /** + * 32-byte program id (target) + * + * @generated from field: bytes receiver = 1; + */ + receiver?: string + + /** + * base64/base58 tx + * + * @generated from field: string encoded_transaction = 2; + */ + encodedTransaction?: string + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.SimulateTXOpts opts = 3; + */ + opts?: SimulateTXOptsJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.SimulateTXRequest. + * Use `create(SimulateTXRequestSchema)` to create a new message. + */ +export const SimulateTXRequestSchema: GenMessage< + SimulateTXRequest, + { jsonType: SimulateTXRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 45) + +/** + * Accounts to return during simulation. + * + * @generated from message capabilities.blockchain.solana.v1alpha.SimulateTransactionAccountsOpts + */ +export type SimulateTransactionAccountsOpts = + Message<'capabilities.blockchain.solana.v1alpha.SimulateTransactionAccountsOpts'> & { + /** + * account data encoding + * + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding: EncodingType + + /** + * 32-byte Pubkeys + * + * @generated from field: repeated bytes addresses = 2; + */ + addresses: Uint8Array[] + } + +/** + * Accounts to return during simulation. + * + * @generated from message capabilities.blockchain.solana.v1alpha.SimulateTransactionAccountsOpts + */ +export type SimulateTransactionAccountsOptsJson = { + /** + * account data encoding + * + * @generated from field: capabilities.blockchain.solana.v1alpha.EncodingType encoding = 1; + */ + encoding?: EncodingTypeJson + + /** + * 32-byte Pubkeys + * + * @generated from field: repeated bytes addresses = 2; + */ + addresses?: string[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.SimulateTransactionAccountsOpts. + * Use `create(SimulateTransactionAccountsOptsSchema)` to create a new message. + */ +export const SimulateTransactionAccountsOptsSchema: GenMessage< + SimulateTransactionAccountsOpts, + { jsonType: SimulateTransactionAccountsOptsJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 46) + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.ValueComparator + */ +export type ValueComparator = Message<'capabilities.blockchain.solana.v1alpha.ValueComparator'> & { + /** + * @generated from field: bytes value = 1; + */ + value: Uint8Array + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.ComparisonOperator operator = 2; + */ + operator: ComparisonOperator +} + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.ValueComparator + */ +export type ValueComparatorJson = { + /** + * @generated from field: bytes value = 1; + */ + value?: string + + /** + * @generated from field: capabilities.blockchain.solana.v1alpha.ComparisonOperator operator = 2; + */ + operator?: ComparisonOperatorJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.ValueComparator. + * Use `create(ValueComparatorSchema)` to create a new message. + */ +export const ValueComparatorSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 47) + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.SubkeyConfig + */ +export type SubkeyConfig = Message<'capabilities.blockchain.solana.v1alpha.SubkeyConfig'> & { + /** + * @generated from field: repeated string path = 1; + */ + path: string[] + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.ValueComparator comparers = 2; + */ + comparers: ValueComparator[] +} + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.SubkeyConfig + */ +export type SubkeyConfigJson = { + /** + * @generated from field: repeated string path = 1; + */ + path?: string[] + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.ValueComparator comparers = 2; + */ + comparers?: ValueComparatorJson[] +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.SubkeyConfig. + * Use `create(SubkeyConfigSchema)` to create a new message. + */ +export const SubkeyConfigSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 48) + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.CPIFilterConfig + */ +export type CPIFilterConfig = Message<'capabilities.blockchain.solana.v1alpha.CPIFilterConfig'> & { + /** + * @generated from field: bytes dest_address = 1; + */ + destAddress: Uint8Array + + /** + * @generated from field: bytes method_name = 2; + */ + methodName: Uint8Array +} + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.CPIFilterConfig + */ +export type CPIFilterConfigJson = { + /** + * @generated from field: bytes dest_address = 1; + */ + destAddress?: string + + /** + * @generated from field: bytes method_name = 2; + */ + methodName?: string +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.CPIFilterConfig. + * Use `create(CPIFilterConfigSchema)` to create a new message. + */ +export const CPIFilterConfigSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 49) + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.FilterLogTriggerRequest + */ +export type FilterLogTriggerRequest = + Message<'capabilities.blockchain.solana.v1alpha.FilterLogTriggerRequest'> & { + /** + * @generated from field: string name = 1; + */ + name: string + + /** + * Solana PublicKey (32 bytes) + * + * @generated from field: bytes address = 2; + */ + address: Uint8Array + + /** + * @generated from field: string event_name = 3; + */ + eventName: string + + /** + * @generated from field: bytes contract_idl_json = 4; + */ + contractIdlJson: Uint8Array + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.SubkeyConfig subkeys = 5; + */ + subkeys: SubkeyConfig[] + + /** + * @generated from field: optional capabilities.blockchain.solana.v1alpha.CPIFilterConfig cpi_filter_config = 6; + */ + cpiFilterConfig?: CPIFilterConfig + } + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.FilterLogTriggerRequest + */ +export type FilterLogTriggerRequestJson = { + /** + * @generated from field: string name = 1; + */ + name?: string + + /** + * Solana PublicKey (32 bytes) + * + * @generated from field: bytes address = 2; + */ + address?: string + + /** + * @generated from field: string event_name = 3; + */ + eventName?: string + + /** + * @generated from field: bytes contract_idl_json = 4; + */ + contractIdlJson?: string + + /** + * @generated from field: repeated capabilities.blockchain.solana.v1alpha.SubkeyConfig subkeys = 5; + */ + subkeys?: SubkeyConfigJson[] + + /** + * @generated from field: optional capabilities.blockchain.solana.v1alpha.CPIFilterConfig cpi_filter_config = 6; + */ + cpiFilterConfig?: CPIFilterConfigJson +} + +/** + * Describes the message capabilities.blockchain.solana.v1alpha.FilterLogTriggerRequest. + * Use `create(FilterLogTriggerRequestSchema)` to create a new message. + */ +export const FilterLogTriggerRequestSchema: GenMessage< + FilterLogTriggerRequest, + { jsonType: FilterLogTriggerRequestJson } +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 50) + +/** + * @generated from message capabilities.blockchain.solana.v1alpha.Log + */ +export type Log = Message<'capabilities.blockchain.solana.v1alpha.Log'> & { /** - * max CUs (approx per-tx limit) + * Chain identifier * - * @generated from field: uint32 compute_limit = 1; + * @generated from field: string chain_id = 1; */ - computeLimit: number + chainId: string + + /** + * Index of the log within the block + * + * @generated from field: int64 log_index = 2 [jstype = JS_NORMAL]; + */ + logIndex: bigint + + /** + * 32-byte block hash + * + * @generated from field: bytes block_hash = 3; + */ + blockHash: Uint8Array + + /** + * Block/slot number + * + * @generated from field: int64 block_number = 4 [jstype = JS_NORMAL]; + */ + blockNumber: bigint + + /** + * Unix timestamp of the block + * + * @generated from field: uint64 block_timestamp = 5 [jstype = JS_NORMAL]; + */ + blockTimestamp: bigint + + /** + * 32-byte program PublicKey + * + * @generated from field: bytes address = 6; + */ + address: Uint8Array + + /** + * 8-byte event signature + * + * @generated from field: bytes event_sig = 7; + */ + eventSig: Uint8Array + + /** + * 64-byte transaction signature + * + * @generated from field: bytes tx_hash = 8; + */ + txHash: Uint8Array + + /** + * Decoded event data + * + * @generated from field: bytes data = 9; + */ + data: Uint8Array + + /** + * Sequence number for ordering + * + * @generated from field: int64 sequence_num = 10 [jstype = JS_NORMAL]; + */ + sequenceNum: bigint + + /** + * Error message if log processing failed + * + * @generated from field: optional string error = 11; + */ + error?: string } /** - * Compute budget configuration when submitting txs. - * - * @generated from message capabilities.blockchain.solana.v1alpha.ComputeConfig + * @generated from message capabilities.blockchain.solana.v1alpha.Log */ -export type ComputeConfigJson = { +export type LogJson = { /** - * max CUs (approx per-tx limit) + * Chain identifier * - * @generated from field: uint32 compute_limit = 1; + * @generated from field: string chain_id = 1; */ - computeLimit?: number + chainId?: string + + /** + * Index of the log within the block + * + * @generated from field: int64 log_index = 2 [jstype = JS_NORMAL]; + */ + logIndex?: string + + /** + * 32-byte block hash + * + * @generated from field: bytes block_hash = 3; + */ + blockHash?: string + + /** + * Block/slot number + * + * @generated from field: int64 block_number = 4 [jstype = JS_NORMAL]; + */ + blockNumber?: string + + /** + * Unix timestamp of the block + * + * @generated from field: uint64 block_timestamp = 5 [jstype = JS_NORMAL]; + */ + blockTimestamp?: string + + /** + * 32-byte program PublicKey + * + * @generated from field: bytes address = 6; + */ + address?: string + + /** + * 8-byte event signature + * + * @generated from field: bytes event_sig = 7; + */ + eventSig?: string + + /** + * 64-byte transaction signature + * + * @generated from field: bytes tx_hash = 8; + */ + txHash?: string + + /** + * Decoded event data + * + * @generated from field: bytes data = 9; + */ + data?: string + + /** + * Sequence number for ordering + * + * @generated from field: int64 sequence_num = 10 [jstype = JS_NORMAL]; + */ + sequenceNum?: string + + /** + * Error message if log processing failed + * + * @generated from field: optional string error = 11; + */ + error?: string } /** - * Describes the message capabilities.blockchain.solana.v1alpha.ComputeConfig. - * Use `create(ComputeConfigSchema)` to create a new message. + * Describes the message capabilities.blockchain.solana.v1alpha.Log. + * Use `create(LogSchema)` to create a new message. */ -export const ComputeConfigSchema: GenMessage = +export const LogSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 0) + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 51) /** * All metas are non-signers. @@ -103,7 +3125,7 @@ export type AccountMetaJson = { */ export const AccountMetaSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 1) + messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 52) /** * @generated from message capabilities.blockchain.solana.v1alpha.WriteReportRequest @@ -171,7 +3193,7 @@ export type WriteReportRequestJson = { export const WriteReportRequestSchema: GenMessage< WriteReportRequest, { jsonType: WriteReportRequestJson } -> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 2) +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 53) /** * @generated from message capabilities.blockchain.solana.v1alpha.WriteReportReply @@ -241,7 +3263,171 @@ export type WriteReportReplyJson = { export const WriteReportReplySchema: GenMessage< WriteReportReply, { jsonType: WriteReportReplyJson } -> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 3) +> = /*@__PURE__*/ messageDesc(file_capabilities_blockchain_solana_v1alpha_client, 54) + +/** + * Account/tx data encodings. + * + * @generated from enum capabilities.blockchain.solana.v1alpha.EncodingType + */ +export enum EncodingType { + /** + * @generated from enum value: ENCODING_TYPE_NONE = 0; + */ + NONE = 0, + + /** + * for data <129 bytes + * + * @generated from enum value: ENCODING_TYPE_BASE58 = 1; + */ + BASE58 = 1, + + /** + * any size + * + * @generated from enum value: ENCODING_TYPE_BASE64 = 2; + */ + BASE64 = 2, + + /** + * zstd-compressed, base64-wrapped + * + * @generated from enum value: ENCODING_TYPE_BASE64_ZSTD = 3; + */ + BASE64_ZSTD = 3, + + /** + * program parsers; fallback to base64 if unknown + * + * @generated from enum value: ENCODING_TYPE_JSON_PARSED = 4; + */ + JSON_PARSED = 4, + + /** + * raw JSON (rare; prefer JSON_PARSED) + * + * @generated from enum value: ENCODING_TYPE_JSON = 5; + */ + JSON = 5, +} + +/** + * Account/tx data encodings. + * + * @generated from enum capabilities.blockchain.solana.v1alpha.EncodingType + */ +export type EncodingTypeJson = + | 'ENCODING_TYPE_NONE' + | 'ENCODING_TYPE_BASE58' + | 'ENCODING_TYPE_BASE64' + | 'ENCODING_TYPE_BASE64_ZSTD' + | 'ENCODING_TYPE_JSON_PARSED' + | 'ENCODING_TYPE_JSON' + +/** + * Describes the enum capabilities.blockchain.solana.v1alpha.EncodingType. + */ +export const EncodingTypeSchema: GenEnum = + /*@__PURE__*/ + enumDesc(file_capabilities_blockchain_solana_v1alpha_client, 0) + +/** + * Read consistency of queried state. + * + * @generated from enum capabilities.blockchain.solana.v1alpha.CommitmentType + */ +export enum CommitmentType { + /** + * @generated from enum value: COMMITMENT_TYPE_NONE = 0; + */ + NONE = 0, + + /** + * cluster-finalized + * + * @generated from enum value: COMMITMENT_TYPE_FINALIZED = 1; + */ + FINALIZED = 1, + + /** + * voted by supermajority + * + * @generated from enum value: COMMITMENT_TYPE_CONFIRMED = 2; + */ + CONFIRMED = 2, + + /** + * node’s latest + * + * @generated from enum value: COMMITMENT_TYPE_PROCESSED = 3; + */ + PROCESSED = 3, +} + +/** + * Read consistency of queried state. + * + * @generated from enum capabilities.blockchain.solana.v1alpha.CommitmentType + */ +export type CommitmentTypeJson = + | 'COMMITMENT_TYPE_NONE' + | 'COMMITMENT_TYPE_FINALIZED' + | 'COMMITMENT_TYPE_CONFIRMED' + | 'COMMITMENT_TYPE_PROCESSED' + +/** + * Describes the enum capabilities.blockchain.solana.v1alpha.CommitmentType. + */ +export const CommitmentTypeSchema: GenEnum = + /*@__PURE__*/ + enumDesc(file_capabilities_blockchain_solana_v1alpha_client, 1) + +/** + * Cluster confirmation status of a tx/signature. + * + * @generated from enum capabilities.blockchain.solana.v1alpha.ConfirmationStatusType + */ +export enum ConfirmationStatusType { + /** + * @generated from enum value: CONFIRMATION_STATUS_TYPE_NONE = 0; + */ + NONE = 0, + + /** + * @generated from enum value: CONFIRMATION_STATUS_TYPE_PROCESSED = 1; + */ + PROCESSED = 1, + + /** + * @generated from enum value: CONFIRMATION_STATUS_TYPE_CONFIRMED = 2; + */ + CONFIRMED = 2, + + /** + * @generated from enum value: CONFIRMATION_STATUS_TYPE_FINALIZED = 3; + */ + FINALIZED = 3, +} + +/** + * Cluster confirmation status of a tx/signature. + * + * @generated from enum capabilities.blockchain.solana.v1alpha.ConfirmationStatusType + */ +export type ConfirmationStatusTypeJson = + | 'CONFIRMATION_STATUS_TYPE_NONE' + | 'CONFIRMATION_STATUS_TYPE_PROCESSED' + | 'CONFIRMATION_STATUS_TYPE_CONFIRMED' + | 'CONFIRMATION_STATUS_TYPE_FINALIZED' + +/** + * Describes the enum capabilities.blockchain.solana.v1alpha.ConfirmationStatusType. + */ +export const ConfirmationStatusTypeSchema: GenEnum< + ConfirmationStatusType, + ConfirmationStatusTypeJson +> = /*@__PURE__*/ enumDesc(file_capabilities_blockchain_solana_v1alpha_client, 2) /** * Transaction execution status returned by submitters/simulations. @@ -283,7 +3469,60 @@ export type TxStatusJson = 'TX_STATUS_FATAL' | 'TX_STATUS_ABORTED' | 'TX_STATUS_ */ export const TxStatusSchema: GenEnum = /*@__PURE__*/ - enumDesc(file_capabilities_blockchain_solana_v1alpha_client, 0) + enumDesc(file_capabilities_blockchain_solana_v1alpha_client, 3) + +/** + * @generated from enum capabilities.blockchain.solana.v1alpha.ComparisonOperator + */ +export enum ComparisonOperator { + /** + * @generated from enum value: COMPARISON_OPERATOR_EQ = 0; + */ + EQ = 0, + + /** + * @generated from enum value: COMPARISON_OPERATOR_NEQ = 1; + */ + NEQ = 1, + + /** + * @generated from enum value: COMPARISON_OPERATOR_GT = 2; + */ + GT = 2, + + /** + * @generated from enum value: COMPARISON_OPERATOR_LT = 3; + */ + LT = 3, + + /** + * @generated from enum value: COMPARISON_OPERATOR_GTE = 4; + */ + GTE = 4, + + /** + * @generated from enum value: COMPARISON_OPERATOR_LTE = 5; + */ + LTE = 5, +} + +/** + * @generated from enum capabilities.blockchain.solana.v1alpha.ComparisonOperator + */ +export type ComparisonOperatorJson = + | 'COMPARISON_OPERATOR_EQ' + | 'COMPARISON_OPERATOR_NEQ' + | 'COMPARISON_OPERATOR_GT' + | 'COMPARISON_OPERATOR_LT' + | 'COMPARISON_OPERATOR_GTE' + | 'COMPARISON_OPERATOR_LTE' + +/** + * Describes the enum capabilities.blockchain.solana.v1alpha.ComparisonOperator. + */ +export const ComparisonOperatorSchema: GenEnum = + /*@__PURE__*/ + enumDesc(file_capabilities_blockchain_solana_v1alpha_client, 4) /** * @generated from enum capabilities.blockchain.solana.v1alpha.ReceiverContractExecutionStatus @@ -313,12 +3552,92 @@ export type ReceiverContractExecutionStatusJson = export const ReceiverContractExecutionStatusSchema: GenEnum< ReceiverContractExecutionStatus, ReceiverContractExecutionStatusJson -> = /*@__PURE__*/ enumDesc(file_capabilities_blockchain_solana_v1alpha_client, 1) +> = /*@__PURE__*/ enumDesc(file_capabilities_blockchain_solana_v1alpha_client, 5) /** * @generated from service capabilities.blockchain.solana.v1alpha.Client */ export const Client: GenService<{ + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.GetAccountInfoWithOpts + */ + getAccountInfoWithOpts: { + methodKind: 'unary' + input: typeof GetAccountInfoWithOptsRequestSchema + output: typeof GetAccountInfoWithOptsReplySchema + } + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.GetBalance + */ + getBalance: { + methodKind: 'unary' + input: typeof GetBalanceRequestSchema + output: typeof GetBalanceReplySchema + } + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.GetBlock + */ + getBlock: { + methodKind: 'unary' + input: typeof GetBlockRequestSchema + output: typeof GetBlockReplySchema + } + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.GetFeeForMessage + */ + getFeeForMessage: { + methodKind: 'unary' + input: typeof GetFeeForMessageRequestSchema + output: typeof GetFeeForMessageReplySchema + } + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.GetMultipleAccountsWithOpts + */ + getMultipleAccountsWithOpts: { + methodKind: 'unary' + input: typeof GetMultipleAccountsWithOptsRequestSchema + output: typeof GetMultipleAccountsWithOptsReplySchema + } + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.GetProgramAccounts + */ + getProgramAccounts: { + methodKind: 'unary' + input: typeof GetProgramAccountsRequestSchema + output: typeof GetProgramAccountsReplySchema + } + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.GetSignatureStatuses + */ + getSignatureStatuses: { + methodKind: 'unary' + input: typeof GetSignatureStatusesRequestSchema + output: typeof GetSignatureStatusesReplySchema + } + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.GetSlotHeight + */ + getSlotHeight: { + methodKind: 'unary' + input: typeof GetSlotHeightRequestSchema + output: typeof GetSlotHeightReplySchema + } + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.GetTransaction + */ + getTransaction: { + methodKind: 'unary' + input: typeof GetTransactionRequestSchema + output: typeof GetTransactionReplySchema + } + /** + * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.LogTrigger + */ + logTrigger: { + methodKind: 'server_streaming' + input: typeof FilterLogTriggerRequestSchema + output: typeof LogSchema + } /** * @generated from rpc capabilities.blockchain.solana.v1alpha.Client.WriteReport */ diff --git a/packages/cre-sdk/src/generated/capabilities/networking/http/v1alpha/client_pb.ts b/packages/cre-sdk/src/generated/capabilities/networking/http/v1alpha/client_pb.ts index 22bb6338..a5433a8c 100644 --- a/packages/cre-sdk/src/generated/capabilities/networking/http/v1alpha/client_pb.ts +++ b/packages/cre-sdk/src/generated/capabilities/networking/http/v1alpha/client_pb.ts @@ -15,7 +15,7 @@ import { file_tools_generator_v1alpha_cre_metadata } from '../../../../tools/gen export const file_capabilities_networking_http_v1alpha_client: GenFile = /*@__PURE__*/ fileDesc( - 'CjFjYXBhYmlsaXRpZXMvbmV0d29ya2luZy9odHRwL3YxYWxwaGEvY2xpZW50LnByb3RvEiRjYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEiSgoNQ2FjaGVTZXR0aW5ncxINCgVzdG9yZRgBIAEoCBIqCgdtYXhfYWdlGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIh4KDEhlYWRlclZhbHVlcxIOCgZ2YWx1ZXMYASADKAkiNAoITXRsc0F1dGgSEwoLcHJpdmF0ZV9rZXkYASABKAwSEwoLY2VydGlmaWNhdGUYAiABKAwiuwQKB1JlcXVlc3QSCwoDdXJsGAEgASgJEg4KBm1ldGhvZBgCIAEoCRJPCgdoZWFkZXJzGAMgAygLMjouY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlcXVlc3QuSGVhZGVyc0VudHJ5QgIYARIMCgRib2R5GAQgASgMEioKB3RpbWVvdXQYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SSwoOY2FjaGVfc2V0dGluZ3MYBiABKAsyMy5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEuQ2FjaGVTZXR0aW5ncxJWCg1tdWx0aV9oZWFkZXJzGAcgAygLMj8uY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlcXVlc3QuTXVsdGlIZWFkZXJzRW50cnkSQQoEbXRscxgIIAEoCzIuLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5NdGxzQXV0aEgAiAEBGi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGmcKEU11bHRpSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRJBCgV2YWx1ZRgCIAEoCzIyLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5IZWFkZXJWYWx1ZXM6AjgBQgcKBV9tdGxzIvECCghSZXNwb25zZRITCgtzdGF0dXNfY29kZRgBIAEoDRJQCgdoZWFkZXJzGAIgAygLMjsuY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlc3BvbnNlLkhlYWRlcnNFbnRyeUICGAESDAoEYm9keRgDIAEoDBJXCg1tdWx0aV9oZWFkZXJzGAQgAygLMkAuY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlc3BvbnNlLk11bHRpSGVhZGVyc0VudHJ5Gi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGmcKEU11bHRpSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRJBCgV2YWx1ZRgCIAEoCzIyLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5IZWFkZXJWYWx1ZXM6AjgBMpgBCgZDbGllbnQSbAoLU2VuZFJlcXVlc3QSLS5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEuUmVxdWVzdBouLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5SZXNwb25zZRoggrUYHAgCEhhodHRwLWFjdGlvbnNAMS4wLjAtYWxwaGFC6gEKKGNvbS5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGFCC0NsaWVudFByb3RvUAGiAgNDTkiqAiRDYXBhYmlsaXRpZXMuTmV0d29ya2luZy5IdHRwLlYxYWxwaGHKAiRDYXBhYmlsaXRpZXNcTmV0d29ya2luZ1xIdHRwXFYxYWxwaGHiAjBDYXBhYmlsaXRpZXNcTmV0d29ya2luZ1xIdHRwXFYxYWxwaGFcR1BCTWV0YWRhdGHqAidDYXBhYmlsaXRpZXM6Ok5ldHdvcmtpbmc6Okh0dHA6OlYxYWxwaGFiBnByb3RvMw', + 'CjFjYXBhYmlsaXRpZXMvbmV0d29ya2luZy9odHRwL3YxYWxwaGEvY2xpZW50LnByb3RvEiRjYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEiSgoNQ2FjaGVTZXR0aW5ncxINCgVzdG9yZRgBIAEoCBIqCgdtYXhfYWdlGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIh4KDEhlYWRlclZhbHVlcxIOCgZ2YWx1ZXMYASADKAkiNAoITXRsc0F1dGgSEwoLcHJpdmF0ZV9rZXkYASABKAwSEwoLY2VydGlmaWNhdGUYAiABKAwiuwQKB1JlcXVlc3QSCwoDdXJsGAEgASgJEg4KBm1ldGhvZBgCIAEoCRJPCgdoZWFkZXJzGAMgAygLMjouY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlcXVlc3QuSGVhZGVyc0VudHJ5QgIYARIMCgRib2R5GAQgASgMEioKB3RpbWVvdXQYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SSwoOY2FjaGVfc2V0dGluZ3MYBiABKAsyMy5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEuQ2FjaGVTZXR0aW5ncxJWCg1tdWx0aV9oZWFkZXJzGAcgAygLMj8uY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlcXVlc3QuTXVsdGlIZWFkZXJzRW50cnkSQQoEbXRscxgIIAEoCzIuLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5NdGxzQXV0aEgAiAEBGi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGmcKEU11bHRpSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRJBCgV2YWx1ZRgCIAEoCzIyLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5IZWFkZXJWYWx1ZXM6AjgBQgcKBV9tdGxzIvECCghSZXNwb25zZRITCgtzdGF0dXNfY29kZRgBIAEoDRJQCgdoZWFkZXJzGAIgAygLMjsuY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlc3BvbnNlLkhlYWRlcnNFbnRyeUICGAESDAoEYm9keRgDIAEoDBJXCg1tdWx0aV9oZWFkZXJzGAQgAygLMkAuY2FwYWJpbGl0aWVzLm5ldHdvcmtpbmcuaHR0cC52MWFscGhhLlJlc3BvbnNlLk11bHRpSGVhZGVyc0VudHJ5Gi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGmcKEU11bHRpSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRJBCgV2YWx1ZRgCIAEoCzIyLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5IZWFkZXJWYWx1ZXM6AjgBMpsBCgZDbGllbnQSbAoLU2VuZFJlcXVlc3QSLS5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGEuUmVxdWVzdBouLmNhcGFiaWxpdGllcy5uZXR3b3JraW5nLmh0dHAudjFhbHBoYS5SZXNwb25zZRojgrUYHwgCEhhodHRwLWFjdGlvbnNAMS4wLjAtYWxwaGEiAQFC6gEKKGNvbS5jYXBhYmlsaXRpZXMubmV0d29ya2luZy5odHRwLnYxYWxwaGFCC0NsaWVudFByb3RvUAGiAgNDTkiqAiRDYXBhYmlsaXRpZXMuTmV0d29ya2luZy5IdHRwLlYxYWxwaGHKAiRDYXBhYmlsaXRpZXNcTmV0d29ya2luZ1xIdHRwXFYxYWxwaGHiAjBDYXBhYmlsaXRpZXNcTmV0d29ya2luZ1xIdHRwXFYxYWxwaGFcR1BCTWV0YWRhdGHqAidDYXBhYmlsaXRpZXM6Ok5ldHdvcmtpbmc6Okh0dHA6OlYxYWxwaGFiBnByb3RvMw', [file_google_protobuf_duration, file_tools_generator_v1alpha_cre_metadata], ) diff --git a/packages/cre-sdk/src/generated/sdk/v1alpha/sdk_pb.ts b/packages/cre-sdk/src/generated/sdk/v1alpha/sdk_pb.ts index a30feeec..99e51740 100644 --- a/packages/cre-sdk/src/generated/sdk/v1alpha/sdk_pb.ts +++ b/packages/cre-sdk/src/generated/sdk/v1alpha/sdk_pb.ts @@ -16,7 +16,7 @@ import { file_values_v1_values } from '../../values/v1/values_pb' export const file_sdk_v1alpha_sdk: GenFile = /*@__PURE__*/ fileDesc( - 'ChVzZGsvdjFhbHBoYS9zZGsucHJvdG8SC3Nkay52MWFscGhhIrQBChVTaW1wbGVDb25zZW5zdXNJbnB1dHMSIQoFdmFsdWUYASABKAsyEC52YWx1ZXMudjEuVmFsdWVIABIPCgVlcnJvchgCIAEoCUgAEjUKC2Rlc2NyaXB0b3JzGAMgASgLMiAuc2RrLnYxYWxwaGEuQ29uc2Vuc3VzRGVzY3JpcHRvchIhCgdkZWZhdWx0GAQgASgLMhAudmFsdWVzLnYxLlZhbHVlQg0KC29ic2VydmF0aW9uIpABCglGaWVsZHNNYXASMgoGZmllbGRzGAEgAygLMiIuc2RrLnYxYWxwaGEuRmllbGRzTWFwLkZpZWxkc0VudHJ5Gk8KC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIvCgV2YWx1ZRgCIAEoCzIgLnNkay52MWFscGhhLkNvbnNlbnN1c0Rlc2NyaXB0b3I6AjgBIoYBChNDb25zZW5zdXNEZXNjcmlwdG9yEjMKC2FnZ3JlZ2F0aW9uGAEgASgOMhwuc2RrLnYxYWxwaGEuQWdncmVnYXRpb25UeXBlSAASLAoKZmllbGRzX21hcBgCIAEoCzIWLnNkay52MWFscGhhLkZpZWxkc01hcEgAQgwKCmRlc2NyaXB0b3IiagoNUmVwb3J0UmVxdWVzdBIXCg9lbmNvZGVkX3BheWxvYWQYASABKAwSFAoMZW5jb2Rlcl9uYW1lGAIgASgJEhQKDHNpZ25pbmdfYWxnbxgDIAEoCRIUCgxoYXNoaW5nX2FsZ28YBCABKAkilwEKDlJlcG9ydFJlc3BvbnNlEhUKDWNvbmZpZ19kaWdlc3QYASABKAwSEgoGc2VxX25yGAIgASgEQgIwABIWCg5yZXBvcnRfY29udGV4dBgDIAEoDBISCgpyYXdfcmVwb3J0GAQgASgMEi4KBHNpZ3MYBSADKAsyIC5zZGsudjFhbHBoYS5BdHRyaWJ1dGVkU2lnbmF0dXJlIjsKE0F0dHJpYnV0ZWRTaWduYXR1cmUSEQoJc2lnbmF0dXJlGAEgASgMEhEKCXNpZ25lcl9pZBgCIAEoDSJrChFDYXBhYmlsaXR5UmVxdWVzdBIKCgJpZBgBIAEoCRIlCgdwYXlsb2FkGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueRIOCgZtZXRob2QYAyABKAkSEwoLY2FsbGJhY2tfaWQYBCABKAUiWgoSQ2FwYWJpbGl0eVJlc3BvbnNlEicKB3BheWxvYWQYASABKAsyFC5nb29nbGUucHJvdG9idWYuQW55SAASDwoFZXJyb3IYAiABKAlIAEIKCghyZXNwb25zZSJYChNUcmlnZ2VyU3Vic2NyaXB0aW9uEgoKAmlkGAEgASgJEiUKB3BheWxvYWQYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55Eg4KBm1ldGhvZBgDIAEoCSJVChpUcmlnZ2VyU3Vic2NyaXB0aW9uUmVxdWVzdBI3Cg1zdWJzY3JpcHRpb25zGAEgAygLMiAuc2RrLnYxYWxwaGEuVHJpZ2dlclN1YnNjcmlwdGlvbiJACgdUcmlnZ2VyEg4KAmlkGAEgASgEQgIwABIlCgdwYXlsb2FkGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueSInChhBd2FpdENhcGFiaWxpdGllc1JlcXVlc3QSCwoDaWRzGAEgAygFIrgBChlBd2FpdENhcGFiaWxpdGllc1Jlc3BvbnNlEkgKCXJlc3BvbnNlcxgBIAMoCzI1LnNkay52MWFscGhhLkF3YWl0Q2FwYWJpbGl0aWVzUmVzcG9uc2UuUmVzcG9uc2VzRW50cnkaUQoOUmVzcG9uc2VzRW50cnkSCwoDa2V5GAEgASgFEi4KBXZhbHVlGAIgASgLMh8uc2RrLnYxYWxwaGEuQ2FwYWJpbGl0eVJlc3BvbnNlOgI4ASKgAQoORXhlY3V0ZVJlcXVlc3QSDgoGY29uZmlnGAEgASgMEisKCXN1YnNjcmliZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUgAEicKB3RyaWdnZXIYAyABKAsyFC5zZGsudjFhbHBoYS5UcmlnZ2VySAASHQoRbWF4X3Jlc3BvbnNlX3NpemUYBCABKARCAjAAQgkKB3JlcXVlc3QimQEKD0V4ZWN1dGlvblJlc3VsdBIhCgV2YWx1ZRgBIAEoCzIQLnZhbHVlcy52MS5WYWx1ZUgAEg8KBWVycm9yGAIgASgJSAASSAoVdHJpZ2dlcl9zdWJzY3JpcHRpb25zGAMgASgLMicuc2RrLnYxYWxwaGEuVHJpZ2dlclN1YnNjcmlwdGlvblJlcXVlc3RIAEIICgZyZXN1bHQiVgoRR2V0U2VjcmV0c1JlcXVlc3QSLAoIcmVxdWVzdHMYASADKAsyGi5zZGsudjFhbHBoYS5TZWNyZXRSZXF1ZXN0EhMKC2NhbGxiYWNrX2lkGAIgASgFIiIKE0F3YWl0U2VjcmV0c1JlcXVlc3QSCwoDaWRzGAEgAygFIqsBChRBd2FpdFNlY3JldHNSZXNwb25zZRJDCglyZXNwb25zZXMYASADKAsyMC5zZGsudjFhbHBoYS5Bd2FpdFNlY3JldHNSZXNwb25zZS5SZXNwb25zZXNFbnRyeRpOCg5SZXNwb25zZXNFbnRyeRILCgNrZXkYASABKAUSKwoFdmFsdWUYAiABKAsyHC5zZGsudjFhbHBoYS5TZWNyZXRSZXNwb25zZXM6AjgBIi4KDVNlY3JldFJlcXVlc3QSCgoCaWQYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIkUKBlNlY3JldBIKCgJpZBgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSDQoFb3duZXIYAyABKAkSDQoFdmFsdWUYBCABKAkiSgoLU2VjcmV0RXJyb3ISCgoCaWQYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEg0KBW93bmVyGAMgASgJEg0KBWVycm9yGAQgASgJIm4KDlNlY3JldFJlc3BvbnNlEiUKBnNlY3JldBgBIAEoCzITLnNkay52MWFscGhhLlNlY3JldEgAEikKBWVycm9yGAIgASgLMhguc2RrLnYxYWxwaGEuU2VjcmV0RXJyb3JIAEIKCghyZXNwb25zZSJBCg9TZWNyZXRSZXNwb25zZXMSLgoJcmVzcG9uc2VzGAEgAygLMhsuc2RrLnYxYWxwaGEuU2VjcmV0UmVzcG9uc2UquAEKD0FnZ3JlZ2F0aW9uVHlwZRIgChxBR0dSRUdBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASGwoXQUdHUkVHQVRJT05fVFlQRV9NRURJQU4QARIeChpBR0dSRUdBVElPTl9UWVBFX0lERU5USUNBTBACEiIKHkFHR1JFR0FUSU9OX1RZUEVfQ09NTU9OX1BSRUZJWBADEiIKHkFHR1JFR0FUSU9OX1RZUEVfQ09NTU9OX1NVRkZJWBAEKjkKBE1vZGUSFAoQTU9ERV9VTlNQRUNJRklFRBAAEgwKCE1PREVfRE9OEAESDQoJTU9ERV9OT0RFEAJCaAoPY29tLnNkay52MWFscGhhQghTZGtQcm90b1ABogIDU1hYqgILU2RrLlYxYWxwaGHKAgtTZGtcVjFhbHBoYeICF1Nka1xWMWFscGhhXEdQQk1ldGFkYXRh6gIMU2RrOjpWMWFscGhhYgZwcm90bzM', + 'ChVzZGsvdjFhbHBoYS9zZGsucHJvdG8SC3Nkay52MWFscGhhIrQBChVTaW1wbGVDb25zZW5zdXNJbnB1dHMSIQoFdmFsdWUYASABKAsyEC52YWx1ZXMudjEuVmFsdWVIABIPCgVlcnJvchgCIAEoCUgAEjUKC2Rlc2NyaXB0b3JzGAMgASgLMiAuc2RrLnYxYWxwaGEuQ29uc2Vuc3VzRGVzY3JpcHRvchIhCgdkZWZhdWx0GAQgASgLMhAudmFsdWVzLnYxLlZhbHVlQg0KC29ic2VydmF0aW9uIpABCglGaWVsZHNNYXASMgoGZmllbGRzGAEgAygLMiIuc2RrLnYxYWxwaGEuRmllbGRzTWFwLkZpZWxkc0VudHJ5Gk8KC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIvCgV2YWx1ZRgCIAEoCzIgLnNkay52MWFscGhhLkNvbnNlbnN1c0Rlc2NyaXB0b3I6AjgBIoYBChNDb25zZW5zdXNEZXNjcmlwdG9yEjMKC2FnZ3JlZ2F0aW9uGAEgASgOMhwuc2RrLnYxYWxwaGEuQWdncmVnYXRpb25UeXBlSAASLAoKZmllbGRzX21hcBgCIAEoCzIWLnNkay52MWFscGhhLkZpZWxkc01hcEgAQgwKCmRlc2NyaXB0b3IiagoNUmVwb3J0UmVxdWVzdBIXCg9lbmNvZGVkX3BheWxvYWQYASABKAwSFAoMZW5jb2Rlcl9uYW1lGAIgASgJEhQKDHNpZ25pbmdfYWxnbxgDIAEoCRIUCgxoYXNoaW5nX2FsZ28YBCABKAkilwEKDlJlcG9ydFJlc3BvbnNlEhUKDWNvbmZpZ19kaWdlc3QYASABKAwSEgoGc2VxX25yGAIgASgEQgIwABIWCg5yZXBvcnRfY29udGV4dBgDIAEoDBISCgpyYXdfcmVwb3J0GAQgASgMEi4KBHNpZ3MYBSADKAsyIC5zZGsudjFhbHBoYS5BdHRyaWJ1dGVkU2lnbmF0dXJlIjsKE0F0dHJpYnV0ZWRTaWduYXR1cmUSEQoJc2lnbmF0dXJlGAEgASgMEhEKCXNpZ25lcl9pZBgCIAEoDSJrChFDYXBhYmlsaXR5UmVxdWVzdBIKCgJpZBgBIAEoCRIlCgdwYXlsb2FkGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueRIOCgZtZXRob2QYAyABKAkSEwoLY2FsbGJhY2tfaWQYBCABKAUiWgoSQ2FwYWJpbGl0eVJlc3BvbnNlEicKB3BheWxvYWQYASABKAsyFC5nb29nbGUucHJvdG9idWYuQW55SAASDwoFZXJyb3IYAiABKAlIAEIKCghyZXNwb25zZSKbAQoTVHJpZ2dlclN1YnNjcmlwdGlvbhIKCgJpZBgBIAEoCRIlCgdwYXlsb2FkGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueRIOCgZtZXRob2QYAyABKAkSLwoMcmVxdWlyZW1lbnRzGAQgASgLMhkuc2RrLnYxYWxwaGEuUmVxdWlyZW1lbnRzEhAKCHByZV9ob29rGAUgASgIIkgKEVRlZVR5cGVBbmRSZWdpb25zEiIKBHR5cGUYASABKA4yFC5zZGsudjFhbHBoYS5UZWVUeXBlEg8KB3JlZ2lvbnMYAyADKAkiVQoaVHJpZ2dlclN1YnNjcmlwdGlvblJlcXVlc3QSNwoNc3Vic2NyaXB0aW9ucxgBIAMoCzIgLnNkay52MWFscGhhLlRyaWdnZXJTdWJzY3JpcHRpb24iQAoHVHJpZ2dlchIOCgJpZBgBIAEoBEICMAASJQoHcGF5bG9hZBgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnkiGgoHUmVnaW9ucxIPCgdyZWdpb25zGAEgAygJIlIKElRlZVR5cGVzQW5kUmVnaW9ucxI8ChR0ZWVfdHlwZV9hbmRfcmVnaW9ucxgBIAMoCzIeLnNkay52MWFscGhhLlRlZVR5cGVBbmRSZWdpb25zInwKA1RlZRIrCgthbnlfcmVnaW9ucxgBIAEoCzIULnNkay52MWFscGhhLlJlZ2lvbnNIABJAChV0ZWVfdHlwZXNfYW5kX3JlZ2lvbnMYAiABKAsyHy5zZGsudjFhbHBoYS5UZWVUeXBlc0FuZFJlZ2lvbnNIAEIGCgRpdGVtIi0KDFJlcXVpcmVtZW50cxIdCgN0ZWUYASABKAsyEC5zZGsudjFhbHBoYS5UZWUiJwoYQXdhaXRDYXBhYmlsaXRpZXNSZXF1ZXN0EgsKA2lkcxgBIAMoBSK4AQoZQXdhaXRDYXBhYmlsaXRpZXNSZXNwb25zZRJICglyZXNwb25zZXMYASADKAsyNS5zZGsudjFhbHBoYS5Bd2FpdENhcGFiaWxpdGllc1Jlc3BvbnNlLlJlc3BvbnNlc0VudHJ5GlEKDlJlc3BvbnNlc0VudHJ5EgsKA2tleRgBIAEoBRIuCgV2YWx1ZRgCIAEoCzIfLnNkay52MWFscGhhLkNhcGFiaWxpdHlSZXNwb25zZToCOAEi5AEKDkV4ZWN1dGVSZXF1ZXN0Eg4KBmNvbmZpZxgBIAEoDBIrCglzdWJzY3JpYmUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIABInCgd0cmlnZ2VyGAMgASgLMhQuc2RrLnYxYWxwaGEuVHJpZ2dlckgAEigKCHByZV9ob29rGAUgASgLMhQuc2RrLnYxYWxwaGEuVHJpZ2dlckgAEh0KEW1heF9yZXNwb25zZV9zaXplGAQgASgEQgIwABIYChBzdXNwZW5kX29uX2F3YWl0GAYgASgIQgkKB3JlcXVlc3QizAEKD0V4ZWN1dGlvblJlc3VsdBIhCgV2YWx1ZRgBIAEoCzIQLnZhbHVlcy52MS5WYWx1ZUgAEg8KBWVycm9yGAIgASgJSAASSAoVdHJpZ2dlcl9zdWJzY3JpcHRpb25zGAMgASgLMicuc2RrLnYxYWxwaGEuVHJpZ2dlclN1YnNjcmlwdGlvblJlcXVlc3RIABIxCgxyZXN0cmljdGlvbnMYBCABKAsyGS5zZGsudjFhbHBoYS5SZXN0cmljdGlvbnNIAEIICgZyZXN1bHQiVgoRR2V0U2VjcmV0c1JlcXVlc3QSLAoIcmVxdWVzdHMYASADKAsyGi5zZGsudjFhbHBoYS5TZWNyZXRSZXF1ZXN0EhMKC2NhbGxiYWNrX2lkGAIgASgFIiIKE0F3YWl0U2VjcmV0c1JlcXVlc3QSCwoDaWRzGAEgAygFIqsBChRBd2FpdFNlY3JldHNSZXNwb25zZRJDCglyZXNwb25zZXMYASADKAsyMC5zZGsudjFhbHBoYS5Bd2FpdFNlY3JldHNSZXNwb25zZS5SZXNwb25zZXNFbnRyeRpOCg5SZXNwb25zZXNFbnRyeRILCgNrZXkYASABKAUSKwoFdmFsdWUYAiABKAsyHC5zZGsudjFhbHBoYS5TZWNyZXRSZXNwb25zZXM6AjgBIi4KDVNlY3JldFJlcXVlc3QSCgoCaWQYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJIkUKBlNlY3JldBIKCgJpZBgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSDQoFb3duZXIYAyABKAkSDQoFdmFsdWUYBCABKAkiSgoLU2VjcmV0RXJyb3ISCgoCaWQYASABKAkSEQoJbmFtZXNwYWNlGAIgASgJEg0KBW93bmVyGAMgASgJEg0KBWVycm9yGAQgASgJIm4KDlNlY3JldFJlc3BvbnNlEiUKBnNlY3JldBgBIAEoCzITLnNkay52MWFscGhhLlNlY3JldEgAEikKBWVycm9yGAIgASgLMhguc2RrLnYxYWxwaGEuU2VjcmV0RXJyb3JIAEIKCghyZXNwb25zZSJBCg9TZWNyZXRSZXNwb25zZXMSLgoJcmVzcG9uc2VzGAEgAygLMhsuc2RrLnYxYWxwaGEuU2VjcmV0UmVzcG9uc2UiQgoRTWV0aG9kUmVzdHJpY3Rpb24SCgoCaWQYASABKAkSDgoGbWV0aG9kGAIgASgJEhEKCW1heF9jYWxscxgDIAEoBSJYChVDYXBhYmlsaXR5UmVzdHJpY3Rpb24SMAoGbWV0aG9kGAEgASgLMh4uc2RrLnYxYWxwaGEuTWV0aG9kUmVzdHJpY3Rpb25IAEINCgtyZXN0cmljdGlvbiKhAQoWQ2FwYWJpbGl0eVJlc3RyaWN0aW9ucxI4CgxyZXN0cmljdGlvbnMYASADKAsyIi5zZGsudjFhbHBoYS5DYXBhYmlsaXR5UmVzdHJpY3Rpb24SFwoPbWF4X3RvdGFsX2NhbGxzGAIgASgFEjQKBHR5cGUYAyABKA4yJi5zZGsudjFhbHBoYS5DYXBhYmlsaXR5UmVzdHJpY3Rpb25UeXBlIlEKF1NlY3JldFByZWZpeFJlc3RyaWN0aW9uEg4KBnByZWZpeBgBIAEoCRIRCgluYW1lc3BhY2UYAiABKAkSEwoLbWF4X3NlY3JldHMYAyABKAUikAEKEVNlY3JldFJlc3RyaWN0aW9uEisKDGV4YWN0X3NlY3JldBgBIAEoCzITLnNkay52MWFscGhhLlNlY3JldEgAEj8KD3ByZWZpeGVkX3NlY3JldBgCIAEoCzIkLnNkay52MWFscGhhLlNlY3JldFByZWZpeFJlc3RyaWN0aW9uSABCDQoLcmVzdHJpY3Rpb24iXwoSU2VjcmV0c1Jlc3RyaXRpb25zEjQKDHJlc3RyaWN0aW9ucxgBIAMoCzIeLnNkay52MWFscGhhLlNlY3JldFJlc3RyaWN0aW9uEhMKC21heF9zZWNyZXRzGAIgASgFInsKDFJlc3RyaWN0aW9ucxIwCgdzZWNyZXRzGAEgASgLMh8uc2RrLnYxYWxwaGEuU2VjcmV0c1Jlc3RyaXRpb25zEjkKDGNhcGFiaWxpdGllcxgCIAEoCzIjLnNkay52MWFscGhhLkNhcGFiaWxpdHlSZXN0cmljdGlvbnMq3QEKD0FnZ3JlZ2F0aW9uVHlwZRIgChxBR0dSRUdBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASGwoXQUdHUkVHQVRJT05fVFlQRV9NRURJQU4QARIeChpBR0dSRUdBVElPTl9UWVBFX0lERU5USUNBTBACEiIKHkFHR1JFR0FUSU9OX1RZUEVfQ09NTU9OX1BSRUZJWBADEiIKHkFHR1JFR0FUSU9OX1RZUEVfQ09NTU9OX1NVRkZJWBAEEiMKH0FHR1JFR0FUSU9OX1RZUEVfRlJFUVVFTkNZX0xJU1QQBSo5CgRNb2RlEhQKEE1PREVfVU5TUEVDSUZJRUQQABIMCghNT0RFX0RPThABEg0KCU1PREVfTk9ERRACKjsKB1RlZVR5cGUSGAoUVEVFX1RZUEVfVU5TUEVDSUZJRUQQABIWChJURUVfVFlQRV9BV1NfTklUUk8QASppChlDYXBhYmlsaXR5UmVzdHJpY3Rpb25UeXBlEiYKIkNBUEFCSUxJVFlfUkVTVFJJQ1RJT05fVFlQRV9DTE9TRUQQABIkCiBDQVBBQklMSVRZX1JFU1RSSUNUSU9OX1RZUEVfT1BFThABQmgKD2NvbS5zZGsudjFhbHBoYUIIU2RrUHJvdG9QAaICA1NYWKoCC1Nkay5WMWFscGhhygILU2RrXFYxYWxwaGHiAhdTZGtcVjFhbHBoYVxHUEJNZXRhZGF0YeoCDFNkazo6VjFhbHBoYWIGcHJvdG8z', [file_google_protobuf_any, file_google_protobuf_empty, file_values_v1_values], ) @@ -461,6 +461,16 @@ export type TriggerSubscription = Message<'sdk.v1alpha.TriggerSubscription'> & { * @generated from field: string method = 3; */ method: string + + /** + * @generated from field: sdk.v1alpha.Requirements requirements = 4; + */ + requirements?: Requirements + + /** + * @generated from field: bool pre_hook = 5; + */ + preHook: boolean } /** @@ -481,6 +491,16 @@ export type TriggerSubscriptionJson = { * @generated from field: string method = 3; */ method?: string + + /** + * @generated from field: sdk.v1alpha.Requirements requirements = 4; + */ + requirements?: RequirementsJson + + /** + * @generated from field: bool pre_hook = 5; + */ + preHook?: boolean } /** @@ -492,6 +512,45 @@ export const TriggerSubscriptionSchema: GenMessage< { jsonType: TriggerSubscriptionJson } > = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 8) +/** + * @generated from message sdk.v1alpha.TeeTypeAndRegions + */ +export type TeeTypeAndRegions = Message<'sdk.v1alpha.TeeTypeAndRegions'> & { + /** + * @generated from field: sdk.v1alpha.TeeType type = 1; + */ + type: TeeType + + /** + * @generated from field: repeated string regions = 3; + */ + regions: string[] +} + +/** + * @generated from message sdk.v1alpha.TeeTypeAndRegions + */ +export type TeeTypeAndRegionsJson = { + /** + * @generated from field: sdk.v1alpha.TeeType type = 1; + */ + type?: TeeTypeJson + + /** + * @generated from field: repeated string regions = 3; + */ + regions?: string[] +} + +/** + * Describes the message sdk.v1alpha.TeeTypeAndRegions. + * Use `create(TeeTypeAndRegionsSchema)` to create a new message. + */ +export const TeeTypeAndRegionsSchema: GenMessage< + TeeTypeAndRegions, + { jsonType: TeeTypeAndRegionsJson } +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 9) + /** * @generated from message sdk.v1alpha.TriggerSubscriptionRequest */ @@ -519,7 +578,7 @@ export type TriggerSubscriptionRequestJson = { export const TriggerSubscriptionRequestSchema: GenMessage< TriggerSubscriptionRequest, { jsonType: TriggerSubscriptionRequestJson } -> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 9) +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 10) /** * @generated from message sdk.v1alpha.Trigger @@ -557,7 +616,140 @@ export type TriggerJson = { */ export const TriggerSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_sdk_v1alpha_sdk, 10) + messageDesc(file_sdk_v1alpha_sdk, 11) + +/** + * @generated from message sdk.v1alpha.Regions + */ +export type Regions = Message<'sdk.v1alpha.Regions'> & { + /** + * @generated from field: repeated string regions = 1; + */ + regions: string[] +} + +/** + * @generated from message sdk.v1alpha.Regions + */ +export type RegionsJson = { + /** + * @generated from field: repeated string regions = 1; + */ + regions?: string[] +} + +/** + * Describes the message sdk.v1alpha.Regions. + * Use `create(RegionsSchema)` to create a new message. + */ +export const RegionsSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_sdk_v1alpha_sdk, 12) + +/** + * @generated from message sdk.v1alpha.TeeTypesAndRegions + */ +export type TeeTypesAndRegions = Message<'sdk.v1alpha.TeeTypesAndRegions'> & { + /** + * @generated from field: repeated sdk.v1alpha.TeeTypeAndRegions tee_type_and_regions = 1; + */ + teeTypeAndRegions: TeeTypeAndRegions[] +} + +/** + * @generated from message sdk.v1alpha.TeeTypesAndRegions + */ +export type TeeTypesAndRegionsJson = { + /** + * @generated from field: repeated sdk.v1alpha.TeeTypeAndRegions tee_type_and_regions = 1; + */ + teeTypeAndRegions?: TeeTypeAndRegionsJson[] +} + +/** + * Describes the message sdk.v1alpha.TeeTypesAndRegions. + * Use `create(TeeTypesAndRegionsSchema)` to create a new message. + */ +export const TeeTypesAndRegionsSchema: GenMessage< + TeeTypesAndRegions, + { jsonType: TeeTypesAndRegionsJson } +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 13) + +/** + * @generated from message sdk.v1alpha.Tee + */ +export type Tee = Message<'sdk.v1alpha.Tee'> & { + /** + * @generated from oneof sdk.v1alpha.Tee.item + */ + item: + | { + /** + * @generated from field: sdk.v1alpha.Regions any_regions = 1; + */ + value: Regions + case: 'anyRegions' + } + | { + /** + * @generated from field: sdk.v1alpha.TeeTypesAndRegions tee_types_and_regions = 2; + */ + value: TeeTypesAndRegions + case: 'teeTypesAndRegions' + } + | { case: undefined; value?: undefined } +} + +/** + * @generated from message sdk.v1alpha.Tee + */ +export type TeeJson = { + /** + * @generated from field: sdk.v1alpha.Regions any_regions = 1; + */ + anyRegions?: RegionsJson + + /** + * @generated from field: sdk.v1alpha.TeeTypesAndRegions tee_types_and_regions = 2; + */ + teeTypesAndRegions?: TeeTypesAndRegionsJson +} + +/** + * Describes the message sdk.v1alpha.Tee. + * Use `create(TeeSchema)` to create a new message. + */ +export const TeeSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_sdk_v1alpha_sdk, 14) + +/** + * @generated from message sdk.v1alpha.Requirements + */ +export type Requirements = Message<'sdk.v1alpha.Requirements'> & { + /** + * @generated from field: sdk.v1alpha.Tee tee = 1; + */ + tee?: Tee +} + +/** + * @generated from message sdk.v1alpha.Requirements + */ +export type RequirementsJson = { + /** + * @generated from field: sdk.v1alpha.Tee tee = 1; + */ + tee?: TeeJson +} + +/** + * Describes the message sdk.v1alpha.Requirements. + * Use `create(RequirementsSchema)` to create a new message. + */ +export const RequirementsSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_sdk_v1alpha_sdk, 15) /** * @generated from message sdk.v1alpha.AwaitCapabilitiesRequest @@ -586,7 +778,7 @@ export type AwaitCapabilitiesRequestJson = { export const AwaitCapabilitiesRequestSchema: GenMessage< AwaitCapabilitiesRequest, { jsonType: AwaitCapabilitiesRequestJson } -> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 11) +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 16) /** * @generated from message sdk.v1alpha.AwaitCapabilitiesResponse @@ -615,7 +807,7 @@ export type AwaitCapabilitiesResponseJson = { export const AwaitCapabilitiesResponseSchema: GenMessage< AwaitCapabilitiesResponse, { jsonType: AwaitCapabilitiesResponseJson } -> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 12) +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 17) /** * @generated from message sdk.v1alpha.ExecuteRequest @@ -644,12 +836,24 @@ export type ExecuteRequest = Message<'sdk.v1alpha.ExecuteRequest'> & { value: Trigger case: 'trigger' } + | { + /** + * @generated from field: sdk.v1alpha.Trigger pre_hook = 5; + */ + value: Trigger + case: 'preHook' + } | { case: undefined; value?: undefined } /** * @generated from field: uint64 max_response_size = 4 [jstype = JS_NORMAL]; */ maxResponseSize: bigint + + /** + * @generated from field: bool suspend_on_await = 6; + */ + suspendOnAwait: boolean } /** @@ -671,10 +875,20 @@ export type ExecuteRequestJson = { */ trigger?: TriggerJson + /** + * @generated from field: sdk.v1alpha.Trigger pre_hook = 5; + */ + preHook?: TriggerJson + /** * @generated from field: uint64 max_response_size = 4 [jstype = JS_NORMAL]; */ maxResponseSize?: string + + /** + * @generated from field: bool suspend_on_await = 6; + */ + suspendOnAwait?: boolean } /** @@ -683,7 +897,7 @@ export type ExecuteRequestJson = { */ export const ExecuteRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_sdk_v1alpha_sdk, 13) + messageDesc(file_sdk_v1alpha_sdk, 18) /** * @generated from message sdk.v1alpha.ExecutionResult @@ -714,6 +928,13 @@ export type ExecutionResult = Message<'sdk.v1alpha.ExecutionResult'> & { value: TriggerSubscriptionRequest case: 'triggerSubscriptions' } + | { + /** + * @generated from field: sdk.v1alpha.Restrictions restrictions = 4; + */ + value: Restrictions + case: 'restrictions' + } | { case: undefined; value?: undefined } } @@ -735,6 +956,11 @@ export type ExecutionResultJson = { * @generated from field: sdk.v1alpha.TriggerSubscriptionRequest trigger_subscriptions = 3; */ triggerSubscriptions?: TriggerSubscriptionRequestJson + + /** + * @generated from field: sdk.v1alpha.Restrictions restrictions = 4; + */ + restrictions?: RestrictionsJson } /** @@ -743,7 +969,7 @@ export type ExecutionResultJson = { */ export const ExecutionResultSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_sdk_v1alpha_sdk, 14) + messageDesc(file_sdk_v1alpha_sdk, 19) /** * @generated from message sdk.v1alpha.GetSecretsRequest @@ -782,7 +1008,7 @@ export type GetSecretsRequestJson = { export const GetSecretsRequestSchema: GenMessage< GetSecretsRequest, { jsonType: GetSecretsRequestJson } -> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 15) +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 20) /** * @generated from message sdk.v1alpha.AwaitSecretsRequest @@ -811,7 +1037,7 @@ export type AwaitSecretsRequestJson = { export const AwaitSecretsRequestSchema: GenMessage< AwaitSecretsRequest, { jsonType: AwaitSecretsRequestJson } -> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 16) +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 21) /** * @generated from message sdk.v1alpha.AwaitSecretsResponse @@ -840,7 +1066,7 @@ export type AwaitSecretsResponseJson = { export const AwaitSecretsResponseSchema: GenMessage< AwaitSecretsResponse, { jsonType: AwaitSecretsResponseJson } -> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 17) +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 22) /** * @generated from message sdk.v1alpha.SecretRequest @@ -878,7 +1104,7 @@ export type SecretRequestJson = { */ export const SecretRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_sdk_v1alpha_sdk, 18) + messageDesc(file_sdk_v1alpha_sdk, 23) /** * @generated from message sdk.v1alpha.Secret @@ -936,7 +1162,7 @@ export type SecretJson = { */ export const SecretSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_sdk_v1alpha_sdk, 19) + messageDesc(file_sdk_v1alpha_sdk, 24) /** * @generated from message sdk.v1alpha.SecretError @@ -994,7 +1220,7 @@ export type SecretErrorJson = { */ export const SecretErrorSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_sdk_v1alpha_sdk, 20) + messageDesc(file_sdk_v1alpha_sdk, 25) /** * @generated from message sdk.v1alpha.SecretResponse @@ -1042,7 +1268,7 @@ export type SecretResponseJson = { */ export const SecretResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_sdk_v1alpha_sdk, 21) + messageDesc(file_sdk_v1alpha_sdk, 26) /** * @generated from message sdk.v1alpha.SecretResponses @@ -1070,7 +1296,317 @@ export type SecretResponsesJson = { */ export const SecretResponsesSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_sdk_v1alpha_sdk, 22) + messageDesc(file_sdk_v1alpha_sdk, 27) + +/** + * @generated from message sdk.v1alpha.MethodRestriction + */ +export type MethodRestriction = Message<'sdk.v1alpha.MethodRestriction'> & { + /** + * @generated from field: string id = 1; + */ + id: string + + /** + * @generated from field: string method = 2; + */ + method: string + + /** + * @generated from field: int32 max_calls = 3; + */ + maxCalls: number +} + +/** + * @generated from message sdk.v1alpha.MethodRestriction + */ +export type MethodRestrictionJson = { + /** + * @generated from field: string id = 1; + */ + id?: string + + /** + * @generated from field: string method = 2; + */ + method?: string + + /** + * @generated from field: int32 max_calls = 3; + */ + maxCalls?: number +} + +/** + * Describes the message sdk.v1alpha.MethodRestriction. + * Use `create(MethodRestrictionSchema)` to create a new message. + */ +export const MethodRestrictionSchema: GenMessage< + MethodRestriction, + { jsonType: MethodRestrictionJson } +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 28) + +/** + * @generated from message sdk.v1alpha.CapabilityRestriction + */ +export type CapabilityRestriction = Message<'sdk.v1alpha.CapabilityRestriction'> & { + /** + * @generated from oneof sdk.v1alpha.CapabilityRestriction.restriction + */ + restriction: + | { + /** + * @generated from field: sdk.v1alpha.MethodRestriction method = 1; + */ + value: MethodRestriction + case: 'method' + } + | { case: undefined; value?: undefined } +} + +/** + * @generated from message sdk.v1alpha.CapabilityRestriction + */ +export type CapabilityRestrictionJson = { + /** + * @generated from field: sdk.v1alpha.MethodRestriction method = 1; + */ + method?: MethodRestrictionJson +} + +/** + * Describes the message sdk.v1alpha.CapabilityRestriction. + * Use `create(CapabilityRestrictionSchema)` to create a new message. + */ +export const CapabilityRestrictionSchema: GenMessage< + CapabilityRestriction, + { jsonType: CapabilityRestrictionJson } +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 29) + +/** + * @generated from message sdk.v1alpha.CapabilityRestrictions + */ +export type CapabilityRestrictions = Message<'sdk.v1alpha.CapabilityRestrictions'> & { + /** + * @generated from field: repeated sdk.v1alpha.CapabilityRestriction restrictions = 1; + */ + restrictions: CapabilityRestriction[] + + /** + * @generated from field: int32 max_total_calls = 2; + */ + maxTotalCalls: number + + /** + * @generated from field: sdk.v1alpha.CapabilityRestrictionType type = 3; + */ + type: CapabilityRestrictionType +} + +/** + * @generated from message sdk.v1alpha.CapabilityRestrictions + */ +export type CapabilityRestrictionsJson = { + /** + * @generated from field: repeated sdk.v1alpha.CapabilityRestriction restrictions = 1; + */ + restrictions?: CapabilityRestrictionJson[] + + /** + * @generated from field: int32 max_total_calls = 2; + */ + maxTotalCalls?: number + + /** + * @generated from field: sdk.v1alpha.CapabilityRestrictionType type = 3; + */ + type?: CapabilityRestrictionTypeJson +} + +/** + * Describes the message sdk.v1alpha.CapabilityRestrictions. + * Use `create(CapabilityRestrictionsSchema)` to create a new message. + */ +export const CapabilityRestrictionsSchema: GenMessage< + CapabilityRestrictions, + { jsonType: CapabilityRestrictionsJson } +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 30) + +/** + * @generated from message sdk.v1alpha.SecretPrefixRestriction + */ +export type SecretPrefixRestriction = Message<'sdk.v1alpha.SecretPrefixRestriction'> & { + /** + * @generated from field: string prefix = 1; + */ + prefix: string + + /** + * @generated from field: string namespace = 2; + */ + namespace: string + + /** + * @generated from field: int32 max_secrets = 3; + */ + maxSecrets: number +} + +/** + * @generated from message sdk.v1alpha.SecretPrefixRestriction + */ +export type SecretPrefixRestrictionJson = { + /** + * @generated from field: string prefix = 1; + */ + prefix?: string + + /** + * @generated from field: string namespace = 2; + */ + namespace?: string + + /** + * @generated from field: int32 max_secrets = 3; + */ + maxSecrets?: number +} + +/** + * Describes the message sdk.v1alpha.SecretPrefixRestriction. + * Use `create(SecretPrefixRestrictionSchema)` to create a new message. + */ +export const SecretPrefixRestrictionSchema: GenMessage< + SecretPrefixRestriction, + { jsonType: SecretPrefixRestrictionJson } +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 31) + +/** + * @generated from message sdk.v1alpha.SecretRestriction + */ +export type SecretRestriction = Message<'sdk.v1alpha.SecretRestriction'> & { + /** + * @generated from oneof sdk.v1alpha.SecretRestriction.restriction + */ + restriction: + | { + /** + * @generated from field: sdk.v1alpha.Secret exact_secret = 1; + */ + value: Secret + case: 'exactSecret' + } + | { + /** + * @generated from field: sdk.v1alpha.SecretPrefixRestriction prefixed_secret = 2; + */ + value: SecretPrefixRestriction + case: 'prefixedSecret' + } + | { case: undefined; value?: undefined } +} + +/** + * @generated from message sdk.v1alpha.SecretRestriction + */ +export type SecretRestrictionJson = { + /** + * @generated from field: sdk.v1alpha.Secret exact_secret = 1; + */ + exactSecret?: SecretJson + + /** + * @generated from field: sdk.v1alpha.SecretPrefixRestriction prefixed_secret = 2; + */ + prefixedSecret?: SecretPrefixRestrictionJson +} + +/** + * Describes the message sdk.v1alpha.SecretRestriction. + * Use `create(SecretRestrictionSchema)` to create a new message. + */ +export const SecretRestrictionSchema: GenMessage< + SecretRestriction, + { jsonType: SecretRestrictionJson } +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 32) + +/** + * @generated from message sdk.v1alpha.SecretsRestritions + */ +export type SecretsRestritions = Message<'sdk.v1alpha.SecretsRestritions'> & { + /** + * @generated from field: repeated sdk.v1alpha.SecretRestriction restrictions = 1; + */ + restrictions: SecretRestriction[] + + /** + * @generated from field: int32 max_secrets = 2; + */ + maxSecrets: number +} + +/** + * @generated from message sdk.v1alpha.SecretsRestritions + */ +export type SecretsRestritionsJson = { + /** + * @generated from field: repeated sdk.v1alpha.SecretRestriction restrictions = 1; + */ + restrictions?: SecretRestrictionJson[] + + /** + * @generated from field: int32 max_secrets = 2; + */ + maxSecrets?: number +} + +/** + * Describes the message sdk.v1alpha.SecretsRestritions. + * Use `create(SecretsRestritionsSchema)` to create a new message. + */ +export const SecretsRestritionsSchema: GenMessage< + SecretsRestritions, + { jsonType: SecretsRestritionsJson } +> = /*@__PURE__*/ messageDesc(file_sdk_v1alpha_sdk, 33) + +/** + * @generated from message sdk.v1alpha.Restrictions + */ +export type Restrictions = Message<'sdk.v1alpha.Restrictions'> & { + /** + * @generated from field: sdk.v1alpha.SecretsRestritions secrets = 1; + */ + secrets?: SecretsRestritions + + /** + * @generated from field: sdk.v1alpha.CapabilityRestrictions capabilities = 2; + */ + capabilities?: CapabilityRestrictions +} + +/** + * @generated from message sdk.v1alpha.Restrictions + */ +export type RestrictionsJson = { + /** + * @generated from field: sdk.v1alpha.SecretsRestritions secrets = 1; + */ + secrets?: SecretsRestritionsJson + + /** + * @generated from field: sdk.v1alpha.CapabilityRestrictions capabilities = 2; + */ + capabilities?: CapabilityRestrictionsJson +} + +/** + * Describes the message sdk.v1alpha.Restrictions. + * Use `create(RestrictionsSchema)` to create a new message. + */ +export const RestrictionsSchema: GenMessage = + /*@__PURE__*/ + messageDesc(file_sdk_v1alpha_sdk, 34) /** * @generated from enum sdk.v1alpha.AggregationType @@ -1100,6 +1636,11 @@ export enum AggregationType { * @generated from enum value: AGGREGATION_TYPE_COMMON_SUFFIX = 4; */ COMMON_SUFFIX = 4, + + /** + * @generated from enum value: AGGREGATION_TYPE_FREQUENCY_LIST = 5; + */ + FREQUENCY_LIST = 5, } /** @@ -1111,6 +1652,7 @@ export type AggregationTypeJson = | 'AGGREGATION_TYPE_IDENTICAL' | 'AGGREGATION_TYPE_COMMON_PREFIX' | 'AGGREGATION_TYPE_COMMON_SUFFIX' + | 'AGGREGATION_TYPE_FREQUENCY_LIST' /** * Describes the enum sdk.v1alpha.AggregationType. @@ -1148,3 +1690,60 @@ export type ModeJson = 'MODE_UNSPECIFIED' | 'MODE_DON' | 'MODE_NODE' * Describes the enum sdk.v1alpha.Mode. */ export const ModeSchema: GenEnum = /*@__PURE__*/ enumDesc(file_sdk_v1alpha_sdk, 1) + +/** + * @generated from enum sdk.v1alpha.TeeType + */ +export enum TeeType { + /** + * @generated from enum value: TEE_TYPE_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: TEE_TYPE_AWS_NITRO = 1; + */ + AWS_NITRO = 1, +} + +/** + * @generated from enum sdk.v1alpha.TeeType + */ +export type TeeTypeJson = 'TEE_TYPE_UNSPECIFIED' | 'TEE_TYPE_AWS_NITRO' + +/** + * Describes the enum sdk.v1alpha.TeeType. + */ +export const TeeTypeSchema: GenEnum = + /*@__PURE__*/ + enumDesc(file_sdk_v1alpha_sdk, 2) + +/** + * @generated from enum sdk.v1alpha.CapabilityRestrictionType + */ +export enum CapabilityRestrictionType { + /** + * @generated from enum value: CAPABILITY_RESTRICTION_TYPE_CLOSED = 0; + */ + CLOSED = 0, + + /** + * @generated from enum value: CAPABILITY_RESTRICTION_TYPE_OPEN = 1; + */ + OPEN = 1, +} + +/** + * @generated from enum sdk.v1alpha.CapabilityRestrictionType + */ +export type CapabilityRestrictionTypeJson = + | 'CAPABILITY_RESTRICTION_TYPE_CLOSED' + | 'CAPABILITY_RESTRICTION_TYPE_OPEN' + +/** + * Describes the enum sdk.v1alpha.CapabilityRestrictionType. + */ +export const CapabilityRestrictionTypeSchema: GenEnum< + CapabilityRestrictionType, + CapabilityRestrictionTypeJson +> = /*@__PURE__*/ enumDesc(file_sdk_v1alpha_sdk, 3) diff --git a/packages/cre-sdk/src/generated/tools/generator/v1alpha/cre_metadata_pb.ts b/packages/cre-sdk/src/generated/tools/generator/v1alpha/cre_metadata_pb.ts index dfafc07f..dfad21cf 100644 --- a/packages/cre-sdk/src/generated/tools/generator/v1alpha/cre_metadata_pb.ts +++ b/packages/cre-sdk/src/generated/tools/generator/v1alpha/cre_metadata_pb.ts @@ -3,8 +3,8 @@ /* eslint-disable */ import type { Message } from '@bufbuild/protobuf' -import type { GenExtension, GenFile, GenMessage } from '@bufbuild/protobuf/codegenv2' -import { extDesc, fileDesc, messageDesc } from '@bufbuild/protobuf/codegenv2' +import type { GenEnum, GenExtension, GenFile, GenMessage } from '@bufbuild/protobuf/codegenv2' +import { enumDesc, extDesc, fileDesc, messageDesc } from '@bufbuild/protobuf/codegenv2' import type { MethodOptions, ServiceOptions } from '@bufbuild/protobuf/wkt' import { file_google_protobuf_descriptor } from '@bufbuild/protobuf/wkt' import type { Mode, ModeJson } from '../../../sdk/v1alpha/sdk_pb' @@ -16,7 +16,7 @@ import { file_sdk_v1alpha_sdk } from '../../../sdk/v1alpha/sdk_pb' export const file_tools_generator_v1alpha_cre_metadata: GenFile = /*@__PURE__*/ fileDesc( - 'Cip0b29scy9nZW5lcmF0b3IvdjFhbHBoYS9jcmVfbWV0YWRhdGEucHJvdG8SF3Rvb2xzLmdlbmVyYXRvci52MWFscGhhIoQBCgtTdHJpbmdMYWJlbBJECghkZWZhdWx0cxgBIAMoCzIyLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLlN0cmluZ0xhYmVsLkRlZmF1bHRzRW50cnkaLwoNRGVmYXVsdHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIogBCgtVaW50NjRMYWJlbBJECghkZWZhdWx0cxgBIAMoCzIyLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLlVpbnQ2NExhYmVsLkRlZmF1bHRzRW50cnkaMwoNRGVmYXVsdHNFbnRyeRILCgNrZXkYASABKAkSEQoFdmFsdWUYAiABKARCAjAAOgI4ASKEAQoLVWludDMyTGFiZWwSRAoIZGVmYXVsdHMYASADKAsyMi50b29scy5nZW5lcmF0b3IudjFhbHBoYS5VaW50MzJMYWJlbC5EZWZhdWx0c0VudHJ5Gi8KDURlZmF1bHRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgNOgI4ASKGAQoKSW50NjRMYWJlbBJDCghkZWZhdWx0cxgBIAMoCzIxLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLkludDY0TGFiZWwuRGVmYXVsdHNFbnRyeRozCg1EZWZhdWx0c0VudHJ5EgsKA2tleRgBIAEoCRIRCgV2YWx1ZRgCIAEoA0ICMAA6AjgBIoIBCgpJbnQzMkxhYmVsEkMKCGRlZmF1bHRzGAEgAygLMjEudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuSW50MzJMYWJlbC5EZWZhdWx0c0VudHJ5Gi8KDURlZmF1bHRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASLBAgoFTGFiZWwSPAoMc3RyaW5nX2xhYmVsGAEgASgLMiQudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuU3RyaW5nTGFiZWxIABI8Cgx1aW50NjRfbGFiZWwYAiABKAsyJC50b29scy5nZW5lcmF0b3IudjFhbHBoYS5VaW50NjRMYWJlbEgAEjoKC2ludDY0X2xhYmVsGAMgASgLMiMudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuSW50NjRMYWJlbEgAEjwKDHVpbnQzMl9sYWJlbBgEIAEoCzIkLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLlVpbnQzMkxhYmVsSAASOgoLaW50MzJfbGFiZWwYBSABKAsyIy50b29scy5nZW5lcmF0b3IudjFhbHBoYS5JbnQzMkxhYmVsSABCBgoEa2luZCLkAQoSQ2FwYWJpbGl0eU1ldGFkYXRhEh8KBG1vZGUYASABKA4yES5zZGsudjFhbHBoYS5Nb2RlEhUKDWNhcGFiaWxpdHlfaWQYAiABKAkSRwoGbGFiZWxzGAMgAygLMjcudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuQ2FwYWJpbGl0eU1ldGFkYXRhLkxhYmVsc0VudHJ5Gk0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRItCgV2YWx1ZRgCIAEoCzIeLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLkxhYmVsOgI4ASI2ChhDYXBhYmlsaXR5TWV0aG9kTWV0YWRhdGESGgoSbWFwX3RvX3VudHlwZWRfYXBpGAEgASgIOm4KCmNhcGFiaWxpdHkSHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMY0IYDIAEoCzIrLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLkNhcGFiaWxpdHlNZXRhZGF0YVIKY2FwYWJpbGl0eTprCgZtZXRob2QSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxjRhgMgASgLMjEudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuQ2FwYWJpbGl0eU1ldGhvZE1ldGFkYXRhUgZtZXRob2RCrwEKG2NvbS50b29scy5nZW5lcmF0b3IudjFhbHBoYUIQQ3JlTWV0YWRhdGFQcm90b1ABogIDVEdYqgIXVG9vbHMuR2VuZXJhdG9yLlYxYWxwaGHKAhhUb29sc1xHZW5lcmF0b3JfXFYxYWxwaGHiAiRUb29sc1xHZW5lcmF0b3JfXFYxYWxwaGFcR1BCTWV0YWRhdGHqAhlUb29sczo6R2VuZXJhdG9yOjpWMWFscGhhYgZwcm90bzM', + 'Cip0b29scy9nZW5lcmF0b3IvdjFhbHBoYS9jcmVfbWV0YWRhdGEucHJvdG8SF3Rvb2xzLmdlbmVyYXRvci52MWFscGhhIoQBCgtTdHJpbmdMYWJlbBJECghkZWZhdWx0cxgBIAMoCzIyLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLlN0cmluZ0xhYmVsLkRlZmF1bHRzRW50cnkaLwoNRGVmYXVsdHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIogBCgtVaW50NjRMYWJlbBJECghkZWZhdWx0cxgBIAMoCzIyLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLlVpbnQ2NExhYmVsLkRlZmF1bHRzRW50cnkaMwoNRGVmYXVsdHNFbnRyeRILCgNrZXkYASABKAkSEQoFdmFsdWUYAiABKARCAjAAOgI4ASKEAQoLVWludDMyTGFiZWwSRAoIZGVmYXVsdHMYASADKAsyMi50b29scy5nZW5lcmF0b3IudjFhbHBoYS5VaW50MzJMYWJlbC5EZWZhdWx0c0VudHJ5Gi8KDURlZmF1bHRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgNOgI4ASKGAQoKSW50NjRMYWJlbBJDCghkZWZhdWx0cxgBIAMoCzIxLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLkludDY0TGFiZWwuRGVmYXVsdHNFbnRyeRozCg1EZWZhdWx0c0VudHJ5EgsKA2tleRgBIAEoCRIRCgV2YWx1ZRgCIAEoA0ICMAA6AjgBIoIBCgpJbnQzMkxhYmVsEkMKCGRlZmF1bHRzGAEgAygLMjEudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuSW50MzJMYWJlbC5EZWZhdWx0c0VudHJ5Gi8KDURlZmF1bHRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASLBAgoFTGFiZWwSPAoMc3RyaW5nX2xhYmVsGAEgASgLMiQudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuU3RyaW5nTGFiZWxIABI8Cgx1aW50NjRfbGFiZWwYAiABKAsyJC50b29scy5nZW5lcmF0b3IudjFhbHBoYS5VaW50NjRMYWJlbEgAEjoKC2ludDY0X2xhYmVsGAMgASgLMiMudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuSW50NjRMYWJlbEgAEjwKDHVpbnQzMl9sYWJlbBgEIAEoCzIkLnRvb2xzLmdlbmVyYXRvci52MWFscGhhLlVpbnQzMkxhYmVsSAASOgoLaW50MzJfbGFiZWwYBSABKAsyIy50b29scy5nZW5lcmF0b3IudjFhbHBoYS5JbnQzMkxhYmVsSABCBgoEa2luZCK2AgoSQ2FwYWJpbGl0eU1ldGFkYXRhEh8KBG1vZGUYASABKA4yES5zZGsudjFhbHBoYS5Nb2RlEhUKDWNhcGFiaWxpdHlfaWQYAiABKAkSRwoGbGFiZWxzGAMgAygLMjcudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuQ2FwYWJpbGl0eU1ldGFkYXRhLkxhYmVsc0VudHJ5ElAKF2FkZGl0aW9uYWxfZW52aXJvbm1lbnRzGAQgAygOMi8udG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuQWRkaXRpb25hbEVudmlyb25tZW50cxpNCgtMYWJlbHNFbnRyeRILCgNrZXkYASABKAkSLQoFdmFsdWUYAiABKAsyHi50b29scy5nZW5lcmF0b3IudjFhbHBoYS5MYWJlbDoCOAEiNgoYQ2FwYWJpbGl0eU1ldGhvZE1ldGFkYXRhEhoKEm1hcF90b191bnR5cGVkX2FwaRgBIAEoCCpiChZBZGRpdGlvbmFsRW52aXJvbm1lbnRzEicKI0FERElUSU9OQUxfRU5WSVJPTk1FTlRTX1VOU1BFQ0lGSUVEEAASHwobQURESVRJT05BTF9FTlZJUk9OTUVOVFNfVEVFEAE6bgoKY2FwYWJpbGl0eRIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxjQhgMgASgLMisudG9vbHMuZ2VuZXJhdG9yLnYxYWxwaGEuQ2FwYWJpbGl0eU1ldGFkYXRhUgpjYXBhYmlsaXR5OmsKBm1ldGhvZBIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGNGGAyABKAsyMS50b29scy5nZW5lcmF0b3IudjFhbHBoYS5DYXBhYmlsaXR5TWV0aG9kTWV0YWRhdGFSBm1ldGhvZEKvAQobY29tLnRvb2xzLmdlbmVyYXRvci52MWFscGhhQhBDcmVNZXRhZGF0YVByb3RvUAGiAgNUR1iqAhdUb29scy5HZW5lcmF0b3IuVjFhbHBoYcoCGFRvb2xzXEdlbmVyYXRvcl9cVjFhbHBoYeICJFRvb2xzXEdlbmVyYXRvcl9cVjFhbHBoYVxHUEJNZXRhZGF0YeoCGVRvb2xzOjpHZW5lcmF0b3I6OlYxYWxwaGFiBnByb3RvMw', [file_google_protobuf_descriptor, file_sdk_v1alpha_sdk], ) @@ -262,6 +262,11 @@ export type CapabilityMetadata = Message<'tools.generator.v1alpha.CapabilityMeta * @generated from field: map labels = 3; */ labels: { [key: string]: Label } + + /** + * @generated from field: repeated tools.generator.v1alpha.AdditionalEnvironments additional_environments = 4; + */ + additionalEnvironments: AdditionalEnvironments[] } /** @@ -282,6 +287,11 @@ export type CapabilityMetadataJson = { * @generated from field: map labels = 3; */ labels?: { [key: string]: LabelJson } + + /** + * @generated from field: repeated tools.generator.v1alpha.AdditionalEnvironments additional_environments = 4; + */ + additionalEnvironments?: AdditionalEnvironmentsJson[] } /** @@ -323,6 +333,36 @@ export const CapabilityMethodMetadataSchema: GenMessage< { jsonType: CapabilityMethodMetadataJson } > = /*@__PURE__*/ messageDesc(file_tools_generator_v1alpha_cre_metadata, 7) +/** + * @generated from enum tools.generator.v1alpha.AdditionalEnvironments + */ +export enum AdditionalEnvironments { + /** + * @generated from enum value: ADDITIONAL_ENVIRONMENTS_UNSPECIFIED = 0; + */ + UNSPECIFIED = 0, + + /** + * @generated from enum value: ADDITIONAL_ENVIRONMENTS_TEE = 1; + */ + TEE = 1, +} + +/** + * @generated from enum tools.generator.v1alpha.AdditionalEnvironments + */ +export type AdditionalEnvironmentsJson = + | 'ADDITIONAL_ENVIRONMENTS_UNSPECIFIED' + | 'ADDITIONAL_ENVIRONMENTS_TEE' + +/** + * Describes the enum tools.generator.v1alpha.AdditionalEnvironments. + */ +export const AdditionalEnvironmentsSchema: GenEnum< + AdditionalEnvironments, + AdditionalEnvironmentsJson +> = /*@__PURE__*/ enumDesc(file_tools_generator_v1alpha_cre_metadata, 0) + /** * 50000-99999 is the range for custom options. * diff --git a/packages/cre-sdk/src/generator/generate-action.ts b/packages/cre-sdk/src/generator/generate-action.ts index a9635b03..5b338e28 100644 --- a/packages/cre-sdk/src/generator/generate-action.ts +++ b/packages/cre-sdk/src/generator/generate-action.ts @@ -104,13 +104,13 @@ export function generateActionMethod( if (modePrefix === 'Node') { const sugarClassName = `${methodName.charAt(0).toUpperCase() + methodName.slice(1)}er` - const sugarSig = `( + const sugarSig = `( runtime: Runtime, - fn: (${methodName}er: ${sugarClassName}, ...args: TArgs) => TOutput, - consensusAggregation: ConsensusAggregation, - unwrapOptions?: TOutput extends PrimitiveTypes + fn: (${methodName}er: ${sugarClassName}, ...args: TArgs) => TInput, + consensusAggregation: ConsensusAggregation, + unwrapOptions?: TInput extends PrimitiveTypes ? never - : UnwrapOptions, + : UnwrapOptions, ): (...args: TArgs) => { result: () => TOutput }` return ` ${methodName}${callSig} @@ -118,7 +118,7 @@ export function generateActionMethod( ${methodName}(...args: unknown[]): unknown { // Check if this is the sugar syntax overload (has function parameter) if (typeof args[1] === 'function') { - const [runtime, fn, consensusAggregation, unwrapOptions] = args as [Runtime, (${methodName}er: ${sugarClassName}, ...args: unknown[]) => unknown, ConsensusAggregation, UnwrapOptions | undefined] + const [runtime, fn, consensusAggregation, unwrapOptions] = args as [Runtime, (${methodName}er: ${sugarClassName}, ...args: unknown[]) => unknown, ConsensusAggregation, UnwrapOptions | undefined] return this.${methodName}SugarHelper(runtime, fn, consensusAggregation, unwrapOptions) } // Otherwise, this is the basic call overload diff --git a/packages/cre-sdk/src/sdk/impl/runtime-impl.ts b/packages/cre-sdk/src/sdk/impl/runtime-impl.ts index 8198e416..195203e2 100644 --- a/packages/cre-sdk/src/sdk/impl/runtime-impl.ts +++ b/packages/cre-sdk/src/sdk/impl/runtime-impl.ts @@ -249,10 +249,10 @@ export class RuntimeImpl extends BaseRuntimeImpl implements Runtime { * 5. Runs consensus to aggregate observations * 6. Returns aggregated result */ - runInNodeMode( - fn: (nodeRuntime: NodeRuntime, ...args: TArgs) => TOutput, - consensusAggregation: ConsensusAggregation, - unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions, + runInNodeMode( + fn: (nodeRuntime: NodeRuntime, ...args: TArgs) => TInput, + consensusAggregation: ConsensusAggregation, + unwrapOptions?: TInput extends PrimitiveTypes ? never : UnwrapOptions, ): (...args: TArgs) => { result: () => TOutput } { return (...args: TArgs): { result: () => TOutput } => { // Step 1: Create node runtime and prevent DON operations @@ -279,21 +279,21 @@ export class RuntimeImpl extends BaseRuntimeImpl implements Runtime { } // Step 5: Run consensus and return lazy result - return this.runConsensusAndWrap(consensusInput, unwrapOptions) + return this.runConsensusAndWrap(consensusInput, unwrapOptions) } } - private prepareConsensusInput( - consensusAggregation: ConsensusAggregation, + private prepareConsensusInput( + consensusAggregation: ConsensusAggregation, ) { const consensusInput = create(SimpleConsensusInputsSchema, { descriptors: consensusAggregation.descriptor, }) if (consensusAggregation.defaultValue) { - // Safe cast: ConsensusAggregation implies T extends CreSerializable + // Safe cast: ConsensusAggregation implies TInput extends CreSerializable const defaultValue = Value.from( - consensusAggregation.defaultValue as CreSerializable, + consensusAggregation.defaultValue as CreSerializable, ).proto() clearIgnoredFields(defaultValue, consensusAggregation.descriptor) consensusInput.default = defaultValue @@ -302,13 +302,13 @@ export class RuntimeImpl extends BaseRuntimeImpl implements Runtime { return consensusInput } - private captureObservation( + private captureObservation( consensusInput: any, - observation: TOutput, + observation: TInput, descriptor: ConsensusDescriptor, ) { - // Safe cast: ConsensusAggregation implies T extends CreSerializable - const observationValue = Value.from(observation as CreSerializable).proto() + // Safe cast: ConsensusAggregation implies TInput extends CreSerializable + const observationValue = Value.from(observation as CreSerializable).proto() clearIgnoredFields(observationValue, descriptor) consensusInput.observation = { case: 'value', @@ -330,9 +330,9 @@ export class RuntimeImpl extends BaseRuntimeImpl implements Runtime { this.helpers.switchModes(Mode.DON) } - private runConsensusAndWrap( + private runConsensusAndWrap( consensusInput: any, - unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions, + unwrapOptions?: TInput extends PrimitiveTypes ? never : UnwrapOptions, ): { result: () => TOutput } { const consensus = new ConsensusCapability() const call = consensus.simple(this, consensusInput) @@ -342,9 +342,9 @@ export class RuntimeImpl extends BaseRuntimeImpl implements Runtime { const result = call.result() const wrappedValue = Value.wrap(result) - return unwrapOptions - ? wrappedValue.unwrapToType(unwrapOptions) - : (wrappedValue.unwrap() as TOutput) + return ( + unwrapOptions ? wrappedValue.unwrapToType(unwrapOptions) : wrappedValue.unwrap() + ) as TOutput }, } } diff --git a/packages/cre-sdk/src/sdk/runtime.ts b/packages/cre-sdk/src/sdk/runtime.ts index fd1c3be5..b3709723 100644 --- a/packages/cre-sdk/src/sdk/runtime.ts +++ b/packages/cre-sdk/src/sdk/runtime.ts @@ -51,10 +51,10 @@ export interface Runtime extends BaseRuntime, SecretsProvider { * @param unwrapOptions - Optional unwrapping config for complex return types * @returns Wrapped function that returns aggregated result */ - runInNodeMode( - fn: (nodeRuntime: NodeRuntime, ...args: TArgs) => TOutput, - consensusAggregation: ConsensusAggregation, - unwrapOptions?: TOutput extends PrimitiveTypes ? never : UnwrapOptions, + runInNodeMode( + fn: (nodeRuntime: NodeRuntime, ...args: TArgs) => TInput, + consensusAggregation: ConsensusAggregation, + unwrapOptions?: TInput extends PrimitiveTypes ? never : UnwrapOptions, ): (...args: TArgs) => { result: () => TOutput } report(input: ReportRequest | ReportRequestJson): { result: () => Report } diff --git a/packages/cre-sdk/src/sdk/test/generated/capabilities/blockchain/solana/v1alpha/solana_mock_gen.ts b/packages/cre-sdk/src/sdk/test/generated/capabilities/blockchain/solana/v1alpha/solana_mock_gen.ts index ffaac3a2..c347d165 100644 --- a/packages/cre-sdk/src/sdk/test/generated/capabilities/blockchain/solana/v1alpha/solana_mock_gen.ts +++ b/packages/cre-sdk/src/sdk/test/generated/capabilities/blockchain/solana/v1alpha/solana_mock_gen.ts @@ -1,6 +1,51 @@ import { fromJson } from '@bufbuild/protobuf' import { anyPack, anyUnpack } from '@bufbuild/protobuf/wkt' import { + type GetAccountInfoWithOptsReply, + type GetAccountInfoWithOptsReplyJson, + GetAccountInfoWithOptsReplySchema, + type GetAccountInfoWithOptsRequest, + GetAccountInfoWithOptsRequestSchema, + type GetBalanceReply, + type GetBalanceReplyJson, + GetBalanceReplySchema, + type GetBalanceRequest, + GetBalanceRequestSchema, + type GetBlockReply, + type GetBlockReplyJson, + GetBlockReplySchema, + type GetBlockRequest, + GetBlockRequestSchema, + type GetFeeForMessageReply, + type GetFeeForMessageReplyJson, + GetFeeForMessageReplySchema, + type GetFeeForMessageRequest, + GetFeeForMessageRequestSchema, + type GetMultipleAccountsWithOptsReply, + type GetMultipleAccountsWithOptsReplyJson, + GetMultipleAccountsWithOptsReplySchema, + type GetMultipleAccountsWithOptsRequest, + GetMultipleAccountsWithOptsRequestSchema, + type GetProgramAccountsReply, + type GetProgramAccountsReplyJson, + GetProgramAccountsReplySchema, + type GetProgramAccountsRequest, + GetProgramAccountsRequestSchema, + type GetSignatureStatusesReply, + type GetSignatureStatusesReplyJson, + GetSignatureStatusesReplySchema, + type GetSignatureStatusesRequest, + GetSignatureStatusesRequestSchema, + type GetSlotHeightReply, + type GetSlotHeightReplyJson, + GetSlotHeightReplySchema, + type GetSlotHeightRequest, + GetSlotHeightRequestSchema, + type GetTransactionReply, + type GetTransactionReplyJson, + GetTransactionReplySchema, + type GetTransactionRequest, + GetTransactionRequestSchema, type WriteReportReply, type WriteReportReplyJson, WriteReportReplySchema, @@ -20,6 +65,43 @@ import { export class SolanaMock { static readonly CAPABILITY_ID = 'solana@1.0.0' + /** Set to define the return value for GetAccountInfoWithOpts. May return a plain object (GetAccountInfoWithOptsReplyJson) or the message type. */ + getAccountInfoWithOpts?: ( + input: GetAccountInfoWithOptsRequest, + ) => GetAccountInfoWithOptsReply | GetAccountInfoWithOptsReplyJson + + /** Set to define the return value for GetBalance. May return a plain object (GetBalanceReplyJson) or the message type. */ + getBalance?: (input: GetBalanceRequest) => GetBalanceReply | GetBalanceReplyJson + + /** Set to define the return value for GetBlock. May return a plain object (GetBlockReplyJson) or the message type. */ + getBlock?: (input: GetBlockRequest) => GetBlockReply | GetBlockReplyJson + + /** Set to define the return value for GetFeeForMessage. May return a plain object (GetFeeForMessageReplyJson) or the message type. */ + getFeeForMessage?: ( + input: GetFeeForMessageRequest, + ) => GetFeeForMessageReply | GetFeeForMessageReplyJson + + /** Set to define the return value for GetMultipleAccountsWithOpts. May return a plain object (GetMultipleAccountsWithOptsReplyJson) or the message type. */ + getMultipleAccountsWithOpts?: ( + input: GetMultipleAccountsWithOptsRequest, + ) => GetMultipleAccountsWithOptsReply | GetMultipleAccountsWithOptsReplyJson + + /** Set to define the return value for GetProgramAccounts. May return a plain object (GetProgramAccountsReplyJson) or the message type. */ + getProgramAccounts?: ( + input: GetProgramAccountsRequest, + ) => GetProgramAccountsReply | GetProgramAccountsReplyJson + + /** Set to define the return value for GetSignatureStatuses. May return a plain object (GetSignatureStatusesReplyJson) or the message type. */ + getSignatureStatuses?: ( + input: GetSignatureStatusesRequest, + ) => GetSignatureStatusesReply | GetSignatureStatusesReplyJson + + /** Set to define the return value for GetSlotHeight. May return a plain object (GetSlotHeightReplyJson) or the message type. */ + getSlotHeight?: (input: GetSlotHeightRequest) => GetSlotHeightReply | GetSlotHeightReplyJson + + /** Set to define the return value for GetTransaction. May return a plain object (GetTransactionReplyJson) or the message type. */ + getTransaction?: (input: GetTransactionRequest) => GetTransactionReply | GetTransactionReplyJson + /** Set to define the return value for WriteReport. May return a plain object (WriteReportReplyJson) or the message type. */ writeReport?: (input: WriteReportRequest) => WriteReportReply | WriteReportReplyJson @@ -29,6 +111,179 @@ export class SolanaMock { try { registerTestCapability(qualifiedId, (req) => { switch (req.method) { + case 'GetAccountInfoWithOpts': { + const input = anyUnpack( + req.payload, + GetAccountInfoWithOptsRequestSchema, + ) as GetAccountInfoWithOptsRequest + const handler = self.getAccountInfoWithOpts + if (typeof handler !== 'function') + throw new Error( + "GetAccountInfoWithOpts: no implementation provided; set the mock's getAccountInfoWithOpts property to define the return value.", + ) + const raw = handler(input) + const output = + raw && typeof (raw as unknown as { $typeName?: string }).$typeName === 'string' + ? (raw as GetAccountInfoWithOptsReply) + : fromJson( + GetAccountInfoWithOptsReplySchema, + raw as GetAccountInfoWithOptsReplyJson, + ) + return { + response: { + case: 'payload', + value: anyPack(GetAccountInfoWithOptsReplySchema, output), + }, + } + } + case 'GetBalance': { + const input = anyUnpack(req.payload, GetBalanceRequestSchema) as GetBalanceRequest + const handler = self.getBalance + if (typeof handler !== 'function') + throw new Error( + "GetBalance: no implementation provided; set the mock's getBalance property to define the return value.", + ) + const raw = handler(input) + const output = + raw && typeof (raw as unknown as { $typeName?: string }).$typeName === 'string' + ? (raw as GetBalanceReply) + : fromJson(GetBalanceReplySchema, raw as GetBalanceReplyJson) + return { response: { case: 'payload', value: anyPack(GetBalanceReplySchema, output) } } + } + case 'GetBlock': { + const input = anyUnpack(req.payload, GetBlockRequestSchema) as GetBlockRequest + const handler = self.getBlock + if (typeof handler !== 'function') + throw new Error( + "GetBlock: no implementation provided; set the mock's getBlock property to define the return value.", + ) + const raw = handler(input) + const output = + raw && typeof (raw as unknown as { $typeName?: string }).$typeName === 'string' + ? (raw as GetBlockReply) + : fromJson(GetBlockReplySchema, raw as GetBlockReplyJson) + return { response: { case: 'payload', value: anyPack(GetBlockReplySchema, output) } } + } + case 'GetFeeForMessage': { + const input = anyUnpack( + req.payload, + GetFeeForMessageRequestSchema, + ) as GetFeeForMessageRequest + const handler = self.getFeeForMessage + if (typeof handler !== 'function') + throw new Error( + "GetFeeForMessage: no implementation provided; set the mock's getFeeForMessage property to define the return value.", + ) + const raw = handler(input) + const output = + raw && typeof (raw as unknown as { $typeName?: string }).$typeName === 'string' + ? (raw as GetFeeForMessageReply) + : fromJson(GetFeeForMessageReplySchema, raw as GetFeeForMessageReplyJson) + return { + response: { case: 'payload', value: anyPack(GetFeeForMessageReplySchema, output) }, + } + } + case 'GetMultipleAccountsWithOpts': { + const input = anyUnpack( + req.payload, + GetMultipleAccountsWithOptsRequestSchema, + ) as GetMultipleAccountsWithOptsRequest + const handler = self.getMultipleAccountsWithOpts + if (typeof handler !== 'function') + throw new Error( + "GetMultipleAccountsWithOpts: no implementation provided; set the mock's getMultipleAccountsWithOpts property to define the return value.", + ) + const raw = handler(input) + const output = + raw && typeof (raw as unknown as { $typeName?: string }).$typeName === 'string' + ? (raw as GetMultipleAccountsWithOptsReply) + : fromJson( + GetMultipleAccountsWithOptsReplySchema, + raw as GetMultipleAccountsWithOptsReplyJson, + ) + return { + response: { + case: 'payload', + value: anyPack(GetMultipleAccountsWithOptsReplySchema, output), + }, + } + } + case 'GetProgramAccounts': { + const input = anyUnpack( + req.payload, + GetProgramAccountsRequestSchema, + ) as GetProgramAccountsRequest + const handler = self.getProgramAccounts + if (typeof handler !== 'function') + throw new Error( + "GetProgramAccounts: no implementation provided; set the mock's getProgramAccounts property to define the return value.", + ) + const raw = handler(input) + const output = + raw && typeof (raw as unknown as { $typeName?: string }).$typeName === 'string' + ? (raw as GetProgramAccountsReply) + : fromJson(GetProgramAccountsReplySchema, raw as GetProgramAccountsReplyJson) + return { + response: { case: 'payload', value: anyPack(GetProgramAccountsReplySchema, output) }, + } + } + case 'GetSignatureStatuses': { + const input = anyUnpack( + req.payload, + GetSignatureStatusesRequestSchema, + ) as GetSignatureStatusesRequest + const handler = self.getSignatureStatuses + if (typeof handler !== 'function') + throw new Error( + "GetSignatureStatuses: no implementation provided; set the mock's getSignatureStatuses property to define the return value.", + ) + const raw = handler(input) + const output = + raw && typeof (raw as unknown as { $typeName?: string }).$typeName === 'string' + ? (raw as GetSignatureStatusesReply) + : fromJson(GetSignatureStatusesReplySchema, raw as GetSignatureStatusesReplyJson) + return { + response: { + case: 'payload', + value: anyPack(GetSignatureStatusesReplySchema, output), + }, + } + } + case 'GetSlotHeight': { + const input = anyUnpack(req.payload, GetSlotHeightRequestSchema) as GetSlotHeightRequest + const handler = self.getSlotHeight + if (typeof handler !== 'function') + throw new Error( + "GetSlotHeight: no implementation provided; set the mock's getSlotHeight property to define the return value.", + ) + const raw = handler(input) + const output = + raw && typeof (raw as unknown as { $typeName?: string }).$typeName === 'string' + ? (raw as GetSlotHeightReply) + : fromJson(GetSlotHeightReplySchema, raw as GetSlotHeightReplyJson) + return { + response: { case: 'payload', value: anyPack(GetSlotHeightReplySchema, output) }, + } + } + case 'GetTransaction': { + const input = anyUnpack( + req.payload, + GetTransactionRequestSchema, + ) as GetTransactionRequest + const handler = self.getTransaction + if (typeof handler !== 'function') + throw new Error( + "GetTransaction: no implementation provided; set the mock's getTransaction property to define the return value.", + ) + const raw = handler(input) + const output = + raw && typeof (raw as unknown as { $typeName?: string }).$typeName === 'string' + ? (raw as GetTransactionReply) + : fromJson(GetTransactionReplySchema, raw as GetTransactionReplyJson) + return { + response: { case: 'payload', value: anyPack(GetTransactionReplySchema, output) }, + } + } case 'WriteReport': { const input = anyUnpack(req.payload, WriteReportRequestSchema) as WriteReportRequest const handler = self.writeReport diff --git a/packages/cre-sdk/src/sdk/utils/values/consensus_aggregators.test.ts b/packages/cre-sdk/src/sdk/utils/values/consensus_aggregators.test.ts index 7f581036..c7eb9873 100644 --- a/packages/cre-sdk/src/sdk/utils/values/consensus_aggregators.test.ts +++ b/packages/cre-sdk/src/sdk/utils/values/consensus_aggregators.test.ts @@ -8,8 +8,11 @@ import { commonSuffix, consensusCommonPrefixAggregation, consensusCommonSuffixAggregation, + consensusFrequencyListAggregation, consensusIdenticalAggregation, consensusMedianAggregation, + type FrequencyListEntry, + frequencyList, identical, ignore, median, @@ -21,40 +24,56 @@ import { describe('test consensus', () => { test('median', () => { assertSimpleConsensus(consensusMedianAggregation(), AggregationType.MEDIAN) - usableForConsensus(consensusMedianAggregation()) - usableForConsensus(consensusMedianAggregation()) - usableForConsensus(consensusMedianAggregation()) + usableForConsensus(consensusMedianAggregation()) + usableForConsensus(consensusMedianAggregation()) + usableForConsensus(consensusMedianAggregation()) // Restrictions on consensusMedianAggregation won't allow other types }) test('identical', () => { assertSimpleConsensus(consensusIdenticalAggregation(), AggregationType.IDENTICAL) - usableForConsensus(consensusIdenticalAggregation()) - usableForConsensus(consensusIdenticalAggregation()) - usableForConsensus(consensusIdenticalAggregation()) - usableForConsensus(consensusIdenticalAggregation()) - usableForConsensus(consensusIdenticalAggregation()) - usableForConsensus(consensusIdenticalAggregation()) + usableForConsensus(consensusIdenticalAggregation()) + usableForConsensus(consensusIdenticalAggregation()) + usableForConsensus(consensusIdenticalAggregation()) + usableForConsensus(consensusIdenticalAggregation()) + usableForConsensus(consensusIdenticalAggregation()) + usableForConsensus(consensusIdenticalAggregation()) }) test('common prefix', () => { assertSimpleConsensus(consensusCommonPrefixAggregation(), AggregationType.COMMON_PREFIX) - usableForConsensus(consensusCommonPrefixAggregation()) - usableForConsensus(consensusCommonPrefixAggregation()) - usableForConsensus(consensusCommonPrefixAggregation()) - usableForConsensus(consensusCommonPrefixAggregation()) - usableForConsensus(consensusCommonPrefixAggregation()) - usableForConsensus(consensusCommonPrefixAggregation()) + usableForConsensus(consensusCommonPrefixAggregation()) + usableForConsensus(consensusCommonPrefixAggregation()) + usableForConsensus(consensusCommonPrefixAggregation()) + usableForConsensus(consensusCommonPrefixAggregation()) + usableForConsensus(consensusCommonPrefixAggregation()) + usableForConsensus(consensusCommonPrefixAggregation()) }) - test('common prefix', () => { + test('common suffix', () => { assertSimpleConsensus(consensusCommonSuffixAggregation(), AggregationType.COMMON_SUFFIX) - usableForConsensus(consensusCommonSuffixAggregation()) - usableForConsensus(consensusCommonSuffixAggregation()) - usableForConsensus(consensusCommonSuffixAggregation()) - usableForConsensus(consensusCommonSuffixAggregation()) - usableForConsensus(consensusCommonSuffixAggregation()) - usableForConsensus(consensusCommonSuffixAggregation()) + usableForConsensus(consensusCommonSuffixAggregation()) + usableForConsensus(consensusCommonSuffixAggregation()) + usableForConsensus(consensusCommonSuffixAggregation()) + usableForConsensus(consensusCommonSuffixAggregation()) + usableForConsensus(consensusCommonSuffixAggregation()) + usableForConsensus(consensusCommonSuffixAggregation()) + }) + + test('frequency list', () => { + assertSimpleConsensus( + consensusFrequencyListAggregation(), + AggregationType.FREQUENCY_LIST, + ) + usableForConsensus[], true>( + consensusFrequencyListAggregation(), + ) + usableForConsensus[], true>( + consensusFrequencyListAggregation(), + ) + usableForConsensus[], false>( + consensusFrequencyListAggregation(), + ) }) test('with default adds default', () => { @@ -134,6 +153,15 @@ describe('test consensus', () => { usableForFieldConsensus(commonSuffix) }) + test('frequency list', () => { + const consensusAggregation = ConsensusAggregationByFields>({ + f1: frequencyList, + f2: frequencyList, + }) + assertFieldConsensus(consensusAggregation, AggregationType.FREQUENCY_LIST) + usableForFieldConsensus(frequencyList) + }) + test('ignore', () => { const consensusAggregation = ConsensusAggregationByFields({ f1: identical, @@ -146,13 +174,16 @@ describe('test consensus', () => { }) }) -function assertSimpleConsensus(c: ConsensusAggregation, expected: AggregationType) { +function assertSimpleConsensus( + c: ConsensusAggregation, + expected: AggregationType, +) { expect(c.defaultValue).toBeUndefined() const actual = expectCase(c.descriptor, 'aggregation') expect(actual).toEqual(expected) } -function assertFieldConsensus(c: ConsensusAggregation, expected: AggregationType) { +function assertFieldConsensus(c: ConsensusAggregation, expected: AggregationType) { expect(c.defaultValue).toBeUndefined() const actual = expectCase(c.descriptor, 'fieldsMap').fields const entries = Object.entries(actual) @@ -198,7 +229,9 @@ class InvalidFieldType { ) {} } -function usableForConsensus(a: ConsensusAggregation): ConsensusAggregation { +function usableForConsensus( + a: ConsensusAggregation, +): ConsensusAggregation { return a } diff --git a/packages/cre-sdk/src/sdk/utils/values/consensus_aggregators.ts b/packages/cre-sdk/src/sdk/utils/values/consensus_aggregators.ts index 3f2df472..46e610dc 100644 --- a/packages/cre-sdk/src/sdk/utils/values/consensus_aggregators.ts +++ b/packages/cre-sdk/src/sdk/utils/values/consensus_aggregators.ts @@ -7,18 +7,17 @@ import { FieldsMapSchema, } from '@cre/generated/sdk/v1alpha/sdk_pb' import type { CreSerializable, NumericType, TypeVerifier } from './serializer_types' +import { Int64 } from './value' -export type ConsensusAggregation = { +export type ConsensusAggregation = { readonly descriptor: ConsensusDescriptor - readonly defaultValue?: T - withDefault(t: T): ConsensusAggregation + readonly defaultValue?: TInput + withDefault(t: TInput): ConsensusAggregation _usesUToForceShape(u: U): void } -// Maybe make ConsensusAggregation take a second parameter, and it'll be true or false, then make anything using it require true -// Only take one type, but make the return type ConsensusAggregation> -// Similar for fields, but ignore would always return ConsensusAggregationFields instead of ConsensusAggregationFields>, and so would ConsensusAggregationByFields :D export function consensusMedianAggregation(): ConsensusAggregation< + T, T, TypeVerifier> > { @@ -26,6 +25,7 @@ export function consensusMedianAggregation(): ConsensusAg } export function consensusIdenticalAggregation(): ConsensusAggregation< + T, T, TypeVerifier> > { @@ -33,34 +33,53 @@ export function consensusIdenticalAggregation(): ConsensusAggregation< } export function consensusCommonPrefixAggregation(): ConsensusAggregation< + T[], T[], TypeVerifier> > { - return simpleConsensus(AggregationType.COMMON_PREFIX) + return simpleConsensus(AggregationType.COMMON_PREFIX) } export function consensusCommonSuffixAggregation(): ConsensusAggregation< + T[], T[], TypeVerifier> > { - return simpleConsensus(AggregationType.COMMON_SUFFIX) + return simpleConsensus(AggregationType.COMMON_SUFFIX) } -class ConsensusImpl implements ConsensusAggregation { +export class FrequencyListEntry { + constructor( + public value: T, + public count: Int64, + ) {} +} + +export function consensusFrequencyListAggregation(): ConsensusAggregation< + T[], + FrequencyListEntry[], + TypeVerifier> +> { + return simpleConsensus[]>(AggregationType.FREQUENCY_LIST) +} + +class ConsensusImpl implements ConsensusAggregation { constructor( readonly descriptor: ConsensusDescriptor, - readonly defaultValue?: T, + readonly defaultValue?: TInput, ) {} - withDefault(t: T): ConsensusAggregation { + withDefault(t: TInput): ConsensusAggregation { return new ConsensusImpl(this.descriptor, t) } _usesUToForceShape(_: U): void {} } -function simpleConsensus( +function simpleConsensus( agg: AggregationType, -): ConsensusAggregation>> { - return new ConsensusImpl>>(simpleDescriptor(agg)) +): ConsensusAggregation>> { + return new ConsensusImpl>>( + simpleDescriptor(agg), + ) } function simpleDescriptor(agg: AggregationType): ConsensusDescriptor { @@ -95,6 +114,13 @@ export function commonSuffix(): ConsensusFieldAggregation< return new ConsensusFieldAggregation(simpleDescriptor(AggregationType.COMMON_SUFFIX)) } +export function frequencyList(): ConsensusFieldAggregation< + T, + TypeVerifier> +> { + return new ConsensusFieldAggregation(simpleDescriptor(AggregationType.FREQUENCY_LIST)) +} + export function ignore(): ConsensusFieldAggregation { return new ConsensusFieldAggregation() } @@ -113,9 +139,14 @@ export type ConsensusAggregationFields = { [K in keyof T as K extends '$typeName' ? never : K]: () => ConsensusFieldAggregation } -export function ConsensusAggregationByFields( +// TOutput lets the consensus result type differ from the observed input type. It defaults to T +// (most field aggregators return the same shape they consume), but aggregators that reshape a +// field — e.g. `frequencyList`, which turns a field of type F into FrequencyListEntry[] — +// change the result. Pass TOutput explicitly in that case so `.result()` is typed correctly +// instead of forcing callers to cast (`.result() as unknown as ...`). +export function ConsensusAggregationByFields( aggregation: ConsensusAggregationFields, -): ConsensusAggregation { +): ConsensusAggregation { const fieldMap = create(FieldsMapSchema) Object.keys(aggregation).forEach((key) => { @@ -126,7 +157,7 @@ export function ConsensusAggregationByFields( } }) - return new ConsensusImpl( + return new ConsensusImpl( create(ConsensusDescriptorSchema, { descriptor: { case: 'fieldsMap', diff --git a/packages/cre-sdk/src/sdk/utils/values/serializer_types.ts b/packages/cre-sdk/src/sdk/utils/values/serializer_types.ts index 95133099..d298b43f 100644 --- a/packages/cre-sdk/src/sdk/utils/values/serializer_types.ts +++ b/packages/cre-sdk/src/sdk/utils/values/serializer_types.ts @@ -1,7 +1,7 @@ import type { Decimal, Int64, UInt64 } from './value' export type NumericType = number | bigint | Date | Decimal | Int64 | UInt64 -export type PrimitiveTypes = NumericType | boolean | string +export type PrimitiveTypes = NumericType | boolean | string | Uint8Array export type NonSerializable = | null | Map diff --git a/packages/cre-sdk/src/standard_tests/frequency_list/test.ts b/packages/cre-sdk/src/standard_tests/frequency_list/test.ts new file mode 100644 index 00000000..fcb4f3f5 --- /dev/null +++ b/packages/cre-sdk/src/standard_tests/frequency_list/test.ts @@ -0,0 +1,75 @@ +import { BasicCapability as BasicTriggerCapability } from '@cre/generated-sdk/capabilities/internal/basictrigger/v1/basic_sdk_gen' +import { BasicActionCapability as NodeActionCapability } from '@cre/generated-sdk/capabilities/internal/nodeaction/v1/basicaction_sdk_gen' +import { cre, type Runtime } from '@cre/sdk/cre' +import type { NodeRuntime } from '@cre/sdk/runtime' +import { + ConsensusAggregationByFields, + type FrequencyListEntry, + frequencyList, + identical, +} from '@cre/sdk/utils' +import { Runner } from '@cre/sdk/wasm' + +class NodeObservation { + constructor( + public payload: Uint8Array, + public signatures: Uint8Array, + ) {} +} + +type ConsensusResult = { + payload: Uint8Array + signatures: FrequencyListEntry[] +} + +const bytesToHex = (bytes: Uint8Array): string => + Array.from(bytes) + .map((b) => b.toString(16).padStart(2, '0')) + .join('') + +const formatFrequencyList = (entries: FrequencyListEntry[]): string => + entries.map((entry) => `${bytesToHex(entry.value)}x${entry.count.value}`).join(',') + +const formatResult = (result: ConsensusResult): string => + `${bytesToHex(result.payload)}|${formatFrequencyList(result.signatures)}` + +const handler = (runtime: Runtime) => { + const encoder = new TextEncoder() + const result = runtime + .runInNodeMode( + (nodeRuntime: NodeRuntime): NodeObservation => { + const nodeResponse = new NodeActionCapability() + .performAction(nodeRuntime, { inputThing: true }) + .result() + + return new NodeObservation( + encoder.encode(`payload-${nodeResponse.outputThing}`), + encoder.encode(`sig-${nodeResponse.outputThing}`), + ) + }, + ConsensusAggregationByFields({ + payload: identical, + signatures: frequencyList, + }), + )() + .result() + + return formatResult(result) +} + +const initWorkflow = () => { + const basicTrigger = new BasicTriggerCapability() + + return [cre.handler(basicTrigger.trigger({}), handler)] +} + +export async function main() { + console.log(`TS workflow: standard test: frequency_list [${new Date().toISOString()}]`) + + const runner = await Runner.newRunner({ + configParser: (c) => c, + }) + await runner.run(initWorkflow) +} + +await main() diff --git a/submodules/chainlink-protos b/submodules/chainlink-protos index 661b54b5..29c5577b 160000 --- a/submodules/chainlink-protos +++ b/submodules/chainlink-protos @@ -1 +1 @@ -Subproject commit 661b54b51a33f8f2400be88a603f35a06f088f6b +Subproject commit 29c5577b5f551b7ce0f0b7ccf041f9ef4ffcb626