diff --git a/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/AccessHandler.kt b/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/AccessHandler.kt index e013727b..19df1a9e 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/AccessHandler.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/AccessHandler.kt @@ -38,7 +38,8 @@ class AccessHandler( return when (val method = call.methodDescriptor.bareMethodName) { "SubscribeHead" -> processSubscribeHead(call, headers, next) - "SubscribeBalance" -> processSubscribeBalance(call, headers, next) + "SubscribeBalance" -> processSubscribeBalance(call, headers, next, true) + "GetBalance" -> processSubscribeBalance(call, headers, next, false) "NativeCall" -> processNativeCall(call, headers, next) else -> { log.trace("unsupported method `{}`", method) @@ -67,9 +68,10 @@ class AccessHandler( private fun processSubscribeBalance( call: ServerCall, headers: Metadata, - next: ServerCallHandler + next: ServerCallHandler, + subscribe: Boolean ): ServerCall.Listener { - val builder = EventsBuilder.SubscribeBalance() + val builder = EventsBuilder.SubscribeBalance(subscribe) .start(headers, call.attributes) val callWrapper: ServerCall = OnSubscribeBalanceResponse( call as ServerCall, builder, accessLogWriter) as ServerCall diff --git a/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/Events.kt b/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/Events.kt index 13e211cb..40daaf83 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/Events.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/Events.kt @@ -48,14 +48,14 @@ class Events { @JsonInclude(JsonInclude.Include.NON_NULL) class SubscribeBalance( - blockchain: Chain, id: UUID, + blockchain: Chain, id: UUID, subscribe: Boolean, // initial request details val request: StreamRequestDetails, val balanceRequest: BalanceRequest, val addressBalance: AddressBalance, // index of the current response val index: Int - ) : ChainBase(blockchain, "SubscribeBalance", id) + ) : ChainBase(blockchain, if (subscribe) "SubscribeBalance" else "GetBalance", id) @JsonInclude(JsonInclude.Include.NON_NULL) class NativeCall( diff --git a/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/EventsBuilder.kt b/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/EventsBuilder.kt index 093b5347..b0d7d309 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/EventsBuilder.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/monitoring/accesslog/EventsBuilder.kt @@ -132,7 +132,7 @@ class EventsBuilder { } } - class SubscribeBalance() : Base() { + class SubscribeBalance(val subscribe: Boolean) : Base() { private var index = 0 private var balanceRequest: Events.BalanceRequest? = null @@ -155,7 +155,7 @@ class EventsBuilder { val addressBalance = Events.AddressBalance(resp.asset.code, resp.address.address) val chain = Chain.byId(resp.asset.chain.number) return Events.SubscribeBalance( - chain, UUID.randomUUID(), requestDetails, balanceRequest!!, addressBalance, index++ + chain, UUID.randomUUID(), subscribe, requestDetails, balanceRequest!!, addressBalance, index++ ) } }