profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/gagbo/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Gerry Agbobada gagbo Paris I have a profile on gitlab.com (mostly empty), framagit.org (where most of my code used to live), and git.sr.ht

gagbo/consult-lsp 20

LSP-mode and consult.el helping each other

eccentric-j/howto-doom 4

A collection of common quetions and answers about Doom emacs

gagbo/advent-of-code_2018 1

Solutions to Advent of Code 2018, in whichever languages I feel like doing

gagbo/awesome-config 1

The huge mess that is my awesome configuration

gagbo/acario-themes 0

(WIP) testing the new emacs-doom-themer API

gagbo/AirSim 0

Open source simulator based on Unreal Engine for autonomous vehicles from Microsoft AI & Research

gagbo/akka-playground 0

Futures + Akka = sad

gagbo/ale 0

Asynchronous Lint Engine

gagbo/Apprentice 0

A dark, low-contrast, Vim colorscheme.

pull request commentLedgerHQ/cria

VG-519 Make the worker CLI-like

🚀

vquintin-ledger

comment created time in 4 hours

delete branch LedgerHQ/cria

delete branch : VG-519-cria-worker

delete time in 10 hours

push eventLedgerHQ/cria

Virgile Quintin

commit sha 0aefc3ac79164c720fddb22190e5427eb341a8cf

VG-519 Make the worker CLI-like This commit makes the cria worker CLI-like in order to launch it once per synchronization in a kubernetes pod. Before this commit, the worker would get its work from RMQ (1 message = 1 sync). Now it gets its work from the command line (1 run = 1 sync). These are the defined CLI options on the cria worker (from the help): ``` --xpub <string> The extended public key --scheme <string> The xpub scheme --coin <string> The coin to synchronize --syncId <uuid> The synchronization id --cursor <string> The current hash of the blockchain --walletId <uuid> The id of the wallet the xpub belongs to --lookahead <integer> The HD wallet (BIP-32) lookahead ```

view details

Virgile Quintin

commit sha 54b80d39370810cf26732d37ea4c0fd3ff6f95eb

VG-519 Fix for @estrauser-ledger comments This commit includes several fixes for @estrauser-ledger comments: - Make synchronization parameters parameters on `run` instead of class field - Fix error with hard coded `Coin.Btc` - rename `walletId` -> `walletUid` - rename `cursor` -> `blockHash` https://github.com/LedgerHQ/cria/pull/2

view details

vquintin-ledger

commit sha 4a3cf32f290a346e6cecf0ada589c50cb7eb503c

Merge pull request #2 from LedgerHQ/VG-519-cria-worker VG-519 Make the worker CLI-like

view details

push time in 10 hours

PR merged LedgerHQ/cria

VG-519 Make the worker CLI-like

This commit makes the cria worker CLI-like in order to launch it once per synchronization in a kubernetes pod.

Before this commit, the worker would get its work from RMQ (1 message = 1 sync). Now it gets its work from the command line (1 run = 1 sync).

These are the defined CLI options on the cria worker (from the help):

--xpub <string>
    The extended public key
--scheme <string>
    The xpub scheme
--coin <string>
    The coin to synchronize
--syncId <uuid>
    The synchronization id
--cursor <string>
    The current hash of the blockchain
--walletId <uuid>
    The id of the wallet the xpub belongs to
--lookahead <integer>
    The HD wallet (BIP-32) lookahead

lama

+297 -336

0 comment

12 changed files

vquintin-ledger

pr closed time in 10 hours

push eventLedgerHQ/cria

Virgile Quintin

commit sha 54b80d39370810cf26732d37ea4c0fd3ff6f95eb

VG-519 Fix for @estrauser-ledger comments This commit includes several fixes for @estrauser-ledger comments: - Make synchronization parameters parameters on `run` instead of class field - Fix error with hard coded `Coin.Btc` - rename `walletId` -> `walletUid` - rename `cursor` -> `blockHash` https://github.com/LedgerHQ/cria/pull/2

view details

push time in 11 hours

created repositorymuseun/readchat2

sequel to readchat, this time with a nice-ish interface

created time in 14 hours

Pull request review commentLedgerHQ/cria

