Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
893 commits
Select commit Hold shift + click to select a range
4df3a7e
Sync from private repository
akanter Oct 30, 2025
9155ec0
Sync from private repository
akanter Oct 30, 2025
df08b8d
Sync from private repository
akanter Oct 31, 2025
087efc7
[spark-sdk] legacy hashing cross language matching
peterrojs Oct 31, 2025
8e02543
Sync from private repository
akanter Oct 31, 2025
0189af6
Sync from private repository
DhruvPareek Oct 31, 2025
cd75f15
Add explicit check to see if requestLeavesSwap failed
carsonp6 Oct 31, 2025
66ba741
Sync from private repository
alexjweil Oct 31, 2025
0559bf4
Sync from private repository
ch-brian Oct 31, 2025
250882f
[js] Version packages
coreymartin Nov 1, 2025
455891e
Updating these transaction creators to use v3 (which is the standard …
DhruvPareek Nov 1, 2025
757f43b
Sync from private repository
mhrheaume Nov 1, 2025
58cdc00
Sync from private repository
yellowred Nov 3, 2025
7360919
Only fetch available leaves when fetching balance or fetching
carsonp6 Nov 3, 2025
9193f71
Sync from private repository
mhrheaume Nov 3, 2025
9372767
Sync from private repository
alexjweil Nov 3, 2025
fbd1d82
Sync from private repository
alexjweil Nov 3, 2025
f2e91e8
Sync from private repository
zhenlu Nov 3, 2025
af5091e
Sync from private repository
Nov 3, 2025
ad42117
[js] Ensure esbuild is latest
coreymartin Nov 3, 2025
8a468d0
Sync from private repository
mhrheaume Nov 3, 2025
e7a36c2
Sync from private repository
alexjweil Nov 4, 2025
5f79f78
Sync from private repository
ethanmarcuss Nov 3, 2025
23768c0
[js] Regenerate bindings for v3 transaction version
coreymartin Nov 4, 2025
e03804d
Sync from private repository
k15z Nov 4, 2025
aab229c
Sync from private repository
mhrheaume Nov 4, 2025
07222ee
Sync from private repository
mhrheaume Nov 4, 2025
5d65b01
Sync from private repository
zhenlu Nov 4, 2025
2b105c1
Sync from private repository
akanter Nov 4, 2025
c724350
Sync from private repository
akanter Nov 4, 2025
6e9ab8a
Sync from private repository
Nov 4, 2025
0e05153
Sync from private repository
Nov 4, 2025
7cac2c2
[spark-frost-bare-addon] Script to prevent publishing without
coreymartin Nov 4, 2025
cc9892c
Sync from private repository
mhrheaume Nov 4, 2025
d4e0d82
Only remove leaves from internal memory after outbound transfer
carsonp6 Nov 4, 2025
1df2cfd
[bare] Use bare-node-runtime for imports and globals
coreymartin Nov 4, 2025
d269db9
[js] Version packages
coreymartin Nov 5, 2025
c44b34b
Sync from private repository
ethanmarcuss Nov 5, 2025
ff0b5cf
Sync from private repository
ch-brian Nov 5, 2025
e259e75
Sync from private repository
benwgold Nov 5, 2025
072af9d
Sync from private repository
ethanmarcuss Nov 5, 2025
27572a2
Sync from private repository
lightsparkmax Nov 4, 2025
8078b00
Sync from private repository
revofusion Nov 5, 2025
02fc115
Sync from private repository
ethanmarcuss Nov 5, 2025
a9804fa
Sync from private repository
benwgold Nov 5, 2025
db10dde
Sync from private repository
mhrheaume Nov 5, 2025
5e9d380
Sync from private repository
zhenlu Nov 5, 2025
9c94ecb
Sync from private repository
zhenlu Nov 5, 2025
e566cd2
Display more readable error client side when concurrency limit
carsonp6 Nov 5, 2025
2f93a1a
Sync from private repository
zhenlu Nov 5, 2025
2bf8b9c
Sync from private repository
mhrheaume Nov 5, 2025
a46b226
Sync from private repository
mhrheaume Nov 5, 2025
32128d8
Sync from private repository
benwgold Nov 5, 2025
a304068
Sync from private repository
mhrheaume Nov 5, 2025
e5a1093
Sync from private repository
zhenlu Nov 5, 2025
bbd62b0
Sync from private repository
zhenlu Nov 5, 2025
8d8d0c8
Sync from private repository
mhrheaume Nov 5, 2025
63a42d8
Sync from private repository
lightsparkmax Nov 5, 2025
59ec77d
Sync from private repository
zhenlu Nov 5, 2025
07673a5
Sync from private repository
peterrojs Nov 6, 2025
55fc694
Sync from private repository
mhrheaume Nov 6, 2025
b261720
[js-sdk] Migrate remaining token protos v1->v2
akanter Nov 6, 2025
a3f63db
Sync from private repository
Oct 28, 2025
e8ad947
Sync from private repository
lightsparkmax Nov 5, 2025
71f2c64
Sync from private repository
mhrheaume Nov 6, 2025
41b4849
Sync from private repository
carsonp6 Nov 6, 2025
83f2b58
Sync from private repository
Oct 28, 2025
debc562
Sync from private repository
DhruvPareek Nov 6, 2025
21d50bd
Sync from private repository
yunyuyunyu Nov 6, 2025
adea767
Sync from private repository
akanter Nov 6, 2025
a6cca68
Sync from private repository
ch-brian Nov 6, 2025
8a25abb
Sync from private repository
ch-brian Nov 7, 2025
3d72f2b
Sync from private repository
mhrheaume Nov 7, 2025
2fb4c31
Sync from private repository
mhrheaume Nov 7, 2025
016acb0
Sync from private repository
benwgold Nov 7, 2025
9382407
Sync from private repository
mhrheaume Nov 7, 2025
f715236
Sync from private repository
peterrojs Nov 7, 2025
65fdbe1
Sync from private repository
zhenlu Nov 7, 2025
f7def0f
Sync from private repository
mhrheaume Nov 7, 2025
7229663
Sync from private repository
zhenlu Nov 7, 2025
d59633c
Sync from private repository
revofusion Nov 7, 2025
9539197
Sync from private repository
zhenlu Nov 7, 2025
bf70612
Sync from private repository
zhenlu Nov 7, 2025
f4c2b53
Sync from private repository
zhenlu Nov 8, 2025
a5d01ea
Sync from private repository
ch-brian Nov 8, 2025
f226899
Sync from private repository
mhrheaume Nov 8, 2025
7aeb84f
Sync from private repository
keenan-lightspark Nov 8, 2025
00d994c
Sync from private repository
zhenlu Nov 8, 2025
9eafb73
Sync from private repository
akanter Nov 8, 2025
2eb925e
Sync from private repository
zhenlu Nov 8, 2025
72d0c3a
Sync from private repository
revofusion Nov 8, 2025
7741842
Sync from private repository
revofusion Nov 8, 2025
c09c4c1
Sync from private repository
revofusion Nov 8, 2025
2674b11
Sync from private repository
mhrheaume Nov 10, 2025
23d2132
Sync from private repository
mhrheaume Nov 10, 2025
700f156
Sync from private repository
revofusion Nov 10, 2025
133a62d
Sync from private repository
mhrheaume Nov 10, 2025
daaa958
Sync from private repository
mhrheaume Nov 10, 2025
b15fb81
Sync from private repository
Nov 6, 2025
eadb12e
Sync from private repository
yellowred Nov 8, 2025
9aa5bc1
Update retry options
carsonp6 Nov 10, 2025
ff8bec6
Sync from private repository
Nov 10, 2025
416b5c8
Sync from private repository
revofusion Nov 10, 2025
95de54d
regen proto
carsonp6 Nov 10, 2025
bbb6485
Sync from private repository
mhrheaume Nov 10, 2025
114d5ae
Sync from private repository
akanter Nov 11, 2025
08526ae
Sync from private repository
mohamedwane Nov 11, 2025
a420b5e
Sync from private repository
keenan-lightspark Nov 11, 2025
39f6222
Sync from private repository
coreymartin Nov 11, 2025
ffa075a
Remove preferred currency
carsonp6 Nov 11, 2025
de6f6c7
Sync from private repository
keenan-lightspark Nov 11, 2025
364a5d0
Sync from private repository
mhrheaume Nov 11, 2025
bafb23b
[spark-sdk] Per env bindings class
coreymartin Nov 11, 2025
6b9919e
Sync from private repository
santidmar Nov 11, 2025
7807fa3
[spark-sdk] Use web optimized wasm bindings in browsers and web exten…
coreymartin Nov 11, 2025
d5dfbc5
Sync from private repository
yellowred Nov 11, 2025
1d8131d
Sync from private repository
keenan-lightspark Nov 12, 2025
49602b6
Sync from private repository
keenan-lightspark Nov 12, 2025
b8b76b5
Sync from private repository
zhenlu Nov 12, 2025
673071d
Sync from private repository
zhenlu Nov 12, 2025
f4355d7
Sync from private repository
rmalonson Nov 12, 2025
79fbe5c
[spark-sdk] Add additional info to top level error messages.
coreymartin Nov 12, 2025
d425e9b
Sync from private repository
benwgold Nov 12, 2025
f749111
[js] Version packages
coreymartin Nov 12, 2025
f4279c9
Sync from private repository
mhrheaume Nov 12, 2025
c1738ae
Sync from private repository
alexjweil Nov 12, 2025
5e0f138
Sync from private repository
ch-brian Nov 12, 2025
e26d0b5
Sync from private repository
santidmar Nov 13, 2025
dad4abd
Sync from private repository
revofusion Nov 13, 2025
5542989
Sync from private repository
rmalonson Nov 13, 2025
c293791
Sync from private repository
santidmar Nov 13, 2025
4913ac8
Sync from private repository
DhruvPareek Nov 13, 2025
76f683e
Sync from private repository
DhruvPareek Nov 13, 2025
89c690b
Sync from private repository
santidmar Nov 13, 2025
4608f15
Sync from private repository
revofusion Nov 13, 2025
becb8a7
Sync from private repository
benwgold Nov 13, 2025
db73bdf
Sync from private repository
ch-brian Nov 13, 2025
4d52788
Sync from private repository
mhrheaume Nov 13, 2025
612ee25
Sync from private repository
mhrheaume Nov 13, 2025
d0e85f7
[spark-sdk] clock syncing
peterrojs Nov 13, 2025
233d5a0
Sync from private repository
zhenlu Nov 13, 2025
e42cd6b
Sync from private repository
benwgold Nov 13, 2025
2625566
Sync from private repository
mohamedwane Nov 13, 2025
c759bb9
Sync from private repository
revofusion Nov 13, 2025
eff4b21
Sync from private repository
zhenlu Nov 13, 2025
633e19a
Sync from private repository
zhenlu Nov 13, 2025
0221dfc
Sync from private repository
zhenlu Nov 13, 2025
5be3f66
Sync from private repository
zhenlu Nov 13, 2025
c1f36fd
Sync from private repository
benwgold Nov 14, 2025
84611b9
Sync from private repository
carsonp6 Nov 14, 2025
a1e8b51
Sync from private repository
rmalonson Nov 14, 2025
3c1ac12
Sync from private repository
carsonp6 Nov 14, 2025
60a26e9
Sync from private repository
revofusion Nov 14, 2025
d65768f
Sync from private repository
ch-brian Nov 14, 2025
f7ec21b
Sync from private repository
benwgold Nov 14, 2025
095236a
Sync from private repository
revofusion Nov 14, 2025
138fa67
Sync from private repository
carsonp6 Nov 14, 2025
40d33c0
Sync from private repository
mhrheaume Nov 14, 2025
68d75b6
[spark-sdk] move clock alert to debug
peterrojs Nov 14, 2025
e030ae7
Sync from private repository
zhenlu Nov 14, 2025
33fe132
Sync from private repository
ch-brian Nov 15, 2025
99882a0
Sync from private repository
mhrheaume Nov 15, 2025
8d204b4
Sync from private repository
mhrheaume Nov 15, 2025
718cc70
Sync from private repository
ch-brian Nov 15, 2025
77d6c18
Sync from private repository
mhrheaume Nov 15, 2025
40d431e
Sync from private repository
ch-brian Nov 15, 2025
ebfd493
Sync from private repository
mhrheaume Nov 15, 2025
c1632fd
Sync from private repository
akanter Nov 15, 2025
dc7db5d
Sync from private repository
akanter Nov 15, 2025
7980c4b
Sync from private repository
mhrheaume Nov 15, 2025
6232b27
Sync from private repository
mhrheaume Nov 16, 2025
21d4df8
Sync from private repository
k15z Nov 16, 2025
586dfd1
Sync from private repository
mhrheaume Nov 16, 2025
6497337
Sync from private repository
mhrheaume Nov 16, 2025
ab87440
Sync from private repository
mhrheaume Nov 16, 2025
34f6ff5
Sync from private repository
mhrheaume Nov 16, 2025
4744a00
Sync from private repository
mhrheaume Nov 16, 2025
a794a43
Sync from private repository
mhrheaume Nov 16, 2025
72eedf6
Sync from private repository
mhrheaume Nov 16, 2025
b15cd3a
Sync from private repository
benwgold Nov 16, 2025
54ec7de
Sync from private repository
zhenlu Nov 17, 2025
254fb70
Regen proto
carsonp6 Nov 17, 2025
70fa7a0
Sync from private repository
zhenlu Nov 17, 2025
e6879cd
Sync from private repository
zhenlu Nov 17, 2025
ff806df
Sync from private repository
mhrheaume Nov 17, 2025
f972868
Sync from private repository
alexjweil Nov 17, 2025
7c4fdc1
Sync from private repository
zhenlu Nov 17, 2025
4af8980
Sync from private repository
zhenlu Nov 17, 2025
57d1a6f
Sync from private repository
alexjweil Nov 17, 2025
7da888a
Sync from private repository
keenan-lightspark Nov 17, 2025
487befc
Sync from private repository
yunyuyunyu Nov 18, 2025
eab1edf
Sync from private repository
coreymartin Nov 18, 2025
e271967
Sync from private repository
mhrheaume Nov 18, 2025
3025de0
Sync from private repository
mhrheaume Nov 18, 2025
47bb5b4
Sync from private repository
zhenlu Nov 18, 2025
23e5089
Sync from private repository
mhrheaume Nov 18, 2025
403252b
Sync from private repository
mhrheaume Nov 18, 2025
65bb75b
Sync from private repository
mhrheaume Nov 18, 2025
e2f1f54
Sync from private repository
mhrheaume Nov 18, 2025
35c260c
Sync from private repository
alexjweil Nov 18, 2025
c8352f5
Sync from private repository
yunyuyunyu Nov 18, 2025
1eea344
Sync from private repository
alexjweil Nov 18, 2025
b42c2f4
Update bridge to kotlin module
carsonp6 Nov 18, 2025
ef5d82b
Sync from private repository
benwgold Nov 18, 2025
d4a2c52
Use spark frost ecies methods
carsonp6 Nov 18, 2025
e99308d
Version packages
carsonp6 Nov 18, 2025
42750d9
Add build command to only build the sdks
carsonp6 Nov 19, 2025
3b484de
Sync from private repository
akanter Nov 19, 2025
a4e1ef0
Sync from private repository
akanter Nov 19, 2025
244fb0b
Sync from private repository
mhrheaume Nov 19, 2025
ff1c593
Sync from private repository
lightsparkmax Nov 19, 2025
6e0594d
Added --lightspark flag to run-everything.sh.
mhrheaume Nov 19, 2025
2cc8139
Sync from private repository
lightsparkmax Nov 19, 2025
ef0cb40
Sync from private repository
mhrheaume Nov 19, 2025
2a192fa
Sync from private repository
mhrheaume Nov 19, 2025
6c02253
Sync from private repository
benwgold Nov 19, 2025
b4d56fb
Skip tests requiring minikube.
mhrheaume Nov 19, 2025
18beb15
Sync from private repository
benwgold Nov 19, 2025
92454cc
Sync from private repository
ch-brian Nov 19, 2025
36117e1
Sync from private repository
mhrheaume Nov 19, 2025
8c93e39
Update react native app with more features to make it easier to
carsonp6 Nov 20, 2025
cac847a
Version packages
carsonp6 Nov 20, 2025
b6f0809
Sync from private repository
revofusion Nov 20, 2025
116f265
Sync from private repository
revofusion Nov 20, 2025
b52b5ad
Sync from private repository
yellowred Oct 30, 2025
76f4818
Sync from private repository
akanter Nov 20, 2025
e21e298
Sync from private repository
benwgold Nov 20, 2025
af5e980
Sync from private repository
benwgold Nov 20, 2025
22c7053
[spark-sdk] Better error handling. Remove otel for non-node
coreymartin Nov 20, 2025
a04c700
Sync from private repository
mhrheaume Nov 20, 2025
e50b783
Sync from private repository
lightsparkmax Nov 5, 2025
7488c9f
Sync from private repository
peterrojs Nov 20, 2025
4c47532
Sync from private repository
peterrojs Nov 20, 2025
be7f133
[proto] Make TokenTransaction.validity_duration_seconds optional
akanter Nov 20, 2025
7d6bffc
Sync from private repository
akanter Nov 20, 2025
9ef7449
Sync from private repository
santidmar Nov 21, 2025
a2dfdc0
Sync from private repository
santidmar Nov 21, 2025
f2c03e6
[SO] use DISTINCT deduplication for the query_token_transactions
peterrojs Nov 21, 2025
5caa3ad
Sync from private repository
santidmar Nov 21, 2025
727d16f
[spark-cli] spark addresses querytokentransactions available
peterrojs Nov 21, 2025
117c362
Sync from private repository
santidmar Nov 21, 2025
519ddac
Sync from private repository
santidmar Nov 21, 2025
022afd6
Sync from private repository
santidmar Nov 21, 2025
f8fa7d9
Sync from private repository
changli2023 Nov 21, 2025
322a3d0
Sync from private repository
santidmar Nov 21, 2025
3358b1c
[spark-node-express] Fix unserializable response from
coreymartin Nov 21, 2025
7e90c51
Sync from private repository
peterrojs Nov 22, 2025
c4d069d
Sync from private repository
mhrheaume Nov 22, 2025
4f38930
Sync from private repository
benwgold Nov 22, 2025
ab6e443
feat: add `stop-everything.sh` & wallet creation/funding to `run-ever…
linden Nov 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .github/actions/yarn-nm-install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ runs:
if: inputs.enable-corepack == 'true'
shell: bash
working-directory: ${{ inputs.cwd }}
# echo tmp corepack enable, enable corepack, and echo inputs.enable-corepack value:
run: corepack enable

- name: ⚙️ Expose yarn config as "$GITHUB_OUTPUT"
Expand Down
6 changes: 4 additions & 2 deletions .lefthook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ pre-commit:
parallel: true
jobs:
- name: golangci-lint
run: golangci-lint run
run: golangci-lint run --new-from-merge-base=main
- name: gotestsum
run: gotestsum --format testname $(go list ./... | grep -v -E "so/grpc_test|so/tree")
env:
GOFLAGS: "-tags=lightspark"
run: gotestsum --format testname $(go list ./... | grep -v -E "so/grpc_test|so/grpc_test_internal|so/tree")
- name: frost
glob: "signer/**"
root: "signer/"
Expand Down
78 changes: 49 additions & 29 deletions .mise.lock
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[tools.atlas]
[[tools.atlas]]
version = "0.35.0"
backend = "aqua:ariga/atlas"

Expand All @@ -7,43 +7,43 @@ checksum = "sha256:86db4b4abee45969c06fe4a0a34674c853df316ac3a59ae8d07e296ac6ce3
size = 93071218
url = "https://release.ariga.io/atlas/atlas-darwin-arm64-v0.35.0"

[tools.go]
version = "1.24.6"
[[tools.go]]
version = "1.25.1"
backend = "core:go"

[tools.go.platforms.macos-arm64]
checksum = "sha256:4e29202c49573b953be7cc3500e1f8d9e66ddd12faa8cf0939a4951411e09a2a"
size = 76293244
url = "https://dl.google.com/go/go1.24.6.darwin-arm64.tar.gz"
checksum = "sha256:68deebb214f39d542e518ebb0598a406ab1b5a22bba8ec9ade9f55fb4dd94a6c"
size = 57906702
url = "https://dl.google.com/go/go1.25.1.darwin-arm64.tar.gz"

[tools.golangci-lint]
version = "2.2.2"
[[tools.golangci-lint]]
version = "2.4.0"
backend = "aqua:golangci/golangci-lint"

[tools.golangci-lint.platforms.macos-arm64]
checksum = "sha256:d84d94d042c0d495fd1746f3d18948a75de163b17a14e8de3ef840928dd2df74"
size = 13585670
url = "https://github.com/golangci/golangci-lint/releases/download/v2.2.2/golangci-lint-2.2.2-darwin-arm64.tar.gz"
[tools.golangci-lint.platforms.linux-x64]
checksum = "sha256:fae792524c04424c0ac369f5b8076f04b45cf29fc945a370e55d369a8dc11840"
size = 14126779
url = "https://github.com/golangci/golangci-lint/releases/download/v2.4.0/golangci-lint-2.4.0-linux-amd64.tar.gz"

[tools.gotestsum]
version = "1.12.0"
[[tools.gotestsum]]
version = "1.13.0"
backend = "aqua:gotestyourself/gotestsum"

[tools.gotestsum.platforms.macos-arm64]
checksum = "sha256:c5ffdc9054644c4db365de2197a12d21eff48b88a9ad20e3e0c29346802d0b41"
size = 2252304
url = "https://github.com/gotestyourself/gotestsum/releases/download/v1.12.0/gotestsum_1.12.0_darwin_arm64.tar.gz"
checksum = "sha256:509cb27aef747f48faf9bce424f59dcf79572c905204b990ee935bbfcc7fa0e9"
size = 2472317
url = "https://github.com/gotestyourself/gotestsum/releases/download/v1.13.0/gotestsum_1.13.0_darwin_arm64.tar.gz"

[tools.lefthook]
version = "1.11.14"
[[tools.lefthook]]
version = "2.0.0"
backend = "aqua:evilmartians/lefthook"

[tools.lefthook.platforms.macos-arm64]
checksum = "sha256:b9c68fabb3c9b71b18335fb886317ae068e0d4a8640f40ae21720fcbae130579"
size = 5286540
url = "https://github.com/evilmartians/lefthook/releases/download/v1.11.14/lefthook_1.11.14_MacOS_arm64.gz"
checksum = "sha256:0cf763fb55c05de17f7a7842fc9fd7044f1b7d1542129c1b2b8ae27c5769afb9"
size = 5747200
url = "https://github.com/evilmartians/lefthook/releases/download/v2.0.0/lefthook_2.0.0_MacOS_arm64.gz"

[tools.node]
[[tools.node]]
version = "20.19.0"
backend = "core:node"

Expand All @@ -52,42 +52,62 @@ checksum = "sha256:c016cd1975a264a29dc1b07c6fbe60d5df0a0c2beb4113c0450e3d998d1a0
size = 41487879
url = "https://nodejs.org/dist/v20.19.0/node-v20.19.0-darwin-arm64.tar.gz"

[tools.protoc]
[[tools.protoc]]
version = "29.3"
backend = "aqua:protocolbuffers/protobuf/protoc"

[tools.protoc.platforms.linux-x64]
checksum = "blake3:e69b7d6f33637cccd4e4cf4839b3d799ed02ae436e0eb555b0816b85cf341fb1"
size = 3288836
url = "https://github.com/protocolbuffers/protobuf/releases/download/v29.3/protoc-29.3-linux-x86_64.zip"

[tools.protoc.platforms.macos-arm64]
checksum = "blake3:c5796cef7cf2c50cfc889d1cd821170c3d9158972175d46062879ff3757e42a4"
size = 2290929
url = "https://github.com/protocolbuffers/protobuf/releases/download/v29.3/protoc-29.3-osx-aarch_64.zip"

[tools.protoc-gen-go]
[[tools.protoc-gen-go]]
version = "1.36.6"
backend = "aqua:protocolbuffers/protobuf-go/protoc-gen-go"

[tools.protoc-gen-go.platforms.linux-x64]
checksum = "blake3:404ea4268ed7ca4a4e2229ca6787558abf8b9fa6e1fb1052b13bec638a3f08fe"
size = 2389291
url = "https://github.com/protocolbuffers/protobuf-go/releases/download/v1.36.6/protoc-gen-go.v1.36.6.linux.amd64.tar.gz"

[tools.protoc-gen-go.platforms.macos-arm64]
checksum = "blake3:63a7dcee5c191e2527ec2f4da9e98cc97e8ef8b21beb97057e4aefbdd22f7286"
size = 2283775
url = "https://github.com/protocolbuffers/protobuf-go/releases/download/v1.36.6/protoc-gen-go.v1.36.6.darwin.arm64.tar.gz"

[tools.protoc-gen-go-grpc]
[[tools.protoc-gen-go-grpc]]
version = "1.5.1"
backend = "aqua:grpc/grpc-go/protoc-gen-go-grpc"

[tools.protoc-gen-go-grpc.platforms.linux-x64]
checksum = "blake3:197739132f0408f017d0c83773ac1ace85c0572473fdd658ec6e4ccbf20e0552"
size = 4859466
url = "https://github.com/grpc/grpc-go/releases/download/cmd/protoc-gen-go-grpc/v1.5.1/protoc-gen-go-grpc.v1.5.1.linux.amd64.tar.gz"

[tools.protoc-gen-go-grpc.platforms.macos-arm64]
checksum = "blake3:3c668207565d23ea2cf006d699207e3a804ebb929a534bd38a3b4ff4e941e00c"
size = 4565944
url = "https://github.com/grpc/grpc-go/releases/download/cmd/protoc-gen-go-grpc/v1.5.1/protoc-gen-go-grpc.v1.5.1.darwin.arm64.tar.gz"

[tools.protoc-gen-validate]
[[tools.protoc-gen-validate]]
version = "1.2.1"
backend = "aqua:bufbuild/protoc-gen-validate"

[tools.protoc-gen-validate.platforms.linux-x64]
checksum = "sha256:e7a1d7256184dc6824e8f8e4b672b1281013e321579daffd19b2e3e90b6f7d9f"
size = 13452368
url = "https://github.com/bufbuild/protoc-gen-validate/releases/download/v1.2.1/protoc-gen-validate_1.2.1_linux_amd64.tar.gz"

[tools.protoc-gen-validate.platforms.macos-arm64]
checksum = "sha256:44dfd7778a49febdfb088dacee835b5d649218b5277bdd7c98e2a1f8eb328b34"
size = 13557390
url = "https://github.com/bufbuild/protoc-gen-validate/releases/download/v1.2.1/protoc-gen-validate_1.2.1_darwin_arm64.tar.gz"

[tools.rust]
version = "1.85.0"
[[tools.rust]]
version = "1.90.0"
backend = "core:rust"
130 changes: 126 additions & 4 deletions .mise.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
[tools]
atlas = "0.35.0"
go = "1.24.6"
golangci-lint = "2.2.2"
gotestsum = "1.12.0"
go = "1.25.1"
golangci-lint = "2.4.0"
gotestsum = "1.13.0"
lefthook = "latest"
node = "20.19.0"
protoc = "29.3"
protoc-gen-go = "1.36.6"
protoc-gen-go-grpc = "1.5.1"
protoc-gen-validate = "1.2.1"
rust = "1.85.0"
rust = { version = "latest", profile = "minimal" }

[env]
MISE_NODE_COREPACK = true
Expand All @@ -26,9 +26,12 @@ spark-cli-dev-mainnet = { dir = "{{config_root}}/sdks/js", run = 'yarn install &
spark-cli-loadtest = { dir = "{{config_root}}/sdks/js", run = 'yarn install && yarn build:packages && cd examples/spark-cli && yarn build && yarn run cli:loadtest' }
test-go = { dir = "{{config_root}}/spark", run = 'mise test-unit-with-postgres' }
test-grpc = { dir = "{{config_root}}/spark", run = 'mise test-grpc' }
test-grpc-minikube = { dir = "{{config_root}}/spark", run = 'mise test-grpc-minikube' }
test-js = { dir = "{{config_root}}/sdks/js", run = 'yarn install && yarn test' }
test-js-integration = { dir = "{{config_root}}/sdks/js", run = 'yarn install && yarn test:integration' }
test-js-integration-minikube = { dir = "{{config_root}}/sdks/js", run = 'MINIKUBE_IP=$(minikube ip) yarn install && yarn test:integration' }
test-js-integration-ssp = { dir = "{{config_root}}/sdks/js", run = 'yarn install && yarn test:integration:ssp' }
test-js-integration-ssp-minikube = { dir = "{{config_root}}/sdks/js", run = 'MINIKUBE_IP=$(minikube ip) yarn install && yarn test:integration:ssp' }

[tasks.money-dev]
description = "Send regtest BTC on dev to <address> [amount (default=0.0001)]"
Expand Down Expand Up @@ -56,6 +59,125 @@ run = """kubectl --context minikube -n bitcoin exec regtest-bitcoind-0 -- \
sendtoaddress {{arg(name="addr")}} {{arg(name="amount", default="0.0001")}}
"""

[tasks.mine-mk]
description = "Mine <blocks> to <address>"
usage = '''
arg "<blocks>" "amount of blocks to mine" default="5"
arg "<addr>" "the l1 address to generate to"
'''
run = """kubectl --context minikube -n bitcoin exec regtest-bitcoind-0 -- \
bitcoin-cli \
-conf=/etc/bitcoin/bitcoin.conf \
-datadir=/data \
generatetoaddress {{arg(name="blocks", default="5")}} {{arg(name="addr")}}
"""

[tasks.get-address-mk]
description = "gets a new l1 address"
run = """kubectl --context minikube -n bitcoin exec regtest-bitcoind-0 -- \
bitcoin-cli \
-conf=/etc/bitcoin/bitcoin.conf \
-datadir=/data \
getnewaddress
"""

[tasks.broadcast-tx-mk]
description = "Broadcast a <txn>"
usage = '''
arg "<hex>" "raw transaction hex"
'''
run = """kubectl --context minikube -n bitcoin exec regtest-bitcoind-0 -- \
bitcoin-cli \
-conf=/etc/bitcoin/bitcoin.conf \
-datadir=/data \
sendrawtransaction {{arg(name="hex")}}
"""

[tasks.testmempoolaccept-mk]
description = "Test if a txn would be accepted <txn>"
usage = '''
arg "<txn>" "Transaction hex"
'''
run = """kubectl --context minikube -n bitcoin exec regtest-bitcoind-0 -- \
bitcoin-cli \
-conf=/etc/bitcoin/bitcoin.conf \
-datadir=/data \
testmempoolaccept {{arg(name="txn")}}
"""

[tasks.broadcast-pkg-mk]
description = "Broadcast a package (array) of raw tx hex to regtest in minikube"
usage = '''
arg "<hexes_json>" "JSON array of raw tx hex strings, in dependency order (e.g. [\"hex1\",\"hex2\"])"
'''
run = """kubectl --context minikube -n bitcoin exec regtest-bitcoind-0 -- \
bitcoin-cli \
-conf=/etc/bitcoin/bitcoin.conf \
-datadir=/data \
submitpackage {{arg(name="hexes_json")}}
"""

[tasks.get-raw-transaction]
description = "Return the raw transaction data."
usage = '''
arg "<txid>" "transaction id (hex)"
'''
run = """kubectl --context minikube -n bitcoin exec regtest-bitcoind-0 -- \
bitcoin-cli \
-conf=/etc/bitcoin/bitcoin.conf \
-datadir=/data \
getrawtransaction {{arg(name="txid")}} 1
"""

[tasks.check-tx-mk]
description = "Check if a tx is in mempool or on-chain (regtest/minikube)"
usage = '''
arg "<txid>" "transaction id (hex)"
'''
run = """kubectl --context minikube -n bitcoin exec regtest-bitcoind-0 -- sh -lc '\
CLI="bitcoin-cli -conf=/etc/bitcoin/bitcoin.conf -datadir=/data"; \
TX="{{arg(name="txid")}}"; \
if $CLI getmempoolentry "$TX" >/dev/null 2>&1; then \
echo "status=IN_MEMPOOL"; \
$CLI getmempoolentry "$TX"; \
elif $CLI getrawtransaction "$TX" 1 >/dev/null 2>&1; then \
echo "status=SEEN_ON_CHAIN_OR_MEMPOOL"; \
$CLI getrawtransaction "$TX" 1; \
else \
echo "status=UNKNOWN (not in mempool; not found via getrawtransaction)"; \
exit 2; \
fi'"""

[tasks.gen-ent]
description = "Generate ent code for Spark schemas"
dir = "{{config_root}}/spark"
run = """
echo "Generating ent schemas..."
go generate ./so/ent/...
echo ""
echo "!!!!"
echo "Ents generated. Remember to add migration changes with atlas! See README.md for more info."
echo "!!!!"
"""

[tasks.gen-ssp]
description = "Generate SSP API code"
dir = "{{config_root}}/spark"
run = "go generate ./testing/wallet/ssp_api/..."

[tasks.gen-protos]
description = "Generate Go code from proto files (via Make)"
dir = "{{config_root}}"
run = "make all"

[tasks.clean-protos]
description = "Clean generated proto files"
dir = "{{config_root}}"
run = "make clean"

[settings]
activate_aggressive = true
disable_backends = ["asdf"]
experimental = true
idiomatic_version_file_enable_tools = ["rust"]
lockfile = true
1 change: 0 additions & 1 deletion .prettierignore

This file was deleted.

4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ lefthook install
make

# Generate Ent entities (required after schema changes)
make ent
mise gen-ent
```

### Testing
Expand Down Expand Up @@ -159,7 +159,7 @@ This repository implements **Spark**, a Bitcoin-based system with the following
- Separate unit tests from integration tests

### When Working with Database Code
- Modify schemas in `spark/so/ent/schema/`, then run `make ent`
- Modify schemas in `spark/so/ent/schema/`, then run `mise gen-ent`
- Generate migrations with `./scripts/gen-migration.sh` after schema changes
- Use proper foreign key relationships in Ent schemas
- Test database code with both SQLite (unit) and PostgreSQL (integration)
Expand Down
9 changes: 6 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM --platform=$BUILDPLATFORM golang:1.24-bookworm AS builder-go
FROM --platform=$BUILDPLATFORM golang:1.25-bookworm AS builder-go

ARG TARGETOS TARGETARCH
ARG DEBUG=0
Expand Down Expand Up @@ -37,7 +37,7 @@ RUN GRPC_HEALTH_PROBE_VERSION=v0.4.13 && \


# (1) create rust env with cargo chef crate
FROM --platform=$BUILDPLATFORM rust:1.84-slim-bookworm AS chef
FROM --platform=$BUILDPLATFORM rust:1.90-slim-bookworm AS chef
WORKDIR /signer
RUN cargo install cargo-chef

Expand All @@ -55,7 +55,10 @@ RUN cargo chef cook --release --recipe-path recipe.json

# (4) build app
FROM chef AS builder-rust
COPY protos protos

WORKDIR /
COPY protos ./protos

WORKDIR /signer
COPY signer/. ./
COPY --from=cacher-rust /signer/target target
Expand Down
Loading