015500be1c5c6c5f87ca55fad6a1e35cc4d20c785a813f184b8fcc646c5e59d7  DATA_CARD.md
338fe6ff3a1cc9cc1590e2828a25a1da8188080663c4ce19e954d2422c86b5e1  LICENSE_NOTICE.md
880c69b230b95243b32228e8a4e360549bed5aa13c70a387c83eb86e9192289b  MANIFEST.json
2ac3b2be1f571cdc9962643ed8e922b51e8cb512a33bad482a049b9aff1f2158  QUALITY_REPORT.md
96d5c5059d1c85e0e46de6add83d76dd02cd6aadff776fcfcf976663c9b7268b  README.md
e33b08781b7d7bb19e61bcdbf39136198ebd0b41508150ba606519df52047f7d  SELECTION_REPORT.json
b087048dff4311c5913d2e6755e8961c13fa0005d1229184a70e54ff4bd9e2b7  history/commits.csv
28f327bccbebd4be6f628842a7889c323404c3548fa9e8081cde355ed9c748c3  history/patch-pairs/patch-01.patch
e037936a19878af5bd9a4d1843f9f04f1be2563b91e88b1f32ee4a9c4c328950  history/patch-pairs/patch-02.patch
df54555240268bed7a408aff95aa4456a966bda9a55ba4b3fee488f0f4062efe  history/patch-pairs/patch-03.patch
4b3fc4e220ba8b18368656343ad8c043fa22196ad547d5bd0a7929217a2c6355  history/patch-pairs/patch-04.patch
9794f8fa2d9fae36cc0a4dd8447180fc50cb46c6527a729b1009a56ba5d3356a  history/patch-pairs/patch-05.patch
07911fce29b69040421fc352e205acf154a6000ca005efda06a4f1f361fca954  history/repository.bundle
fa8ece5e669d6a5e98056212278b321da093ae7ea49a82b5076ccd019d32fb7c  source/.gitignore
771c391b315bd9d00b2bf42e58436114010534da49f4116ff61a3d3adaaf1d89  source/CLAUDE.md
adfd967e441ad6940863422422cad8a7fc6877cff450f19994faf9dde521544c  source/LICENSE
e9982d59b545636bb680860ad58ae57038e2b26ddd111e247c1e6631d95ed2a3  source/README-open.md
058e3f52b9c24f560d01d14cfcdf5a6e20e0c718ed5637793760f95710858dc3  source/README.md
5a89a99e7d9d12581517cf5e7b19259fca74a97a5322358a9da28d0d64dc2788  source/contracts/mock/MockERC20.sol
feecd2dabb7fc7ec9738ceb18bc96d4f532ce13726697455fd696ad667f293dc  source/contracts/open/IdeaTrade.sol
cf35db9ff40728c1e75b719cfdbbb49b62011541284dd09118c7857d6e5f2a96  source/contracts/open/IdeaTradeBalance.sol
33223dfca920a4b93f317dfb6f8975143b98b2a93aed4be47085827f6223df17  source/contracts/open/IdeaTradeBet.sol
6cc8cf69e097ac2337574f4406065a9f076477fa5321170c569e9075fb38e364  source/contracts/open/IdeaTradeError.sol
9f934015bf4f830c3d0026b66350e4fb5c16235fdc718b0a5e9a7a4dd5132966  source/contracts/open/IdeaTradeEvent.sol
b7278d0f1b311096490fa20d0b0f31a96263a480abc931f360689822543958b8  source/contracts/open/IdeaTradeStorage.sol
ad33024be0d3257e4e08fe7b878577a5e4980bbf418cb5536a4c43ea38742a2b  source/contracts/restricted/IdeaTrade.sol
e3594a501f5913e2353292ae330bac85ee6380f62a1171e65bea8d6c77c6e370  source/contracts/restricted/IdeaTradeBalance.sol
55859c9ea4b3f77faf4286673363bf3f2578cc33920ee6d054354a1847b28b95  source/contracts/restricted/IdeaTradeBet.sol
8f3cf7d498ec6dc26e10f8e1f1be058a5298ee28dee2f150604ce019af087e8e  source/contracts/restricted/IdeaTradeError.sol
c233b10b1851532c4c803143ab7ed79720cb30a44580c09a70fc0c2a0bde5197  source/contracts/restricted/IdeaTradeEvent.sol
05c2729ec16edf673cec6b3788b13e5d99792713f97bfea2b0098ae1a8f089d8  source/contracts/restricted/IdeaTradeStorage.sol
9cd270d5dc147b01260ff505b6c412845ca5665e14f17569d57314c4a03fde42  source/deployment-info.json
ea486a50b28e38b8baaa7db231a96140b4561f7a8c557fb1f26d895313ade762  source/hardhat.config.js
d44120eea52aba7b69927b0c5604a7fe99b53b826949f3c2779063f5660ebca5  source/package.json
3e2bc958c120221e990a15a4347cf8e9831dc9952d2790d4ee2d4c7fa4df139c  source/scripts/add-test-wallet.js
3844b059882b5d696e51428ecf6695ce1320eb768c05709c392db0f133c921a7  source/scripts/deploy.js
6ecf20f1e553d381ed4997342407bb13e551943930cd4b1b63cbc445d9b18b31  source/scripts/distribute.js
edb6fdf3d75845bf50f37ec6b3eacda0363e98c4f19c4a9f70dfc3581737f638  source/scripts/full-deploy.js
2a21c770980a892e5b1193af55a190840259ba8f9469acf55b1e01c55aca4303  source/scripts/fund-wallets.js
2bd48ae1b9af4a220f03b2365614a40f9e33f0adea9dc17b808f64af8c7566f0  source/scripts/setup-wallet.js
42d455f867b7f6ea4fd8576469afd5e97beeec40738d692af21d681f402ed46e  source/scripts/setup.js
9f83f232f874469ebc8e94fdd4587e307395d86886682b5399f333f104a82a22  source/test/IdeaTrade.test.js
c2739de30505a1267170d62243688b8073420d14927834046f3b7332a0768933  source/test/balance/deposit-withdraw.test.js
026f3ad345642fd93d7657ad478cabefbdd23095f413d7ed5ee7c332b5b46028  source/test/balance/transfer.test.js
a994f1dab32c1a5aff9db18f7d77960fe3d14f4b54a3a906fee6419be71846ce  source/test/bet/accept-payment.test.js
4ca6e71dd0a8883cc7f9145dd8246e91235bd530f29ed0e58f27e5bbdf7b6dbc  source/test/bet/accept-signature.test.js
504ff7313ef346025859e24ed4f9fdd6d79e226f8342e8c8dc44c6c49f05bc71  source/test/bet/accept-success.test.js
d6cb5f9b7b533390e3ade466457c631edfa7b59a20a01bf0f4d4a79355edf341  source/test/bet/accept-validation.test.js
f0132e71151965935730af53a390e5d26c0b4cef6c42b1e3ca62451225a8b357  source/test/bet/calculate-stake.test.js
df6b36f98c59c3faa37ac64a117408c86b9dedca359dd283d128754b66c74a84  source/test/bet/expire.test.js
8cc4ad923276a0223bd1f10fef376747018d0aff9f0ba4cad3a8f8c9253c9488  source/test/bet/resolve.test.js
51a3a02c708e4fed0b40f237f1fb56c1c59ef8f6ba9d63eaeb959ae308bf1753  source/test/bet/sell-position.test.js
5c4630ac697f9d697bb82c90e4ad7b872f41c47b9e0c1e7ace9fc0b73cf8216b  source/test/bet/transfer-position.test.js
0398d7095c6236554c205b2419888b92ccfeda21fce00cbdc60fdd4d36e00898  source/test/edge/authorization.test.js
215694cd54c9be9fd9bdd865229160c5d5600f3b636db0e2c857a2830ffd98b0  source/test/edge/bps-boundary.test.js
a1d7185500b574be413e42568add6ff0cff5057dbfd841d47af3809bfbda14bb  source/test/edge/concurrent.test.js
e7ac569d48d3b37d5449d92ccc11fab8ad0b2c1ff64db663daa754217d6a1489  source/test/edge/multi-transfer.test.js
d652292cfebddf8b7a13e8b4a2b68cd8e63f21a99b796a74975521a26d5c18ea  source/test/edge/position-transfer.test.js
1d6b556d64bb3dcacc1deec49c4e789380e2d2ab884b0bae56410ed15b30e266  source/test/edge/reentrancy.test.js
02e86801987d119703a8c621e016c27f5091bd0e0931b8be864df3fb6e5bab8f  source/test/edge/signature-replay.test.js
766552538c19b9ae4bedbcefb03f3f9bc2b1ca21db870f886fba1161503d4566  source/test/edge/stake-size.test.js
5b75f59d5fc2896f8af7939cbf2a0498b72778ab0985487b4cb386c260e160c8  source/test/edge/state-transition.test.js
65897d70144ded604c36d6eb62c7071d870f99d07c69d7f7bdfe203e5534fef9  source/test/edge/timestamp.test.js
e8b25878d99d818acaa3a60a657d1ba06d4dd35cbfa4d931fff12ee26be4e064  source/test/edge/zero-value.test.js
23d347fa13187546aa2357c61960622d02359e3ba3401e94f505d43cac7cf8fb  source/test/fuzz/bet-acceptance.test.js
18ceddffcc025b90c815cd9ba1452c2ae728317ff86599274aa7d516b946b659  source/test/fuzz/bps-edge-value.test.js
712801f90dd44d23c1dcf6d1a5a79b599fd7527814075796df4a8bf8d75d11f5  source/test/fuzz/contract-balance.test.js
9d3c57ab26f2f093bac05b209f9cbe35495203ad77ce86f9903efe5622674dfe  source/test/fuzz/expiration.test.js
9127908513a42212bcdbed3f54e4a15ab070cd7e61b3e49139da798a7d2b3aa6  source/test/fuzz/position-transfer.test.js
493729c36d23992fb7e4a1404221f1eb7a2ff7d07dc7ae4a577466c2b4c35cbd  source/test/fuzz/random-participant.test.js
fcc77f9e33972f0d165d80d180c55f06ef71891ccfcc0b7b79c33b4bea4eaf61  source/test/fuzz/resolution.test.js
55e65e242af2b65774a6bf05304655eafede91aa81831702745c862710e74b31  source/test/fuzz/signature-verification.test.js
77cf72954668c41f2141af3a5b62e0c7ff3c342645ac12054b6c10f594bfe2d1  source/test/fuzz/state-machine.test.js
c1f2d917a1a68942cb05850b3fea0c2022d22927a59acac673fb5598e2d14a84  source/test/fuzz/time-based.test.js
49f709cf47a364884066f6144780527904558c8b2041a3edf2e732f6f54bd476  source/test/helper.js
087a4ab3c408c83f023bcc1a6b4a6ae8f93c9fe0075f8538cb5a603587926e85  source/test/open/IdeaTrade.test.js
66b1988173721a573028ce2246f29b49b5afda75f6af2c0460f7556fe80341cb  source/test/open/balance/deposit-withdraw.test.js
8bb61100802e58889ab6a63e8706fab8e1b09d935b5a0c0f2670fc6bfce05ce7  source/test/open/balance/transfer.test.js
581c8135df29bb850fb7b2685bb46b37792fd395eca511d55f37df22ad846d8e  source/test/open/bet/accept-payment.test.js
3d393400b8b4e0da3fce06ba71d5cf14c91fd731287b8be1e6c098a05df37c61  source/test/open/bet/accept-signature.test.js
2f18742261be6c30d53689bac85b894b20449afaa08ac4f1e55d621a3aa1b9a8  source/test/open/bet/accept-success.test.js
fb059a55c9445e23da048be2941ef92e968e226ff0222d344f5d8597fad814b3  source/test/open/bet/accept-validation.test.js
3765b9970088e1c212233d2d9be7a441617979ff897bf0a8dca95e3f537ae6d6  source/test/open/bet/calculate-stake.test.js
ac6461336081579a1d01765616cdee129dc4a6d673ec8fbbbfbaecc9b89bde8e  source/test/open/bet/expire.test.js
15ac06c2a54a4692264cc365c7c53864cc73e24842f969258d60a097a83b2fb3  source/test/open/bet/resolve.test.js
e44808aefada1386eeaa703593a4411d89c91f4b0ce480574111567e4a6bdb78  source/test/open/bet/sell-position.test.js
887d266cd5af077f5cbe8e0f0587ae6f0bb34263c2726dddef48c79f598556d6  source/test/open/bet/transfer-position.test.js
161b83f9f27656b3a9d12d180550e6411d9eb882c36d3f9ef12bc10ddf6bedad  source/test/open/edge/authorization.test.js
6a6c778f9046dcc9c3f2d230aac59a2359ae06ed8e4eb2144e0c9ba0def26748  source/test/open/edge/bps-boundary.test.js
3928df2e61386ea3932b07b37dcfe7ddfc61ac33ba82d25af86499c3a8753eff  source/test/open/edge/concurrent.test.js
3dc7dc12dd198827b833a29161ffd0640c64befc34556ad3756532045f1c2a07  source/test/open/edge/multi-transfer.test.js
ab3b6d4c069c7b337b32dc488ebe2d1a3eda33213351e1bc1aafc982724407f4  source/test/open/edge/position-transfer.test.js
e084fcb6df81243deb6038eb2c8b82b2225ef7b5eefde566654efc5d8f45cf0d  source/test/open/edge/reentrancy.test.js
74dcc44913fa3f692fa7e7d8fd403fe8e8f339527eca8b3f8f0621714427c841  source/test/open/edge/signature-replay.test.js
cfc68867a7f0bc339a6b7126994b6d5122db8506adb684b5c31e991186095194  source/test/open/edge/stake-size.test.js
3b15ab8479bfdb9759ac72ffb244a19c0f6bb306ea8678b17debac38a1b6482d  source/test/open/edge/state-transition.test.js
6fc1cf0e414479eaece2d0fa101a2702362edc3af2da5da6ec8032213e985821  source/test/open/edge/timestamp.test.js
4b7efa3cf4167c66d1bcf1b1ecd3940a99bbb796515fb2253bb9d92c502e459e  source/test/open/edge/zero-value.test.js
fb6dac6b31c6a0f284adf47b7ad624c0d1e7847b4d5ff32b3e8e4af5fbb390e2  source/test/open/fuzz/bet-acceptance.test.js
7a3de74d56e6f2fa3332df62fb8bf582743967c5dcfa5c8ae50288c97023bdf8  source/test/open/fuzz/bps-edge-value.test.js
b824e711bbfa410d370144f0f28e667efa18995ab78b51fb8b4b63fe31e0bb05  source/test/open/fuzz/contract-balance.test.js
1e3f1e00422c2a26914f263ac53ebb98b893052b90accbf68c31eaedef521402  source/test/open/fuzz/expiration.test.js
a09da9937a5e9ec03ad3a9b1da2edf3466c9aa0890a5acaf2da4fec35fbfa4c1  source/test/open/fuzz/position-transfer.test.js
9aedcdf82c331ff947472a14f044580edd1d90acb1610ba516f4ad28f70283ad  source/test/open/fuzz/random-participant.test.js
6bd02a4c5a00b22250e64084be54f4fec099b3e345fc7d443b9f416ce901babf  source/test/open/fuzz/resolution.test.js
4556c2c069214a6f7ad74586385746c66a144937c50f60e879fc9687967eb452  source/test/open/fuzz/signature-verification.test.js
4a622d51695686477c6ae7064d97469c52f71507626bb549752621c03eca9c2c  source/test/open/fuzz/state-machine.test.js
9b893f4de5fff6935fbbc2e29450aaad913e984707b63387d9780b7b87bbe08a  source/test/open/fuzz/time-based.test.js
9de0dd6def354c5ce38884c98272d1eddd11e3fd6ccdf3c466a2c6cde719684e  source/test/open/security/admin-authorization.test.js
9d346284bc29f92993911bb7b405149be05419af5ab32532bb6a0901e221646d  source/test/open/security/comprehensive-fuzz.test.js
e1de133c13def842e3718323cfcba9c84eae954947b8e873946a09ce8ddf8a8f  source/test/open/security/fee-attack.test.js
e963a8a4211bca679df56ab5b16a5346ac5d65b5699a206e9af93b7fe3255725  source/test/open/security/fund-extraction.test.js
cad2e9636cdc0ed105f458b333e25743fd32f56f585402369138ee473082cb71  source/test/open/security/nonce-isolation.test.js
236fa7068e2aaa4d35add8d4fb3b33e749b16f2765ca88058a41635877f15d9a  source/test/open/security/signature-cross-operation.test.js
c462f536efdab9eb1a963dd9d484399259e5727397be6366290e87a0bd98fb63  source/test/open/security/signature-deadline.test.js
3ce740c404353b194d926b8eadafe7e29a599436462e76ef76ed1942066e10c8  source/test/open/token/token-compatibility.test.js
c40d9cf2ced58225b9a86824bc7390191f75a65bae39cc440320f8db7406edb3  source/test/restricted/IdeaTrade.test.js
b62aa3961b396cc89b71aff126c820a81e89b2bf21b34c4679e7dd49f50aa332  source/test/restricted/access-control/approved-caller.test.js
53933c86e450b5c6909b90f77797a8f6d4eab6dc8f809d8eef8ba7ef7791c810  source/test/restricted/access-control/unauthorized.test.js
8e362329f1031e1c00b94ab10a7e0f6b20893461812200bf3d8f17ce3dac5ae0  source/test/restricted/balance-accounting.test.js
a218da0aaa3f39e34d5a56c4c9985046673b4518fd77e7dd782262d4bd189264  source/test/restricted/batch.test.js
daabb8ce9738f631d5e5457624ad1d9f6dca265d09fa31ad4f1822965d331fe8  source/test/restricted/security.test.js
6dad9e197f3bde6544705574db1a9c819c39efbe6c1585712a6d20bf1a97b585  source/test/restricted/state-transition.test.js
610c26719b9d6ba0ba18ef599ec7787d6b5fa74f8beec6e1a1e5c377eb98f092  source/test/security/admin-authorization.test.js
216cf4fcd87facede19fac589bed6c15e89ff38832dc71ce8a191ff37f66105f  source/test/security/comprehensive-fuzz.test.js
f7abf73a26197cb0b423b30485e55eb6cbdb87a4d48d41a72587fd0c0a65f3c8  source/test/security/fee-attack.test.js
3c7e24d2e07488d12cb8ccf02f9b26bade4fb8530fd7bfd4a66a623a26dc6846  source/test/security/fund-extraction.test.js
6391dd53c1bb97eab8823880debec10ae8348978c4487b60f29781d489ccba32  source/test/security/nonce-isolation.test.js
319cff126def6fb87867edc4915733f176bdaa2fd4fcb6d79a727ee623e48db6  source/test/security/signature-cross-operation.test.js
45fd063632d8ee0c5854951d2aa89b7d17b3566963fda7095d096e66802cf94d  source/test/security/signature-deadline.test.js
e96c753b66b1ebc71ad3367f5fcd2913eb8493ead61dcac9e130d4949840382f  source/test/token/token-compatibility.test.js
154fbf9d1532ace853034f5fc488a13e4da64fb7d73d6e8eaa3dbc88e82cc356  source/test-wallets.json