VG-519 Make the worker CLI-like

 class Worker(         }     } yield lvb -  def deleteAccount(-      event: WorkableEvent[Block]-  )(implicit lc: LamaLogContext): IO[ReportableEvent[Block]] = {-    log.info("Delete Account") *>-      interpreterClient-        .removeDataFromCursor(event.account.id, None, event.syncId)-        .map(_ => event.asReportableSuccessEvent(None))-  }+  private def getOrCreateAccount(xpub: Xpub): IO[Account] =+    keychainClient+      .create(xpub, args.scheme, args.lookahead, coinToNetwork(args.coin))+      .map { info =>+        Account(info.keychainId.toString, CoinFamily.Bitcoin, args.coin)+      }++  private def coinToNetwork(coin: Coin): BitcoinLikeNetwork =+    coin match {+      case BtcTestnet => BitcoinNetwork.TestNet3+      case BtcRegtest => BitcoinNetwork.RegTest+      case Btc        => BitcoinNetwork.MainNet+      case Ltc        => LitecoinNetwork.MainNet+    }

in Coin

vquintin-ledger

comment created time in 14 hours

Pull request review commentLedgerHQ/cria

VG-519 Make the worker CLI-like

 class Worker(         }     } yield lvb -  def deleteAccount(-      event: WorkableEvent[Block]-  )(implicit lc: LamaLogContext): IO[ReportableEvent[Block]] = {-    log.info("Delete Account") *>-      interpreterClient-        .removeDataFromCursor(event.account.id, None, event.syncId)-        .map(_ => event.asReportableSuccessEvent(None))-  }+  private def getOrCreateAccount(xpub: Xpub): IO[Account] =+    keychainClient+      .create(xpub, args.scheme, args.lookahead, coinToNetwork(args.coin))

in method parameters

vquintin-ledger

comment created time in 15 hours

Pull request review commentLedgerHQ/cria

