Home / Blink Labs / adder
Jun 15, 5-6 PM (1)
Jun 15, 6-7 PM (1)
Jun 15, 7-8 PM (0)
Jun 15, 8-9 PM (0)
Jun 15, 9-10 PM (0)
Jun 15, 10-11 PM (0)
Jun 15, 11-12 AM (0)
Jun 16, 12-1 AM (0)
Jun 16, 1-2 AM (1)
Jun 16, 2-3 AM (1)
Jun 16, 3-4 AM (0)
Jun 16, 4-5 AM (0)
Jun 16, 5-6 AM (0)
Jun 16, 6-7 AM (0)
Jun 16, 7-8 AM (0)
Jun 16, 8-9 AM (0)
Jun 16, 9-10 AM (0)
Jun 16, 10-11 AM (0)
Jun 16, 11-12 PM (0)
Jun 16, 12-1 PM (0)
Jun 16, 1-2 PM (0)
Jun 16, 2-3 PM (0)
Jun 16, 3-4 PM (0)
Jun 16, 4-5 PM (0)
Jun 16, 5-6 PM (0)
Jun 16, 6-7 PM (0)
Jun 16, 7-8 PM (0)
Jun 16, 8-9 PM (0)
Jun 16, 9-10 PM (0)
Jun 16, 10-11 PM (0)
Jun 16, 11-12 AM (0)
Jun 17, 12-1 AM (0)
Jun 17, 1-2 AM (0)
Jun 17, 2-3 AM (0)
Jun 17, 3-4 AM (0)
Jun 17, 4-5 AM (0)
Jun 17, 5-6 AM (0)
Jun 17, 6-7 AM (0)
Jun 17, 7-8 AM (0)
Jun 17, 8-9 AM (0)
Jun 17, 9-10 AM (0)
Jun 17, 10-11 AM (0)
Jun 17, 11-12 PM (0)
Jun 17, 12-1 PM (0)
Jun 17, 1-2 PM (0)
Jun 17, 2-3 PM (0)
Jun 17, 3-4 PM (0)
Jun 17, 4-5 PM (0)
Jun 17, 5-6 PM (0)
Jun 17, 6-7 PM (0)
Jun 17, 7-8 PM (0)
Jun 17, 8-9 PM (1)
Jun 17, 9-10 PM (1)
Jun 17, 10-11 PM (0)
Jun 17, 11-12 AM (0)
Jun 18, 12-1 AM (0)
Jun 18, 1-2 AM (0)
Jun 18, 2-3 AM (0)
Jun 18, 3-4 AM (0)
Jun 18, 4-5 AM (0)
Jun 18, 5-6 AM (0)
Jun 18, 6-7 AM (0)
Jun 18, 7-8 AM (0)
Jun 18, 8-9 AM (0)
Jun 18, 9-10 AM (0)
Jun 18, 10-11 AM (0)
Jun 18, 11-12 PM (0)
Jun 18, 12-1 PM (0)
Jun 18, 1-2 PM (0)
Jun 18, 2-3 PM (0)
Jun 18, 3-4 PM (1)
Jun 18, 4-5 PM (0)
Jun 18, 5-6 PM (0)
Jun 18, 6-7 PM (0)
Jun 18, 7-8 PM (0)
Jun 18, 8-9 PM (0)
Jun 18, 9-10 PM (0)
Jun 18, 10-11 PM (0)
Jun 18, 11-12 AM (0)
Jun 19, 12-1 AM (0)
Jun 19, 1-2 AM (0)
Jun 19, 2-3 AM (0)
Jun 19, 3-4 AM (0)
Jun 19, 4-5 AM (0)
Jun 19, 5-6 AM (0)
Jun 19, 6-7 AM (0)
Jun 19, 7-8 AM (0)
Jun 19, 8-9 AM (0)
Jun 19, 9-10 AM (0)
Jun 19, 10-11 AM (0)
Jun 19, 11-12 PM (0)
Jun 19, 12-1 PM (0)
Jun 19, 1-2 PM (0)
Jun 19, 2-3 PM (0)
Jun 19, 3-4 PM (0)
Jun 19, 4-5 PM (0)
Jun 19, 5-6 PM (0)
Jun 19, 6-7 PM (0)
Jun 19, 7-8 PM (0)
Jun 19, 8-9 PM (0)
Jun 19, 9-10 PM (0)
Jun 19, 10-11 PM (0)
Jun 19, 11-12 AM (0)
Jun 20, 12-1 AM (0)
Jun 20, 1-2 AM (0)
Jun 20, 2-3 AM (0)
Jun 20, 3-4 AM (0)
Jun 20, 4-5 AM (0)
Jun 20, 5-6 AM (0)
Jun 20, 6-7 AM (0)
Jun 20, 7-8 AM (0)
Jun 20, 8-9 AM (0)
Jun 20, 9-10 AM (0)
Jun 20, 10-11 AM (0)
Jun 20, 11-12 PM (0)
Jun 20, 12-1 PM (0)
Jun 20, 1-2 PM (0)
Jun 20, 2-3 PM (0)
Jun 20, 3-4 PM (0)
Jun 20, 4-5 PM (0)
Jun 20, 5-6 PM (0)
Jun 20, 6-7 PM (0)
Jun 20, 7-8 PM (0)
Jun 20, 8-9 PM (0)
Jun 20, 9-10 PM (0)
Jun 20, 10-11 PM (0)
Jun 20, 11-12 AM (0)
Jun 21, 12-1 AM (0)
Jun 21, 1-2 AM (0)
Jun 21, 2-3 AM (0)
Jun 21, 3-4 AM (0)
Jun 21, 4-5 AM (0)
Jun 21, 5-6 AM (0)
Jun 21, 6-7 AM (0)
Jun 21, 7-8 AM (0)
Jun 21, 8-9 AM (0)
Jun 21, 9-10 AM (0)
Jun 21, 10-11 AM (0)
Jun 21, 11-12 PM (0)
Jun 21, 12-1 PM (0)
Jun 21, 1-2 PM (0)
Jun 21, 2-3 PM (0)
Jun 21, 3-4 PM (0)
Jun 21, 4-5 PM (0)
Jun 21, 5-6 PM (0)
Jun 21, 6-7 PM (0)
Jun 21, 7-8 PM (0)
Jun 21, 8-9 PM (0)
Jun 21, 9-10 PM (0)
Jun 21, 10-11 PM (0)
Jun 21, 11-12 AM (0)
Jun 22, 12-1 AM (1)
Jun 22, 1-2 AM (0)
Jun 22, 2-3 AM (0)
Jun 22, 3-4 AM (0)
Jun 22, 4-5 AM (0)
Jun 22, 5-6 AM (0)
Jun 22, 6-7 AM (0)
Jun 22, 7-8 AM (0)
Jun 22, 8-9 AM (0)
Jun 22, 9-10 AM (0)
Jun 22, 10-11 AM (0)
Jun 22, 11-12 PM (0)
Jun 22, 12-1 PM (1)
Jun 22, 1-2 PM (0)
Jun 22, 2-3 PM (1)
Jun 22, 3-4 PM (0)
Jun 22, 4-5 PM (0)
Jun 22, 5-6 PM (4)
13 commits this week Jun 15, 2026 - Jun 22, 2026
chore(deps): bump actions/setup-java from 5.2.0 to 5.3.0
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/be666c2fcd27ec809703dec50e508c2fdc7f6654...ad2b38190b15e4d6bdf0c97fb4fca8412226d287)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
chore(deps): bump actions/checkout from 6.0.3 to 7.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
chore(deps): bump golang.org/x/sys from 0.45.0 to 0.46.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.45.0 to 0.46.0.
- [Commits](https://github.com/golang/sys/compare/v0.45.0...v0.46.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-version: 0.46.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
chore(deps): bump golang.org/x/image from 0.42.0 to 0.43.0
Bumps [golang.org/x/image](https://github.com/golang/image) from 0.42.0 to 0.43.0.
- [Commits](https://github.com/golang/image/compare/v0.42.0...v0.43.0)

---
updated-dependencies:
- dependency-name: golang.org/x/image
  dependency-version: 0.43.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
fix(ci): pin macOS runner to macos-15 to fix broken releases
macos-latest was redirected to macos-26 in June 2026. macOS 26 ships
with Xcode 26 which introduced breaking changes to the keychain and
notarization toolchain, causing the 'Create .app package and sign
macos binary' step to fail on all tag pushes from v0.40.0 onward.

Pin the macOS build runner to macos-15 (last known-working version)
to restore proper notarized macOS package production.

Additional improvements:
- Split 'Create .app package and sign macos binary' into two steps:
  'Create macOS app bundle' (packaging) and 'Sign and notarize macOS
  binary' (signing) for clearer separation of concerns
- Add fail-fast: false to build-binaries matrix to prevent a single
  platform failure from cancelling all other builds
- Add if: always() to finalize-release so a release is published
  as long as create-draft-release succeeded

Fixes #751

Signed-off-by: Tripura Repalle <[email protected]>
fix(ci): make macOS signing non-blocking to fix broken releases
Split the 'Create .app package and sign macos binary' step into two
separate steps:
- 'Create macOS app bundle': packages the binary into an .app bundle
  (always runs on tag push, no credentials required)
- 'Sign and notarize macOS binary': handles Apple code signing and
  notarization with continue-on-error: true so credential failures
  do not block the release

Add fail-fast: false to build-binaries matrix strategy to prevent a
single platform failure from cancelling all other platform builds.

Update finalize-release to use 'if: always()' with an explicit
condition on create-draft-release success so the release is
published even when some binary builds fail.

Fixes #751
feat(tray/notifications): multi-target monitoring + native dispatch (#742)
Adds a fyne-free notifications engine that consumes ConnectionManager
events, derives one rule per (kind, param) from a multi-target
SetupPlan (Wallets/DReps/Pools/MonitorEverything), and emits Requests
through a tumbling-window rate limiter that connection alerts bypass.
A Dispatch goroutine in setupTray turns each Request into a native
fyne notification — replacing the inline dispatchNotification. Rule
bodies render through Cardano-aware template helpers (trunc / ada /
outAddr / outAda / field) shared with the Telegram output via
internal/cardanofmt.

Wizard step 3 is rebuilt with three editable target sections plus an
exclusive Monitor Everything toggle, with cross-template validation
hints. SetRules atomically swaps the engine's rule set on
reconfigure (draining stale pre-swap Requests) so changes take
effect without a restart.

Filter persistence lives on TrayConfig (not the sidecar engine's
filter.cardano block) so multi-target plans don't get AND-combined
on transaction events. ToEngineConfig scrubs legacy knobs and a
one-time migration in SetupPlanFromEngineConfig preserves them
across upgrade.

Removes tray/adder_config.go (dead code; setup/codec.go is the live
SetupPlan→YAML path).

Closes #685
Closes #686

Signed-off-by: Ales Verbic <[email protected]>
test(internal/config): cover defaults/env/YAML/precedence + harden SaveAtomic (#743)
Adds tests for internal/config covering defaults, env-var loading, YAML loading and precedence, plus reliability hardening of SaveAtomic (F_FULLFSYNC on darwin, explicit enc.Close, per-path mutex via sync.Map, unique tmp via os.CreateTemp, fsynced parent dir with propagated non-ENOTSUP errors, clearConfigEnv test helper). Fixes a precedence bug where envconfig.Process ran after yaml.Unmarshal so env silently overrode YAML and adds LoadWithFlags(configFile, *pflag.FlagSet) which snapshots and re-applies pflag-Changed values so CLI wins over YAML/env per the documented precedence; cmd/adder/main.go now uses LoadWithFlags. Effective order is now CLI > YAML > env > defaults.

BREAKING: deployments that today set an env var to override a YAML key will see the YAML value win after this change.

Closes #708

Signed-off-by: Ales Verbic <[email protected]>
test(internal/config): cover defaults/env/YAML/precedence + harden SaveAtomic
Adds tests for internal/config covering defaults, env-var loading, YAML loading and precedence, plus reliability hardening of SaveAtomic (F_FULLFSYNC on darwin, explicit enc.Close, per-path mutex via sync.Map, unique tmp via os.CreateTemp, fsynced parent dir with propagated non-ENOTSUP errors, clearConfigEnv test helper). Fixes a precedence bug where envconfig.Process ran after yaml.Unmarshal so env silently overrode YAML and adds LoadWithFlags(configFile, *pflag.FlagSet) which snapshots and re-applies pflag-Changed values so CLI wins over YAML/env per the documented precedence; cmd/adder/main.go now uses LoadWithFlags. Effective order is now CLI > YAML > env > defaults.

BREAKING: deployments that today set an env var to override a YAML key will see the YAML value win after this change.

Closes #708

Signed-off-by: Ales Verbic <[email protected]>
feat: migrated adder-library-starter-kit code (#749)
* feat: migrated adder-library-starter-kit code

Signed-off-by: Jenita <[email protected]>

* feat: migrated adder-library-starter-kit code

Signed-off-by: Jenita <[email protected]>

* feat: migrated adder-library-starter-kit code

Signed-off-by: Jenita <[email protected]>

---------

Signed-off-by: Jenita <[email protected]>
Co-authored-by: Jenita <[email protected]>
feat(tray/notifications): multi-target monitoring + native dispatch
Adds a fyne-free notifications engine that consumes ConnectionManager
events, derives one rule per (kind, param) from a multi-target
SetupPlan (Wallets/DReps/Pools/MonitorEverything), and emits Requests
through a tumbling-window rate limiter that connection alerts bypass.
A Dispatch goroutine in setupTray turns each Request into a native
fyne notification — replacing the inline dispatchNotification. Rule
bodies render through Cardano-aware template helpers (trunc / ada /
outAddr / outAda / field) shared with the Telegram output via
internal/cardanofmt.

Wizard step 3 is rebuilt with three editable target sections plus an
exclusive Monitor Everything toggle, with cross-template validation
hints. SetRules atomically swaps the engine's rule set on
reconfigure (draining stale pre-swap Requests) so changes take
effect without a restart.

Filter persistence lives on TrayConfig (not the sidecar engine's
filter.cardano block) so multi-target plans don't get AND-combined
on transaction events. ToEngineConfig scrubs legacy knobs and a
one-time migration in SetupPlanFromEngineConfig preserves them
across upgrade.

Removes tray/adder_config.go (dead code; setup/codec.go is the live
SetupPlan→YAML path).

Closes #685
Closes #686

Signed-off-by: Ales Verbic <[email protected]>
feat(tray/notifications): multi-target monitoring + native dispatch
Adds a fyne-free notifications engine that consumes ConnectionManager
events, derives one rule per (kind, param) from a multi-target
SetupPlan (Wallets/DReps/Pools/MonitorEverything), and emits Requests
through a tumbling-window rate limiter that connection alerts bypass.
A Dispatch goroutine in setupTray turns each Request into a native
fyne notification — replacing the inline dispatchNotification. Rule
bodies render through Cardano-aware template helpers (trunc / ada /
outAddr / outAda / field) shared with the Telegram output via
internal/cardanofmt.

Wizard step 3 is rebuilt with three editable target sections plus an
exclusive Monitor Everything toggle, with cross-template validation
hints. SetRules atomically swaps the engine's rule set on
reconfigure (draining stale pre-swap Requests) so changes take
effect without a restart.

Filter persistence lives on TrayConfig (not the sidecar engine's
filter.cardano block) so multi-target plans don't get AND-combined
on transaction events. ToEngineConfig scrubs legacy knobs and a
one-time migration in SetupPlanFromEngineConfig preserves them
across upgrade.

Removes tray/adder_config.go (dead code; setup/codec.go is the live
SetupPlan→YAML path).

Closes #685
Closes #686

Signed-off-by: Ales Verbic <[email protected]>
chore(deps): bump github.com/blinklabs-io/gouroboros (#750)
Bumps [github.com/blinklabs-io/gouroboros](https://github.com/blinklabs-io/gouroboros) from 0.182.0 to 0.183.0.
- [Release notes](https://github.com/blinklabs-io/gouroboros/releases)
- [Changelog](https://github.com/blinklabs-io/gouroboros/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/blinklabs-io/gouroboros/compare/v0.182.0...v0.183.0)

---
updated-dependencies:
- dependency-name: github.com/blinklabs-io/gouroboros
  dependency-version: 0.183.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>