diff --git a/billing/creditreservation/v1alpha/credit_reservation_service.proto b/billing/creditreservation/v1alpha/credit_reservation_service.proto index 3624499e..76bdbead 100644 --- a/billing/creditreservation/v1alpha/credit_reservation_service.proto +++ b/billing/creditreservation/v1alpha/credit_reservation_service.proto @@ -126,6 +126,8 @@ message GetWorkflowExecutionRatesResponse { repeated RateCard rate_cards = 2; // chain selector -> gas tokens per credit map gas_tokens_per_credit = 3; + // chain selector -> decimal precision of the gas token (e.g. 18 for EVM, 9 for Solana) + map gas_decimal_points = 4; } message CheckAggregationStatusRequest { diff --git a/billing/go/credit_reservation_service.pb.go b/billing/go/credit_reservation_service.pb.go index 041cb833..63fca6dc 100644 --- a/billing/go/credit_reservation_service.pb.go +++ b/billing/go/credit_reservation_service.pb.go @@ -879,8 +879,10 @@ type GetWorkflowExecutionRatesResponse struct { RateCards []*RateCard `protobuf:"bytes,2,rep,name=rate_cards,json=rateCards,proto3" json:"rate_cards,omitempty"` // chain selector -> gas tokens per credit GasTokensPerCredit map[uint64]string `protobuf:"bytes,3,rep,name=gas_tokens_per_credit,json=gasTokensPerCredit,proto3" json:"gas_tokens_per_credit,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // chain selector -> decimal precision of the gas token (e.g. 18 for EVM, 9 for Solana) + GasDecimalPoints map[uint64]uint32 `protobuf:"bytes,4,rep,name=gas_decimal_points,json=gasDecimalPoints,proto3" json:"gas_decimal_points,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GetWorkflowExecutionRatesResponse) Reset() { @@ -934,6 +936,13 @@ func (x *GetWorkflowExecutionRatesResponse) GetGasTokensPerCredit() map[uint64]s return nil } +func (x *GetWorkflowExecutionRatesResponse) GetGasDecimalPoints() map[uint64]uint32 { + if x != nil { + return x.GasDecimalPoints + } + return nil +} + type CheckAggregationStatusRequest struct { state protoimpl.MessageState `protogen:"open.v1"` WorkflowId string `protobuf:"bytes,1,opt,name=WorkflowId,proto3" json:"WorkflowId,omitempty"` @@ -1144,15 +1153,19 @@ const file_creditreservation_v1alpha_credit_reservation_service_proto_rawDesc = "\x0eworkflow_owner\x18\x01 \x01(\tR\rworkflowOwner\x12:\n" + "\x19workflow_registry_address\x18\x02 \x01(\tR\x17workflowRegistryAddress\x12%\n" + "\x0echain_selector\x18\x03 \x01(\x04R\rchainSelector\x122\n" + - "\x15workflow_execution_id\x18\x04 \x01(\tR\x13workflowExecutionId\"\xe1\x02\n" + + "\x15workflow_execution_id\x18\x04 \x01(\tR\x13workflowExecutionId\"\xa9\x04\n" + "!GetWorkflowExecutionRatesResponse\x12'\n" + "\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12B\n" + "\n" + "rate_cards\x18\x02 \x03(\v2#.creditreservation.v1alpha.RateCardR\trateCards\x12\x87\x01\n" + - "\x15gas_tokens_per_credit\x18\x03 \x03(\v2T.creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.GasTokensPerCreditEntryR\x12gasTokensPerCredit\x1aE\n" + + "\x15gas_tokens_per_credit\x18\x03 \x03(\v2T.creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.GasTokensPerCreditEntryR\x12gasTokensPerCredit\x12\x80\x01\n" + + "\x12gas_decimal_points\x18\x04 \x03(\v2R.creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.GasDecimalPointsEntryR\x10gasDecimalPoints\x1aE\n" + "\x17GasTokensPerCreditEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xf8\x01\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aC\n" + + "\x15GasDecimalPointsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\rR\x05value:\x028\x01\"\xf8\x01\n" + "\x1dCheckAggregationStatusRequest\x12\x1e\n" + "\n" + "WorkflowId\x18\x01 \x01(\tR\n" + @@ -1210,7 +1223,7 @@ func file_creditreservation_v1alpha_credit_reservation_service_proto_rawDescGZIP } var file_creditreservation_v1alpha_credit_reservation_service_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_creditreservation_v1alpha_credit_reservation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_creditreservation_v1alpha_credit_reservation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_creditreservation_v1alpha_credit_reservation_service_proto_goTypes = []any{ (ResourceType)(0), // 0: creditreservation.v1alpha.ResourceType (MeasurementUnit)(0), // 1: creditreservation.v1alpha.MeasurementUnit @@ -1229,40 +1242,42 @@ var file_creditreservation_v1alpha_credit_reservation_service_proto_goTypes = [] (*CheckAggregationStatusRequest)(nil), // 14: creditreservation.v1alpha.CheckAggregationStatusRequest (*CheckAggregationStatusResponse)(nil), // 15: creditreservation.v1alpha.CheckAggregationStatusResponse nil, // 16: creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.GasTokensPerCreditEntry - (*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp - (*events.MeteringReport)(nil), // 18: workflows.v1.MeteringReport - (*emptypb.Empty)(nil), // 19: google.protobuf.Empty + nil, // 17: creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.GasDecimalPointsEntry + (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp + (*events.MeteringReport)(nil), // 19: workflows.v1.MeteringReport + (*emptypb.Empty)(nil), // 20: google.protobuf.Empty } var file_creditreservation_v1alpha_credit_reservation_service_proto_depIdxs = []int32{ - 17, // 0: creditreservation.v1alpha.OrganizationCredits.created_at:type_name -> google.protobuf.Timestamp - 17, // 1: creditreservation.v1alpha.OrganizationCredits.updated_at:type_name -> google.protobuf.Timestamp + 18, // 0: creditreservation.v1alpha.OrganizationCredits.created_at:type_name -> google.protobuf.Timestamp + 18, // 1: creditreservation.v1alpha.OrganizationCredits.updated_at:type_name -> google.protobuf.Timestamp 5, // 2: creditreservation.v1alpha.GetOrganizationCreditsByWorkflowResponse.credits:type_name -> creditreservation.v1alpha.OrganizationCredits 11, // 3: creditreservation.v1alpha.ReserveCreditsResponse.rate_cards:type_name -> creditreservation.v1alpha.RateCard - 18, // 4: creditreservation.v1alpha.SubmitWorkflowReceiptRequest.metering:type_name -> workflows.v1.MeteringReport + 19, // 4: creditreservation.v1alpha.SubmitWorkflowReceiptRequest.metering:type_name -> workflows.v1.MeteringReport 0, // 5: creditreservation.v1alpha.RateCard.resource_type:type_name -> creditreservation.v1alpha.ResourceType 1, // 6: creditreservation.v1alpha.RateCard.measurement_unit:type_name -> creditreservation.v1alpha.MeasurementUnit - 17, // 7: creditreservation.v1alpha.RateCard.created_at:type_name -> google.protobuf.Timestamp - 17, // 8: creditreservation.v1alpha.RateCard.updated_at:type_name -> google.protobuf.Timestamp + 18, // 7: creditreservation.v1alpha.RateCard.created_at:type_name -> google.protobuf.Timestamp + 18, // 8: creditreservation.v1alpha.RateCard.updated_at:type_name -> google.protobuf.Timestamp 11, // 9: creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.rate_cards:type_name -> creditreservation.v1alpha.RateCard 16, // 10: creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.gas_tokens_per_credit:type_name -> creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.GasTokensPerCreditEntry - 2, // 11: creditreservation.v1alpha.CheckAggregationStatusRequest.CallType:type_name -> creditreservation.v1alpha.CallType - 3, // 12: creditreservation.v1alpha.CheckAggregationStatusResponse.AggregationStatus:type_name -> creditreservation.v1alpha.AggregationStatus - 4, // 13: creditreservation.v1alpha.CheckAggregationStatusResponse.Outcome:type_name -> creditreservation.v1alpha.AggregationOutcome - 6, // 14: creditreservation.v1alpha.CreditReservationService.GetOrganizationCreditsByWorkflow:input_type -> creditreservation.v1alpha.GetOrganizationCreditsByWorkflowRequest - 8, // 15: creditreservation.v1alpha.CreditReservationService.ReserveCredits:input_type -> creditreservation.v1alpha.ReserveCreditsRequest - 10, // 16: creditreservation.v1alpha.CreditReservationService.SubmitWorkflowReceipt:input_type -> creditreservation.v1alpha.SubmitWorkflowReceiptRequest - 12, // 17: creditreservation.v1alpha.CreditReservationService.GetWorkflowExecutionRates:input_type -> creditreservation.v1alpha.GetWorkflowExecutionRatesRequest - 14, // 18: creditreservation.v1alpha.CreditReservationService.CheckAggregationStatus:input_type -> creditreservation.v1alpha.CheckAggregationStatusRequest - 7, // 19: creditreservation.v1alpha.CreditReservationService.GetOrganizationCreditsByWorkflow:output_type -> creditreservation.v1alpha.GetOrganizationCreditsByWorkflowResponse - 9, // 20: creditreservation.v1alpha.CreditReservationService.ReserveCredits:output_type -> creditreservation.v1alpha.ReserveCreditsResponse - 19, // 21: creditreservation.v1alpha.CreditReservationService.SubmitWorkflowReceipt:output_type -> google.protobuf.Empty - 13, // 22: creditreservation.v1alpha.CreditReservationService.GetWorkflowExecutionRates:output_type -> creditreservation.v1alpha.GetWorkflowExecutionRatesResponse - 15, // 23: creditreservation.v1alpha.CreditReservationService.CheckAggregationStatus:output_type -> creditreservation.v1alpha.CheckAggregationStatusResponse - 19, // [19:24] is the sub-list for method output_type - 14, // [14:19] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 17, // 11: creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.gas_decimal_points:type_name -> creditreservation.v1alpha.GetWorkflowExecutionRatesResponse.GasDecimalPointsEntry + 2, // 12: creditreservation.v1alpha.CheckAggregationStatusRequest.CallType:type_name -> creditreservation.v1alpha.CallType + 3, // 13: creditreservation.v1alpha.CheckAggregationStatusResponse.AggregationStatus:type_name -> creditreservation.v1alpha.AggregationStatus + 4, // 14: creditreservation.v1alpha.CheckAggregationStatusResponse.Outcome:type_name -> creditreservation.v1alpha.AggregationOutcome + 6, // 15: creditreservation.v1alpha.CreditReservationService.GetOrganizationCreditsByWorkflow:input_type -> creditreservation.v1alpha.GetOrganizationCreditsByWorkflowRequest + 8, // 16: creditreservation.v1alpha.CreditReservationService.ReserveCredits:input_type -> creditreservation.v1alpha.ReserveCreditsRequest + 10, // 17: creditreservation.v1alpha.CreditReservationService.SubmitWorkflowReceipt:input_type -> creditreservation.v1alpha.SubmitWorkflowReceiptRequest + 12, // 18: creditreservation.v1alpha.CreditReservationService.GetWorkflowExecutionRates:input_type -> creditreservation.v1alpha.GetWorkflowExecutionRatesRequest + 14, // 19: creditreservation.v1alpha.CreditReservationService.CheckAggregationStatus:input_type -> creditreservation.v1alpha.CheckAggregationStatusRequest + 7, // 20: creditreservation.v1alpha.CreditReservationService.GetOrganizationCreditsByWorkflow:output_type -> creditreservation.v1alpha.GetOrganizationCreditsByWorkflowResponse + 9, // 21: creditreservation.v1alpha.CreditReservationService.ReserveCredits:output_type -> creditreservation.v1alpha.ReserveCreditsResponse + 20, // 22: creditreservation.v1alpha.CreditReservationService.SubmitWorkflowReceipt:output_type -> google.protobuf.Empty + 13, // 23: creditreservation.v1alpha.CreditReservationService.GetWorkflowExecutionRates:output_type -> creditreservation.v1alpha.GetWorkflowExecutionRatesResponse + 15, // 24: creditreservation.v1alpha.CreditReservationService.CheckAggregationStatus:output_type -> creditreservation.v1alpha.CheckAggregationStatusResponse + 20, // [20:25] is the sub-list for method output_type + 15, // [15:20] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_creditreservation_v1alpha_credit_reservation_service_proto_init() } @@ -1277,7 +1292,7 @@ func file_creditreservation_v1alpha_credit_reservation_service_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_creditreservation_v1alpha_credit_reservation_service_proto_rawDesc), len(file_creditreservation_v1alpha_credit_reservation_service_proto_rawDesc)), NumEnums: 5, - NumMessages: 12, + NumMessages: 13, NumExtensions: 0, NumServices: 1, },