VG-519 Make the worker CLI-like

 import cats.effect.{ContextShift, IO, Timer} import cats.implicits._ import co.ledger.lama.bitcoin.common.clients.grpc.{InterpreterClient, KeychainClient} import co.ledger.lama.bitcoin.common.clients.http.ExplorerClient+import co.ledger.lama.bitcoin.common.models.{BitcoinLikeNetwork, BitcoinNetwork, LitecoinNetwork} import co.ledger.lama.bitcoin.common.models.explorer.{   Block,   ConfirmedTransaction,   UnconfirmedTransaction } import co.ledger.lama.bitcoin.worker.services._ import co.ledger.lama.common.logging.{ContextLogging, LamaLogContext}-import co.ledger.lama.common.models.Status.{Registered, Unregistered}-import co.ledger.lama.common.models.{Account, Coin, ReportError, ReportableEvent, WorkableEvent}+import co.ledger.lama.common.models.{Account, Coin, CoinFamily} import fs2.Stream-import io.circe.syntax._-import java.util.UUID +import java.util.UUID import co.ledger.lama.bitcoin.common.models.interpreter.ChangeType+import co.ledger.lama.bitcoin.common.models.keychain.AccountKey.Xpub+import co.ledger.lama.common.models.Coin.{Btc, BtcRegtest, BtcTestnet, Ltc}  import scala.math.Ordering.Implicits._ import scala.util.Try  class Worker(-    syncEventService: SyncEventService,+    args: SynchronizationParameters,     keychainClient: KeychainClient,     explorerClient: Coin => ExplorerClient,     interpreterClient: InterpreterClient,     cursorService: Coin => CursorStateService[IO] ) extends ContextLogging { -  def run(implicit cs: ContextShift[IO], t: Timer[IO]): Stream[IO, Unit] =-    syncEventService.consumeWorkerEvents-      .evalMap { autoAckMsg =>-        autoAckMsg.unwrap { event =>-          implicit val lc: LamaLogContext =-            LamaLogContext().withAccount(event.account).withFollowUpId(event.syncId)--          val reportableEvent = event.status match {-            case Registered   => synchronizeAccount(event)-            case Unregistered => deleteAccount(event)+  def run(implicit cs: ContextShift[IO], t: Timer[IO]): IO[SynchronizationResult] =+    getOrCreateAccount(args.xpub).flatMap { account =>+      implicit val lc: LamaLogContext =+        LamaLogContext().withAccount(account).withFollowUpId(args.syncId)++      val result = for {+        cursorBlock <- args.cursor.flatTraverse(explorerClient(Coin.Btc).getBlock)

use coin arg

vquintin-ledger

comment created time in 15 hours

Pull request review commentLedgerHQ/cria

VG-519 Make the worker CLI-like

 object App extends IOApp with DefaultContextLogging {     val conf = ConfigSource.default.loadOrThrow[Config]      val resources = for {+      args                   <- parseCommandLine(args)       httpClient             <- Clients.htt4s       keychainGrpcChannel    <- grpcManagedChannel(conf.keychain)       interpreterGrpcChannel <- grpcManagedChannel(conf.interpreter)-      rabbitClient           <- Clients.rabbit(conf.rabbit)        serviceDefinitions = List(new HealthService().definition)        grcpService <- ResourceUtils.grpcServer(conf.grpcServer, serviceDefinitions)      } yield WorkerResources(-      rabbitClient,+      args,       httpClient,       keychainGrpcChannel,       interpreterGrpcChannel,       grcpService     )      resources.use { res =>-      val syncEventService = new RabbitSyncEventService(-        res.rabbitClient,-        conf.queueName(conf.workerEventsExchangeName),-        conf.lamaEventsExchangeName,-        conf.routingKey-      )-       val keychainClient    = new KeychainGrpcClient(res.keychainGrpcChannel)       val interpreterClient = new InterpreterGrpcClient(res.interpreterGrpcChannel)       val explorerClient    = new ExplorerHttpClient(res.httpClient, conf.explorer, _)        val cursorStateService: Coin => CursorStateService[IO] =         c => CursorStateService(explorerClient(c), interpreterClient).getLastValidState(_, _, _) +      val cliOptions = res.args++      val args = SynchronizationParameters(+        cliOptions.xpub,+        cliOptions.scheme,+        cliOptions.coin,+        cliOptions.syncId,+        cliOptions.cursor,+        cliOptions.walletId,
        cliOptions.walletUid,
vquintin-ledger

comment created time in 15 hours

Pull request review commentLedgerHQ/cria

VG-519 Make the worker CLI-like

 class Worker(           case None           => true         }         .evalTap(b => log.info(s"Syncing from cursor state: $b"))-        .evalMap(b => b.map(rewindToLastValidBlock(account, _, workerEvent.syncId)).sequence)+        .evalMap(b => b.map(rewindToLastValidBlock(account, _, args.syncId)).sequence)

in parameter

vquintin-ledger

comment created time in 15 hours

Pull request review commentLedgerHQ/cria

VG-519 Make the worker CLI-like

 object App extends IOApp with DefaultContextLogging {     val conf = ConfigSource.default.loadOrThrow[Config]      val resources = for {+      args                   <- parseCommandLine(args)       httpClient             <- Clients.htt4s       keychainGrpcChannel    <- grpcManagedChannel(conf.keychain)       interpreterGrpcChannel <- grpcManagedChannel(conf.interpreter)-      rabbitClient           <- Clients.rabbit(conf.rabbit)        serviceDefinitions = List(new HealthService().definition)        grcpService <- ResourceUtils.grpcServer(conf.grpcServer, serviceDefinitions)      } yield WorkerResources(-      rabbitClient,+      args,       httpClient,       keychainGrpcChannel,       interpreterGrpcChannel,       grcpService     )      resources.use { res =>-      val syncEventService = new RabbitSyncEventService(-        res.rabbitClient,-        conf.queueName(conf.workerEventsExchangeName),-        conf.lamaEventsExchangeName,-        conf.routingKey-      )-       val keychainClient    = new KeychainGrpcClient(res.keychainGrpcChannel)       val interpreterClient = new InterpreterGrpcClient(res.interpreterGrpcChannel)       val explorerClient    = new ExplorerHttpClient(res.httpClient, conf.explorer, _)        val cursorStateService: Coin => CursorStateService[IO] =         c => CursorStateService(explorerClient(c), interpreterClient).getLastValidState(_, _, _) +      val cliOptions = res.args++      val args = SynchronizationParameters(+        cliOptions.xpub,+        cliOptions.scheme,+        cliOptions.coin,+        cliOptions.syncId,+        cliOptions.cursor,
        cliOptions.blockHash,
vquintin-ledger

comment created time in 15 hours

Pull request review commentLedgerHQ/cria

VG-519 Make the worker CLI-like

 import cats.effect.{ContextShift, IO, Timer} import cats.implicits._ import co.ledger.lama.bitcoin.common.clients.grpc.{InterpreterClient, KeychainClient} import co.ledger.lama.bitcoin.common.clients.http.ExplorerClient+import co.ledger.lama.bitcoin.common.models.{BitcoinLikeNetwork, BitcoinNetwork, LitecoinNetwork} import co.ledger.lama.bitcoin.common.models.explorer.{   Block,   ConfirmedTransaction,   UnconfirmedTransaction } import co.ledger.lama.bitcoin.worker.services._ import co.ledger.lama.common.logging.{ContextLogging, LamaLogContext}-import co.ledger.lama.common.models.Status.{Registered, Unregistered}-import co.ledger.lama.common.models.{Account, Coin, ReportError, ReportableEvent, WorkableEvent}+import co.ledger.lama.common.models.{Account, Coin, CoinFamily} import fs2.Stream-import io.circe.syntax._-import java.util.UUID +import java.util.UUID import co.ledger.lama.bitcoin.common.models.interpreter.ChangeType+import co.ledger.lama.bitcoin.common.models.keychain.AccountKey.Xpub+import co.ledger.lama.common.models.Coin.{Btc, BtcRegtest, BtcTestnet, Ltc}  import scala.math.Ordering.Implicits._ import scala.util.Try  class Worker(-    syncEventService: SyncEventService,+    args: SynchronizationParameters,
    syncParams: SynchronizationParameters,
vquintin-ledger

comment created time in 14 hours

created tagLedgerHQ/lib-ledger-core

tag3.5.5

created time in 15 hours

push eventLedgerHQ/lib-ledger-core

Pierre Pollastri

commit sha 47e70caa7a4cd6fd1e8a90d5f7ad6d8644baedb5

Bump version number to 3.5.5

view details

push time in 15 hours

delete tag LedgerHQ/lib-ledger-core

delete tag : 3.5.5

delete time in 15 hours

created tagLedgerHQ/lib-ledger-core

tag3.5.5

created time in 16 hours

create barnchLedgerHQ/lib-ledger-core

branch : release/3.5.5

created branch time in 16 hours

startedmskorzhinskiy/org-ql-planning

started time in 17 hours

push eventLedgerHQ/bitcoin-keychain

Cédric Cabessa

commit sha 5a466f6bc46eae154ed6cd9c791b9a9587067981

add basic cereal serializer / deserializer For now, this is dead code

view details

push time in 17 hours

PR merged LedgerHQ/bitcoin-keychain

add basic cereal serializer / deserializer

For now, this is dead code

+211 -0

0 comment

2 changed files

CedricCabessa

pr closed time in 17 hours

PR opened gagbo/gagbo

Auto-generated metrics for run #948903455
+14 -14

0 comment

1 changed file

pr created time in 18 hours

push eventgagbo/gagbo

github-actions[bot]

commit sha 9adc17f752a0c11423b08e20c73485d120db03eb

Update github-metrics.svg - [Skip GitHub Action]

view details

push time in 18 hours

create barnchgagbo/gagbo

branch : metrics-run-948903455

created branch time in 18 hours

push eventalphapapa/burly.el

Adam Porter

commit sha 932294a57671bc055eaa3cebd98f7c5455e90360

Add: (burly-open-last-bookmark) command

view details

push time in 21 hours

startedgagbo/consult-lsp

started time in 21 hours

delete branch LedgerHQ/lama

delete branch : update/dd-java-agent-0.81.0

delete time in a day

PR closed LedgerHQ/lama

Update dd-java-agent to 0.81.0

Updates com.datadoghq:dd-java-agent from 0.78.3 to 0.81.0. GitHub Release Notes - Version Diff

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.

Configure Scala Steward for your repository with a .scala-steward.conf file.

Have a fantastic day writing Scala!

<details> <summary>Ignore future updates</summary>

Add this to your .scala-steward.conf file to ignore future updates of this dependency:

updates.ignore = [ { groupId = "com.datadoghq", artifactId = "dd-java-agent" } ]

</details>

labels: library-update, semver-minor

+1 -1

1 comment

1 changed file

ldg-github-ci

pr closed time in a day

pull request commentLedgerHQ/lama

Update dd-java-agent to 0.81.0

Superseded by #352.

ldg-github-ci

comment created time in a day