Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
252 commits
Select commit Hold shift + click to select a range
dac9d00
test: add get match match id test
jxsonyx Mar 24, 2026
0a84e2c
fix: resolve merge conflict in tests.rs, update submit_result call sites
Inkman007 Mar 24, 2026
6f62030
fix: add token allowlist validation for create_match
HuiNeng6 Mar 25, 2026
63257a8
eposit emits no event when match transitions to Active
marvs8 Mar 25, 2026
92b867c
Merge pull request #41 from Inkman007/feat/enforce-oracle-auth-submit…
yahia008 Mar 25, 2026
0057ce0
Merge branch 'main' into feature/add-getmatch-test
yahia008 Mar 25, 2026
2c34467
Merge pull request #44 from JTKaduma/feature/add-getmatch-test
yahia008 Mar 25, 2026
7d53be5
Merge branch 'main' into deposit-emits
marvs8 Mar 25, 2026
430365d
Merge branch 'main' into fix/token-allowlist-validation
yahia008 Mar 25, 2026
e85267b
Merge pull request #90 from marvs8/deposit-emits
yahia008 Mar 25, 2026
81b63a9
fix(escrow): emit events on pause and unpause (#84)
marvs8 Mar 25, 2026
569ff82
Merge pull request #91 from marvs8/fix/issue-84-pause-unpause-events
yahia008 Mar 25, 2026
e9eca36
Add security and refund coverage tests for escrow contract
miss-yusrah Mar 25, 2026
23b274d
fix: add token to allowlist in test setup
HuiNeng6 Mar 25, 2026
375d0af
fix: resolve merge conflict, keep all tests from both branches
miss-yusrah Mar 25, 2026
897b5f6
Merge pull request #92 from miss-yusrah/feat/test
yahia008 Mar 25, 2026
6c217da
feat: add test for is_funded returns false on fresh match
YahKazo Mar 25, 2026
ff69957
Add InvalidState guard tests and Match timestamp field
miss-yusrah Mar 25, 2026
de1661f
Merge pull request #93 from miss-yusrah/feat/invalid-state
yahia008 Mar 25, 2026
f351db4
Merge branch 'main' into checkmate
YahKazo Mar 25, 2026
9812d98
fix(escrow): explicit MatchCancelled/MatchCompleted errors on deposit…
rayeberechi Mar 25, 2026
c05497b
fix(escrow): reject duplicate game_id in create_match (#21)
rayeberechi Mar 25, 2026
99cbbc5
test(escrow): add cancel_match on Completed match returns InvalidState
Mar 25, 2026
bb0e96a
fix: validate token address against allowlist in create_match (#52)
tali-creator Mar 25, 2026
38f2ebe
submit-result-does-not-verify-the-caller-is-the-oracle-before-state-c…
vicajohn Mar 25, 2026
30597b5
test: player cannot deposit twice for the same match (#65)
tali-creator Mar 25, 2026
bc65706
test(escrow): verify deposit into completed match returns InvalidState
Mar 25, 2026
17ba445
Fix-no-way-to-list-all-active-matches-no-global-match-index
vicajohn Mar 25, 2026
a694500
fix: add expire_match to unblock abandoned pending matches
kceeglo345-dev Mar 25, 2026
888da98
test: verify get_escrow_balance returns 0, stake, and 2x stake at eac…
luhrhenz Mar 25, 2026
5e87ab9
test: verify get_escrow_balance returns 0 after payout
kceeglo345-dev Mar 25, 2026
d65bfc9
fix: add explicit is_funded check in submit_result to guard against s…
luhrhenz Mar 25, 2026
a21ff52
test: verify multiple matches can be created with different game_ids
kceeglo345-dev Mar 25, 2026
ada9033
style: cargo fmt
kceeglo345-dev Mar 25, 2026
e141f16
style: cargo fmt
kceeglo345-dev Mar 25, 2026
8766a1c
style: cargo fmt
kceeglo345-dev Mar 25, 2026
7e71a65
fix: add MAX_GAME_ID_LEN=64 validation in create_match and Error::Inv…
luhrhenz Mar 25, 2026
2f5821a
test: assert deposit returns ContractPaused when contract is paused
luhrhenz Mar 25, 2026
c7a9682
task 71
habiba-d-coder Mar 25, 2026
648878d
tested
habiba-d-coder Mar 25, 2026
4434fd5
reject
habiba-d-coder Mar 25, 2026
a8c4f9c
oracle
habiba-d-coder Mar 25, 2026
d45dc9a
Merge pull request #113 from habiba-d-coder/oracle_has_result
yahia008 Mar 25, 2026
ef92684
Merge pull request #109 from luhrhenz/test/deposit-blocked-when-paused
yahia008 Mar 25, 2026
771aec3
Merge branch 'main' into test/multiple-matches-different-game-ids
yahia008 Mar 25, 2026
9b754dd
Merge pull request #106 from kceeglo345-dev/test/multiple-matches-dif…
yahia008 Mar 25, 2026
2649724
Merge branch 'main' into test/escrow-balance-zero-after-payout
yahia008 Mar 25, 2026
206e2e7
Merge pull request #105 from kceeglo345-dev/test/escrow-balance-zero-…
yahia008 Mar 25, 2026
6338b00
Merge branch 'main' into Fix-no-way-to-list-all-active-matches-no-glo…
yahia008 Mar 25, 2026
33d1b56
Merge pull request #101 from utilityjnr/utilityy
yahia008 Mar 25, 2026
a34f705
test: paused contract rejects submit_result
CHEF-SAVY Mar 25, 2026
6f6c952
Merge branch 'main' into test/player-cannot-deposit-twice
yahia008 Mar 25, 2026
3779287
style: apply cargo fmt to pre-existing formatting issues
CHEF-SAVY Mar 25, 2026
662edc3
Merge branch 'main' into submit-result-does-not-verify-the-caller-is-…
yahia008 Mar 25, 2026
94d9bab
chore: ignore test_snapshots directories
CHEF-SAVY Mar 25, 2026
3e238d6
Merge pull request #114 from CHEF-SAVY/test/paused-contract-rejects-s…
yahia008 Mar 25, 2026
cf5a1a6
test: assert ContractPaused on create_match when paused
CHEF-SAVY Mar 25, 2026
00c8ce8
Merge pull request #115 from CHEF-SAVY/test/paused-contract-rejects-c…
yahia008 Mar 25, 2026
362f72a
Merge pull request #94 from YahKazo/checkmate
yahia008 Mar 25, 2026
8cc7e97
test: is_funded returns false after only one player deposits
CHEF-SAVY Mar 25, 2026
2549a76
feat:implenting arithmetic that silently truncates
jhayniffy Mar 25, 2026
3b62bdf
fix:create match allow players
jhayniffy Mar 25, 2026
4056d6d
Merge branch 'main' into fix/match-expiry-timeout
kceeglo345-dev Mar 26, 2026
4f2c199
fix: resolve match expiry timeout errors and scrambled test bodies
kceeglo345-dev Mar 26, 2026
e3003f5
test: verify get_result returns ResultNotFound for unknown match id
obajecollinsmicheal-cmd Mar 26, 2026
36e710b
test: verify unpause restores create_match functionality
obajecollinsmicheal-cmd Mar 26, 2026
2619379
Merge remote-tracking branch 'origin/main' into test/is-funded-partia…
CHEF-SAVY Mar 26, 2026
bcd53e1
style: apply cargo fmt and remove redundant cfg(test) attribute
CHEF-SAVY Mar 26, 2026
1e5be62
fix/token-address-not-validated
tali-creator Mar 26, 2026
e643dad
Resolve merge conflicts in escrow contract and test snapshots
tali-creator Mar 26, 2026
9ae033a
Merge pull request #121 from CHEF-SAVY/test/is-funded-partial-deposit
yahia008 Mar 26, 2026
94efb6c
Merge pull request #118 from kceeglo345-dev/ix/match-expiry-timeout
yahia008 Mar 26, 2026
ceba23f
feat(oracle): add update_admin for admin key rotation
CHEF-SAVY Mar 26, 2026
5e9b169
fix: prefix unused oracle variable with underscore in escrow test
CHEF-SAVY Mar 26, 2026
1c96ac0
test: add TTL extended on cancel after deposit test
afurious Mar 26, 2026
5c24438
Merge pull request #122 from CHEF-SAVY/feat/oracle-admin-rotation
yahia008 Mar 26, 2026
8a0ab8c
Merge pull request #123 from chideraisiguzor/test/ttl-extended-on-can…
yahia008 Mar 26, 2026
70bb0d4
Merge branch 'main' into test/player-cannot-deposit-twice
tali-creator Mar 26, 2026
1940570
chore: save progress before merge
rayeberechi Mar 26, 2026
280dd2c
fix: resolve merge conflict keeping all error variants with sequentia…
rayeberechi Mar 26, 2026
b067e20
fix(#7): deposit now returns MatchCancelled/MatchCompleted instead of…
rayeberechi Mar 26, 2026
a860adb
Merge pull request #96 from rayeberechi/fix/issue-21-game-id-uniqueness
yahia008 Mar 26, 2026
5d0d33b
fix #67: document game_id format and add oracle integration guide
unixfundz Mar 26, 2026
e8dc6d2
Merge pull request #116 from devoclan/feature/escrow-balance
yahia008 Mar 26, 2026
212028c
test: verify draw refunds exact stake and zeroes escrow balance
luhrhenz Mar 26, 2026
0270e7d
Merge pull request #124 from unixfundz/fix/67-game-id-format-docs
yahia008 Mar 26, 2026
da4d8ab
Merge pull request #145 from chriz-cloud/feat/draw-refund-escrow-bala…
yahia008 Mar 26, 2026
920a5d5
test: verify Winner::Player2 receives full pot payout
chriz-cloud Mar 26, 2026
8dacaf9
test: assert Error::Unauthorized on cancel by third-party address
chriz-cloud Mar 26, 2026
d60b63d
Merge branch 'main' into feat/payout-player2-test
yahia008 Mar 26, 2026
9c4f237
Merge branch 'main' into feat/unauthorized-cancel-error-code-test
yahia008 Mar 26, 2026
886c278
Merge pull request #152 from chriz-cloud/feat/unauthorized-cancel-err…
yahia008 Mar 26, 2026
ccf0158
Merge pull request #1 from StellarCheckMate/main
Sundayabel222 Mar 26, 2026
f682ea6
Merge pull request #151 from chriz-cloud/feat/payout-player2-test
yahia008 Mar 26, 2026
30b0000
Merge pull request #153 from Sundayabel222/main
yahia008 Mar 26, 2026
9579a48
Merge branch 'main' into feature/issue-20
yahia008 Mar 26, 2026
7c8891b
feat: validate match_id against escrow contract in oracle submit_result
chriz-cloud Mar 26, 2026
5c81f0c
Merge pull request #154 from chriz-cloud/feat/oracle-validate-match-id
yahia008 Mar 26, 2026
737299b
feature:Fix: deposit does not emit event no way to detect partial fu…
bitstarkbridge Mar 26, 2026
74e1c3a
feature:Add Test: deposit state transitions player1_deposited flag s…
bitstarkbridge Mar 26, 2026
f3d5ed0
Merge pull request #2 from StellarCheckMate/main
Sundayabel222 Mar 26, 2026
a627307
feature:Fix: escrow contract has no get_admin function admin address…
bitstarkbridge Mar 26, 2026
af095d4
feat: Deposit by Non-Player Address Should Return Unauthorized
jhayniffy Mar 26, 2026
78489df
Merge branch 'main' into feature/deposit-player-address
devoclan Mar 26, 2026
e9eacea
feature:Add Test: MatchCount increments correctly across multiple cre…
bitstarkbridge Mar 26, 2026
8bbcd03
Merge pull request #157 from Sundayabel222/main
yahia008 Mar 26, 2026
e3e6860
Merge pull request #159 from devoclan/feature/deposit-player-address
yahia008 Mar 26, 2026
5cc45fe
feat: oracle.get_result on non-existent match_id should return Result…
jhayniffy Mar 26, 2026
300347f
fix(oracle): document has_result auth intent and add admin-gated variant
maztah1 Mar 26, 2026
2919ba6
fix(oracle): remove .unwrap() on has_result_admin in tests
maztah1 Mar 26, 2026
5dfcad7
Merge pull request #158 from bitstarkbridge/Checkmate-Escrow134
yahia008 Mar 26, 2026
a017ee5
Merge branch 'main' into Checkmate-Escrow147
yahia008 Mar 26, 2026
b86f547
Merge pull request #160 from bitstarkbridge/Checkmate-Escrow147
yahia008 Mar 26, 2026
6ebb1fd
Merge pull request #156 from bitstarkbridge/Checkmate-Escrow136
yahia008 Mar 26, 2026
4d581e0
Merge branch 'main' into Checkmate-Escrow148
yahia008 Mar 26, 2026
1107f78
Merge pull request #162 from maztah1/fix/63-has-result-public-auth-doc
yahia008 Mar 26, 2026
2aa8cb3
Merge branch 'main' into fix/issue-7-deposit-state-checks
yahia008 Mar 26, 2026
0fb96f4
test: assert get_match returns correct game_id
chukwudiikeh Mar 27, 2026
be8196d
feat(oracle): emit initialized event and add Draw/Player2Wins/init-ev…
chukwudiikeh Mar 27, 2026
398e0e4
feat: implement player match indexing and add get_player_matches getter
Harbduls Mar 27, 2026
e79866d
add check
unrealtim-tech Mar 27, 2026
03b8ceb
Merge pull request #163 from chukwudiikeh/test/get-match-returns-corr…
yahia008 Mar 27, 2026
c16d698
Merge pull request #164 from chukwudiikeh/feat/oracle-init-event-and-…
yahia008 Mar 27, 2026
5b9e05a
test(escrow): get_escrow_balance returns MatchNotFound for non-existe…
maztah1 Mar 27, 2026
2564663
Merge branch 'main' into test/140-get-escrow-balance-match-not-found
maztah1 Mar 27, 2026
189ca07
fix: test erros
unrealtim-tech Mar 27, 2026
c040eb6
feat-add get match
unrealtim-tech Mar 27, 2026
9ba9c01
chore: merge
unrealtim-tech Mar 27, 2026
0f5bf38
chore: fix test
unrealtim-tech Mar 27, 2026
c92c845
Merge pull request #166 from unrealtim-tech/feat-create-match
yahia008 Mar 27, 2026
14e387f
Merge pull request #167 from maztah1/test/140-get-escrow-balance-matc…
yahia008 Mar 27, 2026
fc53f82
chore: merge branch 'main' into feat-get_-atch-extend-ttl
unrealtim-tech Mar 27, 2026
b0c4091
added the get_match_count function to the Escrow contract
Ehonrie Mar 27, 2026
35d8853
fix: test
unrealtim-tech Mar 27, 2026
f195dd6
fix: ci actions build errors
unrealtim-tech Mar 27, 2026
835aff9
fix: ci check fix
unrealtim-tech Mar 27, 2026
13f62b3
Merge pull request #168 from unrealtim-tech/feat-get_-atch-extend-ttl
yahia008 Mar 27, 2026
115f43c
test(escrow): add cancel_match event coverage for partial-deposit pat…
devAgatha Mar 27, 2026
4054b01
Merge pull request #194 from Ehonrie/get-match-count
yahia008 Mar 27, 2026
0c79b54
fix: declare matches as mut to allow push_back
Harbduls Mar 27, 2026
77410ba
Merge branch 'main' into main
Harbduls Mar 27, 2026
d97f106
Fix: no-mechanism-to-update-oracle-address-post-deploy
Froshboss Mar 27, 2026
51398f7
Fix #170: use checked_mul to prevent pot overflow in submit_result
scriptnovaa Mar 27, 2026
dbe73f3
Fix: oracle-submit-result-has-no-link-back-to-escrow-contract-results…
Froshboss Mar 27, 2026
e364409
Test #171: cancel_match on non-existent match_id returns MatchNotFound
scriptnovaa Mar 27, 2026
e55697b
Test #172: deposit on non-existent match_id returns MatchNotFound
scriptnovaa Mar 27, 2026
a851bb9
test: submit_result on non-existent match_id returns MatchNotFound (#…
scriptnovaa Mar 27, 2026
509ace0
feat: add overflow guard for pot calculation and test with i128::MAX …
autostack-art Mar 27, 2026
dcaec8c
feat: add is_initialized() helper and test (#174)
autostack-art Mar 27, 2026
6cbf4fd
test: assert game_id field in test_submit_and_get_result (#149)
autostack-art Mar 27, 2026
4536e5e
test: explicitly assert Pending -> Active state transition (#137)
autostack-art Mar 27, 2026
8815a85
test: add TTL assertion tests for Winner::Draw and Winner::Player1 in…
Escelit Mar 27, 2026
a1d162f
fix(oracle): add pause/unpause mechanism (#180)
Escelit Mar 27, 2026
a16acf7
test: verify platform field is stored and returned by get_match
OxDev-max Mar 27, 2026
5aec534
feat: emit initialized event from escrow initialize and add test
OxDev-max Mar 27, 2026
6b62245
test: assert is_funded returns MatchNotFound for unknown match id
OxDev-max Mar 27, 2026
d958bd9
fix: reject contract address as player in create_match
OxDev-max Mar 28, 2026
5a1bb77
feat: test-contract-token-balance
henrypeters Mar 28, 2026
f3e8865
feat: Add Test: oracle submit_result is blocked when oracle contract …
henrypeters Mar 28, 2026
29a1f24
feat: Add Test: create_match with empty string game_id should be reje…
henrypeters Mar 28, 2026
76278b6
feat: distinguish MatchNotFound vs MatchStorageExpired
henrypeters Mar 28, 2026
952391f
feat(testing): add escrow state transition tests for all winner variants
Mar 28, 2026
9f95d5f
Merge pull request #195 from devAgatha/fix/142-cancel-match-event-cov…
yahia008 Mar 28, 2026
4069d10
Merge pull request #196 from Froshboss/Fix-no-mechanism-to-update-ora…
yahia008 Mar 28, 2026
2a25817
Merge pull request #197 from Froshboss/Fix-oracle-submit-result-has-n…
yahia008 Mar 28, 2026
9bcebc8
Merge pull request #199 from scriptnovaa/test/171-cancel-match-not-found
yahia008 Mar 28, 2026
dea324c
Merge branch 'main' into test/172-deposit-match-not-found
yahia008 Mar 28, 2026
ea63d99
integer
Emeka000 Mar 28, 2026
c1c232e
Merge pull request #200 from scriptnovaa/test/172-deposit-match-not-f…
yahia008 Mar 28, 2026
10c1727
Merge branch 'main' into test/173-submit-result-match-not-found
yahia008 Mar 28, 2026
f7c999d
Merge branch 'main' into filter
Emeka000 Mar 28, 2026
c71e8bf
Merge pull request #201 from scriptnovaa/test/173-submit-result-match…
yahia008 Mar 28, 2026
776a885
fix(#185): add winner field to Match struct and store it on completion
Mar 28, 2026
aba36fc
fix(#185,#226): store winner on completion; use MatchState::Expired i…
Mar 28, 2026
30a751c
test(#185,#192,#226): add tests for winner storage, multi-match oracl…
Mar 28, 2026
3f998f4
Merge branch 'main' into fix/issues-185-192-224-226
goldemaverick-ui Mar 28, 2026
c5313d2
Merge pull request #239 from goldemaverick-ui/fix/issues-185-192-224-226
famvilianity-eng Mar 28, 2026
bf81994
Merge branch 'main' into feat/issue-169-overflow-guard-max-stake
yahia008 Mar 28, 2026
3346919
fix(#216): restrict initialize to deployer on escrow and oracle contr…
fejilaup-cloud Mar 28, 2026
243db06
fix(#216): restrict initialize to deployer on escrow and oracle contr…
fejilaup-cloud Mar 28, 2026
e157c38
fix(#219): get_escrow_balance returns Err for completed/cancelled mat…
fejilaup-cloud Mar 28, 2026
a82d778
match_ledger
Emeka000 Mar 28, 2026
ca92aff
fix(#225): extend storage TTL on is_funded and get_escrow_balance reads
fejilaup-cloud Mar 28, 2026
7fb95f8
fix(#230): validate token address implements token interface in creat…
fejilaup-cloud Mar 28, 2026
4899822
Merge branch 'main' into feat/issue-174-is-initialized
yahia008 Mar 28, 2026
ddf62ae
Merge branch 'main' into escrows
Emeka000 Mar 28, 2026
1137ada
Merge branch 'main' into fix/security-and-bug-fixes
fejilaup-cloud Mar 28, 2026
36b0b8a
Merge pull request #241 from fejilaup-cloud/fix/security-and-bug-fixes
famvilianity-eng Mar 28, 2026
409b572
Merge pull request #204 from autostack-art/test/issue-149-oracle-get-…
yahia008 Mar 28, 2026
de5c7b3
Merge branch 'main' into test/issue-137-state-transition-pending-active
yahia008 Mar 28, 2026
6d75ba4
Merge branch 'main' into fix/ttl-coverage-draw-player2-submit-result
yahia008 Mar 28, 2026
6a3d34e
Merge pull request #208 from OxDev-max/test/platform-field-stored-and…
yahia008 Mar 28, 2026
4c83575
Merge branch 'main' into test/is-funded-match-not-found
yahia008 Mar 28, 2026
a952148
Merge pull request #209 from OxDev-max/feat/initialize-emits-event
yahia008 Mar 28, 2026
fe7dbd5
Merge branch 'main' into filter
Emeka000 Mar 28, 2026
22fdef5
Merge branch 'main' into escrows
Emeka000 Mar 28, 2026
0c3a303
Merge pull request #212 from henrypeters/feature/issue-179-test-contr…
yahia008 Mar 28, 2026
d10e482
Merge branch 'main' into feature/issue-181-test-oracle-submit_result
yahia008 Mar 28, 2026
dc4f794
Merge pull request #214 from henrypeters/feature/issue-184-reject-cre…
yahia008 Mar 28, 2026
788c6bb
Merge branch 'main' into feature/issue-187-match-never-existed
yahia008 Mar 28, 2026
7a19a51
Merge branch 'main' into fix/add-escrow-state-test
yahia008 Mar 28, 2026
ef5644d
Merge branch 'main' into fix/oracle-pause-mechanism
Escelit Mar 28, 2026
ed63abd
fix(#182): add doc comments to error variants and error code referenc…
Coredevjay Mar 28, 2026
189c779
fix(#183): add doc comments to oracle Error variants
Coredevjay Mar 28, 2026
1aeaca0
test(#186): assert get_match returns Completed for all three winner v…
Coredevjay Mar 28, 2026
dd0d267
Merge pull request #238 from Emeka000/filter
yahia008 Mar 28, 2026
cf3c915
Merge pull request #240 from Emeka000/escrows
yahia008 Mar 28, 2026
90fe0c4
fix(#191): guard cancel_match against contract address as caller
Coredevjay Mar 28, 2026
a6c5731
Merge branch 'main' into feature/issue-181-test-oracle-submit_result
henrypeters Mar 28, 2026
18cb1f7
Merge branch 'main' into feature/issue-187-match-never-existed
henrypeters Mar 28, 2026
b524043
Merge pull request #246 from Coredevjay/fix/182-error-code-documentation
yahia008 Mar 28, 2026
4871971
Merge pull request #247 from Coredevjay/fix/183-oracle-error-doc-comm…
yahia008 Mar 28, 2026
d985363
Merge pull request #248 from Coredevjay/test/186-get-match-completed-…
yahia008 Mar 28, 2026
87f0ee4
Merge pull request #249 from Coredevjay/fix/191-cancel-match-contract…
yahia008 Mar 28, 2026
77eebc0
Merge pull request #210 from OxDev-max/test/is-funded-match-not-found
yahia008 Mar 28, 2026
f9b0f7c
Merge branch 'main' into fix/contract-address-as-player
yahia008 Mar 28, 2026
529c6d8
Merge pull request #211 from OxDev-max/fix/contract-address-as-player
yahia008 Mar 28, 2026
bb62ddf
Merge pull request #206 from Escelit/fix/ttl-coverage-draw-player2-su…
yahia008 Mar 28, 2026
803d57a
Merge branch 'main' into fix/issue-7-deposit-state-checks
yahia008 Mar 28, 2026
8fe69d2
Merge pull request #95 from rayeberechi/fix/issue-7-deposit-state-checks
yahia008 Mar 28, 2026
ab6e75b
Merge branch 'main' into fix/oracle-pause-mechanism
yahia008 Mar 28, 2026
acbf719
Merge pull request #207 from Escelit/fix/oracle-pause-mechanism
yahia008 Mar 28, 2026
3dbe082
Merge pull request #99 from vicajohn/submit-result-does-not-verify-th…
yahia008 Mar 28, 2026
7aadeeb
Merge branch 'main' into Fix-no-way-to-list-all-active-matches-no-glo…
yahia008 Mar 28, 2026
79d3a33
Merge pull request #102 from vicajohn/Fix-no-way-to-list-all-active-m…
yahia008 Mar 28, 2026
e36d5f8
Merge branch 'main' into Checkmate-Escrow148
yahia008 Mar 28, 2026
b224126
Merge pull request #155 from bitstarkbridge/Checkmate-Escrow148
yahia008 Mar 28, 2026
f81e059
Merge branch 'main' into fix/token-address-not-validated
yahia008 Mar 28, 2026
d05de7e
Merge pull request #98 from tali-creator/fix/token-address-not-validated
yahia008 Mar 28, 2026
5b9123e
Merge branch 'main' into fix/token-allowlist-validation
yahia008 Mar 28, 2026
b63f470
Merge pull request #89 from HuiNeng6/fix/token-allowlist-validation
yahia008 Mar 28, 2026
cd898c8
Merge pull request #100 from tali-creator/test/player-cannot-deposit-…
yahia008 Mar 28, 2026
0a7aaca
Merge branch 'main' into feature/issue-20
yahia008 Mar 28, 2026
c44a988
Merge pull request #117 from devoclan/feature/issue-20
yahia008 Mar 28, 2026
2fdeda5
Merge pull request #119 from obajecollinsmicheal-cmd/test/oracle-get-…
yahia008 Mar 28, 2026
5c582f3
Merge branch 'main' into test/unpause-restores-create-match
yahia008 Mar 28, 2026
53163d9
Merge pull request #120 from obajecollinsmicheal-cmd/test/unpause-res…
yahia008 Mar 28, 2026
d0caeb2
Merge pull request #161 from devoclan/feature/oracle-test
yahia008 Mar 28, 2026
519efe1
Merge branch 'main' into main
yahia008 Mar 28, 2026
89adc67
Merge pull request #165 from Harbduls/main
yahia008 Mar 28, 2026
8c503a7
Merge branch 'main' into fix/170-submit-result-pot-overflow
yahia008 Mar 28, 2026
66c0aaf
Merge pull request #198 from scriptnovaa/fix/170-submit-result-pot-ov…
yahia008 Mar 28, 2026
46c9978
Merge pull request #202 from autostack-art/feat/issue-169-overflow-gu…
yahia008 Mar 28, 2026
65ad926
Merge pull request #203 from autostack-art/feat/issue-174-is-initialized
yahia008 Mar 28, 2026
16bf9e0
Merge pull request #205 from autostack-art/test/issue-137-state-trans…
yahia008 Mar 28, 2026
b887b50
Merge branch 'main' into feature/issue-181-test-oracle-submit_result
yahia008 Mar 28, 2026
48cdc54
Merge pull request #213 from henrypeters/feature/issue-181-test-oracl…
yahia008 Mar 28, 2026
810d06a
Merge pull request #215 from henrypeters/feature/issue-187-match-neve…
yahia008 Mar 28, 2026
8a33e29
Merge pull request #235 from euniceamoni/fix/add-escrow-state-test
yahia008 Mar 28, 2026
6b4d973
Add token_client.balance(&contract_id) == 200 assert after both deposits
Abdulmajeed82 Mar 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
158 changes: 158 additions & 0 deletions .claude/agents/kfc/spec-design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
---
name: spec-design
description: use PROACTIVELY to create/refine the spec design document in a spec development process/workflow. MUST BE USED AFTER spec requirements document is approved.
model: inherit
---

You are a professional spec design document expert. Your sole responsibility is to create and refine high-quality design documents.

## INPUT

### Create New Design Input

- language_preference: Language preference
- task_type: "create"
- feature_name: Feature name
- spec_base_path: Document path
- output_suffix: Output file suffix (optional, such as "_v1")

### Refine/Update Existing Design Input

- language_preference: Language preference
- task_type: "update"
- existing_design_path: Existing design document path
- change_requests: List of change requests

## PREREQUISITES

### Design Document Structure

```markdown
# Design Document

## Overview
[Design goal and scope]

## Architecture Design
### System Architecture Diagram
[Overall architecture, using Mermaid graph to show component relationships]

### Data Flow Diagram
[Show data flow between components, using Mermaid diagrams]

## Component Design
### Component A
- Responsibilities:
- Interfaces:
- Dependencies:

## Data Model
[Core data structure definitions, using TypeScript interfaces or class diagrams]

## Business Process

### Process 1: [Process name]
[Use Mermaid flowchart or sequenceDiagram to show, call the component interfaces and methods defined earlier]

### Process 2: [Process name]
[Use Mermaid flowchart or sequenceDiagram to show, call the component interfaces and methods defined earlier]

## Error Handling Strategy
[Error handling and recovery mechanisms]
```

### System Architecture Diagram Example

```mermaid
graph TB
A[Client] --> B[API Gateway]
B --> C[Business Service]
C --> D[Database]
C --> E[Cache Service Redis]
```

### Data Flow Diagram Example

```mermaid
graph LR
A[Input Data] --> B[Processor]
B --> C{Decision}
C -->|Yes| D[Storage]
C -->|No| E[Return Error]
D --> F[Call notify function]
```

### Business Process Diagram Example (Best Practice)

```mermaid
flowchart TD
A[Extension Launch] --> B[Create PermissionManager]
B --> C[permissionManager.initializePermissions]
C --> D[cache.refreshAndGet]
D --> E[configReader.getBypassPermissionStatus]
E --> F{Has Permission?}
F -->|Yes| G[permissionManager.startMonitoring]
F -->|No| H[permissionManager.showPermissionSetup]

%% Note: Directly reference the interface methods defined earlier
%% This ensures design consistency and traceability
```

## PROCESS

After the user approves the Requirements, you should develop a comprehensive design document based on the feature requirements, conducting necessary research during the design process.
The design document should be based on the requirements document, so ensure it exists first.

### Create New Design (task_type: "create")

1. Read the requirements.md to understand the requirements
2. Conduct necessary technical research
3. Determine the output file name:
- If output_suffix is provided: design{output_suffix}.md
- Otherwise: design.md
4. Create the design document
5. Return the result for review

### Refine/Update Existing Design (task_type: "update")

1. Read the existing design document (existing_design_path)
2. Analyze the change requests (change_requests)
3. Conduct additional technical research if needed
4. Apply changes while maintaining document structure and style
5. Save the updated document
6. Return a summary of modifications

## **Important Constraints**

- The model MUST create a '.claude/specs/{feature_name}/design.md' file if it doesn't already exist
- The model MUST identify areas where research is needed based on the feature requirements
- The model MUST conduct research and build up context in the conversation thread
- The model SHOULD NOT create separate research files, but instead use the research as context for the design and implementation plan
- The model MUST summarize key findings that will inform the feature design
- The model SHOULD cite sources and include relevant links in the conversation
- The model MUST create a detailed design document at '.kiro/specs/{feature_name}/design.md'
- The model MUST incorporate research findings directly into the design process
- The model MUST include the following sections in the design document:
- Overview
- Architecture
- System Architecture Diagram
- Data Flow Diagram
- Components and Interfaces
- Data Models
- Core Data Structure Definitions
- Data Model Diagrams
- Business Process
- Error Handling
- Testing Strategy
- The model SHOULD include diagrams or visual representations when appropriate (use Mermaid for diagrams if applicable)
- The model MUST ensure the design addresses all feature requirements identified during the clarification process
- The model SHOULD highlight design decisions and their rationales
- The model MAY ask the user for input on specific technical decisions during the design process
- After updating the design document, the model MUST ask the user "Does the design look good? If so, we can move on to the implementation plan."
- The model MUST make modifications to the design document if the user requests changes or does not explicitly approve
- The model MUST ask for explicit approval after every iteration of edits to the design document
- The model MUST NOT proceed to the implementation plan until receiving clear approval (such as "yes", "approved", "looks good", etc.)
- The model MUST continue the feedback-revision cycle until explicit approval is received
- The model MUST incorporate all user feedback into the design document before proceeding
- The model MUST offer to return to feature requirements clarification if gaps are identified during design
- The model MUST use the user's language preference
39 changes: 39 additions & 0 deletions .claude/agents/kfc/spec-impl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: spec-impl
description: Coding implementation expert. Use PROACTIVELY when specific coding tasks need to be executed. Specializes in implementing functional code according to task lists.
model: inherit
---

You are a coding implementation expert. Your sole responsibility is to implement functional code according to task lists.

## INPUT

You will receive:

- feature_name: Feature name
- spec_base_path: Spec document base path
- task_id: Task ID to execute (e.g., "2.1")
- language_preference: Language preference

## PROCESS

1. Read requirements (requirements.md) to understand functional requirements
2. Read design (design.md) to understand architecture design
3. Read tasks (tasks.md) to understand task list
4. Confirm the specific task to execute (task_id)
5. Implement the code for that task
6. Report completion status
- Find the corresponding task in tasks.md
- Change `- [ ]` to `- [x]` to indicate task completion
- Save the updated tasks.md
- Return task completion status

## **Important Constraints**

- After completing a task, you MUST mark the task as done in tasks.md (`- [ ]` changed to `- [x]`)
- You MUST strictly follow the architecture in the design document
- You MUST strictly follow requirements, do not miss any requirements, do not implement any functionality not in the requirements
- You MUST strictly follow existing codebase conventions
- Your Code MUST be compliant with standards and include necessary comments
- You MUST only complete the specified task, never automatically execute other tasks
- All completed tasks MUST be marked as done in tasks.md (`- [ ]` changed to `- [x]`)
125 changes: 125 additions & 0 deletions .claude/agents/kfc/spec-judge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
name: spec-judge
description: use PROACTIVELY to evaluate spec documents (requirements, design, tasks) in a spec development process/workflow
model: inherit
---

You are a professional spec document evaluator. Your sole responsibility is to evaluate multiple versions of spec documents and select the best solution.

## INPUT

- language_preference: Language preference
- task_type: "evaluate"
- document_type: "requirements" | "design" | "tasks"
- feature_name: Feature name
- feature_description: Feature description
- spec_base_path: Document base path
- documents: List of documents to review (path)

eg:

```plain
Prompt: language_preference: Chinese
document_type: requirements
feature_name: test-feature
feature_description: Test
spec_base_path: .claude/specs
documents: .claude/specs/test-feature/requirements_v5.md,
.claude/specs/test-feature/requirements_v6.md,
.claude/specs/test-feature/requirements_v7.md,
.claude/specs/test-feature/requirements_v8.md
```

## PREREQUISITES

### Evaluation Criteria

#### General Evaluation Criteria

1. **Completeness** (25 points)
- Whether all necessary content is covered
- Whether there are any important aspects missing

2. **Clarity** (25 points)
- Whether the expression is clear and explicit
- Whether the structure is logical and easy to understand

3. **Feasibility** (25 points)
- Whether the solution is practical and feasible
- Whether implementation difficulty has been considered

4. **Innovation** (25 points)
- Whether there are unique insights
- Whether better solutions are provided

#### Specific Type Criteria

##### Requirements Document

- EARS format compliance
- Testability of acceptance criteria
- Edge case consideration
- **Alignment with user requirements**

##### Design Document

- Architecture rationality
- Technology selection appropriateness
- Scalability consideration
- **Coverage of all requirements**

##### Tasks Document

- Task decomposition rationality
- Dependency clarity
- Incremental implementation
- **Consistency with requirements and design**

### Evaluation Process

```python
def evaluate_documents(documents):
scores = []
for doc in documents:
score = {
'doc_id': doc.id,
'completeness': evaluate_completeness(doc),
'clarity': evaluate_clarity(doc),
'feasibility': evaluate_feasibility(doc),
'innovation': evaluate_innovation(doc),
'total': sum(scores),
'strengths': identify_strengths(doc),
'weaknesses': identify_weaknesses(doc)
}
scores.append(score)

return select_best_or_combine(scores)
```

## PROCESS

1. Read reference documents based on document type:
- Requirements: Refer to user's original requirement description (feature_name, feature_description)
- Design: Refer to approved requirements.md
- Tasks: Refer to approved requirements.md and design.md
2. Read candidate documents (requirements:requirements_v*.md, design:design_v*.md, tasks:tasks_v*.md)
3. Score based on reference documents and Specific Type Criteria
4. Select the best solution or combine strengths from x solutions
5. Copy the final solution to a new path with a random 4-digit suffix (e.g., requirements_v1234.md)
6. Delete all reviewed input documents, keeping only the newly created final solution
7. Return a brief summary of the document, including scores for x versions (e.g., "v1: 85 points, v2: 92 points, selected v2")

## OUTPUT

final_document_path: Final solution path (path)
summary: Brief summary including scores, for example:

- "Created requirements document with 8 main requirements. Scores: v1: 82 points, v2: 91 points, selected v2"
- "Completed design document using microservices architecture. Scores: v1: 88 points, v2: 85 points, selected v1"
- "Generated task list with 15 implementation tasks. Scores: v1: 90 points, v2: 92 points, combined strengths from both versions"

## **Important Constraints**

- The model MUST use the user's language preference
- Only delete the specific documents you evaluated - use explicit filenames (e.g., `rm requirements_v1.md requirements_v2.md`), never use wildcards (e.g., `rm requirements_v*.md`)
- Generate final_document_path with a random 4-digit suffix (e.g., `.claude/specs/test-feature/requirements_v1234.md`)
Loading