├── .gitignore
├── .gitmodules
├── 4naly3er-report.md
├── LICENSE
├── README.md
├── bot-report.json
├── bot-report.md
├── discord-export
├── Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html
├── Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files
│ ├── 0-EB806.png
│ ├── 02410a37de8a54f8cfb7a8842a2dd162-D2755.png
│ ├── 03878b802af671a663ff1eb0fbd1d064-75057.png
│ ├── 045bf49f3bb3ecd3ddfc009a6af823ba-EF9F6.png
│ ├── 07158b76e34c74f71b4876b66b9dff50-D54F0.png
│ ├── 08f60799b586a4207660c40a8ef91b57-7DBB2.png
│ ├── 0aa942b3bb6813f4882a9f9c199c30b1-29116.png
│ ├── 0bb949d30436a6064281c56d2b7c8591-06A7C.png
│ ├── 0cd316a9fd5f98cba6c91f10f010ad96-01BB3.png
│ ├── 0dd6255142c84dcc6ec663458ed3fda9-E98D2.png
│ ├── 0e7b7430cad0cecfe37bdfe0fe2612e8-24CF2.png
│ ├── 1-B2132.png
│ ├── 1034832936807186472-75AD6.png
│ ├── 1083068770823721071-EE4F6.png
│ ├── 108db4db43a8df92fb224ce27c8419ec-5A94A.png
│ ├── 1162a888c78000773591a5db6de8aa9f-DCF7E.png
│ ├── 1189708280449208350-73062.png
│ ├── 15cdaa10c5644d913a1ab1f9f06288c1-8A82B.png
│ ├── 1628fc11e7961d85181295493426b775-1A3BD.png
│ ├── 178dabd907133bbea3b2d27c723cb8c7-134C8.png
│ ├── 17a7b799ece5d046588e4d143018d963-32DB3.png
│ ├── 17e75583b024fe9606de1525a9f6752a-2E795.png
│ ├── 17eaa2bba131d5a47944511f180930e0-E8791.png
│ ├── 1d3ee8a85bdb38661da993daa0743a92-03106.png
│ ├── 1e5982e49add2de1a31302f1c8110784-9173D.png
│ ├── 1f1eb-9D845.svg
│ ├── 1f1f3-1f1ec-22AE2.svg
│ ├── 1f1f9-6373B.svg
│ ├── 1f1fc-98795.svg
│ ├── 1f31f-1B968.svg
│ ├── 1f389-5C738.svg
│ ├── 1f3c1-445DC.svg
│ ├── 1f3c6-621A1.svg
│ ├── 1f3fb-E58B7.svg
│ ├── 1f43a-EB486.svg
│ ├── 1f440-6C64D.svg
│ ├── 1f446-9CC34.svg
│ ├── 1f44b-8A059.svg
│ ├── 1f44c-1f3fc-65EFB.svg
│ ├── 1f44c-59547.svg
│ ├── 1f44d-1f3fb-ED2AA.svg
│ ├── 1f44d-1f3fd-A1A75.svg
│ ├── 1f44d-27259.svg
│ ├── 1f44f-3D381.svg
│ ├── 1f451-B565E.svg
│ ├── 1f480-94524.svg
│ ├── 1f49c-71A75.svg
│ ├── 1f4a5-28689.svg
│ ├── 1f4a8-89124.svg
│ ├── 1f4aa-1f3fb-AF516.svg
│ ├── 1f4aa-2FD27.svg
│ ├── 1f4af-4CFF5.svg
│ ├── 1f4b8-E3468.svg
│ ├── 1f4c6-44E30.svg
│ ├── 1f4c8-E041F.svg
│ ├── 1f4dc-AC641.svg
│ ├── 1f50d-195C0.svg
│ ├── 1f525-8FE4F.svg
│ ├── 1f575-AC616.svg
│ ├── 1f600-F7528.svg
│ ├── 1f601-4E9BD.svg
│ ├── 1f602-168C5.svg
│ ├── 1f604-BF863.svg
│ ├── 1f605-42B43.svg
│ ├── 1f606-BE94E.svg
│ ├── 1f609-9EC67.svg
│ ├── 1f60d-BEAFF.svg
│ ├── 1f610-B3309.svg
│ ├── 1f613-6F24E.svg
│ ├── 1f621-066B3.svg
│ ├── 1f62d-02603.svg
│ ├── 1f62e-FE396.svg
│ ├── 1f63f-B7EE8.svg
│ ├── 1f642-83E8A.svg
│ ├── 1f64a-268FF.svg
│ ├── 1f64c-7C820.svg
│ ├── 1f64f-22B8D.svg
│ ├── 1f680-A35CE.svg
│ ├── 1f6a8-A8AB3.svg
│ ├── 1f911-F346C.svg
│ ├── 1f914-15707.svg
│ ├── 1f916-AD810.svg
│ ├── 1f91d-5A0F2.svg
│ ├── 1f923-5854E.svg
│ ├── 1f937-19884.svg
│ ├── 1f942-69B5E.svg
│ ├── 1f972-F415D.svg
│ ├── 1f973-88B39.svg
│ ├── 1f9c2-77306.svg
│ ├── 1f9d1-5BC80.svg
│ ├── 1f9e8-E97D0.svg
│ ├── 1fac2-960B6.svg
│ ├── 1fae1-B19DE.svg
│ ├── 1fae3-64122.svg
│ ├── 1fd32ac56949d1f4f227b9f9ea49b172-18598.png
│ ├── 2-ADBB4.png
│ ├── 201416e548301c474985cfff30a5c3cf-AF15B.png
│ ├── 258a1ffc46d9e9c3872ad643ab9b4bd5-EE2DC.png
│ ├── 258efb44a5e3f3ccd0db6c4b11462ff2-08900.png
│ ├── 2696-15F4A.svg
│ ├── 2705-0589F.svg
│ ├── 2764-A3D25.svg
│ ├── 2764-fe0f-200d-1f525-0B2B8.svg
│ ├── 2a9faff195fe333526cfe6ae6fce1420-49B98.png
│ ├── 2d6787bdb95b96bbd4bb506fce387f6b-542A1.png
│ ├── 2de2bcb6fe2e5617e1d3dd4c56a5a8f1-DE975.png
│ ├── 2f6cc5f2cecfbebff93f500257ed9598-15FF9.png
│ ├── 3-FB033.png
│ ├── 32a014807325eea976c45c9812b22740-B6291.png
│ ├── 34d55120f0bbb31b27daed995d2a9a12-D3479.png
│ ├── 366b7bd30566c2cb7cfbe6ce4a9cb61e-62DA9.png
│ ├── 38345df4dc378bf63df3ff7f6c6160e7-300B6.png
│ ├── 4-4551A.png
│ ├── 453eac052c6c6b7a61d2f55848c5bdc6-FCF15.png
│ ├── 4634554b26c5ac710fcace1ce468e6b4-DCDA1.png
│ ├── 4ae1da5bf047e45212f9a27cba8456b4-E667F.png
│ ├── 5-E9BDB.png
│ ├── 508adf8d67504a78c726c08ee474a114-7241A.png
│ ├── 512e9f9dcafcd4b1c90fe34f49e563a8-AFD1C.png
│ ├── 52b3426598252ddef0aa3bca077b9f58-DE4BD.png
│ ├── 52b8521890e27c4a62cb3df684ab0592-E5E35.png
│ ├── 55afac51a32db1ff015fd3a7d901e67a-A5862.png
│ ├── 560973b2140560b88a880aa333f18a18-BA038.png
│ ├── 568d22b97293cdd2d9b7006198d6adbc-F0132.png
│ ├── 59310062b6d5aa6af2d911cb4f109bc4-B8F92.png
│ ├── 5c38d47c92a89a5c128eea62c5332550-C4CFE.png
│ ├── 63b9ea95120032f3dbb20224194dde0f-52B92.png
│ ├── 6738f0f683face7b5e6d5289a3fbef10-57324.png
│ ├── 67594ee4b4d1fc03bca468327a0d145b-BD76A.png
│ ├── 686334388711194636-46BDA.png
│ ├── 6d439dd5d806d44c17afd557a7f118cb-DAC2E.png
│ ├── 6de37165a7ca9e8f1b2ea522ad099476-57E0F.png
│ ├── 6f399e9fca566efc7f15af9a1f25f6b7-23E91.png
│ ├── 6f5d0c29e49ffcf03ee84ab949219c0d-A044C.png
│ ├── 7010b9b61dee2db6e0832d963c407ae5-D5E65.png
│ ├── 701300a5bdd3bf5640bd1370251533e2-0DC47.png
│ ├── 74c444ce8a15ac04da773b17117d56f6-ADB20.png
│ ├── 8043f1de89cc1387981f4990ad574c08-78DE7.png
│ ├── 80b63b8eef8e8e0bef63af4cd4598430-39256.png
│ ├── 812cf3c4f7f563d0034c75e4c5532e4c-D6142.png
│ ├── 821fca1ff37a6d81c68b7c2f8c6c5a73-725D1.png
│ ├── 83fa622da18abee1baf881ee7d3dd8da-76C8A.png
│ ├── 851893826846457866-1AD3D.png
│ ├── 851893827027075142-F23DF.png
│ ├── 851893827089727568-5FD38.png
│ ├── 851893827278602280-FABCC.png
│ ├── 851893827315826708-F59C0.png
│ ├── 860bc8415fcb344bebcf89a301158ffd-36A89.png
│ ├── 8cc5e51acc73110b0ed31735a6c37e70-54F99.png
│ ├── 9010cff7dc5115048ddc82561051356b-12341.png
│ ├── 910676187288846397-518CD.png
│ ├── 932336619116179566-82BD2.png
│ ├── 947a786543be742dcae523bbd2635632-34882.png
│ ├── 94oxTfKozXK9ARCn8HxT-40621.png
│ ├── 95c24c67d97a24dc7c8872fd3cff0ebd-9FF57.png
│ ├── 96e1f00b8906ec1e8fb70a888d681191-9FBBA.png
│ ├── 970d2e2f00cd7ef2134a1a3f21326349-404EA.png
│ ├── 977133670429261884-CA8EA.png
│ ├── 97f28aeb8df24f0f6fc6cdb8c01b7d29-B1B46.png
│ ├── 98843994faa05570c8a9a44fe2bf8e7d-98BFE.png
│ ├── 9dae367c2914db90ec5f86da55c97b23-1BB00.png
│ ├── Capture_decran_2024-01-21_a_10.06.20-CEDA2.png
│ ├── GEaeKH8bIAAxThD-310B2.jpg%3Alarge
│ ├── Powershell_01-DEF0E.jpg
│ ├── Screenshot_2024-01-22_at_11.04.17_AM-D35FC.png
│ ├── Screenshot_402-37BBC.png
│ ├── Screenshot_from_2024-01-19_17-18-43-DBD98.png
│ ├── Screenshot_from_2024-01-19_17-25-04-2211C.png
│ ├── a043b2457bb42c44a17b01929c21a3ac-82CA9.png
│ ├── a391d11d44b4fa3b03db46148a071229-B48B3.png
│ ├── a6662b109ac2b287a214bbbabbec79bf-FBD97.png
│ ├── a90b1cde3fba61e1776222d13459ffb9-73317.png
│ ├── aff06889bf863f2bdd6f17822c86dd05-A1D85.png
│ ├── apple-touch-icon-192x192-E344C.png
│ ├── audits-17CA0
│ ├── b0fa46fcf237f5497b71eea9d38eeeeb-2A6D7.png
│ ├── b1720f68b83fb99be3e8f6ff85b2184c-33970.png
│ ├── b4af9e6ca5e7e218f2e21407babb2588-8E1D8.png
│ ├── b5c5564bbdaa22a1e2d459e9bf6aef5a-B3AC0.png
│ ├── b81a1d960dd9d5e792d85408692b6486-E5502.png
│ ├── bb9f76664711c9b5009e7a6add580b29-7CFF5.png
│ ├── bd6e705b7e22db04232dfaaf530eee5f-A1D9E.png
│ ├── c17696ac338660162399145c58c2e792-05AC5.png
│ ├── c2546661a841fcb6634a6c1326a606b9-08FAC.png
│ ├── c34499b357419bf0b80d3379b004fd11-53E2E.png
│ ├── c4-og-banner-A082C.png
│ ├── c47d52c806aea627c7b227b287ce8808-40688.png
│ ├── c6b85a4a6ca07ab15a30a24f570be5b8-2B16A.png
│ ├── c735717c-40bb-4e49-aa83-42e5dfa0846f-DE13A
│ ├── c9cb30134c634c9e02d0c64df4922803-98E33.png
│ ├── ca167442070a75d1ccbcd48bd4854886-53550.png
│ ├── ca714e239d7d0800fe9175cf43f8f877-3B91A.png
│ ├── ccf05b57676cd0a8105703e0b735b280-3BFF5.png
│ ├── cd524f78cb8a7426f6497d2a56aa3931-9BF2F.png
│ ├── cf5ff95c34041d7d559e8ba777b048e1-119CB.png
│ ├── d17cb151966d230d5eb26a6fc3ac100c-9BF75.png
│ ├── d2303645d3d52c487a931fe06cad0240-42828.png
│ ├── d352b5d64239648acbeb7b6f310df0b8-E875A.png
│ ├── d482d56e4533980c4a4108a97afecfcb-31323.png
│ ├── d4881bb27043538c26e7b31a7f8b85d2-5DA7D.png
│ ├── d9fa0ae50d731854d342f81d679964af-D6B3D.png
│ ├── d9zjlrJR-29B78.png
│ ├── dd0b02132544c612d48d10270e412d9b-9486F.png
│ ├── ddf6a89ae9aac05d44873a73357cce1a-DF8FF.png
│ ├── df507fe1346c7c5fe2c1e560b1e8d1d0-EF39D.png
│ ├── download-_14_-8F0BD.jpg
│ ├── e42ab213024788a841cee166db94c007-B1203.png
│ ├── e62adf01d6955f4b6891294799a46369-81807.png
│ ├── e6f4ca0e498c6a1841fd2181890d7668-D7F35.png
│ ├── ead7bda50531bbe6590401e4a9b86e91-17A23.png
│ ├── ec2bcb7830d93aed7b07ee0d3a51e605-19997.png
│ ├── ece049bda85fdcdb08ba4595daf9e38a-48509.png
│ ├── f23d0ae29fcc5a63df0b1e99990a51f7-8A74E.png
│ ├── f33f913c6ffd96f63fd3911fe087f010-68168.png
│ ├── f3dd487f29b8a2fe5068df67201ef3ef-54E8E.png
│ ├── f4422c70568695907d5aa7f8632b4d51-4FBE2.png
│ ├── f7110af75e4ab630e47f509ae07920e6-909F7.png
│ ├── fa2aee31bff7302bd48ce60a8aef846f-FD473.png
│ ├── failedtest-67B13.png
│ ├── fbe30ea40824c9990a93836a24db1610-F5D34.png
│ ├── fd032d1c27ba593b4fbe6be4c074663d-78A1D.png
│ ├── feb79bb6c3285f43d25af82703f76106-392DC.png
│ ├── ggsans-italic-400-E988B.woff2
│ ├── ggsans-italic-500-0777F.woff2
│ ├── ggsans-italic-600-CB411.woff2
│ ├── ggsans-italic-700-891AC.woff2
│ ├── ggsans-italic-800-D36B0.woff2
│ ├── ggsans-normal-400-1456D.woff2
│ ├── ggsans-normal-500-89CE5.woff2
│ ├── ggsans-normal-600-C1EA8.woff2
│ ├── ggsans-normal-700-1949A.woff2
│ ├── ggsans-normal-800-58487.woff2
│ ├── highlight.min-D8D27.js
│ ├── image-151B2.png
│ ├── image-1D5B8.png
│ ├── image-2E365.png
│ ├── image-325FD.png
│ ├── image-46BDB.png
│ ├── image-55796.png
│ ├── image-6E21D.png
│ ├── image-92947.png
│ ├── image-9AFF7.png
│ ├── image-9CAB5.png
│ ├── image-A8BC8.png
│ ├── image-AFAF4.png
│ ├── image-CAE56.png
│ ├── image-E18C4.png
│ ├── lKlpFOKp3ZAIdzIWdTSc-E5AF8.png
│ ├── lottie.min-99657.js
│ ├── publications-65459
│ ├── saltyio_error1-B2C75.png
│ ├── solarized-dark.min-BA98F.css
│ ├── star-wars-yoda-4D8F0.mp4
│ ├── waiting-for-you-A109E.mp4
│ └── waiting-waiting-patiently-F880C.mp4
├── Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt
└── Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files
│ ├── 94oxTfKozXK9ARCn8HxT-40621.png
│ ├── Capture_decran_2024-01-21_a_10.06.20-CEDA2.png
│ ├── GEaeKH8bIAAxThD-310B2.jpg%3Alarge
│ ├── Powershell_01-DEF0E.jpg
│ ├── Screenshot_2024-01-22_at_11.04.17_AM-D35FC.png
│ ├── Screenshot_402-37BBC.png
│ ├── Screenshot_from_2024-01-19_17-18-43-DBD98.png
│ ├── Screenshot_from_2024-01-19_17-25-04-2211C.png
│ ├── audits-17CA0
│ ├── c4-og-banner-A082C.png
│ ├── c735717c-40bb-4e49-aa83-42e5dfa0846f-DE13A
│ ├── d9zjlrJR-29B78.png
│ ├── download-_14_-8F0BD.jpg
│ ├── failedtest-67B13.png
│ ├── image-151B2.png
│ ├── image-1D5B8.png
│ ├── image-2E365.png
│ ├── image-325FD.png
│ ├── image-46BDB.png
│ ├── image-55796.png
│ ├── image-6E21D.png
│ ├── image-92947.png
│ ├── image-9AFF7.png
│ ├── image-9CAB5.png
│ ├── image-A8BC8.png
│ ├── image-AFAF4.png
│ ├── image-CAE56.png
│ ├── image-E18C4.png
│ ├── lKlpFOKp3ZAIdzIWdTSc-E5AF8.png
│ ├── maxresdefault-6C6F8.jpg
│ ├── publications-65459
│ ├── saltyio_error1-B2C75.png
│ ├── star-wars-yoda-E3998.png
│ ├── waiting-for-you-1615B.png
│ └── waiting-waiting-patiently-273E5.png
├── foundry.toml
├── remappings.txt
├── scope.txt
└── src
├── AccessManager.sol
├── ExchangeConfig.sol
├── ManagedWallet.sol
├── Salt.sol
├── SigningTools.sol
├── Upkeep.sol
├── arbitrage
├── ArbitrageSearch.sol
└── tests
│ ├── Arbitrage.t.sol
│ ├── ArbitrageGas.t.sol
│ ├── ArbitrageSearch.t.sol
│ ├── TestArbitrageSearch.sol
│ └── TestArbitrageSearch.t.sol
├── dao
├── DAO.sol
├── DAOConfig.sol
├── Parameters.sol
├── Proposals.sol
├── interfaces
│ ├── ICalledContract.sol
│ ├── IDAO.sol
│ ├── IDAOConfig.sol
│ └── IProposals.sol
└── tests
│ ├── DAO.t.sol
│ ├── ExcessiveSupplyToken.sol
│ ├── Parameters.t.sol
│ ├── Proposals.t.sol
│ ├── TestCallReceiver.sol
│ └── TestParameters.sol
├── dev
├── Deployment.sol
├── Utils.sol
└── tests
│ └── Utils.t.sol
├── interfaces
├── IAccessManager.sol
├── IExchangeConfig.sol
├── IManagedWallet.sol
├── ISalt.sol
└── IUpkeep.sol
├── launch
├── Airdrop.sol
├── BootstrapBallot.sol
├── InitialDistribution.sol
├── interfaces
│ ├── IAirdrop.sol
│ ├── IBootstrapBallot.sol
│ └── IInitialDistribution.sol
└── tests
│ ├── Airdrop.t.sol
│ ├── BootstrapBallot.t.sol
│ └── InitialDistribution.t.sol
├── pools
├── PoolMath.sol
├── PoolStats.sol
├── PoolUtils.sol
├── Pools.sol
├── PoolsConfig.sol
├── interfaces
│ ├── IPoolStats.sol
│ ├── IPools.sol
│ └── IPoolsConfig.sol
└── tests
│ ├── PoolStats.t.sol
│ ├── PoolUtils.t.sol
│ ├── Pools.t.sol
│ ├── Pools2.t.sol
│ └── PoolsConfig.t.sol
├── price_feed
├── CoreChainlinkFeed.sol
├── CoreSaltyFeed.sol
├── CoreUniswapFeed.sol
├── PriceAggregator.sol
├── interfaces
│ ├── IPriceAggregator.sol
│ └── IPriceFeed.sol
└── tests
│ ├── CoreChainlinkFeed.t.sol
│ ├── CoreFeeds.t.sol
│ ├── CoreSaltyFeed.t.sol
│ ├── CoreUniswapFeed.t.sol
│ ├── EthFeeds.t.sol
│ ├── ForcedPriceFeed.sol
│ ├── IForcedPriceFeed.sol
│ ├── PriceAggregator.t.sol
│ ├── PriceAggregatorGas.t.sol
│ ├── TestChainlinkAggregator.sol
│ ├── TestPriceAggregator.sol
│ └── TestUniswapFeed.sol
├── rewards
├── Emissions.sol
├── RewardsConfig.sol
├── RewardsEmitter.sol
├── SaltRewards.sol
├── interfaces
│ ├── IEmissions.sol
│ ├── IRewardsConfig.sol
│ ├── IRewardsEmitter.sol
│ └── ISaltRewards.sol
└── tests
│ ├── Emissions.t.sol
│ ├── RewardsEmitter.t.sol
│ ├── SaltRewards.t.sol
│ └── TestSaltRewards.sol
├── root_tests
├── AccessManager.t.sol
├── Deployment.t.sol
├── ExchangeConfig.t.sol
├── ITestUpkeep.sol
├── IUpkeepFlawed.sol
├── ManagedWallet.t.sol
├── Salt.t.sol
├── Sandwich.t.sol
├── SplitSwaps.t.sol
├── TestERC20.sol
├── TestWETH.sol
├── Upkeep.t.sol
├── UpkeepEdge.t.sol
├── UpkeepFlawed.sol
├── UpkeepFlawed.t.sol
├── UpkeepMaxGas.t.sol
└── UpkeepMinGas.t.sol
├── scenario_tests
└── Comprehensive1.t.sol
├── stable
├── CollateralAndLiquidity.sol
├── Liquidizer.sol
├── StableConfig.sol
├── USDS.sol
├── interfaces
│ ├── ICollateralAndLiquidity.sol
│ ├── ILiquidizer.sol
│ ├── IStableConfig.sol
│ └── IUSDS.sol
└── tests
│ ├── CollateralAndLiquidity.t.sol
│ ├── Liquidizer.t.sol
│ ├── StableConfig.t.sol
│ └── USDS.t.sol
└── staking
├── Liquidity.sol
├── Staking.sol
├── StakingConfig.sol
├── StakingRewards.sol
├── interfaces
├── ILiquidity.sol
├── IStaking.sol
├── IStakingConfig.sol
└── IStakingRewards.sol
└── tests
├── Liquidity.t.sol
├── Staking.t.sol
├── Staking2.t.sol
├── StakingRewards.t.sol
└── TestStakingRewards.sol
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "lib/openzeppelin-contracts"]
2 | path = lib/openzeppelin-contracts
3 | url = https://github.com/openzeppelin/openzeppelin-contracts
4 | [submodule "lib/v3-core"]
5 | path = lib/v3-core
6 | url = https://github.com/Uniswap/v3-core
7 | [submodule "lib/chainlink"]
8 | path = lib/chainlink
9 | url = https://github.com/smartcontractkit/chainlink
10 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0-EB806.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0-EB806.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/02410a37de8a54f8cfb7a8842a2dd162-D2755.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/02410a37de8a54f8cfb7a8842a2dd162-D2755.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/03878b802af671a663ff1eb0fbd1d064-75057.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/03878b802af671a663ff1eb0fbd1d064-75057.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/045bf49f3bb3ecd3ddfc009a6af823ba-EF9F6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/045bf49f3bb3ecd3ddfc009a6af823ba-EF9F6.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/07158b76e34c74f71b4876b66b9dff50-D54F0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/07158b76e34c74f71b4876b66b9dff50-D54F0.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/08f60799b586a4207660c40a8ef91b57-7DBB2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/08f60799b586a4207660c40a8ef91b57-7DBB2.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0aa942b3bb6813f4882a9f9c199c30b1-29116.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0aa942b3bb6813f4882a9f9c199c30b1-29116.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0bb949d30436a6064281c56d2b7c8591-06A7C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0bb949d30436a6064281c56d2b7c8591-06A7C.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0cd316a9fd5f98cba6c91f10f010ad96-01BB3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0cd316a9fd5f98cba6c91f10f010ad96-01BB3.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0dd6255142c84dcc6ec663458ed3fda9-E98D2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0dd6255142c84dcc6ec663458ed3fda9-E98D2.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0e7b7430cad0cecfe37bdfe0fe2612e8-24CF2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/0e7b7430cad0cecfe37bdfe0fe2612e8-24CF2.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1-B2132.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1-B2132.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1034832936807186472-75AD6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1034832936807186472-75AD6.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1083068770823721071-EE4F6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1083068770823721071-EE4F6.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/108db4db43a8df92fb224ce27c8419ec-5A94A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/108db4db43a8df92fb224ce27c8419ec-5A94A.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1162a888c78000773591a5db6de8aa9f-DCF7E.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1162a888c78000773591a5db6de8aa9f-DCF7E.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1189708280449208350-73062.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1189708280449208350-73062.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/15cdaa10c5644d913a1ab1f9f06288c1-8A82B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/15cdaa10c5644d913a1ab1f9f06288c1-8A82B.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1628fc11e7961d85181295493426b775-1A3BD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1628fc11e7961d85181295493426b775-1A3BD.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/178dabd907133bbea3b2d27c723cb8c7-134C8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/178dabd907133bbea3b2d27c723cb8c7-134C8.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/17a7b799ece5d046588e4d143018d963-32DB3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/17a7b799ece5d046588e4d143018d963-32DB3.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/17e75583b024fe9606de1525a9f6752a-2E795.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/17e75583b024fe9606de1525a9f6752a-2E795.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/17eaa2bba131d5a47944511f180930e0-E8791.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/17eaa2bba131d5a47944511f180930e0-E8791.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1d3ee8a85bdb38661da993daa0743a92-03106.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1d3ee8a85bdb38661da993daa0743a92-03106.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1e5982e49add2de1a31302f1c8110784-9173D.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1e5982e49add2de1a31302f1c8110784-9173D.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f1eb-9D845.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f1f3-1f1ec-22AE2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f1f9-6373B.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f1fc-98795.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f31f-1B968.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f3c1-445DC.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f3c6-621A1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f3fb-E58B7.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f440-6C64D.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f446-9CC34.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f44b-8A059.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f44c-1f3fc-65EFB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f44c-59547.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f44d-1f3fb-ED2AA.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f44d-1f3fd-A1A75.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f44d-27259.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f451-B565E.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f480-94524.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f49c-71A75.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f4a5-28689.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f4a8-89124.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f4aa-1f3fb-AF516.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f4aa-2FD27.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f4af-4CFF5.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f4c6-44E30.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f4c8-E041F.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f4dc-AC641.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f50d-195C0.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f525-8FE4F.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f600-F7528.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f601-4E9BD.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f602-168C5.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f604-BF863.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f605-42B43.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f606-BE94E.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f609-9EC67.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f60d-BEAFF.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f610-B3309.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f613-6F24E.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f621-066B3.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f62d-02603.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f62e-FE396.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f642-83E8A.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f64f-22B8D.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f680-A35CE.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f6a8-A8AB3.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f914-15707.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f916-AD810.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f923-5854E.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f937-19884.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f972-F415D.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f9c2-77306.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f9d1-5BC80.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1f9e8-E97D0.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1fac2-960B6.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1fae1-B19DE.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1fd32ac56949d1f4f227b9f9ea49b172-18598.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/1fd32ac56949d1f4f227b9f9ea49b172-18598.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2-ADBB4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2-ADBB4.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/201416e548301c474985cfff30a5c3cf-AF15B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/201416e548301c474985cfff30a5c3cf-AF15B.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/258a1ffc46d9e9c3872ad643ab9b4bd5-EE2DC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/258a1ffc46d9e9c3872ad643ab9b4bd5-EE2DC.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/258efb44a5e3f3ccd0db6c4b11462ff2-08900.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/258efb44a5e3f3ccd0db6c4b11462ff2-08900.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2696-15F4A.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2705-0589F.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2764-A3D25.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2a9faff195fe333526cfe6ae6fce1420-49B98.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2a9faff195fe333526cfe6ae6fce1420-49B98.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2d6787bdb95b96bbd4bb506fce387f6b-542A1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2d6787bdb95b96bbd4bb506fce387f6b-542A1.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2de2bcb6fe2e5617e1d3dd4c56a5a8f1-DE975.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2de2bcb6fe2e5617e1d3dd4c56a5a8f1-DE975.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2f6cc5f2cecfbebff93f500257ed9598-15FF9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/2f6cc5f2cecfbebff93f500257ed9598-15FF9.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/3-FB033.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/3-FB033.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/32a014807325eea976c45c9812b22740-B6291.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/32a014807325eea976c45c9812b22740-B6291.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/34d55120f0bbb31b27daed995d2a9a12-D3479.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/34d55120f0bbb31b27daed995d2a9a12-D3479.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/366b7bd30566c2cb7cfbe6ce4a9cb61e-62DA9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/366b7bd30566c2cb7cfbe6ce4a9cb61e-62DA9.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/38345df4dc378bf63df3ff7f6c6160e7-300B6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/38345df4dc378bf63df3ff7f6c6160e7-300B6.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/4-4551A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/4-4551A.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/453eac052c6c6b7a61d2f55848c5bdc6-FCF15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/453eac052c6c6b7a61d2f55848c5bdc6-FCF15.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/4634554b26c5ac710fcace1ce468e6b4-DCDA1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/4634554b26c5ac710fcace1ce468e6b4-DCDA1.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/4ae1da5bf047e45212f9a27cba8456b4-E667F.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/4ae1da5bf047e45212f9a27cba8456b4-E667F.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/5-E9BDB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/5-E9BDB.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/508adf8d67504a78c726c08ee474a114-7241A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/508adf8d67504a78c726c08ee474a114-7241A.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/512e9f9dcafcd4b1c90fe34f49e563a8-AFD1C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/512e9f9dcafcd4b1c90fe34f49e563a8-AFD1C.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/52b3426598252ddef0aa3bca077b9f58-DE4BD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/52b3426598252ddef0aa3bca077b9f58-DE4BD.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/52b8521890e27c4a62cb3df684ab0592-E5E35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/52b8521890e27c4a62cb3df684ab0592-E5E35.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/55afac51a32db1ff015fd3a7d901e67a-A5862.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/55afac51a32db1ff015fd3a7d901e67a-A5862.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/560973b2140560b88a880aa333f18a18-BA038.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/560973b2140560b88a880aa333f18a18-BA038.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/568d22b97293cdd2d9b7006198d6adbc-F0132.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/568d22b97293cdd2d9b7006198d6adbc-F0132.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/59310062b6d5aa6af2d911cb4f109bc4-B8F92.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/59310062b6d5aa6af2d911cb4f109bc4-B8F92.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/5c38d47c92a89a5c128eea62c5332550-C4CFE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/5c38d47c92a89a5c128eea62c5332550-C4CFE.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/63b9ea95120032f3dbb20224194dde0f-52B92.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/63b9ea95120032f3dbb20224194dde0f-52B92.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6738f0f683face7b5e6d5289a3fbef10-57324.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6738f0f683face7b5e6d5289a3fbef10-57324.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/67594ee4b4d1fc03bca468327a0d145b-BD76A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/67594ee4b4d1fc03bca468327a0d145b-BD76A.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/686334388711194636-46BDA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/686334388711194636-46BDA.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6d439dd5d806d44c17afd557a7f118cb-DAC2E.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6d439dd5d806d44c17afd557a7f118cb-DAC2E.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6de37165a7ca9e8f1b2ea522ad099476-57E0F.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6de37165a7ca9e8f1b2ea522ad099476-57E0F.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6f399e9fca566efc7f15af9a1f25f6b7-23E91.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6f399e9fca566efc7f15af9a1f25f6b7-23E91.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6f5d0c29e49ffcf03ee84ab949219c0d-A044C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/6f5d0c29e49ffcf03ee84ab949219c0d-A044C.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/7010b9b61dee2db6e0832d963c407ae5-D5E65.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/7010b9b61dee2db6e0832d963c407ae5-D5E65.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/701300a5bdd3bf5640bd1370251533e2-0DC47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/701300a5bdd3bf5640bd1370251533e2-0DC47.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/74c444ce8a15ac04da773b17117d56f6-ADB20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/74c444ce8a15ac04da773b17117d56f6-ADB20.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/8043f1de89cc1387981f4990ad574c08-78DE7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/8043f1de89cc1387981f4990ad574c08-78DE7.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/80b63b8eef8e8e0bef63af4cd4598430-39256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/80b63b8eef8e8e0bef63af4cd4598430-39256.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/812cf3c4f7f563d0034c75e4c5532e4c-D6142.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/812cf3c4f7f563d0034c75e4c5532e4c-D6142.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/821fca1ff37a6d81c68b7c2f8c6c5a73-725D1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/821fca1ff37a6d81c68b7c2f8c6c5a73-725D1.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/83fa622da18abee1baf881ee7d3dd8da-76C8A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/83fa622da18abee1baf881ee7d3dd8da-76C8A.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893826846457866-1AD3D.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893826846457866-1AD3D.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893827027075142-F23DF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893827027075142-F23DF.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893827089727568-5FD38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893827089727568-5FD38.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893827278602280-FABCC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893827278602280-FABCC.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893827315826708-F59C0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/851893827315826708-F59C0.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/860bc8415fcb344bebcf89a301158ffd-36A89.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/860bc8415fcb344bebcf89a301158ffd-36A89.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/8cc5e51acc73110b0ed31735a6c37e70-54F99.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/8cc5e51acc73110b0ed31735a6c37e70-54F99.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/9010cff7dc5115048ddc82561051356b-12341.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/9010cff7dc5115048ddc82561051356b-12341.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/910676187288846397-518CD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/910676187288846397-518CD.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/932336619116179566-82BD2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/932336619116179566-82BD2.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/947a786543be742dcae523bbd2635632-34882.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/947a786543be742dcae523bbd2635632-34882.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/94oxTfKozXK9ARCn8HxT-40621.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/94oxTfKozXK9ARCn8HxT-40621.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/95c24c67d97a24dc7c8872fd3cff0ebd-9FF57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/95c24c67d97a24dc7c8872fd3cff0ebd-9FF57.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/96e1f00b8906ec1e8fb70a888d681191-9FBBA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/96e1f00b8906ec1e8fb70a888d681191-9FBBA.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/970d2e2f00cd7ef2134a1a3f21326349-404EA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/970d2e2f00cd7ef2134a1a3f21326349-404EA.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/977133670429261884-CA8EA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/977133670429261884-CA8EA.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/97f28aeb8df24f0f6fc6cdb8c01b7d29-B1B46.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/97f28aeb8df24f0f6fc6cdb8c01b7d29-B1B46.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/98843994faa05570c8a9a44fe2bf8e7d-98BFE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/98843994faa05570c8a9a44fe2bf8e7d-98BFE.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/9dae367c2914db90ec5f86da55c97b23-1BB00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/9dae367c2914db90ec5f86da55c97b23-1BB00.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Capture_decran_2024-01-21_a_10.06.20-CEDA2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Capture_decran_2024-01-21_a_10.06.20-CEDA2.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/GEaeKH8bIAAxThD-310B2.jpg%3Alarge:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/GEaeKH8bIAAxThD-310B2.jpg%3Alarge
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Powershell_01-DEF0E.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Powershell_01-DEF0E.jpg
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Screenshot_2024-01-22_at_11.04.17_AM-D35FC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Screenshot_2024-01-22_at_11.04.17_AM-D35FC.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Screenshot_402-37BBC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Screenshot_402-37BBC.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Screenshot_from_2024-01-19_17-18-43-DBD98.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Screenshot_from_2024-01-19_17-18-43-DBD98.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Screenshot_from_2024-01-19_17-25-04-2211C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/Screenshot_from_2024-01-19_17-25-04-2211C.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/a043b2457bb42c44a17b01929c21a3ac-82CA9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/a043b2457bb42c44a17b01929c21a3ac-82CA9.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/a391d11d44b4fa3b03db46148a071229-B48B3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/a391d11d44b4fa3b03db46148a071229-B48B3.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/a6662b109ac2b287a214bbbabbec79bf-FBD97.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/a6662b109ac2b287a214bbbabbec79bf-FBD97.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/a90b1cde3fba61e1776222d13459ffb9-73317.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/a90b1cde3fba61e1776222d13459ffb9-73317.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/aff06889bf863f2bdd6f17822c86dd05-A1D85.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/aff06889bf863f2bdd6f17822c86dd05-A1D85.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/apple-touch-icon-192x192-E344C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/apple-touch-icon-192x192-E344C.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/audits-17CA0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/audits-17CA0
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b0fa46fcf237f5497b71eea9d38eeeeb-2A6D7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b0fa46fcf237f5497b71eea9d38eeeeb-2A6D7.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b1720f68b83fb99be3e8f6ff85b2184c-33970.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b1720f68b83fb99be3e8f6ff85b2184c-33970.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b4af9e6ca5e7e218f2e21407babb2588-8E1D8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b4af9e6ca5e7e218f2e21407babb2588-8E1D8.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b5c5564bbdaa22a1e2d459e9bf6aef5a-B3AC0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b5c5564bbdaa22a1e2d459e9bf6aef5a-B3AC0.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b81a1d960dd9d5e792d85408692b6486-E5502.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/b81a1d960dd9d5e792d85408692b6486-E5502.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/bb9f76664711c9b5009e7a6add580b29-7CFF5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/bb9f76664711c9b5009e7a6add580b29-7CFF5.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/bd6e705b7e22db04232dfaaf530eee5f-A1D9E.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/bd6e705b7e22db04232dfaaf530eee5f-A1D9E.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c17696ac338660162399145c58c2e792-05AC5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c17696ac338660162399145c58c2e792-05AC5.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c2546661a841fcb6634a6c1326a606b9-08FAC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c2546661a841fcb6634a6c1326a606b9-08FAC.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c34499b357419bf0b80d3379b004fd11-53E2E.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c34499b357419bf0b80d3379b004fd11-53E2E.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c4-og-banner-A082C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c4-og-banner-A082C.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c47d52c806aea627c7b227b287ce8808-40688.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c47d52c806aea627c7b227b287ce8808-40688.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c6b85a4a6ca07ab15a30a24f570be5b8-2B16A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c6b85a4a6ca07ab15a30a24f570be5b8-2B16A.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c735717c-40bb-4e49-aa83-42e5dfa0846f-DE13A:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c735717c-40bb-4e49-aa83-42e5dfa0846f-DE13A
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c9cb30134c634c9e02d0c64df4922803-98E33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/c9cb30134c634c9e02d0c64df4922803-98E33.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ca167442070a75d1ccbcd48bd4854886-53550.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ca167442070a75d1ccbcd48bd4854886-53550.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ca714e239d7d0800fe9175cf43f8f877-3B91A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ca714e239d7d0800fe9175cf43f8f877-3B91A.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ccf05b57676cd0a8105703e0b735b280-3BFF5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ccf05b57676cd0a8105703e0b735b280-3BFF5.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/cd524f78cb8a7426f6497d2a56aa3931-9BF2F.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/cd524f78cb8a7426f6497d2a56aa3931-9BF2F.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/cf5ff95c34041d7d559e8ba777b048e1-119CB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/cf5ff95c34041d7d559e8ba777b048e1-119CB.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d17cb151966d230d5eb26a6fc3ac100c-9BF75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d17cb151966d230d5eb26a6fc3ac100c-9BF75.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d2303645d3d52c487a931fe06cad0240-42828.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d2303645d3d52c487a931fe06cad0240-42828.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d352b5d64239648acbeb7b6f310df0b8-E875A.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d352b5d64239648acbeb7b6f310df0b8-E875A.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d482d56e4533980c4a4108a97afecfcb-31323.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d482d56e4533980c4a4108a97afecfcb-31323.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d4881bb27043538c26e7b31a7f8b85d2-5DA7D.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d4881bb27043538c26e7b31a7f8b85d2-5DA7D.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d9fa0ae50d731854d342f81d679964af-D6B3D.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d9fa0ae50d731854d342f81d679964af-D6B3D.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d9zjlrJR-29B78.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/d9zjlrJR-29B78.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/dd0b02132544c612d48d10270e412d9b-9486F.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/dd0b02132544c612d48d10270e412d9b-9486F.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ddf6a89ae9aac05d44873a73357cce1a-DF8FF.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ddf6a89ae9aac05d44873a73357cce1a-DF8FF.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/df507fe1346c7c5fe2c1e560b1e8d1d0-EF39D.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/df507fe1346c7c5fe2c1e560b1e8d1d0-EF39D.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/download-_14_-8F0BD.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/download-_14_-8F0BD.jpg
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/e42ab213024788a841cee166db94c007-B1203.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/e42ab213024788a841cee166db94c007-B1203.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/e62adf01d6955f4b6891294799a46369-81807.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/e62adf01d6955f4b6891294799a46369-81807.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/e6f4ca0e498c6a1841fd2181890d7668-D7F35.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/e6f4ca0e498c6a1841fd2181890d7668-D7F35.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ead7bda50531bbe6590401e4a9b86e91-17A23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ead7bda50531bbe6590401e4a9b86e91-17A23.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ec2bcb7830d93aed7b07ee0d3a51e605-19997.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ec2bcb7830d93aed7b07ee0d3a51e605-19997.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ece049bda85fdcdb08ba4595daf9e38a-48509.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ece049bda85fdcdb08ba4595daf9e38a-48509.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f23d0ae29fcc5a63df0b1e99990a51f7-8A74E.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f23d0ae29fcc5a63df0b1e99990a51f7-8A74E.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f33f913c6ffd96f63fd3911fe087f010-68168.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f33f913c6ffd96f63fd3911fe087f010-68168.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f3dd487f29b8a2fe5068df67201ef3ef-54E8E.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f3dd487f29b8a2fe5068df67201ef3ef-54E8E.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f4422c70568695907d5aa7f8632b4d51-4FBE2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f4422c70568695907d5aa7f8632b4d51-4FBE2.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f7110af75e4ab630e47f509ae07920e6-909F7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/f7110af75e4ab630e47f509ae07920e6-909F7.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/fa2aee31bff7302bd48ce60a8aef846f-FD473.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/fa2aee31bff7302bd48ce60a8aef846f-FD473.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/failedtest-67B13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/failedtest-67B13.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/fbe30ea40824c9990a93836a24db1610-F5D34.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/fbe30ea40824c9990a93836a24db1610-F5D34.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/fd032d1c27ba593b4fbe6be4c074663d-78A1D.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/fd032d1c27ba593b4fbe6be4c074663d-78A1D.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/feb79bb6c3285f43d25af82703f76106-392DC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/feb79bb6c3285f43d25af82703f76106-392DC.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-400-E988B.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-400-E988B.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-500-0777F.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-500-0777F.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-600-CB411.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-600-CB411.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-700-891AC.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-700-891AC.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-800-D36B0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-italic-800-D36B0.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-400-1456D.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-400-1456D.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-500-89CE5.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-500-89CE5.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-600-C1EA8.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-600-C1EA8.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-700-1949A.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-700-1949A.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-800-58487.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/ggsans-normal-800-58487.woff2
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-151B2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-151B2.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-1D5B8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-1D5B8.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-2E365.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-2E365.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-325FD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-325FD.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-46BDB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-46BDB.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-55796.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-55796.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-6E21D.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-6E21D.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-92947.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-92947.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-9AFF7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-9AFF7.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-9CAB5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-9CAB5.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-A8BC8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-A8BC8.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-AFAF4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-AFAF4.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-CAE56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-CAE56.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-E18C4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/image-E18C4.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/lKlpFOKp3ZAIdzIWdTSc-E5AF8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/lKlpFOKp3ZAIdzIWdTSc-E5AF8.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/publications-65459:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/publications-65459
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/saltyio_error1-B2C75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/saltyio_error1-B2C75.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/solarized-dark.min-BA98F.css:
--------------------------------------------------------------------------------
1 | .hljs{display:block;overflow-x:auto;padding:.5em;background:#002b36;color:#839496}.hljs-comment,.hljs-quote{color:#586e75}.hljs-keyword,.hljs-selector-tag,.hljs-addition{color:#859900}.hljs-number,.hljs-string,.hljs-meta .hljs-meta-string,.hljs-literal,.hljs-doctag,.hljs-regexp{color:#2aa198}.hljs-title,.hljs-section,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#268bd2}.hljs-attribute,.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-class .hljs-title,.hljs-type{color:#b58900}.hljs-symbol,.hljs-bullet,.hljs-subst,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-link{color:#cb4b16}.hljs-built_in,.hljs-deletion{color:#dc322f}.hljs-formula{background:#073642}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/star-wars-yoda-4D8F0.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/star-wars-yoda-4D8F0.mp4
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/waiting-for-you-A109E.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/waiting-for-you-A109E.mp4
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/waiting-waiting-patiently-F880C.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].html_Files/waiting-waiting-patiently-F880C.mp4
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/94oxTfKozXK9ARCn8HxT-40621.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/94oxTfKozXK9ARCn8HxT-40621.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Capture_decran_2024-01-21_a_10.06.20-CEDA2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Capture_decran_2024-01-21_a_10.06.20-CEDA2.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/GEaeKH8bIAAxThD-310B2.jpg%3Alarge:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/GEaeKH8bIAAxThD-310B2.jpg%3Alarge
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Powershell_01-DEF0E.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Powershell_01-DEF0E.jpg
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Screenshot_2024-01-22_at_11.04.17_AM-D35FC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Screenshot_2024-01-22_at_11.04.17_AM-D35FC.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Screenshot_402-37BBC.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Screenshot_402-37BBC.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Screenshot_from_2024-01-19_17-18-43-DBD98.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Screenshot_from_2024-01-19_17-18-43-DBD98.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Screenshot_from_2024-01-19_17-25-04-2211C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/Screenshot_from_2024-01-19_17-25-04-2211C.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/audits-17CA0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/audits-17CA0
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/c4-og-banner-A082C.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/c4-og-banner-A082C.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/c735717c-40bb-4e49-aa83-42e5dfa0846f-DE13A:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/c735717c-40bb-4e49-aa83-42e5dfa0846f-DE13A
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/d9zjlrJR-29B78.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/d9zjlrJR-29B78.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/download-_14_-8F0BD.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/download-_14_-8F0BD.jpg
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/failedtest-67B13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/failedtest-67B13.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-151B2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-151B2.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-1D5B8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-1D5B8.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-2E365.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-2E365.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-325FD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-325FD.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-46BDB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-46BDB.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-55796.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-55796.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-6E21D.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-6E21D.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-92947.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-92947.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-9AFF7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-9AFF7.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-9CAB5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-9CAB5.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-A8BC8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-A8BC8.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-AFAF4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-AFAF4.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-CAE56.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-CAE56.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-E18C4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/image-E18C4.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/lKlpFOKp3ZAIdzIWdTSc-E5AF8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/lKlpFOKp3ZAIdzIWdTSc-E5AF8.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/maxresdefault-6C6F8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/maxresdefault-6C6F8.jpg
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/publications-65459:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/publications-65459
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/saltyio_error1-B2C75.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/saltyio_error1-B2C75.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/star-wars-yoda-E3998.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/star-wars-yoda-E3998.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/waiting-for-you-1615B.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/waiting-for-you-1615B.png
--------------------------------------------------------------------------------
/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/waiting-waiting-patiently-273E5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/code-423n4/2024-01-salty/01eb9e21f1d0aa7a058897914bbca9c994d314e0/discord-export/Code4rena - ARCHIVE-Q1-2024 - salty-jan16 [1194275679924129893].txt_Files/waiting-waiting-patiently-273E5.png
--------------------------------------------------------------------------------
/foundry.toml:
--------------------------------------------------------------------------------
1 | [profile.default]
2 | src = "src"
3 | out = "out"
4 | libs = ["lib"]
5 | optimizer_runs = 20000
6 |
7 | # See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
8 |
--------------------------------------------------------------------------------
/remappings.txt:
--------------------------------------------------------------------------------
1 | chainlink/=lib/chainlink/
2 | ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/
3 | erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/
4 | forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/
5 | openzeppelin-contracts/=lib/openzeppelin-contracts/
6 | openzeppelin/=lib/openzeppelin-contracts/contracts/
7 | v3-core/=lib/v3-core/contracts/
8 |
--------------------------------------------------------------------------------
/scope.txt:
--------------------------------------------------------------------------------
1 | src/arbitrage/ArbitrageSearch.sol
2 | src/dao/DAO.sol
3 | src/dao/DAOConfig.sol
4 | src/dao/Proposals.sol
5 | src/dao/Parameters.sol
6 | src/launch/Airdrop.sol
7 | src/launch/BootstrapBallot.sol
8 | src/launch/InitialDistribution.sol
9 | src/pools/PoolUtils.sol
10 | src/pools/PoolsConfig.sol
11 | src/pools/PoolStats.sol
12 | src/pools/Pools.sol
13 | src/pools/PoolMath.sol
14 | src/price_feed/CoreChainlinkFeed.sol
15 | src/price_feed/CoreUniswapFeed.sol
16 | src/price_feed/PriceAggregator.sol
17 | src/price_feed/CoreSaltyFeed.sol
18 | src/rewards/RewardsConfig.sol
19 | src/rewards/Emissions.sol
20 | src/rewards/RewardsEmitter.sol
21 | src/rewards/SaltRewards.sol
22 | src/stable/USDS.sol
23 | src/stable/StableConfig.sol
24 | src/stable/CollateralAndLiquidity.sol
25 | src/stable/Liquidizer.sol
26 | src/staking/StakingConfig.sol
27 | src/staking/Liquidity.sol
28 | src/staking/StakingRewards.sol
29 | src/staking/Staking.sol
30 | src/ManagedWallet.sol
31 | src/AccessManager.sol
32 | src/Salt.sol
33 | src/SigningTools.sol
34 | src/Upkeep.sol
35 | src/ExchangeConfig.sol
--------------------------------------------------------------------------------
/src/Salt.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
5 | import "./interfaces/ISalt.sol";
6 |
7 |
8 | contract Salt is ISalt, ERC20
9 | {
10 | event SALTBurned(uint256 amount);
11 |
12 | uint256 public constant MILLION_ETHER = 1000000 ether;
13 | uint256 public constant INITIAL_SUPPLY = 100 * MILLION_ETHER ;
14 |
15 |
16 | constructor()
17 | ERC20( "Salt", "SALT" )
18 | {
19 | _mint( msg.sender, INITIAL_SUPPLY );
20 | }
21 |
22 |
23 | // SALT tokens will need to be sent here before they are burned.
24 | // There should otherwise be no SALT balance in this contract.
25 | function burnTokensInContract() external
26 | {
27 | uint256 balance = balanceOf( address(this) );
28 | _burn( address(this), balance );
29 |
30 | emit SALTBurned(balance);
31 | }
32 |
33 |
34 | // === VIEWS ===
35 | function totalBurned() external view returns (uint256)
36 | {
37 | return INITIAL_SUPPLY - totalSupply();
38 | }
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/src/SigningTools.sol:
--------------------------------------------------------------------------------
1 | pragma solidity =0.8.22;
2 |
3 |
4 | library SigningTools
5 | {
6 | // The public address of the signer for verfication of BootstrapBallot voting and default AccessManager
7 | address constant public EXPECTED_SIGNER = 0x1234519DCA2ef23207E1CA7fd70b96f281893bAa;
8 |
9 |
10 | // Verify that the messageHash was signed by the authoratative signer.
11 | function _verifySignature(bytes32 messageHash, bytes memory signature ) internal pure returns (bool)
12 | {
13 | require( signature.length == 65, "Invalid signature length" );
14 |
15 | bytes32 r;
16 | bytes32 s;
17 | uint8 v;
18 |
19 | assembly
20 | {
21 | r := mload (add (signature, 0x20))
22 | s := mload (add (signature, 0x40))
23 | v := mload (add (signature, 0x41))
24 | }
25 |
26 | address recoveredAddress = ecrecover(messageHash, v, r, s);
27 |
28 | return (recoveredAddress == EXPECTED_SIGNER);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/arbitrage/tests/TestArbitrageSearch.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
5 | import "../../interfaces/IExchangeConfig.sol";
6 | import "../../pools/PoolUtils.sol";
7 | import "../ArbitrageSearch.sol";
8 |
9 |
10 | contract TestArbitrageSearch is ArbitrageSearch
11 | {
12 | constructor( IExchangeConfig _exchangeConfig )
13 | ArbitrageSearch(_exchangeConfig)
14 | {
15 | }
16 |
17 | function arbitragePath( IERC20 swapTokenIn, IERC20 swapTokenOut ) public view returns (IERC20 arbToken2, IERC20 arbToken3)
18 | {
19 | return _arbitragePath(swapTokenIn, swapTokenOut );
20 | }
21 |
22 |
23 | // Perform a modified binary search to search for the bestArbAmountIn in a range of 1% to 125% of swapAmountInValueInETH.
24 | // The search will be done using a binary search algorithm where profits are determined at the midpoint of the current range, and also just to the right of the midpoint.
25 | // Assuming that the profit function is unimodal (which may not actually be true), the two profit calculations at and near the midpoint can show us which half of the range the maximum profit is in.
26 | function bisectionSearch( uint256 swapAmountInValueInETH, uint256 reservesA0, uint256 reservesA1, uint256 reservesB0, uint256 reservesB1, uint256 reservesC0, uint256 reservesC1 ) public pure returns (uint256 bestArbAmountIn)
27 | {
28 | return _bisectionSearch( swapAmountInValueInETH, reservesA0, reservesA1, reservesB0, reservesB1, reservesC0, reservesC1 );
29 | }
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/src/dao/interfaces/ICalledContract.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface ICalledContract
6 | {
7 | function callFromDAO(uint256) external;
8 | }
--------------------------------------------------------------------------------
/src/dao/interfaces/IDAO.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "../../rewards/interfaces/ISaltRewards.sol";
5 | import "../../stable/interfaces/IUSDS.sol";
6 | import "../../pools/interfaces/IPools.sol";
7 | import "../../interfaces/ISalt.sol";
8 |
9 | interface IDAO
10 | {
11 | function finalizeBallot( uint256 ballotID ) external;
12 |
13 | function withdrawArbitrageProfits( IERC20 weth ) external returns (uint256 withdrawnAmount);
14 | function formPOL( IERC20 tokenA, IERC20 tokenB, uint256 amountA, uint256 amountB ) external;
15 | function processRewardsFromPOL() external;
16 | function withdrawPOL( IERC20 tokenA, IERC20 tokenB, uint256 percentToLiquidate ) external;
17 |
18 | // Views
19 | function pools() external view returns (IPools);
20 | function websiteURL() external view returns (string memory);
21 | function countryIsExcluded( string calldata country ) external view returns (bool);
22 | }
--------------------------------------------------------------------------------
/src/dao/interfaces/IDAOConfig.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IDAOConfig
6 | {
7 | function changeBootstrappingRewards(bool increase) external; // onlyOwner
8 | function changePercentPolRewardsBurned(bool increase) external; // onlyOwner
9 | function changeBaseBallotQuorumPercent(bool increase) external; // onlyOwner
10 | function changeBallotDuration(bool increase) external; // onlyOwner
11 | function changeRequiredProposalPercentStake(bool increase) external; // onlyOwner
12 | function changeMaxPendingTokensForWhitelisting(bool increase) external; // onlyOwner
13 | function changeArbitrageProfitsPercentPOL(bool increase) external; // onlyOwner
14 | function changeUpkeepRewardPercent(bool increase) external; // onlyOwner
15 |
16 | // Views
17 | function bootstrappingRewards() external view returns (uint256);
18 | function percentPolRewardsBurned() external view returns (uint256);
19 | function baseBallotQuorumPercentTimes1000() external view returns (uint256);
20 | function ballotMinimumDuration() external view returns (uint256);
21 | function requiredProposalPercentStakeTimes1000() external view returns (uint256);
22 | function maxPendingTokensForWhitelisting() external view returns (uint256);
23 | function arbitrageProfitsPercentPOL() external view returns (uint256);
24 | function upkeepRewardPercent() external view returns (uint256);
25 | }
--------------------------------------------------------------------------------
/src/dao/tests/ExcessiveSupplyToken.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
5 |
6 |
7 | contract ExcessiveSupplyToken is ERC20
8 | {
9 | constructor()
10 | ERC20( "TEST", "TEST" )
11 | {
12 | _mint( msg.sender, uint256(type(uint112).max) + 1 );
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/src/dao/tests/TestCallReceiver.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "../interfaces/ICalledContract.sol";
5 |
6 |
7 | contract TestCallReceiver is ICalledContract
8 | {
9 | uint256 public value;
10 |
11 |
12 | function callFromDAO(uint256 n ) external
13 | {
14 | value = n;
15 | }
16 | }
--------------------------------------------------------------------------------
/src/dao/tests/TestParameters.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "../Parameters.sol";
5 |
6 | contract TestParameters is Parameters
7 | {
8 | function executeParameterChange( ParameterTypes parameterType, bool increase, IPoolsConfig poolsConfig, IStakingConfig stakingConfig, IRewardsConfig rewardsConfig, IStableConfig stableConfig, IDAOConfig daoConfig, IPriceAggregator priceAggregator ) public
9 | {
10 | _executeParameterChange( parameterType, increase, poolsConfig, stakingConfig, rewardsConfig, stableConfig, daoConfig, priceAggregator );
11 | }
12 | }
--------------------------------------------------------------------------------
/src/interfaces/IAccessManager.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IAccessManager
6 | {
7 | function excludedCountriesUpdated() external;
8 | function grantAccess(bytes calldata signature) external;
9 |
10 | // Views
11 | function geoVersion() external view returns (uint256);
12 | function walletHasAccess(address wallet) external view returns (bool);
13 | }
14 |
--------------------------------------------------------------------------------
/src/interfaces/IExchangeConfig.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/finance/VestingWallet.sol";
5 | import "../stable/interfaces/ICollateralAndLiquidity.sol";
6 | import "../launch/interfaces/IInitialDistribution.sol";
7 | import "../rewards/interfaces/IRewardsEmitter.sol";
8 | import "../rewards/interfaces/ISaltRewards.sol";
9 | import "../rewards/interfaces/IEmissions.sol";
10 | import "../interfaces/IAccessManager.sol";
11 | import "../launch/interfaces/IAirdrop.sol";
12 | import "../stable/interfaces/IUSDS.sol";
13 | import "../dao/interfaces/IDAO.sol";
14 | import "../interfaces/ISalt.sol";
15 | import "./IUpkeep.sol";
16 | import "./IManagedWallet.sol";
17 |
18 |
19 | interface IExchangeConfig
20 | {
21 | function setContracts( IDAO _dao, IUpkeep _upkeep, IInitialDistribution _initialDistribution, IAirdrop _airdrop, VestingWallet _teamVestingWallet, VestingWallet _daoVestingWallet ) external; // onlyOwner
22 | function setAccessManager( IAccessManager _accessManager ) external; // onlyOwner
23 |
24 | // Views
25 | function salt() external view returns (ISalt);
26 | function wbtc() external view returns (IERC20);
27 | function weth() external view returns (IERC20);
28 | function dai() external view returns (IERC20);
29 | function usds() external view returns (IUSDS);
30 |
31 | function managedTeamWallet() external view returns (IManagedWallet);
32 | function daoVestingWallet() external view returns (VestingWallet);
33 | function teamVestingWallet() external view returns (VestingWallet);
34 | function initialDistribution() external view returns (IInitialDistribution);
35 |
36 | function accessManager() external view returns (IAccessManager);
37 | function dao() external view returns (IDAO);
38 | function upkeep() external view returns (IUpkeep);
39 | function airdrop() external view returns (IAirdrop);
40 |
41 | function walletHasAccess( address wallet ) external view returns (bool);
42 | }
43 |
--------------------------------------------------------------------------------
/src/interfaces/IManagedWallet.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IManagedWallet
6 | {
7 | function proposeWallets( address _proposedMainWallet, address _proposedConfirmationWallet ) external;
8 | function changeWallets() external;
9 |
10 | // Views
11 | function mainWallet() external view returns (address wallet);
12 | function confirmationWallet() external view returns (address wallet);
13 | function proposedMainWallet() external view returns (address wallet);
14 | function proposedConfirmationWallet() external view returns (address wallet);
15 | function activeTimelock() external view returns (uint256);
16 | }
17 |
--------------------------------------------------------------------------------
/src/interfaces/ISalt.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
5 |
6 |
7 | interface ISalt is IERC20
8 | {
9 | function burnTokensInContract() external;
10 |
11 | // Views
12 | function totalBurned() external view returns (uint256);
13 | }
14 |
--------------------------------------------------------------------------------
/src/interfaces/IUpkeep.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IUpkeep
6 | {
7 | function performUpkeep() external;
8 |
9 | // Views
10 | function currentRewardsForCallingPerformUpkeep() external view returns (uint256);
11 | function lastUpkeepTimeEmissions() external view returns (uint256);
12 | function lastUpkeepTimeRewardsEmitters() external view returns (uint256);
13 | }
14 |
--------------------------------------------------------------------------------
/src/launch/interfaces/IAirdrop.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IAirdrop
6 | {
7 | function authorizeWallet( address wallet ) external;
8 | function allowClaiming() external;
9 | function claimAirdrop() external;
10 |
11 | // Views
12 | function saltAmountForEachUser() external view returns (uint256);
13 | function claimingAllowed() external view returns (bool);
14 | function claimed(address wallet) external view returns (bool);
15 |
16 | function isAuthorized(address wallet) external view returns (bool);
17 | function numberAuthorized() external view returns (uint256);
18 | }
19 |
--------------------------------------------------------------------------------
/src/launch/interfaces/IBootstrapBallot.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IBootstrapBallot
6 | {
7 | function vote( bool voteStartExchangeYes, bytes memory signature ) external;
8 | function finalizeBallot() external;
9 |
10 | // Views
11 | function completionTimestamp() external view returns (uint256);
12 | function hasVoted(address user) external view returns (bool);
13 |
14 | function ballotFinalized() external view returns (bool);
15 |
16 | function startExchangeYes() external view returns (uint256);
17 | function startExchangeNo() external view returns (uint256);
18 | }
19 |
--------------------------------------------------------------------------------
/src/launch/interfaces/IInitialDistribution.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "./IBootstrapBallot.sol";
5 |
6 |
7 | interface IInitialDistribution
8 | {
9 | function distributionApproved() external;
10 |
11 | // Views
12 | function bootstrapBallot() external view returns (IBootstrapBallot);
13 | }
14 |
--------------------------------------------------------------------------------
/src/pools/interfaces/IPoolStats.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IPoolStats
6 | {
7 | // These are the indicies (in terms of a poolIDs location in the current whitelistedPoolIDs array) of pools involved in an arbitrage path
8 | struct ArbitrageIndicies
9 | {
10 | uint64 index1;
11 | uint64 index2;
12 | uint64 index3;
13 | }
14 |
15 | function clearProfitsForPools() external;
16 | function updateArbitrageIndicies() external;
17 |
18 | // Views
19 | function profitsForWhitelistedPools() external view returns (uint256[] memory _calculatedProfits);
20 | function arbitrageIndicies(bytes32 poolID) external view returns (ArbitrageIndicies memory);
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/src/pools/interfaces/IPools.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol";
5 | import "../../stable/interfaces/ICollateralAndLiquidity.sol";
6 | import "../../dao/interfaces/IDAO.sol";
7 | import "./IPoolStats.sol";
8 |
9 |
10 | interface IPools is IPoolStats
11 | {
12 | function startExchangeApproved() external;
13 | function setContracts( IDAO _dao, ICollateralAndLiquidity _collateralAndLiquidity ) external; // onlyOwner
14 |
15 | function addLiquidity( IERC20 tokenA, IERC20 tokenB, uint256 maxAmountA, uint256 maxAmountB, uint256 minLiquidityReceived, uint256 totalLiquidity ) external returns (uint256 addedAmountA, uint256 addedAmountB, uint256 addedLiquidity);
16 | function removeLiquidity( IERC20 tokenA, IERC20 tokenB, uint256 liquidityToRemove, uint256 minReclaimedA, uint256 minReclaimedB, uint256 totalLiquidity ) external returns (uint256 reclaimedA, uint256 reclaimedB);
17 |
18 | function deposit( IERC20 token, uint256 amount ) external;
19 | function withdraw( IERC20 token, uint256 amount ) external;
20 | function swap( IERC20 swapTokenIn, IERC20 swapTokenOut, uint256 swapAmountIn, uint256 minAmountOut, uint256 deadline ) external returns (uint256 swapAmountOut);
21 | function depositSwapWithdraw(IERC20 swapTokenIn, IERC20 swapTokenOut, uint256 swapAmountIn, uint256 minAmountOut, uint256 deadline ) external returns (uint256 swapAmountOut);
22 | function depositDoubleSwapWithdraw( IERC20 swapTokenIn, IERC20 swapTokenMiddle, IERC20 swapTokenOut, uint256 swapAmountIn, uint256 minAmountOut, uint256 deadline ) external returns (uint256 swapAmountOut);
23 |
24 | // Views
25 | function exchangeIsLive() external view returns (bool);
26 | function getPoolReserves(IERC20 tokenA, IERC20 tokenB) external view returns (uint256 reserveA, uint256 reserveB);
27 | function depositedUserBalance(address user, IERC20 token) external view returns (uint256);
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/src/pools/interfaces/IPoolsConfig.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
5 | import "./IPools.sol";
6 |
7 |
8 | interface IPoolsConfig
9 | {
10 | function whitelistPool( IPools pools, IERC20 tokenA, IERC20 tokenB ) external; // onlyOwner
11 | function unwhitelistPool( IPools pools, IERC20 tokenA, IERC20 tokenB ) external; // onlyOwner
12 | function changeMaximumWhitelistedPools(bool increase) external; // onlyOwner
13 | function changeMaximumInternalSwapPercentTimes1000(bool increase) external; // onlyOwner
14 |
15 | // Views
16 | function maximumWhitelistedPools() external view returns (uint256);
17 | function maximumInternalSwapPercentTimes1000() external view returns (uint256);
18 |
19 | function numberOfWhitelistedPools() external view returns (uint256);
20 | function isWhitelisted( bytes32 poolID ) external view returns (bool);
21 | function whitelistedPools() external view returns (bytes32[] calldata);
22 | function underlyingTokenPair( bytes32 poolID ) external view returns (IERC20 tokenA, IERC20 tokenB);
23 |
24 | // Returns true if the token has been whitelisted (meaning it has been pooled with either WBTC and WETH)
25 | function tokenHasBeenWhitelisted( IERC20 token, IERC20 wbtc, IERC20 weth ) external view returns (bool);
26 | }
--------------------------------------------------------------------------------
/src/price_feed/CoreSaltyFeed.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
5 | import "../interfaces/IExchangeConfig.sol";
6 | import "../pools/interfaces/IPools.sol";
7 | import "./interfaces/IPriceFeed.sol";
8 | import "../pools/PoolUtils.sol";
9 |
10 |
11 | // Uses the Salty.IO pools to retrieve prices for BTC and ETH.
12 | // Prices are returned with 18 decimals.
13 | contract CoreSaltyFeed is IPriceFeed
14 | {
15 | IPools immutable public pools;
16 |
17 | IERC20 immutable public wbtc;
18 | IERC20 immutable public weth;
19 | IERC20 immutable public usds;
20 |
21 |
22 | constructor( IPools _pools, IExchangeConfig _exchangeConfig )
23 | {
24 | pools = _pools;
25 | wbtc = _exchangeConfig.wbtc();
26 | weth = _exchangeConfig.weth();
27 | usds = _exchangeConfig.usds();
28 | }
29 |
30 |
31 | // Returns zero for an invalid price
32 | function getPriceBTC() external view returns (uint256)
33 | {
34 | (uint256 reservesWBTC, uint256 reservesUSDS) = pools.getPoolReserves(wbtc, usds);
35 |
36 | if ( ( reservesWBTC < PoolUtils.DUST ) || ( reservesUSDS < PoolUtils.DUST ) )
37 | return 0;
38 |
39 | // reservesWBTC has 8 decimals, keep the 18 decimals of reservesUSDS
40 | return ( reservesUSDS * 10**8 ) / reservesWBTC;
41 | }
42 |
43 |
44 | // Returns zero for an invalid price
45 | function getPriceETH() external view returns (uint256)
46 | {
47 | (uint256 reservesWETH, uint256 reservesUSDS) = pools.getPoolReserves(weth, usds);
48 |
49 | if ( ( reservesWETH < PoolUtils.DUST ) || ( reservesUSDS < PoolUtils.DUST ) )
50 | return 0;
51 |
52 | return ( reservesUSDS * 10**18 ) / reservesWETH;
53 | }
54 | }
--------------------------------------------------------------------------------
/src/price_feed/interfaces/IPriceAggregator.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "./IPriceFeed.sol";
5 |
6 |
7 | interface IPriceAggregator
8 | {
9 | function setInitialFeeds( IPriceFeed _priceFeed1, IPriceFeed _priceFeed2, IPriceFeed _priceFeed3 ) external;
10 | function setPriceFeed( uint256 priceFeedNum, IPriceFeed newPriceFeed ) external; // onlyOwner
11 | function changeMaximumPriceFeedPercentDifferenceTimes1000(bool increase) external; // onlyOwner
12 | function changePriceFeedModificationCooldown(bool increase) external; // onlyOwner
13 |
14 | // Views
15 | function maximumPriceFeedPercentDifferenceTimes1000() external view returns (uint256);
16 | function priceFeedModificationCooldown() external view returns (uint256);
17 |
18 | function priceFeed1() external view returns (IPriceFeed);
19 | function priceFeed2() external view returns (IPriceFeed);
20 | function priceFeed3() external view returns (IPriceFeed);
21 | function getPriceBTC() external view returns (uint256);
22 | function getPriceETH() external view returns (uint256);
23 | }
24 |
--------------------------------------------------------------------------------
/src/price_feed/interfaces/IPriceFeed.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IPriceFeed
6 | {
7 | // USD prices for BTC and ETH with 18 decimals
8 | function getPriceBTC() external view returns (uint256);
9 | function getPriceETH() external view returns (uint256);
10 | }
11 |
--------------------------------------------------------------------------------
/src/price_feed/tests/ForcedPriceFeed.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/access/Ownable.sol";
5 | import "./IForcedPriceFeed.sol";
6 |
7 |
8 | // For testing liquidation which requires that collteral has insufficient value to proceed
9 | contract ForcedPriceFeed is IForcedPriceFeed, Ownable
10 | {
11 | bool public revertNext;
12 |
13 | uint256 public forcedPriceBTCWith18Decimals;
14 | uint256 public forcedPriceETHWith18Decimals;
15 |
16 |
17 | constructor( uint256 _forcedPriceBTCWith18Decimals, uint256 _forcedPriceETHWith18Decimals )
18 | {
19 | forcedPriceBTCWith18Decimals = _forcedPriceBTCWith18Decimals;
20 | forcedPriceETHWith18Decimals = _forcedPriceETHWith18Decimals;
21 | }
22 |
23 |
24 | function setBTCPrice( uint256 _forcedPriceBTCWith18Decimals ) public onlyOwner
25 | {
26 | forcedPriceBTCWith18Decimals = _forcedPriceBTCWith18Decimals;
27 | }
28 |
29 |
30 | function setETHPrice( uint256 _forcedPriceETHWith18Decimals ) public onlyOwner
31 | {
32 | forcedPriceETHWith18Decimals = _forcedPriceETHWith18Decimals;
33 | }
34 |
35 |
36 | function setRevertNext() public
37 | {
38 | revertNext = true;
39 | }
40 |
41 |
42 | function clearRevertNext() public
43 | {
44 | revertNext = false;
45 | }
46 |
47 |
48 | function getPriceBTC() external view returns (uint256)
49 | {
50 | require( !revertNext, "revertNext is true" );
51 |
52 | return forcedPriceBTCWith18Decimals;
53 | }
54 |
55 |
56 | function getPriceETH() external view returns (uint256)
57 | {
58 | require( !revertNext, "revertNext is true" );
59 |
60 | return forcedPriceETHWith18Decimals;
61 | }
62 | }
--------------------------------------------------------------------------------
/src/price_feed/tests/IForcedPriceFeed.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IForcedPriceFeed
6 | {
7 | function setRevertNext() external;
8 | function setBTCPrice( uint256 _forcedPriceBTCWith18Decimals ) external;
9 | function setETHPrice( uint256 _forcedPriceETHWith18Decimals ) external;
10 | function getPriceBTC() external view returns (uint256);
11 | function getPriceETH() external view returns (uint256);
12 | }
13 |
--------------------------------------------------------------------------------
/src/price_feed/tests/PriceAggregatorGas.t.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "../../dev/Deployment.sol";
5 | import "../CoreChainlinkFeed.sol";
6 | import "../CoreUniswapFeed.sol";
7 | import "../PriceAggregator.sol";
8 | import "../CoreSaltyFeed.sol";
9 |
10 | contract TestPriceAggreagator is PriceAggregator, Deployment
11 | {
12 | constructor()
13 | {
14 | initializeContracts();
15 |
16 | CoreChainlinkFeed _chainlinkFeed = new CoreChainlinkFeed( CHAINLINK_BTC_USD, CHAINLINK_ETH_USD );
17 | CoreUniswapFeed _uniswapFeed = new CoreUniswapFeed( IERC20(_testBTC), IERC20(_testETH), IERC20(_testUSDC), UNISWAP_V3_BTC_ETH, UNISWAP_V3_USDC_ETH );
18 | CoreSaltyFeed _saltyFeed = new CoreSaltyFeed( pools, exchangeConfig );
19 |
20 | setInitialFeeds(_chainlinkFeed, _uniswapFeed, _saltyFeed);
21 | }
22 |
23 |
24 | // Test price feed gas
25 | function testPriceFeedGas() public view
26 | {
27 | uint256 gas0 = gasleft();
28 |
29 | uint256 price1 = _getPriceBTC(priceFeed1);
30 | uint256 price2 = _getPriceBTC(priceFeed2);
31 | uint256 price3 = _getPriceBTC(priceFeed3);
32 |
33 | _aggregatePrices(price1, price2, price3);
34 |
35 | console.log( "PRICE FEED GAS: ", gas0 - gasleft() );
36 | }
37 | }
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/price_feed/tests/TestChainlinkAggregator.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/access/Ownable.sol";
5 |
6 |
7 | contract TestChainlinkAggregator is Ownable
8 | {
9 | uint256 public forcedPriceWith18Decimals;
10 | bool public shouldFail = false;
11 | bool public shouldTimeout = false;
12 |
13 |
14 | constructor( uint256 _forcedPriceWith18Decimals )
15 | {
16 | forcedPriceWith18Decimals = _forcedPriceWith18Decimals;
17 | }
18 |
19 |
20 | function setPrice( uint256 _forcedPriceWith18Decimals ) public onlyOwner
21 | {
22 | forcedPriceWith18Decimals = _forcedPriceWith18Decimals;
23 | }
24 |
25 |
26 | function setShouldFail() public onlyOwner
27 | {
28 | shouldFail = true;
29 | }
30 |
31 |
32 | function setShouldTimeout() public onlyOwner
33 | {
34 | shouldTimeout = true;
35 | }
36 |
37 |
38 | function latestRoundData() external view returns (uint80, int256, uint256, uint256, uint80)
39 | {
40 | require( ! shouldFail );
41 |
42 | if ( shouldTimeout )
43 | return (uint80(0), int256(forcedPriceWith18Decimals), uint256(0), block.timestamp - 61 minutes, uint80(0));
44 |
45 | return (uint80(0), int256(forcedPriceWith18Decimals), uint256(0), block.timestamp - 59 minutes, uint80(0));
46 | }
47 | }
--------------------------------------------------------------------------------
/src/price_feed/tests/TestPriceAggregator.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "forge-std/Test.sol";
5 | import "../PriceAggregator.sol";
6 |
7 |
8 | contract TestPriceAggregator is PriceAggregator
9 | {
10 | function absoluteDifference( uint256 x, uint256 y ) public pure returns (uint256)
11 | {
12 | return _absoluteDifference(x, y);
13 | }
14 |
15 |
16 | function aggregatePrices( uint256 price1, uint256 price2, uint256 price3 ) public view returns (uint256)
17 | {
18 | return _aggregatePrices(price1, price2, price3);
19 | }
20 | }
--------------------------------------------------------------------------------
/src/price_feed/tests/TestUniswapFeed.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "forge-std/Test.sol";
5 | import "../../interfaces/IExchangeConfig.sol";
6 | import "../CoreUniswapFeed.sol";
7 |
8 |
9 | // Prices are returned with 18 decimals.
10 | contract TestUniswapFeed is CoreUniswapFeed
11 | {
12 | bool public revertNext = false;
13 |
14 | uint256 public forcedTWAP_WBTC_WETH;
15 | uint256 public forcedTWAP_WETH_USDC;
16 |
17 |
18 | constructor( IERC20 _wbtc, IERC20 _weth, IERC20 _usdc, address _UNISWAP_V3_WBTC_WETH, address _UNISWAP_V3_WETH_USDC )
19 | CoreUniswapFeed( _wbtc, _weth, _usdc, _UNISWAP_V3_WBTC_WETH, _UNISWAP_V3_WETH_USDC )
20 | {
21 | }
22 |
23 |
24 | function setRevertNext() public
25 | {
26 | revertNext = true;
27 | }
28 |
29 |
30 | function setTwapWBTC_WETH( uint256 twap ) public
31 | {
32 | forcedTWAP_WBTC_WETH = twap;
33 | }
34 |
35 |
36 | function setTwapWETH_USDC( uint256 twap ) public
37 | {
38 | forcedTWAP_WETH_USDC = twap;
39 | }
40 |
41 |
42 | // Wrap the _getUniswapTwapWei function in a public function that includes a try/catch.
43 | // Returns zero on any type of failure.
44 | function getUniswapTwapWei( IUniswapV3Pool pool, uint256 twapInterval ) public override view returns (uint256)
45 | {
46 | require( !revertNext, "revertNext is true" );
47 |
48 | if ( pool == UNISWAP_V3_WBTC_WETH )
49 | if ( forcedTWAP_WBTC_WETH != 0 )
50 | return forcedTWAP_WBTC_WETH;
51 |
52 | if ( pool == UNISWAP_V3_WETH_USDC )
53 | if ( forcedTWAP_WETH_USDC != 0 )
54 | return forcedTWAP_WETH_USDC;
55 |
56 | return super.getUniswapTwapWei( pool, twapInterval );
57 | }
58 | }
--------------------------------------------------------------------------------
/src/rewards/interfaces/IEmissions.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IEmissions
6 | {
7 | function performUpkeep( uint256 timeSinceLastUpkeep ) external;
8 | }
--------------------------------------------------------------------------------
/src/rewards/interfaces/IRewardsConfig.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IRewardsConfig
6 | {
7 | function changeRewardsEmitterDailyPercent(bool increase) external; // onlyOwner
8 | function changeEmissionsWeeklyPercent(bool increase) external; // onlyOwner
9 | function changeStakingRewardsPercent(bool increase) external; // onlyOwner
10 | function changePercentRewardsSaltUSDS(bool increase) external; // onlyOwner
11 |
12 | // Views
13 | function emissionsWeeklyPercentTimes1000() external view returns (uint256);
14 | function rewardsEmitterDailyPercentTimes1000() external view returns (uint256);
15 | function stakingRewardsPercent() external view returns (uint256);
16 | function percentRewardsSaltUSDS() external view returns (uint256);
17 | }
--------------------------------------------------------------------------------
/src/rewards/interfaces/IRewardsEmitter.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "../../staking/interfaces/IStakingRewards.sol";
5 |
6 |
7 | interface IRewardsEmitter
8 | {
9 | function addSALTRewards( AddedReward[] calldata addedRewards ) external;
10 | function performUpkeep( uint256 timeSinceLastUpkeep ) external;
11 |
12 | // Views
13 | function pendingRewardsForPools( bytes32[] calldata pools ) external view returns (uint256[] calldata);
14 | }
15 |
--------------------------------------------------------------------------------
/src/rewards/interfaces/ISaltRewards.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "./IRewardsEmitter.sol";
5 |
6 |
7 | interface ISaltRewards
8 | {
9 | function sendInitialSaltRewards( uint256 liquidityBootstrapAmount, bytes32[] calldata poolIDs ) external;
10 | function performUpkeep( bytes32[] calldata poolIDs, uint256[] calldata profitsForPools ) external;
11 |
12 | // Views
13 | function stakingRewardsEmitter() external view returns (IRewardsEmitter);
14 | function liquidityRewardsEmitter() external view returns (IRewardsEmitter);
15 | }
--------------------------------------------------------------------------------
/src/rewards/tests/TestSaltRewards.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "../SaltRewards.sol";
5 |
6 |
7 | contract TestSaltRewards is SaltRewards
8 | {
9 | constructor( IRewardsEmitter _stakingRewardsEmitter, IRewardsEmitter _liquidityRewardsEmitter, IExchangeConfig _exchangeConfig, IRewardsConfig _rewardsConfig )
10 | SaltRewards( _stakingRewardsEmitter, _liquidityRewardsEmitter, _exchangeConfig, _rewardsConfig )
11 | {
12 | }
13 |
14 |
15 |
16 | // Send the pending SALT rewards to the stakingRewardsEmitter
17 | function sendStakingRewards(uint256 stakingRewardsAmount) public
18 | {
19 | _sendStakingRewards(stakingRewardsAmount);
20 | }
21 |
22 |
23 | // Transfer SALT rewards to the liquidityRewardsEmitter proportional to pool shares in generating recent arb profits.
24 | function sendLiquidityRewards( uint256 liquidityRewardsAmount, uint256 directSaltUSDSRewardsAmount, bytes32[] memory poolIDs, uint256[] memory profitsForPools ) public
25 | {
26 | uint256 totalProfits = 0;
27 | for( uint256 i = 0; i < poolIDs.length; i++ )
28 | totalProfits += profitsForPools[i];
29 |
30 | _sendLiquidityRewards( liquidityRewardsAmount, directSaltUSDSRewardsAmount, poolIDs, profitsForPools, totalProfits );
31 | }
32 |
33 |
34 | function sendInitialLiquidityRewards( uint256 liquidityBootstrapAmount, bytes32[] memory poolIDs ) public
35 | {
36 | _sendInitialLiquidityRewards( liquidityBootstrapAmount, poolIDs );
37 | }
38 |
39 |
40 | function sendInitialStakingRewards( uint256 stakingBootstrapAmount ) public
41 | {
42 | _sendInitialStakingRewards(stakingBootstrapAmount);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/root_tests/ITestUpkeep.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface ITestUpkeep
6 | {
7 | function step1() external;
8 | function step2( address receiver ) external;
9 | function step3() external;
10 | function step4() external;
11 | function step5() external;
12 | function step6() external;
13 | function step7() external;
14 | function step8() external;
15 | function step9() external;
16 | function step10() external;
17 | function step11() external;
18 | }
19 |
--------------------------------------------------------------------------------
/src/root_tests/IUpkeepFlawed.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IUpkeepFlawed
6 | {
7 | function performFlawedUpkeep() external;
8 | }
9 |
--------------------------------------------------------------------------------
/src/root_tests/TestERC20.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
5 |
6 |
7 | contract TestERC20 is ERC20
8 | {
9 | uint8 private _decimals;
10 |
11 | uint256 public INITIAL_SUPPLY;
12 |
13 |
14 |
15 | constructor( string memory name, uint256 __decimals )
16 | ERC20( name, name )
17 | {
18 | _decimals = uint8(__decimals);
19 |
20 | // 1 quadrillion initial supply
21 | INITIAL_SUPPLY = 1000 * 1000 * 1000000000 * 10 ** _decimals;
22 | _mint( msg.sender, INITIAL_SUPPLY );
23 | }
24 |
25 |
26 | function decimals() public view override returns (uint8)
27 | {
28 | return _decimals;
29 | }
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/src/root_tests/TestWETH.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
5 |
6 |
7 | contract TestWETH is ERC20
8 | {
9 | uint8 private _decimals;
10 |
11 | uint256 public INITIAL_SUPPLY;
12 |
13 |
14 |
15 | constructor()
16 | ERC20( "TestWETH", "WETH" )
17 | {
18 | _decimals = uint8(18);
19 |
20 | // 1 quadrillion initial supply
21 | INITIAL_SUPPLY = 1000 * 1000 * 1000000000 * 10 ** _decimals;
22 | _mint( msg.sender, INITIAL_SUPPLY );
23 | }
24 |
25 |
26 | function decimals() public view override returns (uint8)
27 | {
28 | return _decimals;
29 | }
30 |
31 |
32 | // To mimic WETH
33 | function deposit() public payable
34 | {
35 | _mint( msg.sender, msg.value );
36 | }
37 |
38 |
39 | function withdraw(uint wad) public
40 | {
41 | require(balanceOf(msg.sender) >= wad);
42 | _burn( msg.sender, wad );
43 |
44 | payable(msg.sender).transfer(wad);
45 | }
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/src/stable/interfaces/ICollateralAndLiquidity.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "../../staking/interfaces/ILiquidity.sol";
5 | import "./ILiquidizer.sol";
6 |
7 |
8 | interface ICollateralAndLiquidity is ILiquidity
9 | {
10 | function depositCollateralAndIncreaseShare( uint256 maxAmountWBTC, uint256 maxAmountWETH, uint256 minLiquidityReceived, uint256 deadline, bool useZapping ) external returns (uint256 addedAmountWBTC, uint256 addedAmountWETH, uint256 addedLiquidity);
11 | function withdrawCollateralAndClaim( uint256 collateralToWithdraw, uint256 minReclaimedWBTC, uint256 minReclaimedWETH, uint256 deadline ) external returns (uint256 reclaimedWBTC, uint256 reclaimedWETH);
12 | function borrowUSDS( uint256 amountBorrowed ) external;
13 | function repayUSDS( uint256 amountRepaid ) external;
14 | function liquidateUser( address wallet ) external;
15 |
16 | // Views
17 | function liquidizer() external view returns (ILiquidizer);
18 | function usdsBorrowedByUsers( address wallet ) external view returns (uint256);
19 |
20 | function maxWithdrawableCollateral( address wallet ) external view returns (uint256);
21 | function maxBorrowableUSDS( address wallet ) external view returns (uint256);
22 | function numberOfUsersWithBorrowedUSDS() external view returns (uint256);
23 | function canUserBeLiquidated( address wallet ) external view returns (bool);
24 | function findLiquidatableUsers( uint256 startIndex, uint256 endIndex ) external view returns (address[] calldata);
25 | function findLiquidatableUsers() external view returns (address[] calldata);
26 |
27 | function underlyingTokenValueInUSD( uint256 amountBTC, uint256 amountETH ) external view returns (uint256);
28 | function totalCollateralValueInUSD() external view returns (uint256);
29 | function userCollateralValueInUSD( address wallet ) external view returns (uint256);
30 | }
31 |
--------------------------------------------------------------------------------
/src/stable/interfaces/ILiquidizer.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "../../interfaces/IExchangeConfig.sol";
5 | import "../../pools/interfaces/IPools.sol";
6 | import "./ICollateralAndLiquidity.sol";
7 |
8 |
9 | interface ILiquidizer
10 | {
11 | function setContracts(ICollateralAndLiquidity _collateralAndLiquidity, IPools _pools, IDAO _dao) external; // onlyOwner
12 | function incrementBurnableUSDS( uint256 usdsToBurn ) external;
13 | function performUpkeep() external;
14 |
15 | // Views
16 | function usdsThatShouldBeBurned() external view returns (uint256 _usdsThatShouldBeBurned);
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/src/stable/interfaces/IStableConfig.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | interface IStableConfig
5 | {
6 | function changeRewardPercentForCallingLiquidation(bool increase) external; // onlyOwner
7 | function changeMaxRewardValueForCallingLiquidation(bool increase) external; // onlyOwner
8 | function changeMinimumCollateralValueForBorrowing(bool increase) external; // onlyOwner
9 | function changeInitialCollateralRatioPercent(bool increase) external; // onlyOwner
10 | function changeMinimumCollateralRatioPercent(bool increase) external; // onlyOwner
11 | function changePercentArbitrageProfitsForStablePOL(bool increase) external; // onlyOwner
12 |
13 | // Views
14 | function rewardPercentForCallingLiquidation() external view returns (uint256);
15 | function maxRewardValueForCallingLiquidation() external view returns (uint256);
16 | function minimumCollateralValueForBorrowing() external view returns (uint256);
17 | function initialCollateralRatioPercent() external view returns (uint256);
18 | function minimumCollateralRatioPercent() external view returns (uint256);
19 | function percentArbitrageProfitsForStablePOL() external view returns (uint256);
20 | }
21 |
--------------------------------------------------------------------------------
/src/stable/interfaces/IUSDS.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
5 | import "./ICollateralAndLiquidity.sol";
6 |
7 |
8 | interface IUSDS is IERC20
9 | {
10 | function setCollateralAndLiquidity( ICollateralAndLiquidity _collateralAndLiquidity ) external; // onlyOwner
11 | function mintTo( address wallet, uint256 amount ) external;
12 | function burnTokensInContract() external;
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/src/stable/tests/StableConfig.t.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "forge-std/Test.sol";
5 | import "../StableConfig.sol";
6 | import "../../price_feed/interfaces/IPriceFeed.sol";
7 |
8 |
9 | contract TestStableConfig is Test
10 | {
11 | IPriceFeed public _forcedPriceFeed = IPriceFeed(address(0xDEE776893503EFB20e6fC7173E9c03911F28233E));
12 |
13 | StableConfig public stableConfig;
14 |
15 |
16 | constructor()
17 | {
18 | stableConfig = new StableConfig();
19 | }
20 |
21 |
22 | function testRemainingRatioAfterReward() public
23 | {
24 | stableConfig.changeMinimumCollateralRatioPercent( true ); // => 111%
25 | stableConfig.changeRewardPercentForCallingLiquidation( true ); // ==> 6%
26 |
27 | uint256 startingMinimumCollateralRatioPercent = stableConfig.minimumCollateralRatioPercent();
28 | stableConfig.changeMinimumCollateralRatioPercent( false );
29 | assertEq( stableConfig.minimumCollateralRatioPercent(), startingMinimumCollateralRatioPercent, "minimumCollateralRatioPercent shouldn't change due to 105 minimum buffer with reward percent" );
30 |
31 | uint256 startingRewardPercentForCallingLiquidation = stableConfig.rewardPercentForCallingLiquidation();
32 | stableConfig.changeRewardPercentForCallingLiquidation( true );
33 | assertEq( stableConfig.rewardPercentForCallingLiquidation(), startingRewardPercentForCallingLiquidation, "rewardPercentForCallingLiquidation shouldn't change due to 105 minimum buffer with minimumCollateralRatioPercent" );
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/staking/interfaces/ILiquidity.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
5 | import "./IStakingRewards.sol";
6 |
7 |
8 | interface ILiquidity is IStakingRewards
9 | {
10 | function depositLiquidityAndIncreaseShare( IERC20 tokenA, IERC20 tokenB, uint256 maxAmountA, uint256 maxAmountB, uint256 minLiquidityReceived, uint256 deadline, bool useZapping ) external returns (uint256 addedAmountA, uint256 addedAmountB, uint256 addedLiquidity);
11 | function withdrawLiquidityAndClaim( IERC20 tokenA, IERC20 tokenB, uint256 liquidityToWithdraw, uint256 minReclaimedA, uint256 minReclaimedB, uint256 deadline ) external returns (uint256 reclaimedA, uint256 reclaimedB);
12 | }
13 |
--------------------------------------------------------------------------------
/src/staking/interfaces/IStaking.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "./IStakingRewards.sol";
5 |
6 |
7 | // Enum representing the possible states of an unstake request:
8 | // NONE: The default state, indicating that no unstake request has been made.
9 | // PENDING: The state indicating that an unstake request has been made, but has not yet completed.
10 | // CANCELLED: The state indicating that a pending unstake request has been cancelled by the user.
11 | // CLAIMED: The state indicating that a pending unstake request has been completed and the user can claim their SALT tokens.
12 | enum UnstakeState { NONE, PENDING, CANCELLED, CLAIMED }
13 |
14 | struct Unstake
15 | {
16 | UnstakeState status; // see above
17 |
18 | address wallet; // the wallet of the user performing the unstake
19 | uint256 unstakedXSALT; // the amount of xSALT that was unstaked
20 | uint256 claimableSALT; // claimable SALT at completion time
21 | uint256 completionTime; // the timestamp when the unstake completes
22 | uint256 unstakeID; // the unstake ID
23 | }
24 |
25 |
26 | interface IStaking is IStakingRewards
27 | {
28 | function stakeSALT( uint256 amountToStake ) external;
29 | function unstake( uint256 amountUnstaked, uint256 numWeeks ) external returns (uint256 unstakeID);
30 | function cancelUnstake( uint256 unstakeID ) external;
31 | function recoverSALT( uint256 unstakeID ) external;
32 | function transferStakedSaltFromAirdropToUser(address wallet, uint256 amount) external;
33 |
34 | // Views
35 | function userXSalt( address wallet ) external view returns (uint256);
36 | function unstakesForUser( address wallet, uint256 start, uint256 end ) external view returns (Unstake[] calldata);
37 | function unstakesForUser( address wallet ) external view returns (Unstake[] calldata);
38 | function userUnstakeIDs( address user ) external view returns (uint256[] calldata);
39 | function unstakeByID(uint256 id) external view returns (Unstake calldata);
40 | function calculateUnstake( uint256 unstakedXSALT, uint256 numWeeks ) external view returns (uint256);
41 | }
42 |
--------------------------------------------------------------------------------
/src/staking/interfaces/IStakingConfig.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | interface IStakingConfig
6 | {
7 | function changeMinUnstakeWeeks(bool increase) external; // onlyOwner
8 | function changeMaxUnstakeWeeks(bool increase) external; // onlyOwner
9 | function changeMinUnstakePercent(bool increase) external; // onlyOwner
10 | function changeModificationCooldown(bool increase) external; // onlyOwner
11 |
12 | // Views
13 | function minUnstakeWeeks() external view returns (uint256);
14 | function maxUnstakeWeeks() external view returns (uint256);
15 | function minUnstakePercent() external view returns (uint256);
16 | function modificationCooldown() external view returns (uint256);
17 | }
--------------------------------------------------------------------------------
/src/staking/interfaces/IStakingRewards.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 |
5 | struct AddedReward
6 | {
7 | bytes32 poolID; // The pool to add rewards to
8 | uint256 amountToAdd; // The amount of rewards (as SALT) to add
9 | }
10 |
11 | struct UserShareInfo
12 | {
13 | uint128 userShare; // A user's share for a given poolID
14 | uint128 virtualRewards; // The amount of rewards that were added to maintain proper rewards/share ratio - and will be deducted from a user's pending rewards.
15 | uint256 cooldownExpiration; // The timestamp when the user can modify their share
16 | }
17 |
18 |
19 | interface IStakingRewards
20 | {
21 | function claimAllRewards( bytes32[] calldata poolIDs ) external returns (uint256 rewardsAmount);
22 | function addSALTRewards( AddedReward[] calldata addedRewards ) external;
23 |
24 | // Views
25 | function totalShares(bytes32 poolID) external view returns (uint256);
26 | function totalSharesForPools( bytes32[] calldata poolIDs ) external view returns (uint256[] calldata shares);
27 | function totalRewardsForPools( bytes32[] calldata poolIDs ) external view returns (uint256[] calldata rewards);
28 |
29 | function userRewardForPool( address wallet, bytes32 poolID ) external view returns (uint256);
30 | function userShareForPool( address wallet, bytes32 poolID ) external view returns (uint256);
31 | function userVirtualRewardsForPool( address wallet, bytes32 poolID ) external view returns (uint256);
32 |
33 | function userRewardsForPools( address wallet, bytes32[] calldata poolIDs ) external view returns (uint256[] calldata rewards);
34 | function userShareForPools( address wallet, bytes32[] calldata poolIDs ) external view returns (uint256[] calldata shares);
35 | function userCooldowns( address wallet, bytes32[] calldata poolIDs ) external view returns (uint256[] calldata cooldowns);
36 | }
37 |
--------------------------------------------------------------------------------
/src/staking/tests/TestStakingRewards.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: BUSL 1.1
2 | pragma solidity =0.8.22;
3 |
4 | import "../StakingRewards.sol";
5 |
6 |
7 | // Used for testing to access the private increase and descrease user share functions
8 | contract TestStakingRewards is StakingRewards
9 | {
10 | constructor( IExchangeConfig _exchangeConfig, IPoolsConfig _poolsConfig, IStakingConfig _stakingConfig )
11 | StakingRewards( _exchangeConfig, _poolsConfig, _stakingConfig )
12 | {
13 | }
14 |
15 |
16 | function externalIncreaseUserShare(address user, bytes32 pool, uint256 amount, bool useCooldown) external {
17 | _increaseUserShare(user, pool, amount, useCooldown);
18 | }
19 |
20 |
21 | function externalDecreaseUserShare(address user, bytes32 pool, uint256 amount, bool useCooldown) external {
22 | _decreaseUserShare(user, pool, amount, useCooldown);
23 | }
24 | }
--------------------------------------------------------------------------------