diff --git a/proto/autogenerated/client.md b/proto/autogenerated/client.md index 2ea8eb2be..d3c6b1533 100644 --- a/proto/autogenerated/client.md +++ b/proto/autogenerated/client.md @@ -165,9 +165,9 @@ The nostr server will send back a message response, and inside the body there wi - __User__: - expected context content - - __app_user_id__: _string_ - __user_id__: _string_ - __app_id__: _string_ + - __app_user_id__: _string_ - __Admin__: - expected context content @@ -541,81 +541,85 @@ The nostr server will send back a message response, and inside the body there wi ## Messages ### The content of requests and response from the methods -### BanUserRequest - - __user_id__: _string_ +### AppsMetricsRequest + - __from_unix__: _number_ *this field is optional + - __to_unix__: _number_ *this field is optional + - __include_operations__: _boolean_ *this field is optional -### NewInvoiceResponse +### PayAppUserInvoiceRequest + - __user_identifier__: _string_ - __invoice__: _string_ + - __amount__: _number_ -### GetUserOperationsRequest - - __latestOutgoingTx__: _number_ - - __latestIncomingUserToUserPayment__: _number_ - - __latestOutgoingUserToUserPayment__: _number_ - - __max_size__: _number_ - - __latestIncomingInvoice__: _number_ - - __latestOutgoingInvoice__: _number_ - - __latestIncomingTx__: _number_ +### HttpCreds + - __token__: _string_ + - __url__: _string_ -### LndNodeMetrics - - __offline_channels__: _number_ - - __channel_routing__: ARRAY of: _[ChannelRouting](#ChannelRouting)_ - - __channels_balance_events__: ARRAY of: _[ChannelBalanceEvent](#ChannelBalanceEvent)_ - - __online_channels__: _number_ - - __pending_channels__: _number_ - - __closing_channels__: _number_ - - __open_channels__: ARRAY of: _[OpenChannel](#OpenChannel)_ - - __closed_channels__: ARRAY of: _[ClosedChannel](#ClosedChannel)_ - - __chain_balance_events__: ARRAY of: _[ChainBalanceEvent](#ChainBalanceEvent)_ +### UsageMetric + - __parsed_in_nano__: _number_ + - __auth_in_nano__: _number_ + - __batch__: _boolean_ + - __nostr__: _boolean_ + - __batch_size__: _number_ + - __processed_at_ms__: _number_ + - __validate_in_nano__: _number_ + - __handle_in_nano__: _number_ + - __rpc_name__: _string_ -### NewAddressResponse - - __address__: _string_ +### AuthApp + - __app__: _[Application](#Application)_ + - __auth_token__: _string_ -### RequestNPubLinkingTokenRequest - - __user_identifier__: _string_ +### OpenChannelRequest + - __destination__: _string_ + - __fundingAmount__: _number_ + - __pushAmount__: _number_ + - __closeAddress__: _string_ -### AppMetrics - - __operations__: ARRAY of: _[UserOperation](#UserOperation)_ - - __users__: _[UsersInfo](#UsersInfo)_ - - __spent__: _number_ - - __available__: _number_ - - __invoices__: _number_ - - __app__: _[Application](#Application)_ - - __received__: _number_ - - __fees__: _number_ - - __total_fees__: _number_ +### ClosureMigration + - __closes_at_unix__: _number_ ### ChannelRouting + - __channel_id__: _string_ + - __forward_fee_as_output__: _number_ + - __events_number__: _number_ - __missed_forward_fee_as_output__: _number_ - __forward_fee_as_input__: _number_ - __send_errors__: _number_ + - __receive_errors__: _number_ - __forward_errors_as_input__: _number_ - __forward_errors_as_output__: _number_ - __missed_forward_fee_as_input__: _number_ - - __forward_fee_as_output__: _number_ - - __events_number__: _number_ - - __channel_id__: _string_ - - __receive_errors__: _number_ -### OpenChannelRequest - - __destination__: _string_ - - __fundingAmount__: _number_ - - __pushAmount__: _number_ - - __closeAddress__: _string_ +### LndNodeMetrics + - __offline_channels__: _number_ + - __pending_channels__: _number_ + - __closing_channels__: _number_ + - __channel_routing__: ARRAY of: _[ChannelRouting](#ChannelRouting)_ + - __channels_balance_events__: ARRAY of: _[ChannelBalanceEvent](#ChannelBalanceEvent)_ + - __chain_balance_events__: ARRAY of: _[ChainBalanceEvent](#ChainBalanceEvent)_ + - __online_channels__: _number_ + - __open_channels__: ARRAY of: _[OpenChannel](#OpenChannel)_ + - __closed_channels__: ARRAY of: _[ClosedChannel](#ClosedChannel)_ -### UserInfo - - __userId__: _string_ - - __balance__: _number_ - - __max_withdrawable__: _number_ - - __user_identifier__: _string_ - - __service_fee_bps__: _number_ - - __network_max_fee_bps__: _number_ - - __network_max_fee_fixed__: _number_ +### LndGetInfoResponse + - __alias__: _string_ ### Product - __id__: _string_ - __name__: _string_ - __price_sats__: _number_ +### RequestNPubLinkingTokenRequest + - __user_identifier__: _string_ + +### BanUserResponse + - __balance_sats__: _number_ + - __banned_app_users__: ARRAY of: _[BannedAppUser](#BannedAppUser)_ + +### GetPaymentStateRequest + - __invoice__: _string_ + ### LnurlWithdrawInfoResponse - __defaultDescription__: _string_ - __minWithdrawable__: _number_ @@ -626,25 +630,32 @@ The nostr server will send back a message response, and inside the body there wi - __callback__: _string_ - __k1__: _string_ -### UserOperation - - __service_fee__: _number_ - - __confirmed__: _boolean_ - - __internal__: _boolean_ +### ChainBalanceEvent + - __block_height__: _number_ + - __confirmed_balance__: _number_ + - __unconfirmed_balance__: _number_ + - __total_balance__: _number_ + +### LndGetInfoRequest + - __nodeId__: _number_ + +### SetMockInvoiceAsPaidRequest + - __invoice__: _string_ - __amount__: _number_ - - __type__: _[UserOperationType](#UserOperationType)_ - - __inbound__: _boolean_ - - __identifier__: _string_ - - __operationId__: _string_ - - __network_fee__: _number_ - - __tx_hash__: _string_ - - __paidAtUnix__: _number_ -### RelaysMigration - - __relays__: ARRAY of: _string_ +### BannedAppUser + - __nostr_pub__: _string_ + - __app_name__: _string_ + - __app_id__: _string_ + - __user_identifier__: _string_ -### LndMetricsRequest - - __from_unix__: _number_ *this field is optional - - __to_unix__: _number_ *this field is optional +### GetUserOperationsResponse + - __latestIncomingTxOperations__: _[UserOperations](#UserOperations)_ + - __latestOutgoingUserToUserPayemnts__: _[UserOperations](#UserOperations)_ + - __latestIncomingUserToUserPayemnts__: _[UserOperations](#UserOperations)_ + - __latestOutgoingInvoiceOperations__: _[UserOperations](#UserOperations)_ + - __latestIncomingInvoiceOperations__: _[UserOperations](#UserOperations)_ + - __latestOutgoingTxOperations__: _[UserOperations](#UserOperations)_ ### OpenChannel - __remote_balance__: _number_ @@ -654,238 +665,196 @@ The nostr server will send back a message response, and inside the body there wi - __lifetime__: _number_ - __local_balance__: _number_ -### LndMetrics - - __nodes__: ARRAY of: _[LndNodeMetrics](#LndNodeMetrics)_ +### BanUserRequest + - __user_id__: _string_ -### SetMockAppUserBalanceRequest - - __user_identifier__: _string_ +### SendAppUserToAppUserPaymentRequest + - __from_user_identifier__: _string_ + - __to_user_identifier__: _string_ - __amount__: _number_ -### LnurlLinkResponse - - __lnurl__: _string_ - - __k1__: _string_ - -### AppsMetrics - - __apps__: ARRAY of: _[AppMetrics](#AppMetrics)_ +### NewAddressRequest + - __addressType__: _[AddressType](#AddressType)_ -### GetPaymentStateRequest - - __invoice__: _string_ +### PayAddressRequest + - __amoutSats__: _number_ + - __satsPerVByte__: _number_ + - __address__: _string_ -### AddProductRequest - - __name__: _string_ - - __price_sats__: _number_ +### AppMetrics + - __app__: _[Application](#Application)_ + - __received__: _number_ + - __available__: _number_ + - __invoices__: _number_ + - __total_fees__: _number_ + - __operations__: ARRAY of: _[UserOperation](#UserOperation)_ + - __users__: _[UsersInfo](#UsersInfo)_ + - __spent__: _number_ + - __fees__: _number_ -### RequestNPubLinkingTokenResponse - - __token__: _string_ +### PayInvoiceRequest + - __amount__: _number_ + - __invoice__: _string_ -### ChannelBalanceEvent - - __block_height__: _number_ - - __channel_id__: _string_ - - __local_balance_sats__: _number_ - - __remote_balance_sats__: _number_ +### OpenChannelResponse + - __channelId__: _string_ -### AuthAppRequest - - __allow_user_creation__: _boolean_ *this field is optional - - __name__: _string_ +### UserOperations + - __fromIndex__: _number_ + - __toIndex__: _number_ + - __operations__: ARRAY of: _[UserOperation](#UserOperation)_ -### Application - - __name__: _string_ - - __id__: _string_ - - __balance__: _number_ - - __npub__: _string_ +### UsageMetrics + - __metrics__: ARRAY of: _[UsageMetric](#UsageMetric)_ -### AddAppUserInvoiceRequest - - __invoice_req__: _[NewInvoiceRequest](#NewInvoiceRequest)_ - - __receiver_identifier__: _string_ +### AddAppInvoiceRequest - __payer_identifier__: _string_ - __http_callback_url__: _string_ - -### GetProductBuyLinkResponse - - __link__: _string_ + - __invoice_req__: _[NewInvoiceRequest](#NewInvoiceRequest)_ ### GetAppUserLNURLInfoRequest - __user_identifier__: _string_ - __base_url_override__: _string_ -### NewInvoiceRequest - - __amountSats__: _number_ - - __memo__: _string_ - -### PayInvoiceRequest - - __invoice__: _string_ +### SetMockAppUserBalanceRequest - __amount__: _number_ + - __user_identifier__: _string_ -### GetUserOperationsResponse - - __latestOutgoingInvoiceOperations__: _[UserOperations](#UserOperations)_ - - __latestIncomingInvoiceOperations__: _[UserOperations](#UserOperations)_ - - __latestOutgoingTxOperations__: _[UserOperations](#UserOperations)_ - - __latestIncomingTxOperations__: _[UserOperations](#UserOperations)_ - - __latestOutgoingUserToUserPayemnts__: _[UserOperations](#UserOperations)_ - - __latestIncomingUserToUserPayemnts__: _[UserOperations](#UserOperations)_ - -### UsageMetrics - - __metrics__: ARRAY of: _[UsageMetric](#UsageMetric)_ - -### BanUserResponse - - __balance_sats__: _number_ - - __banned_app_users__: ARRAY of: _[BannedAppUser](#BannedAppUser)_ - -### OpenChannelResponse - - __channelId__: _string_ - -### UserOperations - - __toIndex__: _number_ - - __operations__: ARRAY of: _[UserOperation](#UserOperation)_ - - __fromIndex__: _number_ - -### LiveUserOperation - - __operation__: _[UserOperation](#UserOperation)_ +### AddProductRequest + - __name__: _string_ + - __price_sats__: _number_ -### EncryptionExchangeRequest - - __publicKey__: _string_ - - __deviceId__: _string_ +### EnrollAdminTokenRequest + - __admin_token__: _string_ -### ChainBalanceEvent +### ChannelBalanceEvent + - __local_balance_sats__: _number_ + - __remote_balance_sats__: _number_ - __block_height__: _number_ - - __confirmed_balance__: _number_ - - __unconfirmed_balance__: _number_ - - __total_balance__: _number_ + - __channel_id__: _string_ -### AppUser - - __max_withdrawable__: _number_ +### AddAppUserRequest + - __fail_if_exists__: _boolean_ + - __balance__: _number_ - __identifier__: _string_ - - __info__: _[UserInfo](#UserInfo)_ -### DecodeInvoiceResponse - - __amount__: _number_ +### AddAppUserInvoiceRequest + - __receiver_identifier__: _string_ + - __payer_identifier__: _string_ + - __http_callback_url__: _string_ + - __invoice_req__: _[NewInvoiceRequest](#NewInvoiceRequest)_ -### PaymentState - - __paid_at_unix__: _boolean_ +### UserOperation + - __identifier__: _string_ + - __operationId__: _string_ + - __tx_hash__: _string_ + - __paidAtUnix__: _number_ + - __type__: _[UserOperationType](#UserOperationType)_ + - __inbound__: _boolean_ + - __confirmed__: _boolean_ + - __internal__: _boolean_ - __amount__: _number_ - __service_fee__: _number_ - __network_fee__: _number_ -### AuthApp - - __app__: _[Application](#Application)_ - - __auth_token__: _string_ +### LinkNPubThroughTokenRequest + - __token__: _string_ + - __nostr_pub__: _string_ -### PayAddressResponse - - __txId__: _string_ - - __operation_id__: _string_ - - __service_fee__: _number_ - - __network_fee__: _number_ +### ClosedChannel + - __closed_height__: _number_ + - __channel_id__: _string_ + - __capacity__: _number_ + +### LnurlLinkResponse + - __k1__: _string_ + - __lnurl__: _string_ ### LnurlPayInfoResponse - - __maxSendable__: _number_ - __minSendable__: _number_ - __metadata__: _string_ - __allowsNostr__: _boolean_ - __nostrPubkey__: _string_ - __tag__: _string_ - __callback__: _string_ + - __maxSendable__: _number_ -### EnrollAdminTokenRequest - - __admin_token__: _string_ +### NewInvoiceRequest + - __amountSats__: _number_ + - __memo__: _string_ -### AppsMetricsRequest - - __from_unix__: _number_ *this field is optional - - __to_unix__: _number_ *this field is optional - - __include_operations__: _boolean_ *this field is optional +### GetProductBuyLinkResponse + - __link__: _string_ -### AddAppRequest - - __allow_user_creation__: _boolean_ - - __name__: _string_ +### LndMetrics + - __nodes__: ARRAY of: _[LndNodeMetrics](#LndNodeMetrics)_ -### SendAppUserToAppUserPaymentRequest - - __from_user_identifier__: _string_ - - __to_user_identifier__: _string_ - - __amount__: _number_ +### Application + - __id__: _string_ + - __balance__: _number_ + - __npub__: _string_ + - __name__: _string_ -### PayAppUserInvoiceRequest - - __user_identifier__: _string_ - - __invoice__: _string_ +### SetMockAppBalanceRequest - __amount__: _number_ -### PayInvoiceResponse - - __operation_id__: _string_ - - __service_fee__: _number_ - - __network_fee__: _number_ - - __preimage__: _string_ - - __amount_paid__: _number_ - -### HandleLnurlPayResponse - - __pr__: _string_ - - __routes__: ARRAY of: _[Empty](#Empty)_ - ### DecodeInvoiceRequest - __invoice__: _string_ -### LinkNPubThroughTokenRequest - - __token__: _string_ - - __nostr_pub__: _string_ - -### HttpCreds - - __token__: _string_ - - __url__: _string_ - -### Empty - -### UsageMetric - - __rpc_name__: _string_ - - __batch_size__: _number_ - - __parsed_in_nano__: _number_ - - __auth_in_nano__: _number_ - - __handle_in_nano__: _number_ - - __nostr__: _boolean_ - - __processed_at_ms__: _number_ - - __validate_in_nano__: _number_ - - __batch__: _boolean_ - -### LndGetInfoResponse - - __alias__: _string_ - -### BannedAppUser - - __app_name__: _string_ - - __app_id__: _string_ - - __user_identifier__: _string_ - - __nostr_pub__: _string_ - -### SendAppUserToAppPaymentRequest - - __from_user_identifier__: _string_ +### DecodeInvoiceResponse - __amount__: _number_ -### SetMockAppBalanceRequest - - __amount__: _number_ +### UserInfo + - __userId__: _string_ + - __balance__: _number_ + - __max_withdrawable__: _number_ + - __user_identifier__: _string_ + - __service_fee_bps__: _number_ + - __network_max_fee_bps__: _number_ + - __network_max_fee_fixed__: _number_ -### NewAddressRequest - - __addressType__: _[AddressType](#AddressType)_ +### LiveUserOperation + - __operation__: _[UserOperation](#UserOperation)_ ### MigrationUpdate - __closure__: _[ClosureMigration](#ClosureMigration)_ *this field is optional - __relays__: _[RelaysMigration](#RelaysMigration)_ *this field is optional -### ClosedChannel - - __closed_height__: _number_ - - __channel_id__: _string_ - - __capacity__: _number_ +### EncryptionExchangeRequest + - __publicKey__: _string_ + - __deviceId__: _string_ -### LndGetInfoRequest - - __nodeId__: _number_ +### SendAppUserToAppPaymentRequest + - __amount__: _number_ + - __from_user_identifier__: _string_ -### SetMockInvoiceAsPaidRequest +### NewAddressResponse + - __address__: _string_ + +### NewInvoiceResponse - __invoice__: _string_ - - __amount__: _number_ -### AddAppInvoiceRequest - - __http_callback_url__: _string_ - - __invoice_req__: _[NewInvoiceRequest](#NewInvoiceRequest)_ - - __payer_identifier__: _string_ +### PayInvoiceResponse + - __operation_id__: _string_ + - __service_fee__: _number_ + - __network_fee__: _number_ + - __preimage__: _string_ + - __amount_paid__: _number_ -### GetAppUserRequest - - __user_identifier__: _string_ +### PaymentState + - __network_fee__: _number_ + - __paid_at_unix__: _number_ + - __amount__: _number_ + - __service_fee__: _number_ -### ClosureMigration - - __closes_at_unix__: _number_ +### GetUserOperationsRequest + - __latestOutgoingInvoice__: _number_ + - __latestIncomingTx__: _number_ + - __latestOutgoingTx__: _number_ + - __latestIncomingUserToUserPayment__: _number_ + - __latestOutgoingUserToUserPayment__: _number_ + - __max_size__: _number_ + - __latestIncomingInvoice__: _number_ ### UsersInfo - __total__: _number_ @@ -896,28 +865,59 @@ The nostr server will send back a message response, and inside the body there wi - __balance_median__: _number_ ### RoutingEvent + - __event_type__: _string_ - __incoming_amt_msat__: _number_ - __outgoing_amt_msat__: _number_ - __failure_string__: _string_ - - __settled__: _boolean_ - __offchain__: _boolean_ - - __outgoing_channel_id__: _number_ + - __forward_fail_event__: _boolean_ - __outgoing_htlc_id__: _number_ - __timestamp_ns__: _number_ - - __event_type__: _string_ - - __forward_fail_event__: _boolean_ + - __outgoing_channel_id__: _number_ + - __settled__: _boolean_ - __incoming_channel_id__: _number_ - __incoming_htlc_id__: _number_ -### AddAppUserRequest - - __fail_if_exists__: _boolean_ - - __balance__: _number_ +### Empty + +### LndMetricsRequest + - __from_unix__: _number_ *this field is optional + - __to_unix__: _number_ *this field is optional + +### AppUser + - __info__: _[UserInfo](#UserInfo)_ + - __max_withdrawable__: _number_ - __identifier__: _string_ -### PayAddressRequest - - __address__: _string_ - - __amoutSats__: _number_ - - __satsPerVByte__: _number_ +### HandleLnurlPayResponse + - __pr__: _string_ + - __routes__: ARRAY of: _[Empty](#Empty)_ + +### RelaysMigration + - __relays__: ARRAY of: _string_ + +### RequestNPubLinkingTokenResponse + - __token__: _string_ + +### AppsMetrics + - __apps__: ARRAY of: _[AppMetrics](#AppMetrics)_ + +### AddAppRequest + - __name__: _string_ + - __allow_user_creation__: _boolean_ + +### AuthAppRequest + - __name__: _string_ + - __allow_user_creation__: _boolean_ *this field is optional + +### GetAppUserRequest + - __user_identifier__: _string_ + +### PayAddressResponse + - __txId__: _string_ + - __operation_id__: _string_ + - __service_fee__: _number_ + - __network_fee__: _number_ ## Enums ### The enumerators used in the messages diff --git a/proto/autogenerated/debug.txt b/proto/autogenerated/debug.txt index 213b1577f..2a3042ef4 100644 --- a/proto/autogenerated/debug.txt +++ b/proto/autogenerated/debug.txt @@ -1,5 +1,5 @@ ([]*main.Method) (len=48 cap=64) { - (*main.Method)(0xc00029e8c0)({ + (*main.Method)(0xc00007a230)({ in: (main.MethodMessage) { name: (string) (len=17) "LndGetInfoRequest", hasZeroFields: (bool) false @@ -9,8 +9,8 @@ name: (string) (len=18) "LndGetInfoResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000509680)({ - authType: (*main.supportedAuth)(0xc0001828a0)({ + opts: (*main.methodOptions)(0xc000071620)({ + authType: (*main.supportedAuth)(0xc0000988a0)({ id: (string) (len=5) "admin", name: (string) (len=5) "Admin", context: (map[string]string) (len=1) { @@ -28,7 +28,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ea50)({ + (*main.Method)(0xc00007a2d0)({ in: (main.MethodMessage) { name: (string) (len=13) "AddAppRequest", hasZeroFields: (bool) false @@ -38,8 +38,8 @@ name: (string) (len=7) "AuthApp", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000509860)({ - authType: (*main.supportedAuth)(0xc000182930)({ + opts: (*main.methodOptions)(0xc000071800)({ + authType: (*main.supportedAuth)(0xc000098930)({ id: (string) (len=5) "admin", name: (string) (len=5) "Admin", context: (map[string]string) (len=1) { @@ -57,7 +57,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029eaf0)({ + (*main.Method)(0xc00007a370)({ in: (main.MethodMessage) { name: (string) (len=14) "AuthAppRequest", hasZeroFields: (bool) false @@ -67,8 +67,8 @@ name: (string) (len=7) "AuthApp", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000509a40)({ - authType: (*main.supportedAuth)(0xc0001829c0)({ + opts: (*main.methodOptions)(0xc0000719e0)({ + authType: (*main.supportedAuth)(0xc0000989c0)({ id: (string) (len=5) "admin", name: (string) (len=5) "Admin", context: (map[string]string) (len=1) { @@ -86,7 +86,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029eb90)({ + (*main.Method)(0xc00007a410)({ in: (main.MethodMessage) { name: (string) (len=14) "BanUserRequest", hasZeroFields: (bool) false @@ -96,8 +96,8 @@ name: (string) (len=15) "BanUserResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000509c20)({ - authType: (*main.supportedAuth)(0xc000182a50)({ + opts: (*main.methodOptions)(0xc000071bc0)({ + authType: (*main.supportedAuth)(0xc000098a50)({ id: (string) (len=5) "admin", name: (string) (len=5) "Admin", context: (map[string]string) (len=1) { @@ -115,7 +115,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ebe0)({ + (*main.Method)(0xc00007a460)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -125,8 +125,8 @@ name: (string) (len=12) "UsageMetrics", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000509e00)({ - authType: (*main.supportedAuth)(0xc000182ae0)({ + opts: (*main.methodOptions)(0xc000071da0)({ + authType: (*main.supportedAuth)(0xc000098ae0)({ id: (string) (len=7) "metrics", name: (string) (len=7) "Metrics", context: (map[string]string) (len=1) { @@ -144,7 +144,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ec30)({ + (*main.Method)(0xc00007a4b0)({ in: (main.MethodMessage) { name: (string) (len=18) "AppsMetricsRequest", hasZeroFields: (bool) false @@ -154,8 +154,8 @@ name: (string) (len=11) "AppsMetrics", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0003859e0)({ - authType: (*main.supportedAuth)(0xc000182b70)({ + opts: (*main.methodOptions)(0xc000071f80)({ + authType: (*main.supportedAuth)(0xc000098b70)({ id: (string) (len=7) "metrics", name: (string) (len=7) "Metrics", context: (map[string]string) (len=1) { @@ -173,7 +173,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ec80)({ + (*main.Method)(0xc00007a500)({ in: (main.MethodMessage) { name: (string) (len=17) "LndMetricsRequest", hasZeroFields: (bool) false @@ -183,8 +183,8 @@ name: (string) (len=10) "LndMetrics", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000385bc0)({ - authType: (*main.supportedAuth)(0xc000182c00)({ + opts: (*main.methodOptions)(0xc00035db60)({ + authType: (*main.supportedAuth)(0xc000098c00)({ id: (string) (len=7) "metrics", name: (string) (len=7) "Metrics", context: (map[string]string) (len=1) { @@ -202,7 +202,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ecd0)({ + (*main.Method)(0xc00007a550)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -212,8 +212,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc000385d40)({ - authType: (*main.supportedAuth)(0xc000182c90)({ + opts: (*main.methodOptions)(0xc00035dce0)({ + authType: (*main.supportedAuth)(0xc000098c90)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", context: (map[string]string) { @@ -230,7 +230,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ed20)({ + (*main.Method)(0xc00007a5a0)({ in: (main.MethodMessage) { name: (string) (len=25) "EncryptionExchangeRequest", hasZeroFields: (bool) false @@ -240,8 +240,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc000385ec0)({ - authType: (*main.supportedAuth)(0xc000182d50)({ + opts: (*main.methodOptions)(0xc00035de60)({ + authType: (*main.supportedAuth)(0xc000098d50)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", context: (map[string]string) { @@ -258,7 +258,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ed70)({ + (*main.Method)(0xc00007a5f0)({ in: (main.MethodMessage) { name: (string) (len=27) "SetMockInvoiceAsPaidRequest", hasZeroFields: (bool) false @@ -268,8 +268,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc0000705a0)({ - authType: (*main.supportedAuth)(0xc000182de0)({ + opts: (*main.methodOptions)(0xc00046a120)({ + authType: (*main.supportedAuth)(0xc000098de0)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", context: (map[string]string) { @@ -286,7 +286,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ee10)({ + (*main.Method)(0xc00007a690)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -296,8 +296,8 @@ name: (string) (len=25) "LnurlWithdrawInfoResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000070960)({ - authType: (*main.supportedAuth)(0xc000182f30)({ + opts: (*main.methodOptions)(0xc00046a480)({ + authType: (*main.supportedAuth)(0xc000098f30)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", context: (map[string]string) { @@ -316,7 +316,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029eeb0)({ + (*main.Method)(0xc00007a730)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -326,8 +326,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc000070cc0)({ - authType: (*main.supportedAuth)(0xc000183080)({ + opts: (*main.methodOptions)(0xc00046a7e0)({ + authType: (*main.supportedAuth)(0xc000099080)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", context: (map[string]string) { @@ -347,7 +347,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ef50)({ + (*main.Method)(0xc00007a7d0)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -357,8 +357,8 @@ name: (string) (len=20) "LnurlPayInfoResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0000710e0)({ - authType: (*main.supportedAuth)(0xc0001831a0)({ + opts: (*main.methodOptions)(0xc00046ab40)({ + authType: (*main.supportedAuth)(0xc0000991a0)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", context: (map[string]string) { @@ -377,7 +377,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029eff0)({ + (*main.Method)(0xc00007a870)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -387,8 +387,8 @@ name: (string) (len=22) "HandleLnurlPayResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000071500)({ - authType: (*main.supportedAuth)(0xc0001832f0)({ + opts: (*main.methodOptions)(0xc00046af00)({ + authType: (*main.supportedAuth)(0xc0000992f0)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", context: (map[string]string) { @@ -410,7 +410,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f040)({ + (*main.Method)(0xc00007a8c0)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -420,8 +420,8 @@ name: (string) (len=20) "LnurlPayInfoResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000184120)({ - authType: (*main.supportedAuth)(0xc000183380)({ + opts: (*main.methodOptions)(0xc00046b080)({ + authType: (*main.supportedAuth)(0xc000099380)({ id: (string) (len=5) "guest", name: (string) (len=5) "Guest", context: (map[string]string) { @@ -440,7 +440,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f0e0)({ + (*main.Method)(0xc00007a960)({ in: (main.MethodMessage) { name: (string) (len=27) "LinkNPubThroughTokenRequest", hasZeroFields: (bool) false @@ -450,8 +450,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc000184300)({ - authType: (*main.supportedAuth)(0xc000183410)({ + opts: (*main.methodOptions)(0xc00046b260)({ + authType: (*main.supportedAuth)(0xc000099410)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -471,7 +471,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f130)({ + (*main.Method)(0xc00007a9b0)({ in: (main.MethodMessage) { name: (string) (len=23) "EnrollAdminTokenRequest", hasZeroFields: (bool) false @@ -481,8 +481,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc000184540)({ - authType: (*main.supportedAuth)(0xc0001834a0)({ + opts: (*main.methodOptions)(0xc00046b4a0)({ + authType: (*main.supportedAuth)(0xc0000994a0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -502,7 +502,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f180)({ + (*main.Method)(0xc00007aa00)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -512,8 +512,8 @@ name: (string) (len=11) "Application", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0001846c0)({ - authType: (*main.supportedAuth)(0xc000183530)({ + opts: (*main.methodOptions)(0xc00046b620)({ + authType: (*main.supportedAuth)(0xc000099530)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -531,7 +531,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f220)({ + (*main.Method)(0xc00007aaa0)({ in: (main.MethodMessage) { name: (string) (len=17) "AddAppUserRequest", hasZeroFields: (bool) false @@ -541,8 +541,8 @@ name: (string) (len=7) "AppUser", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000184840)({ - authType: (*main.supportedAuth)(0xc0001835c0)({ + opts: (*main.methodOptions)(0xc00046b7a0)({ + authType: (*main.supportedAuth)(0xc0000995c0)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -560,7 +560,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f2c0)({ + (*main.Method)(0xc00007ab40)({ in: (main.MethodMessage) { name: (string) (len=20) "AddAppInvoiceRequest", hasZeroFields: (bool) false @@ -570,8 +570,8 @@ name: (string) (len=18) "NewInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0001849c0)({ - authType: (*main.supportedAuth)(0xc000183650)({ + opts: (*main.methodOptions)(0xc00046b920)({ + authType: (*main.supportedAuth)(0xc000099650)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -589,7 +589,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f310)({ + (*main.Method)(0xc00007ab90)({ in: (main.MethodMessage) { name: (string) (len=24) "AddAppUserInvoiceRequest", hasZeroFields: (bool) false @@ -599,8 +599,8 @@ name: (string) (len=18) "NewInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000184ba0)({ - authType: (*main.supportedAuth)(0xc0001836e0)({ + opts: (*main.methodOptions)(0xc00046bb00)({ + authType: (*main.supportedAuth)(0xc0000996e0)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -618,7 +618,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f3b0)({ + (*main.Method)(0xc00007ac30)({ in: (main.MethodMessage) { name: (string) (len=17) "GetAppUserRequest", hasZeroFields: (bool) false @@ -628,8 +628,8 @@ name: (string) (len=7) "AppUser", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000184d20)({ - authType: (*main.supportedAuth)(0xc000183770)({ + opts: (*main.methodOptions)(0xc00046bc80)({ + authType: (*main.supportedAuth)(0xc000099770)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -647,7 +647,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f450)({ + (*main.Method)(0xc00007acd0)({ in: (main.MethodMessage) { name: (string) (len=24) "PayAppUserInvoiceRequest", hasZeroFields: (bool) false @@ -657,8 +657,8 @@ name: (string) (len=18) "PayInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000184ea0)({ - authType: (*main.supportedAuth)(0xc000183800)({ + opts: (*main.methodOptions)(0xc00046be00)({ + authType: (*main.supportedAuth)(0xc000099800)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -676,7 +676,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f4a0)({ + (*main.Method)(0xc00007ad20)({ in: (main.MethodMessage) { name: (string) (len=34) "SendAppUserToAppUserPaymentRequest", hasZeroFields: (bool) false @@ -686,8 +686,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc000185080)({ - authType: (*main.supportedAuth)(0xc000183890)({ + opts: (*main.methodOptions)(0xc0000ae420)({ + authType: (*main.supportedAuth)(0xc000099890)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -705,7 +705,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f540)({ + (*main.Method)(0xc00007adc0)({ in: (main.MethodMessage) { name: (string) (len=30) "SendAppUserToAppPaymentRequest", hasZeroFields: (bool) false @@ -715,8 +715,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc000185200)({ - authType: (*main.supportedAuth)(0xc000183920)({ + opts: (*main.methodOptions)(0xc0000ae600)({ + authType: (*main.supportedAuth)(0xc000099920)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -734,7 +734,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f590)({ + (*main.Method)(0xc00007ae10)({ in: (main.MethodMessage) { name: (string) (len=26) "GetAppUserLNURLInfoRequest", hasZeroFields: (bool) false @@ -744,8 +744,8 @@ name: (string) (len=20) "LnurlPayInfoResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000185380)({ - authType: (*main.supportedAuth)(0xc0001839b0)({ + opts: (*main.methodOptions)(0xc0000ae7e0)({ + authType: (*main.supportedAuth)(0xc0000999b0)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -763,7 +763,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f5e0)({ + (*main.Method)(0xc00007ae60)({ in: (main.MethodMessage) { name: (string) (len=28) "SetMockAppUserBalanceRequest", hasZeroFields: (bool) false @@ -773,8 +773,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc000185500)({ - authType: (*main.supportedAuth)(0xc000183a40)({ + opts: (*main.methodOptions)(0xc0000ae960)({ + authType: (*main.supportedAuth)(0xc000099a40)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -792,7 +792,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f630)({ + (*main.Method)(0xc00007aeb0)({ in: (main.MethodMessage) { name: (string) (len=24) "SetMockAppBalanceRequest", hasZeroFields: (bool) false @@ -802,8 +802,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc0001856e0)({ - authType: (*main.supportedAuth)(0xc000183ad0)({ + opts: (*main.methodOptions)(0xc0000aeb40)({ + authType: (*main.supportedAuth)(0xc000099ad0)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -821,7 +821,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f680)({ + (*main.Method)(0xc00007af00)({ in: (main.MethodMessage) { name: (string) (len=30) "RequestNPubLinkingTokenRequest", hasZeroFields: (bool) false @@ -831,8 +831,8 @@ name: (string) (len=31) "RequestNPubLinkingTokenResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc0001858c0)({ - authType: (*main.supportedAuth)(0xc000183b60)({ + opts: (*main.methodOptions)(0xc0000aed20)({ + authType: (*main.supportedAuth)(0xc000099b60)({ id: (string) (len=3) "app", name: (string) (len=3) "App", context: (map[string]string) (len=1) { @@ -850,7 +850,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f6d0)({ + (*main.Method)(0xc00007af50)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -860,8 +860,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc000185aa0)({ - authType: (*main.supportedAuth)(0xc000183bf0)({ + opts: (*main.methodOptions)(0xc0000aef60)({ + authType: (*main.supportedAuth)(0xc000099bf0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -881,7 +881,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f720)({ + (*main.Method)(0xc00007afa0)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -891,14 +891,14 @@ name: (string) (len=8) "UserInfo", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000185c80)({ - authType: (*main.supportedAuth)(0xc000183c80)({ + opts: (*main.methodOptions)(0xc0000af1a0)({ + authType: (*main.supportedAuth)(0xc000099c80)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { + (string) (len=11) "app_user_id": (string) (len=6) "string", (string) (len=7) "user_id": (string) (len=6) "string", - (string) (len=6) "app_id": (string) (len=6) "string", - (string) (len=11) "app_user_id": (string) (len=6) "string" + (string) (len=6) "app_id": (string) (len=6) "string" } }), method: (string) (len=4) "post", @@ -912,7 +912,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f7c0)({ + (*main.Method)(0xc00007b040)({ in: (main.MethodMessage) { name: (string) (len=17) "AddProductRequest", hasZeroFields: (bool) false @@ -922,8 +922,8 @@ name: (string) (len=7) "Product", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc000185e60)({ - authType: (*main.supportedAuth)(0xc000183d10)({ + opts: (*main.methodOptions)(0xc0000af380)({ + authType: (*main.supportedAuth)(0xc000099d10)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -943,7 +943,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f810)({ + (*main.Method)(0xc00007b090)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -953,8 +953,8 @@ name: (string) (len=18) "NewInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018a300)({ - authType: (*main.supportedAuth)(0xc000183e30)({ + opts: (*main.methodOptions)(0xc00009c360)({ + authType: (*main.supportedAuth)(0xc000099e30)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -976,7 +976,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f860)({ + (*main.Method)(0xc00007b0e0)({ in: (main.MethodMessage) { name: (string) (len=24) "GetUserOperationsRequest", hasZeroFields: (bool) false @@ -986,14 +986,14 @@ name: (string) (len=25) "GetUserOperationsResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018a4e0)({ - authType: (*main.supportedAuth)(0xc000183ec0)({ + opts: (*main.methodOptions)(0xc00009c540)({ + authType: (*main.supportedAuth)(0xc000099ec0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { + (string) (len=11) "app_user_id": (string) (len=6) "string", (string) (len=7) "user_id": (string) (len=6) "string", - (string) (len=6) "app_id": (string) (len=6) "string", - (string) (len=11) "app_user_id": (string) (len=6) "string" + (string) (len=6) "app_id": (string) (len=6) "string" } }), method: (string) (len=4) "post", @@ -1007,7 +1007,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f900)({ + (*main.Method)(0xc00007b180)({ in: (main.MethodMessage) { name: (string) (len=17) "NewAddressRequest", hasZeroFields: (bool) false @@ -1017,8 +1017,8 @@ name: (string) (len=18) "NewAddressResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018a6c0)({ - authType: (*main.supportedAuth)(0xc000183f50)({ + opts: (*main.methodOptions)(0xc00009c720)({ + authType: (*main.supportedAuth)(0xc000099f50)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -1038,7 +1038,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029f9a0)({ + (*main.Method)(0xc00007b220)({ in: (main.MethodMessage) { name: (string) (len=17) "PayAddressRequest", hasZeroFields: (bool) false @@ -1048,14 +1048,14 @@ name: (string) (len=18) "PayAddressResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018a8a0)({ - authType: (*main.supportedAuth)(0xc00018c000)({ + opts: (*main.methodOptions)(0xc00009c900)({ + authType: (*main.supportedAuth)(0xc000130000)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { - (string) (len=7) "user_id": (string) (len=6) "string", (string) (len=6) "app_id": (string) (len=6) "string", - (string) (len=11) "app_user_id": (string) (len=6) "string" + (string) (len=11) "app_user_id": (string) (len=6) "string", + (string) (len=7) "user_id": (string) (len=6) "string" } }), method: (string) (len=4) "post", @@ -1069,7 +1069,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029fa40)({ + (*main.Method)(0xc00007b2c0)({ in: (main.MethodMessage) { name: (string) (len=17) "NewInvoiceRequest", hasZeroFields: (bool) false @@ -1079,8 +1079,8 @@ name: (string) (len=18) "NewInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018aa80)({ - authType: (*main.supportedAuth)(0xc00018c090)({ + opts: (*main.methodOptions)(0xc00009cae0)({ + authType: (*main.supportedAuth)(0xc000130090)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -1100,7 +1100,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029fae0)({ + (*main.Method)(0xc00007b360)({ in: (main.MethodMessage) { name: (string) (len=20) "DecodeInvoiceRequest", hasZeroFields: (bool) false @@ -1110,8 +1110,8 @@ name: (string) (len=21) "DecodeInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018ac60)({ - authType: (*main.supportedAuth)(0xc00018c120)({ + opts: (*main.methodOptions)(0xc00009ccc0)({ + authType: (*main.supportedAuth)(0xc000130120)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -1131,7 +1131,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029fb80)({ + (*main.Method)(0xc00007b400)({ in: (main.MethodMessage) { name: (string) (len=17) "PayInvoiceRequest", hasZeroFields: (bool) false @@ -1141,14 +1141,14 @@ name: (string) (len=18) "PayInvoiceResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018ae40)({ - authType: (*main.supportedAuth)(0xc00018c1b0)({ + opts: (*main.methodOptions)(0xc00009cea0)({ + authType: (*main.supportedAuth)(0xc0001301b0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { - (string) (len=7) "user_id": (string) (len=6) "string", (string) (len=6) "app_id": (string) (len=6) "string", - (string) (len=11) "app_user_id": (string) (len=6) "string" + (string) (len=11) "app_user_id": (string) (len=6) "string", + (string) (len=7) "user_id": (string) (len=6) "string" } }), method: (string) (len=4) "post", @@ -1162,7 +1162,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029fc20)({ + (*main.Method)(0xc00007b4a0)({ in: (main.MethodMessage) { name: (string) (len=22) "GetPaymentStateRequest", hasZeroFields: (bool) false @@ -1172,8 +1172,8 @@ name: (string) (len=12) "PaymentState", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018b020)({ - authType: (*main.supportedAuth)(0xc00018c240)({ + opts: (*main.methodOptions)(0xc00009d080)({ + authType: (*main.supportedAuth)(0xc000130240)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -1193,7 +1193,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029fcc0)({ + (*main.Method)(0xc00007b540)({ in: (main.MethodMessage) { name: (string) (len=18) "OpenChannelRequest", hasZeroFields: (bool) false @@ -1203,14 +1203,14 @@ name: (string) (len=19) "OpenChannelResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018b200)({ - authType: (*main.supportedAuth)(0xc00018c2d0)({ + opts: (*main.methodOptions)(0xc00009d260)({ + authType: (*main.supportedAuth)(0xc0001302d0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { + (string) (len=11) "app_user_id": (string) (len=6) "string", (string) (len=7) "user_id": (string) (len=6) "string", - (string) (len=6) "app_id": (string) (len=6) "string", - (string) (len=11) "app_user_id": (string) (len=6) "string" + (string) (len=6) "app_id": (string) (len=6) "string" } }), method: (string) (len=4) "post", @@ -1224,7 +1224,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029fd60)({ + (*main.Method)(0xc00007b5e0)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -1234,8 +1234,8 @@ name: (string) (len=17) "LnurlLinkResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018b3e0)({ - authType: (*main.supportedAuth)(0xc00018c360)({ + opts: (*main.methodOptions)(0xc00009d440)({ + authType: (*main.supportedAuth)(0xc000130360)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -1255,7 +1255,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029fe00)({ + (*main.Method)(0xc00007b680)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -1265,14 +1265,14 @@ name: (string) (len=17) "LnurlLinkResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018b5c0)({ - authType: (*main.supportedAuth)(0xc00018c3f0)({ + opts: (*main.methodOptions)(0xc00009d620)({ + authType: (*main.supportedAuth)(0xc0001303f0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { + (string) (len=7) "user_id": (string) (len=6) "string", (string) (len=6) "app_id": (string) (len=6) "string", - (string) (len=11) "app_user_id": (string) (len=6) "string", - (string) (len=7) "user_id": (string) (len=6) "string" + (string) (len=11) "app_user_id": (string) (len=6) "string" } }), method: (string) (len=3) "get", @@ -1286,7 +1286,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029fea0)({ + (*main.Method)(0xc00007b720)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -1296,8 +1296,8 @@ name: (string) (len=17) "LnurlLinkResponse", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018b7a0)({ - authType: (*main.supportedAuth)(0xc00018c480)({ + opts: (*main.methodOptions)(0xc00009d800)({ + authType: (*main.supportedAuth)(0xc000130480)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -1317,7 +1317,7 @@ }), serverStream: (bool) false }), - (*main.Method)(0xc00029ff40)({ + (*main.Method)(0xc00007b7c0)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -1327,8 +1327,8 @@ name: (string) (len=17) "LiveUserOperation", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018b980)({ - authType: (*main.supportedAuth)(0xc00018c510)({ + opts: (*main.methodOptions)(0xc00009d9e0)({ + authType: (*main.supportedAuth)(0xc000130510)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -1348,7 +1348,7 @@ }), serverStream: (bool) true }), - (*main.Method)(0xc0000d8050)({ + (*main.Method)(0xc00007b860)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -1358,8 +1358,8 @@ name: (string) (len=15) "MigrationUpdate", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018bb60)({ - authType: (*main.supportedAuth)(0xc00018c5a0)({ + opts: (*main.methodOptions)(0xc00009dbc0)({ + authType: (*main.supportedAuth)(0xc0001305a0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -1379,7 +1379,7 @@ }), serverStream: (bool) true }), - (*main.Method)(0xc0000d80a0)({ + (*main.Method)(0xc00007b8b0)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -1389,14 +1389,14 @@ name: (string) (len=9) "HttpCreds", hasZeroFields: (bool) false }, - opts: (*main.methodOptions)(0xc00018bd40)({ - authType: (*main.supportedAuth)(0xc00018c630)({ + opts: (*main.methodOptions)(0xc00009dda0)({ + authType: (*main.supportedAuth)(0xc000130630)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { - (string) (len=11) "app_user_id": (string) (len=6) "string", (string) (len=7) "user_id": (string) (len=6) "string", - (string) (len=6) "app_id": (string) (len=6) "string" + (string) (len=6) "app_id": (string) (len=6) "string", + (string) (len=11) "app_user_id": (string) (len=6) "string" } }), method: (string) (len=4) "post", @@ -1410,7 +1410,7 @@ }), serverStream: (bool) true }), - (*main.Method)(0xc0000d80f0)({ + (*main.Method)(0xc00007b900)({ in: (main.MethodMessage) { name: (string) (len=5) "Empty", hasZeroFields: (bool) true @@ -1420,8 +1420,8 @@ name: (string) (len=5) "Empty", hasZeroFields: (bool) true }, - opts: (*main.methodOptions)(0xc00018bf80)({ - authType: (*main.supportedAuth)(0xc00018c6f0)({ + opts: (*main.methodOptions)(0xc000160000)({ + authType: (*main.supportedAuth)(0xc0001306f0)({ id: (string) (len=4) "user", name: (string) (len=4) "User", context: (map[string]string) (len=3) { @@ -1444,7 +1444,7 @@ } ([]*main.Enum) (len=2 cap=2) { - (*main.Enum)(0xc00009ff50)({ + (*main.Enum)(0xc000488000)({ name: (string) (len=11) "AddressType", values: ([]main.EnumValue) (len=3 cap=4) { (main.EnumValue) { @@ -1461,7 +1461,7 @@ } } }), - (*main.Enum)(0xc00009ffb0)({ + (*main.Enum)(0xc000489290)({ name: (string) (len=17) "UserOperationType", values: ([]main.EnumValue) (len=6 cap=8) { (main.EnumValue) { @@ -1493,12 +1493,12 @@ } (map[string]*main.Message) (len=73) { - (string) (len=30) "SendAppUserToAppPaymentRequest": (*main.Message)(0xc00009f0b0)({ - fullName: (string) (len=30) "SendAppUserToAppPaymentRequest", - name: (string) (len=30) "SendAppUserToAppPaymentRequest", - fields: (map[string]*main.Field) (len=2) { - (string) (len=6) "amount": (*main.Field)(0xc0000a0900)({ - name: (string) (len=6) "amount", + (string) (len=11) "UsageMetric": (*main.Message)(0xc000388e10)({ + fullName: (string) (len=11) "UsageMetric", + name: (string) (len=11) "UsageMetric", + fields: (map[string]*main.Field) (len=9) { + (string) (len=14) "parsed_in_nano": (*main.Field)(0xc00046c3c0)({ + name: (string) (len=14) "parsed_in_nano", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -1507,41 +1507,29 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=20) "from_user_identifier": (*main.Field)(0xc0000a08c0)({ - name: (string) (len=20) "from_user_identifier", - kind: (string) (len=6) "string", + (string) (len=12) "auth_in_nano": (*main.Field)(0xc00046c400)({ + name: (string) (len=12) "auth_in_nano", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=20) "DecodeInvoiceRequest": (*main.Message)(0xc00009f470)({ - fullName: (string) (len=20) "DecodeInvoiceRequest", - name: (string) (len=20) "DecodeInvoiceRequest", - fields: (map[string]*main.Field) (len=1) { - (string) (len=7) "invoice": (*main.Field)(0xc0000a0d80)({ - name: (string) (len=7) "invoice", - kind: (string) (len=6) "string", + }), + (string) (len=15) "processed_at_ms": (*main.Field)(0xc00046c340)({ + name: (string) (len=15) "processed_at_ms", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=27) "LinkNPubThroughTokenRequest": (*main.Message)(0xc00009fe30)({ - fullName: (string) (len=27) "LinkNPubThroughTokenRequest", - name: (string) (len=27) "LinkNPubThroughTokenRequest", - fields: (map[string]*main.Field) (len=2) { - (string) (len=5) "token": (*main.Field)(0xc00010e840)({ - name: (string) (len=5) "token", - kind: (string) (len=6) "string", + }), + (string) (len=16) "validate_in_nano": (*main.Field)(0xc00046c640)({ + name: (string) (len=16) "validate_in_nano", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1549,24 +1537,18 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=9) "nostr_pub": (*main.Field)(0xc00010e880)({ - name: (string) (len=9) "nostr_pub", - kind: (string) (len=6) "string", + (string) (len=14) "handle_in_nano": (*main.Field)(0xc00046c680)({ + name: (string) (len=14) "handle_in_nano", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=9) "HttpCreds": (*main.Message)(0xc00009fe90)({ - fullName: (string) (len=9) "HttpCreds", - name: (string) (len=9) "HttpCreds", - fields: (map[string]*main.Field) (len=2) { - (string) (len=3) "url": (*main.Field)(0xc00010e8c0)({ - name: (string) (len=3) "url", + }), + (string) (len=8) "rpc_name": (*main.Field)(0xc00046c700)({ + name: (string) (len=8) "rpc_name", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -1575,31 +1557,19 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=5) "token": (*main.Field)(0xc00010e900)({ - name: (string) (len=5) "token", - kind: (string) (len=6) "string", + (string) (len=5) "batch": (*main.Field)(0xc00046c740)({ + name: (string) (len=5) "batch", + kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=5) "Empty": (*main.Message)(0xc00009e3f0)({ - fullName: (string) (len=5) "Empty", - name: (string) (len=5) "Empty", - fields: (map[string]*main.Field) { - } - }), - (string) (len=11) "UsageMetric": (*main.Message)(0xc00009e4b0)({ - fullName: (string) (len=11) "UsageMetric", - name: (string) (len=11) "UsageMetric", - fields: (map[string]*main.Field) (len=9) { - (string) (len=15) "processed_at_ms": (*main.Field)(0xc0003384c0)({ - name: (string) (len=15) "processed_at_ms", - kind: (string) (len=5) "int64", + }), + (string) (len=5) "nostr": (*main.Field)(0xc00046c7c0)({ + name: (string) (len=5) "nostr", + kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1607,8 +1577,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=16) "validate_in_nano": (*main.Field)(0xc000338840)({ - name: (string) (len=16) "validate_in_nano", + (string) (len=10) "batch_size": (*main.Field)(0xc00046c800)({ + name: (string) (len=10) "batch_size", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -1616,10 +1586,16 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=5) "batch": (*main.Field)(0xc000338940)({ - name: (string) (len=5) "batch", - kind: (string) (len=4) "bool", + }) + } + }), + (string) (len=7) "AuthApp": (*main.Message)(0xc000389710)({ + fullName: (string) (len=7) "AuthApp", + name: (string) (len=7) "AuthApp", + fields: (map[string]*main.Field) (len=2) { + (string) (len=10) "auth_token": (*main.Field)(0xc000314140)({ + name: (string) (len=10) "auth_token", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1627,19 +1603,25 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=5) "nostr": (*main.Field)(0xc0003389c0)({ - name: (string) (len=5) "nostr", - kind: (string) (len=4) "bool", + (string) (len=3) "app": (*main.Field)(0xc000314080)({ + name: (string) (len=3) "app", + kind: (string) (len=11) "Application", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=14) "parsed_in_nano": (*main.Field)(0xc0003385c0)({ - name: (string) (len=14) "parsed_in_nano", - kind: (string) (len=5) "int64", + }) + } + }), + (string) (len=18) "OpenChannelRequest": (*main.Message)(0xc0001e5770)({ + fullName: (string) (len=18) "OpenChannelRequest", + name: (string) (len=18) "OpenChannelRequest", + fields: (map[string]*main.Field) (len=4) { + (string) (len=12) "closeAddress": (*main.Field)(0xc000315180)({ + name: (string) (len=12) "closeAddress", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1647,9 +1629,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=12) "auth_in_nano": (*main.Field)(0xc000338600)({ - name: (string) (len=12) "auth_in_nano", - kind: (string) (len=5) "int64", + (string) (len=11) "destination": (*main.Field)(0xc0003150c0)({ + name: (string) (len=11) "destination", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1657,8 +1639,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=14) "handle_in_nano": (*main.Field)(0xc000338880)({ - name: (string) (len=14) "handle_in_nano", + (string) (len=13) "fundingAmount": (*main.Field)(0xc000315100)({ + name: (string) (len=13) "fundingAmount", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -1667,18 +1649,24 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "rpc_name": (*main.Field)(0xc000338900)({ - name: (string) (len=8) "rpc_name", - kind: (string) (len=6) "string", + (string) (len=10) "pushAmount": (*main.Field)(0xc000315140)({ + name: (string) (len=10) "pushAmount", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=10) "batch_size": (*main.Field)(0xc000338a00)({ - name: (string) (len=10) "batch_size", + }) + } + }), + (string) (len=16) "ClosureMigration": (*main.Message)(0xc0001e5d70)({ + fullName: (string) (len=16) "ClosureMigration", + name: (string) (len=16) "ClosureMigration", + fields: (map[string]*main.Field) (len=1) { + (string) (len=14) "closes_at_unix": (*main.Field)(0xc0000b0680)({ + name: (string) (len=14) "closes_at_unix", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -1689,12 +1677,12 @@ }) } }), - (string) (len=18) "LndGetInfoResponse": (*main.Message)(0xc00009eb10)({ - fullName: (string) (len=18) "LndGetInfoResponse", - name: (string) (len=18) "LndGetInfoResponse", - fields: (map[string]*main.Field) (len=1) { - (string) (len=5) "alias": (*main.Field)(0xc000339e80)({ - name: (string) (len=5) "alias", + (string) (len=14) "ChannelRouting": (*main.Message)(0xc000389290)({ + fullName: (string) (len=14) "ChannelRouting", + name: (string) (len=14) "ChannelRouting", + fields: (map[string]*main.Field) (len=10) { + (string) (len=10) "channel_id": (*main.Field)(0xc00046d680)({ + name: (string) (len=10) "channel_id", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -1702,16 +1690,10 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=13) "BannedAppUser": (*main.Message)(0xc00009ebd0)({ - fullName: (string) (len=13) "BannedAppUser", - name: (string) (len=13) "BannedAppUser", - fields: (map[string]*main.Field) (len=4) { - (string) (len=8) "app_name": (*main.Field)(0xc000339f00)({ - name: (string) (len=8) "app_name", - kind: (string) (len=6) "string", + }), + (string) (len=21) "forward_fee_as_output": (*main.Field)(0xc00046d880)({ + name: (string) (len=21) "forward_fee_as_output", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1719,9 +1701,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "app_id": (*main.Field)(0xc000339f40)({ - name: (string) (len=6) "app_id", - kind: (string) (len=6) "string", + (string) (len=13) "events_number": (*main.Field)(0xc00046d8c0)({ + name: (string) (len=13) "events_number", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1729,9 +1711,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=15) "user_identifier": (*main.Field)(0xc000339f80)({ - name: (string) (len=15) "user_identifier", - kind: (string) (len=6) "string", + (string) (len=28) "missed_forward_fee_as_output": (*main.Field)(0xc00046d800)({ + name: (string) (len=28) "missed_forward_fee_as_output", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1739,40 +1721,28 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=9) "nostr_pub": (*main.Field)(0xc000339fc0)({ - name: (string) (len=9) "nostr_pub", - kind: (string) (len=6) "string", + (string) (len=20) "forward_fee_as_input": (*main.Field)(0xc00046d840)({ + name: (string) (len=20) "forward_fee_as_input", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=17) "GetAppUserRequest": (*main.Message)(0xc00009ef90)({ - fullName: (string) (len=17) "GetAppUserRequest", - name: (string) (len=17) "GetAppUserRequest", - fields: (map[string]*main.Field) (len=1) { - (string) (len=15) "user_identifier": (*main.Field)(0xc0000a0700)({ - name: (string) (len=15) "user_identifier", - kind: (string) (len=6) "string", + }), + (string) (len=11) "send_errors": (*main.Field)(0xc00046d6c0)({ + name: (string) (len=11) "send_errors", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=24) "SetMockAppBalanceRequest": (*main.Message)(0xc00009f1d0)({ - fullName: (string) (len=24) "SetMockAppBalanceRequest", - name: (string) (len=24) "SetMockAppBalanceRequest", - fields: (map[string]*main.Field) (len=1) { - (string) (len=6) "amount": (*main.Field)(0xc0000a0a40)({ - name: (string) (len=6) "amount", + }), + (string) (len=14) "receive_errors": (*main.Field)(0xc00046d700)({ + name: (string) (len=14) "receive_errors", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -1780,58 +1750,46 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=17) "NewAddressRequest": (*main.Message)(0xc00009f230)({ - fullName: (string) (len=17) "NewAddressRequest", - name: (string) (len=17) "NewAddressRequest", - fields: (map[string]*main.Field) (len=1) { - (string) (len=11) "addressType": (*main.Field)(0xc0000a0a80)({ - name: (string) (len=11) "addressType", - kind: (string) (len=11) "AddressType", + }), + (string) (len=23) "forward_errors_as_input": (*main.Field)(0xc00046d740)({ + name: (string) (len=23) "forward_errors_as_input", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, - isEnum: (bool) true, + isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=15) "MigrationUpdate": (*main.Message)(0xc00009fc50)({ - fullName: (string) (len=15) "MigrationUpdate", - name: (string) (len=15) "MigrationUpdate", - fields: (map[string]*main.Field) (len=2) { - (string) (len=7) "closure": (*main.Field)(0xc00010e640)({ - name: (string) (len=7) "closure", - kind: (string) (len=16) "ClosureMigration", + }), + (string) (len=24) "forward_errors_as_output": (*main.Field)(0xc00046d780)({ + name: (string) (len=24) "forward_errors_as_output", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) true, + isMessage: (bool) false, + isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "relays": (*main.Field)(0xc00010e680)({ - name: (string) (len=6) "relays", - kind: (string) (len=15) "RelaysMigration", + (string) (len=27) "missed_forward_fee_as_input": (*main.Field)(0xc00046d7c0)({ + name: (string) (len=27) "missed_forward_fee_as_input", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) true, + isMessage: (bool) false, + isOptional: (bool) false, oneOfName: (string) "" }) } }), - (string) (len=13) "ClosedChannel": (*main.Message)(0xc00009e8d0)({ - fullName: (string) (len=13) "ClosedChannel", - name: (string) (len=13) "ClosedChannel", - fields: (map[string]*main.Field) (len=3) { - (string) (len=10) "channel_id": (*main.Field)(0xc000339800)({ - name: (string) (len=10) "channel_id", - kind: (string) (len=6) "string", + (string) (len=14) "LndNodeMetrics": (*main.Message)(0xc0003892f0)({ + fullName: (string) (len=14) "LndNodeMetrics", + name: (string) (len=14) "LndNodeMetrics", + fields: (map[string]*main.Field) (len=9) { + (string) (len=16) "offline_channels": (*main.Field)(0xc00046d980)({ + name: (string) (len=16) "offline_channels", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1839,8 +1797,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "capacity": (*main.Field)(0xc000339840)({ - name: (string) (len=8) "capacity", + (string) (len=16) "pending_channels": (*main.Field)(0xc00046da00)({ + name: (string) (len=16) "pending_channels", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -1849,8 +1807,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=13) "closed_height": (*main.Field)(0xc000339880)({ - name: (string) (len=13) "closed_height", + (string) (len=16) "closing_channels": (*main.Field)(0xc00046da40)({ + name: (string) (len=16) "closing_channels", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -1858,68 +1816,50 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=17) "LndGetInfoRequest": (*main.Message)(0xc00009ea50)({ - fullName: (string) (len=17) "LndGetInfoRequest", - name: (string) (len=17) "LndGetInfoRequest", - fields: (map[string]*main.Field) (len=1) { - (string) (len=6) "nodeId": (*main.Field)(0xc000339dc0)({ - name: (string) (len=6) "nodeId", - kind: (string) (len=5) "int64", + }), + (string) (len=15) "channel_routing": (*main.Field)(0xc00046db00)({ + name: (string) (len=15) "channel_routing", + kind: (string) (len=14) "ChannelRouting", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=27) "SetMockInvoiceAsPaidRequest": (*main.Message)(0xc00009eab0)({ - fullName: (string) (len=27) "SetMockInvoiceAsPaidRequest", - name: (string) (len=27) "SetMockInvoiceAsPaidRequest", - fields: (map[string]*main.Field) (len=2) { - (string) (len=7) "invoice": (*main.Field)(0xc000339e00)({ - name: (string) (len=7) "invoice", - kind: (string) (len=6) "string", + }), + (string) (len=15) "closed_channels": (*main.Field)(0xc00046dac0)({ + name: (string) (len=15) "closed_channels", + kind: (string) (len=13) "ClosedChannel", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "amount": (*main.Field)(0xc000339e40)({ - name: (string) (len=6) "amount", - kind: (string) (len=5) "int64", + (string) (len=23) "channels_balance_events": (*main.Field)(0xc00046d900)({ + name: (string) (len=23) "channels_balance_events", + kind: (string) (len=19) "ChannelBalanceEvent", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=20) "AddAppInvoiceRequest": (*main.Message)(0xc00009eed0)({ - fullName: (string) (len=20) "AddAppInvoiceRequest", - name: (string) (len=20) "AddAppInvoiceRequest", - fields: (map[string]*main.Field) (len=3) { - (string) (len=16) "payer_identifier": (*main.Field)(0xc0000a0540)({ - name: (string) (len=16) "payer_identifier", - kind: (string) (len=6) "string", + }), + (string) (len=20) "chain_balance_events": (*main.Field)(0xc00046d940)({ + name: (string) (len=20) "chain_balance_events", + kind: (string) (len=17) "ChainBalanceEvent", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=17) "http_callback_url": (*main.Field)(0xc0000a0580)({ - name: (string) (len=17) "http_callback_url", - kind: (string) (len=6) "string", + (string) (len=15) "online_channels": (*main.Field)(0xc00046d9c0)({ + name: (string) (len=15) "online_channels", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1927,11 +1867,11 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "invoice_req": (*main.Field)(0xc0000a05c0)({ - name: (string) (len=11) "invoice_req", - kind: (string) (len=17) "NewInvoiceRequest", + (string) (len=13) "open_channels": (*main.Field)(0xc00046da80)({ + name: (string) (len=13) "open_channels", + kind: (string) (len=11) "OpenChannel", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, isMessage: (bool) true, isOptional: (bool) false, @@ -1939,13 +1879,13 @@ }) } }), - (string) (len=16) "ClosureMigration": (*main.Message)(0xc00009fcb0)({ - fullName: (string) (len=16) "ClosureMigration", - name: (string) (len=16) "ClosureMigration", + (string) (len=18) "LndGetInfoResponse": (*main.Message)(0xc000389470)({ + fullName: (string) (len=18) "LndGetInfoResponse", + name: (string) (len=18) "LndGetInfoResponse", fields: (map[string]*main.Field) (len=1) { - (string) (len=14) "closes_at_unix": (*main.Field)(0xc00010e6c0)({ - name: (string) (len=14) "closes_at_unix", - kind: (string) (len=5) "int64", + (string) (len=5) "alias": (*main.Field)(0xc00046dc40)({ + name: (string) (len=5) "alias", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1955,13 +1895,13 @@ }) } }), - (string) (len=9) "UsersInfo": (*main.Message)(0xc00009e5d0)({ - fullName: (string) (len=9) "UsersInfo", - name: (string) (len=9) "UsersInfo", - fields: (map[string]*main.Field) (len=6) { - (string) (len=14) "balance_median": (*main.Field)(0xc000338e40)({ - name: (string) (len=14) "balance_median", - kind: (string) (len=5) "int64", + (string) (len=7) "Product": (*main.Message)(0xc0001e5bf0)({ + fullName: (string) (len=7) "Product", + name: (string) (len=7) "Product", + fields: (map[string]*main.Field) (len=3) { + (string) (len=2) "id": (*main.Field)(0xc000315fc0)({ + name: (string) (len=2) "id", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1969,9 +1909,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=5) "total": (*main.Field)(0xc000338d00)({ - name: (string) (len=5) "total", - kind: (string) (len=5) "int64", + (string) (len=4) "name": (*main.Field)(0xc0000b0000)({ + name: (string) (len=4) "name", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -1979,8 +1919,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=10) "no_balance": (*main.Field)(0xc000338d40)({ - name: (string) (len=10) "no_balance", + (string) (len=10) "price_sats": (*main.Field)(0xc0000b0040)({ + name: (string) (len=10) "price_sats", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -1988,19 +1928,31 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=16) "negative_balance": (*main.Field)(0xc000338d80)({ - name: (string) (len=16) "negative_balance", - kind: (string) (len=5) "int64", + }) + } + }), + (string) (len=30) "RequestNPubLinkingTokenRequest": (*main.Message)(0xc0001e5e30)({ + fullName: (string) (len=30) "RequestNPubLinkingTokenRequest", + name: (string) (len=30) "RequestNPubLinkingTokenRequest", + fields: (map[string]*main.Field) (len=1) { + (string) (len=15) "user_identifier": (*main.Field)(0xc0000b0700)({ + name: (string) (len=15) "user_identifier", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=20) "always_been_inactive": (*main.Field)(0xc000338dc0)({ - name: (string) (len=20) "always_been_inactive", + }) + } + }), + (string) (len=15) "BanUserResponse": (*main.Message)(0xc000389590)({ + fullName: (string) (len=15) "BanUserResponse", + name: (string) (len=15) "BanUserResponse", + fields: (map[string]*main.Field) (len=2) { + (string) (len=12) "balance_sats": (*main.Field)(0xc00046ddc0)({ + name: (string) (len=12) "balance_sats", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2009,9 +1961,25 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "balance_avg": (*main.Field)(0xc000338e00)({ - name: (string) (len=11) "balance_avg", - kind: (string) (len=5) "int64", + (string) (len=16) "banned_app_users": (*main.Field)(0xc00046de00)({ + name: (string) (len=16) "banned_app_users", + kind: (string) (len=13) "BannedAppUser", + isMap: (bool) false, + isArray: (bool) true, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false, + oneOfName: (string) "" + }) + } + }), + (string) (len=22) "GetPaymentStateRequest": (*main.Message)(0xc000389f50)({ + fullName: (string) (len=22) "GetPaymentStateRequest", + name: (string) (len=22) "GetPaymentStateRequest", + fields: (map[string]*main.Field) (len=1) { + (string) (len=7) "invoice": (*main.Field)(0xc000314f80)({ + name: (string) (len=7) "invoice", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2021,13 +1989,13 @@ }) } }), - (string) (len=12) "RoutingEvent": (*main.Message)(0xc00009e750)({ - fullName: (string) (len=12) "RoutingEvent", - name: (string) (len=12) "RoutingEvent", - fields: (map[string]*main.Field) (len=12) { - (string) (len=8) "offchain": (*main.Field)(0xc000339400)({ - name: (string) (len=8) "offchain", - kind: (string) (len=4) "bool", + (string) (len=25) "LnurlWithdrawInfoResponse": (*main.Message)(0xc0001e5890)({ + fullName: (string) (len=25) "LnurlWithdrawInfoResponse", + name: (string) (len=25) "LnurlWithdrawInfoResponse", + fields: (map[string]*main.Field) (len=8) { + (string) (len=2) "k1": (*main.Field)(0xc000315300)({ + name: (string) (len=2) "k1", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2035,9 +2003,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=19) "outgoing_channel_id": (*main.Field)(0xc000339200)({ - name: (string) (len=19) "outgoing_channel_id", - kind: (string) (len=5) "int64", + (string) (len=18) "defaultDescription": (*main.Field)(0xc000315340)({ + name: (string) (len=18) "defaultDescription", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2045,8 +2013,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=16) "outgoing_htlc_id": (*main.Field)(0xc000339240)({ - name: (string) (len=16) "outgoing_htlc_id", + (string) (len=15) "minWithdrawable": (*main.Field)(0xc000315380)({ + name: (string) (len=15) "minWithdrawable", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2055,8 +2023,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=17) "incoming_amt_msat": (*main.Field)(0xc000339300)({ - name: (string) (len=17) "incoming_amt_msat", + (string) (len=15) "maxWithdrawable": (*main.Field)(0xc0003153c0)({ + name: (string) (len=15) "maxWithdrawable", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2065,9 +2033,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=17) "outgoing_amt_msat": (*main.Field)(0xc000339340)({ - name: (string) (len=17) "outgoing_amt_msat", - kind: (string) (len=5) "int64", + (string) (len=12) "balanceCheck": (*main.Field)(0xc000315400)({ + name: (string) (len=12) "balanceCheck", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2075,8 +2043,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=14) "failure_string": (*main.Field)(0xc000339380)({ - name: (string) (len=14) "failure_string", + (string) (len=7) "payLink": (*main.Field)(0xc000315440)({ + name: (string) (len=7) "payLink", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2085,9 +2053,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "settled": (*main.Field)(0xc0003393c0)({ - name: (string) (len=7) "settled", - kind: (string) (len=4) "bool", + (string) (len=3) "tag": (*main.Field)(0xc000315280)({ + name: (string) (len=3) "tag", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2095,18 +2063,24 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=19) "incoming_channel_id": (*main.Field)(0xc000339180)({ - name: (string) (len=19) "incoming_channel_id", - kind: (string) (len=5) "int64", + (string) (len=8) "callback": (*main.Field)(0xc0003152c0)({ + name: (string) (len=8) "callback", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=16) "incoming_htlc_id": (*main.Field)(0xc0003391c0)({ - name: (string) (len=16) "incoming_htlc_id", + }) + } + }), + (string) (len=17) "ChainBalanceEvent": (*main.Message)(0xc000389170)({ + fullName: (string) (len=17) "ChainBalanceEvent", + name: (string) (len=17) "ChainBalanceEvent", + fields: (map[string]*main.Field) (len=4) { + (string) (len=17) "confirmed_balance": (*main.Field)(0xc00046d380)({ + name: (string) (len=17) "confirmed_balance", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2115,8 +2089,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=12) "timestamp_ns": (*main.Field)(0xc000339280)({ - name: (string) (len=12) "timestamp_ns", + (string) (len=19) "unconfirmed_balance": (*main.Field)(0xc00046d3c0)({ + name: (string) (len=19) "unconfirmed_balance", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2125,9 +2099,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=10) "event_type": (*main.Field)(0xc0003392c0)({ - name: (string) (len=10) "event_type", - kind: (string) (len=6) "string", + (string) (len=13) "total_balance": (*main.Field)(0xc00046d400)({ + name: (string) (len=13) "total_balance", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2135,9 +2109,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=18) "forward_fail_event": (*main.Field)(0xc000339440)({ - name: (string) (len=18) "forward_fail_event", - kind: (string) (len=4) "bool", + (string) (len=12) "block_height": (*main.Field)(0xc00046d340)({ + name: (string) (len=12) "block_height", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2147,23 +2121,29 @@ }) } }), - (string) (len=17) "AddAppUserRequest": (*main.Message)(0xc00009ee10)({ - fullName: (string) (len=17) "AddAppUserRequest", - name: (string) (len=17) "AddAppUserRequest", - fields: (map[string]*main.Field) (len=3) { - (string) (len=10) "identifier": (*main.Field)(0xc0000a03c0)({ - name: (string) (len=10) "identifier", - kind: (string) (len=6) "string", + (string) (len=17) "LndGetInfoRequest": (*main.Message)(0xc0003893b0)({ + fullName: (string) (len=17) "LndGetInfoRequest", + name: (string) (len=17) "LndGetInfoRequest", + fields: (map[string]*main.Field) (len=1) { + (string) (len=6) "nodeId": (*main.Field)(0xc00046db80)({ + name: (string) (len=6) "nodeId", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=14) "fail_if_exists": (*main.Field)(0xc0000a0400)({ - name: (string) (len=14) "fail_if_exists", - kind: (string) (len=4) "bool", + }) + } + }), + (string) (len=27) "SetMockInvoiceAsPaidRequest": (*main.Message)(0xc000389410)({ + fullName: (string) (len=27) "SetMockInvoiceAsPaidRequest", + name: (string) (len=27) "SetMockInvoiceAsPaidRequest", + fields: (map[string]*main.Field) (len=2) { + (string) (len=7) "invoice": (*main.Field)(0xc00046dbc0)({ + name: (string) (len=7) "invoice", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2171,8 +2151,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "balance": (*main.Field)(0xc0000a0440)({ - name: (string) (len=7) "balance", + (string) (len=6) "amount": (*main.Field)(0xc00046dc00)({ + name: (string) (len=6) "amount", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2183,13 +2163,13 @@ }) } }), - (string) (len=17) "PayAddressRequest": (*main.Message)(0xc00009f2f0)({ - fullName: (string) (len=17) "PayAddressRequest", - name: (string) (len=17) "PayAddressRequest", - fields: (map[string]*main.Field) (len=3) { - (string) (len=9) "amoutSats": (*main.Field)(0xc0000a0b40)({ - name: (string) (len=9) "amoutSats", - kind: (string) (len=5) "int64", + (string) (len=13) "BannedAppUser": (*main.Message)(0xc000389530)({ + fullName: (string) (len=13) "BannedAppUser", + name: (string) (len=13) "BannedAppUser", + fields: (map[string]*main.Field) (len=4) { + (string) (len=8) "app_name": (*main.Field)(0xc00046dcc0)({ + name: (string) (len=8) "app_name", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2197,9 +2177,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=12) "satsPerVByte": (*main.Field)(0xc0000a0b80)({ - name: (string) (len=12) "satsPerVByte", - kind: (string) (len=5) "int64", + (string) (len=6) "app_id": (*main.Field)(0xc00046dd00)({ + name: (string) (len=6) "app_id", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2207,8 +2187,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "address": (*main.Field)(0xc0000a0b00)({ - name: (string) (len=7) "address", + (string) (len=15) "user_identifier": (*main.Field)(0xc00046dd40)({ + name: (string) (len=15) "user_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2216,15 +2196,9 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=14) "BanUserRequest": (*main.Message)(0xc00009eb70)({ - fullName: (string) (len=14) "BanUserRequest", - name: (string) (len=14) "BanUserRequest", - fields: (map[string]*main.Field) (len=1) { - (string) (len=7) "user_id": (*main.Field)(0xc000339ec0)({ - name: (string) (len=7) "user_id", + }), + (string) (len=9) "nostr_pub": (*main.Field)(0xc00046dd80)({ + name: (string) (len=9) "nostr_pub", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2235,78 +2209,78 @@ }) } }), - (string) (len=18) "NewInvoiceResponse": (*main.Message)(0xc00009f410)({ - fullName: (string) (len=18) "NewInvoiceResponse", - name: (string) (len=18) "NewInvoiceResponse", - fields: (map[string]*main.Field) (len=1) { - (string) (len=7) "invoice": (*main.Field)(0xc0000a0d40)({ - name: (string) (len=7) "invoice", - kind: (string) (len=6) "string", + (string) (len=25) "GetUserOperationsResponse": (*main.Message)(0xc0001e5b30)({ + fullName: (string) (len=25) "GetUserOperationsResponse", + name: (string) (len=25) "GetUserOperationsResponse", + fields: (map[string]*main.Field) (len=6) { + (string) (len=31) "latestIncomingInvoiceOperations": (*main.Field)(0xc000315e00)({ + name: (string) (len=31) "latestIncomingInvoiceOperations", + kind: (string) (len=14) "UserOperations", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=24) "GetUserOperationsRequest": (*main.Message)(0xc00009f950)({ - fullName: (string) (len=24) "GetUserOperationsRequest", - name: (string) (len=24) "GetUserOperationsRequest", - fields: (map[string]*main.Field) (len=7) { - (string) (len=21) "latestIncomingInvoice": (*main.Field)(0xc0000a18c0)({ - name: (string) (len=21) "latestIncomingInvoice", - kind: (string) (len=5) "int64", + }), + (string) (len=26) "latestOutgoingTxOperations": (*main.Field)(0xc000315e40)({ + name: (string) (len=26) "latestOutgoingTxOperations", + kind: (string) (len=14) "UserOperations", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=21) "latestOutgoingInvoice": (*main.Field)(0xc0000a1900)({ - name: (string) (len=21) "latestOutgoingInvoice", - kind: (string) (len=5) "int64", + (string) (len=26) "latestIncomingTxOperations": (*main.Field)(0xc000315e80)({ + name: (string) (len=26) "latestIncomingTxOperations", + kind: (string) (len=14) "UserOperations", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=16) "latestIncomingTx": (*main.Field)(0xc0000a1940)({ - name: (string) (len=16) "latestIncomingTx", - kind: (string) (len=5) "int64", + (string) (len=32) "latestOutgoingUserToUserPayemnts": (*main.Field)(0xc000315ec0)({ + name: (string) (len=32) "latestOutgoingUserToUserPayemnts", + kind: (string) (len=14) "UserOperations", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=16) "latestOutgoingTx": (*main.Field)(0xc0000a1980)({ - name: (string) (len=16) "latestOutgoingTx", - kind: (string) (len=5) "int64", + (string) (len=32) "latestIncomingUserToUserPayemnts": (*main.Field)(0xc000315f00)({ + name: (string) (len=32) "latestIncomingUserToUserPayemnts", + kind: (string) (len=14) "UserOperations", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=31) "latestIncomingUserToUserPayment": (*main.Field)(0xc0000a19c0)({ - name: (string) (len=31) "latestIncomingUserToUserPayment", - kind: (string) (len=5) "int64", + (string) (len=31) "latestOutgoingInvoiceOperations": (*main.Field)(0xc000315dc0)({ + name: (string) (len=31) "latestOutgoingInvoiceOperations", + kind: (string) (len=14) "UserOperations", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=31) "latestOutgoingUserToUserPayment": (*main.Field)(0xc0000a1a00)({ - name: (string) (len=31) "latestOutgoingUserToUserPayment", + }) + } + }), + (string) (len=11) "OpenChannel": (*main.Message)(0xc0003891d0)({ + fullName: (string) (len=11) "OpenChannel", + name: (string) (len=11) "OpenChannel", + fields: (map[string]*main.Field) (len=6) { + (string) (len=8) "lifetime": (*main.Field)(0xc00046d500)({ + name: (string) (len=8) "lifetime", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2315,8 +2289,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "max_size": (*main.Field)(0xc0000a1a40)({ - name: (string) (len=8) "max_size", + (string) (len=13) "local_balance": (*main.Field)(0xc00046d540)({ + name: (string) (len=13) "local_balance", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2324,25 +2298,9 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=14) "LndNodeMetrics": (*main.Message)(0xc00009e990)({ - fullName: (string) (len=14) "LndNodeMetrics", - name: (string) (len=14) "LndNodeMetrics", - fields: (map[string]*main.Field) (len=9) { - (string) (len=23) "channels_balance_events": (*main.Field)(0xc000339b40)({ - name: (string) (len=23) "channels_balance_events", - kind: (string) (len=19) "ChannelBalanceEvent", - isMap: (bool) false, - isArray: (bool) true, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" }), - (string) (len=16) "offline_channels": (*main.Field)(0xc000339bc0)({ - name: (string) (len=16) "offline_channels", + (string) (len=14) "remote_balance": (*main.Field)(0xc00046d580)({ + name: (string) (len=14) "remote_balance", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2351,39 +2309,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=15) "channel_routing": (*main.Field)(0xc000339d40)({ - name: (string) (len=15) "channel_routing", - kind: (string) (len=14) "ChannelRouting", - isMap: (bool) false, - isArray: (bool) true, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" - }), - (string) (len=15) "closed_channels": (*main.Field)(0xc000339d00)({ - name: (string) (len=15) "closed_channels", - kind: (string) (len=13) "ClosedChannel", - isMap: (bool) false, - isArray: (bool) true, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" - }), - (string) (len=20) "chain_balance_events": (*main.Field)(0xc000339b80)({ - name: (string) (len=20) "chain_balance_events", - kind: (string) (len=17) "ChainBalanceEvent", - isMap: (bool) false, - isArray: (bool) true, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" - }), - (string) (len=15) "online_channels": (*main.Field)(0xc000339c00)({ - name: (string) (len=15) "online_channels", - kind: (string) (len=5) "int64", + (string) (len=10) "channel_id": (*main.Field)(0xc00046d440)({ + name: (string) (len=10) "channel_id", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2391,8 +2319,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=16) "pending_channels": (*main.Field)(0xc000339c40)({ - name: (string) (len=16) "pending_channels", + (string) (len=8) "capacity": (*main.Field)(0xc00046d480)({ + name: (string) (len=8) "capacity", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2401,34 +2329,24 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=16) "closing_channels": (*main.Field)(0xc000339c80)({ - name: (string) (len=16) "closing_channels", - kind: (string) (len=5) "int64", + (string) (len=6) "active": (*main.Field)(0xc00046d4c0)({ + name: (string) (len=6) "active", + kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=13) "open_channels": (*main.Field)(0xc000339cc0)({ - name: (string) (len=13) "open_channels", - kind: (string) (len=11) "OpenChannel", - isMap: (bool) false, - isArray: (bool) true, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" }) } }), - (string) (len=18) "NewAddressResponse": (*main.Message)(0xc00009f290)({ - fullName: (string) (len=18) "NewAddressResponse", - name: (string) (len=18) "NewAddressResponse", + (string) (len=14) "BanUserRequest": (*main.Message)(0xc0003894d0)({ + fullName: (string) (len=14) "BanUserRequest", + name: (string) (len=14) "BanUserRequest", fields: (map[string]*main.Field) (len=1) { - (string) (len=7) "address": (*main.Field)(0xc0000a0ac0)({ - name: (string) (len=7) "address", + (string) (len=7) "user_id": (*main.Field)(0xc00046dc80)({ + name: (string) (len=7) "user_id", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2439,12 +2357,12 @@ }) } }), - (string) (len=7) "Product": (*main.Message)(0xc00009fb30)({ - fullName: (string) (len=7) "Product", - name: (string) (len=7) "Product", + (string) (len=34) "SendAppUserToAppUserPaymentRequest": (*main.Message)(0xc0003899b0)({ + fullName: (string) (len=34) "SendAppUserToAppUserPaymentRequest", + name: (string) (len=34) "SendAppUserToAppUserPaymentRequest", fields: (map[string]*main.Field) (len=3) { - (string) (len=2) "id": (*main.Field)(0xc00010e000)({ - name: (string) (len=2) "id", + (string) (len=20) "from_user_identifier": (*main.Field)(0xc0003147c0)({ + name: (string) (len=20) "from_user_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2453,8 +2371,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=4) "name": (*main.Field)(0xc00010e040)({ - name: (string) (len=4) "name", + (string) (len=18) "to_user_identifier": (*main.Field)(0xc000314800)({ + name: (string) (len=18) "to_user_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2463,8 +2381,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=10) "price_sats": (*main.Field)(0xc00010e080)({ - name: (string) (len=10) "price_sats", + (string) (len=6) "amount": (*main.Field)(0xc000314840)({ + name: (string) (len=6) "amount", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2475,38 +2393,38 @@ }) } }), - (string) (len=30) "RequestNPubLinkingTokenRequest": (*main.Message)(0xc00009fd70)({ - fullName: (string) (len=30) "RequestNPubLinkingTokenRequest", - name: (string) (len=30) "RequestNPubLinkingTokenRequest", + (string) (len=17) "NewAddressRequest": (*main.Message)(0xc000389b90)({ + fullName: (string) (len=17) "NewAddressRequest", + name: (string) (len=17) "NewAddressRequest", fields: (map[string]*main.Field) (len=1) { - (string) (len=15) "user_identifier": (*main.Field)(0xc00010e7c0)({ - name: (string) (len=15) "user_identifier", - kind: (string) (len=6) "string", + (string) (len=11) "addressType": (*main.Field)(0xc000314a40)({ + name: (string) (len=11) "addressType", + kind: (string) (len=11) "AddressType", isMap: (bool) false, isArray: (bool) false, - isEnum: (bool) false, + isEnum: (bool) true, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" }) } }), - (string) (len=10) "AppMetrics": (*main.Message)(0xc00009e630)({ - fullName: (string) (len=10) "AppMetrics", - name: (string) (len=10) "AppMetrics", - fields: (map[string]*main.Field) (len=9) { - (string) (len=3) "app": (*main.Field)(0xc000338e80)({ - name: (string) (len=3) "app", - kind: (string) (len=11) "Application", + (string) (len=17) "PayAddressRequest": (*main.Message)(0xc000389c50)({ + fullName: (string) (len=17) "PayAddressRequest", + name: (string) (len=17) "PayAddressRequest", + fields: (map[string]*main.Field) (len=3) { + (string) (len=7) "address": (*main.Field)(0xc000314ac0)({ + name: (string) (len=7) "address", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "received": (*main.Field)(0xc000338f00)({ - name: (string) (len=8) "received", + (string) (len=9) "amoutSats": (*main.Field)(0xc000314b00)({ + name: (string) (len=9) "amoutSats", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2515,8 +2433,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=4) "fees": (*main.Field)(0xc000338fc0)({ - name: (string) (len=4) "fees", + (string) (len=12) "satsPerVByte": (*main.Field)(0xc000314b40)({ + name: (string) (len=12) "satsPerVByte", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2524,9 +2442,15 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=10) "total_fees": (*main.Field)(0xc000339040)({ - name: (string) (len=10) "total_fees", + }) + } + }), + (string) (len=10) "AppMetrics": (*main.Message)(0xc000388f90)({ + fullName: (string) (len=10) "AppMetrics", + name: (string) (len=10) "AppMetrics", + fields: (map[string]*main.Field) (len=9) { + (string) (len=9) "available": (*main.Field)(0xc00046cd40)({ + name: (string) (len=9) "available", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2535,9 +2459,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=5) "users": (*main.Field)(0xc000338ec0)({ - name: (string) (len=5) "users", - kind: (string) (len=9) "UsersInfo", + (string) (len=3) "app": (*main.Field)(0xc00046cc40)({ + name: (string) (len=3) "app", + kind: (string) (len=11) "Application", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2545,8 +2469,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=5) "spent": (*main.Field)(0xc000338f40)({ - name: (string) (len=5) "spent", + (string) (len=8) "received": (*main.Field)(0xc00046ccc0)({ + name: (string) (len=8) "received", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2555,8 +2479,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=9) "available": (*main.Field)(0xc000338f80)({ - name: (string) (len=9) "available", + (string) (len=4) "fees": (*main.Field)(0xc00046cd80)({ + name: (string) (len=4) "fees", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2565,7 +2489,7 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "invoices": (*main.Field)(0xc000339000)({ + (string) (len=8) "invoices": (*main.Field)(0xc00046cdc0)({ name: (string) (len=8) "invoices", kind: (string) (len=5) "int64", isMap: (bool) false, @@ -2575,44 +2499,38 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=10) "operations": (*main.Field)(0xc000339080)({ - name: (string) (len=10) "operations", - kind: (string) (len=13) "UserOperation", + (string) (len=10) "total_fees": (*main.Field)(0xc00046ce00)({ + name: (string) (len=10) "total_fees", + kind: (string) (len=5) "int64", isMap: (bool) false, - isArray: (bool) true, + isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=14) "ChannelRouting": (*main.Message)(0xc00009e930)({ - fullName: (string) (len=14) "ChannelRouting", - name: (string) (len=14) "ChannelRouting", - fields: (map[string]*main.Field) (len=10) { - (string) (len=14) "receive_errors": (*main.Field)(0xc000339940)({ - name: (string) (len=14) "receive_errors", - kind: (string) (len=5) "int64", + }), + (string) (len=10) "operations": (*main.Field)(0xc00046ce40)({ + name: (string) (len=10) "operations", + kind: (string) (len=13) "UserOperation", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=24) "forward_errors_as_output": (*main.Field)(0xc0003399c0)({ - name: (string) (len=24) "forward_errors_as_output", - kind: (string) (len=5) "int64", + (string) (len=5) "users": (*main.Field)(0xc00046cc80)({ + name: (string) (len=5) "users", + kind: (string) (len=9) "UsersInfo", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=27) "missed_forward_fee_as_input": (*main.Field)(0xc000339a00)({ - name: (string) (len=27) "missed_forward_fee_as_input", + (string) (len=5) "spent": (*main.Field)(0xc00046cd00)({ + name: (string) (len=5) "spent", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2620,10 +2538,16 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=21) "forward_fee_as_output": (*main.Field)(0xc000339ac0)({ - name: (string) (len=21) "forward_fee_as_output", - kind: (string) (len=5) "int64", + }) + } + }), + (string) (len=17) "PayInvoiceRequest": (*main.Message)(0xc000389e90)({ + fullName: (string) (len=17) "PayInvoiceRequest", + name: (string) (len=17) "PayInvoiceRequest", + fields: (map[string]*main.Field) (len=2) { + (string) (len=7) "invoice": (*main.Field)(0xc000314dc0)({ + name: (string) (len=7) "invoice", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2631,8 +2555,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=13) "events_number": (*main.Field)(0xc000339b00)({ - name: (string) (len=13) "events_number", + (string) (len=6) "amount": (*main.Field)(0xc000314e00)({ + name: (string) (len=6) "amount", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2640,9 +2564,15 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=10) "channel_id": (*main.Field)(0xc0003398c0)({ - name: (string) (len=10) "channel_id", + }) + } + }), + (string) (len=19) "OpenChannelResponse": (*main.Message)(0xc0001e57d0)({ + fullName: (string) (len=19) "OpenChannelResponse", + name: (string) (len=19) "OpenChannelResponse", + fields: (map[string]*main.Field) (len=1) { + (string) (len=9) "channelId": (*main.Field)(0xc0003151c0)({ + name: (string) (len=9) "channelId", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2650,9 +2580,15 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=23) "forward_errors_as_input": (*main.Field)(0xc000339980)({ - name: (string) (len=23) "forward_errors_as_input", + }) + } + }), + (string) (len=14) "UserOperations": (*main.Message)(0xc0001e5ad0)({ + fullName: (string) (len=14) "UserOperations", + name: (string) (len=14) "UserOperations", + fields: (map[string]*main.Field) (len=3) { + (string) (len=9) "fromIndex": (*main.Field)(0xc000315d00)({ + name: (string) (len=9) "fromIndex", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2661,8 +2597,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=28) "missed_forward_fee_as_output": (*main.Field)(0xc000339a40)({ - name: (string) (len=28) "missed_forward_fee_as_output", + (string) (len=7) "toIndex": (*main.Field)(0xc000315d40)({ + name: (string) (len=7) "toIndex", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2671,34 +2607,40 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=20) "forward_fee_as_input": (*main.Field)(0xc000339a80)({ - name: (string) (len=20) "forward_fee_as_input", - kind: (string) (len=5) "int64", + (string) (len=10) "operations": (*main.Field)(0xc000315d80)({ + name: (string) (len=10) "operations", + kind: (string) (len=13) "UserOperation", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=11) "send_errors": (*main.Field)(0xc000339900)({ - name: (string) (len=11) "send_errors", - kind: (string) (len=5) "int64", + }) + } + }), + (string) (len=12) "UsageMetrics": (*main.Message)(0xc000388e70)({ + fullName: (string) (len=12) "UsageMetrics", + name: (string) (len=12) "UsageMetrics", + fields: (map[string]*main.Field) (len=1) { + (string) (len=7) "metrics": (*main.Field)(0xc00046c980)({ + name: (string) (len=7) "metrics", + kind: (string) (len=11) "UsageMetric", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }) } }), - (string) (len=18) "OpenChannelRequest": (*main.Message)(0xc00009f6b0)({ - fullName: (string) (len=18) "OpenChannelRequest", - name: (string) (len=18) "OpenChannelRequest", - fields: (map[string]*main.Field) (len=4) { - (string) (len=11) "destination": (*main.Field)(0xc0000a1100)({ - name: (string) (len=11) "destination", + (string) (len=20) "AddAppInvoiceRequest": (*main.Message)(0xc000389830)({ + fullName: (string) (len=20) "AddAppInvoiceRequest", + name: (string) (len=20) "AddAppInvoiceRequest", + fields: (map[string]*main.Field) (len=3) { + (string) (len=16) "payer_identifier": (*main.Field)(0xc0003144c0)({ + name: (string) (len=16) "payer_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2707,9 +2649,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=13) "fundingAmount": (*main.Field)(0xc0000a1140)({ - name: (string) (len=13) "fundingAmount", - kind: (string) (len=5) "int64", + (string) (len=17) "http_callback_url": (*main.Field)(0xc000314540)({ + name: (string) (len=17) "http_callback_url", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2717,18 +2659,24 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=10) "pushAmount": (*main.Field)(0xc0000a1180)({ - name: (string) (len=10) "pushAmount", - kind: (string) (len=5) "int64", + (string) (len=11) "invoice_req": (*main.Field)(0xc000314580)({ + name: (string) (len=11) "invoice_req", + kind: (string) (len=17) "NewInvoiceRequest", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=12) "closeAddress": (*main.Field)(0xc0000a11c0)({ - name: (string) (len=12) "closeAddress", + }) + } + }), + (string) (len=26) "GetAppUserLNURLInfoRequest": (*main.Message)(0xc000389a70)({ + fullName: (string) (len=26) "GetAppUserLNURLInfoRequest", + name: (string) (len=26) "GetAppUserLNURLInfoRequest", + fields: (map[string]*main.Field) (len=2) { + (string) (len=15) "user_identifier": (*main.Field)(0xc000314900)({ + name: (string) (len=15) "user_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2736,15 +2684,25 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=8) "UserInfo": (*main.Message)(0xc00009f8f0)({ - fullName: (string) (len=8) "UserInfo", - name: (string) (len=8) "UserInfo", - fields: (map[string]*main.Field) (len=7) { - (string) (len=16) "max_withdrawable": (*main.Field)(0xc0000a1780)({ - name: (string) (len=16) "max_withdrawable", + }), + (string) (len=17) "base_url_override": (*main.Field)(0xc000314940)({ + name: (string) (len=17) "base_url_override", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false, + oneOfName: (string) "" + }) + } + }), + (string) (len=28) "SetMockAppUserBalanceRequest": (*main.Message)(0xc000389ad0)({ + fullName: (string) (len=28) "SetMockAppUserBalanceRequest", + name: (string) (len=28) "SetMockAppUserBalanceRequest", + fields: (map[string]*main.Field) (len=2) { + (string) (len=6) "amount": (*main.Field)(0xc0003149c0)({ + name: (string) (len=6) "amount", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2753,7 +2711,7 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=15) "user_identifier": (*main.Field)(0xc0000a17c0)({ + (string) (len=15) "user_identifier": (*main.Field)(0xc000314980)({ name: (string) (len=15) "user_identifier", kind: (string) (len=6) "string", isMap: (bool) false, @@ -2762,10 +2720,16 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=15) "service_fee_bps": (*main.Field)(0xc0000a1800)({ - name: (string) (len=15) "service_fee_bps", - kind: (string) (len=5) "int64", + }) + } + }), + (string) (len=17) "AddProductRequest": (*main.Message)(0xc0001e5b90)({ + fullName: (string) (len=17) "AddProductRequest", + name: (string) (len=17) "AddProductRequest", + fields: (map[string]*main.Field) (len=2) { + (string) (len=4) "name": (*main.Field)(0xc000315f40)({ + name: (string) (len=4) "name", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2773,8 +2737,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=19) "network_max_fee_bps": (*main.Field)(0xc0000a1840)({ - name: (string) (len=19) "network_max_fee_bps", + (string) (len=10) "price_sats": (*main.Field)(0xc000315f80)({ + name: (string) (len=10) "price_sats", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2782,9 +2746,31 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=21) "network_max_fee_fixed": (*main.Field)(0xc0000a1880)({ - name: (string) (len=21) "network_max_fee_fixed", + }) + } + }), + (string) (len=23) "EnrollAdminTokenRequest": (*main.Message)(0xc0001e5fb0)({ + fullName: (string) (len=23) "EnrollAdminTokenRequest", + name: (string) (len=23) "EnrollAdminTokenRequest", + fields: (map[string]*main.Field) (len=1) { + (string) (len=11) "admin_token": (*main.Field)(0xc0000b0900)({ + name: (string) (len=11) "admin_token", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false, + oneOfName: (string) "" + }) + } + }), + (string) (len=19) "ChannelBalanceEvent": (*main.Message)(0xc000389110)({ + fullName: (string) (len=19) "ChannelBalanceEvent", + name: (string) (len=19) "ChannelBalanceEvent", + fields: (map[string]*main.Field) (len=4) { + (string) (len=12) "block_height": (*main.Field)(0xc00046d240)({ + name: (string) (len=12) "block_height", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2793,8 +2779,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "userId": (*main.Field)(0xc0000a1700)({ - name: (string) (len=6) "userId", + (string) (len=10) "channel_id": (*main.Field)(0xc00046d280)({ + name: (string) (len=10) "channel_id", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2803,8 +2789,18 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "balance": (*main.Field)(0xc0000a1740)({ - name: (string) (len=7) "balance", + (string) (len=18) "local_balance_sats": (*main.Field)(0xc00046d2c0)({ + name: (string) (len=18) "local_balance_sats", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false, + oneOfName: (string) "" + }), + (string) (len=19) "remote_balance_sats": (*main.Field)(0xc00046d300)({ + name: (string) (len=19) "remote_balance_sats", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2815,12 +2811,12 @@ }) } }), - (string) (len=25) "LnurlWithdrawInfoResponse": (*main.Message)(0xc00009f7d0)({ - fullName: (string) (len=25) "LnurlWithdrawInfoResponse", - name: (string) (len=25) "LnurlWithdrawInfoResponse", - fields: (map[string]*main.Field) (len=8) { - (string) (len=7) "payLink": (*main.Field)(0xc0000a1480)({ - name: (string) (len=7) "payLink", + (string) (len=17) "AddAppUserRequest": (*main.Message)(0xc000389770)({ + fullName: (string) (len=17) "AddAppUserRequest", + name: (string) (len=17) "AddAppUserRequest", + fields: (map[string]*main.Field) (len=3) { + (string) (len=10) "identifier": (*main.Field)(0xc000314180)({ + name: (string) (len=10) "identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2829,9 +2825,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=3) "tag": (*main.Field)(0xc0000a12c0)({ - name: (string) (len=3) "tag", - kind: (string) (len=6) "string", + (string) (len=14) "fail_if_exists": (*main.Field)(0xc0003141c0)({ + name: (string) (len=14) "fail_if_exists", + kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2839,8 +2835,24 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "callback": (*main.Field)(0xc0000a1300)({ - name: (string) (len=8) "callback", + (string) (len=7) "balance": (*main.Field)(0xc000314280)({ + name: (string) (len=7) "balance", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false, + oneOfName: (string) "" + }) + } + }), + (string) (len=24) "AddAppUserInvoiceRequest": (*main.Message)(0xc000389890)({ + fullName: (string) (len=24) "AddAppUserInvoiceRequest", + name: (string) (len=24) "AddAppUserInvoiceRequest", + fields: (map[string]*main.Field) (len=4) { + (string) (len=19) "receiver_identifier": (*main.Field)(0xc0003145c0)({ + name: (string) (len=19) "receiver_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2849,8 +2861,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=2) "k1": (*main.Field)(0xc0000a1340)({ - name: (string) (len=2) "k1", + (string) (len=16) "payer_identifier": (*main.Field)(0xc000314600)({ + name: (string) (len=16) "payer_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2859,8 +2871,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=18) "defaultDescription": (*main.Field)(0xc0000a1380)({ - name: (string) (len=18) "defaultDescription", + (string) (len=17) "http_callback_url": (*main.Field)(0xc000314640)({ + name: (string) (len=17) "http_callback_url", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2869,8 +2881,24 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=15) "minWithdrawable": (*main.Field)(0xc0000a13c0)({ - name: (string) (len=15) "minWithdrawable", + (string) (len=11) "invoice_req": (*main.Field)(0xc000314680)({ + name: (string) (len=11) "invoice_req", + kind: (string) (len=17) "NewInvoiceRequest", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) true, + isOptional: (bool) false, + oneOfName: (string) "" + }) + } + }), + (string) (len=13) "UserOperation": (*main.Message)(0xc0001e5a70)({ + fullName: (string) (len=13) "UserOperation", + name: (string) (len=13) "UserOperation", + fields: (map[string]*main.Field) (len=11) { + (string) (len=11) "service_fee": (*main.Field)(0xc000315bc0)({ + name: (string) (len=11) "service_fee", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2879,8 +2907,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=15) "maxWithdrawable": (*main.Field)(0xc0000a1400)({ - name: (string) (len=15) "maxWithdrawable", + (string) (len=11) "network_fee": (*main.Field)(0xc000315c00)({ + name: (string) (len=11) "network_fee", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2889,24 +2917,28 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=12) "balanceCheck": (*main.Field)(0xc0000a1440)({ - name: (string) (len=12) "balanceCheck", - kind: (string) (len=6) "string", + (string) (len=9) "confirmed": (*main.Field)(0xc000315c40)({ + name: (string) (len=9) "confirmed", + kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=13) "UserOperation": (*main.Message)(0xc00009f9b0)({ - fullName: (string) (len=13) "UserOperation", - name: (string) (len=13) "UserOperation", - fields: (map[string]*main.Field) (len=11) { - (string) (len=10) "paidAtUnix": (*main.Field)(0xc0000a1a80)({ - name: (string) (len=10) "paidAtUnix", + }), + (string) (len=8) "internal": (*main.Field)(0xc000315cc0)({ + name: (string) (len=8) "internal", + kind: (string) (len=4) "bool", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false, + oneOfName: (string) "" + }), + (string) (len=6) "amount": (*main.Field)(0xc000315b00)({ + name: (string) (len=6) "amount", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -2915,7 +2947,7 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=4) "type": (*main.Field)(0xc0000a1ac0)({ + (string) (len=4) "type": (*main.Field)(0xc000315a80)({ name: (string) (len=4) "type", kind: (string) (len=17) "UserOperationType", isMap: (bool) false, @@ -2925,7 +2957,7 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "inbound": (*main.Field)(0xc0000a1b00)({ + (string) (len=7) "inbound": (*main.Field)(0xc000315ac0)({ name: (string) (len=7) "inbound", kind: (string) (len=4) "bool", isMap: (bool) false, @@ -2935,7 +2967,7 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=10) "identifier": (*main.Field)(0xc0000a1b80)({ + (string) (len=10) "identifier": (*main.Field)(0xc000315b40)({ name: (string) (len=10) "identifier", kind: (string) (len=6) "string", isMap: (bool) false, @@ -2945,7 +2977,7 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "operationId": (*main.Field)(0xc0000a1bc0)({ + (string) (len=11) "operationId": (*main.Field)(0xc000315b80)({ name: (string) (len=11) "operationId", kind: (string) (len=6) "string", isMap: (bool) false, @@ -2955,9 +2987,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "network_fee": (*main.Field)(0xc0000a1c40)({ - name: (string) (len=11) "network_fee", - kind: (string) (len=5) "int64", + (string) (len=7) "tx_hash": (*main.Field)(0xc000315c80)({ + name: (string) (len=7) "tx_hash", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2965,8 +2997,24 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "tx_hash": (*main.Field)(0xc0000a1cc0)({ - name: (string) (len=7) "tx_hash", + (string) (len=10) "paidAtUnix": (*main.Field)(0xc000315a40)({ + name: (string) (len=10) "paidAtUnix", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false, + oneOfName: (string) "" + }) + } + }), + (string) (len=27) "LinkNPubThroughTokenRequest": (*main.Message)(0xc0001e5ef0)({ + fullName: (string) (len=27) "LinkNPubThroughTokenRequest", + name: (string) (len=27) "LinkNPubThroughTokenRequest", + fields: (map[string]*main.Field) (len=2) { + (string) (len=5) "token": (*main.Field)(0xc0000b0800)({ + name: (string) (len=5) "token", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -2975,19 +3023,25 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "amount": (*main.Field)(0xc0000a1b40)({ - name: (string) (len=6) "amount", - kind: (string) (len=5) "int64", + (string) (len=9) "nostr_pub": (*main.Field)(0xc0000b0840)({ + name: (string) (len=9) "nostr_pub", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=11) "service_fee": (*main.Field)(0xc0000a1c00)({ - name: (string) (len=11) "service_fee", - kind: (string) (len=5) "int64", + }) + } + }), + (string) (len=13) "ClosedChannel": (*main.Message)(0xc000389230)({ + fullName: (string) (len=13) "ClosedChannel", + name: (string) (len=13) "ClosedChannel", + fields: (map[string]*main.Field) (len=3) { + (string) (len=10) "channel_id": (*main.Field)(0xc00046d5c0)({ + name: (string) (len=10) "channel_id", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -2995,9 +3049,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=9) "confirmed": (*main.Field)(0xc0000a1c80)({ - name: (string) (len=9) "confirmed", - kind: (string) (len=4) "bool", + (string) (len=8) "capacity": (*main.Field)(0xc00046d600)({ + name: (string) (len=8) "capacity", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3005,9 +3059,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "internal": (*main.Field)(0xc0000a1d00)({ - name: (string) (len=8) "internal", - kind: (string) (len=4) "bool", + (string) (len=13) "closed_height": (*main.Field)(0xc00046d640)({ + name: (string) (len=13) "closed_height", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3017,11 +3071,11 @@ }) } }), - (string) (len=17) "LnurlLinkResponse": (*main.Message)(0xc00009f770)({ + (string) (len=17) "LnurlLinkResponse": (*main.Message)(0xc0001e5830)({ fullName: (string) (len=17) "LnurlLinkResponse", name: (string) (len=17) "LnurlLinkResponse", fields: (map[string]*main.Field) (len=2) { - (string) (len=5) "lnurl": (*main.Field)(0xc0000a1240)({ + (string) (len=5) "lnurl": (*main.Field)(0xc000315200)({ name: (string) (len=5) "lnurl", kind: (string) (len=6) "string", isMap: (bool) false, @@ -3031,7 +3085,7 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=2) "k1": (*main.Field)(0xc0000a1280)({ + (string) (len=2) "k1": (*main.Field)(0xc000315240)({ name: (string) (len=2) "k1", kind: (string) (len=6) "string", isMap: (bool) false, @@ -3043,55 +3097,43 @@ }) } }), - (string) (len=15) "RelaysMigration": (*main.Message)(0xc00009fd10)({ - fullName: (string) (len=15) "RelaysMigration", - name: (string) (len=15) "RelaysMigration", - fields: (map[string]*main.Field) (len=1) { - (string) (len=6) "relays": (*main.Field)(0xc00010e700)({ - name: (string) (len=6) "relays", + (string) (len=20) "LnurlPayInfoResponse": (*main.Message)(0xc0001e58f0)({ + fullName: (string) (len=20) "LnurlPayInfoResponse", + name: (string) (len=20) "LnurlPayInfoResponse", + fields: (map[string]*main.Field) (len=7) { + (string) (len=3) "tag": (*main.Field)(0xc000315480)({ + name: (string) (len=3) "tag", kind: (string) (len=6) "string", isMap: (bool) false, - isArray: (bool) true, + isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=17) "LndMetricsRequest": (*main.Message)(0xc00009e6f0)({ - fullName: (string) (len=17) "LndMetricsRequest", - name: (string) (len=17) "LndMetricsRequest", - fields: (map[string]*main.Field) (len=2) { - (string) (len=9) "from_unix": (*main.Field)(0xc000339100)({ - name: (string) (len=9) "from_unix", - kind: (string) (len=5) "int64", + }), + (string) (len=8) "callback": (*main.Field)(0xc0003154c0)({ + name: (string) (len=8) "callback", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) true, + isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "to_unix": (*main.Field)(0xc000339140)({ - name: (string) (len=7) "to_unix", + (string) (len=11) "maxSendable": (*main.Field)(0xc000315500)({ + name: (string) (len=11) "maxSendable", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) true, + isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=11) "OpenChannel": (*main.Message)(0xc00009e870)({ - fullName: (string) (len=11) "OpenChannel", - name: (string) (len=11) "OpenChannel", - fields: (map[string]*main.Field) (len=6) { - (string) (len=10) "channel_id": (*main.Field)(0xc000339680)({ - name: (string) (len=10) "channel_id", - kind: (string) (len=6) "string", + }), + (string) (len=11) "minSendable": (*main.Field)(0xc000315540)({ + name: (string) (len=11) "minSendable", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3099,9 +3141,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "capacity": (*main.Field)(0xc0003396c0)({ - name: (string) (len=8) "capacity", - kind: (string) (len=5) "int64", + (string) (len=8) "metadata": (*main.Field)(0xc000315580)({ + name: (string) (len=8) "metadata", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3109,8 +3151,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "active": (*main.Field)(0xc000339700)({ - name: (string) (len=6) "active", + (string) (len=11) "allowsNostr": (*main.Field)(0xc0003155c0)({ + name: (string) (len=11) "allowsNostr", kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, @@ -3119,18 +3161,24 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "lifetime": (*main.Field)(0xc000339740)({ - name: (string) (len=8) "lifetime", - kind: (string) (len=5) "int64", + (string) (len=11) "nostrPubkey": (*main.Field)(0xc000315600)({ + name: (string) (len=11) "nostrPubkey", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=13) "local_balance": (*main.Field)(0xc000339780)({ - name: (string) (len=13) "local_balance", + }) + } + }), + (string) (len=17) "NewInvoiceRequest": (*main.Message)(0xc000389d10)({ + fullName: (string) (len=17) "NewInvoiceRequest", + name: (string) (len=17) "NewInvoiceRequest", + fields: (map[string]*main.Field) (len=2) { + (string) (len=10) "amountSats": (*main.Field)(0xc000314c80)({ + name: (string) (len=10) "amountSats", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3139,9 +3187,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=14) "remote_balance": (*main.Field)(0xc0003397c0)({ - name: (string) (len=14) "remote_balance", - kind: (string) (len=5) "int64", + (string) (len=4) "memo": (*main.Field)(0xc000314cc0)({ + name: (string) (len=4) "memo", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3151,55 +3199,45 @@ }) } }), - (string) (len=10) "LndMetrics": (*main.Message)(0xc00009e9f0)({ - fullName: (string) (len=10) "LndMetrics", - name: (string) (len=10) "LndMetrics", + (string) (len=25) "GetProductBuyLinkResponse": (*main.Message)(0xc0001e5c50)({ + fullName: (string) (len=25) "GetProductBuyLinkResponse", + name: (string) (len=25) "GetProductBuyLinkResponse", fields: (map[string]*main.Field) (len=1) { - (string) (len=5) "nodes": (*main.Field)(0xc000339d80)({ - name: (string) (len=5) "nodes", - kind: (string) (len=14) "LndNodeMetrics", + (string) (len=4) "link": (*main.Field)(0xc0000b0080)({ + name: (string) (len=4) "link", + kind: (string) (len=6) "string", isMap: (bool) false, - isArray: (bool) true, + isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" }) } }), - (string) (len=28) "SetMockAppUserBalanceRequest": (*main.Message)(0xc00009f170)({ - fullName: (string) (len=28) "SetMockAppUserBalanceRequest", - name: (string) (len=28) "SetMockAppUserBalanceRequest", - fields: (map[string]*main.Field) (len=2) { - (string) (len=15) "user_identifier": (*main.Field)(0xc0000a09c0)({ - name: (string) (len=15) "user_identifier", - kind: (string) (len=6) "string", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false, - oneOfName: (string) "" - }), - (string) (len=6) "amount": (*main.Field)(0xc0000a0a00)({ - name: (string) (len=6) "amount", - kind: (string) (len=5) "int64", + (string) (len=17) "LiveUserOperation": (*main.Message)(0xc0001e5cb0)({ + fullName: (string) (len=17) "LiveUserOperation", + name: (string) (len=17) "LiveUserOperation", + fields: (map[string]*main.Field) (len=1) { + (string) (len=9) "operation": (*main.Field)(0xc0000b0180)({ + name: (string) (len=9) "operation", + kind: (string) (len=13) "UserOperation", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }) } }), - (string) (len=11) "AppsMetrics": (*main.Message)(0xc00009e690)({ - fullName: (string) (len=11) "AppsMetrics", - name: (string) (len=11) "AppsMetrics", + (string) (len=10) "LndMetrics": (*main.Message)(0xc000389350)({ + fullName: (string) (len=10) "LndMetrics", + name: (string) (len=10) "LndMetrics", fields: (map[string]*main.Field) (len=1) { - (string) (len=4) "apps": (*main.Field)(0xc0003390c0)({ - name: (string) (len=4) "apps", - kind: (string) (len=10) "AppMetrics", + (string) (len=5) "nodes": (*main.Field)(0xc00046db40)({ + name: (string) (len=5) "nodes", + kind: (string) (len=14) "LndNodeMetrics", isMap: (bool) false, isArray: (bool) true, isEnum: (bool) false, @@ -3209,12 +3247,12 @@ }) } }), - (string) (len=22) "GetPaymentStateRequest": (*main.Message)(0xc00009f5f0)({ - fullName: (string) (len=22) "GetPaymentStateRequest", - name: (string) (len=22) "GetPaymentStateRequest", - fields: (map[string]*main.Field) (len=1) { - (string) (len=7) "invoice": (*main.Field)(0xc0000a0fc0)({ - name: (string) (len=7) "invoice", + (string) (len=11) "Application": (*main.Message)(0xc0003896b0)({ + fullName: (string) (len=11) "Application", + name: (string) (len=11) "Application", + fields: (map[string]*main.Field) (len=4) { + (string) (len=4) "name": (*main.Field)(0xc00046df40)({ + name: (string) (len=4) "name", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3222,15 +3260,9 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=17) "AddProductRequest": (*main.Message)(0xc00009fad0)({ - fullName: (string) (len=17) "AddProductRequest", - name: (string) (len=17) "AddProductRequest", - fields: (map[string]*main.Field) (len=2) { - (string) (len=4) "name": (*main.Field)(0xc0000a1f80)({ - name: (string) (len=4) "name", + }), + (string) (len=2) "id": (*main.Field)(0xc00046df80)({ + name: (string) (len=2) "id", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3239,8 +3271,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=10) "price_sats": (*main.Field)(0xc0000a1fc0)({ - name: (string) (len=10) "price_sats", + (string) (len=7) "balance": (*main.Field)(0xc00046dfc0)({ + name: (string) (len=7) "balance", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3248,16 +3280,26 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" + }), + (string) (len=4) "npub": (*main.Field)(0xc000314040)({ + name: (string) (len=4) "npub", + kind: (string) (len=6) "string", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false, + oneOfName: (string) "" }) } }), - (string) (len=25) "GetProductBuyLinkResponse": (*main.Message)(0xc00009fb90)({ - fullName: (string) (len=25) "GetProductBuyLinkResponse", - name: (string) (len=25) "GetProductBuyLinkResponse", + (string) (len=24) "SetMockAppBalanceRequest": (*main.Message)(0xc000389b30)({ + fullName: (string) (len=24) "SetMockAppBalanceRequest", + name: (string) (len=24) "SetMockAppBalanceRequest", fields: (map[string]*main.Field) (len=1) { - (string) (len=4) "link": (*main.Field)(0xc00010e180)({ - name: (string) (len=4) "link", - kind: (string) (len=6) "string", + (string) (len=6) "amount": (*main.Field)(0xc000314a00)({ + name: (string) (len=6) "amount", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3267,12 +3309,12 @@ }) } }), - (string) (len=31) "RequestNPubLinkingTokenResponse": (*main.Message)(0xc00009fdd0)({ - fullName: (string) (len=31) "RequestNPubLinkingTokenResponse", - name: (string) (len=31) "RequestNPubLinkingTokenResponse", + (string) (len=20) "DecodeInvoiceRequest": (*main.Message)(0xc000389dd0)({ + fullName: (string) (len=20) "DecodeInvoiceRequest", + name: (string) (len=20) "DecodeInvoiceRequest", fields: (map[string]*main.Field) (len=1) { - (string) (len=5) "token": (*main.Field)(0xc00010e800)({ - name: (string) (len=5) "token", + (string) (len=7) "invoice": (*main.Field)(0xc000314d40)({ + name: (string) (len=7) "invoice", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3283,12 +3325,12 @@ }) } }), - (string) (len=19) "ChannelBalanceEvent": (*main.Message)(0xc00009e7b0)({ - fullName: (string) (len=19) "ChannelBalanceEvent", - name: (string) (len=19) "ChannelBalanceEvent", - fields: (map[string]*main.Field) (len=4) { - (string) (len=12) "block_height": (*main.Field)(0xc000339480)({ - name: (string) (len=12) "block_height", + (string) (len=21) "DecodeInvoiceResponse": (*main.Message)(0xc000389e30)({ + fullName: (string) (len=21) "DecodeInvoiceResponse", + name: (string) (len=21) "DecodeInvoiceResponse", + fields: (map[string]*main.Field) (len=1) { + (string) (len=6) "amount": (*main.Field)(0xc000314d80)({ + name: (string) (len=6) "amount", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3296,9 +3338,15 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=10) "channel_id": (*main.Field)(0xc0003394c0)({ - name: (string) (len=10) "channel_id", + }) + } + }), + (string) (len=8) "UserInfo": (*main.Message)(0xc0001e59b0)({ + fullName: (string) (len=8) "UserInfo", + name: (string) (len=8) "UserInfo", + fields: (map[string]*main.Field) (len=7) { + (string) (len=15) "user_identifier": (*main.Field)(0xc000315780)({ + name: (string) (len=15) "user_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3307,8 +3355,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=18) "local_balance_sats": (*main.Field)(0xc000339500)({ - name: (string) (len=18) "local_balance_sats", + (string) (len=15) "service_fee_bps": (*main.Field)(0xc0003157c0)({ + name: (string) (len=15) "service_fee_bps", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3317,8 +3365,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=19) "remote_balance_sats": (*main.Field)(0xc000339540)({ - name: (string) (len=19) "remote_balance_sats", + (string) (len=19) "network_max_fee_bps": (*main.Field)(0xc000315800)({ + name: (string) (len=19) "network_max_fee_bps", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3326,16 +3374,10 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=14) "AuthAppRequest": (*main.Message)(0xc00009ecf0)({ - fullName: (string) (len=14) "AuthAppRequest", - name: (string) (len=14) "AuthAppRequest", - fields: (map[string]*main.Field) (len=2) { - (string) (len=4) "name": (*main.Field)(0xc0000a01c0)({ - name: (string) (len=4) "name", - kind: (string) (len=6) "string", + }), + (string) (len=21) "network_max_fee_fixed": (*main.Field)(0xc000315840)({ + name: (string) (len=21) "network_max_fee_fixed", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3343,25 +3385,19 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=19) "allow_user_creation": (*main.Field)(0xc0000a0200)({ - name: (string) (len=19) "allow_user_creation", - kind: (string) (len=4) "bool", + (string) (len=6) "userId": (*main.Field)(0xc0003156c0)({ + name: (string) (len=6) "userId", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) true, + isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=11) "Application": (*main.Message)(0xc00009ed50)({ - fullName: (string) (len=11) "Application", - name: (string) (len=11) "Application", - fields: (map[string]*main.Field) (len=4) { - (string) (len=4) "npub": (*main.Field)(0xc0000a0300)({ - name: (string) (len=4) "npub", - kind: (string) (len=6) "string", + }), + (string) (len=7) "balance": (*main.Field)(0xc000315700)({ + name: (string) (len=7) "balance", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3369,9 +3405,25 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=4) "name": (*main.Field)(0xc0000a0240)({ - name: (string) (len=4) "name", - kind: (string) (len=6) "string", + (string) (len=16) "max_withdrawable": (*main.Field)(0xc000315740)({ + name: (string) (len=16) "max_withdrawable", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false, + oneOfName: (string) "" + }) + } + }), + (string) (len=24) "GetUserOperationsRequest": (*main.Message)(0xc0001e5a10)({ + fullName: (string) (len=24) "GetUserOperationsRequest", + name: (string) (len=24) "GetUserOperationsRequest", + fields: (map[string]*main.Field) (len=7) { + (string) (len=21) "latestIncomingInvoice": (*main.Field)(0xc000315880)({ + name: (string) (len=21) "latestIncomingInvoice", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3379,9 +3431,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=2) "id": (*main.Field)(0xc0000a0280)({ - name: (string) (len=2) "id", - kind: (string) (len=6) "string", + (string) (len=21) "latestOutgoingInvoice": (*main.Field)(0xc0003158c0)({ + name: (string) (len=21) "latestOutgoingInvoice", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3389,8 +3441,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "balance": (*main.Field)(0xc0000a02c0)({ - name: (string) (len=7) "balance", + (string) (len=16) "latestIncomingTx": (*main.Field)(0xc000315900)({ + name: (string) (len=16) "latestIncomingTx", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3398,16 +3450,10 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=24) "AddAppUserInvoiceRequest": (*main.Message)(0xc00009ef30)({ - fullName: (string) (len=24) "AddAppUserInvoiceRequest", - name: (string) (len=24) "AddAppUserInvoiceRequest", - fields: (map[string]*main.Field) (len=4) { - (string) (len=16) "payer_identifier": (*main.Field)(0xc0000a0640)({ - name: (string) (len=16) "payer_identifier", - kind: (string) (len=6) "string", + }), + (string) (len=16) "latestOutgoingTx": (*main.Field)(0xc000315940)({ + name: (string) (len=16) "latestOutgoingTx", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3415,9 +3461,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=17) "http_callback_url": (*main.Field)(0xc0000a0680)({ - name: (string) (len=17) "http_callback_url", - kind: (string) (len=6) "string", + (string) (len=31) "latestIncomingUserToUserPayment": (*main.Field)(0xc000315980)({ + name: (string) (len=31) "latestIncomingUserToUserPayment", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3425,19 +3471,19 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "invoice_req": (*main.Field)(0xc0000a06c0)({ - name: (string) (len=11) "invoice_req", - kind: (string) (len=17) "NewInvoiceRequest", + (string) (len=31) "latestOutgoingUserToUserPayment": (*main.Field)(0xc0003159c0)({ + name: (string) (len=31) "latestOutgoingUserToUserPayment", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=19) "receiver_identifier": (*main.Field)(0xc0000a0600)({ - name: (string) (len=19) "receiver_identifier", - kind: (string) (len=6) "string", + (string) (len=8) "max_size": (*main.Field)(0xc000315a00)({ + name: (string) (len=8) "max_size", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3447,39 +3493,39 @@ }) } }), - (string) (len=26) "GetAppUserLNURLInfoRequest": (*main.Message)(0xc00009f110)({ - fullName: (string) (len=26) "GetAppUserLNURLInfoRequest", - name: (string) (len=26) "GetAppUserLNURLInfoRequest", + (string) (len=15) "MigrationUpdate": (*main.Message)(0xc0001e5d10)({ + fullName: (string) (len=15) "MigrationUpdate", + name: (string) (len=15) "MigrationUpdate", fields: (map[string]*main.Field) (len=2) { - (string) (len=15) "user_identifier": (*main.Field)(0xc0000a0940)({ - name: (string) (len=15) "user_identifier", - kind: (string) (len=6) "string", + (string) (len=7) "closure": (*main.Field)(0xc0000b03c0)({ + name: (string) (len=7) "closure", + kind: (string) (len=16) "ClosureMigration", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false, + isMessage: (bool) true, + isOptional: (bool) true, oneOfName: (string) "" }), - (string) (len=17) "base_url_override": (*main.Field)(0xc0000a0980)({ - name: (string) (len=17) "base_url_override", - kind: (string) (len=6) "string", + (string) (len=6) "relays": (*main.Field)(0xc0000b0640)({ + name: (string) (len=6) "relays", + kind: (string) (len=15) "RelaysMigration", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) false, + isMessage: (bool) true, + isOptional: (bool) true, oneOfName: (string) "" }) } }), - (string) (len=17) "NewInvoiceRequest": (*main.Message)(0xc00009f3b0)({ - fullName: (string) (len=17) "NewInvoiceRequest", - name: (string) (len=17) "NewInvoiceRequest", + (string) (len=25) "EncryptionExchangeRequest": (*main.Message)(0xc000388db0)({ + fullName: (string) (len=25) "EncryptionExchangeRequest", + name: (string) (len=25) "EncryptionExchangeRequest", fields: (map[string]*main.Field) (len=2) { - (string) (len=10) "amountSats": (*main.Field)(0xc0000a0cc0)({ - name: (string) (len=10) "amountSats", - kind: (string) (len=5) "int64", + (string) (len=9) "publicKey": (*main.Field)(0xc00046c240)({ + name: (string) (len=9) "publicKey", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3487,8 +3533,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=4) "memo": (*main.Field)(0xc0000a0d00)({ - name: (string) (len=4) "memo", + (string) (len=8) "deviceId": (*main.Field)(0xc00046c280)({ + name: (string) (len=8) "deviceId", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3499,12 +3545,12 @@ }) } }), - (string) (len=17) "PayInvoiceRequest": (*main.Message)(0xc00009f530)({ - fullName: (string) (len=17) "PayInvoiceRequest", - name: (string) (len=17) "PayInvoiceRequest", + (string) (len=30) "SendAppUserToAppPaymentRequest": (*main.Message)(0xc000389a10)({ + fullName: (string) (len=30) "SendAppUserToAppPaymentRequest", + name: (string) (len=30) "SendAppUserToAppPaymentRequest", fields: (map[string]*main.Field) (len=2) { - (string) (len=7) "invoice": (*main.Field)(0xc0000a0e00)({ - name: (string) (len=7) "invoice", + (string) (len=20) "from_user_identifier": (*main.Field)(0xc000314880)({ + name: (string) (len=20) "from_user_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3513,7 +3559,7 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "amount": (*main.Field)(0xc0000a0e40)({ + (string) (len=6) "amount": (*main.Field)(0xc0003148c0)({ name: (string) (len=6) "amount", kind: (string) (len=5) "int64", isMap: (bool) false, @@ -3525,95 +3571,45 @@ }) } }), - (string) (len=25) "GetUserOperationsResponse": (*main.Message)(0xc00009fa70)({ - fullName: (string) (len=25) "GetUserOperationsResponse", - name: (string) (len=25) "GetUserOperationsResponse", - fields: (map[string]*main.Field) (len=6) { - (string) (len=32) "latestOutgoingUserToUserPayemnts": (*main.Field)(0xc0000a1f00)({ - name: (string) (len=32) "latestOutgoingUserToUserPayemnts", - kind: (string) (len=14) "UserOperations", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" - }), - (string) (len=32) "latestIncomingUserToUserPayemnts": (*main.Field)(0xc0000a1f40)({ - name: (string) (len=32) "latestIncomingUserToUserPayemnts", - kind: (string) (len=14) "UserOperations", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" - }), - (string) (len=31) "latestOutgoingInvoiceOperations": (*main.Field)(0xc0000a1e00)({ - name: (string) (len=31) "latestOutgoingInvoiceOperations", - kind: (string) (len=14) "UserOperations", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" - }), - (string) (len=31) "latestIncomingInvoiceOperations": (*main.Field)(0xc0000a1e40)({ - name: (string) (len=31) "latestIncomingInvoiceOperations", - kind: (string) (len=14) "UserOperations", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" - }), - (string) (len=26) "latestOutgoingTxOperations": (*main.Field)(0xc0000a1e80)({ - name: (string) (len=26) "latestOutgoingTxOperations", - kind: (string) (len=14) "UserOperations", - isMap: (bool) false, - isArray: (bool) false, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" - }), - (string) (len=26) "latestIncomingTxOperations": (*main.Field)(0xc0000a1ec0)({ - name: (string) (len=26) "latestIncomingTxOperations", - kind: (string) (len=14) "UserOperations", + (string) (len=18) "NewAddressResponse": (*main.Message)(0xc000389bf0)({ + fullName: (string) (len=18) "NewAddressResponse", + name: (string) (len=18) "NewAddressResponse", + fields: (map[string]*main.Field) (len=1) { + (string) (len=7) "address": (*main.Field)(0xc000314a80)({ + name: (string) (len=7) "address", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" }) } }), - (string) (len=12) "UsageMetrics": (*main.Message)(0xc00009e510)({ - fullName: (string) (len=12) "UsageMetrics", - name: (string) (len=12) "UsageMetrics", + (string) (len=18) "NewInvoiceResponse": (*main.Message)(0xc000389d70)({ + fullName: (string) (len=18) "NewInvoiceResponse", + name: (string) (len=18) "NewInvoiceResponse", fields: (map[string]*main.Field) (len=1) { - (string) (len=7) "metrics": (*main.Field)(0xc000338c00)({ - name: (string) (len=7) "metrics", - kind: (string) (len=11) "UsageMetric", + (string) (len=7) "invoice": (*main.Field)(0xc000314d00)({ + name: (string) (len=7) "invoice", + kind: (string) (len=6) "string", isMap: (bool) false, - isArray: (bool) true, + isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" }) } }), - (string) (len=15) "BanUserResponse": (*main.Message)(0xc00009ec30)({ - fullName: (string) (len=15) "BanUserResponse", - name: (string) (len=15) "BanUserResponse", - fields: (map[string]*main.Field) (len=2) { - (string) (len=12) "balance_sats": (*main.Field)(0xc0000a00c0)({ - name: (string) (len=12) "balance_sats", - kind: (string) (len=5) "int64", + (string) (len=18) "PayInvoiceResponse": (*main.Message)(0xc000389ef0)({ + fullName: (string) (len=18) "PayInvoiceResponse", + name: (string) (len=18) "PayInvoiceResponse", + fields: (map[string]*main.Field) (len=5) { + (string) (len=8) "preimage": (*main.Field)(0xc000314e40)({ + name: (string) (len=8) "preimage", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3621,24 +3617,18 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=16) "banned_app_users": (*main.Field)(0xc0000a0100)({ - name: (string) (len=16) "banned_app_users", - kind: (string) (len=13) "BannedAppUser", + (string) (len=11) "amount_paid": (*main.Field)(0xc000314e80)({ + name: (string) (len=11) "amount_paid", + kind: (string) (len=5) "int64", isMap: (bool) false, - isArray: (bool) true, + isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=19) "OpenChannelResponse": (*main.Message)(0xc00009f710)({ - fullName: (string) (len=19) "OpenChannelResponse", - name: (string) (len=19) "OpenChannelResponse", - fields: (map[string]*main.Field) (len=1) { - (string) (len=9) "channelId": (*main.Field)(0xc0000a1200)({ - name: (string) (len=9) "channelId", + }), + (string) (len=12) "operation_id": (*main.Field)(0xc000314ec0)({ + name: (string) (len=12) "operation_id", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3646,25 +3636,9 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=14) "UserOperations": (*main.Message)(0xc00009fa10)({ - fullName: (string) (len=14) "UserOperations", - name: (string) (len=14) "UserOperations", - fields: (map[string]*main.Field) (len=3) { - (string) (len=10) "operations": (*main.Field)(0xc0000a1dc0)({ - name: (string) (len=10) "operations", - kind: (string) (len=13) "UserOperation", - isMap: (bool) false, - isArray: (bool) true, - isEnum: (bool) false, - isMessage: (bool) true, - isOptional: (bool) false, - oneOfName: (string) "" }), - (string) (len=9) "fromIndex": (*main.Field)(0xc0000a1d40)({ - name: (string) (len=9) "fromIndex", + (string) (len=11) "service_fee": (*main.Field)(0xc000314f00)({ + name: (string) (len=11) "service_fee", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3673,8 +3647,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "toIndex": (*main.Field)(0xc0000a1d80)({ - name: (string) (len=7) "toIndex", + (string) (len=11) "network_fee": (*main.Field)(0xc000314f40)({ + name: (string) (len=11) "network_fee", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3685,12 +3659,12 @@ }) } }), - (string) (len=12) "PaymentState": (*main.Message)(0xc00009f650)({ + (string) (len=12) "PaymentState": (*main.Message)(0xc000389fb0)({ fullName: (string) (len=12) "PaymentState", name: (string) (len=12) "PaymentState", fields: (map[string]*main.Field) (len=4) { - (string) (len=11) "network_fee": (*main.Field)(0xc0000a10c0)({ - name: (string) (len=11) "network_fee", + (string) (len=12) "paid_at_unix": (*main.Field)(0xc000314fc0)({ + name: (string) (len=12) "paid_at_unix", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3699,9 +3673,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=12) "paid_at_unix": (*main.Field)(0xc0000a1000)({ - name: (string) (len=12) "paid_at_unix", - kind: (string) (len=4) "bool", + (string) (len=6) "amount": (*main.Field)(0xc000315000)({ + name: (string) (len=6) "amount", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3709,8 +3683,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "amount": (*main.Field)(0xc0000a1040)({ - name: (string) (len=6) "amount", + (string) (len=11) "service_fee": (*main.Field)(0xc000315040)({ + name: (string) (len=11) "service_fee", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3719,8 +3693,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "service_fee": (*main.Field)(0xc0000a1080)({ - name: (string) (len=11) "service_fee", + (string) (len=11) "network_fee": (*main.Field)(0xc000315080)({ + name: (string) (len=11) "network_fee", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3731,29 +3705,23 @@ }) } }), - (string) (len=17) "LiveUserOperation": (*main.Message)(0xc00009fbf0)({ - fullName: (string) (len=17) "LiveUserOperation", - name: (string) (len=17) "LiveUserOperation", - fields: (map[string]*main.Field) (len=1) { - (string) (len=9) "operation": (*main.Field)(0xc00010e3c0)({ - name: (string) (len=9) "operation", - kind: (string) (len=13) "UserOperation", + (string) (len=9) "UsersInfo": (*main.Message)(0xc000388f30)({ + fullName: (string) (len=9) "UsersInfo", + name: (string) (len=9) "UsersInfo", + fields: (map[string]*main.Field) (len=6) { + (string) (len=5) "total": (*main.Field)(0xc00046cac0)({ + name: (string) (len=5) "total", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=25) "EncryptionExchangeRequest": (*main.Message)(0xc00009e450)({ - fullName: (string) (len=25) "EncryptionExchangeRequest", - name: (string) (len=25) "EncryptionExchangeRequest", - fields: (map[string]*main.Field) (len=2) { - (string) (len=9) "publicKey": (*main.Field)(0xc000338280)({ - name: (string) (len=9) "publicKey", - kind: (string) (len=6) "string", + }), + (string) (len=10) "no_balance": (*main.Field)(0xc00046cb00)({ + name: (string) (len=10) "no_balance", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3761,24 +3729,18 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=8) "deviceId": (*main.Field)(0xc0003382c0)({ - name: (string) (len=8) "deviceId", - kind: (string) (len=6) "string", + (string) (len=16) "negative_balance": (*main.Field)(0xc00046cb40)({ + name: (string) (len=16) "negative_balance", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=17) "ChainBalanceEvent": (*main.Message)(0xc00009e810)({ - fullName: (string) (len=17) "ChainBalanceEvent", - name: (string) (len=17) "ChainBalanceEvent", - fields: (map[string]*main.Field) (len=4) { - (string) (len=12) "block_height": (*main.Field)(0xc000339580)({ - name: (string) (len=12) "block_height", + }), + (string) (len=20) "always_been_inactive": (*main.Field)(0xc00046cb80)({ + name: (string) (len=20) "always_been_inactive", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3787,8 +3749,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=17) "confirmed_balance": (*main.Field)(0xc0003395c0)({ - name: (string) (len=17) "confirmed_balance", + (string) (len=11) "balance_avg": (*main.Field)(0xc00046cbc0)({ + name: (string) (len=11) "balance_avg", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3797,8 +3759,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=19) "unconfirmed_balance": (*main.Field)(0xc000339600)({ - name: (string) (len=19) "unconfirmed_balance", + (string) (len=14) "balance_median": (*main.Field)(0xc00046cc00)({ + name: (string) (len=14) "balance_median", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3806,26 +3768,36 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" + }) + } + }), + (string) (len=12) "RoutingEvent": (*main.Message)(0xc0003890b0)({ + fullName: (string) (len=12) "RoutingEvent", + name: (string) (len=12) "RoutingEvent", + fields: (map[string]*main.Field) (len=12) { + (string) (len=8) "offchain": (*main.Field)(0xc00046d1c0)({ + name: (string) (len=8) "offchain", + kind: (string) (len=4) "bool", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) false, + oneOfName: (string) "" }), - (string) (len=13) "total_balance": (*main.Field)(0xc000339640)({ - name: (string) (len=13) "total_balance", - kind: (string) (len=5) "int64", + (string) (len=18) "forward_fail_event": (*main.Field)(0xc00046d200)({ + name: (string) (len=18) "forward_fail_event", + kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=7) "AppUser": (*main.Message)(0xc00009ee70)({ - fullName: (string) (len=7) "AppUser", - name: (string) (len=7) "AppUser", - fields: (map[string]*main.Field) (len=3) { - (string) (len=10) "identifier": (*main.Field)(0xc0000a0480)({ - name: (string) (len=10) "identifier", - kind: (string) (len=6) "string", + }), + (string) (len=16) "outgoing_htlc_id": (*main.Field)(0xc00046d000)({ + name: (string) (len=16) "outgoing_htlc_id", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3833,34 +3805,28 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=4) "info": (*main.Field)(0xc0000a04c0)({ - name: (string) (len=4) "info", - kind: (string) (len=8) "UserInfo", + (string) (len=12) "timestamp_ns": (*main.Field)(0xc00046d040)({ + name: (string) (len=12) "timestamp_ns", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=16) "max_withdrawable": (*main.Field)(0xc0000a0500)({ - name: (string) (len=16) "max_withdrawable", - kind: (string) (len=5) "int64", + (string) (len=10) "event_type": (*main.Field)(0xc00046d080)({ + name: (string) (len=10) "event_type", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=21) "DecodeInvoiceResponse": (*main.Message)(0xc00009f4d0)({ - fullName: (string) (len=21) "DecodeInvoiceResponse", - name: (string) (len=21) "DecodeInvoiceResponse", - fields: (map[string]*main.Field) (len=1) { - (string) (len=6) "amount": (*main.Field)(0xc0000a0dc0)({ - name: (string) (len=6) "amount", + }), + (string) (len=17) "incoming_amt_msat": (*main.Field)(0xc00046d0c0)({ + name: (string) (len=17) "incoming_amt_msat", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3868,25 +3834,19 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=7) "AuthApp": (*main.Message)(0xc00009edb0)({ - fullName: (string) (len=7) "AuthApp", - name: (string) (len=7) "AuthApp", - fields: (map[string]*main.Field) (len=2) { - (string) (len=3) "app": (*main.Field)(0xc0000a0340)({ - name: (string) (len=3) "app", - kind: (string) (len=11) "Application", + }), + (string) (len=17) "outgoing_amt_msat": (*main.Field)(0xc00046d100)({ + name: (string) (len=17) "outgoing_amt_msat", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=10) "auth_token": (*main.Field)(0xc0000a0380)({ - name: (string) (len=10) "auth_token", + (string) (len=14) "failure_string": (*main.Field)(0xc00046d140)({ + name: (string) (len=14) "failure_string", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3894,16 +3854,10 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=18) "PayAddressResponse": (*main.Message)(0xc00009f350)({ - fullName: (string) (len=18) "PayAddressResponse", - name: (string) (len=18) "PayAddressResponse", - fields: (map[string]*main.Field) (len=4) { - (string) (len=4) "txId": (*main.Field)(0xc0000a0bc0)({ - name: (string) (len=4) "txId", - kind: (string) (len=6) "string", + }), + (string) (len=19) "incoming_channel_id": (*main.Field)(0xc00046cf40)({ + name: (string) (len=19) "incoming_channel_id", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3911,9 +3865,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=12) "operation_id": (*main.Field)(0xc0000a0c00)({ - name: (string) (len=12) "operation_id", - kind: (string) (len=6) "string", + (string) (len=16) "incoming_htlc_id": (*main.Field)(0xc00046cf80)({ + name: (string) (len=16) "incoming_htlc_id", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3921,8 +3875,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "service_fee": (*main.Field)(0xc0000a0c40)({ - name: (string) (len=11) "service_fee", + (string) (len=19) "outgoing_channel_id": (*main.Field)(0xc00046cfc0)({ + name: (string) (len=19) "outgoing_channel_id", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3931,9 +3885,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "network_fee": (*main.Field)(0xc0000a0c80)({ - name: (string) (len=11) "network_fee", - kind: (string) (len=5) "int64", + (string) (len=7) "settled": (*main.Field)(0xc00046d180)({ + name: (string) (len=7) "settled", + kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -3943,22 +3897,44 @@ }) } }), - (string) (len=20) "LnurlPayInfoResponse": (*main.Message)(0xc00009f830)({ - fullName: (string) (len=20) "LnurlPayInfoResponse", - name: (string) (len=20) "LnurlPayInfoResponse", - fields: (map[string]*main.Field) (len=7) { - (string) (len=3) "tag": (*main.Field)(0xc0000a14c0)({ - name: (string) (len=3) "tag", - kind: (string) (len=6) "string", + (string) (len=5) "Empty": (*main.Message)(0xc000388d50)({ + fullName: (string) (len=5) "Empty", + name: (string) (len=5) "Empty", + fields: (map[string]*main.Field) { + } + }), + (string) (len=17) "LndMetricsRequest": (*main.Message)(0xc000389050)({ + fullName: (string) (len=17) "LndMetricsRequest", + name: (string) (len=17) "LndMetricsRequest", + fields: (map[string]*main.Field) (len=2) { + (string) (len=9) "from_unix": (*main.Field)(0xc00046cec0)({ + name: (string) (len=9) "from_unix", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) false, + isOptional: (bool) true, oneOfName: (string) "" }), - (string) (len=8) "callback": (*main.Field)(0xc0000a1500)({ - name: (string) (len=8) "callback", + (string) (len=7) "to_unix": (*main.Field)(0xc00046cf00)({ + name: (string) (len=7) "to_unix", + kind: (string) (len=5) "int64", + isMap: (bool) false, + isArray: (bool) false, + isEnum: (bool) false, + isMessage: (bool) false, + isOptional: (bool) true, + oneOfName: (string) "" + }) + } + }), + (string) (len=7) "AppUser": (*main.Message)(0xc0003897d0)({ + fullName: (string) (len=7) "AppUser", + name: (string) (len=7) "AppUser", + fields: (map[string]*main.Field) (len=3) { + (string) (len=10) "identifier": (*main.Field)(0xc0003142c0)({ + name: (string) (len=10) "identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3967,18 +3943,18 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "maxSendable": (*main.Field)(0xc0000a1540)({ - name: (string) (len=11) "maxSendable", - kind: (string) (len=5) "int64", + (string) (len=4) "info": (*main.Field)(0xc000314300)({ + name: (string) (len=4) "info", + kind: (string) (len=8) "UserInfo", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "minSendable": (*main.Field)(0xc0000a1580)({ - name: (string) (len=11) "minSendable", + (string) (len=16) "max_withdrawable": (*main.Field)(0xc000314400)({ + name: (string) (len=16) "max_withdrawable", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -3986,9 +3962,15 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=8) "metadata": (*main.Field)(0xc0000a15c0)({ - name: (string) (len=8) "metadata", + }) + } + }), + (string) (len=22) "HandleLnurlPayResponse": (*main.Message)(0xc0001e5950)({ + fullName: (string) (len=22) "HandleLnurlPayResponse", + name: (string) (len=22) "HandleLnurlPayResponse", + fields: (map[string]*main.Field) (len=2) { + (string) (len=2) "pr": (*main.Field)(0xc000315640)({ + name: (string) (len=2) "pr", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -3997,21 +3979,27 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "allowsNostr": (*main.Field)(0xc0000a1600)({ - name: (string) (len=11) "allowsNostr", - kind: (string) (len=4) "bool", + (string) (len=6) "routes": (*main.Field)(0xc000315680)({ + name: (string) (len=6) "routes", + kind: (string) (len=5) "Empty", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, - isMessage: (bool) false, + isMessage: (bool) true, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=11) "nostrPubkey": (*main.Field)(0xc0000a1640)({ - name: (string) (len=11) "nostrPubkey", + }) + } + }), + (string) (len=15) "RelaysMigration": (*main.Message)(0xc0001e5dd0)({ + fullName: (string) (len=15) "RelaysMigration", + name: (string) (len=15) "RelaysMigration", + fields: (map[string]*main.Field) (len=1) { + (string) (len=6) "relays": (*main.Field)(0xc0000b06c0)({ + name: (string) (len=6) "relays", kind: (string) (len=6) "string", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, isMessage: (bool) false, isOptional: (bool) false, @@ -4019,12 +4007,12 @@ }) } }), - (string) (len=23) "EnrollAdminTokenRequest": (*main.Message)(0xc00009fef0)({ - fullName: (string) (len=23) "EnrollAdminTokenRequest", - name: (string) (len=23) "EnrollAdminTokenRequest", + (string) (len=31) "RequestNPubLinkingTokenResponse": (*main.Message)(0xc0001e5e90)({ + fullName: (string) (len=31) "RequestNPubLinkingTokenResponse", + name: (string) (len=31) "RequestNPubLinkingTokenResponse", fields: (map[string]*main.Field) (len=1) { - (string) (len=11) "admin_token": (*main.Field)(0xc00010e940)({ - name: (string) (len=11) "admin_token", + (string) (len=5) "token": (*main.Field)(0xc0000b07c0)({ + name: (string) (len=5) "token", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -4035,47 +4023,53 @@ }) } }), - (string) (len=18) "AppsMetricsRequest": (*main.Message)(0xc00009e570)({ - fullName: (string) (len=18) "AppsMetricsRequest", - name: (string) (len=18) "AppsMetricsRequest", - fields: (map[string]*main.Field) (len=3) { - (string) (len=9) "from_unix": (*main.Field)(0xc000338c40)({ - name: (string) (len=9) "from_unix", - kind: (string) (len=5) "int64", + (string) (len=11) "AppsMetrics": (*main.Message)(0xc000388ff0)({ + fullName: (string) (len=11) "AppsMetrics", + name: (string) (len=11) "AppsMetrics", + fields: (map[string]*main.Field) (len=1) { + (string) (len=4) "apps": (*main.Field)(0xc00046ce80)({ + name: (string) (len=4) "apps", + kind: (string) (len=10) "AppMetrics", isMap: (bool) false, - isArray: (bool) false, + isArray: (bool) true, isEnum: (bool) false, - isMessage: (bool) false, - isOptional: (bool) true, + isMessage: (bool) true, + isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=7) "to_unix": (*main.Field)(0xc000338c80)({ - name: (string) (len=7) "to_unix", - kind: (string) (len=5) "int64", + }) + } + }), + (string) (len=13) "AddAppRequest": (*main.Message)(0xc0003895f0)({ + fullName: (string) (len=13) "AddAppRequest", + name: (string) (len=13) "AddAppRequest", + fields: (map[string]*main.Field) (len=2) { + (string) (len=4) "name": (*main.Field)(0xc00046de40)({ + name: (string) (len=4) "name", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) true, + isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=18) "include_operations": (*main.Field)(0xc000338cc0)({ - name: (string) (len=18) "include_operations", + (string) (len=19) "allow_user_creation": (*main.Field)(0xc00046de80)({ + name: (string) (len=19) "allow_user_creation", kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) true, + isOptional: (bool) false, oneOfName: (string) "" }) } }), - (string) (len=13) "AddAppRequest": (*main.Message)(0xc00009ec90)({ - fullName: (string) (len=13) "AddAppRequest", - name: (string) (len=13) "AddAppRequest", + (string) (len=14) "AuthAppRequest": (*main.Message)(0xc000389650)({ + fullName: (string) (len=14) "AuthAppRequest", + name: (string) (len=14) "AuthAppRequest", fields: (map[string]*main.Field) (len=2) { - (string) (len=4) "name": (*main.Field)(0xc0000a0140)({ + (string) (len=4) "name": (*main.Field)(0xc00046dec0)({ name: (string) (len=4) "name", kind: (string) (len=6) "string", isMap: (bool) false, @@ -4085,24 +4079,24 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=19) "allow_user_creation": (*main.Field)(0xc0000a0180)({ + (string) (len=19) "allow_user_creation": (*main.Field)(0xc00046df00)({ name: (string) (len=19) "allow_user_creation", kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) false, + isOptional: (bool) true, oneOfName: (string) "" }) } }), - (string) (len=34) "SendAppUserToAppUserPaymentRequest": (*main.Message)(0xc00009f050)({ - fullName: (string) (len=34) "SendAppUserToAppUserPaymentRequest", - name: (string) (len=34) "SendAppUserToAppUserPaymentRequest", - fields: (map[string]*main.Field) (len=3) { - (string) (len=20) "from_user_identifier": (*main.Field)(0xc0000a0800)({ - name: (string) (len=20) "from_user_identifier", + (string) (len=17) "GetAppUserRequest": (*main.Message)(0xc0003898f0)({ + fullName: (string) (len=17) "GetAppUserRequest", + name: (string) (len=17) "GetAppUserRequest", + fields: (map[string]*main.Field) (len=1) { + (string) (len=15) "user_identifier": (*main.Field)(0xc0003146c0)({ + name: (string) (len=15) "user_identifier", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -4110,10 +4104,16 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=18) "to_user_identifier": (*main.Field)(0xc0000a0840)({ - name: (string) (len=18) "to_user_identifier", - kind: (string) (len=6) "string", + }) + } + }), + (string) (len=18) "PayAddressResponse": (*main.Message)(0xc000389cb0)({ + fullName: (string) (len=18) "PayAddressResponse", + name: (string) (len=18) "PayAddressResponse", + fields: (map[string]*main.Field) (len=4) { + (string) (len=11) "service_fee": (*main.Field)(0xc000314c00)({ + name: (string) (len=11) "service_fee", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -4121,8 +4121,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "amount": (*main.Field)(0xc0000a0880)({ - name: (string) (len=6) "amount", + (string) (len=11) "network_fee": (*main.Field)(0xc000314c40)({ + name: (string) (len=11) "network_fee", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -4130,15 +4130,9 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }) - } - }), - (string) (len=24) "PayAppUserInvoiceRequest": (*main.Message)(0xc00009eff0)({ - fullName: (string) (len=24) "PayAppUserInvoiceRequest", - name: (string) (len=24) "PayAppUserInvoiceRequest", - fields: (map[string]*main.Field) (len=3) { - (string) (len=15) "user_identifier": (*main.Field)(0xc0000a0740)({ - name: (string) (len=15) "user_identifier", + }), + (string) (len=4) "txId": (*main.Field)(0xc000314b80)({ + name: (string) (len=4) "txId", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -4147,8 +4141,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=7) "invoice": (*main.Field)(0xc0000a0780)({ - name: (string) (len=7) "invoice", + (string) (len=12) "operation_id": (*main.Field)(0xc000314bc0)({ + name: (string) (len=12) "operation_id", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -4156,45 +4150,51 @@ isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" - }), - (string) (len=6) "amount": (*main.Field)(0xc0000a07c0)({ - name: (string) (len=6) "amount", + }) + } + }), + (string) (len=18) "AppsMetricsRequest": (*main.Message)(0xc000388ed0)({ + fullName: (string) (len=18) "AppsMetricsRequest", + name: (string) (len=18) "AppsMetricsRequest", + fields: (map[string]*main.Field) (len=3) { + (string) (len=9) "from_unix": (*main.Field)(0xc00046ca00)({ + name: (string) (len=9) "from_unix", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) false, + isOptional: (bool) true, oneOfName: (string) "" - }) - } - }), - (string) (len=18) "PayInvoiceResponse": (*main.Message)(0xc00009f590)({ - fullName: (string) (len=18) "PayInvoiceResponse", - name: (string) (len=18) "PayInvoiceResponse", - fields: (map[string]*main.Field) (len=5) { - (string) (len=8) "preimage": (*main.Field)(0xc0000a0e80)({ - name: (string) (len=8) "preimage", - kind: (string) (len=6) "string", + }), + (string) (len=7) "to_unix": (*main.Field)(0xc00046ca40)({ + name: (string) (len=7) "to_unix", + kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) false, + isOptional: (bool) true, oneOfName: (string) "" }), - (string) (len=11) "amount_paid": (*main.Field)(0xc0000a0ec0)({ - name: (string) (len=11) "amount_paid", - kind: (string) (len=5) "int64", + (string) (len=18) "include_operations": (*main.Field)(0xc00046ca80)({ + name: (string) (len=18) "include_operations", + kind: (string) (len=4) "bool", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, isMessage: (bool) false, - isOptional: (bool) false, + isOptional: (bool) true, oneOfName: (string) "" - }), - (string) (len=12) "operation_id": (*main.Field)(0xc0000a0f00)({ - name: (string) (len=12) "operation_id", + }) + } + }), + (string) (len=24) "PayAppUserInvoiceRequest": (*main.Message)(0xc000389950)({ + fullName: (string) (len=24) "PayAppUserInvoiceRequest", + name: (string) (len=24) "PayAppUserInvoiceRequest", + fields: (map[string]*main.Field) (len=3) { + (string) (len=7) "invoice": (*main.Field)(0xc000314740)({ + name: (string) (len=7) "invoice", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -4203,8 +4203,8 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "service_fee": (*main.Field)(0xc0000a0f40)({ - name: (string) (len=11) "service_fee", + (string) (len=6) "amount": (*main.Field)(0xc000314780)({ + name: (string) (len=6) "amount", kind: (string) (len=5) "int64", isMap: (bool) false, isArray: (bool) false, @@ -4213,9 +4213,9 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=11) "network_fee": (*main.Field)(0xc0000a0f80)({ - name: (string) (len=11) "network_fee", - kind: (string) (len=5) "int64", + (string) (len=15) "user_identifier": (*main.Field)(0xc000314700)({ + name: (string) (len=15) "user_identifier", + kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, isEnum: (bool) false, @@ -4225,12 +4225,12 @@ }) } }), - (string) (len=22) "HandleLnurlPayResponse": (*main.Message)(0xc00009f890)({ - fullName: (string) (len=22) "HandleLnurlPayResponse", - name: (string) (len=22) "HandleLnurlPayResponse", + (string) (len=9) "HttpCreds": (*main.Message)(0xc0001e5f50)({ + fullName: (string) (len=9) "HttpCreds", + name: (string) (len=9) "HttpCreds", fields: (map[string]*main.Field) (len=2) { - (string) (len=2) "pr": (*main.Field)(0xc0000a1680)({ - name: (string) (len=2) "pr", + (string) (len=3) "url": (*main.Field)(0xc0000b0880)({ + name: (string) (len=3) "url", kind: (string) (len=6) "string", isMap: (bool) false, isArray: (bool) false, @@ -4239,13 +4239,13 @@ isOptional: (bool) false, oneOfName: (string) "" }), - (string) (len=6) "routes": (*main.Field)(0xc0000a16c0)({ - name: (string) (len=6) "routes", - kind: (string) (len=5) "Empty", + (string) (len=5) "token": (*main.Field)(0xc0000b08c0)({ + name: (string) (len=5) "token", + kind: (string) (len=6) "string", isMap: (bool) false, - isArray: (bool) true, + isArray: (bool) false, isEnum: (bool) false, - isMessage: (bool) true, + isMessage: (bool) false, isOptional: (bool) false, oneOfName: (string) "" }) diff --git a/proto/autogenerated/ts/nostr_client.ts b/proto/autogenerated/ts/nostr_client.ts index 4e5bd8519..a348b806a 100644 --- a/proto/autogenerated/ts/nostr_client.ts +++ b/proto/autogenerated/ts/nostr_client.ts @@ -5,9 +5,9 @@ export type ResultError = { status: 'ERROR', reason: string } export type NostrClientParams = { pubDestination: string - retrieveNostrUserAuth: () => Promise retrieveNostrAdminAuth: () => Promise retrieveNostrMetricsAuth: () => Promise + retrieveNostrUserAuth: () => Promise checkResult?: true } export default (params: NostrClientParams, send: (to:string, message: NostrRequest) => Promise, subscribe: (to:string, message: NostrRequest, cb:(res:any)=> void) => void) => ({ diff --git a/proto/autogenerated/ts/types.ts b/proto/autogenerated/ts/types.ts index 48fee01ee..3db3ee1aa 100644 --- a/proto/autogenerated/ts/types.ts +++ b/proto/autogenerated/ts/types.ts @@ -274,86 +274,188 @@ export type OptionsBaseMessage = { allOptionalsAreSet?: true } -export type GetAppUserRequest = { - user_identifier: string +export type ChannelBalanceEvent = { + channel_id: string + local_balance_sats: number + remote_balance_sats: number + block_height: number } -export const GetAppUserRequestOptionalFields: [] = [] -export type GetAppUserRequestOptions = OptionsBaseMessage & { +export const ChannelBalanceEventOptionalFields: [] = [] +export type ChannelBalanceEventOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - user_identifier_CustomCheck?: (v: string) => boolean + block_height_CustomCheck?: (v: number) => boolean + channel_id_CustomCheck?: (v: string) => boolean + local_balance_sats_CustomCheck?: (v: number) => boolean + remote_balance_sats_CustomCheck?: (v: number) => boolean } -export const GetAppUserRequestValidate = (o?: GetAppUserRequest, opts: GetAppUserRequestOptions = {}, path: string = 'GetAppUserRequest::root.'): Error | null => { +export const ChannelBalanceEventValidate = (o?: ChannelBalanceEvent, opts: ChannelBalanceEventOptions = {}, path: string = 'ChannelBalanceEvent::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) - if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) + if (typeof o.block_height !== 'number') return new Error(`${path}.block_height: is not a number`) + if (opts.block_height_CustomCheck && !opts.block_height_CustomCheck(o.block_height)) return new Error(`${path}.block_height: custom check failed`) + + if (typeof o.channel_id !== 'string') return new Error(`${path}.channel_id: is not a string`) + if (opts.channel_id_CustomCheck && !opts.channel_id_CustomCheck(o.channel_id)) return new Error(`${path}.channel_id: custom check failed`) + + if (typeof o.local_balance_sats !== 'number') return new Error(`${path}.local_balance_sats: is not a number`) + if (opts.local_balance_sats_CustomCheck && !opts.local_balance_sats_CustomCheck(o.local_balance_sats)) return new Error(`${path}.local_balance_sats: custom check failed`) + + if (typeof o.remote_balance_sats !== 'number') return new Error(`${path}.remote_balance_sats: is not a number`) + if (opts.remote_balance_sats_CustomCheck && !opts.remote_balance_sats_CustomCheck(o.remote_balance_sats)) return new Error(`${path}.remote_balance_sats: custom check failed`) return null } -export type SetMockAppBalanceRequest = { - amount: number +export type AddAppUserRequest = { + identifier: string + fail_if_exists: boolean + balance: number } -export const SetMockAppBalanceRequestOptionalFields: [] = [] -export type SetMockAppBalanceRequestOptions = OptionsBaseMessage & { +export const AddAppUserRequestOptionalFields: [] = [] +export type AddAppUserRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - amount_CustomCheck?: (v: number) => boolean + identifier_CustomCheck?: (v: string) => boolean + fail_if_exists_CustomCheck?: (v: boolean) => boolean + balance_CustomCheck?: (v: number) => boolean } -export const SetMockAppBalanceRequestValidate = (o?: SetMockAppBalanceRequest, opts: SetMockAppBalanceRequestOptions = {}, path: string = 'SetMockAppBalanceRequest::root.'): Error | null => { +export const AddAppUserRequestValidate = (o?: AddAppUserRequest, opts: AddAppUserRequestOptions = {}, path: string = 'AddAppUserRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + if (typeof o.balance !== 'number') return new Error(`${path}.balance: is not a number`) + if (opts.balance_CustomCheck && !opts.balance_CustomCheck(o.balance)) return new Error(`${path}.balance: custom check failed`) + + if (typeof o.identifier !== 'string') return new Error(`${path}.identifier: is not a string`) + if (opts.identifier_CustomCheck && !opts.identifier_CustomCheck(o.identifier)) return new Error(`${path}.identifier: custom check failed`) + + if (typeof o.fail_if_exists !== 'boolean') return new Error(`${path}.fail_if_exists: is not a boolean`) + if (opts.fail_if_exists_CustomCheck && !opts.fail_if_exists_CustomCheck(o.fail_if_exists)) return new Error(`${path}.fail_if_exists: custom check failed`) return null } -export type NewAddressRequest = { - addressType: AddressType +export type AddAppUserInvoiceRequest = { + receiver_identifier: string + payer_identifier: string + http_callback_url: string + invoice_req: NewInvoiceRequest } -export const NewAddressRequestOptionalFields: [] = [] -export type NewAddressRequestOptions = OptionsBaseMessage & { +export const AddAppUserInvoiceRequestOptionalFields: [] = [] +export type AddAppUserInvoiceRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - addressType_CustomCheck?: (v: AddressType) => boolean + receiver_identifier_CustomCheck?: (v: string) => boolean + payer_identifier_CustomCheck?: (v: string) => boolean + http_callback_url_CustomCheck?: (v: string) => boolean + invoice_req_Options?: NewInvoiceRequestOptions } -export const NewAddressRequestValidate = (o?: NewAddressRequest, opts: NewAddressRequestOptions = {}, path: string = 'NewAddressRequest::root.'): Error | null => { +export const AddAppUserInvoiceRequestValidate = (o?: AddAppUserInvoiceRequest, opts: AddAppUserInvoiceRequestOptions = {}, path: string = 'AddAppUserInvoiceRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (!enumCheckAddressType(o.addressType)) return new Error(`${path}.addressType: is not a valid AddressType`) - if (opts.addressType_CustomCheck && !opts.addressType_CustomCheck(o.addressType)) return new Error(`${path}.addressType: custom check failed`) + if (typeof o.receiver_identifier !== 'string') return new Error(`${path}.receiver_identifier: is not a string`) + if (opts.receiver_identifier_CustomCheck && !opts.receiver_identifier_CustomCheck(o.receiver_identifier)) return new Error(`${path}.receiver_identifier: custom check failed`) + + if (typeof o.payer_identifier !== 'string') return new Error(`${path}.payer_identifier: is not a string`) + if (opts.payer_identifier_CustomCheck && !opts.payer_identifier_CustomCheck(o.payer_identifier)) return new Error(`${path}.payer_identifier: custom check failed`) + + if (typeof o.http_callback_url !== 'string') return new Error(`${path}.http_callback_url: is not a string`) + if (opts.http_callback_url_CustomCheck && !opts.http_callback_url_CustomCheck(o.http_callback_url)) return new Error(`${path}.http_callback_url: custom check failed`) + + const invoice_reqErr = NewInvoiceRequestValidate(o.invoice_req, opts.invoice_req_Options, `${path}.invoice_req`) + if (invoice_reqErr !== null) return invoice_reqErr + return null } -export type MigrationUpdate = { - closure?: ClosureMigration - relays?: RelaysMigration +export type UserOperation = { + operationId: string + tx_hash: string + paidAtUnix: number + type: UserOperationType + inbound: boolean + identifier: string + internal: boolean + amount: number + service_fee: number + network_fee: number + confirmed: boolean } -export type MigrationUpdateOptionalField = 'closure' | 'relays' -export const MigrationUpdateOptionalFields: MigrationUpdateOptionalField[] = ['closure', 'relays'] -export type MigrationUpdateOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: MigrationUpdateOptionalField[] - relays_Options?: RelaysMigrationOptions - closure_Options?: ClosureMigrationOptions +export const UserOperationOptionalFields: [] = [] +export type UserOperationOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + network_fee_CustomCheck?: (v: number) => boolean + confirmed_CustomCheck?: (v: boolean) => boolean + internal_CustomCheck?: (v: boolean) => boolean + amount_CustomCheck?: (v: number) => boolean + service_fee_CustomCheck?: (v: number) => boolean + inbound_CustomCheck?: (v: boolean) => boolean + identifier_CustomCheck?: (v: string) => boolean + operationId_CustomCheck?: (v: string) => boolean + tx_hash_CustomCheck?: (v: string) => boolean + paidAtUnix_CustomCheck?: (v: number) => boolean + type_CustomCheck?: (v: UserOperationType) => boolean } -export const MigrationUpdateValidate = (o?: MigrationUpdate, opts: MigrationUpdateOptions = {}, path: string = 'MigrationUpdate::root.'): Error | null => { +export const UserOperationValidate = (o?: UserOperation, opts: UserOperationOptions = {}, path: string = 'UserOperation::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.closure === 'object' || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('closure')) { - const closureErr = ClosureMigrationValidate(o.closure, opts.closure_Options, `${path}.closure`) - if (closureErr !== null) return closureErr - } - + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) - if (typeof o.relays === 'object' || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('relays')) { - const relaysErr = RelaysMigrationValidate(o.relays, opts.relays_Options, `${path}.relays`) - if (relaysErr !== null) return relaysErr - } - + if (typeof o.service_fee !== 'number') return new Error(`${path}.service_fee: is not a number`) + if (opts.service_fee_CustomCheck && !opts.service_fee_CustomCheck(o.service_fee)) return new Error(`${path}.service_fee: custom check failed`) + + if (typeof o.network_fee !== 'number') return new Error(`${path}.network_fee: is not a number`) + if (opts.network_fee_CustomCheck && !opts.network_fee_CustomCheck(o.network_fee)) return new Error(`${path}.network_fee: custom check failed`) + + if (typeof o.confirmed !== 'boolean') return new Error(`${path}.confirmed: is not a boolean`) + if (opts.confirmed_CustomCheck && !opts.confirmed_CustomCheck(o.confirmed)) return new Error(`${path}.confirmed: custom check failed`) + + if (typeof o.internal !== 'boolean') return new Error(`${path}.internal: is not a boolean`) + if (opts.internal_CustomCheck && !opts.internal_CustomCheck(o.internal)) return new Error(`${path}.internal: custom check failed`) + + if (typeof o.tx_hash !== 'string') return new Error(`${path}.tx_hash: is not a string`) + if (opts.tx_hash_CustomCheck && !opts.tx_hash_CustomCheck(o.tx_hash)) return new Error(`${path}.tx_hash: custom check failed`) + + if (typeof o.paidAtUnix !== 'number') return new Error(`${path}.paidAtUnix: is not a number`) + if (opts.paidAtUnix_CustomCheck && !opts.paidAtUnix_CustomCheck(o.paidAtUnix)) return new Error(`${path}.paidAtUnix: custom check failed`) + + if (!enumCheckUserOperationType(o.type)) return new Error(`${path}.type: is not a valid UserOperationType`) + if (opts.type_CustomCheck && !opts.type_CustomCheck(o.type)) return new Error(`${path}.type: custom check failed`) + + if (typeof o.inbound !== 'boolean') return new Error(`${path}.inbound: is not a boolean`) + if (opts.inbound_CustomCheck && !opts.inbound_CustomCheck(o.inbound)) return new Error(`${path}.inbound: custom check failed`) + + if (typeof o.identifier !== 'string') return new Error(`${path}.identifier: is not a string`) + if (opts.identifier_CustomCheck && !opts.identifier_CustomCheck(o.identifier)) return new Error(`${path}.identifier: custom check failed`) + + if (typeof o.operationId !== 'string') return new Error(`${path}.operationId: is not a string`) + if (opts.operationId_CustomCheck && !opts.operationId_CustomCheck(o.operationId)) return new Error(`${path}.operationId: custom check failed`) + + return null +} + +export type LinkNPubThroughTokenRequest = { + token: string + nostr_pub: string +} +export const LinkNPubThroughTokenRequestOptionalFields: [] = [] +export type LinkNPubThroughTokenRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + token_CustomCheck?: (v: string) => boolean + nostr_pub_CustomCheck?: (v: string) => boolean +} +export const LinkNPubThroughTokenRequestValidate = (o?: LinkNPubThroughTokenRequest, opts: LinkNPubThroughTokenRequestOptions = {}, path: string = 'LinkNPubThroughTokenRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.token !== 'string') return new Error(`${path}.token: is not a string`) + if (opts.token_CustomCheck && !opts.token_CustomCheck(o.token)) return new Error(`${path}.token: custom check failed`) + + if (typeof o.nostr_pub !== 'string') return new Error(`${path}.nostr_pub: is not a string`) + if (opts.nostr_pub_CustomCheck && !opts.nostr_pub_CustomCheck(o.nostr_pub)) return new Error(`${path}.nostr_pub: custom check failed`) return null } @@ -386,293 +488,220 @@ export const ClosedChannelValidate = (o?: ClosedChannel, opts: ClosedChannelOpti return null } -export type LndGetInfoRequest = { - nodeId: number +export type LnurlLinkResponse = { + lnurl: string + k1: string } -export const LndGetInfoRequestOptionalFields: [] = [] -export type LndGetInfoRequestOptions = OptionsBaseMessage & { +export const LnurlLinkResponseOptionalFields: [] = [] +export type LnurlLinkResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - nodeId_CustomCheck?: (v: number) => boolean + lnurl_CustomCheck?: (v: string) => boolean + k1_CustomCheck?: (v: string) => boolean } -export const LndGetInfoRequestValidate = (o?: LndGetInfoRequest, opts: LndGetInfoRequestOptions = {}, path: string = 'LndGetInfoRequest::root.'): Error | null => { +export const LnurlLinkResponseValidate = (o?: LnurlLinkResponse, opts: LnurlLinkResponseOptions = {}, path: string = 'LnurlLinkResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.nodeId !== 'number') return new Error(`${path}.nodeId: is not a number`) - if (opts.nodeId_CustomCheck && !opts.nodeId_CustomCheck(o.nodeId)) return new Error(`${path}.nodeId: custom check failed`) + if (typeof o.lnurl !== 'string') return new Error(`${path}.lnurl: is not a string`) + if (opts.lnurl_CustomCheck && !opts.lnurl_CustomCheck(o.lnurl)) return new Error(`${path}.lnurl: custom check failed`) + + if (typeof o.k1 !== 'string') return new Error(`${path}.k1: is not a string`) + if (opts.k1_CustomCheck && !opts.k1_CustomCheck(o.k1)) return new Error(`${path}.k1: custom check failed`) return null } -export type SetMockInvoiceAsPaidRequest = { - invoice: string - amount: number +export type LnurlPayInfoResponse = { + tag: string + callback: string + maxSendable: number + minSendable: number + metadata: string + allowsNostr: boolean + nostrPubkey: string } -export const SetMockInvoiceAsPaidRequestOptionalFields: [] = [] -export type SetMockInvoiceAsPaidRequestOptions = OptionsBaseMessage & { +export const LnurlPayInfoResponseOptionalFields: [] = [] +export type LnurlPayInfoResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - invoice_CustomCheck?: (v: string) => boolean - amount_CustomCheck?: (v: number) => boolean + tag_CustomCheck?: (v: string) => boolean + callback_CustomCheck?: (v: string) => boolean + maxSendable_CustomCheck?: (v: number) => boolean + minSendable_CustomCheck?: (v: number) => boolean + metadata_CustomCheck?: (v: string) => boolean + allowsNostr_CustomCheck?: (v: boolean) => boolean + nostrPubkey_CustomCheck?: (v: string) => boolean } -export const SetMockInvoiceAsPaidRequestValidate = (o?: SetMockInvoiceAsPaidRequest, opts: SetMockInvoiceAsPaidRequestOptions = {}, path: string = 'SetMockInvoiceAsPaidRequest::root.'): Error | null => { +export const LnurlPayInfoResponseValidate = (o?: LnurlPayInfoResponse, opts: LnurlPayInfoResponseOptions = {}, path: string = 'LnurlPayInfoResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) - if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) + if (typeof o.tag !== 'string') return new Error(`${path}.tag: is not a string`) + if (opts.tag_CustomCheck && !opts.tag_CustomCheck(o.tag)) return new Error(`${path}.tag: custom check failed`) - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + if (typeof o.callback !== 'string') return new Error(`${path}.callback: is not a string`) + if (opts.callback_CustomCheck && !opts.callback_CustomCheck(o.callback)) return new Error(`${path}.callback: custom check failed`) - return null -} + if (typeof o.maxSendable !== 'number') return new Error(`${path}.maxSendable: is not a number`) + if (opts.maxSendable_CustomCheck && !opts.maxSendable_CustomCheck(o.maxSendable)) return new Error(`${path}.maxSendable: custom check failed`) -export type AddAppInvoiceRequest = { - payer_identifier: string - http_callback_url: string - invoice_req: NewInvoiceRequest -} -export const AddAppInvoiceRequestOptionalFields: [] = [] -export type AddAppInvoiceRequestOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - payer_identifier_CustomCheck?: (v: string) => boolean - http_callback_url_CustomCheck?: (v: string) => boolean - invoice_req_Options?: NewInvoiceRequestOptions -} -export const AddAppInvoiceRequestValidate = (o?: AddAppInvoiceRequest, opts: AddAppInvoiceRequestOptions = {}, path: string = 'AddAppInvoiceRequest::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + if (typeof o.minSendable !== 'number') return new Error(`${path}.minSendable: is not a number`) + if (opts.minSendable_CustomCheck && !opts.minSendable_CustomCheck(o.minSendable)) return new Error(`${path}.minSendable: custom check failed`) - if (typeof o.payer_identifier !== 'string') return new Error(`${path}.payer_identifier: is not a string`) - if (opts.payer_identifier_CustomCheck && !opts.payer_identifier_CustomCheck(o.payer_identifier)) return new Error(`${path}.payer_identifier: custom check failed`) + if (typeof o.metadata !== 'string') return new Error(`${path}.metadata: is not a string`) + if (opts.metadata_CustomCheck && !opts.metadata_CustomCheck(o.metadata)) return new Error(`${path}.metadata: custom check failed`) - if (typeof o.http_callback_url !== 'string') return new Error(`${path}.http_callback_url: is not a string`) - if (opts.http_callback_url_CustomCheck && !opts.http_callback_url_CustomCheck(o.http_callback_url)) return new Error(`${path}.http_callback_url: custom check failed`) + if (typeof o.allowsNostr !== 'boolean') return new Error(`${path}.allowsNostr: is not a boolean`) + if (opts.allowsNostr_CustomCheck && !opts.allowsNostr_CustomCheck(o.allowsNostr)) return new Error(`${path}.allowsNostr: custom check failed`) - const invoice_reqErr = NewInvoiceRequestValidate(o.invoice_req, opts.invoice_req_Options, `${path}.invoice_req`) - if (invoice_reqErr !== null) return invoice_reqErr - + if (typeof o.nostrPubkey !== 'string') return new Error(`${path}.nostrPubkey: is not a string`) + if (opts.nostrPubkey_CustomCheck && !opts.nostrPubkey_CustomCheck(o.nostrPubkey)) return new Error(`${path}.nostrPubkey: custom check failed`) return null } -export type ClosureMigration = { - closes_at_unix: number +export type NewInvoiceRequest = { + amountSats: number + memo: string } -export const ClosureMigrationOptionalFields: [] = [] -export type ClosureMigrationOptions = OptionsBaseMessage & { +export const NewInvoiceRequestOptionalFields: [] = [] +export type NewInvoiceRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - closes_at_unix_CustomCheck?: (v: number) => boolean + amountSats_CustomCheck?: (v: number) => boolean + memo_CustomCheck?: (v: string) => boolean } -export const ClosureMigrationValidate = (o?: ClosureMigration, opts: ClosureMigrationOptions = {}, path: string = 'ClosureMigration::root.'): Error | null => { +export const NewInvoiceRequestValidate = (o?: NewInvoiceRequest, opts: NewInvoiceRequestOptions = {}, path: string = 'NewInvoiceRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.closes_at_unix !== 'number') return new Error(`${path}.closes_at_unix: is not a number`) - if (opts.closes_at_unix_CustomCheck && !opts.closes_at_unix_CustomCheck(o.closes_at_unix)) return new Error(`${path}.closes_at_unix: custom check failed`) + if (typeof o.amountSats !== 'number') return new Error(`${path}.amountSats: is not a number`) + if (opts.amountSats_CustomCheck && !opts.amountSats_CustomCheck(o.amountSats)) return new Error(`${path}.amountSats: custom check failed`) + + if (typeof o.memo !== 'string') return new Error(`${path}.memo: is not a string`) + if (opts.memo_CustomCheck && !opts.memo_CustomCheck(o.memo)) return new Error(`${path}.memo: custom check failed`) return null } -export type UsersInfo = { - balance_avg: number - balance_median: number - total: number - no_balance: number - negative_balance: number - always_been_inactive: number +export type GetProductBuyLinkResponse = { + link: string } -export const UsersInfoOptionalFields: [] = [] -export type UsersInfoOptions = OptionsBaseMessage & { +export const GetProductBuyLinkResponseOptionalFields: [] = [] +export type GetProductBuyLinkResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - balance_avg_CustomCheck?: (v: number) => boolean - balance_median_CustomCheck?: (v: number) => boolean - total_CustomCheck?: (v: number) => boolean - no_balance_CustomCheck?: (v: number) => boolean - negative_balance_CustomCheck?: (v: number) => boolean - always_been_inactive_CustomCheck?: (v: number) => boolean + link_CustomCheck?: (v: string) => boolean } -export const UsersInfoValidate = (o?: UsersInfo, opts: UsersInfoOptions = {}, path: string = 'UsersInfo::root.'): Error | null => { +export const GetProductBuyLinkResponseValidate = (o?: GetProductBuyLinkResponse, opts: GetProductBuyLinkResponseOptions = {}, path: string = 'GetProductBuyLinkResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.balance_avg !== 'number') return new Error(`${path}.balance_avg: is not a number`) - if (opts.balance_avg_CustomCheck && !opts.balance_avg_CustomCheck(o.balance_avg)) return new Error(`${path}.balance_avg: custom check failed`) - - if (typeof o.balance_median !== 'number') return new Error(`${path}.balance_median: is not a number`) - if (opts.balance_median_CustomCheck && !opts.balance_median_CustomCheck(o.balance_median)) return new Error(`${path}.balance_median: custom check failed`) - - if (typeof o.total !== 'number') return new Error(`${path}.total: is not a number`) - if (opts.total_CustomCheck && !opts.total_CustomCheck(o.total)) return new Error(`${path}.total: custom check failed`) - - if (typeof o.no_balance !== 'number') return new Error(`${path}.no_balance: is not a number`) - if (opts.no_balance_CustomCheck && !opts.no_balance_CustomCheck(o.no_balance)) return new Error(`${path}.no_balance: custom check failed`) - - if (typeof o.negative_balance !== 'number') return new Error(`${path}.negative_balance: is not a number`) - if (opts.negative_balance_CustomCheck && !opts.negative_balance_CustomCheck(o.negative_balance)) return new Error(`${path}.negative_balance: custom check failed`) - - if (typeof o.always_been_inactive !== 'number') return new Error(`${path}.always_been_inactive: is not a number`) - if (opts.always_been_inactive_CustomCheck && !opts.always_been_inactive_CustomCheck(o.always_been_inactive)) return new Error(`${path}.always_been_inactive: custom check failed`) + if (typeof o.link !== 'string') return new Error(`${path}.link: is not a string`) + if (opts.link_CustomCheck && !opts.link_CustomCheck(o.link)) return new Error(`${path}.link: custom check failed`) return null } -export type RoutingEvent = { - outgoing_htlc_id: number - incoming_amt_msat: number - outgoing_amt_msat: number - failure_string: string - settled: boolean - offchain: boolean - outgoing_channel_id: number - incoming_htlc_id: number - timestamp_ns: number - event_type: string - forward_fail_event: boolean - incoming_channel_id: number +export type LiveUserOperation = { + operation: UserOperation } -export const RoutingEventOptionalFields: [] = [] -export type RoutingEventOptions = OptionsBaseMessage & { +export const LiveUserOperationOptionalFields: [] = [] +export type LiveUserOperationOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - incoming_channel_id_CustomCheck?: (v: number) => boolean - incoming_htlc_id_CustomCheck?: (v: number) => boolean - timestamp_ns_CustomCheck?: (v: number) => boolean - event_type_CustomCheck?: (v: string) => boolean - forward_fail_event_CustomCheck?: (v: boolean) => boolean - offchain_CustomCheck?: (v: boolean) => boolean - outgoing_channel_id_CustomCheck?: (v: number) => boolean - outgoing_htlc_id_CustomCheck?: (v: number) => boolean - incoming_amt_msat_CustomCheck?: (v: number) => boolean - outgoing_amt_msat_CustomCheck?: (v: number) => boolean - failure_string_CustomCheck?: (v: string) => boolean - settled_CustomCheck?: (v: boolean) => boolean + operation_Options?: UserOperationOptions } -export const RoutingEventValidate = (o?: RoutingEvent, opts: RoutingEventOptions = {}, path: string = 'RoutingEvent::root.'): Error | null => { +export const LiveUserOperationValidate = (o?: LiveUserOperation, opts: LiveUserOperationOptions = {}, path: string = 'LiveUserOperation::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.outgoing_htlc_id !== 'number') return new Error(`${path}.outgoing_htlc_id: is not a number`) - if (opts.outgoing_htlc_id_CustomCheck && !opts.outgoing_htlc_id_CustomCheck(o.outgoing_htlc_id)) return new Error(`${path}.outgoing_htlc_id: custom check failed`) - - if (typeof o.incoming_amt_msat !== 'number') return new Error(`${path}.incoming_amt_msat: is not a number`) - if (opts.incoming_amt_msat_CustomCheck && !opts.incoming_amt_msat_CustomCheck(o.incoming_amt_msat)) return new Error(`${path}.incoming_amt_msat: custom check failed`) - - if (typeof o.outgoing_amt_msat !== 'number') return new Error(`${path}.outgoing_amt_msat: is not a number`) - if (opts.outgoing_amt_msat_CustomCheck && !opts.outgoing_amt_msat_CustomCheck(o.outgoing_amt_msat)) return new Error(`${path}.outgoing_amt_msat: custom check failed`) - - if (typeof o.failure_string !== 'string') return new Error(`${path}.failure_string: is not a string`) - if (opts.failure_string_CustomCheck && !opts.failure_string_CustomCheck(o.failure_string)) return new Error(`${path}.failure_string: custom check failed`) - - if (typeof o.settled !== 'boolean') return new Error(`${path}.settled: is not a boolean`) - if (opts.settled_CustomCheck && !opts.settled_CustomCheck(o.settled)) return new Error(`${path}.settled: custom check failed`) - - if (typeof o.offchain !== 'boolean') return new Error(`${path}.offchain: is not a boolean`) - if (opts.offchain_CustomCheck && !opts.offchain_CustomCheck(o.offchain)) return new Error(`${path}.offchain: custom check failed`) - - if (typeof o.outgoing_channel_id !== 'number') return new Error(`${path}.outgoing_channel_id: is not a number`) - if (opts.outgoing_channel_id_CustomCheck && !opts.outgoing_channel_id_CustomCheck(o.outgoing_channel_id)) return new Error(`${path}.outgoing_channel_id: custom check failed`) - - if (typeof o.incoming_htlc_id !== 'number') return new Error(`${path}.incoming_htlc_id: is not a number`) - if (opts.incoming_htlc_id_CustomCheck && !opts.incoming_htlc_id_CustomCheck(o.incoming_htlc_id)) return new Error(`${path}.incoming_htlc_id: custom check failed`) - - if (typeof o.timestamp_ns !== 'number') return new Error(`${path}.timestamp_ns: is not a number`) - if (opts.timestamp_ns_CustomCheck && !opts.timestamp_ns_CustomCheck(o.timestamp_ns)) return new Error(`${path}.timestamp_ns: custom check failed`) - - if (typeof o.event_type !== 'string') return new Error(`${path}.event_type: is not a string`) - if (opts.event_type_CustomCheck && !opts.event_type_CustomCheck(o.event_type)) return new Error(`${path}.event_type: custom check failed`) - - if (typeof o.forward_fail_event !== 'boolean') return new Error(`${path}.forward_fail_event: is not a boolean`) - if (opts.forward_fail_event_CustomCheck && !opts.forward_fail_event_CustomCheck(o.forward_fail_event)) return new Error(`${path}.forward_fail_event: custom check failed`) - - if (typeof o.incoming_channel_id !== 'number') return new Error(`${path}.incoming_channel_id: is not a number`) - if (opts.incoming_channel_id_CustomCheck && !opts.incoming_channel_id_CustomCheck(o.incoming_channel_id)) return new Error(`${path}.incoming_channel_id: custom check failed`) + const operationErr = UserOperationValidate(o.operation, opts.operation_Options, `${path}.operation`) + if (operationErr !== null) return operationErr + return null } -export type AddAppUserRequest = { - identifier: string - fail_if_exists: boolean - balance: number +export type LndMetrics = { + nodes: LndNodeMetrics[] } -export const AddAppUserRequestOptionalFields: [] = [] -export type AddAppUserRequestOptions = OptionsBaseMessage & { +export const LndMetricsOptionalFields: [] = [] +export type LndMetricsOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - fail_if_exists_CustomCheck?: (v: boolean) => boolean - balance_CustomCheck?: (v: number) => boolean - identifier_CustomCheck?: (v: string) => boolean + nodes_ItemOptions?: LndNodeMetricsOptions + nodes_CustomCheck?: (v: LndNodeMetrics[]) => boolean } -export const AddAppUserRequestValidate = (o?: AddAppUserRequest, opts: AddAppUserRequestOptions = {}, path: string = 'AddAppUserRequest::root.'): Error | null => { +export const LndMetricsValidate = (o?: LndMetrics, opts: LndMetricsOptions = {}, path: string = 'LndMetrics::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.balance !== 'number') return new Error(`${path}.balance: is not a number`) - if (opts.balance_CustomCheck && !opts.balance_CustomCheck(o.balance)) return new Error(`${path}.balance: custom check failed`) - - if (typeof o.identifier !== 'string') return new Error(`${path}.identifier: is not a string`) - if (opts.identifier_CustomCheck && !opts.identifier_CustomCheck(o.identifier)) return new Error(`${path}.identifier: custom check failed`) - - if (typeof o.fail_if_exists !== 'boolean') return new Error(`${path}.fail_if_exists: is not a boolean`) - if (opts.fail_if_exists_CustomCheck && !opts.fail_if_exists_CustomCheck(o.fail_if_exists)) return new Error(`${path}.fail_if_exists: custom check failed`) + if (!Array.isArray(o.nodes)) return new Error(`${path}.nodes: is not an array`) + for (let index = 0; index < o.nodes.length; index++) { + const nodesErr = LndNodeMetricsValidate(o.nodes[index], opts.nodes_ItemOptions, `${path}.nodes[${index}]`) + if (nodesErr !== null) return nodesErr + } + if (opts.nodes_CustomCheck && !opts.nodes_CustomCheck(o.nodes)) return new Error(`${path}.nodes: custom check failed`) return null } -export type PayAddressRequest = { - satsPerVByte: number - address: string - amoutSats: number +export type Application = { + name: string + id: string + balance: number + npub: string } -export const PayAddressRequestOptionalFields: [] = [] -export type PayAddressRequestOptions = OptionsBaseMessage & { +export const ApplicationOptionalFields: [] = [] +export type ApplicationOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - amoutSats_CustomCheck?: (v: number) => boolean - satsPerVByte_CustomCheck?: (v: number) => boolean - address_CustomCheck?: (v: string) => boolean + npub_CustomCheck?: (v: string) => boolean + name_CustomCheck?: (v: string) => boolean + id_CustomCheck?: (v: string) => boolean + balance_CustomCheck?: (v: number) => boolean } -export const PayAddressRequestValidate = (o?: PayAddressRequest, opts: PayAddressRequestOptions = {}, path: string = 'PayAddressRequest::root.'): Error | null => { +export const ApplicationValidate = (o?: Application, opts: ApplicationOptions = {}, path: string = 'Application::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.address !== 'string') return new Error(`${path}.address: is not a string`) - if (opts.address_CustomCheck && !opts.address_CustomCheck(o.address)) return new Error(`${path}.address: custom check failed`) + if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) + if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) - if (typeof o.amoutSats !== 'number') return new Error(`${path}.amoutSats: is not a number`) - if (opts.amoutSats_CustomCheck && !opts.amoutSats_CustomCheck(o.amoutSats)) return new Error(`${path}.amoutSats: custom check failed`) + if (typeof o.id !== 'string') return new Error(`${path}.id: is not a string`) + if (opts.id_CustomCheck && !opts.id_CustomCheck(o.id)) return new Error(`${path}.id: custom check failed`) - if (typeof o.satsPerVByte !== 'number') return new Error(`${path}.satsPerVByte: is not a number`) - if (opts.satsPerVByte_CustomCheck && !opts.satsPerVByte_CustomCheck(o.satsPerVByte)) return new Error(`${path}.satsPerVByte: custom check failed`) + if (typeof o.balance !== 'number') return new Error(`${path}.balance: is not a number`) + if (opts.balance_CustomCheck && !opts.balance_CustomCheck(o.balance)) return new Error(`${path}.balance: custom check failed`) + + if (typeof o.npub !== 'string') return new Error(`${path}.npub: is not a string`) + if (opts.npub_CustomCheck && !opts.npub_CustomCheck(o.npub)) return new Error(`${path}.npub: custom check failed`) return null } -export type BanUserRequest = { - user_id: string +export type SetMockAppBalanceRequest = { + amount: number } -export const BanUserRequestOptionalFields: [] = [] -export type BanUserRequestOptions = OptionsBaseMessage & { +export const SetMockAppBalanceRequestOptionalFields: [] = [] +export type SetMockAppBalanceRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - user_id_CustomCheck?: (v: string) => boolean + amount_CustomCheck?: (v: number) => boolean } -export const BanUserRequestValidate = (o?: BanUserRequest, opts: BanUserRequestOptions = {}, path: string = 'BanUserRequest::root.'): Error | null => { +export const SetMockAppBalanceRequestValidate = (o?: SetMockAppBalanceRequest, opts: SetMockAppBalanceRequestOptions = {}, path: string = 'SetMockAppBalanceRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.user_id !== 'string') return new Error(`${path}.user_id: is not a string`) - if (opts.user_id_CustomCheck && !opts.user_id_CustomCheck(o.user_id)) return new Error(`${path}.user_id: custom check failed`) + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) return null } -export type NewInvoiceResponse = { +export type DecodeInvoiceRequest = { invoice: string } -export const NewInvoiceResponseOptionalFields: [] = [] -export type NewInvoiceResponseOptions = OptionsBaseMessage & { +export const DecodeInvoiceRequestOptionalFields: [] = [] +export type DecodeInvoiceRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] invoice_CustomCheck?: (v: string) => boolean } -export const NewInvoiceResponseValidate = (o?: NewInvoiceResponse, opts: NewInvoiceResponseOptions = {}, path: string = 'NewInvoiceResponse::root.'): Error | null => { +export const DecodeInvoiceRequestValidate = (o?: DecodeInvoiceRequest, opts: DecodeInvoiceRequestOptions = {}, path: string = 'DecodeInvoiceRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') @@ -682,36 +711,96 @@ export const NewInvoiceResponseValidate = (o?: NewInvoiceResponse, opts: NewInvo return null } -export type GetUserOperationsRequest = { - latestIncomingInvoice: number - latestOutgoingInvoice: number - latestIncomingTx: number - latestOutgoingTx: number - latestIncomingUserToUserPayment: number - latestOutgoingUserToUserPayment: number +export type DecodeInvoiceResponse = { + amount: number +} +export const DecodeInvoiceResponseOptionalFields: [] = [] +export type DecodeInvoiceResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + amount_CustomCheck?: (v: number) => boolean +} +export const DecodeInvoiceResponseValidate = (o?: DecodeInvoiceResponse, opts: DecodeInvoiceResponseOptions = {}, path: string = 'DecodeInvoiceResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + + return null +} + +export type UserInfo = { + service_fee_bps: number + network_max_fee_bps: number + network_max_fee_fixed: number + userId: string + balance: number + max_withdrawable: number + user_identifier: string +} +export const UserInfoOptionalFields: [] = [] +export type UserInfoOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + userId_CustomCheck?: (v: string) => boolean + balance_CustomCheck?: (v: number) => boolean + max_withdrawable_CustomCheck?: (v: number) => boolean + user_identifier_CustomCheck?: (v: string) => boolean + service_fee_bps_CustomCheck?: (v: number) => boolean + network_max_fee_bps_CustomCheck?: (v: number) => boolean + network_max_fee_fixed_CustomCheck?: (v: number) => boolean +} +export const UserInfoValidate = (o?: UserInfo, opts: UserInfoOptions = {}, path: string = 'UserInfo::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.network_max_fee_bps !== 'number') return new Error(`${path}.network_max_fee_bps: is not a number`) + if (opts.network_max_fee_bps_CustomCheck && !opts.network_max_fee_bps_CustomCheck(o.network_max_fee_bps)) return new Error(`${path}.network_max_fee_bps: custom check failed`) + + if (typeof o.network_max_fee_fixed !== 'number') return new Error(`${path}.network_max_fee_fixed: is not a number`) + if (opts.network_max_fee_fixed_CustomCheck && !opts.network_max_fee_fixed_CustomCheck(o.network_max_fee_fixed)) return new Error(`${path}.network_max_fee_fixed: custom check failed`) + + if (typeof o.userId !== 'string') return new Error(`${path}.userId: is not a string`) + if (opts.userId_CustomCheck && !opts.userId_CustomCheck(o.userId)) return new Error(`${path}.userId: custom check failed`) + + if (typeof o.balance !== 'number') return new Error(`${path}.balance: is not a number`) + if (opts.balance_CustomCheck && !opts.balance_CustomCheck(o.balance)) return new Error(`${path}.balance: custom check failed`) + + if (typeof o.max_withdrawable !== 'number') return new Error(`${path}.max_withdrawable: is not a number`) + if (opts.max_withdrawable_CustomCheck && !opts.max_withdrawable_CustomCheck(o.max_withdrawable)) return new Error(`${path}.max_withdrawable: custom check failed`) + + if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) + if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) + + if (typeof o.service_fee_bps !== 'number') return new Error(`${path}.service_fee_bps: is not a number`) + if (opts.service_fee_bps_CustomCheck && !opts.service_fee_bps_CustomCheck(o.service_fee_bps)) return new Error(`${path}.service_fee_bps: custom check failed`) + + return null +} + +export type GetUserOperationsRequest = { + latestIncomingTx: number + latestOutgoingTx: number + latestIncomingUserToUserPayment: number + latestOutgoingUserToUserPayment: number max_size: number + latestIncomingInvoice: number + latestOutgoingInvoice: number } export const GetUserOperationsRequestOptionalFields: [] = [] export type GetUserOperationsRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] + latestIncomingInvoice_CustomCheck?: (v: number) => boolean + latestOutgoingInvoice_CustomCheck?: (v: number) => boolean latestIncomingTx_CustomCheck?: (v: number) => boolean latestOutgoingTx_CustomCheck?: (v: number) => boolean latestIncomingUserToUserPayment_CustomCheck?: (v: number) => boolean latestOutgoingUserToUserPayment_CustomCheck?: (v: number) => boolean max_size_CustomCheck?: (v: number) => boolean - latestIncomingInvoice_CustomCheck?: (v: number) => boolean - latestOutgoingInvoice_CustomCheck?: (v: number) => boolean } export const GetUserOperationsRequestValidate = (o?: GetUserOperationsRequest, opts: GetUserOperationsRequestOptions = {}, path: string = 'GetUserOperationsRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.latestOutgoingUserToUserPayment !== 'number') return new Error(`${path}.latestOutgoingUserToUserPayment: is not a number`) - if (opts.latestOutgoingUserToUserPayment_CustomCheck && !opts.latestOutgoingUserToUserPayment_CustomCheck(o.latestOutgoingUserToUserPayment)) return new Error(`${path}.latestOutgoingUserToUserPayment: custom check failed`) - - if (typeof o.max_size !== 'number') return new Error(`${path}.max_size: is not a number`) - if (opts.max_size_CustomCheck && !opts.max_size_CustomCheck(o.max_size)) return new Error(`${path}.max_size: custom check failed`) - if (typeof o.latestIncomingInvoice !== 'number') return new Error(`${path}.latestIncomingInvoice: is not a number`) if (opts.latestIncomingInvoice_CustomCheck && !opts.latestIncomingInvoice_CustomCheck(o.latestIncomingInvoice)) return new Error(`${path}.latestIncomingInvoice: custom check failed`) @@ -727,88 +816,87 @@ export const GetUserOperationsRequestValidate = (o?: GetUserOperationsRequest, o if (typeof o.latestIncomingUserToUserPayment !== 'number') return new Error(`${path}.latestIncomingUserToUserPayment: is not a number`) if (opts.latestIncomingUserToUserPayment_CustomCheck && !opts.latestIncomingUserToUserPayment_CustomCheck(o.latestIncomingUserToUserPayment)) return new Error(`${path}.latestIncomingUserToUserPayment: custom check failed`) + if (typeof o.latestOutgoingUserToUserPayment !== 'number') return new Error(`${path}.latestOutgoingUserToUserPayment: is not a number`) + if (opts.latestOutgoingUserToUserPayment_CustomCheck && !opts.latestOutgoingUserToUserPayment_CustomCheck(o.latestOutgoingUserToUserPayment)) return new Error(`${path}.latestOutgoingUserToUserPayment: custom check failed`) + + if (typeof o.max_size !== 'number') return new Error(`${path}.max_size: is not a number`) + if (opts.max_size_CustomCheck && !opts.max_size_CustomCheck(o.max_size)) return new Error(`${path}.max_size: custom check failed`) + return null } -export type LndNodeMetrics = { - offline_channels: number - channel_routing: ChannelRouting[] - channels_balance_events: ChannelBalanceEvent[] - online_channels: number - pending_channels: number - closing_channels: number - open_channels: OpenChannel[] - closed_channels: ClosedChannel[] - chain_balance_events: ChainBalanceEvent[] +export type MigrationUpdate = { + closure?: ClosureMigration + relays?: RelaysMigration } -export const LndNodeMetricsOptionalFields: [] = [] -export type LndNodeMetricsOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - channel_routing_ItemOptions?: ChannelRoutingOptions - channel_routing_CustomCheck?: (v: ChannelRouting[]) => boolean - channels_balance_events_ItemOptions?: ChannelBalanceEventOptions - channels_balance_events_CustomCheck?: (v: ChannelBalanceEvent[]) => boolean - offline_channels_CustomCheck?: (v: number) => boolean - pending_channels_CustomCheck?: (v: number) => boolean - closing_channels_CustomCheck?: (v: number) => boolean - open_channels_ItemOptions?: OpenChannelOptions - open_channels_CustomCheck?: (v: OpenChannel[]) => boolean - closed_channels_ItemOptions?: ClosedChannelOptions - closed_channels_CustomCheck?: (v: ClosedChannel[]) => boolean - chain_balance_events_ItemOptions?: ChainBalanceEventOptions - chain_balance_events_CustomCheck?: (v: ChainBalanceEvent[]) => boolean - online_channels_CustomCheck?: (v: number) => boolean +export type MigrationUpdateOptionalField = 'closure' | 'relays' +export const MigrationUpdateOptionalFields: MigrationUpdateOptionalField[] = ['closure', 'relays'] +export type MigrationUpdateOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: MigrationUpdateOptionalField[] + closure_Options?: ClosureMigrationOptions + relays_Options?: RelaysMigrationOptions } -export const LndNodeMetricsValidate = (o?: LndNodeMetrics, opts: LndNodeMetricsOptions = {}, path: string = 'LndNodeMetrics::root.'): Error | null => { +export const MigrationUpdateValidate = (o?: MigrationUpdate, opts: MigrationUpdateOptions = {}, path: string = 'MigrationUpdate::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (!Array.isArray(o.closed_channels)) return new Error(`${path}.closed_channels: is not an array`) - for (let index = 0; index < o.closed_channels.length; index++) { - const closed_channelsErr = ClosedChannelValidate(o.closed_channels[index], opts.closed_channels_ItemOptions, `${path}.closed_channels[${index}]`) - if (closed_channelsErr !== null) return closed_channelsErr + if (typeof o.closure === 'object' || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('closure')) { + const closureErr = ClosureMigrationValidate(o.closure, opts.closure_Options, `${path}.closure`) + if (closureErr !== null) return closureErr } - if (opts.closed_channels_CustomCheck && !opts.closed_channels_CustomCheck(o.closed_channels)) return new Error(`${path}.closed_channels: custom check failed`) + - if (!Array.isArray(o.chain_balance_events)) return new Error(`${path}.chain_balance_events: is not an array`) - for (let index = 0; index < o.chain_balance_events.length; index++) { - const chain_balance_eventsErr = ChainBalanceEventValidate(o.chain_balance_events[index], opts.chain_balance_events_ItemOptions, `${path}.chain_balance_events[${index}]`) - if (chain_balance_eventsErr !== null) return chain_balance_eventsErr + if (typeof o.relays === 'object' || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('relays')) { + const relaysErr = RelaysMigrationValidate(o.relays, opts.relays_Options, `${path}.relays`) + if (relaysErr !== null) return relaysErr } - if (opts.chain_balance_events_CustomCheck && !opts.chain_balance_events_CustomCheck(o.chain_balance_events)) return new Error(`${path}.chain_balance_events: custom check failed`) + - if (typeof o.online_channels !== 'number') return new Error(`${path}.online_channels: is not a number`) - if (opts.online_channels_CustomCheck && !opts.online_channels_CustomCheck(o.online_channels)) return new Error(`${path}.online_channels: custom check failed`) + return null +} - if (typeof o.pending_channels !== 'number') return new Error(`${path}.pending_channels: is not a number`) - if (opts.pending_channels_CustomCheck && !opts.pending_channels_CustomCheck(o.pending_channels)) return new Error(`${path}.pending_channels: custom check failed`) +export type EncryptionExchangeRequest = { + publicKey: string + deviceId: string +} +export const EncryptionExchangeRequestOptionalFields: [] = [] +export type EncryptionExchangeRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + publicKey_CustomCheck?: (v: string) => boolean + deviceId_CustomCheck?: (v: string) => boolean +} +export const EncryptionExchangeRequestValidate = (o?: EncryptionExchangeRequest, opts: EncryptionExchangeRequestOptions = {}, path: string = 'EncryptionExchangeRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.closing_channels !== 'number') return new Error(`${path}.closing_channels: is not a number`) - if (opts.closing_channels_CustomCheck && !opts.closing_channels_CustomCheck(o.closing_channels)) return new Error(`${path}.closing_channels: custom check failed`) + if (typeof o.deviceId !== 'string') return new Error(`${path}.deviceId: is not a string`) + if (opts.deviceId_CustomCheck && !opts.deviceId_CustomCheck(o.deviceId)) return new Error(`${path}.deviceId: custom check failed`) - if (!Array.isArray(o.open_channels)) return new Error(`${path}.open_channels: is not an array`) - for (let index = 0; index < o.open_channels.length; index++) { - const open_channelsErr = OpenChannelValidate(o.open_channels[index], opts.open_channels_ItemOptions, `${path}.open_channels[${index}]`) - if (open_channelsErr !== null) return open_channelsErr - } - if (opts.open_channels_CustomCheck && !opts.open_channels_CustomCheck(o.open_channels)) return new Error(`${path}.open_channels: custom check failed`) + if (typeof o.publicKey !== 'string') return new Error(`${path}.publicKey: is not a string`) + if (opts.publicKey_CustomCheck && !opts.publicKey_CustomCheck(o.publicKey)) return new Error(`${path}.publicKey: custom check failed`) - if (!Array.isArray(o.channels_balance_events)) return new Error(`${path}.channels_balance_events: is not an array`) - for (let index = 0; index < o.channels_balance_events.length; index++) { - const channels_balance_eventsErr = ChannelBalanceEventValidate(o.channels_balance_events[index], opts.channels_balance_events_ItemOptions, `${path}.channels_balance_events[${index}]`) - if (channels_balance_eventsErr !== null) return channels_balance_eventsErr - } - if (opts.channels_balance_events_CustomCheck && !opts.channels_balance_events_CustomCheck(o.channels_balance_events)) return new Error(`${path}.channels_balance_events: custom check failed`) + return null +} - if (typeof o.offline_channels !== 'number') return new Error(`${path}.offline_channels: is not a number`) - if (opts.offline_channels_CustomCheck && !opts.offline_channels_CustomCheck(o.offline_channels)) return new Error(`${path}.offline_channels: custom check failed`) +export type SendAppUserToAppPaymentRequest = { + amount: number + from_user_identifier: string +} +export const SendAppUserToAppPaymentRequestOptionalFields: [] = [] +export type SendAppUserToAppPaymentRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + from_user_identifier_CustomCheck?: (v: string) => boolean + amount_CustomCheck?: (v: number) => boolean +} +export const SendAppUserToAppPaymentRequestValidate = (o?: SendAppUserToAppPaymentRequest, opts: SendAppUserToAppPaymentRequestOptions = {}, path: string = 'SendAppUserToAppPaymentRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (!Array.isArray(o.channel_routing)) return new Error(`${path}.channel_routing: is not an array`) - for (let index = 0; index < o.channel_routing.length; index++) { - const channel_routingErr = ChannelRoutingValidate(o.channel_routing[index], opts.channel_routing_ItemOptions, `${path}.channel_routing[${index}]`) - if (channel_routingErr !== null) return channel_routingErr - } - if (opts.channel_routing_CustomCheck && !opts.channel_routing_CustomCheck(o.channel_routing)) return new Error(`${path}.channel_routing: custom check failed`) + if (typeof o.from_user_identifier !== 'string') return new Error(`${path}.from_user_identifier: is not a string`) + if (opts.from_user_identifier_CustomCheck && !opts.from_user_identifier_CustomCheck(o.from_user_identifier)) return new Error(`${path}.from_user_identifier: custom check failed`) + + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) return null } @@ -831,423 +919,221 @@ export const NewAddressResponseValidate = (o?: NewAddressResponse, opts: NewAddr return null } -export type Product = { - name: string - price_sats: number - id: string +export type NewInvoiceResponse = { + invoice: string } -export const ProductOptionalFields: [] = [] -export type ProductOptions = OptionsBaseMessage & { +export const NewInvoiceResponseOptionalFields: [] = [] +export type NewInvoiceResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - name_CustomCheck?: (v: string) => boolean - price_sats_CustomCheck?: (v: number) => boolean - id_CustomCheck?: (v: string) => boolean + invoice_CustomCheck?: (v: string) => boolean } -export const ProductValidate = (o?: Product, opts: ProductOptions = {}, path: string = 'Product::root.'): Error | null => { +export const NewInvoiceResponseValidate = (o?: NewInvoiceResponse, opts: NewInvoiceResponseOptions = {}, path: string = 'NewInvoiceResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.id !== 'string') return new Error(`${path}.id: is not a string`) - if (opts.id_CustomCheck && !opts.id_CustomCheck(o.id)) return new Error(`${path}.id: custom check failed`) - - if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) - if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) - - if (typeof o.price_sats !== 'number') return new Error(`${path}.price_sats: is not a number`) - if (opts.price_sats_CustomCheck && !opts.price_sats_CustomCheck(o.price_sats)) return new Error(`${path}.price_sats: custom check failed`) + if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) + if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) return null } -export type RequestNPubLinkingTokenRequest = { - user_identifier: string +export type PayInvoiceResponse = { + preimage: string + amount_paid: number + operation_id: string + service_fee: number + network_fee: number } -export const RequestNPubLinkingTokenRequestOptionalFields: [] = [] -export type RequestNPubLinkingTokenRequestOptions = OptionsBaseMessage & { +export const PayInvoiceResponseOptionalFields: [] = [] +export type PayInvoiceResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - user_identifier_CustomCheck?: (v: string) => boolean + service_fee_CustomCheck?: (v: number) => boolean + network_fee_CustomCheck?: (v: number) => boolean + preimage_CustomCheck?: (v: string) => boolean + amount_paid_CustomCheck?: (v: number) => boolean + operation_id_CustomCheck?: (v: string) => boolean } -export const RequestNPubLinkingTokenRequestValidate = (o?: RequestNPubLinkingTokenRequest, opts: RequestNPubLinkingTokenRequestOptions = {}, path: string = 'RequestNPubLinkingTokenRequest::root.'): Error | null => { +export const PayInvoiceResponseValidate = (o?: PayInvoiceResponse, opts: PayInvoiceResponseOptions = {}, path: string = 'PayInvoiceResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) - if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) - - return null -} - -export type AppMetrics = { - total_fees: number - app: Application - received: number - fees: number - invoices: number - operations: UserOperation[] - users: UsersInfo - spent: number - available: number -} -export const AppMetricsOptionalFields: [] = [] -export type AppMetricsOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - app_Options?: ApplicationOptions - received_CustomCheck?: (v: number) => boolean - fees_CustomCheck?: (v: number) => boolean - total_fees_CustomCheck?: (v: number) => boolean - users_Options?: UsersInfoOptions - spent_CustomCheck?: (v: number) => boolean - available_CustomCheck?: (v: number) => boolean - invoices_CustomCheck?: (v: number) => boolean - operations_ItemOptions?: UserOperationOptions - operations_CustomCheck?: (v: UserOperation[]) => boolean -} -export const AppMetricsValidate = (o?: AppMetrics, opts: AppMetricsOptions = {}, path: string = 'AppMetrics::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - const appErr = ApplicationValidate(o.app, opts.app_Options, `${path}.app`) - if (appErr !== null) return appErr - - - if (typeof o.received !== 'number') return new Error(`${path}.received: is not a number`) - if (opts.received_CustomCheck && !opts.received_CustomCheck(o.received)) return new Error(`${path}.received: custom check failed`) - - if (typeof o.fees !== 'number') return new Error(`${path}.fees: is not a number`) - if (opts.fees_CustomCheck && !opts.fees_CustomCheck(o.fees)) return new Error(`${path}.fees: custom check failed`) - - if (typeof o.total_fees !== 'number') return new Error(`${path}.total_fees: is not a number`) - if (opts.total_fees_CustomCheck && !opts.total_fees_CustomCheck(o.total_fees)) return new Error(`${path}.total_fees: custom check failed`) - - const usersErr = UsersInfoValidate(o.users, opts.users_Options, `${path}.users`) - if (usersErr !== null) return usersErr - - - if (typeof o.spent !== 'number') return new Error(`${path}.spent: is not a number`) - if (opts.spent_CustomCheck && !opts.spent_CustomCheck(o.spent)) return new Error(`${path}.spent: custom check failed`) - - if (typeof o.available !== 'number') return new Error(`${path}.available: is not a number`) - if (opts.available_CustomCheck && !opts.available_CustomCheck(o.available)) return new Error(`${path}.available: custom check failed`) - - if (typeof o.invoices !== 'number') return new Error(`${path}.invoices: is not a number`) - if (opts.invoices_CustomCheck && !opts.invoices_CustomCheck(o.invoices)) return new Error(`${path}.invoices: custom check failed`) - - if (!Array.isArray(o.operations)) return new Error(`${path}.operations: is not an array`) - for (let index = 0; index < o.operations.length; index++) { - const operationsErr = UserOperationValidate(o.operations[index], opts.operations_ItemOptions, `${path}.operations[${index}]`) - if (operationsErr !== null) return operationsErr - } - if (opts.operations_CustomCheck && !opts.operations_CustomCheck(o.operations)) return new Error(`${path}.operations: custom check failed`) - - return null -} - -export type ChannelRouting = { - send_errors: number - forward_errors_as_input: number - missed_forward_fee_as_output: number - forward_fee_as_input: number - channel_id: string - receive_errors: number - forward_errors_as_output: number - missed_forward_fee_as_input: number - forward_fee_as_output: number - events_number: number -} -export const ChannelRoutingOptionalFields: [] = [] -export type ChannelRoutingOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - missed_forward_fee_as_input_CustomCheck?: (v: number) => boolean - forward_fee_as_output_CustomCheck?: (v: number) => boolean - events_number_CustomCheck?: (v: number) => boolean - channel_id_CustomCheck?: (v: string) => boolean - receive_errors_CustomCheck?: (v: number) => boolean - forward_errors_as_output_CustomCheck?: (v: number) => boolean - forward_fee_as_input_CustomCheck?: (v: number) => boolean - send_errors_CustomCheck?: (v: number) => boolean - forward_errors_as_input_CustomCheck?: (v: number) => boolean - missed_forward_fee_as_output_CustomCheck?: (v: number) => boolean -} -export const ChannelRoutingValidate = (o?: ChannelRouting, opts: ChannelRoutingOptions = {}, path: string = 'ChannelRouting::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - if (typeof o.missed_forward_fee_as_input !== 'number') return new Error(`${path}.missed_forward_fee_as_input: is not a number`) - if (opts.missed_forward_fee_as_input_CustomCheck && !opts.missed_forward_fee_as_input_CustomCheck(o.missed_forward_fee_as_input)) return new Error(`${path}.missed_forward_fee_as_input: custom check failed`) - - if (typeof o.forward_fee_as_output !== 'number') return new Error(`${path}.forward_fee_as_output: is not a number`) - if (opts.forward_fee_as_output_CustomCheck && !opts.forward_fee_as_output_CustomCheck(o.forward_fee_as_output)) return new Error(`${path}.forward_fee_as_output: custom check failed`) - - if (typeof o.events_number !== 'number') return new Error(`${path}.events_number: is not a number`) - if (opts.events_number_CustomCheck && !opts.events_number_CustomCheck(o.events_number)) return new Error(`${path}.events_number: custom check failed`) - - if (typeof o.channel_id !== 'string') return new Error(`${path}.channel_id: is not a string`) - if (opts.channel_id_CustomCheck && !opts.channel_id_CustomCheck(o.channel_id)) return new Error(`${path}.channel_id: custom check failed`) - - if (typeof o.receive_errors !== 'number') return new Error(`${path}.receive_errors: is not a number`) - if (opts.receive_errors_CustomCheck && !opts.receive_errors_CustomCheck(o.receive_errors)) return new Error(`${path}.receive_errors: custom check failed`) - - if (typeof o.forward_errors_as_output !== 'number') return new Error(`${path}.forward_errors_as_output: is not a number`) - if (opts.forward_errors_as_output_CustomCheck && !opts.forward_errors_as_output_CustomCheck(o.forward_errors_as_output)) return new Error(`${path}.forward_errors_as_output: custom check failed`) - - if (typeof o.forward_fee_as_input !== 'number') return new Error(`${path}.forward_fee_as_input: is not a number`) - if (opts.forward_fee_as_input_CustomCheck && !opts.forward_fee_as_input_CustomCheck(o.forward_fee_as_input)) return new Error(`${path}.forward_fee_as_input: custom check failed`) - - if (typeof o.send_errors !== 'number') return new Error(`${path}.send_errors: is not a number`) - if (opts.send_errors_CustomCheck && !opts.send_errors_CustomCheck(o.send_errors)) return new Error(`${path}.send_errors: custom check failed`) - - if (typeof o.forward_errors_as_input !== 'number') return new Error(`${path}.forward_errors_as_input: is not a number`) - if (opts.forward_errors_as_input_CustomCheck && !opts.forward_errors_as_input_CustomCheck(o.forward_errors_as_input)) return new Error(`${path}.forward_errors_as_input: custom check failed`) - - if (typeof o.missed_forward_fee_as_output !== 'number') return new Error(`${path}.missed_forward_fee_as_output: is not a number`) - if (opts.missed_forward_fee_as_output_CustomCheck && !opts.missed_forward_fee_as_output_CustomCheck(o.missed_forward_fee_as_output)) return new Error(`${path}.missed_forward_fee_as_output: custom check failed`) - - return null -} - -export type OpenChannelRequest = { - closeAddress: string - destination: string - fundingAmount: number - pushAmount: number -} -export const OpenChannelRequestOptionalFields: [] = [] -export type OpenChannelRequestOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - destination_CustomCheck?: (v: string) => boolean - fundingAmount_CustomCheck?: (v: number) => boolean - pushAmount_CustomCheck?: (v: number) => boolean - closeAddress_CustomCheck?: (v: string) => boolean -} -export const OpenChannelRequestValidate = (o?: OpenChannelRequest, opts: OpenChannelRequestOptions = {}, path: string = 'OpenChannelRequest::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + if (typeof o.preimage !== 'string') return new Error(`${path}.preimage: is not a string`) + if (opts.preimage_CustomCheck && !opts.preimage_CustomCheck(o.preimage)) return new Error(`${path}.preimage: custom check failed`) - if (typeof o.destination !== 'string') return new Error(`${path}.destination: is not a string`) - if (opts.destination_CustomCheck && !opts.destination_CustomCheck(o.destination)) return new Error(`${path}.destination: custom check failed`) + if (typeof o.amount_paid !== 'number') return new Error(`${path}.amount_paid: is not a number`) + if (opts.amount_paid_CustomCheck && !opts.amount_paid_CustomCheck(o.amount_paid)) return new Error(`${path}.amount_paid: custom check failed`) - if (typeof o.fundingAmount !== 'number') return new Error(`${path}.fundingAmount: is not a number`) - if (opts.fundingAmount_CustomCheck && !opts.fundingAmount_CustomCheck(o.fundingAmount)) return new Error(`${path}.fundingAmount: custom check failed`) + if (typeof o.operation_id !== 'string') return new Error(`${path}.operation_id: is not a string`) + if (opts.operation_id_CustomCheck && !opts.operation_id_CustomCheck(o.operation_id)) return new Error(`${path}.operation_id: custom check failed`) - if (typeof o.pushAmount !== 'number') return new Error(`${path}.pushAmount: is not a number`) - if (opts.pushAmount_CustomCheck && !opts.pushAmount_CustomCheck(o.pushAmount)) return new Error(`${path}.pushAmount: custom check failed`) + if (typeof o.service_fee !== 'number') return new Error(`${path}.service_fee: is not a number`) + if (opts.service_fee_CustomCheck && !opts.service_fee_CustomCheck(o.service_fee)) return new Error(`${path}.service_fee: custom check failed`) - if (typeof o.closeAddress !== 'string') return new Error(`${path}.closeAddress: is not a string`) - if (opts.closeAddress_CustomCheck && !opts.closeAddress_CustomCheck(o.closeAddress)) return new Error(`${path}.closeAddress: custom check failed`) + if (typeof o.network_fee !== 'number') return new Error(`${path}.network_fee: is not a number`) + if (opts.network_fee_CustomCheck && !opts.network_fee_CustomCheck(o.network_fee)) return new Error(`${path}.network_fee: custom check failed`) return null } -export type UserInfo = { - userId: string - balance: number - max_withdrawable: number - user_identifier: string - service_fee_bps: number - network_max_fee_bps: number - network_max_fee_fixed: number +export type PaymentState = { + paid_at_unix: number + amount: number + service_fee: number + network_fee: number } -export const UserInfoOptionalFields: [] = [] -export type UserInfoOptions = OptionsBaseMessage & { +export const PaymentStateOptionalFields: [] = [] +export type PaymentStateOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - user_identifier_CustomCheck?: (v: string) => boolean - service_fee_bps_CustomCheck?: (v: number) => boolean - network_max_fee_bps_CustomCheck?: (v: number) => boolean - network_max_fee_fixed_CustomCheck?: (v: number) => boolean - userId_CustomCheck?: (v: string) => boolean - balance_CustomCheck?: (v: number) => boolean - max_withdrawable_CustomCheck?: (v: number) => boolean + paid_at_unix_CustomCheck?: (v: number) => boolean + amount_CustomCheck?: (v: number) => boolean + service_fee_CustomCheck?: (v: number) => boolean + network_fee_CustomCheck?: (v: number) => boolean } -export const UserInfoValidate = (o?: UserInfo, opts: UserInfoOptions = {}, path: string = 'UserInfo::root.'): Error | null => { +export const PaymentStateValidate = (o?: PaymentState, opts: PaymentStateOptions = {}, path: string = 'PaymentState::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.service_fee_bps !== 'number') return new Error(`${path}.service_fee_bps: is not a number`) - if (opts.service_fee_bps_CustomCheck && !opts.service_fee_bps_CustomCheck(o.service_fee_bps)) return new Error(`${path}.service_fee_bps: custom check failed`) - - if (typeof o.network_max_fee_bps !== 'number') return new Error(`${path}.network_max_fee_bps: is not a number`) - if (opts.network_max_fee_bps_CustomCheck && !opts.network_max_fee_bps_CustomCheck(o.network_max_fee_bps)) return new Error(`${path}.network_max_fee_bps: custom check failed`) - - if (typeof o.network_max_fee_fixed !== 'number') return new Error(`${path}.network_max_fee_fixed: is not a number`) - if (opts.network_max_fee_fixed_CustomCheck && !opts.network_max_fee_fixed_CustomCheck(o.network_max_fee_fixed)) return new Error(`${path}.network_max_fee_fixed: custom check failed`) - - if (typeof o.userId !== 'string') return new Error(`${path}.userId: is not a string`) - if (opts.userId_CustomCheck && !opts.userId_CustomCheck(o.userId)) return new Error(`${path}.userId: custom check failed`) + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) - if (typeof o.balance !== 'number') return new Error(`${path}.balance: is not a number`) - if (opts.balance_CustomCheck && !opts.balance_CustomCheck(o.balance)) return new Error(`${path}.balance: custom check failed`) + if (typeof o.service_fee !== 'number') return new Error(`${path}.service_fee: is not a number`) + if (opts.service_fee_CustomCheck && !opts.service_fee_CustomCheck(o.service_fee)) return new Error(`${path}.service_fee: custom check failed`) - if (typeof o.max_withdrawable !== 'number') return new Error(`${path}.max_withdrawable: is not a number`) - if (opts.max_withdrawable_CustomCheck && !opts.max_withdrawable_CustomCheck(o.max_withdrawable)) return new Error(`${path}.max_withdrawable: custom check failed`) + if (typeof o.network_fee !== 'number') return new Error(`${path}.network_fee: is not a number`) + if (opts.network_fee_CustomCheck && !opts.network_fee_CustomCheck(o.network_fee)) return new Error(`${path}.network_fee: custom check failed`) - if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) - if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) + if (typeof o.paid_at_unix !== 'number') return new Error(`${path}.paid_at_unix: is not a number`) + if (opts.paid_at_unix_CustomCheck && !opts.paid_at_unix_CustomCheck(o.paid_at_unix)) return new Error(`${path}.paid_at_unix: custom check failed`) return null } -export type LnurlWithdrawInfoResponse = { - k1: string - defaultDescription: string - minWithdrawable: number - maxWithdrawable: number - balanceCheck: string - payLink: string - tag: string - callback: string +export type UsersInfo = { + balance_avg: number + balance_median: number + total: number + no_balance: number + negative_balance: number + always_been_inactive: number } -export const LnurlWithdrawInfoResponseOptionalFields: [] = [] -export type LnurlWithdrawInfoResponseOptions = OptionsBaseMessage & { +export const UsersInfoOptionalFields: [] = [] +export type UsersInfoOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - callback_CustomCheck?: (v: string) => boolean - k1_CustomCheck?: (v: string) => boolean - defaultDescription_CustomCheck?: (v: string) => boolean - minWithdrawable_CustomCheck?: (v: number) => boolean - maxWithdrawable_CustomCheck?: (v: number) => boolean - balanceCheck_CustomCheck?: (v: string) => boolean - payLink_CustomCheck?: (v: string) => boolean - tag_CustomCheck?: (v: string) => boolean + total_CustomCheck?: (v: number) => boolean + no_balance_CustomCheck?: (v: number) => boolean + negative_balance_CustomCheck?: (v: number) => boolean + always_been_inactive_CustomCheck?: (v: number) => boolean + balance_avg_CustomCheck?: (v: number) => boolean + balance_median_CustomCheck?: (v: number) => boolean } -export const LnurlWithdrawInfoResponseValidate = (o?: LnurlWithdrawInfoResponse, opts: LnurlWithdrawInfoResponseOptions = {}, path: string = 'LnurlWithdrawInfoResponse::root.'): Error | null => { +export const UsersInfoValidate = (o?: UsersInfo, opts: UsersInfoOptions = {}, path: string = 'UsersInfo::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.callback !== 'string') return new Error(`${path}.callback: is not a string`) - if (opts.callback_CustomCheck && !opts.callback_CustomCheck(o.callback)) return new Error(`${path}.callback: custom check failed`) - - if (typeof o.k1 !== 'string') return new Error(`${path}.k1: is not a string`) - if (opts.k1_CustomCheck && !opts.k1_CustomCheck(o.k1)) return new Error(`${path}.k1: custom check failed`) - - if (typeof o.defaultDescription !== 'string') return new Error(`${path}.defaultDescription: is not a string`) - if (opts.defaultDescription_CustomCheck && !opts.defaultDescription_CustomCheck(o.defaultDescription)) return new Error(`${path}.defaultDescription: custom check failed`) + if (typeof o.total !== 'number') return new Error(`${path}.total: is not a number`) + if (opts.total_CustomCheck && !opts.total_CustomCheck(o.total)) return new Error(`${path}.total: custom check failed`) - if (typeof o.minWithdrawable !== 'number') return new Error(`${path}.minWithdrawable: is not a number`) - if (opts.minWithdrawable_CustomCheck && !opts.minWithdrawable_CustomCheck(o.minWithdrawable)) return new Error(`${path}.minWithdrawable: custom check failed`) + if (typeof o.no_balance !== 'number') return new Error(`${path}.no_balance: is not a number`) + if (opts.no_balance_CustomCheck && !opts.no_balance_CustomCheck(o.no_balance)) return new Error(`${path}.no_balance: custom check failed`) - if (typeof o.maxWithdrawable !== 'number') return new Error(`${path}.maxWithdrawable: is not a number`) - if (opts.maxWithdrawable_CustomCheck && !opts.maxWithdrawable_CustomCheck(o.maxWithdrawable)) return new Error(`${path}.maxWithdrawable: custom check failed`) + if (typeof o.negative_balance !== 'number') return new Error(`${path}.negative_balance: is not a number`) + if (opts.negative_balance_CustomCheck && !opts.negative_balance_CustomCheck(o.negative_balance)) return new Error(`${path}.negative_balance: custom check failed`) - if (typeof o.balanceCheck !== 'string') return new Error(`${path}.balanceCheck: is not a string`) - if (opts.balanceCheck_CustomCheck && !opts.balanceCheck_CustomCheck(o.balanceCheck)) return new Error(`${path}.balanceCheck: custom check failed`) + if (typeof o.always_been_inactive !== 'number') return new Error(`${path}.always_been_inactive: is not a number`) + if (opts.always_been_inactive_CustomCheck && !opts.always_been_inactive_CustomCheck(o.always_been_inactive)) return new Error(`${path}.always_been_inactive: custom check failed`) - if (typeof o.payLink !== 'string') return new Error(`${path}.payLink: is not a string`) - if (opts.payLink_CustomCheck && !opts.payLink_CustomCheck(o.payLink)) return new Error(`${path}.payLink: custom check failed`) + if (typeof o.balance_avg !== 'number') return new Error(`${path}.balance_avg: is not a number`) + if (opts.balance_avg_CustomCheck && !opts.balance_avg_CustomCheck(o.balance_avg)) return new Error(`${path}.balance_avg: custom check failed`) - if (typeof o.tag !== 'string') return new Error(`${path}.tag: is not a string`) - if (opts.tag_CustomCheck && !opts.tag_CustomCheck(o.tag)) return new Error(`${path}.tag: custom check failed`) + if (typeof o.balance_median !== 'number') return new Error(`${path}.balance_median: is not a number`) + if (opts.balance_median_CustomCheck && !opts.balance_median_CustomCheck(o.balance_median)) return new Error(`${path}.balance_median: custom check failed`) return null } -export type UserOperation = { - paidAtUnix: number - type: UserOperationType - inbound: boolean - identifier: string - operationId: string - network_fee: number - tx_hash: string - amount: number - service_fee: number - confirmed: boolean - internal: boolean +export type RoutingEvent = { + outgoing_channel_id: number + settled: boolean + incoming_channel_id: number + incoming_htlc_id: number + event_type: string + incoming_amt_msat: number + outgoing_amt_msat: number + failure_string: string + offchain: boolean + forward_fail_event: boolean + outgoing_htlc_id: number + timestamp_ns: number } -export const UserOperationOptionalFields: [] = [] -export type UserOperationOptions = OptionsBaseMessage & { +export const RoutingEventOptionalFields: [] = [] +export type RoutingEventOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - type_CustomCheck?: (v: UserOperationType) => boolean - inbound_CustomCheck?: (v: boolean) => boolean - identifier_CustomCheck?: (v: string) => boolean - operationId_CustomCheck?: (v: string) => boolean - network_fee_CustomCheck?: (v: number) => boolean - tx_hash_CustomCheck?: (v: string) => boolean - paidAtUnix_CustomCheck?: (v: number) => boolean - service_fee_CustomCheck?: (v: number) => boolean - confirmed_CustomCheck?: (v: boolean) => boolean - internal_CustomCheck?: (v: boolean) => boolean - amount_CustomCheck?: (v: number) => boolean + outgoing_channel_id_CustomCheck?: (v: number) => boolean + settled_CustomCheck?: (v: boolean) => boolean + incoming_channel_id_CustomCheck?: (v: number) => boolean + incoming_htlc_id_CustomCheck?: (v: number) => boolean + event_type_CustomCheck?: (v: string) => boolean + incoming_amt_msat_CustomCheck?: (v: number) => boolean + outgoing_amt_msat_CustomCheck?: (v: number) => boolean + failure_string_CustomCheck?: (v: string) => boolean + offchain_CustomCheck?: (v: boolean) => boolean + forward_fail_event_CustomCheck?: (v: boolean) => boolean + outgoing_htlc_id_CustomCheck?: (v: number) => boolean + timestamp_ns_CustomCheck?: (v: number) => boolean } -export const UserOperationValidate = (o?: UserOperation, opts: UserOperationOptions = {}, path: string = 'UserOperation::root.'): Error | null => { +export const RoutingEventValidate = (o?: RoutingEvent, opts: RoutingEventOptions = {}, path: string = 'RoutingEvent::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.internal !== 'boolean') return new Error(`${path}.internal: is not a boolean`) - if (opts.internal_CustomCheck && !opts.internal_CustomCheck(o.internal)) return new Error(`${path}.internal: custom check failed`) - - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) - - if (typeof o.service_fee !== 'number') return new Error(`${path}.service_fee: is not a number`) - if (opts.service_fee_CustomCheck && !opts.service_fee_CustomCheck(o.service_fee)) return new Error(`${path}.service_fee: custom check failed`) - - if (typeof o.confirmed !== 'boolean') return new Error(`${path}.confirmed: is not a boolean`) - if (opts.confirmed_CustomCheck && !opts.confirmed_CustomCheck(o.confirmed)) return new Error(`${path}.confirmed: custom check failed`) + if (typeof o.incoming_channel_id !== 'number') return new Error(`${path}.incoming_channel_id: is not a number`) + if (opts.incoming_channel_id_CustomCheck && !opts.incoming_channel_id_CustomCheck(o.incoming_channel_id)) return new Error(`${path}.incoming_channel_id: custom check failed`) - if (typeof o.identifier !== 'string') return new Error(`${path}.identifier: is not a string`) - if (opts.identifier_CustomCheck && !opts.identifier_CustomCheck(o.identifier)) return new Error(`${path}.identifier: custom check failed`) + if (typeof o.incoming_htlc_id !== 'number') return new Error(`${path}.incoming_htlc_id: is not a number`) + if (opts.incoming_htlc_id_CustomCheck && !opts.incoming_htlc_id_CustomCheck(o.incoming_htlc_id)) return new Error(`${path}.incoming_htlc_id: custom check failed`) - if (typeof o.operationId !== 'string') return new Error(`${path}.operationId: is not a string`) - if (opts.operationId_CustomCheck && !opts.operationId_CustomCheck(o.operationId)) return new Error(`${path}.operationId: custom check failed`) + if (typeof o.outgoing_channel_id !== 'number') return new Error(`${path}.outgoing_channel_id: is not a number`) + if (opts.outgoing_channel_id_CustomCheck && !opts.outgoing_channel_id_CustomCheck(o.outgoing_channel_id)) return new Error(`${path}.outgoing_channel_id: custom check failed`) - if (typeof o.network_fee !== 'number') return new Error(`${path}.network_fee: is not a number`) - if (opts.network_fee_CustomCheck && !opts.network_fee_CustomCheck(o.network_fee)) return new Error(`${path}.network_fee: custom check failed`) + if (typeof o.settled !== 'boolean') return new Error(`${path}.settled: is not a boolean`) + if (opts.settled_CustomCheck && !opts.settled_CustomCheck(o.settled)) return new Error(`${path}.settled: custom check failed`) - if (typeof o.tx_hash !== 'string') return new Error(`${path}.tx_hash: is not a string`) - if (opts.tx_hash_CustomCheck && !opts.tx_hash_CustomCheck(o.tx_hash)) return new Error(`${path}.tx_hash: custom check failed`) + if (typeof o.offchain !== 'boolean') return new Error(`${path}.offchain: is not a boolean`) + if (opts.offchain_CustomCheck && !opts.offchain_CustomCheck(o.offchain)) return new Error(`${path}.offchain: custom check failed`) - if (typeof o.paidAtUnix !== 'number') return new Error(`${path}.paidAtUnix: is not a number`) - if (opts.paidAtUnix_CustomCheck && !opts.paidAtUnix_CustomCheck(o.paidAtUnix)) return new Error(`${path}.paidAtUnix: custom check failed`) + if (typeof o.forward_fail_event !== 'boolean') return new Error(`${path}.forward_fail_event: is not a boolean`) + if (opts.forward_fail_event_CustomCheck && !opts.forward_fail_event_CustomCheck(o.forward_fail_event)) return new Error(`${path}.forward_fail_event: custom check failed`) - if (!enumCheckUserOperationType(o.type)) return new Error(`${path}.type: is not a valid UserOperationType`) - if (opts.type_CustomCheck && !opts.type_CustomCheck(o.type)) return new Error(`${path}.type: custom check failed`) + if (typeof o.outgoing_htlc_id !== 'number') return new Error(`${path}.outgoing_htlc_id: is not a number`) + if (opts.outgoing_htlc_id_CustomCheck && !opts.outgoing_htlc_id_CustomCheck(o.outgoing_htlc_id)) return new Error(`${path}.outgoing_htlc_id: custom check failed`) - if (typeof o.inbound !== 'boolean') return new Error(`${path}.inbound: is not a boolean`) - if (opts.inbound_CustomCheck && !opts.inbound_CustomCheck(o.inbound)) return new Error(`${path}.inbound: custom check failed`) + if (typeof o.timestamp_ns !== 'number') return new Error(`${path}.timestamp_ns: is not a number`) + if (opts.timestamp_ns_CustomCheck && !opts.timestamp_ns_CustomCheck(o.timestamp_ns)) return new Error(`${path}.timestamp_ns: custom check failed`) - return null -} + if (typeof o.event_type !== 'string') return new Error(`${path}.event_type: is not a string`) + if (opts.event_type_CustomCheck && !opts.event_type_CustomCheck(o.event_type)) return new Error(`${path}.event_type: custom check failed`) -export type LnurlLinkResponse = { - lnurl: string - k1: string -} -export const LnurlLinkResponseOptionalFields: [] = [] -export type LnurlLinkResponseOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - lnurl_CustomCheck?: (v: string) => boolean - k1_CustomCheck?: (v: string) => boolean -} -export const LnurlLinkResponseValidate = (o?: LnurlLinkResponse, opts: LnurlLinkResponseOptions = {}, path: string = 'LnurlLinkResponse::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + if (typeof o.incoming_amt_msat !== 'number') return new Error(`${path}.incoming_amt_msat: is not a number`) + if (opts.incoming_amt_msat_CustomCheck && !opts.incoming_amt_msat_CustomCheck(o.incoming_amt_msat)) return new Error(`${path}.incoming_amt_msat: custom check failed`) - if (typeof o.lnurl !== 'string') return new Error(`${path}.lnurl: is not a string`) - if (opts.lnurl_CustomCheck && !opts.lnurl_CustomCheck(o.lnurl)) return new Error(`${path}.lnurl: custom check failed`) + if (typeof o.outgoing_amt_msat !== 'number') return new Error(`${path}.outgoing_amt_msat: is not a number`) + if (opts.outgoing_amt_msat_CustomCheck && !opts.outgoing_amt_msat_CustomCheck(o.outgoing_amt_msat)) return new Error(`${path}.outgoing_amt_msat: custom check failed`) - if (typeof o.k1 !== 'string') return new Error(`${path}.k1: is not a string`) - if (opts.k1_CustomCheck && !opts.k1_CustomCheck(o.k1)) return new Error(`${path}.k1: custom check failed`) + if (typeof o.failure_string !== 'string') return new Error(`${path}.failure_string: is not a string`) + if (opts.failure_string_CustomCheck && !opts.failure_string_CustomCheck(o.failure_string)) return new Error(`${path}.failure_string: custom check failed`) return null } -export type RelaysMigration = { - relays: string[] +export type Empty = { } -export const RelaysMigrationOptionalFields: [] = [] -export type RelaysMigrationOptions = OptionsBaseMessage & { +export const EmptyOptionalFields: [] = [] +export type EmptyOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - relays_CustomCheck?: (v: string[]) => boolean } -export const RelaysMigrationValidate = (o?: RelaysMigration, opts: RelaysMigrationOptions = {}, path: string = 'RelaysMigration::root.'): Error | null => { +export const EmptyValidate = (o?: Empty, opts: EmptyOptions = {}, path: string = 'Empty::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (!Array.isArray(o.relays)) return new Error(`${path}.relays: is not an array`) - for (let index = 0; index < o.relays.length; index++) { - if (typeof o.relays[index] !== 'string') return new Error(`${path}.relays[${index}]: is not a string`) - } - if (opts.relays_CustomCheck && !opts.relays_CustomCheck(o.relays)) return new Error(`${path}.relays: custom check failed`) - return null } @@ -1275,91 +1161,98 @@ export const LndMetricsRequestValidate = (o?: LndMetricsRequest, opts: LndMetric return null } -export type OpenChannel = { - remote_balance: number - channel_id: string - capacity: number - active: boolean - lifetime: number - local_balance: number +export type AppUser = { + identifier: string + info: UserInfo + max_withdrawable: number } -export const OpenChannelOptionalFields: [] = [] -export type OpenChannelOptions = OptionsBaseMessage & { +export const AppUserOptionalFields: [] = [] +export type AppUserOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - capacity_CustomCheck?: (v: number) => boolean - active_CustomCheck?: (v: boolean) => boolean - lifetime_CustomCheck?: (v: number) => boolean - local_balance_CustomCheck?: (v: number) => boolean - remote_balance_CustomCheck?: (v: number) => boolean - channel_id_CustomCheck?: (v: string) => boolean + identifier_CustomCheck?: (v: string) => boolean + info_Options?: UserInfoOptions + max_withdrawable_CustomCheck?: (v: number) => boolean } -export const OpenChannelValidate = (o?: OpenChannel, opts: OpenChannelOptions = {}, path: string = 'OpenChannel::root.'): Error | null => { +export const AppUserValidate = (o?: AppUser, opts: AppUserOptions = {}, path: string = 'AppUser::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.active !== 'boolean') return new Error(`${path}.active: is not a boolean`) - if (opts.active_CustomCheck && !opts.active_CustomCheck(o.active)) return new Error(`${path}.active: custom check failed`) + if (typeof o.identifier !== 'string') return new Error(`${path}.identifier: is not a string`) + if (opts.identifier_CustomCheck && !opts.identifier_CustomCheck(o.identifier)) return new Error(`${path}.identifier: custom check failed`) - if (typeof o.lifetime !== 'number') return new Error(`${path}.lifetime: is not a number`) - if (opts.lifetime_CustomCheck && !opts.lifetime_CustomCheck(o.lifetime)) return new Error(`${path}.lifetime: custom check failed`) + const infoErr = UserInfoValidate(o.info, opts.info_Options, `${path}.info`) + if (infoErr !== null) return infoErr + - if (typeof o.local_balance !== 'number') return new Error(`${path}.local_balance: is not a number`) - if (opts.local_balance_CustomCheck && !opts.local_balance_CustomCheck(o.local_balance)) return new Error(`${path}.local_balance: custom check failed`) + if (typeof o.max_withdrawable !== 'number') return new Error(`${path}.max_withdrawable: is not a number`) + if (opts.max_withdrawable_CustomCheck && !opts.max_withdrawable_CustomCheck(o.max_withdrawable)) return new Error(`${path}.max_withdrawable: custom check failed`) - if (typeof o.remote_balance !== 'number') return new Error(`${path}.remote_balance: is not a number`) - if (opts.remote_balance_CustomCheck && !opts.remote_balance_CustomCheck(o.remote_balance)) return new Error(`${path}.remote_balance: custom check failed`) + return null +} - if (typeof o.channel_id !== 'string') return new Error(`${path}.channel_id: is not a string`) - if (opts.channel_id_CustomCheck && !opts.channel_id_CustomCheck(o.channel_id)) return new Error(`${path}.channel_id: custom check failed`) +export type HandleLnurlPayResponse = { + pr: string + routes: Empty[] +} +export const HandleLnurlPayResponseOptionalFields: [] = [] +export type HandleLnurlPayResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + routes_ItemOptions?: EmptyOptions + routes_CustomCheck?: (v: Empty[]) => boolean + pr_CustomCheck?: (v: string) => boolean +} +export const HandleLnurlPayResponseValidate = (o?: HandleLnurlPayResponse, opts: HandleLnurlPayResponseOptions = {}, path: string = 'HandleLnurlPayResponse::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.capacity !== 'number') return new Error(`${path}.capacity: is not a number`) - if (opts.capacity_CustomCheck && !opts.capacity_CustomCheck(o.capacity)) return new Error(`${path}.capacity: custom check failed`) + if (typeof o.pr !== 'string') return new Error(`${path}.pr: is not a string`) + if (opts.pr_CustomCheck && !opts.pr_CustomCheck(o.pr)) return new Error(`${path}.pr: custom check failed`) + + if (!Array.isArray(o.routes)) return new Error(`${path}.routes: is not an array`) + for (let index = 0; index < o.routes.length; index++) { + const routesErr = EmptyValidate(o.routes[index], opts.routes_ItemOptions, `${path}.routes[${index}]`) + if (routesErr !== null) return routesErr + } + if (opts.routes_CustomCheck && !opts.routes_CustomCheck(o.routes)) return new Error(`${path}.routes: custom check failed`) return null } -export type LndMetrics = { - nodes: LndNodeMetrics[] +export type RelaysMigration = { + relays: string[] } -export const LndMetricsOptionalFields: [] = [] -export type LndMetricsOptions = OptionsBaseMessage & { +export const RelaysMigrationOptionalFields: [] = [] +export type RelaysMigrationOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - nodes_ItemOptions?: LndNodeMetricsOptions - nodes_CustomCheck?: (v: LndNodeMetrics[]) => boolean + relays_CustomCheck?: (v: string[]) => boolean } -export const LndMetricsValidate = (o?: LndMetrics, opts: LndMetricsOptions = {}, path: string = 'LndMetrics::root.'): Error | null => { +export const RelaysMigrationValidate = (o?: RelaysMigration, opts: RelaysMigrationOptions = {}, path: string = 'RelaysMigration::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (!Array.isArray(o.nodes)) return new Error(`${path}.nodes: is not an array`) - for (let index = 0; index < o.nodes.length; index++) { - const nodesErr = LndNodeMetricsValidate(o.nodes[index], opts.nodes_ItemOptions, `${path}.nodes[${index}]`) - if (nodesErr !== null) return nodesErr + if (!Array.isArray(o.relays)) return new Error(`${path}.relays: is not an array`) + for (let index = 0; index < o.relays.length; index++) { + if (typeof o.relays[index] !== 'string') return new Error(`${path}.relays[${index}]: is not a string`) } - if (opts.nodes_CustomCheck && !opts.nodes_CustomCheck(o.nodes)) return new Error(`${path}.nodes: custom check failed`) + if (opts.relays_CustomCheck && !opts.relays_CustomCheck(o.relays)) return new Error(`${path}.relays: custom check failed`) return null } -export type SetMockAppUserBalanceRequest = { - user_identifier: string - amount: number +export type RequestNPubLinkingTokenResponse = { + token: string } -export const SetMockAppUserBalanceRequestOptionalFields: [] = [] -export type SetMockAppUserBalanceRequestOptions = OptionsBaseMessage & { +export const RequestNPubLinkingTokenResponseOptionalFields: [] = [] +export type RequestNPubLinkingTokenResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - user_identifier_CustomCheck?: (v: string) => boolean - amount_CustomCheck?: (v: number) => boolean + token_CustomCheck?: (v: string) => boolean } -export const SetMockAppUserBalanceRequestValidate = (o?: SetMockAppUserBalanceRequest, opts: SetMockAppUserBalanceRequestOptions = {}, path: string = 'SetMockAppUserBalanceRequest::root.'): Error | null => { +export const RequestNPubLinkingTokenResponseValidate = (o?: RequestNPubLinkingTokenResponse, opts: RequestNPubLinkingTokenResponseOptions = {}, path: string = 'RequestNPubLinkingTokenResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) - if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) - - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + if (typeof o.token !== 'string') return new Error(`${path}.token: is not a string`) + if (opts.token_CustomCheck && !opts.token_CustomCheck(o.token)) return new Error(`${path}.token: custom check failed`) return null } @@ -1387,498 +1280,622 @@ export const AppsMetricsValidate = (o?: AppsMetrics, opts: AppsMetricsOptions = return null } -export type GetPaymentStateRequest = { - invoice: string +export type AddAppRequest = { + name: string + allow_user_creation: boolean } -export const GetPaymentStateRequestOptionalFields: [] = [] -export type GetPaymentStateRequestOptions = OptionsBaseMessage & { +export const AddAppRequestOptionalFields: [] = [] +export type AddAppRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - invoice_CustomCheck?: (v: string) => boolean + name_CustomCheck?: (v: string) => boolean + allow_user_creation_CustomCheck?: (v: boolean) => boolean } -export const GetPaymentStateRequestValidate = (o?: GetPaymentStateRequest, opts: GetPaymentStateRequestOptions = {}, path: string = 'GetPaymentStateRequest::root.'): Error | null => { +export const AddAppRequestValidate = (o?: AddAppRequest, opts: AddAppRequestOptions = {}, path: string = 'AddAppRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) - if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) + if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) + if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) + + if (typeof o.allow_user_creation !== 'boolean') return new Error(`${path}.allow_user_creation: is not a boolean`) + if (opts.allow_user_creation_CustomCheck && !opts.allow_user_creation_CustomCheck(o.allow_user_creation)) return new Error(`${path}.allow_user_creation: custom check failed`) return null } -export type AddProductRequest = { - price_sats: number +export type AuthAppRequest = { name: string + allow_user_creation?: boolean } -export const AddProductRequestOptionalFields: [] = [] -export type AddProductRequestOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] +export type AuthAppRequestOptionalField = 'allow_user_creation' +export const AuthAppRequestOptionalFields: AuthAppRequestOptionalField[] = ['allow_user_creation'] +export type AuthAppRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: AuthAppRequestOptionalField[] name_CustomCheck?: (v: string) => boolean - price_sats_CustomCheck?: (v: number) => boolean + allow_user_creation_CustomCheck?: (v?: boolean) => boolean } -export const AddProductRequestValidate = (o?: AddProductRequest, opts: AddProductRequestOptions = {}, path: string = 'AddProductRequest::root.'): Error | null => { +export const AuthAppRequestValidate = (o?: AuthAppRequest, opts: AuthAppRequestOptions = {}, path: string = 'AuthAppRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) - if (typeof o.price_sats !== 'number') return new Error(`${path}.price_sats: is not a number`) - if (opts.price_sats_CustomCheck && !opts.price_sats_CustomCheck(o.price_sats)) return new Error(`${path}.price_sats: custom check failed`) + if ((o.allow_user_creation || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('allow_user_creation')) && typeof o.allow_user_creation !== 'boolean') return new Error(`${path}.allow_user_creation: is not a boolean`) + if (opts.allow_user_creation_CustomCheck && !opts.allow_user_creation_CustomCheck(o.allow_user_creation)) return new Error(`${path}.allow_user_creation: custom check failed`) return null } -export type GetProductBuyLinkResponse = { - link: string +export type GetAppUserRequest = { + user_identifier: string } -export const GetProductBuyLinkResponseOptionalFields: [] = [] -export type GetProductBuyLinkResponseOptions = OptionsBaseMessage & { +export const GetAppUserRequestOptionalFields: [] = [] +export type GetAppUserRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - link_CustomCheck?: (v: string) => boolean + user_identifier_CustomCheck?: (v: string) => boolean +} +export const GetAppUserRequestValidate = (o?: GetAppUserRequest, opts: GetAppUserRequestOptions = {}, path: string = 'GetAppUserRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + + if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) + if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) + + return null +} + +export type PayAddressResponse = { + service_fee: number + network_fee: number + txId: string + operation_id: string +} +export const PayAddressResponseOptionalFields: [] = [] +export type PayAddressResponseOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + txId_CustomCheck?: (v: string) => boolean + operation_id_CustomCheck?: (v: string) => boolean + service_fee_CustomCheck?: (v: number) => boolean + network_fee_CustomCheck?: (v: number) => boolean } -export const GetProductBuyLinkResponseValidate = (o?: GetProductBuyLinkResponse, opts: GetProductBuyLinkResponseOptions = {}, path: string = 'GetProductBuyLinkResponse::root.'): Error | null => { +export const PayAddressResponseValidate = (o?: PayAddressResponse, opts: PayAddressResponseOptions = {}, path: string = 'PayAddressResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.link !== 'string') return new Error(`${path}.link: is not a string`) - if (opts.link_CustomCheck && !opts.link_CustomCheck(o.link)) return new Error(`${path}.link: custom check failed`) + if (typeof o.txId !== 'string') return new Error(`${path}.txId: is not a string`) + if (opts.txId_CustomCheck && !opts.txId_CustomCheck(o.txId)) return new Error(`${path}.txId: custom check failed`) + + if (typeof o.operation_id !== 'string') return new Error(`${path}.operation_id: is not a string`) + if (opts.operation_id_CustomCheck && !opts.operation_id_CustomCheck(o.operation_id)) return new Error(`${path}.operation_id: custom check failed`) + + if (typeof o.service_fee !== 'number') return new Error(`${path}.service_fee: is not a number`) + if (opts.service_fee_CustomCheck && !opts.service_fee_CustomCheck(o.service_fee)) return new Error(`${path}.service_fee: custom check failed`) + + if (typeof o.network_fee !== 'number') return new Error(`${path}.network_fee: is not a number`) + if (opts.network_fee_CustomCheck && !opts.network_fee_CustomCheck(o.network_fee)) return new Error(`${path}.network_fee: custom check failed`) return null } -export type RequestNPubLinkingTokenResponse = { - token: string +export type AppsMetricsRequest = { + from_unix?: number + to_unix?: number + include_operations?: boolean } -export const RequestNPubLinkingTokenResponseOptionalFields: [] = [] -export type RequestNPubLinkingTokenResponseOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - token_CustomCheck?: (v: string) => boolean +export type AppsMetricsRequestOptionalField = 'from_unix' | 'to_unix' | 'include_operations' +export const AppsMetricsRequestOptionalFields: AppsMetricsRequestOptionalField[] = ['from_unix', 'to_unix', 'include_operations'] +export type AppsMetricsRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: AppsMetricsRequestOptionalField[] + from_unix_CustomCheck?: (v?: number) => boolean + to_unix_CustomCheck?: (v?: number) => boolean + include_operations_CustomCheck?: (v?: boolean) => boolean } -export const RequestNPubLinkingTokenResponseValidate = (o?: RequestNPubLinkingTokenResponse, opts: RequestNPubLinkingTokenResponseOptions = {}, path: string = 'RequestNPubLinkingTokenResponse::root.'): Error | null => { +export const AppsMetricsRequestValidate = (o?: AppsMetricsRequest, opts: AppsMetricsRequestOptions = {}, path: string = 'AppsMetricsRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.token !== 'string') return new Error(`${path}.token: is not a string`) - if (opts.token_CustomCheck && !opts.token_CustomCheck(o.token)) return new Error(`${path}.token: custom check failed`) + if ((o.include_operations || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('include_operations')) && typeof o.include_operations !== 'boolean') return new Error(`${path}.include_operations: is not a boolean`) + if (opts.include_operations_CustomCheck && !opts.include_operations_CustomCheck(o.include_operations)) return new Error(`${path}.include_operations: custom check failed`) + + if ((o.from_unix || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('from_unix')) && typeof o.from_unix !== 'number') return new Error(`${path}.from_unix: is not a number`) + if (opts.from_unix_CustomCheck && !opts.from_unix_CustomCheck(o.from_unix)) return new Error(`${path}.from_unix: custom check failed`) + + if ((o.to_unix || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('to_unix')) && typeof o.to_unix !== 'number') return new Error(`${path}.to_unix: is not a number`) + if (opts.to_unix_CustomCheck && !opts.to_unix_CustomCheck(o.to_unix)) return new Error(`${path}.to_unix: custom check failed`) return null } -export type ChannelBalanceEvent = { - remote_balance_sats: number - block_height: number - channel_id: string - local_balance_sats: number +export type PayAppUserInvoiceRequest = { + user_identifier: string + invoice: string + amount: number } -export const ChannelBalanceEventOptionalFields: [] = [] -export type ChannelBalanceEventOptions = OptionsBaseMessage & { +export const PayAppUserInvoiceRequestOptionalFields: [] = [] +export type PayAppUserInvoiceRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - block_height_CustomCheck?: (v: number) => boolean - channel_id_CustomCheck?: (v: string) => boolean - local_balance_sats_CustomCheck?: (v: number) => boolean - remote_balance_sats_CustomCheck?: (v: number) => boolean + amount_CustomCheck?: (v: number) => boolean + user_identifier_CustomCheck?: (v: string) => boolean + invoice_CustomCheck?: (v: string) => boolean } -export const ChannelBalanceEventValidate = (o?: ChannelBalanceEvent, opts: ChannelBalanceEventOptions = {}, path: string = 'ChannelBalanceEvent::root.'): Error | null => { +export const PayAppUserInvoiceRequestValidate = (o?: PayAppUserInvoiceRequest, opts: PayAppUserInvoiceRequestOptions = {}, path: string = 'PayAppUserInvoiceRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.remote_balance_sats !== 'number') return new Error(`${path}.remote_balance_sats: is not a number`) - if (opts.remote_balance_sats_CustomCheck && !opts.remote_balance_sats_CustomCheck(o.remote_balance_sats)) return new Error(`${path}.remote_balance_sats: custom check failed`) - - if (typeof o.block_height !== 'number') return new Error(`${path}.block_height: is not a number`) - if (opts.block_height_CustomCheck && !opts.block_height_CustomCheck(o.block_height)) return new Error(`${path}.block_height: custom check failed`) + if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) + if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) - if (typeof o.channel_id !== 'string') return new Error(`${path}.channel_id: is not a string`) - if (opts.channel_id_CustomCheck && !opts.channel_id_CustomCheck(o.channel_id)) return new Error(`${path}.channel_id: custom check failed`) + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) - if (typeof o.local_balance_sats !== 'number') return new Error(`${path}.local_balance_sats: is not a number`) - if (opts.local_balance_sats_CustomCheck && !opts.local_balance_sats_CustomCheck(o.local_balance_sats)) return new Error(`${path}.local_balance_sats: custom check failed`) + if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) + if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) return null } -export type AuthAppRequest = { - name: string - allow_user_creation?: boolean +export type HttpCreds = { + token: string + url: string } -export type AuthAppRequestOptionalField = 'allow_user_creation' -export const AuthAppRequestOptionalFields: AuthAppRequestOptionalField[] = ['allow_user_creation'] -export type AuthAppRequestOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: AuthAppRequestOptionalField[] - name_CustomCheck?: (v: string) => boolean - allow_user_creation_CustomCheck?: (v?: boolean) => boolean +export const HttpCredsOptionalFields: [] = [] +export type HttpCredsOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + url_CustomCheck?: (v: string) => boolean + token_CustomCheck?: (v: string) => boolean } -export const AuthAppRequestValidate = (o?: AuthAppRequest, opts: AuthAppRequestOptions = {}, path: string = 'AuthAppRequest::root.'): Error | null => { +export const HttpCredsValidate = (o?: HttpCreds, opts: HttpCredsOptions = {}, path: string = 'HttpCreds::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) - if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) + if (typeof o.url !== 'string') return new Error(`${path}.url: is not a string`) + if (opts.url_CustomCheck && !opts.url_CustomCheck(o.url)) return new Error(`${path}.url: custom check failed`) - if ((o.allow_user_creation || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('allow_user_creation')) && typeof o.allow_user_creation !== 'boolean') return new Error(`${path}.allow_user_creation: is not a boolean`) - if (opts.allow_user_creation_CustomCheck && !opts.allow_user_creation_CustomCheck(o.allow_user_creation)) return new Error(`${path}.allow_user_creation: custom check failed`) + if (typeof o.token !== 'string') return new Error(`${path}.token: is not a string`) + if (opts.token_CustomCheck && !opts.token_CustomCheck(o.token)) return new Error(`${path}.token: custom check failed`) return null } -export type Application = { - name: string - id: string - balance: number - npub: string +export type UsageMetric = { + nostr: boolean + batch_size: number + processed_at_ms: number + validate_in_nano: number + handle_in_nano: number + rpc_name: string + batch: boolean + parsed_in_nano: number + auth_in_nano: number } -export const ApplicationOptionalFields: [] = [] -export type ApplicationOptions = OptionsBaseMessage & { +export const UsageMetricOptionalFields: [] = [] +export type UsageMetricOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - name_CustomCheck?: (v: string) => boolean - id_CustomCheck?: (v: string) => boolean - balance_CustomCheck?: (v: number) => boolean - npub_CustomCheck?: (v: string) => boolean + rpc_name_CustomCheck?: (v: string) => boolean + batch_CustomCheck?: (v: boolean) => boolean + nostr_CustomCheck?: (v: boolean) => boolean + batch_size_CustomCheck?: (v: number) => boolean + processed_at_ms_CustomCheck?: (v: number) => boolean + validate_in_nano_CustomCheck?: (v: number) => boolean + handle_in_nano_CustomCheck?: (v: number) => boolean + parsed_in_nano_CustomCheck?: (v: number) => boolean + auth_in_nano_CustomCheck?: (v: number) => boolean } -export const ApplicationValidate = (o?: Application, opts: ApplicationOptions = {}, path: string = 'Application::root.'): Error | null => { +export const UsageMetricValidate = (o?: UsageMetric, opts: UsageMetricOptions = {}, path: string = 'UsageMetric::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.id !== 'string') return new Error(`${path}.id: is not a string`) - if (opts.id_CustomCheck && !opts.id_CustomCheck(o.id)) return new Error(`${path}.id: custom check failed`) - - if (typeof o.balance !== 'number') return new Error(`${path}.balance: is not a number`) - if (opts.balance_CustomCheck && !opts.balance_CustomCheck(o.balance)) return new Error(`${path}.balance: custom check failed`) + if (typeof o.parsed_in_nano !== 'number') return new Error(`${path}.parsed_in_nano: is not a number`) + if (opts.parsed_in_nano_CustomCheck && !opts.parsed_in_nano_CustomCheck(o.parsed_in_nano)) return new Error(`${path}.parsed_in_nano: custom check failed`) - if (typeof o.npub !== 'string') return new Error(`${path}.npub: is not a string`) - if (opts.npub_CustomCheck && !opts.npub_CustomCheck(o.npub)) return new Error(`${path}.npub: custom check failed`) + if (typeof o.auth_in_nano !== 'number') return new Error(`${path}.auth_in_nano: is not a number`) + if (opts.auth_in_nano_CustomCheck && !opts.auth_in_nano_CustomCheck(o.auth_in_nano)) return new Error(`${path}.auth_in_nano: custom check failed`) - if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) - if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) + if (typeof o.processed_at_ms !== 'number') return new Error(`${path}.processed_at_ms: is not a number`) + if (opts.processed_at_ms_CustomCheck && !opts.processed_at_ms_CustomCheck(o.processed_at_ms)) return new Error(`${path}.processed_at_ms: custom check failed`) - return null -} + if (typeof o.validate_in_nano !== 'number') return new Error(`${path}.validate_in_nano: is not a number`) + if (opts.validate_in_nano_CustomCheck && !opts.validate_in_nano_CustomCheck(o.validate_in_nano)) return new Error(`${path}.validate_in_nano: custom check failed`) -export type AddAppUserInvoiceRequest = { - receiver_identifier: string - payer_identifier: string - http_callback_url: string - invoice_req: NewInvoiceRequest -} -export const AddAppUserInvoiceRequestOptionalFields: [] = [] -export type AddAppUserInvoiceRequestOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - receiver_identifier_CustomCheck?: (v: string) => boolean - payer_identifier_CustomCheck?: (v: string) => boolean - http_callback_url_CustomCheck?: (v: string) => boolean - invoice_req_Options?: NewInvoiceRequestOptions -} -export const AddAppUserInvoiceRequestValidate = (o?: AddAppUserInvoiceRequest, opts: AddAppUserInvoiceRequestOptions = {}, path: string = 'AddAppUserInvoiceRequest::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + if (typeof o.handle_in_nano !== 'number') return new Error(`${path}.handle_in_nano: is not a number`) + if (opts.handle_in_nano_CustomCheck && !opts.handle_in_nano_CustomCheck(o.handle_in_nano)) return new Error(`${path}.handle_in_nano: custom check failed`) - if (typeof o.receiver_identifier !== 'string') return new Error(`${path}.receiver_identifier: is not a string`) - if (opts.receiver_identifier_CustomCheck && !opts.receiver_identifier_CustomCheck(o.receiver_identifier)) return new Error(`${path}.receiver_identifier: custom check failed`) + if (typeof o.rpc_name !== 'string') return new Error(`${path}.rpc_name: is not a string`) + if (opts.rpc_name_CustomCheck && !opts.rpc_name_CustomCheck(o.rpc_name)) return new Error(`${path}.rpc_name: custom check failed`) - if (typeof o.payer_identifier !== 'string') return new Error(`${path}.payer_identifier: is not a string`) - if (opts.payer_identifier_CustomCheck && !opts.payer_identifier_CustomCheck(o.payer_identifier)) return new Error(`${path}.payer_identifier: custom check failed`) + if (typeof o.batch !== 'boolean') return new Error(`${path}.batch: is not a boolean`) + if (opts.batch_CustomCheck && !opts.batch_CustomCheck(o.batch)) return new Error(`${path}.batch: custom check failed`) - if (typeof o.http_callback_url !== 'string') return new Error(`${path}.http_callback_url: is not a string`) - if (opts.http_callback_url_CustomCheck && !opts.http_callback_url_CustomCheck(o.http_callback_url)) return new Error(`${path}.http_callback_url: custom check failed`) + if (typeof o.nostr !== 'boolean') return new Error(`${path}.nostr: is not a boolean`) + if (opts.nostr_CustomCheck && !opts.nostr_CustomCheck(o.nostr)) return new Error(`${path}.nostr: custom check failed`) - const invoice_reqErr = NewInvoiceRequestValidate(o.invoice_req, opts.invoice_req_Options, `${path}.invoice_req`) - if (invoice_reqErr !== null) return invoice_reqErr - + if (typeof o.batch_size !== 'number') return new Error(`${path}.batch_size: is not a number`) + if (opts.batch_size_CustomCheck && !opts.batch_size_CustomCheck(o.batch_size)) return new Error(`${path}.batch_size: custom check failed`) return null } -export type GetAppUserLNURLInfoRequest = { - base_url_override: string - user_identifier: string +export type AuthApp = { + app: Application + auth_token: string } -export const GetAppUserLNURLInfoRequestOptionalFields: [] = [] -export type GetAppUserLNURLInfoRequestOptions = OptionsBaseMessage & { +export const AuthAppOptionalFields: [] = [] +export type AuthAppOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - user_identifier_CustomCheck?: (v: string) => boolean - base_url_override_CustomCheck?: (v: string) => boolean + app_Options?: ApplicationOptions + auth_token_CustomCheck?: (v: string) => boolean } -export const GetAppUserLNURLInfoRequestValidate = (o?: GetAppUserLNURLInfoRequest, opts: GetAppUserLNURLInfoRequestOptions = {}, path: string = 'GetAppUserLNURLInfoRequest::root.'): Error | null => { +export const AuthAppValidate = (o?: AuthApp, opts: AuthAppOptions = {}, path: string = 'AuthApp::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) - if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) + const appErr = ApplicationValidate(o.app, opts.app_Options, `${path}.app`) + if (appErr !== null) return appErr + - if (typeof o.base_url_override !== 'string') return new Error(`${path}.base_url_override: is not a string`) - if (opts.base_url_override_CustomCheck && !opts.base_url_override_CustomCheck(o.base_url_override)) return new Error(`${path}.base_url_override: custom check failed`) + if (typeof o.auth_token !== 'string') return new Error(`${path}.auth_token: is not a string`) + if (opts.auth_token_CustomCheck && !opts.auth_token_CustomCheck(o.auth_token)) return new Error(`${path}.auth_token: custom check failed`) return null } -export type NewInvoiceRequest = { - amountSats: number - memo: string +export type OpenChannelRequest = { + destination: string + fundingAmount: number + pushAmount: number + closeAddress: string } -export const NewInvoiceRequestOptionalFields: [] = [] -export type NewInvoiceRequestOptions = OptionsBaseMessage & { +export const OpenChannelRequestOptionalFields: [] = [] +export type OpenChannelRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - memo_CustomCheck?: (v: string) => boolean - amountSats_CustomCheck?: (v: number) => boolean + closeAddress_CustomCheck?: (v: string) => boolean + destination_CustomCheck?: (v: string) => boolean + fundingAmount_CustomCheck?: (v: number) => boolean + pushAmount_CustomCheck?: (v: number) => boolean } -export const NewInvoiceRequestValidate = (o?: NewInvoiceRequest, opts: NewInvoiceRequestOptions = {}, path: string = 'NewInvoiceRequest::root.'): Error | null => { +export const OpenChannelRequestValidate = (o?: OpenChannelRequest, opts: OpenChannelRequestOptions = {}, path: string = 'OpenChannelRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.amountSats !== 'number') return new Error(`${path}.amountSats: is not a number`) - if (opts.amountSats_CustomCheck && !opts.amountSats_CustomCheck(o.amountSats)) return new Error(`${path}.amountSats: custom check failed`) + if (typeof o.pushAmount !== 'number') return new Error(`${path}.pushAmount: is not a number`) + if (opts.pushAmount_CustomCheck && !opts.pushAmount_CustomCheck(o.pushAmount)) return new Error(`${path}.pushAmount: custom check failed`) - if (typeof o.memo !== 'string') return new Error(`${path}.memo: is not a string`) - if (opts.memo_CustomCheck && !opts.memo_CustomCheck(o.memo)) return new Error(`${path}.memo: custom check failed`) + if (typeof o.closeAddress !== 'string') return new Error(`${path}.closeAddress: is not a string`) + if (opts.closeAddress_CustomCheck && !opts.closeAddress_CustomCheck(o.closeAddress)) return new Error(`${path}.closeAddress: custom check failed`) + + if (typeof o.destination !== 'string') return new Error(`${path}.destination: is not a string`) + if (opts.destination_CustomCheck && !opts.destination_CustomCheck(o.destination)) return new Error(`${path}.destination: custom check failed`) + + if (typeof o.fundingAmount !== 'number') return new Error(`${path}.fundingAmount: is not a number`) + if (opts.fundingAmount_CustomCheck && !opts.fundingAmount_CustomCheck(o.fundingAmount)) return new Error(`${path}.fundingAmount: custom check failed`) return null } -export type PayInvoiceRequest = { - amount: number - invoice: string +export type ClosureMigration = { + closes_at_unix: number } -export const PayInvoiceRequestOptionalFields: [] = [] -export type PayInvoiceRequestOptions = OptionsBaseMessage & { +export const ClosureMigrationOptionalFields: [] = [] +export type ClosureMigrationOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - amount_CustomCheck?: (v: number) => boolean - invoice_CustomCheck?: (v: string) => boolean + closes_at_unix_CustomCheck?: (v: number) => boolean } -export const PayInvoiceRequestValidate = (o?: PayInvoiceRequest, opts: PayInvoiceRequestOptions = {}, path: string = 'PayInvoiceRequest::root.'): Error | null => { +export const ClosureMigrationValidate = (o?: ClosureMigration, opts: ClosureMigrationOptions = {}, path: string = 'ClosureMigration::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) - if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) - - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + if (typeof o.closes_at_unix !== 'number') return new Error(`${path}.closes_at_unix: is not a number`) + if (opts.closes_at_unix_CustomCheck && !opts.closes_at_unix_CustomCheck(o.closes_at_unix)) return new Error(`${path}.closes_at_unix: custom check failed`) return null } -export type GetUserOperationsResponse = { - latestIncomingUserToUserPayemnts: UserOperations - latestOutgoingInvoiceOperations: UserOperations - latestIncomingInvoiceOperations: UserOperations - latestOutgoingTxOperations: UserOperations - latestIncomingTxOperations: UserOperations - latestOutgoingUserToUserPayemnts: UserOperations +export type ChannelRouting = { + channel_id: string + forward_fee_as_output: number + events_number: number + forward_errors_as_output: number + missed_forward_fee_as_input: number + missed_forward_fee_as_output: number + forward_fee_as_input: number + send_errors: number + receive_errors: number + forward_errors_as_input: number } -export const GetUserOperationsResponseOptionalFields: [] = [] -export type GetUserOperationsResponseOptions = OptionsBaseMessage & { +export const ChannelRoutingOptionalFields: [] = [] +export type ChannelRoutingOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - latestOutgoingTxOperations_Options?: UserOperationsOptions - latestIncomingTxOperations_Options?: UserOperationsOptions - latestOutgoingUserToUserPayemnts_Options?: UserOperationsOptions - latestIncomingUserToUserPayemnts_Options?: UserOperationsOptions - latestOutgoingInvoiceOperations_Options?: UserOperationsOptions - latestIncomingInvoiceOperations_Options?: UserOperationsOptions + channel_id_CustomCheck?: (v: string) => boolean + forward_fee_as_output_CustomCheck?: (v: number) => boolean + events_number_CustomCheck?: (v: number) => boolean + send_errors_CustomCheck?: (v: number) => boolean + receive_errors_CustomCheck?: (v: number) => boolean + forward_errors_as_input_CustomCheck?: (v: number) => boolean + forward_errors_as_output_CustomCheck?: (v: number) => boolean + missed_forward_fee_as_input_CustomCheck?: (v: number) => boolean + missed_forward_fee_as_output_CustomCheck?: (v: number) => boolean + forward_fee_as_input_CustomCheck?: (v: number) => boolean } -export const GetUserOperationsResponseValidate = (o?: GetUserOperationsResponse, opts: GetUserOperationsResponseOptions = {}, path: string = 'GetUserOperationsResponse::root.'): Error | null => { +export const ChannelRoutingValidate = (o?: ChannelRouting, opts: ChannelRoutingOptions = {}, path: string = 'ChannelRouting::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - const latestIncomingUserToUserPayemntsErr = UserOperationsValidate(o.latestIncomingUserToUserPayemnts, opts.latestIncomingUserToUserPayemnts_Options, `${path}.latestIncomingUserToUserPayemnts`) - if (latestIncomingUserToUserPayemntsErr !== null) return latestIncomingUserToUserPayemntsErr - + if (typeof o.events_number !== 'number') return new Error(`${path}.events_number: is not a number`) + if (opts.events_number_CustomCheck && !opts.events_number_CustomCheck(o.events_number)) return new Error(`${path}.events_number: custom check failed`) - const latestOutgoingInvoiceOperationsErr = UserOperationsValidate(o.latestOutgoingInvoiceOperations, opts.latestOutgoingInvoiceOperations_Options, `${path}.latestOutgoingInvoiceOperations`) - if (latestOutgoingInvoiceOperationsErr !== null) return latestOutgoingInvoiceOperationsErr - + if (typeof o.channel_id !== 'string') return new Error(`${path}.channel_id: is not a string`) + if (opts.channel_id_CustomCheck && !opts.channel_id_CustomCheck(o.channel_id)) return new Error(`${path}.channel_id: custom check failed`) - const latestIncomingInvoiceOperationsErr = UserOperationsValidate(o.latestIncomingInvoiceOperations, opts.latestIncomingInvoiceOperations_Options, `${path}.latestIncomingInvoiceOperations`) - if (latestIncomingInvoiceOperationsErr !== null) return latestIncomingInvoiceOperationsErr - + if (typeof o.forward_fee_as_output !== 'number') return new Error(`${path}.forward_fee_as_output: is not a number`) + if (opts.forward_fee_as_output_CustomCheck && !opts.forward_fee_as_output_CustomCheck(o.forward_fee_as_output)) return new Error(`${path}.forward_fee_as_output: custom check failed`) - const latestOutgoingTxOperationsErr = UserOperationsValidate(o.latestOutgoingTxOperations, opts.latestOutgoingTxOperations_Options, `${path}.latestOutgoingTxOperations`) - if (latestOutgoingTxOperationsErr !== null) return latestOutgoingTxOperationsErr - + if (typeof o.forward_errors_as_input !== 'number') return new Error(`${path}.forward_errors_as_input: is not a number`) + if (opts.forward_errors_as_input_CustomCheck && !opts.forward_errors_as_input_CustomCheck(o.forward_errors_as_input)) return new Error(`${path}.forward_errors_as_input: custom check failed`) - const latestIncomingTxOperationsErr = UserOperationsValidate(o.latestIncomingTxOperations, opts.latestIncomingTxOperations_Options, `${path}.latestIncomingTxOperations`) - if (latestIncomingTxOperationsErr !== null) return latestIncomingTxOperationsErr - + if (typeof o.forward_errors_as_output !== 'number') return new Error(`${path}.forward_errors_as_output: is not a number`) + if (opts.forward_errors_as_output_CustomCheck && !opts.forward_errors_as_output_CustomCheck(o.forward_errors_as_output)) return new Error(`${path}.forward_errors_as_output: custom check failed`) - const latestOutgoingUserToUserPayemntsErr = UserOperationsValidate(o.latestOutgoingUserToUserPayemnts, opts.latestOutgoingUserToUserPayemnts_Options, `${path}.latestOutgoingUserToUserPayemnts`) - if (latestOutgoingUserToUserPayemntsErr !== null) return latestOutgoingUserToUserPayemntsErr - + if (typeof o.missed_forward_fee_as_input !== 'number') return new Error(`${path}.missed_forward_fee_as_input: is not a number`) + if (opts.missed_forward_fee_as_input_CustomCheck && !opts.missed_forward_fee_as_input_CustomCheck(o.missed_forward_fee_as_input)) return new Error(`${path}.missed_forward_fee_as_input: custom check failed`) + + if (typeof o.missed_forward_fee_as_output !== 'number') return new Error(`${path}.missed_forward_fee_as_output: is not a number`) + if (opts.missed_forward_fee_as_output_CustomCheck && !opts.missed_forward_fee_as_output_CustomCheck(o.missed_forward_fee_as_output)) return new Error(`${path}.missed_forward_fee_as_output: custom check failed`) + + if (typeof o.forward_fee_as_input !== 'number') return new Error(`${path}.forward_fee_as_input: is not a number`) + if (opts.forward_fee_as_input_CustomCheck && !opts.forward_fee_as_input_CustomCheck(o.forward_fee_as_input)) return new Error(`${path}.forward_fee_as_input: custom check failed`) + + if (typeof o.send_errors !== 'number') return new Error(`${path}.send_errors: is not a number`) + if (opts.send_errors_CustomCheck && !opts.send_errors_CustomCheck(o.send_errors)) return new Error(`${path}.send_errors: custom check failed`) + + if (typeof o.receive_errors !== 'number') return new Error(`${path}.receive_errors: is not a number`) + if (opts.receive_errors_CustomCheck && !opts.receive_errors_CustomCheck(o.receive_errors)) return new Error(`${path}.receive_errors: custom check failed`) return null } -export type UsageMetrics = { - metrics: UsageMetric[] +export type LndNodeMetrics = { + channels_balance_events: ChannelBalanceEvent[] + chain_balance_events: ChainBalanceEvent[] + online_channels: number + open_channels: OpenChannel[] + closed_channels: ClosedChannel[] + offline_channels: number + pending_channels: number + closing_channels: number + channel_routing: ChannelRouting[] } -export const UsageMetricsOptionalFields: [] = [] -export type UsageMetricsOptions = OptionsBaseMessage & { +export const LndNodeMetricsOptionalFields: [] = [] +export type LndNodeMetricsOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - metrics_ItemOptions?: UsageMetricOptions - metrics_CustomCheck?: (v: UsageMetric[]) => boolean + closing_channels_CustomCheck?: (v: number) => boolean + channel_routing_ItemOptions?: ChannelRoutingOptions + channel_routing_CustomCheck?: (v: ChannelRouting[]) => boolean + offline_channels_CustomCheck?: (v: number) => boolean + pending_channels_CustomCheck?: (v: number) => boolean + online_channels_CustomCheck?: (v: number) => boolean + open_channels_ItemOptions?: OpenChannelOptions + open_channels_CustomCheck?: (v: OpenChannel[]) => boolean + closed_channels_ItemOptions?: ClosedChannelOptions + closed_channels_CustomCheck?: (v: ClosedChannel[]) => boolean + channels_balance_events_ItemOptions?: ChannelBalanceEventOptions + channels_balance_events_CustomCheck?: (v: ChannelBalanceEvent[]) => boolean + chain_balance_events_ItemOptions?: ChainBalanceEventOptions + chain_balance_events_CustomCheck?: (v: ChainBalanceEvent[]) => boolean } -export const UsageMetricsValidate = (o?: UsageMetrics, opts: UsageMetricsOptions = {}, path: string = 'UsageMetrics::root.'): Error | null => { +export const LndNodeMetricsValidate = (o?: LndNodeMetrics, opts: LndNodeMetricsOptions = {}, path: string = 'LndNodeMetrics::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (!Array.isArray(o.metrics)) return new Error(`${path}.metrics: is not an array`) - for (let index = 0; index < o.metrics.length; index++) { - const metricsErr = UsageMetricValidate(o.metrics[index], opts.metrics_ItemOptions, `${path}.metrics[${index}]`) - if (metricsErr !== null) return metricsErr + if (typeof o.pending_channels !== 'number') return new Error(`${path}.pending_channels: is not a number`) + if (opts.pending_channels_CustomCheck && !opts.pending_channels_CustomCheck(o.pending_channels)) return new Error(`${path}.pending_channels: custom check failed`) + + if (typeof o.closing_channels !== 'number') return new Error(`${path}.closing_channels: is not a number`) + if (opts.closing_channels_CustomCheck && !opts.closing_channels_CustomCheck(o.closing_channels)) return new Error(`${path}.closing_channels: custom check failed`) + + if (!Array.isArray(o.channel_routing)) return new Error(`${path}.channel_routing: is not an array`) + for (let index = 0; index < o.channel_routing.length; index++) { + const channel_routingErr = ChannelRoutingValidate(o.channel_routing[index], opts.channel_routing_ItemOptions, `${path}.channel_routing[${index}]`) + if (channel_routingErr !== null) return channel_routingErr } - if (opts.metrics_CustomCheck && !opts.metrics_CustomCheck(o.metrics)) return new Error(`${path}.metrics: custom check failed`) + if (opts.channel_routing_CustomCheck && !opts.channel_routing_CustomCheck(o.channel_routing)) return new Error(`${path}.channel_routing: custom check failed`) + + if (typeof o.offline_channels !== 'number') return new Error(`${path}.offline_channels: is not a number`) + if (opts.offline_channels_CustomCheck && !opts.offline_channels_CustomCheck(o.offline_channels)) return new Error(`${path}.offline_channels: custom check failed`) + + if (!Array.isArray(o.chain_balance_events)) return new Error(`${path}.chain_balance_events: is not an array`) + for (let index = 0; index < o.chain_balance_events.length; index++) { + const chain_balance_eventsErr = ChainBalanceEventValidate(o.chain_balance_events[index], opts.chain_balance_events_ItemOptions, `${path}.chain_balance_events[${index}]`) + if (chain_balance_eventsErr !== null) return chain_balance_eventsErr + } + if (opts.chain_balance_events_CustomCheck && !opts.chain_balance_events_CustomCheck(o.chain_balance_events)) return new Error(`${path}.chain_balance_events: custom check failed`) + + if (typeof o.online_channels !== 'number') return new Error(`${path}.online_channels: is not a number`) + if (opts.online_channels_CustomCheck && !opts.online_channels_CustomCheck(o.online_channels)) return new Error(`${path}.online_channels: custom check failed`) + + if (!Array.isArray(o.open_channels)) return new Error(`${path}.open_channels: is not an array`) + for (let index = 0; index < o.open_channels.length; index++) { + const open_channelsErr = OpenChannelValidate(o.open_channels[index], opts.open_channels_ItemOptions, `${path}.open_channels[${index}]`) + if (open_channelsErr !== null) return open_channelsErr + } + if (opts.open_channels_CustomCheck && !opts.open_channels_CustomCheck(o.open_channels)) return new Error(`${path}.open_channels: custom check failed`) + + if (!Array.isArray(o.closed_channels)) return new Error(`${path}.closed_channels: is not an array`) + for (let index = 0; index < o.closed_channels.length; index++) { + const closed_channelsErr = ClosedChannelValidate(o.closed_channels[index], opts.closed_channels_ItemOptions, `${path}.closed_channels[${index}]`) + if (closed_channelsErr !== null) return closed_channelsErr + } + if (opts.closed_channels_CustomCheck && !opts.closed_channels_CustomCheck(o.closed_channels)) return new Error(`${path}.closed_channels: custom check failed`) + + if (!Array.isArray(o.channels_balance_events)) return new Error(`${path}.channels_balance_events: is not an array`) + for (let index = 0; index < o.channels_balance_events.length; index++) { + const channels_balance_eventsErr = ChannelBalanceEventValidate(o.channels_balance_events[index], opts.channels_balance_events_ItemOptions, `${path}.channels_balance_events[${index}]`) + if (channels_balance_eventsErr !== null) return channels_balance_eventsErr + } + if (opts.channels_balance_events_CustomCheck && !opts.channels_balance_events_CustomCheck(o.channels_balance_events)) return new Error(`${path}.channels_balance_events: custom check failed`) return null } -export type BanUserResponse = { - balance_sats: number - banned_app_users: BannedAppUser[] +export type LndGetInfoResponse = { + alias: string } -export const BanUserResponseOptionalFields: [] = [] -export type BanUserResponseOptions = OptionsBaseMessage & { +export const LndGetInfoResponseOptionalFields: [] = [] +export type LndGetInfoResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - balance_sats_CustomCheck?: (v: number) => boolean - banned_app_users_ItemOptions?: BannedAppUserOptions - banned_app_users_CustomCheck?: (v: BannedAppUser[]) => boolean + alias_CustomCheck?: (v: string) => boolean } -export const BanUserResponseValidate = (o?: BanUserResponse, opts: BanUserResponseOptions = {}, path: string = 'BanUserResponse::root.'): Error | null => { +export const LndGetInfoResponseValidate = (o?: LndGetInfoResponse, opts: LndGetInfoResponseOptions = {}, path: string = 'LndGetInfoResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.balance_sats !== 'number') return new Error(`${path}.balance_sats: is not a number`) - if (opts.balance_sats_CustomCheck && !opts.balance_sats_CustomCheck(o.balance_sats)) return new Error(`${path}.balance_sats: custom check failed`) - - if (!Array.isArray(o.banned_app_users)) return new Error(`${path}.banned_app_users: is not an array`) - for (let index = 0; index < o.banned_app_users.length; index++) { - const banned_app_usersErr = BannedAppUserValidate(o.banned_app_users[index], opts.banned_app_users_ItemOptions, `${path}.banned_app_users[${index}]`) - if (banned_app_usersErr !== null) return banned_app_usersErr - } - if (opts.banned_app_users_CustomCheck && !opts.banned_app_users_CustomCheck(o.banned_app_users)) return new Error(`${path}.banned_app_users: custom check failed`) + if (typeof o.alias !== 'string') return new Error(`${path}.alias: is not a string`) + if (opts.alias_CustomCheck && !opts.alias_CustomCheck(o.alias)) return new Error(`${path}.alias: custom check failed`) return null } -export type OpenChannelResponse = { - channelId: string +export type Product = { + id: string + name: string + price_sats: number } -export const OpenChannelResponseOptionalFields: [] = [] -export type OpenChannelResponseOptions = OptionsBaseMessage & { +export const ProductOptionalFields: [] = [] +export type ProductOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - channelId_CustomCheck?: (v: string) => boolean + id_CustomCheck?: (v: string) => boolean + name_CustomCheck?: (v: string) => boolean + price_sats_CustomCheck?: (v: number) => boolean } -export const OpenChannelResponseValidate = (o?: OpenChannelResponse, opts: OpenChannelResponseOptions = {}, path: string = 'OpenChannelResponse::root.'): Error | null => { +export const ProductValidate = (o?: Product, opts: ProductOptions = {}, path: string = 'Product::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.channelId !== 'string') return new Error(`${path}.channelId: is not a string`) - if (opts.channelId_CustomCheck && !opts.channelId_CustomCheck(o.channelId)) return new Error(`${path}.channelId: custom check failed`) + if (typeof o.price_sats !== 'number') return new Error(`${path}.price_sats: is not a number`) + if (opts.price_sats_CustomCheck && !opts.price_sats_CustomCheck(o.price_sats)) return new Error(`${path}.price_sats: custom check failed`) + + if (typeof o.id !== 'string') return new Error(`${path}.id: is not a string`) + if (opts.id_CustomCheck && !opts.id_CustomCheck(o.id)) return new Error(`${path}.id: custom check failed`) + + if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) + if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) return null } -export type UserOperations = { - operations: UserOperation[] - fromIndex: number - toIndex: number +export type RequestNPubLinkingTokenRequest = { + user_identifier: string } -export const UserOperationsOptionalFields: [] = [] -export type UserOperationsOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - fromIndex_CustomCheck?: (v: number) => boolean - toIndex_CustomCheck?: (v: number) => boolean - operations_ItemOptions?: UserOperationOptions - operations_CustomCheck?: (v: UserOperation[]) => boolean +export const RequestNPubLinkingTokenRequestOptionalFields: [] = [] +export type RequestNPubLinkingTokenRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + user_identifier_CustomCheck?: (v: string) => boolean } -export const UserOperationsValidate = (o?: UserOperations, opts: UserOperationsOptions = {}, path: string = 'UserOperations::root.'): Error | null => { +export const RequestNPubLinkingTokenRequestValidate = (o?: RequestNPubLinkingTokenRequest, opts: RequestNPubLinkingTokenRequestOptions = {}, path: string = 'RequestNPubLinkingTokenRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.fromIndex !== 'number') return new Error(`${path}.fromIndex: is not a number`) - if (opts.fromIndex_CustomCheck && !opts.fromIndex_CustomCheck(o.fromIndex)) return new Error(`${path}.fromIndex: custom check failed`) - - if (typeof o.toIndex !== 'number') return new Error(`${path}.toIndex: is not a number`) - if (opts.toIndex_CustomCheck && !opts.toIndex_CustomCheck(o.toIndex)) return new Error(`${path}.toIndex: custom check failed`) - - if (!Array.isArray(o.operations)) return new Error(`${path}.operations: is not an array`) - for (let index = 0; index < o.operations.length; index++) { - const operationsErr = UserOperationValidate(o.operations[index], opts.operations_ItemOptions, `${path}.operations[${index}]`) - if (operationsErr !== null) return operationsErr - } - if (opts.operations_CustomCheck && !opts.operations_CustomCheck(o.operations)) return new Error(`${path}.operations: custom check failed`) + if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) + if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) return null } -export type PaymentState = { - amount: number - service_fee: number - network_fee: number - paid_at_unix: boolean +export type BanUserResponse = { + balance_sats: number + banned_app_users: BannedAppUser[] } -export const PaymentStateOptionalFields: [] = [] -export type PaymentStateOptions = OptionsBaseMessage & { +export const BanUserResponseOptionalFields: [] = [] +export type BanUserResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - paid_at_unix_CustomCheck?: (v: boolean) => boolean - amount_CustomCheck?: (v: number) => boolean - service_fee_CustomCheck?: (v: number) => boolean - network_fee_CustomCheck?: (v: number) => boolean + balance_sats_CustomCheck?: (v: number) => boolean + banned_app_users_ItemOptions?: BannedAppUserOptions + banned_app_users_CustomCheck?: (v: BannedAppUser[]) => boolean } -export const PaymentStateValidate = (o?: PaymentState, opts: PaymentStateOptions = {}, path: string = 'PaymentState::root.'): Error | null => { +export const BanUserResponseValidate = (o?: BanUserResponse, opts: BanUserResponseOptions = {}, path: string = 'BanUserResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.paid_at_unix !== 'boolean') return new Error(`${path}.paid_at_unix: is not a boolean`) - if (opts.paid_at_unix_CustomCheck && !opts.paid_at_unix_CustomCheck(o.paid_at_unix)) return new Error(`${path}.paid_at_unix: custom check failed`) - - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) - - if (typeof o.service_fee !== 'number') return new Error(`${path}.service_fee: is not a number`) - if (opts.service_fee_CustomCheck && !opts.service_fee_CustomCheck(o.service_fee)) return new Error(`${path}.service_fee: custom check failed`) + if (typeof o.balance_sats !== 'number') return new Error(`${path}.balance_sats: is not a number`) + if (opts.balance_sats_CustomCheck && !opts.balance_sats_CustomCheck(o.balance_sats)) return new Error(`${path}.balance_sats: custom check failed`) - if (typeof o.network_fee !== 'number') return new Error(`${path}.network_fee: is not a number`) - if (opts.network_fee_CustomCheck && !opts.network_fee_CustomCheck(o.network_fee)) return new Error(`${path}.network_fee: custom check failed`) + if (!Array.isArray(o.banned_app_users)) return new Error(`${path}.banned_app_users: is not an array`) + for (let index = 0; index < o.banned_app_users.length; index++) { + const banned_app_usersErr = BannedAppUserValidate(o.banned_app_users[index], opts.banned_app_users_ItemOptions, `${path}.banned_app_users[${index}]`) + if (banned_app_usersErr !== null) return banned_app_usersErr + } + if (opts.banned_app_users_CustomCheck && !opts.banned_app_users_CustomCheck(o.banned_app_users)) return new Error(`${path}.banned_app_users: custom check failed`) return null } -export type LiveUserOperation = { - operation: UserOperation +export type GetPaymentStateRequest = { + invoice: string } -export const LiveUserOperationOptionalFields: [] = [] -export type LiveUserOperationOptions = OptionsBaseMessage & { +export const GetPaymentStateRequestOptionalFields: [] = [] +export type GetPaymentStateRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - operation_Options?: UserOperationOptions + invoice_CustomCheck?: (v: string) => boolean } -export const LiveUserOperationValidate = (o?: LiveUserOperation, opts: LiveUserOperationOptions = {}, path: string = 'LiveUserOperation::root.'): Error | null => { +export const GetPaymentStateRequestValidate = (o?: GetPaymentStateRequest, opts: GetPaymentStateRequestOptions = {}, path: string = 'GetPaymentStateRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - const operationErr = UserOperationValidate(o.operation, opts.operation_Options, `${path}.operation`) - if (operationErr !== null) return operationErr - + if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) + if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) return null } -export type EncryptionExchangeRequest = { - publicKey: string - deviceId: string +export type LnurlWithdrawInfoResponse = { + maxWithdrawable: number + balanceCheck: string + payLink: string + tag: string + callback: string + k1: string + defaultDescription: string + minWithdrawable: number } -export const EncryptionExchangeRequestOptionalFields: [] = [] -export type EncryptionExchangeRequestOptions = OptionsBaseMessage & { +export const LnurlWithdrawInfoResponseOptionalFields: [] = [] +export type LnurlWithdrawInfoResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - publicKey_CustomCheck?: (v: string) => boolean - deviceId_CustomCheck?: (v: string) => boolean + defaultDescription_CustomCheck?: (v: string) => boolean + minWithdrawable_CustomCheck?: (v: number) => boolean + maxWithdrawable_CustomCheck?: (v: number) => boolean + balanceCheck_CustomCheck?: (v: string) => boolean + payLink_CustomCheck?: (v: string) => boolean + tag_CustomCheck?: (v: string) => boolean + callback_CustomCheck?: (v: string) => boolean + k1_CustomCheck?: (v: string) => boolean } -export const EncryptionExchangeRequestValidate = (o?: EncryptionExchangeRequest, opts: EncryptionExchangeRequestOptions = {}, path: string = 'EncryptionExchangeRequest::root.'): Error | null => { +export const LnurlWithdrawInfoResponseValidate = (o?: LnurlWithdrawInfoResponse, opts: LnurlWithdrawInfoResponseOptions = {}, path: string = 'LnurlWithdrawInfoResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.publicKey !== 'string') return new Error(`${path}.publicKey: is not a string`) - if (opts.publicKey_CustomCheck && !opts.publicKey_CustomCheck(o.publicKey)) return new Error(`${path}.publicKey: custom check failed`) + if (typeof o.k1 !== 'string') return new Error(`${path}.k1: is not a string`) + if (opts.k1_CustomCheck && !opts.k1_CustomCheck(o.k1)) return new Error(`${path}.k1: custom check failed`) - if (typeof o.deviceId !== 'string') return new Error(`${path}.deviceId: is not a string`) - if (opts.deviceId_CustomCheck && !opts.deviceId_CustomCheck(o.deviceId)) return new Error(`${path}.deviceId: custom check failed`) + if (typeof o.defaultDescription !== 'string') return new Error(`${path}.defaultDescription: is not a string`) + if (opts.defaultDescription_CustomCheck && !opts.defaultDescription_CustomCheck(o.defaultDescription)) return new Error(`${path}.defaultDescription: custom check failed`) + + if (typeof o.minWithdrawable !== 'number') return new Error(`${path}.minWithdrawable: is not a number`) + if (opts.minWithdrawable_CustomCheck && !opts.minWithdrawable_CustomCheck(o.minWithdrawable)) return new Error(`${path}.minWithdrawable: custom check failed`) + + if (typeof o.maxWithdrawable !== 'number') return new Error(`${path}.maxWithdrawable: is not a number`) + if (opts.maxWithdrawable_CustomCheck && !opts.maxWithdrawable_CustomCheck(o.maxWithdrawable)) return new Error(`${path}.maxWithdrawable: custom check failed`) + + if (typeof o.balanceCheck !== 'string') return new Error(`${path}.balanceCheck: is not a string`) + if (opts.balanceCheck_CustomCheck && !opts.balanceCheck_CustomCheck(o.balanceCheck)) return new Error(`${path}.balanceCheck: custom check failed`) + + if (typeof o.payLink !== 'string') return new Error(`${path}.payLink: is not a string`) + if (opts.payLink_CustomCheck && !opts.payLink_CustomCheck(o.payLink)) return new Error(`${path}.payLink: custom check failed`) + + if (typeof o.tag !== 'string') return new Error(`${path}.tag: is not a string`) + if (opts.tag_CustomCheck && !opts.tag_CustomCheck(o.tag)) return new Error(`${path}.tag: custom check failed`) + + if (typeof o.callback !== 'string') return new Error(`${path}.callback: is not a string`) + if (opts.callback_CustomCheck && !opts.callback_CustomCheck(o.callback)) return new Error(`${path}.callback: custom check failed`) return null } @@ -1892,15 +1909,18 @@ export type ChainBalanceEvent = { export const ChainBalanceEventOptionalFields: [] = [] export type ChainBalanceEventOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] + confirmed_balance_CustomCheck?: (v: number) => boolean unconfirmed_balance_CustomCheck?: (v: number) => boolean total_balance_CustomCheck?: (v: number) => boolean block_height_CustomCheck?: (v: number) => boolean - confirmed_balance_CustomCheck?: (v: number) => boolean } export const ChainBalanceEventValidate = (o?: ChainBalanceEvent, opts: ChainBalanceEventOptions = {}, path: string = 'ChainBalanceEvent::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + if (typeof o.confirmed_balance !== 'number') return new Error(`${path}.confirmed_balance: is not a number`) + if (opts.confirmed_balance_CustomCheck && !opts.confirmed_balance_CustomCheck(o.confirmed_balance)) return new Error(`${path}.confirmed_balance: custom check failed`) + if (typeof o.unconfirmed_balance !== 'number') return new Error(`${path}.unconfirmed_balance: is not a number`) if (opts.unconfirmed_balance_CustomCheck && !opts.unconfirmed_balance_CustomCheck(o.unconfirmed_balance)) return new Error(`${path}.unconfirmed_balance: custom check failed`) @@ -1910,230 +1930,189 @@ export const ChainBalanceEventValidate = (o?: ChainBalanceEvent, opts: ChainBala if (typeof o.block_height !== 'number') return new Error(`${path}.block_height: is not a number`) if (opts.block_height_CustomCheck && !opts.block_height_CustomCheck(o.block_height)) return new Error(`${path}.block_height: custom check failed`) - if (typeof o.confirmed_balance !== 'number') return new Error(`${path}.confirmed_balance: is not a number`) - if (opts.confirmed_balance_CustomCheck && !opts.confirmed_balance_CustomCheck(o.confirmed_balance)) return new Error(`${path}.confirmed_balance: custom check failed`) - return null } -export type AppUser = { - identifier: string - info: UserInfo - max_withdrawable: number +export type LndGetInfoRequest = { + nodeId: number } -export const AppUserOptionalFields: [] = [] -export type AppUserOptions = OptionsBaseMessage & { +export const LndGetInfoRequestOptionalFields: [] = [] +export type LndGetInfoRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - identifier_CustomCheck?: (v: string) => boolean - info_Options?: UserInfoOptions - max_withdrawable_CustomCheck?: (v: number) => boolean + nodeId_CustomCheck?: (v: number) => boolean } -export const AppUserValidate = (o?: AppUser, opts: AppUserOptions = {}, path: string = 'AppUser::root.'): Error | null => { +export const LndGetInfoRequestValidate = (o?: LndGetInfoRequest, opts: LndGetInfoRequestOptions = {}, path: string = 'LndGetInfoRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.max_withdrawable !== 'number') return new Error(`${path}.max_withdrawable: is not a number`) - if (opts.max_withdrawable_CustomCheck && !opts.max_withdrawable_CustomCheck(o.max_withdrawable)) return new Error(`${path}.max_withdrawable: custom check failed`) - - if (typeof o.identifier !== 'string') return new Error(`${path}.identifier: is not a string`) - if (opts.identifier_CustomCheck && !opts.identifier_CustomCheck(o.identifier)) return new Error(`${path}.identifier: custom check failed`) - - const infoErr = UserInfoValidate(o.info, opts.info_Options, `${path}.info`) - if (infoErr !== null) return infoErr - + if (typeof o.nodeId !== 'number') return new Error(`${path}.nodeId: is not a number`) + if (opts.nodeId_CustomCheck && !opts.nodeId_CustomCheck(o.nodeId)) return new Error(`${path}.nodeId: custom check failed`) return null } -export type DecodeInvoiceResponse = { +export type SetMockInvoiceAsPaidRequest = { + invoice: string amount: number } -export const DecodeInvoiceResponseOptionalFields: [] = [] -export type DecodeInvoiceResponseOptions = OptionsBaseMessage & { +export const SetMockInvoiceAsPaidRequestOptionalFields: [] = [] +export type SetMockInvoiceAsPaidRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] + invoice_CustomCheck?: (v: string) => boolean amount_CustomCheck?: (v: number) => boolean } -export const DecodeInvoiceResponseValidate = (o?: DecodeInvoiceResponse, opts: DecodeInvoiceResponseOptions = {}, path: string = 'DecodeInvoiceResponse::root.'): Error | null => { +export const SetMockInvoiceAsPaidRequestValidate = (o?: SetMockInvoiceAsPaidRequest, opts: SetMockInvoiceAsPaidRequestOptions = {}, path: string = 'SetMockInvoiceAsPaidRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) + if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) return null } -export type AuthApp = { - app: Application - auth_token: string -} -export const AuthAppOptionalFields: [] = [] -export type AuthAppOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: [] - app_Options?: ApplicationOptions - auth_token_CustomCheck?: (v: string) => boolean -} -export const AuthAppValidate = (o?: AuthApp, opts: AuthAppOptions = {}, path: string = 'AuthApp::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - - const appErr = ApplicationValidate(o.app, opts.app_Options, `${path}.app`) - if (appErr !== null) return appErr - - - if (typeof o.auth_token !== 'string') return new Error(`${path}.auth_token: is not a string`) - if (opts.auth_token_CustomCheck && !opts.auth_token_CustomCheck(o.auth_token)) return new Error(`${path}.auth_token: custom check failed`) - - return null -} - -export type PayAddressResponse = { - network_fee: number - txId: string - operation_id: string - service_fee: number +export type BannedAppUser = { + app_name: string + app_id: string + user_identifier: string + nostr_pub: string } -export const PayAddressResponseOptionalFields: [] = [] -export type PayAddressResponseOptions = OptionsBaseMessage & { +export const BannedAppUserOptionalFields: [] = [] +export type BannedAppUserOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - txId_CustomCheck?: (v: string) => boolean - operation_id_CustomCheck?: (v: string) => boolean - service_fee_CustomCheck?: (v: number) => boolean - network_fee_CustomCheck?: (v: number) => boolean + app_name_CustomCheck?: (v: string) => boolean + app_id_CustomCheck?: (v: string) => boolean + user_identifier_CustomCheck?: (v: string) => boolean + nostr_pub_CustomCheck?: (v: string) => boolean } -export const PayAddressResponseValidate = (o?: PayAddressResponse, opts: PayAddressResponseOptions = {}, path: string = 'PayAddressResponse::root.'): Error | null => { +export const BannedAppUserValidate = (o?: BannedAppUser, opts: BannedAppUserOptions = {}, path: string = 'BannedAppUser::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.txId !== 'string') return new Error(`${path}.txId: is not a string`) - if (opts.txId_CustomCheck && !opts.txId_CustomCheck(o.txId)) return new Error(`${path}.txId: custom check failed`) + if (typeof o.app_name !== 'string') return new Error(`${path}.app_name: is not a string`) + if (opts.app_name_CustomCheck && !opts.app_name_CustomCheck(o.app_name)) return new Error(`${path}.app_name: custom check failed`) - if (typeof o.operation_id !== 'string') return new Error(`${path}.operation_id: is not a string`) - if (opts.operation_id_CustomCheck && !opts.operation_id_CustomCheck(o.operation_id)) return new Error(`${path}.operation_id: custom check failed`) + if (typeof o.app_id !== 'string') return new Error(`${path}.app_id: is not a string`) + if (opts.app_id_CustomCheck && !opts.app_id_CustomCheck(o.app_id)) return new Error(`${path}.app_id: custom check failed`) - if (typeof o.service_fee !== 'number') return new Error(`${path}.service_fee: is not a number`) - if (opts.service_fee_CustomCheck && !opts.service_fee_CustomCheck(o.service_fee)) return new Error(`${path}.service_fee: custom check failed`) + if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) + if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) - if (typeof o.network_fee !== 'number') return new Error(`${path}.network_fee: is not a number`) - if (opts.network_fee_CustomCheck && !opts.network_fee_CustomCheck(o.network_fee)) return new Error(`${path}.network_fee: custom check failed`) + if (typeof o.nostr_pub !== 'string') return new Error(`${path}.nostr_pub: is not a string`) + if (opts.nostr_pub_CustomCheck && !opts.nostr_pub_CustomCheck(o.nostr_pub)) return new Error(`${path}.nostr_pub: custom check failed`) return null } -export type LnurlPayInfoResponse = { - tag: string - callback: string - maxSendable: number - minSendable: number - metadata: string - allowsNostr: boolean - nostrPubkey: string +export type GetUserOperationsResponse = { + latestIncomingInvoiceOperations: UserOperations + latestOutgoingTxOperations: UserOperations + latestIncomingTxOperations: UserOperations + latestOutgoingUserToUserPayemnts: UserOperations + latestIncomingUserToUserPayemnts: UserOperations + latestOutgoingInvoiceOperations: UserOperations } -export const LnurlPayInfoResponseOptionalFields: [] = [] -export type LnurlPayInfoResponseOptions = OptionsBaseMessage & { +export const GetUserOperationsResponseOptionalFields: [] = [] +export type GetUserOperationsResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - maxSendable_CustomCheck?: (v: number) => boolean - minSendable_CustomCheck?: (v: number) => boolean - metadata_CustomCheck?: (v: string) => boolean - allowsNostr_CustomCheck?: (v: boolean) => boolean - nostrPubkey_CustomCheck?: (v: string) => boolean - tag_CustomCheck?: (v: string) => boolean - callback_CustomCheck?: (v: string) => boolean + latestIncomingInvoiceOperations_Options?: UserOperationsOptions + latestOutgoingTxOperations_Options?: UserOperationsOptions + latestIncomingTxOperations_Options?: UserOperationsOptions + latestOutgoingUserToUserPayemnts_Options?: UserOperationsOptions + latestIncomingUserToUserPayemnts_Options?: UserOperationsOptions + latestOutgoingInvoiceOperations_Options?: UserOperationsOptions } -export const LnurlPayInfoResponseValidate = (o?: LnurlPayInfoResponse, opts: LnurlPayInfoResponseOptions = {}, path: string = 'LnurlPayInfoResponse::root.'): Error | null => { +export const GetUserOperationsResponseValidate = (o?: GetUserOperationsResponse, opts: GetUserOperationsResponseOptions = {}, path: string = 'GetUserOperationsResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.tag !== 'string') return new Error(`${path}.tag: is not a string`) - if (opts.tag_CustomCheck && !opts.tag_CustomCheck(o.tag)) return new Error(`${path}.tag: custom check failed`) - - if (typeof o.callback !== 'string') return new Error(`${path}.callback: is not a string`) - if (opts.callback_CustomCheck && !opts.callback_CustomCheck(o.callback)) return new Error(`${path}.callback: custom check failed`) + const latestOutgoingTxOperationsErr = UserOperationsValidate(o.latestOutgoingTxOperations, opts.latestOutgoingTxOperations_Options, `${path}.latestOutgoingTxOperations`) + if (latestOutgoingTxOperationsErr !== null) return latestOutgoingTxOperationsErr + - if (typeof o.maxSendable !== 'number') return new Error(`${path}.maxSendable: is not a number`) - if (opts.maxSendable_CustomCheck && !opts.maxSendable_CustomCheck(o.maxSendable)) return new Error(`${path}.maxSendable: custom check failed`) + const latestIncomingTxOperationsErr = UserOperationsValidate(o.latestIncomingTxOperations, opts.latestIncomingTxOperations_Options, `${path}.latestIncomingTxOperations`) + if (latestIncomingTxOperationsErr !== null) return latestIncomingTxOperationsErr + - if (typeof o.minSendable !== 'number') return new Error(`${path}.minSendable: is not a number`) - if (opts.minSendable_CustomCheck && !opts.minSendable_CustomCheck(o.minSendable)) return new Error(`${path}.minSendable: custom check failed`) + const latestOutgoingUserToUserPayemntsErr = UserOperationsValidate(o.latestOutgoingUserToUserPayemnts, opts.latestOutgoingUserToUserPayemnts_Options, `${path}.latestOutgoingUserToUserPayemnts`) + if (latestOutgoingUserToUserPayemntsErr !== null) return latestOutgoingUserToUserPayemntsErr + - if (typeof o.metadata !== 'string') return new Error(`${path}.metadata: is not a string`) - if (opts.metadata_CustomCheck && !opts.metadata_CustomCheck(o.metadata)) return new Error(`${path}.metadata: custom check failed`) + const latestIncomingUserToUserPayemntsErr = UserOperationsValidate(o.latestIncomingUserToUserPayemnts, opts.latestIncomingUserToUserPayemnts_Options, `${path}.latestIncomingUserToUserPayemnts`) + if (latestIncomingUserToUserPayemntsErr !== null) return latestIncomingUserToUserPayemntsErr + - if (typeof o.allowsNostr !== 'boolean') return new Error(`${path}.allowsNostr: is not a boolean`) - if (opts.allowsNostr_CustomCheck && !opts.allowsNostr_CustomCheck(o.allowsNostr)) return new Error(`${path}.allowsNostr: custom check failed`) + const latestOutgoingInvoiceOperationsErr = UserOperationsValidate(o.latestOutgoingInvoiceOperations, opts.latestOutgoingInvoiceOperations_Options, `${path}.latestOutgoingInvoiceOperations`) + if (latestOutgoingInvoiceOperationsErr !== null) return latestOutgoingInvoiceOperationsErr + - if (typeof o.nostrPubkey !== 'string') return new Error(`${path}.nostrPubkey: is not a string`) - if (opts.nostrPubkey_CustomCheck && !opts.nostrPubkey_CustomCheck(o.nostrPubkey)) return new Error(`${path}.nostrPubkey: custom check failed`) + const latestIncomingInvoiceOperationsErr = UserOperationsValidate(o.latestIncomingInvoiceOperations, opts.latestIncomingInvoiceOperations_Options, `${path}.latestIncomingInvoiceOperations`) + if (latestIncomingInvoiceOperationsErr !== null) return latestIncomingInvoiceOperationsErr + return null } -export type EnrollAdminTokenRequest = { - admin_token: string +export type OpenChannel = { + channel_id: string + capacity: number + active: boolean + lifetime: number + local_balance: number + remote_balance: number } -export const EnrollAdminTokenRequestOptionalFields: [] = [] -export type EnrollAdminTokenRequestOptions = OptionsBaseMessage & { +export const OpenChannelOptionalFields: [] = [] +export type OpenChannelOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - admin_token_CustomCheck?: (v: string) => boolean + channel_id_CustomCheck?: (v: string) => boolean + capacity_CustomCheck?: (v: number) => boolean + active_CustomCheck?: (v: boolean) => boolean + lifetime_CustomCheck?: (v: number) => boolean + local_balance_CustomCheck?: (v: number) => boolean + remote_balance_CustomCheck?: (v: number) => boolean } -export const EnrollAdminTokenRequestValidate = (o?: EnrollAdminTokenRequest, opts: EnrollAdminTokenRequestOptions = {}, path: string = 'EnrollAdminTokenRequest::root.'): Error | null => { +export const OpenChannelValidate = (o?: OpenChannel, opts: OpenChannelOptions = {}, path: string = 'OpenChannel::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.admin_token !== 'string') return new Error(`${path}.admin_token: is not a string`) - if (opts.admin_token_CustomCheck && !opts.admin_token_CustomCheck(o.admin_token)) return new Error(`${path}.admin_token: custom check failed`) + if (typeof o.channel_id !== 'string') return new Error(`${path}.channel_id: is not a string`) + if (opts.channel_id_CustomCheck && !opts.channel_id_CustomCheck(o.channel_id)) return new Error(`${path}.channel_id: custom check failed`) - return null -} + if (typeof o.capacity !== 'number') return new Error(`${path}.capacity: is not a number`) + if (opts.capacity_CustomCheck && !opts.capacity_CustomCheck(o.capacity)) return new Error(`${path}.capacity: custom check failed`) -export type AppsMetricsRequest = { - from_unix?: number - to_unix?: number - include_operations?: boolean -} -export type AppsMetricsRequestOptionalField = 'from_unix' | 'to_unix' | 'include_operations' -export const AppsMetricsRequestOptionalFields: AppsMetricsRequestOptionalField[] = ['from_unix', 'to_unix', 'include_operations'] -export type AppsMetricsRequestOptions = OptionsBaseMessage & { - checkOptionalsAreSet?: AppsMetricsRequestOptionalField[] - from_unix_CustomCheck?: (v?: number) => boolean - to_unix_CustomCheck?: (v?: number) => boolean - include_operations_CustomCheck?: (v?: boolean) => boolean -} -export const AppsMetricsRequestValidate = (o?: AppsMetricsRequest, opts: AppsMetricsRequestOptions = {}, path: string = 'AppsMetricsRequest::root.'): Error | null => { - if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') - if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + if (typeof o.active !== 'boolean') return new Error(`${path}.active: is not a boolean`) + if (opts.active_CustomCheck && !opts.active_CustomCheck(o.active)) return new Error(`${path}.active: custom check failed`) - if ((o.from_unix || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('from_unix')) && typeof o.from_unix !== 'number') return new Error(`${path}.from_unix: is not a number`) - if (opts.from_unix_CustomCheck && !opts.from_unix_CustomCheck(o.from_unix)) return new Error(`${path}.from_unix: custom check failed`) + if (typeof o.lifetime !== 'number') return new Error(`${path}.lifetime: is not a number`) + if (opts.lifetime_CustomCheck && !opts.lifetime_CustomCheck(o.lifetime)) return new Error(`${path}.lifetime: custom check failed`) - if ((o.to_unix || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('to_unix')) && typeof o.to_unix !== 'number') return new Error(`${path}.to_unix: is not a number`) - if (opts.to_unix_CustomCheck && !opts.to_unix_CustomCheck(o.to_unix)) return new Error(`${path}.to_unix: custom check failed`) + if (typeof o.local_balance !== 'number') return new Error(`${path}.local_balance: is not a number`) + if (opts.local_balance_CustomCheck && !opts.local_balance_CustomCheck(o.local_balance)) return new Error(`${path}.local_balance: custom check failed`) - if ((o.include_operations || opts.allOptionalsAreSet || opts.checkOptionalsAreSet?.includes('include_operations')) && typeof o.include_operations !== 'boolean') return new Error(`${path}.include_operations: is not a boolean`) - if (opts.include_operations_CustomCheck && !opts.include_operations_CustomCheck(o.include_operations)) return new Error(`${path}.include_operations: custom check failed`) + if (typeof o.remote_balance !== 'number') return new Error(`${path}.remote_balance: is not a number`) + if (opts.remote_balance_CustomCheck && !opts.remote_balance_CustomCheck(o.remote_balance)) return new Error(`${path}.remote_balance: custom check failed`) return null } -export type AddAppRequest = { - name: string - allow_user_creation: boolean +export type BanUserRequest = { + user_id: string } -export const AddAppRequestOptionalFields: [] = [] -export type AddAppRequestOptions = OptionsBaseMessage & { +export const BanUserRequestOptionalFields: [] = [] +export type BanUserRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - name_CustomCheck?: (v: string) => boolean - allow_user_creation_CustomCheck?: (v: boolean) => boolean + user_id_CustomCheck?: (v: string) => boolean } -export const AddAppRequestValidate = (o?: AddAppRequest, opts: AddAppRequestOptions = {}, path: string = 'AddAppRequest::root.'): Error | null => { +export const BanUserRequestValidate = (o?: BanUserRequest, opts: BanUserRequestOptions = {}, path: string = 'BanUserRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) - if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) - - if (typeof o.allow_user_creation !== 'boolean') return new Error(`${path}.allow_user_creation: is not a boolean`) - if (opts.allow_user_creation_CustomCheck && !opts.allow_user_creation_CustomCheck(o.allow_user_creation)) return new Error(`${path}.allow_user_creation: custom check failed`) + if (typeof o.user_id !== 'string') return new Error(`${path}.user_id: is not a string`) + if (opts.user_id_CustomCheck && !opts.user_id_CustomCheck(o.user_id)) return new Error(`${path}.user_id: custom check failed`) return null } @@ -2146,9 +2125,9 @@ export type SendAppUserToAppUserPaymentRequest = { export const SendAppUserToAppUserPaymentRequestOptionalFields: [] = [] export type SendAppUserToAppUserPaymentRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - to_user_identifier_CustomCheck?: (v: string) => boolean amount_CustomCheck?: (v: number) => boolean from_user_identifier_CustomCheck?: (v: string) => boolean + to_user_identifier_CustomCheck?: (v: string) => boolean } export const SendAppUserToAppUserPaymentRequestValidate = (o?: SendAppUserToAppUserPaymentRequest, opts: SendAppUserToAppUserPaymentRequestOptions = {}, path: string = 'SendAppUserToAppUserPaymentRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') @@ -2166,116 +2145,133 @@ export const SendAppUserToAppUserPaymentRequestValidate = (o?: SendAppUserToAppU return null } -export type PayAppUserInvoiceRequest = { - user_identifier: string - invoice: string - amount: number +export type NewAddressRequest = { + addressType: AddressType } -export const PayAppUserInvoiceRequestOptionalFields: [] = [] -export type PayAppUserInvoiceRequestOptions = OptionsBaseMessage & { +export const NewAddressRequestOptionalFields: [] = [] +export type NewAddressRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - invoice_CustomCheck?: (v: string) => boolean - amount_CustomCheck?: (v: number) => boolean - user_identifier_CustomCheck?: (v: string) => boolean + addressType_CustomCheck?: (v: AddressType) => boolean } -export const PayAppUserInvoiceRequestValidate = (o?: PayAppUserInvoiceRequest, opts: PayAppUserInvoiceRequestOptions = {}, path: string = 'PayAppUserInvoiceRequest::root.'): Error | null => { +export const NewAddressRequestValidate = (o?: NewAddressRequest, opts: NewAddressRequestOptions = {}, path: string = 'NewAddressRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) - if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) - - if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) - if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) - - if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) - if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) + if (!enumCheckAddressType(o.addressType)) return new Error(`${path}.addressType: is not a valid AddressType`) + if (opts.addressType_CustomCheck && !opts.addressType_CustomCheck(o.addressType)) return new Error(`${path}.addressType: custom check failed`) return null } -export type PayInvoiceResponse = { - preimage: string - amount_paid: number - operation_id: string - service_fee: number - network_fee: number +export type PayAddressRequest = { + satsPerVByte: number + address: string + amoutSats: number } -export const PayInvoiceResponseOptionalFields: [] = [] -export type PayInvoiceResponseOptions = OptionsBaseMessage & { +export const PayAddressRequestOptionalFields: [] = [] +export type PayAddressRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - amount_paid_CustomCheck?: (v: number) => boolean - operation_id_CustomCheck?: (v: string) => boolean - service_fee_CustomCheck?: (v: number) => boolean - network_fee_CustomCheck?: (v: number) => boolean - preimage_CustomCheck?: (v: string) => boolean + address_CustomCheck?: (v: string) => boolean + amoutSats_CustomCheck?: (v: number) => boolean + satsPerVByte_CustomCheck?: (v: number) => boolean } -export const PayInvoiceResponseValidate = (o?: PayInvoiceResponse, opts: PayInvoiceResponseOptions = {}, path: string = 'PayInvoiceResponse::root.'): Error | null => { +export const PayAddressRequestValidate = (o?: PayAddressRequest, opts: PayAddressRequestOptions = {}, path: string = 'PayAddressRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.network_fee !== 'number') return new Error(`${path}.network_fee: is not a number`) - if (opts.network_fee_CustomCheck && !opts.network_fee_CustomCheck(o.network_fee)) return new Error(`${path}.network_fee: custom check failed`) - - if (typeof o.preimage !== 'string') return new Error(`${path}.preimage: is not a string`) - if (opts.preimage_CustomCheck && !opts.preimage_CustomCheck(o.preimage)) return new Error(`${path}.preimage: custom check failed`) - - if (typeof o.amount_paid !== 'number') return new Error(`${path}.amount_paid: is not a number`) - if (opts.amount_paid_CustomCheck && !opts.amount_paid_CustomCheck(o.amount_paid)) return new Error(`${path}.amount_paid: custom check failed`) + if (typeof o.address !== 'string') return new Error(`${path}.address: is not a string`) + if (opts.address_CustomCheck && !opts.address_CustomCheck(o.address)) return new Error(`${path}.address: custom check failed`) - if (typeof o.operation_id !== 'string') return new Error(`${path}.operation_id: is not a string`) - if (opts.operation_id_CustomCheck && !opts.operation_id_CustomCheck(o.operation_id)) return new Error(`${path}.operation_id: custom check failed`) + if (typeof o.amoutSats !== 'number') return new Error(`${path}.amoutSats: is not a number`) + if (opts.amoutSats_CustomCheck && !opts.amoutSats_CustomCheck(o.amoutSats)) return new Error(`${path}.amoutSats: custom check failed`) - if (typeof o.service_fee !== 'number') return new Error(`${path}.service_fee: is not a number`) - if (opts.service_fee_CustomCheck && !opts.service_fee_CustomCheck(o.service_fee)) return new Error(`${path}.service_fee: custom check failed`) + if (typeof o.satsPerVByte !== 'number') return new Error(`${path}.satsPerVByte: is not a number`) + if (opts.satsPerVByte_CustomCheck && !opts.satsPerVByte_CustomCheck(o.satsPerVByte)) return new Error(`${path}.satsPerVByte: custom check failed`) return null } -export type HandleLnurlPayResponse = { - pr: string - routes: Empty[] +export type AppMetrics = { + app: Application + received: number + available: number + operations: UserOperation[] + users: UsersInfo + spent: number + fees: number + invoices: number + total_fees: number } -export const HandleLnurlPayResponseOptionalFields: [] = [] -export type HandleLnurlPayResponseOptions = OptionsBaseMessage & { +export const AppMetricsOptionalFields: [] = [] +export type AppMetricsOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - pr_CustomCheck?: (v: string) => boolean - routes_ItemOptions?: EmptyOptions - routes_CustomCheck?: (v: Empty[]) => boolean + app_Options?: ApplicationOptions + received_CustomCheck?: (v: number) => boolean + available_CustomCheck?: (v: number) => boolean + users_Options?: UsersInfoOptions + spent_CustomCheck?: (v: number) => boolean + fees_CustomCheck?: (v: number) => boolean + invoices_CustomCheck?: (v: number) => boolean + total_fees_CustomCheck?: (v: number) => boolean + operations_ItemOptions?: UserOperationOptions + operations_CustomCheck?: (v: UserOperation[]) => boolean } -export const HandleLnurlPayResponseValidate = (o?: HandleLnurlPayResponse, opts: HandleLnurlPayResponseOptions = {}, path: string = 'HandleLnurlPayResponse::root.'): Error | null => { +export const AppMetricsValidate = (o?: AppMetrics, opts: AppMetricsOptions = {}, path: string = 'AppMetrics::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.pr !== 'string') return new Error(`${path}.pr: is not a string`) - if (opts.pr_CustomCheck && !opts.pr_CustomCheck(o.pr)) return new Error(`${path}.pr: custom check failed`) + if (typeof o.fees !== 'number') return new Error(`${path}.fees: is not a number`) + if (opts.fees_CustomCheck && !opts.fees_CustomCheck(o.fees)) return new Error(`${path}.fees: custom check failed`) + + if (typeof o.invoices !== 'number') return new Error(`${path}.invoices: is not a number`) + if (opts.invoices_CustomCheck && !opts.invoices_CustomCheck(o.invoices)) return new Error(`${path}.invoices: custom check failed`) + + if (typeof o.total_fees !== 'number') return new Error(`${path}.total_fees: is not a number`) + if (opts.total_fees_CustomCheck && !opts.total_fees_CustomCheck(o.total_fees)) return new Error(`${path}.total_fees: custom check failed`) + + if (!Array.isArray(o.operations)) return new Error(`${path}.operations: is not an array`) + for (let index = 0; index < o.operations.length; index++) { + const operationsErr = UserOperationValidate(o.operations[index], opts.operations_ItemOptions, `${path}.operations[${index}]`) + if (operationsErr !== null) return operationsErr + } + if (opts.operations_CustomCheck && !opts.operations_CustomCheck(o.operations)) return new Error(`${path}.operations: custom check failed`) + + const usersErr = UsersInfoValidate(o.users, opts.users_Options, `${path}.users`) + if (usersErr !== null) return usersErr + + + if (typeof o.spent !== 'number') return new Error(`${path}.spent: is not a number`) + if (opts.spent_CustomCheck && !opts.spent_CustomCheck(o.spent)) return new Error(`${path}.spent: custom check failed`) + + if (typeof o.available !== 'number') return new Error(`${path}.available: is not a number`) + if (opts.available_CustomCheck && !opts.available_CustomCheck(o.available)) return new Error(`${path}.available: custom check failed`) + + const appErr = ApplicationValidate(o.app, opts.app_Options, `${path}.app`) + if (appErr !== null) return appErr + - if (!Array.isArray(o.routes)) return new Error(`${path}.routes: is not an array`) - for (let index = 0; index < o.routes.length; index++) { - const routesErr = EmptyValidate(o.routes[index], opts.routes_ItemOptions, `${path}.routes[${index}]`) - if (routesErr !== null) return routesErr - } - if (opts.routes_CustomCheck && !opts.routes_CustomCheck(o.routes)) return new Error(`${path}.routes: custom check failed`) + if (typeof o.received !== 'number') return new Error(`${path}.received: is not a number`) + if (opts.received_CustomCheck && !opts.received_CustomCheck(o.received)) return new Error(`${path}.received: custom check failed`) return null } -export type SendAppUserToAppPaymentRequest = { - from_user_identifier: string +export type PayInvoiceRequest = { + invoice: string amount: number } -export const SendAppUserToAppPaymentRequestOptionalFields: [] = [] -export type SendAppUserToAppPaymentRequestOptions = OptionsBaseMessage & { +export const PayInvoiceRequestOptionalFields: [] = [] +export type PayInvoiceRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - from_user_identifier_CustomCheck?: (v: string) => boolean + invoice_CustomCheck?: (v: string) => boolean amount_CustomCheck?: (v: number) => boolean } -export const SendAppUserToAppPaymentRequestValidate = (o?: SendAppUserToAppPaymentRequest, opts: SendAppUserToAppPaymentRequestOptions = {}, path: string = 'SendAppUserToAppPaymentRequest::root.'): Error | null => { +export const PayInvoiceRequestValidate = (o?: PayInvoiceRequest, opts: PayInvoiceRequestOptions = {}, path: string = 'PayInvoiceRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.from_user_identifier !== 'string') return new Error(`${path}.from_user_identifier: is not a string`) - if (opts.from_user_identifier_CustomCheck && !opts.from_user_identifier_CustomCheck(o.from_user_identifier)) return new Error(`${path}.from_user_identifier: custom check failed`) + if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) + if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) @@ -2283,188 +2279,192 @@ export const SendAppUserToAppPaymentRequestValidate = (o?: SendAppUserToAppPayme return null } -export type DecodeInvoiceRequest = { - invoice: string +export type OpenChannelResponse = { + channelId: string } -export const DecodeInvoiceRequestOptionalFields: [] = [] -export type DecodeInvoiceRequestOptions = OptionsBaseMessage & { +export const OpenChannelResponseOptionalFields: [] = [] +export type OpenChannelResponseOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - invoice_CustomCheck?: (v: string) => boolean + channelId_CustomCheck?: (v: string) => boolean } -export const DecodeInvoiceRequestValidate = (o?: DecodeInvoiceRequest, opts: DecodeInvoiceRequestOptions = {}, path: string = 'DecodeInvoiceRequest::root.'): Error | null => { +export const OpenChannelResponseValidate = (o?: OpenChannelResponse, opts: OpenChannelResponseOptions = {}, path: string = 'OpenChannelResponse::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.invoice !== 'string') return new Error(`${path}.invoice: is not a string`) - if (opts.invoice_CustomCheck && !opts.invoice_CustomCheck(o.invoice)) return new Error(`${path}.invoice: custom check failed`) + if (typeof o.channelId !== 'string') return new Error(`${path}.channelId: is not a string`) + if (opts.channelId_CustomCheck && !opts.channelId_CustomCheck(o.channelId)) return new Error(`${path}.channelId: custom check failed`) return null } -export type LinkNPubThroughTokenRequest = { - token: string - nostr_pub: string +export type UserOperations = { + fromIndex: number + toIndex: number + operations: UserOperation[] } -export const LinkNPubThroughTokenRequestOptionalFields: [] = [] -export type LinkNPubThroughTokenRequestOptions = OptionsBaseMessage & { +export const UserOperationsOptionalFields: [] = [] +export type UserOperationsOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - token_CustomCheck?: (v: string) => boolean - nostr_pub_CustomCheck?: (v: string) => boolean + fromIndex_CustomCheck?: (v: number) => boolean + toIndex_CustomCheck?: (v: number) => boolean + operations_ItemOptions?: UserOperationOptions + operations_CustomCheck?: (v: UserOperation[]) => boolean } -export const LinkNPubThroughTokenRequestValidate = (o?: LinkNPubThroughTokenRequest, opts: LinkNPubThroughTokenRequestOptions = {}, path: string = 'LinkNPubThroughTokenRequest::root.'): Error | null => { +export const UserOperationsValidate = (o?: UserOperations, opts: UserOperationsOptions = {}, path: string = 'UserOperations::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.token !== 'string') return new Error(`${path}.token: is not a string`) - if (opts.token_CustomCheck && !opts.token_CustomCheck(o.token)) return new Error(`${path}.token: custom check failed`) + if (typeof o.fromIndex !== 'number') return new Error(`${path}.fromIndex: is not a number`) + if (opts.fromIndex_CustomCheck && !opts.fromIndex_CustomCheck(o.fromIndex)) return new Error(`${path}.fromIndex: custom check failed`) - if (typeof o.nostr_pub !== 'string') return new Error(`${path}.nostr_pub: is not a string`) - if (opts.nostr_pub_CustomCheck && !opts.nostr_pub_CustomCheck(o.nostr_pub)) return new Error(`${path}.nostr_pub: custom check failed`) + if (typeof o.toIndex !== 'number') return new Error(`${path}.toIndex: is not a number`) + if (opts.toIndex_CustomCheck && !opts.toIndex_CustomCheck(o.toIndex)) return new Error(`${path}.toIndex: custom check failed`) + + if (!Array.isArray(o.operations)) return new Error(`${path}.operations: is not an array`) + for (let index = 0; index < o.operations.length; index++) { + const operationsErr = UserOperationValidate(o.operations[index], opts.operations_ItemOptions, `${path}.operations[${index}]`) + if (operationsErr !== null) return operationsErr + } + if (opts.operations_CustomCheck && !opts.operations_CustomCheck(o.operations)) return new Error(`${path}.operations: custom check failed`) return null } -export type HttpCreds = { - url: string - token: string +export type UsageMetrics = { + metrics: UsageMetric[] } -export const HttpCredsOptionalFields: [] = [] -export type HttpCredsOptions = OptionsBaseMessage & { +export const UsageMetricsOptionalFields: [] = [] +export type UsageMetricsOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - url_CustomCheck?: (v: string) => boolean - token_CustomCheck?: (v: string) => boolean + metrics_ItemOptions?: UsageMetricOptions + metrics_CustomCheck?: (v: UsageMetric[]) => boolean } -export const HttpCredsValidate = (o?: HttpCreds, opts: HttpCredsOptions = {}, path: string = 'HttpCreds::root.'): Error | null => { +export const UsageMetricsValidate = (o?: UsageMetrics, opts: UsageMetricsOptions = {}, path: string = 'UsageMetrics::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.url !== 'string') return new Error(`${path}.url: is not a string`) - if (opts.url_CustomCheck && !opts.url_CustomCheck(o.url)) return new Error(`${path}.url: custom check failed`) - - if (typeof o.token !== 'string') return new Error(`${path}.token: is not a string`) - if (opts.token_CustomCheck && !opts.token_CustomCheck(o.token)) return new Error(`${path}.token: custom check failed`) + if (!Array.isArray(o.metrics)) return new Error(`${path}.metrics: is not an array`) + for (let index = 0; index < o.metrics.length; index++) { + const metricsErr = UsageMetricValidate(o.metrics[index], opts.metrics_ItemOptions, `${path}.metrics[${index}]`) + if (metricsErr !== null) return metricsErr + } + if (opts.metrics_CustomCheck && !opts.metrics_CustomCheck(o.metrics)) return new Error(`${path}.metrics: custom check failed`) return null } -export type Empty = { +export type AddAppInvoiceRequest = { + payer_identifier: string + http_callback_url: string + invoice_req: NewInvoiceRequest } -export const EmptyOptionalFields: [] = [] -export type EmptyOptions = OptionsBaseMessage & { +export const AddAppInvoiceRequestOptionalFields: [] = [] +export type AddAppInvoiceRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] + payer_identifier_CustomCheck?: (v: string) => boolean + http_callback_url_CustomCheck?: (v: string) => boolean + invoice_req_Options?: NewInvoiceRequestOptions } -export const EmptyValidate = (o?: Empty, opts: EmptyOptions = {}, path: string = 'Empty::root.'): Error | null => { +export const AddAppInvoiceRequestValidate = (o?: AddAppInvoiceRequest, opts: AddAppInvoiceRequestOptions = {}, path: string = 'AddAppInvoiceRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') + const invoice_reqErr = NewInvoiceRequestValidate(o.invoice_req, opts.invoice_req_Options, `${path}.invoice_req`) + if (invoice_reqErr !== null) return invoice_reqErr + + + if (typeof o.payer_identifier !== 'string') return new Error(`${path}.payer_identifier: is not a string`) + if (opts.payer_identifier_CustomCheck && !opts.payer_identifier_CustomCheck(o.payer_identifier)) return new Error(`${path}.payer_identifier: custom check failed`) + + if (typeof o.http_callback_url !== 'string') return new Error(`${path}.http_callback_url: is not a string`) + if (opts.http_callback_url_CustomCheck && !opts.http_callback_url_CustomCheck(o.http_callback_url)) return new Error(`${path}.http_callback_url: custom check failed`) + return null } -export type UsageMetric = { - processed_at_ms: number - validate_in_nano: number - batch: boolean - nostr: boolean - batch_size: number - parsed_in_nano: number - auth_in_nano: number - handle_in_nano: number - rpc_name: string +export type GetAppUserLNURLInfoRequest = { + user_identifier: string + base_url_override: string } -export const UsageMetricOptionalFields: [] = [] -export type UsageMetricOptions = OptionsBaseMessage & { +export const GetAppUserLNURLInfoRequestOptionalFields: [] = [] +export type GetAppUserLNURLInfoRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - parsed_in_nano_CustomCheck?: (v: number) => boolean - auth_in_nano_CustomCheck?: (v: number) => boolean - handle_in_nano_CustomCheck?: (v: number) => boolean - rpc_name_CustomCheck?: (v: string) => boolean - batch_size_CustomCheck?: (v: number) => boolean - processed_at_ms_CustomCheck?: (v: number) => boolean - validate_in_nano_CustomCheck?: (v: number) => boolean - batch_CustomCheck?: (v: boolean) => boolean - nostr_CustomCheck?: (v: boolean) => boolean + user_identifier_CustomCheck?: (v: string) => boolean + base_url_override_CustomCheck?: (v: string) => boolean } -export const UsageMetricValidate = (o?: UsageMetric, opts: UsageMetricOptions = {}, path: string = 'UsageMetric::root.'): Error | null => { +export const GetAppUserLNURLInfoRequestValidate = (o?: GetAppUserLNURLInfoRequest, opts: GetAppUserLNURLInfoRequestOptions = {}, path: string = 'GetAppUserLNURLInfoRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.parsed_in_nano !== 'number') return new Error(`${path}.parsed_in_nano: is not a number`) - if (opts.parsed_in_nano_CustomCheck && !opts.parsed_in_nano_CustomCheck(o.parsed_in_nano)) return new Error(`${path}.parsed_in_nano: custom check failed`) - - if (typeof o.auth_in_nano !== 'number') return new Error(`${path}.auth_in_nano: is not a number`) - if (opts.auth_in_nano_CustomCheck && !opts.auth_in_nano_CustomCheck(o.auth_in_nano)) return new Error(`${path}.auth_in_nano: custom check failed`) - - if (typeof o.handle_in_nano !== 'number') return new Error(`${path}.handle_in_nano: is not a number`) - if (opts.handle_in_nano_CustomCheck && !opts.handle_in_nano_CustomCheck(o.handle_in_nano)) return new Error(`${path}.handle_in_nano: custom check failed`) - - if (typeof o.rpc_name !== 'string') return new Error(`${path}.rpc_name: is not a string`) - if (opts.rpc_name_CustomCheck && !opts.rpc_name_CustomCheck(o.rpc_name)) return new Error(`${path}.rpc_name: custom check failed`) + if (typeof o.base_url_override !== 'string') return new Error(`${path}.base_url_override: is not a string`) + if (opts.base_url_override_CustomCheck && !opts.base_url_override_CustomCheck(o.base_url_override)) return new Error(`${path}.base_url_override: custom check failed`) - if (typeof o.batch_size !== 'number') return new Error(`${path}.batch_size: is not a number`) - if (opts.batch_size_CustomCheck && !opts.batch_size_CustomCheck(o.batch_size)) return new Error(`${path}.batch_size: custom check failed`) + if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) + if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) - if (typeof o.processed_at_ms !== 'number') return new Error(`${path}.processed_at_ms: is not a number`) - if (opts.processed_at_ms_CustomCheck && !opts.processed_at_ms_CustomCheck(o.processed_at_ms)) return new Error(`${path}.processed_at_ms: custom check failed`) + return null +} - if (typeof o.validate_in_nano !== 'number') return new Error(`${path}.validate_in_nano: is not a number`) - if (opts.validate_in_nano_CustomCheck && !opts.validate_in_nano_CustomCheck(o.validate_in_nano)) return new Error(`${path}.validate_in_nano: custom check failed`) +export type SetMockAppUserBalanceRequest = { + user_identifier: string + amount: number +} +export const SetMockAppUserBalanceRequestOptionalFields: [] = [] +export type SetMockAppUserBalanceRequestOptions = OptionsBaseMessage & { + checkOptionalsAreSet?: [] + user_identifier_CustomCheck?: (v: string) => boolean + amount_CustomCheck?: (v: number) => boolean +} +export const SetMockAppUserBalanceRequestValidate = (o?: SetMockAppUserBalanceRequest, opts: SetMockAppUserBalanceRequestOptions = {}, path: string = 'SetMockAppUserBalanceRequest::root.'): Error | null => { + if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') + if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.batch !== 'boolean') return new Error(`${path}.batch: is not a boolean`) - if (opts.batch_CustomCheck && !opts.batch_CustomCheck(o.batch)) return new Error(`${path}.batch: custom check failed`) + if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) + if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) - if (typeof o.nostr !== 'boolean') return new Error(`${path}.nostr: is not a boolean`) - if (opts.nostr_CustomCheck && !opts.nostr_CustomCheck(o.nostr)) return new Error(`${path}.nostr: custom check failed`) + if (typeof o.amount !== 'number') return new Error(`${path}.amount: is not a number`) + if (opts.amount_CustomCheck && !opts.amount_CustomCheck(o.amount)) return new Error(`${path}.amount: custom check failed`) return null } -export type LndGetInfoResponse = { - alias: string +export type AddProductRequest = { + name: string + price_sats: number } -export const LndGetInfoResponseOptionalFields: [] = [] -export type LndGetInfoResponseOptions = OptionsBaseMessage & { +export const AddProductRequestOptionalFields: [] = [] +export type AddProductRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - alias_CustomCheck?: (v: string) => boolean + price_sats_CustomCheck?: (v: number) => boolean + name_CustomCheck?: (v: string) => boolean } -export const LndGetInfoResponseValidate = (o?: LndGetInfoResponse, opts: LndGetInfoResponseOptions = {}, path: string = 'LndGetInfoResponse::root.'): Error | null => { +export const AddProductRequestValidate = (o?: AddProductRequest, opts: AddProductRequestOptions = {}, path: string = 'AddProductRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.alias !== 'string') return new Error(`${path}.alias: is not a string`) - if (opts.alias_CustomCheck && !opts.alias_CustomCheck(o.alias)) return new Error(`${path}.alias: custom check failed`) + if (typeof o.name !== 'string') return new Error(`${path}.name: is not a string`) + if (opts.name_CustomCheck && !opts.name_CustomCheck(o.name)) return new Error(`${path}.name: custom check failed`) + + if (typeof o.price_sats !== 'number') return new Error(`${path}.price_sats: is not a number`) + if (opts.price_sats_CustomCheck && !opts.price_sats_CustomCheck(o.price_sats)) return new Error(`${path}.price_sats: custom check failed`) return null } -export type BannedAppUser = { - user_identifier: string - nostr_pub: string - app_name: string - app_id: string +export type EnrollAdminTokenRequest = { + admin_token: string } -export const BannedAppUserOptionalFields: [] = [] -export type BannedAppUserOptions = OptionsBaseMessage & { +export const EnrollAdminTokenRequestOptionalFields: [] = [] +export type EnrollAdminTokenRequestOptions = OptionsBaseMessage & { checkOptionalsAreSet?: [] - app_name_CustomCheck?: (v: string) => boolean - app_id_CustomCheck?: (v: string) => boolean - user_identifier_CustomCheck?: (v: string) => boolean - nostr_pub_CustomCheck?: (v: string) => boolean + admin_token_CustomCheck?: (v: string) => boolean } -export const BannedAppUserValidate = (o?: BannedAppUser, opts: BannedAppUserOptions = {}, path: string = 'BannedAppUser::root.'): Error | null => { +export const EnrollAdminTokenRequestValidate = (o?: EnrollAdminTokenRequest, opts: EnrollAdminTokenRequestOptions = {}, path: string = 'EnrollAdminTokenRequest::root.'): Error | null => { if (opts.checkOptionalsAreSet && opts.allOptionalsAreSet) return new Error(path + ': only one of checkOptionalsAreSet or allOptionalNonDefault can be set for each message') if (typeof o !== 'object' || o === null) return new Error(path + ': object is not an instance of an object or is null') - if (typeof o.app_name !== 'string') return new Error(`${path}.app_name: is not a string`) - if (opts.app_name_CustomCheck && !opts.app_name_CustomCheck(o.app_name)) return new Error(`${path}.app_name: custom check failed`) - - if (typeof o.app_id !== 'string') return new Error(`${path}.app_id: is not a string`) - if (opts.app_id_CustomCheck && !opts.app_id_CustomCheck(o.app_id)) return new Error(`${path}.app_id: custom check failed`) - - if (typeof o.user_identifier !== 'string') return new Error(`${path}.user_identifier: is not a string`) - if (opts.user_identifier_CustomCheck && !opts.user_identifier_CustomCheck(o.user_identifier)) return new Error(`${path}.user_identifier: custom check failed`) - - if (typeof o.nostr_pub !== 'string') return new Error(`${path}.nostr_pub: is not a string`) - if (opts.nostr_pub_CustomCheck && !opts.nostr_pub_CustomCheck(o.nostr_pub)) return new Error(`${path}.nostr_pub: custom check failed`) + if (typeof o.admin_token !== 'string') return new Error(`${path}.admin_token: is not a string`) + if (opts.admin_token_CustomCheck && !opts.admin_token_CustomCheck(o.admin_token)) return new Error(`${path}.admin_token: custom check failed`) return null } diff --git a/proto/service/structs.proto b/proto/service/structs.proto index bc0b67a39..225fc1f4d 100644 --- a/proto/service/structs.proto +++ b/proto/service/structs.proto @@ -310,7 +310,7 @@ message GetPaymentStateRequest{ } message PaymentState{ - bool paid_at_unix = 1; + int64 paid_at_unix = 1; int64 amount = 2; int64 service_fee = 3; int64 network_fee = 4;