99 Commits

Author SHA1 Message Date
conduition
ec64acd5b2 v0.0.9 v0.0.9 2026-01-10 01:54:50 +00:00
tee8z
3b761f655f chore: update dependencies to latest versions (#3)
- musig2: 0.2.4 -> 0.3.1
- secp: 0.5.0 -> 0.6.0
- rand: 0.8.5 -> 0.9.2
- Fix deprecation warnings for rand::thread_rng() -> rand::rng()
- Fix deprecation warnings for gen_range() -> random_range()

All tests passing.
2026-01-09 20:52:53 -05:00
conduition
9d46269a86 v0.0.8 v0.0.8 2025-07-21 22:25:55 +00:00
tee8z
37052b5573 feat: adding error struct (#2) 2025-07-21 15:24:21 -07:00
conduition
463d294835 v0.0.7 2025-02-20 02:59:36 +00:00
tee8z
e0091d640a update deps to latest possible (#1)
* update deps to latest supported

* update all deps and handle type conversion

* clean up

* fix test expectation and point conversion

* update dep, revert test assert
2025-02-19 19:40:14 -07:00
conduition
18575ee445 fix rustdoc links 2024-06-26 01:24:22 +00:00
conduition
1cdef68a0a abstract event announcement away as an array of locking points
To support digit decomposition events, dlctix will represent
the oracle event data as an array of locking points, each
representing a different outcome in the DLC. Enum events can
be easily converted into a set of locking points. Digit decomp
events can also be likewise converted, by enumerating the set
of relevant digit ranges, and aggregating sets of locking points
together. As a bonus, this also adds support for multi-oracle
DLCs, as oracle locking points from different oracles can also
be safely aggregated.
2024-06-26 01:16:59 +00:00
conduition
8712a099d6 document how to run the integration tests 2024-03-21 20:52:54 +00:00
conduition
43ed5c3806 run bitcoind locally when cargo test is executed 2024-03-21 20:38:05 +00:00
conduition
358d1e96cc rename all regtest test funcs to strip useless prefix 2024-03-21 18:33:26 +00:00
conduition
073b0b6841 break block mining into discrete chunks to avoid hitting timeout 2024-03-21 18:31:25 +00:00
conduition
b81fbf6cd8 v0.0.6 v0.0.6 2024-03-20 22:02:25 +00:00
conduition
a752693ec9 remove unfinished demo server code 2024-03-20 22:02:10 +00:00
conduition
9bc32b20e2 v0.0.5 v0.0.5 2024-03-20 21:46:13 +00:00
conduition
9d81acfef3 expose bitcoin library 2024-03-20 21:45:47 +00:00
conduition
bf628d991a improve documentation with worked-out example test code 2024-03-20 21:45:40 +00:00
conduition
4e1eb8eeee reduce duplication of transaction-building code 2024-03-20 21:44:35 +00:00
conduition
8e337ccb8b allow the caller to choose player indexes 2024-03-20 19:33:17 +00:00
conduition
4ed448d5c5 add funding-close transaction for optimized closure when all players cooperate 2024-03-20 18:39:46 +00:00
conduition
f8ac9eb138 add stress test to check performance when signing large DLCs 2024-03-20 05:42:19 +00:00
conduition
76f1365564 refactor SigningSession API to encourage use of a coordinator 2024-03-20 05:42:19 +00:00
conduition
96e82bd5f1 update musig2 crate
update musig2 crate to fix adaptor signature verification
2024-03-20 05:42:15 +00:00
conduition
29c7a8a16b improve documentation 2024-03-20 01:43:59 +00:00
conduition
cc0fb0e15c add checks for OP_CSV enforcement of relative locktimes 2024-03-19 19:44:30 +00:00
conduition
2e1ba446ba add test coverage for expiry outcomes 2024-03-19 15:06:32 +00:00
conduition
fdcdaff497 reduce code duplication in regtest integration tests 2024-03-19 14:30:33 +00:00
conduition
d3ea43968f add test coverage for outcome reclaim TX 2024-03-18 21:23:42 +00:00
conduition
8143758e39 add tests to cover cooperative closing transactions 2024-03-18 21:07:47 +00:00
conduition
23e7a116bf initial prototype of player client 2024-03-18 20:27:03 +00:00
conduition
a011cf5e44 fix use of option for expiry in tests 2024-03-18 20:24:22 +00:00
conduition
2bd8d4fed5 run signing session 2024-03-18 20:00:58 +00:00
conduition
a4206b2e22 add bitcoin core client into global state 2024-03-18 18:51:16 +00:00
conduition
c953c40e04 send retry messages to players if some players reject 2024-03-18 18:08:45 +00:00
conduition
57dadf452b add market maker server demo prototype (incomplete) 2024-03-18 01:37:47 +00:00
conduition
fc29bd27b6 reusable method to check if an outcome is valid 2024-03-18 00:32:24 +00:00
conduition
71334d99f9 event expiry is optional 2024-03-17 21:27:34 +00:00
conduition
e80bec45e0 v0.0.4 v0.0.4 2024-03-16 20:27:41 +00:00
conduition
3eb37c4d51 add serde serialization trait implementations
This allows players and the market maker to transact network sockets,
or other transport channels, by passing nonces, sigmaps, etc, back
and forth to each other. It also allows parties to store their signed
contract data locally, and enforce the contract even after a restart.
2024-03-16 20:27:09 +00:00
conduition
fd603387c4 list wallet directory, not loaded wallets 2024-03-16 17:10:50 +00:00
conduition
5a310f9c00 deps should use only minimal features required 2024-03-16 17:10:30 +00:00
conduition
5308509e54 fix lockfile 2024-03-16 17:10:09 +00:00
conduition
d5839e64be v0.0.3 v0.0.3 2024-03-16 05:38:50 +00:00
conduition
2e342b12b3 crate docs todo 2024-03-16 05:38:40 +00:00
conduition
94e9f5e26c do not publish images 2024-03-16 05:37:52 +00:00
conduition
9ca48a1995 v0.0.2 v0.0.2 2024-03-16 05:35:38 +00:00
conduition
61c4be2a68 add integration test using regtest
This test validates the basic spending paths are enforceable.
It covers the split TX, followed by three different resolutions
for each individual payout contract. We test to confirm:
- a player can claim winnings using their ticket preimage
- the market maker can reclaim winnings using the payout preimage
- the market maker can reclaim winnings after the timeout
2024-03-16 01:36:14 +00:00
conduition
b32bab6c14 fix missing imports and exports 2024-03-16 01:18:00 +00:00
conduition
69d614600d oracle attestations should be valid BIP340 signatures 2024-03-16 01:17:39 +00:00
conduition
d2b545fa8c remove unused payout_value field from SplitSpendInfo 2024-03-16 01:17:23 +00:00