diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html new file mode 100644 index 0000000..5e75c53 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html @@ -0,0 +1,1273 @@ +Code4rena - venus-sep28
Guild icon
Code4rena
ARCHIVE-Q3-2023 / venus-sep28
+
+ +
Avatar
Hey! Is the code new or does it have common parts with the previous audit?
+
Avatar
it will be a new code. No overlapping with the code in the scope of the last Venus contest here (isolated pools)
✅ 15
+
Avatar
Avatar
chechu
it will be a new code. No overlapping with the code in the scope of the last Venus contest here (isolated pools)
I’m happy to work with you again 🫡
❤️ 3
+
Avatar
Gm to everyone. Approaching the contest I would like to share the timezones of our team. Please expect any answers from us during the day ( 9 AM - 9 PM ) +@0xLucian - GMT + 3 +@chechu - GMT + 2 +@kkirka - GMT + 3 +@narayanprusty - GMT + 1 +@Manmeet22 - GMT + 5 + +Good luck and looking forward to a good contest! 🚀 🙏🏻 (edited)
👍 4
🚀 1
🔥 1
+
Jay | C4 pinned a message to this channel. 09/25/2023 20:24
+
Avatar
kartoonjoy | C4 🎇🎇 09/25/2023 20:27
👋 Hello and welcome to the audit channel for the $36,500 USDC Venus Prime audit! + +📆 Audit opens 09/28/2023 20:00 (20:00 UTC) and runs through 10/04/2023 20:00 (20:00 UTC) (6 days). + +Please give a warm welcome to the Venus Protocol team, particularly @0xLucian, @chechu. @kkirka, @narayanprusty, who will be available for questions either here in the channel or via DM in the GMT +1, GMT +2, and GMT +3 timezone(s). + +We'll be posting relevant links, documentation, etc. here, so if you intend to participate in this audit, consider enabling notifications for this channel. 🐺 ⏰ + +Audit Page: https://code4rena.com/contests/2023-09-venus-prime#top
Code4rena is a competitive audit platform that finds more high-severity vulnerabilities, more quickly than any other auditing method.
🫡 15
+
kartoonjoy | C4 🎇🎇 pinned a message to this channel. 09/25/2023 20:27
+
Avatar
14si2o_Flint 09/27/2023 06:30
Do I need a lot more sleep or was the contest supposed to start last night at 10pm? I'm 99% sure it said "venus-sep26"...
+
Avatar
Avatar
14si2o_Flint
Do I need a lot more sleep or was the contest supposed to start last night at 10pm? I'm 99% sure it said "venus-sep26"...
It got rescheduled 😦
👍 1
thisisfine 1
+
Avatar
Avatar
Proxy
It got rescheduled 😦
14si2o_Flint 09/27/2023 06:46
-_-
+
Avatar
hey, when i clone the repo it show this in the terminal and file is empty +error: invalid path '.npmignore ' +fatal: unable to checkout working tree +warning: Clone succeeded, but checkout failed. +You can inspect what was checked out with 'git status' +and retry with 'git restore --source=HEAD :/'
+
Avatar
use zip until fix
🫡 1
+
Avatar
Avatar
0xkazim
hey, when i clone the repo it show this in the terminal and file is empty +error: invalid path '.npmignore ' +fatal: unable to checkout working tree +warning: Clone succeeded, but checkout failed. +You can inspect what was checked out with 'git status' +and retry with 'git restore --source=HEAD :/'
I'm not able to reproduce it
+
Avatar
Avatar
chechu
I'm not able to reproduce it
idk, it shows errors to me and the file is empty, is there anyone else face the same problem or it's only me please?
+
Avatar
Avatar
0xkazim
idk, it shows errors to me and the file is empty, is there anyone else face the same problem or it's only me please?
Same here, download ZIP worked for me
🙏🏻 1
+
Avatar
which OS are you using? windows?
+
Avatar
Avatar
chechu
which OS are you using? windows?
Windows, downloaded it with zip and it worked, but git clone it not working in case someone want to clone it
+
Avatar
castle_chain 09/28/2023 20:52
where to find this contract ?? ResilientOracleInterface
+
Avatar
Avatar
castle_chain
where to find this contract ?? ResilientOracleInterface
❤️ 1
+
Avatar
Avatar
0xkazim
Windows, downloaded it with zip and it worked, but git clone it not working in case someone want to clone it
❤️ 1
+
Avatar
Thank you ser 🫡
+
Avatar
apart from the README file in the root folder of the repo, I would suggest everyone to read this readme file (linked in the root file): https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md + +it includes deeper explanations of the Prime feature
👍🏻 1
+
+
Jay | C4 pinned a message to this channel. 09/28/2023 21:09
Jay | C4 pinned a message to this channel. 09/28/2023 21:09
+
Avatar
our DM's are open, don't hesitate to ask us any doubt, we'll do our best to clarify them. As a reminder, here you have our timezones, taken them into account: + +@0xLucian - GMT + 3 +@chechu - GMT + 2 +@kkirka - GMT + 3 +@narayanprusty - GMT + 1 +@Manmeet22 - GMT + 5 (edited)
👍 2
+
Jay | C4 pinned a message to this channel. 09/28/2023 21:11
+
Avatar
where will the users stake their XVS tokens ? +There is a claim function in the prime contract but i couldn't find a staking function
+
Avatar
Avatar
asui
where will the users stake their XVS tokens ? +There is a claim function in the prime contract but i couldn't find a staking function
Contribute to code-423n4/2023-09-venus development by creating an account on GitHub.
👍 1
+
Avatar
is this a contract which is already in used by the venus protocol or is it a new one created specifically for this new project ?
+
Avatar
the XVSVault is already deployed, and it will be upgrade with the code in the repo of the contest + +XVSVaultProxy: https://bscscan.com/address/0x051100480289e704d20e9db4804837068f3f9204 + +Current implementation of the XVSVault: https://bscscan.com/address/0x0cf9a22e790d89b8e58469f217b50bb4c3ab068c
The Contract Address 0x051100480289e704d20e9db4804837068f3f9204 page allows users to view the source code, transactions, balances, and analytics for the contract address. Users can also interact and make transactions to the contract directly on BscScan.
The Contract Address 0x0cf9a22e790d89b8e58469f217b50bb4c3ab068c page allows users to view the source code, transactions, balances, and analytics for the contract address. Users can also interact and make transactions to the contract directly on BscScan.
+
Avatar
Hello team. Have made fixes from previous audits? You would like recheck or you add new functions after your last audits?
+
Avatar
Avatar
SovaSlava
Hello team. Have made fixes from previous audits? You would like recheck or you add new functions after your last audits?
🙏🏼 1
+
Avatar
Velislav4o 09/28/2023 23:11
Did someone managed to install dependency's. I miss bot registration because of this 🥲
+
Avatar
Avatar
Velislav4o
Did someone managed to install dependency's. I miss bot registration because of this 🥲
try "npm install" 😉
+
Avatar
Avatar
Japy69
try "npm install" 😉
Velislav4o 09/28/2023 23:49
Doesn't work tryed --force aswell
👍 1
+
Avatar
Avatar
Velislav4o
Doesn't work tryed --force aswell
squeaky_cactus 09/29/2023 00:12
Which OS and error(s) are you encountering? + +On Windows Subsystem for Linux, I needed to: +1. Update NodeJS +2. Update NPM +3. npm install --force + +There were still warning about HH versions not being found, but the install worked and likewise for the tests, there were warning but they executed and passed.
+
Avatar
Avatar
squeaky_cactus
Which OS and error(s) are you encountering? + +On Windows Subsystem for Linux, I needed to: +1. Update NodeJS +2. Update NPM +3. npm install --force + +There were still warning about HH versions not being found, but the install worked and likewise for the tests, there were warning but they executed and passed.
Velislav4o 09/29/2023 00:53
I am using windows none of that help --force kinda works but my bot can't read it saying make sure you can compile it giving me sloc error
+
Avatar
Avatar
Velislav4o
Did someone managed to install dependency's. I miss bot registration because of this 🥲
i cant install it too, got stuck on the process
+
Avatar
Avatar
Velislav4o
I am using windows none of that help --force kinda works but my bot can't read it saying make sure you can compile it giving me sloc error
squeaky_cactus 09/29/2023 02:04
After switching over to Windows and trying out a clean checkout ...Im also getting a failure, mine is with Git 🤔 + + +Cloning into '2023-09-venus'... +remote: Enumerating objects: 605, done. +remote: Counting objects: 100% (605/605), done. +remote: Compressing objects: 100% (469/469), done. +remote: Total 605 (delta 124), reused 578 (delta 111), pack-reused 0 +Receiving objects: 100% (605/605), 3.37 MiB | 6.09 MiB/s, done. +Resolving deltas: 100% (124/124), done. +error: invalid path '.npmignore ' +fatal: unable to checkout working tree +warning: Clone succeeded, but checkout failed. +You can inspect what was checked out with 'git status' +and retry with 'git restore --source=HEAD :/' +` (edited)
+
Avatar
Velislav4o 09/29/2023 02:30
👀
+
Avatar
Avatar
squeaky_cactus
After switching over to Windows and trying out a clean checkout ...Im also getting a failure, mine is with Git 🤔 + + +Cloning into '2023-09-venus'... +remote: Enumerating objects: 605, done. +remote: Counting objects: 100% (605/605), done. +remote: Compressing objects: 100% (469/469), done. +remote: Total 605 (delta 124), reused 578 (delta 111), pack-reused 0 +Receiving objects: 100% (605/605), 3.37 MiB | 6.09 MiB/s, done. +Resolving deltas: 100% (124/124), done. +error: invalid path '.npmignore ' +fatal: unable to checkout working tree +warning: Clone succeeded, but checkout failed. +You can inspect what was checked out with 'git status' +and retry with 'git restore --source=HEAD :/' +` (edited)
squeaky_cactus 09/29/2023 02:31
Ah, I see the problem ...there's a whitespace in the filename! + +error: invalid path ".npmignore " + +Being the helpful soul, I've raised PR (https://github.com/code-423n4/2023-09-venus/pull/6), it may not be the only fix required, but at least it will move things along to the next Window's specific setup problem. 😁 (edited)
+
Avatar
Velislav4o 09/29/2023 02:33
C4 should make sure that doesn't happen on bot registration as its 1 hour window and they should test it before deploying it
+
Avatar
Avatar
Velislav4o
C4 should make sure that doesn't happen on bot registration as its 1 hour window and they should test it before deploying it
squeaky_cactus 09/29/2023 02:35
I'm sure the C4 folks will read this channel at some point in their work day
+
Avatar
Velislav4o 09/29/2023 02:36
👍
+
Avatar
Avatar
squeaky_cactus
After switching over to Windows and trying out a clean checkout ...Im also getting a failure, mine is with Git 🤔 + + +Cloning into '2023-09-venus'... +remote: Enumerating objects: 605, done. +remote: Counting objects: 100% (605/605), done. +remote: Compressing objects: 100% (469/469), done. +remote: Total 605 (delta 124), reused 578 (delta 111), pack-reused 0 +Receiving objects: 100% (605/605), 3.37 MiB | 6.09 MiB/s, done. +Resolving deltas: 100% (124/124), done. +error: invalid path '.npmignore ' +fatal: unable to checkout working tree +warning: Clone succeeded, but checkout failed. +You can inspect what was checked out with 'git status' +and retry with 'git restore --source=HEAD :/' +` (edited)
0x11singh99 09/29/2023 03:38
@Jay | C4 please look into this
+
Avatar
What does "Soulbound Token" mean?
+
Avatar
Avatar
Priyam
What does "Soulbound Token" mean?
squeaky_cactus 09/29/2023 04:24
Usually a SoulBound token is one that once minted (initial transfer to an address) cannot ever be transferred again.
👍 1
+
Avatar
Avatar
squeaky_cactus
Ah, I see the problem ...there's a whitespace in the filename! + +error: invalid path ".npmignore " + +Being the helpful soul, I've raised PR (https://github.com/code-423n4/2023-09-venus/pull/6), it may not be the only fix required, but at least it will move things along to the next Window's specific setup problem. 😁 (edited)
This seems to resolve the issue, I've merged the PR +Thank you!
chefskiss 1
thankyou 1
+
Avatar
A short summary on Venus Protocol for the "first-timers" +https://x.com/X3agleX/status/1707616911595627000?s=20
I am auditing the @VenusProtocol's Prime Token on @code4rena for the first time, so I had to look up what it does and how it works. + +Here's a short summary 🧵 if you are in a similar situation 👇
🔥 7
+
Avatar
recursiveEth 09/29/2023 05:44
hey guys , i am having an issue with downloading dependencies and going up and forth in contract, i could't figure out what's the problem. can anyone help me out
+
Avatar
@chechu sent a DM
+
Avatar
How many different markets can exist? +Or there is not a fixed number? (edited)
+
Avatar
Avatar
0x3b
How many different markets can exist? +Or there is not a fixed number? (edited)
I think markets mean pools of different tokens, from where you can either supply or borrow based on your collateral. And if my understanding is correct then the governance can add as many markets (token pools) as they want
❤️ 1
+
Avatar
Avatar
recursiveEth
hey guys , i am having an issue with downloading dependencies and going up and forth in contract, i could't figure out what's the problem. can anyone help me out
superman_i4g 09/29/2023 06:44
Drop the error message you are getting; maybe som1 can help
+
Avatar
which contracts are updated, because it is audited before
07:25
or all of the files are new
07:25
?
+
Avatar
Avatar
niki
or all of the files are new
alymurtazamemon 09/29/2023 07:29
Check the files in the scope section of the contest page (edited)
👍🏻 1
+
Avatar
@everyone Hello guys. Please before asking questions regarding the meaning of some variable and the mechanics of the project do read our technical documentation here https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md . Our team put alot of effor to provide you with this technical document. So in order to save ourselves time, read thoroughly the document first and then if you still have any uncertanties we will be more than happy to help you
Contribute to code-423n4/2023-09-venus development by creating an account on GitHub.
🫡 2
+
Avatar
@0xLucian can I dm you?
+
Avatar
Avatar
jojo
@0xLucian can I dm you?
Sure go ahead
+
Avatar
dopeflamingo 09/29/2023 09:53
Have these contracts been audited before?
+
PaperParachute | C4 pinned a message to this channel. 09/29/2023 10:20
+
Avatar
Avatar
dopeflamingo
Have these contracts been audited before?
yes, they have been audited: https://github.com/code-423n4/2023-09-venus#links + +Peckshield and Fairyproof audit reports are public, linked in the previous link + +OpenZeppelin and Certik also audited the code. The mitigations associated with their reports are included in the codebase of the contest, but their reports are not public yet (edited)
❤️ 1
+
Avatar
What are some of the known issues?
+
+
Avatar
So the current codebase has 4 previous audits 😮
+
Avatar
0x11singh99 09/29/2023 11:23
🫡
+
Avatar
I mean apart from these like I couldn't see bot report updated.
+
Avatar
Avatar
chechu
yes, they have been audited: https://github.com/code-423n4/2023-09-venus#links + +Peckshield and Fairyproof audit reports are public, linked in the previous link + +OpenZeppelin and Certik also audited the code. The mitigations associated with their reports are included in the codebase of the contest, but their reports are not public yet (edited)
superman_i4g 09/29/2023 12:01
The past audits on Venus prime are 2 or 4? Cus in the repo here it's only 2 (peck-shield and fairyproof)
+
Avatar
Avatar
superman_i4g
The past audits on Venus prime are 2 or 4? Cus in the repo here it's only 2 (peck-shield and fairyproof)
the two reports in the repo are the public ones. The reports from OZ and Certik are not still public. They will be public after the contest. Not because we want to hide something (every mitigation associated with those reports has been already applied in the codebase for the contest), but because we were not able to complete the full audit process with them before the starting date of the contest
✅ 4
+
Avatar
Does anyone know who is gonna be the c4 judge for Venus? +And is the 2x increase on PoCs gonna count like in Maia?
+
Avatar
I cannot find the contract IncomeDestination😅
+
+
Avatar
Avatar
chechu
the two reports in the repo are the public ones. The reports from OZ and Certik are not still public. They will be public after the contest. Not because we want to hide something (every mitigation associated with those reports has been already applied in the codebase for the contest), but because we were not able to complete the full audit process with them before the starting date of the contest
superman_i4g 09/29/2023 14:57
Sent you DM, Chechu🙌🏽
+
Avatar
What is Irrevocable OG Prime Token
16:05
because this image doesn't explain it
+
Avatar
Avatar
niki
What is Irrevocable OG Prime Token
  • revocable tokens: if the user unstakes some of their XVS, and the new staked amount is below 1,000 XVS, then the token is burnt
  • irrevocable tokens: they are not burnt when the total amount of XVS staked is below 1,000 XVS + +irrevocable tokens can be minted only via VIP (Venus Improvement Proposal), after a vote of the Venus community. Revocable tokens should be "easier" to get: as soon as the user satisfies the requirements (staking more than 1,000 XVS for 90 days), a revocable token can be claimed by the user. It doesn't need a VIP + +the benefit of a irrevocable token is that it doesn't depend on the staked XVS. If you have a irrevocable Prime token, you can have only 500 XVS staked in the XVSVault, for example (this is from the technical point of view; from the business point of view, probably user with irrevocable Prime tokens already have a lot of XVS staked in the vault) + +the criteria to receive an irrevocable Prime token are not specified yet, but they would be be harder to satisfy than the revocable tokens criteria + +moreover, take into account that a revocable token can be "upgrade" to be irrevocable (via VIP), but an irrevocable token cannot be downgrade to be revocable + +regarding rewards, both tokens are considered the same way, and the same inputs (XVS staked and borrowed and supplied amounts) will be taken into account to calculate the rewards
👍 8
🙌 1
+
Avatar
@chechu sent you a fr
+
Avatar
thebrittfactor | C4 09/29/2023 16:56
Automated Findings / Publicly Known Issues + +Automated findings output for the audit can be found here. + +Note for C4 wardens: Anything included in the automated findings output is considered a publicly known issue and is ineligible for awards.
thankyou 1
+
thebrittfactor | C4 pinned a message to this channel. 09/29/2023 16:56
+
Avatar
mahdiRostami 09/29/2023 17:14
@chechu I DMed you sir.
+
Avatar
What is primeRewardToken ? If I understand correctly users stake XVS for 90 days they get a revocable soulbound prime token. How does primeRewardToken come into play? Do they earn that when they have the prime token? Is that USDC, USDT, etc or something else ?
+
Avatar
Avatar
Proxy
What is primeRewardToken ? If I understand correctly users stake XVS for 90 days they get a revocable soulbound prime token. How does primeRewardToken come into play? Do they earn that when they have the prime token? Is that USDC, USDT, etc or something else ?
narayanprusty 09/29/2023 17:43
XVSVault can have many pools each identified by reward token and pool id. So here we are pointing to the pool where users can stake to mint prime tokens. (edited)
+
Avatar
Avatar
narayanprusty
XVSVault can have many pools each identified by reward token and pool id. So here we are pointing to the pool where users can stake to mint prime tokens. (edited)
Is the primeRewardToken XVS then?
+
Avatar
narayanprusty 09/29/2023 17:52
Yes.
chefskiss 1
+
Avatar
got it thanks
+
Avatar
Contribute to code-423n4/2023-09-venus development by creating an account on GitHub.
+
Avatar
What is actually "alpha"?
+
Avatar
Check out what a cobb douglss function is
❤️ 2
21:10
Alpha is the exponent which acts as a weight
❤️ 1
21:10
And is initally 0.5 to have a balanced exponent
+
Avatar
Hi, are the instances of ProtocolShareReserve deployed to have example of values on this contract ? 🙂
+
Avatar
they should be. Don't hesitate to DM us if you think there is something wrong
🫡 1
+
Avatar
Avatar
nmirchev8
What is actually "alpha"?
alpha is one of the parameters used to calculate the scores of the users. The scores are used to calculate the rewards. You can read more about how the rewards are calculate, and the meaning of alpha here: https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards
❤️ 1
+
Avatar
Avatar
Fulum
Hi, are the instances of ProtocolShareReserve deployed to have example of values on this contract ? 🙂
no, ProtocolShareReserve is not yet deployed. You can see the values of the distribution rules here: https://docs-v4.venus.io/whats-new/automatic-income-allocation#key-aspects-of-automatic-income-allocation + +those rules satisfies the requirements of the Tokenomics of the project, that you can review here: https://docs-v4.venus.io/governance/tokenomics
+
Avatar
Avatar
chechu
no, ProtocolShareReserve is not yet deployed. You can see the values of the distribution rules here: https://docs-v4.venus.io/whats-new/automatic-income-allocation#key-aspects-of-automatic-income-allocation + +those rules satisfies the requirements of the Tokenomics of the project, that you can review here: https://docs-v4.venus.io/governance/tokenomics
Thanks
❤️ 1
+
Avatar
@chechu sent u a fr plz.
+
Avatar
Does the vToken have the same decimals as it's underlying?
+
Avatar
The XVS token has 18 decimals, right?
+
Avatar
Avatar
Priyam
The XVS token has 18 decimals, right?
yes
06:11
👍 2
+
Avatar
Avatar
thebrittfactor | C4
Automated Findings / Publicly Known Issues + +Automated findings output for the audit can be found here. + +Note for C4 wardens: Anything included in the automated findings output is considered a publicly known issue and is ineligible for awards.
superman_i4g 09/30/2023 06:43
Brace yourselves; this codebase is going to be hard to crack, let's do this🔥
🦅 1
+
Avatar
My bad for asking this but what did PSR and PLP stand for
+
Avatar
Avatar
ptsanev
My bad for asking this but what did PSR and PLP stand for
PSR: ProtocolShareReserve +don't know for PLP
+
Avatar
Avatar
Priyam
PSR: ProtocolShareReserve +don't know for PLP
prime liqudity provider
07:09
man I am dumb thank you xd
👍 2
+
Avatar
Why does _pause() get called inside the initialization ~ prime.sol#166
+
Avatar
Has anyone found test cases for prime.sol ?
+
Avatar
Avatar
0x3b
Does the vToken have the same decimals as it's underlying?
Does the vToken have the same decimals as it's underlying? +
+not usually. Every VToken has 8 decimals in the Venus Protocol (it could be different, but it isn't). Regarding underlying tokens, they usually have 18 decimals, but there are several ones with less decimals. For example TRX has 6 decimals + +every underlying token of the markets we'll include initially in the Prime program has 18 decimals + +BTC: https://bscscan.com/address/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c +ETH: https://bscscan.com/address/0x2170Ed0880ac9A755fd29B2688956BD959F933F8 +USDT: https://bscscan.com/address/0x55d398326f99059fF775485246999027B3197955 +USDC: https://bscscan.com/address/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d
+
+
Avatar
Avatar
Phoenix
Has anyone found test cases for prime.sol ?
we had the idea of deploying Prime initially with the claimInterest feature paused, being conservative. And after confirming the rewards are being allocated as expected unpause it
👍 2
+
Avatar
Send you a fr @chechu
👍 1
+
Avatar
@chechu Req sent
👍 1
+
Avatar
@chechu @kkirka @0xLucian sent dms
👍 1
+
Avatar
@chechu Sent FR and DM
👍 1
+
Avatar
Is it possible to remove a boosted market from receiving rewards?
+
Avatar
I don't think that they have any way to remove a market in the current implementation
+
Avatar
And what if there is a need for removing a market? Because of a hack or market volatility...
🤷‍♂️ 2
🧐 1
+
Avatar
users do not use the market
+
Avatar
How does PrimeLiquidityProvider get funds ?
☝️ 2
+
Avatar
Avatar
Proxy
How does PrimeLiquidityProvider get funds ?
Contribute to code-423n4/2023-09-venus development by creating an account on GitHub.
+
Avatar
Avatar
santipu_
And what if there is a need for removing a market? Because of a hack or market volatility...
best thing to do in this case (imo) is sending all accrued rewards to the users and their tokens before the market removed
+
Avatar
where can i find the XVSVault please ?
+
Avatar
Avatar
0xkazim
where can i find the XVSVault please ?
contracts/XVSVault/XVSVault.sol
❤️ 1
+
Avatar
Avatar
Priyam
contracts/XVSVault/XVSVault.sol
thank you ser
✌️ 1
+
Avatar
Sorry if this was already answered, but how are the judges going to evaluate this contest's findings? I am refferring to the debate about always including a PoC etc (edited)
+
Avatar
There is /XVSVault folder inside /contracts
13:51
Can someone explain what exactly borrow/supply position for a user stands for? Is it the ration of the given user for the borrowed assets from a given market and staked XVS, or?
+
Avatar
Avatar
xAriextz
Sorry if this was already answered, but how are the judges going to evaluate this contest's findings? I am refferring to the debate about always including a PoC etc (edited)
if you mean providing POCs is required or not, well in most of findings there should be a good POCs foundry test case or scenario in this way you give a better idea about your vuln.
+
Avatar
do you guys know which contracts call issue and getPendingInterests in Prime.sol?
+
Avatar
Avatar
xAriextz
Sorry if this was already answered, but how are the judges going to evaluate this contest's findings? I am refferring to the debate about always including a PoC etc (edited)
superman_i4g 09/30/2023 15:03
To avoid heartbreaks; I recommend you include POCs for better understanding and clarification of your findings.
+
Avatar
Avatar
superman_i4g
To avoid heartbreaks; I recommend you include POCs for better understanding and clarification of your findings.
Creating PoCs in TS is 🤯
🌚 3
+
Avatar
Avatar
xAriextz
Sorry if this was already answered, but how are the judges going to evaluate this contest's findings? I am refferring to the debate about always including a PoC etc (edited)
I assume the judge is different in venus, but a PoC is surely a plus. in case you missed, the debate was started by maia's contest judge, and this is his latest words https://discord.com/channels/810916927919620096/1153743259965857873/1156249166251577454
+
Avatar
I reckon the oracle used in the capital calculation is a chainlink oracle?
+
Avatar
Hi, maybe I missed something but I don't find the proxy contract used here. Where can I find it ?
+
Avatar
@chechu Sent DM
👍 1
+
Avatar
@chechu Sent DM (edited)
👍 1
+
Avatar
Avatar
santipu_
Is it possible to remove a boosted market from receiving rewards?
"remove" a Prime market is not implemented. It's not easy, and probably not desired. There will be users with claimable interests, generated before we want to remove that market, and they have the right to claim them. An alternative could be to set the multipliers for the market to 0, so no more rewards will be accrued for the user from that moment, but users will be able to claim their interests until that moment
+
Avatar
Avatar
nmirchev8
Can someone explain what exactly borrow/supply position for a user stands for? Is it the ration of the given user for the borrowed assets from a given market and staked XVS, or?
a user stakes XVS in the XVSVault +a user supplies tokens into a Venus market (i.e. into the BTC market) +a user borrows tokens from a Venus market (i.e. from the ETH market) + +it exists the usual dependency in the lending protocols: the total amount of supplied tokens should be enough to "cover" the total borrowed amount by the user. This is not anything specific for Prime, it's just how loans with collateral usually works on blockchain
👍 1
+
Avatar
Avatar
ke1caM
do you guys know which contracts call issue and getPendingInterests in Prime.sol?
issue will be invoked by Governance. getPendingInterests will be invoked (at least) by the Venus dApp, deployed at https://app.venus.io
❤️ 2
+
Avatar
Avatar
ptsanev
I reckon the oracle used in the capital calculation is a chainlink oracle?
it is actually our ResilientOracle (https://github.com/VenusProtocol/oracle/blob/develop/contracts/ResilientOracle.sol), that uses Chainlink (and other oracles, like Binance Oracle, Pyth network and TWAP) under the hood
+
Avatar
Avatar
Japy69
Hi, maybe I missed something but I don't find the proxy contract used here. Where can I find it ?
it will be the Openzeppelin TransparentUpgradeableProxy, or the optimized version provided by Hardhat (https://github.com/wighawag/hardhat-deploy/blob/master/solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol)
👍 1
+
Avatar
I dm you @chechu
+
Avatar
InPrime::_capitalForScore, the oracle.getPrice(xvsToken) and oracle.getUnderlyingPrice(market) return a value in 1e18 decimals ? Or can be other decimals depends on the market ?
+
Avatar
lanrebayode77 10/01/2023 00:33
Please what determines the score of a user, and does it change with block?
+
squeaky_cactus started a thread. 10/01/2023 02:37
+
Avatar
@Manmeet22 , Please check your DM.
+
Avatar
Has anyone created a basic Foundry setup for this, would be really helpful to create PoCs
+
Avatar
Avatar
Priyam
Has anyone created a basic Foundry setup for this, would be really helpful to create PoCs
superman_i4g 10/01/2023 07:27
Thought the tests are written in HardHat? So you can write your POCs test in the test provided although only if you know HardHat🌚
+
Avatar
Where we can see PSR implementation?
+
Avatar
does it matter if a user stores his tokens for more than 90 days? +user alice stores tokens for 100 days +user bob stores tokens for 200 days +is user bob eligible for more rewards than alice?
+
Avatar
Avatar
7ashraf
does it matter if a user stores his tokens for more than 90 days? +user alice stores tokens for 100 days +user bob stores tokens for 200 days +is user bob eligible for more rewards than alice?
Yes, because then you start earning interest. +Bob was able to claim his Prime token earlier, i.e. has gained more interest for that time. (edited)
+
+
Avatar
Avatar
nmirchev8
Yes, because then you start earning interest. +Bob was able to claim his Prime token earlier, i.e. has gained more interest for that time. (edited)
thanks
🤘 1
+
Avatar
SpicyMeatball 10/01/2023 10:56
Has anyone managed to run a forge test on this project? I'm currently struggling with incompatible solidity versions with older contracts that use ^0.5.16.
+
Avatar
Avatar
SpicyMeatball
Has anyone managed to run a forge test on this project? I'm currently struggling with incompatible solidity versions with older contracts that use ^0.5.16.
alymurtazamemon 10/01/2023 11:00
I am working on it from last 24 hours
11:01
Really struggling in this project
11:01
you should use getCode cheatcode to deploy contract and use interfaces to interact with contract.
+
Avatar
You have to run hardhat test, no Foundry ones
+
Avatar
Avatar
xAriextz
You have to run hardhat test, no Foundry ones
alymurtazamemon 10/01/2023 11:02
we know it
+
Avatar
Avatar
alymurtazamemon
we know it
Okay😀
+
Avatar
Avatar
alymurtazamemon
you should use getCode cheatcode to deploy contract and use interfaces to interact with contract.
SpicyMeatball 10/01/2023 11:03
I'm afraid I'm in the failed compilation phase😀 . Did you manage to compile and run your own foundry test?
+
Avatar
Avatar
SpicyMeatball
I'm afraid I'm in the failed compilation phase😀 . Did you manage to compile and run your own foundry test?
alymurtazamemon 10/01/2023 11:04
still on the deployment phase there are so many contracts and permissions, but satisfied because things are working
11:04
after completing deployment phase will try the tests
+
Avatar
SpicyMeatball 10/01/2023 11:05
what forge-std and solc version do you use?
+
Avatar
alymurtazamemon 10/01/2023 11:06
0.8.0
11:06
^0.8.0
11:07
foundry does not support multiple versions yet, and for older versions you need to deploy the mocks or you need artifacts and interfaces to interact with the older versions.
+
Avatar
Avatar
alymurtazamemon
foundry does not support multiple versions yet, and for older versions you need to deploy the mocks or you need artifacts and interfaces to interact with the older versions.
SpicyMeatball 10/01/2023 11:16
yup, I managed to run a simple test with my custom interface for the vToken. Thanks for the insight hi5 !
👍 1
+
Avatar
Avatar
chechu
Does the vToken have the same decimals as it's underlying? +
+not usually. Every VToken has 8 decimals in the Venus Protocol (it could be different, but it isn't). Regarding underlying tokens, they usually have 18 decimals, but there are several ones with less decimals. For example TRX has 6 decimals + +every underlying token of the markets we'll include initially in the Prime program has 18 decimals + +BTC: https://bscscan.com/address/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c +ETH: https://bscscan.com/address/0x2170Ed0880ac9A755fd29B2688956BD959F933F8 +USDT: https://bscscan.com/address/0x55d398326f99059fF775485246999027B3197955 +USDC: https://bscscan.com/address/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d
And if in a future you include more markets with underlying tokens different than 18 decimals it should also work correctly right?
+
Avatar
hey, term capped is kind new to me in logic like this, can someone tell me what capped refers to here or in the whole docs please ? +Split (4) proportional to the (capped) borrow and supply amounts of the user in that market at that moment
+
Avatar
user rewards are only dependent on XVS staked or it also depends on the value of alpha? +and how the value of alpha is decided? +@chechu
+
Avatar
Avatar
0xweb3boy
user rewards are only dependent on XVS staked or it also depends on the value of alpha? +and how the value of alpha is decided? +@chechu
with my understanding it depends on alpha too, and alpha can change the rewards result as its happen in this example: +check Significance of a section, @chechu correct me if im wrong about this please +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards (edited)
Contribute to code-423n4/2023-09-venus development by creating an account on GitHub.
+
Avatar
Avatar
0xkazim
hey, term capped is kind new to me in logic like this, can someone tell me what capped refers to here or in the whole docs please ? +Split (4) proportional to the (capped) borrow and supply amounts of the user in that market at that moment
For what I understand, the protocol limits the user supply/borrow amounts that can be 'qualifiable' for rewards in the Prime program based on a 'market multiplier' and the staked amount of XVS tokens. +This way they incentivize a balance between XVS staked and borrow/supply amounts.
+
Avatar
Avatar
0xkazim
with my understanding it depends on alpha too, and alpha can change the rewards result as its happen in this example: +check Significance of a section, @chechu correct me if im wrong about this please +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards (edited)
yes you are right it is dependent on many things including alpha +do you have any idea how is alpha calculated?
+
Avatar
Avatar
0xweb3boy
yes you are right it is dependent on many things including alpha +do you have any idea how is alpha calculated?
they set the alpha to 0.5 but it can be changed.
+
Avatar
Avatar
santipu_
For what I understand, the protocol limits the user supply/borrow amounts that can be 'qualifiable' for rewards in the Prime program based on a 'market multiplier' and the staked amount of XVS tokens. +This way they incentivize a balance between XVS staked and borrow/supply amounts.
yeah i know that but what capped refers to specifically ? +here we use capped balance or: +Assuming the user has the following positions: +borrow: 30 USDT. Let's say it's capped at 15 USDT, so we'll consider 15 USDT +supply: 10 USDT. Let's say it's also capped at 15 USDT, so we'll consider 10 USDT +what did it capped at mean here ? is it the saved borrrow supply as you mentioned ?
+
Avatar
Avatar
0xkazim
they set the alpha to 0.5 but it can be changed.
A default weight of 0.5 weight has been evaluated as a good ratio and is not likely to be changed. A higher value will only be needed if we want to attract more XVS stake from the Prime token holders at the expense of supply/ borrow rewards. + +it says higher value can be set
+
Avatar
Avatar
0xweb3boy
A default weight of 0.5 weight has been evaluated as a good ratio and is not likely to be changed. A higher value will only be needed if we want to attract more XVS stake from the Prime token holders at the expense of supply/ borrow rewards. + +it says higher value can be set
yeah as i mentioned it can be changed but it can't be above 1 as i know: +A higher value of α increases the weight on stake contributions in the determination of rewards and decreases the weight on supply/borrow contributions. The value of α is between 0-1 (edited)
👍 1
+
Avatar
Avatar
0xkazim
yeah i know that but what capped refers to specifically ? +here we use capped balance or: +Assuming the user has the following positions: +borrow: 30 USDT. Let's say it's capped at 15 USDT, so we'll consider 15 USDT +supply: 10 USDT. Let's say it's also capped at 15 USDT, so we'll consider 10 USDT +what did it capped at mean here ? is it the saved borrrow supply as you mentioned ?
Capped it literally means 'having upper limit' or 'limited'. +So if the capped supply is 15 USDT, the qualifiable supply is limited to 15 USDT. If you have more supply balance than that, it will only take into account 15 USDT. +Like in the example, if you have 30 USDT, or even 30000 USDT, it will only consider 15 USDT for calculating the rewards.
👆 1
👍🏻 2
+
Avatar
Avatar
santipu_
Capped it literally means 'having upper limit' or 'limited'. +So if the capped supply is 15 USDT, the qualifiable supply is limited to 15 USDT. If you have more supply balance than that, it will only take into account 15 USDT. +Like in the example, if you have 30 USDT, or even 30000 USDT, it will only consider 15 USDT for calculating the rewards.
oh i see, its clear now thanks a lot ser 🫡
🫡 1
+
Avatar
prime tokens always mentioned as unique so is it erc721 or another erc than erc20 !?
+
Avatar
As it is written in the contest info: Non ERC-20 Token
+
Avatar
Avatar
0xkazim
prime tokens always mentioned as unique so is it erc721 or another erc than erc20 !?
I think it adheres to no ERC, also in opposite of ERC721 where one address can have multiple unique tokens, for Prime one address can at max have one token (revocable or irrevocable) (edited)
🙏🏻 1
👍🏻 1
+
Avatar
Avatar
Priyam
Has anyone created a basic Foundry setup for this, would be really helpful to create PoCs
I will make some foundry tests with mocks to demonstrate certains things, you can simply add foundry on top of hardhat, it's easy to install it 🙂 https://hardhat.org/hardhat-runner/docs/advanced/hardhat-and-foundry
Ethereum development environment for professionals by Nomic Foundation
🙌 2
+
Avatar
Avatar
0xkazim
yeah as i mentioned it can be changed but it can't be above 1 as i know: +A higher value of α increases the weight on stake contributions in the determination of rewards and decreases the weight on supply/borrow contributions. The value of α is between 0-1 (edited)
For anyone wondering about values of alpha, here is a simple python script that will generate a graph to see how changing a value of alpha affects the apy. + +https://gist.github.com/kazantseff/7a52fa49ce480d00162a4a6a645e075e
Python script to generate a graph representing a relation of xvs to apy - script.py
👍 1
🫡 1
14:43
Just set the values and it will produce something like this:
👍 3
14:43
Hope it help!
+
Avatar
zuhaibmohd 10/01/2023 15:09
@chechu dropped a DM, plz check
+
Avatar
Avatar
Fulum
I will make some foundry tests with mocks to demonstrate certains things, you can simply add foundry on top of hardhat, it's easy to install it 🙂 https://hardhat.org/hardhat-runner/docs/advanced/hardhat-and-foundry
Appreciated 🙏
+
Avatar
@chechu can you check the dms please
+
Avatar
Hello! In terms of Cobb-Douglas function: what does mean production of XVS staked amount for user i and Sum of qualified supply and borrow balance for user i (with corresponded pows, of course) in formula from https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards + +Because if consider case from Wiki: https://en.wikipedia.org/wiki/Cobb–Douglas_production_function#Formulation here Y is total production, but what is Y for Prime?
In economics and econometrics, the Cobb–Douglas production function is a particular functional form of the production function, widely used to represent the technological relationship between the amounts of two or more inputs (particularly physical capital and labor) and the amount of output that can be produced by those inputs. The Cobb–Douglas...
Contribute to code-423n4/2023-09-venus development by creating an account on GitHub.
+
Avatar
what is reward index which is written in the interest struct ? + struct Interest { + uint256 accrued; + uint256 score; + uint256 rewardIndex; + }
+
Avatar
Avatar
glcanvas
Hello! In terms of Cobb-Douglas function: what does mean production of XVS staked amount for user i and Sum of qualified supply and borrow balance for user i (with corresponded pows, of course) in formula from https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards + +Because if consider case from Wiki: https://en.wikipedia.org/wiki/Cobb–Douglas_production_function#Formulation here Y is total production, but what is Y for Prime?
mapping (more or less) the concepts in Prime with the concepts mentioned in the link you provided for the Cobb-Douglas formula: +
  • Y, the production, would be the user score
  • L, labour, would be the XVS staked amount for user i
  • K, capital, would be the Sum of qualified supply and borrow balance for user i
+regarding the exponents, we have: +
  • beta, the exponent of the labour component, would be our alpha
  • alpha, the exponent of the capital component, would be our (1 - alpha)
❤️ 4
+
Avatar
Avatar
0xprinc
what is reward index which is written in the interest struct ? + struct Interest { + uint256 accrued; + uint256 score; + uint256 rewardIndex; + }
@chechu what is rewardIndex
+
Avatar
Avatar
0xweb3boy
@chechu what is rewardIndex
markets[vToken].rewardIndex is the variable where the income to be distributed divided by the sum of the user scores is accumulated. Visually, it is the red area of the rewards formula you can find attached and in the following link: https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards
Contribute to code-423n4/2023-09-venus development by creating an account on GitHub.
+
Avatar
And OZ audit was completed prev or after the fairlyproof and peckshield ones?
+
Avatar
Avatar
nmirchev8
And OZ audit was completed prev or after the fairlyproof and peckshield ones?
after
🛡️ 1
+
Avatar
Avatar
chechu
markets[vToken].rewardIndex is the variable where the income to be distributed divided by the sum of the user scores is accumulated. Visually, it is the red area of the rewards formula you can find attached and in the following link: https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards
so [ rewards = score / rewards index ]
18:12
?
+
Avatar
Avatar
0xprinc
so [ rewards = score / rewards index ]
should be multiplication instead of division
+
Avatar
Avatar
trachev
should be multiplication instead of division
oh ya
+
Avatar
Avatar
0xweb3boy
@chechu what is rewardIndex
interests[market][account].rewardIndex is the same concept, but per user. So, we can use it to really know how much rewards we have to allocate for a user. + +Example: +
  • block 0, variables initialized to default values
  • block 10: in these 10 blocks the income to distribute is 20 USDT, and the sum of the user scores is 50, so we add to markets[vToken].rewardIndex +0.4 (this can be interpreted like: any Prime holder will receive 0.4 USDT per score point, associated to the block period 0-10)
  • block 30: in these 20 blocks the income to distribute is 10 USDT (the income to distribute doesn't have to be constant). The sum of users scores didn't change. So, markets[vToken].rewardIndex is incremented with +0.2
  • block 35: one user claims a Prime token. + first, markets[vToken].rewardIndex will be updated (invoking accrueInterest from _initializeMarkets). In these 5 blocks the income was 5 USDT and the sum of users scores didn't change, so we increment markets[vToken].rewardIndex with +0.1 + then interests[market][account].rewardIndex will be set to markets[market].rewardIndex. This means something like: the track of this users start at this point, when markets[market].rewardIndex was 0.7 (0.4 + 0.2 + 0.1)
  • block 50, the previous user claim interests + first, markets[vToken].rewardIndex will be updated (invoking accrueInterest from getInterestAccrued). In these 15 blocks the income was 120 USDT, and the sum of user scores changed (because we have a new Prime holder). Let's assume the num sum of user scores is 60, so markets[vToken].rewardIndex is incremented with +2. New markets[vToken].rewardIndex is 2.7 + then, the interest for the user are calculated in _interestAccrued. To do that, first we subtract interests[market][account].rewardIndex from markets[vToken].rewardIndex: 2.7 - 0.7 = 2 (USDT per score point) and then we multiply that number times the user score (10): 2 * 10 = 20 USDT: interests accrued by the user until now
🔥 5
18:25
after doing this, interests[vToken][user].rewardIndex is set to the new markets[vToken].rewardIndex (this means something like: we restart tracking the history of the user, the interests accrued in the past are already claimed)
+
Avatar
Avatar
santipu_
And if in a future you include more markets with underlying tokens different than 18 decimals it should also work correctly right?
Venus Protocol doesn't support underlying tokens with more than 18 decimals. Except that, everything should work, right. So, for example, if we would include the market of TRX (decimals of the underlying token: 6), everything should work
+
Avatar
Avatar
Fulum
InPrime::_capitalForScore, the oracle.getPrice(xvsToken) and oracle.getUnderlyingPrice(market) return a value in 1e18 decimals ? Or can be other decimals depends on the market ?
the Venus Resilient Oracle (used by Prime) has the same behavior that Compound's oracles. The decimals of the returned value are 36 - decimals(underlying token). Examples: +
  • USDT, with 18 decimals. The response from the Oracle will have 18 decimals
  • TRX, with 6 decimals. The response from the Oracle will have 30 decimals
+the main advantage of this is that if you multiply the response from the Oracles by an amount defined in underlying tokens, and you divide the result by 1e18, you will get the USD value of those underlying tokens with 18 decimals, always
👍 1
+
Avatar
Avatar
chechu
issue will be invoked by Governance. getPendingInterests will be invoked (at least) by the Venus dApp, deployed at https://app.venus.io
Cache_And_Burn 10/01/2023 18:49
What is the primary use of the issue function? (edited)
+
Avatar
Avatar
Cache_And_Burn
What is the primary use of the issue function? (edited)
issue the initial set of Prime tokens, to the users that were staking more than 1,000 XVS tokens for the last 90 days. Moreover, it will be used to issue the irrevocable tokens (the business criteria for issuing these irrevocable tokens are not defined yet)
👌 1
+
Avatar
hey one question, why the burn() is restricted, Is it bc the user could be malicious or protocol want to forcefully removed??
18:57
@chechu
+
Avatar
SpicyMeatball 10/01/2023 19:02
@chechu what's the difference between the MockProtocolShareReserve and the real PSR?
+
Avatar
Avatar
blutorque
hey one question, why the burn() is restricted, Is it bc the user could be malicious or protocol want to forcefully removed??
if burn doesn't have access limited anyone could burn your Prime token. We cannot allow that
+
Avatar
Avatar
SpicyMeatball
@chechu what's the difference between the MockProtocolShareReserve and the real PSR?
both contracts are out of the scope of the contest (edited)
+
Avatar
Avatar
chechu
both contracts are out of the scope of the contest (edited)
SpicyMeatball 10/01/2023 19:08
it's for the testing purposes 😀. Just wanted to know, should I deploy the real one or the mock is functionally the same? (edited)
+
Avatar
By whom and when tokens sends to the PrimeLiquidityProvider?
+
Avatar
Mike_Bello 10/01/2023 22:38
what is a round?
+
Avatar
Avatar
glcanvas
By whom and when tokens sends to the PrimeLiquidityProvider?
Have the same question
+
Avatar
is there any flow chart available?(by the project team/made by anyone here),,with actors,interaction-steps & everything
+
Avatar
Avatar
0xc86
is there any flow chart available?(by the project team/made by anyone here),,with actors,interaction-steps & everything
I asked this question and they pointed me to this chart
+
Avatar
Avatar
Priyam
I asked this question and they pointed me to this chart
Thanks a lot ser!
✌️ 1
+
Avatar
What is the basic difference between score and interest
+
Avatar
0xScourgedev 10/02/2023 05:25
@chechu What is ballpark for the amount of markets expected for the protocol?
+
Avatar
thetechnofeak 10/02/2023 05:42
how to find the userflow in this project? how do u people do it
+
Avatar
Avatar
thetechnofeak
how to find the userflow in this project? how do u people do it
daniel_dimitrov5 10/02/2023 06:03
The user deposits at least 1000 XVS in XVSVault.sol (out of scope) with the deposit function. Then waits 90 days and claims his Prime token with the claim function in Prime.sol. Once the use has a prime token he is basically receiving interest that can be collected at any time with claimInterest in Prime.sol. Understanding the logic behind the reward system is up to you.
❤️ 2
+
Avatar
Avatar
PASCAL
What is the basic difference between score and interest
Interest is the amount of rewards generated per 1 point of score (ex. 2 USDC) and score is the points each user has. +Example: +User1 score-10 && interest-2 USDC => reward of 20 USDC (edited)
+
Avatar
Avatar
daniel_dimitrov5
The user deposits at least 1000 XVS in XVSVault.sol (out of scope) with the deposit function. Then waits 90 days and claims his Prime token with the claim function in Prime.sol. Once the use has a prime token he is basically receiving interest that can be collected at any time with claimInterest in Prime.sol. Understanding the logic behind the reward system is up to you.
thetechnofeak 10/02/2023 06:12
Appreciate it, thnks
🚀 1
+
Avatar
Avatar
0x3b
Interest is the amount of rewards generated per 1 point of score (ex. 2 USDC) and score is the points each user has. +Example: +User1 score-10 && interest-2 USDC => reward of 20 USDC (edited)
Ohh okay makes more sense now
❤️ 1
06:22
Thank you
+
Avatar
0xhacksmithh 10/02/2023 06:35
May be noob question, how to read report if it shows like below and even can't able to download pdf file
06:36
+
Avatar
mahdiRostami 10/02/2023 06:36
when you clone the repo, you could go to audit folder and open it
+
Avatar
Avatar
0xhacksmithh
Click to see attachment 🖼️
Jaguar2303 10/02/2023 06:37
download the file
+
Avatar
Avatar
0xhacksmithh
Click to see attachment 🖼️
mahdiRostami 10/02/2023 06:37
It happens because of the size of the file
+
Avatar
0xhacksmithh 10/02/2023 06:37
Actually unable to download
06:37
Download never starts for me
06:37
Tried multiple times
+
Avatar
mahdiRostami 10/02/2023 06:38
clone it
+
Avatar
Avatar
mahdiRostami
when you clone the repo, you could go to audit folder and open it
0xhacksmithh 10/02/2023 06:39
Yeah thanks,
+
Avatar
Can anyone explain rewardIndex to me ? is it like a multiplier ?
+
Avatar
Avatar
0xhacksmithh
Click to see attachment 🖼️
why not go into the audit repor?
07:13
This one is by venus, not c4
+
Avatar
Avatar
Proxy
Can anyone explain rewardIndex to me ? is it like a multiplier ?
chefskiss 1
+
Avatar
mahdiRostami 10/02/2023 07:15
@Proxy There is an Interest struct for each user and a Market struct for each market. +Both of them have rewardIndex. +rewardIndex is used to track how much gap is between these two rewardIndex. +For example, when a user _claimInterest(), his rewardIndex becomes equal to the market's rewardIndex. +@chechu If I'm wrong, please correct me (edited)
👍 2
+
Avatar
Hi, where is the logic of staking 1,000 XVS which sets stakedAt?
+
Avatar
Avatar
Delvir0
Hi, where is the logic of staking 1,000 XVS which sets stakedAt?
xvsUpdated() ?
+
Avatar
Avatar
Delvir0
Hi, where is the logic of staking 1,000 XVS which sets stakedAt?
=> Prime.sol +/** + * @notice Used to get if the XVS balance is eligible for prime token + * @param amount amount of XVS + * @return isEligible true if the staked XVS amount is enough to consider the associated user eligible for a Prime token, false otherwise + */ + function isEligible(uint256 amount) internal view returns (bool) { + if (amount >= MINIMUM_STAKED_XVS) { + return true; + } + + return false; + } (edited)
+
Avatar
Ah my bad didn't explain it correctly, it's XVSVault
+
Avatar
thetechnofeak 10/02/2023 08:09
what does these qualifiable terms mean , both of them - i cannot understand its context
+
Avatar
Avatar
thetechnofeak
what does these qualifiable terms mean , both of them - i cannot understand its context
I think it could also be eligible
08:10
basically the minimum to get the prime token
+
Avatar
thetechnofeak 10/02/2023 08:12
why is that '0' then in the first condition for every other case?
08:13
what does that signify (edited)
+
Avatar
if staked XVS > 1000 then the user is eligible to get get the prime token
08:16
if not then assume the user has no xvs staked basically
08:16
at least for calculating the score
+
Avatar
thetechnofeak 10/02/2023 08:17
aah okay
08:17
so the counting starts only when a user hits the mark of 1000 XVS staked , r8? (edited)
+
Avatar
Avatar
thetechnofeak
so the counting starts only when a user hits the mark of 1000 XVS staked , r8? (edited)
think so yea
🔥 1
+
Avatar
thetechnofeak 10/02/2023 08:18
okk got it , thnks
chefskiss 1
+
Avatar
Avatar
glcanvas
By whom and when tokens sends to the PrimeLiquidityProvider?
anyone could do it, and it should work. Venus Community will send to the PLP contract the rewards allocated for Prime during these months. This will probably be done in the same VIP (Venus Improvement Proposal) when the Prime program is enabled, issuing the Prime tokens to the users who staked at least 1,000 XVS during the last 90 days
+
Avatar
Avatar
Mike_Bello
what is a round?
it's not a critical concept for the Prime program. It's only used in the context of updating the alpha or the multiplier values. After doing that it could be needed to update the scores of the users. Because there could be several updates of the alpha/multipliers in the future, the contract group these pending updates in rounds, just to track effectively the users to update + +check this for more info: https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#update-cap-multipliers-and-alpha
👌🏻 1
+
Avatar
Avatar
thetechnofeak
what does these qualifiable terms mean , both of them - i cannot understand its context
thetechnofeak 10/02/2023 08:40
i understand that there is a limiting 'cap' onto the amount of lending and borrowing capacity , but what is the marketmultipliers used here , like BORROWMULTIPLIER & SUPPLYMULTIPLIER, How are they calculated and what does that depend upn ??
08:41
+
Avatar
Avatar
Proxy
Can anyone explain rewardIndex to me ? is it like a multiplier ?
chefskiss 1
+
Avatar
Avatar
thetechnofeak
i understand that there is a limiting 'cap' onto the amount of lending and borrowing capacity , but what is the marketmultipliers used here , like BORROWMULTIPLIER & SUPPLYMULTIPLIER, How are they calculated and what does that depend upn ??
thetechnofeak 10/02/2023 08:43
@chechu can u help me with this
+
Avatar
Avatar
thetechnofeak
i understand that there is a limiting 'cap' onto the amount of lending and borrowing capacity , but what is the marketmultipliers used here , like BORROWMULTIPLIER & SUPPLYMULTIPLIER, How are they calculated and what does that depend upn ??
multipliers are params set by the Venus Community, using a VIP (Venus Improvement Proposal), after passing a vote
🙌 1
+
Avatar
thetechnofeak 10/02/2023 08:45
oh so that means , that doesnt have to be concerned with the inscope parameters
08:46
which means they cannot be accessed by us and is totally random?
+
Avatar
Avatar
0xScourgedev
@chechu What is ballpark for the amount of markets expected for the protocol?
we'll start with USDT, USDC, BTC and ETH on BNB chain. Not yet defined more markets will be included in the future, or what markets will be added for the other chains (Ethereum mainnet, Arbitrum, Polygon zkEVM and opBNB)
👍 1
+
Avatar
Avatar
thetechnofeak
which means they cannot be accessed by us and is totally random?
not random, there will be offchain analysis and risk evaluations. Proposals will be done to the community and the community will decide if those values are ok for them + +to simplify your analysis, maybe you can assume the value of both multipliers is 1. That would means that the borrowed and supplied amounts would be capped by the amount of XVS staked, that's all
🙌 2
+
Avatar
thetechnofeak 10/02/2023 08:51
yaa sounds good now .ty
+
Avatar
Avatar
chechu
not random, there will be offchain analysis and risk evaluations. Proposals will be done to the community and the community will decide if those values are ok for them + +to simplify your analysis, maybe you can assume the value of both multipliers is 1. That would means that the borrowed and supplied amounts would be capped by the amount of XVS staked, that's all
Can we consider the alpha value as 0.5?
+
Avatar
alymurtazamemon 10/02/2023 09:31
Anybody else if need this foundry setup 👇, I could not finish the setup due to a single oracle contract, I found its mock contract but I could not understand what parameter it needs, and the contracts in scope is updating the oracle asserts and tokens underlining due to that I could not setup this completely. But if anyone can find the workaround then can use this. + +https://github.com/alymurtazamemon/foundry-playground-for-venus-audit.git
This is a test setup for the Venus Audit contest held on Code4rena from Sept 29 2023 - Oct 05 2023. - GitHub - alymurtazamemon/foundry-playground-for-venus-audit: This is a test setup for the Venus...
+
Avatar
Avatar
Proxy
if not then assume the user has no xvs staked basically
@chechu DM'ed you
+
Avatar
Avatar
Priyam
Can we consider the alpha value as 0.5?
thetechnofeak 10/02/2023 09:32
it is 0.5 already , see the readme
👍 1
+
Avatar
What does unreleasedPSRincome and unreleasedPLPincome signify?Can anyone explain in detail
09:33
@chechu
+
Avatar
Avatar
Varun_05
What does unreleasedPSRincome and unreleasedPLPincome signify?Can anyone explain in detail
These are the incomes that can be sent to Prime.sol, when needed. +However they are still in their contract PSRincome and PLPincome, when sent (released) they will be reset to 0. (edited)
👍 2
+
Avatar
thetechnofeak 10/02/2023 09:44
why cant i download the previous audit report ?
+
Avatar
Avatar
thetechnofeak
why cant i download the previous audit report ?
If you have cloned the repo then you already have it
🙌 1
+
Avatar
thetechnofeak 10/02/2023 09:47
yeah thnks ,i didnt notice it
+
Avatar
In which case the irrevocable token can be burnt?
+
Avatar
Avatar
sl1
In which case the irrevocable token can be burnt?
mahdiRostami 10/02/2023 10:14
the business criteria for issuing or burning these irrevocable tokens are not defined yet
+
Avatar
Avatar
sl1
In which case the irrevocable token can be burnt?
thetechnofeak 10/02/2023 10:14
yess
10:14
only defined for revocable tokens
+
Avatar
yeah i know, i was just wondering it the burning will also happen through a VIP
+
Avatar
Avatar
sl1
yeah i know, i was just wondering it the burning will also happen through a VIP
mahdiRostami 10/02/2023 10:15
yes
+
Avatar
thanks!
+
Avatar
mahdiRostami 10/02/2023 10:16
@chechu I DMed you sir
+
Avatar
Why PSR should call resetAsset function, when funds are released and PLP do it in the same function from inside the Prime contract?
+
Avatar
thebrittfactor | C4 10/02/2023 14:01
From the sponsor team: POC's in hardhat are ok, which could reduce in some cases the time needed to prepare POCs 🎉
👏🏽 1
+
thebrittfactor | C4 pinned a message to this channel. 10/02/2023 14:01
+
Avatar
how are we changing account's borrow or supply balance
14:07
?
+
Avatar
Avatar
thebrittfactor | C4
From the sponsor team: POC's in hardhat are ok, which could reduce in some cases the time needed to prepare POCs 🎉
Its not that we can't people can't write POC in hardhat, its just that it's more fun to do in foundry and easier XD
+
Avatar
Writing POC in hardhat for this contest made me realize how much i actually love foundry
❤️ 3
+
Avatar
Avatar
nirlin
Its not that we can't people can't write POC in hardhat, its just that it's more fun to do in foundry and easier XD
superman_i4g 10/02/2023 14:55
Yea, that's the real issue but I guess we need to adapt for cases like this even though most protocols/projects use Foundry more.
+
Avatar
Avatar
superman_i4g
Yea, that's the real issue but I guess we need to adapt for cases like this even though most protocols/projects use Foundry more.
I won't, been a web developer, no more js/ts for me -_-
😂 2
+
Avatar
Do we need to write a test for PoCs tho?
+
Avatar
Avatar
tapir
Do we need to write a test for PoCs tho?
superman_i4g 10/02/2023 15:00
To avoid heartbreaks; just do if you can man
+
Avatar
I will not write PoC's for simple cases tho it does not make sense, it just a waste of time
+
Avatar
Avatar
thebrittfactor | C4
From the sponsor team: POC's in hardhat are ok, which could reduce in some cases the time needed to prepare POCs 🎉
PoC writing with foundry is not admissible?
+
Avatar
Avatar
Fulum
PoC writing with foundry is not admissible?
thebrittfactor | C4 10/02/2023 15:17
Foundry is fine! The sponsors were just giving the wardens options 🙂
+
Avatar
Avatar
thebrittfactor | C4
Foundry is fine! The sponsors were just giving the wardens options 🙂
This info save my day, thanks
🤣 3
hi5 1
+
Avatar
Avatar
thebrittfactor | C4
From the sponsor team: POC's in hardhat are ok, which could reduce in some cases the time needed to prepare POCs 🎉
is is possible to provide POC in human-readable description? +i.e. steps to reproduce?
+
Avatar
Avatar
glcanvas
is is possible to provide POC in human-readable description? +i.e. steps to reproduce?
thebrittfactor | C4 10/02/2023 15:19
However you'd like to provide!
+
Avatar
You guys talking about PoC, I haven’t found anything worth provable 😂
🥲 12
gummy_wink 3
😆 1
🤣 8
+
Avatar
0xblackskull 10/02/2023 16:13
can anyone tell me how to pass _checkAccessAllowed() ??
+
Avatar
Avatar
Priyam
You guys talking about PoC, I haven’t found anything worth provable 😂
SpicyMeatball 10/02/2023 16:22
I found a lot, but after writing POCs they all turned out to be false 😒
+
Avatar
Please what is PSR
+
Avatar
Avatar
PASCAL
Please what is PSR
Contracts for Protocol Reserve. Contribute to VenusProtocol/protocol-reserve development by creating an account on GitHub.
❤️ 1
+
Avatar
Avatar
Priyam
You guys talking about PoC, I haven’t found anything worth provable 😂
I found one but I don’t think my computer can run foundry comfortably
16:39
So can’t test it
+
Avatar
the codebase is solid considering only has 1300 line of test code 🤯
+
+
Avatar
Avatar
0xblackskull
can anyone tell me how to pass _checkAccessAllowed() ??
daniel_dimitrov5 10/02/2023 18:16
accessControl.isAllowedToCall.returns(true);
18:18
There is a mock library @defi-wonderland/smock +When you are writing tests you should include this line and set the behaviour as you wish just like in Prime.ts
+
Avatar
0xblackskull 10/02/2023 18:21
@daniel_dimitrov5 i'm writing in foundry
+
Avatar
daniel_dimitrov5 10/02/2023 18:23
You just need a mock then
18:23
Or you can simply remove the _checkAccessAllowed() because it is out of scope anyways
🫡 1
+
Avatar
If anyone make test with foundry, how you had resolve the problems of compiler with multiples versions of solidity ? thx
+
Avatar
0xblackskull 10/02/2023 18:41
you can just copy whole prime token contract in new foundry
18:43
all those contract use 0.8.13, you will not face multiple compiler issue
+
Avatar
what is interest in the getPendingInterests function? is it prime tokens? + +edit: +the answer is here: +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#income-collection-and-distribution (edited)
Contribute to code-423n4/2023-09-venus development by creating an account on GitHub.
+
Avatar
what is the purpose of issue function +doesn't that break the whole process of staking 1000 XVS tokens for 90 days if the person who has the access to call the function can mint prime tokens to any users ? (edited)
+
Avatar
daniel_dimitrov5 10/02/2023 19:29
It is only possible to be called from the governance
19:30
Which is a DAO I believe
👍 2
+
Avatar
Avatar
0xkazim
what is interest in the getPendingInterests function? is it prime tokens? + +edit: +the answer is here: +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#income-collection-and-distribution (edited)
only the GOAT answers his own question😆
😂 4
❤️ 1
+
Avatar
Avatar
0xblackskull
you can just copy whole prime token contract in new foundry
Thanks hi5
+
Avatar
Avatar
asui
what is the purpose of issue function +doesn't that break the whole process of staking 1000 XVS tokens for 90 days if the person who has the access to call the function can mint prime tokens to any users ? (edited)
🫡 1
+
Avatar
hey, who can i DM, who's the sponsor here?
+
Avatar
Avatar
lsaudit
hey, who can i DM, who's the sponsor here?
thetechnofeak 10/02/2023 20:28
its @chechu ig
+
Avatar
thanks, I've dmed him!
+
+
Avatar
Avatar
PASCAL
I found one but I don’t think my computer can run foundry comfortably
Give it to me, let me try to run it 😆
😂 7
+
Avatar
In which case the user's prime token would be burnt by the external burn fn?
+
Avatar
Avatar
Doogoo
In which case the user's prime token would be burnt by the external burn fn?
when the Venus community decides it. There could be several criteria. I can imagine some of them (they are not defined yet), for example, the Venus community could decide to burn an irrevocable token if the user unstaked almost 100% of their XVS and they stopped using the protocol for a long time (this is only an example, provided by me, not by the Venus community)
❤️ 3
👌 2
+
Avatar
Silvermist 10/03/2023 06:30
Does anyone have a foundry setup that can share 😄
+
Avatar
Avatar
alymurtazamemon
Anybody else if need this foundry setup 👇, I could not finish the setup due to a single oracle contract, I found its mock contract but I could not understand what parameter it needs, and the contracts in scope is updating the oracle asserts and tokens underlining due to that I could not setup this completely. But if anyone can find the workaround then can use this. + +https://github.com/alymurtazamemon/foundry-playground-for-venus-audit.git
daniel_dimitrov5 10/03/2023 06:58
^
+
Avatar
on which chains is the contracts gonna deploy ?
+
Avatar
Avatar
0xprinc
on which chains is the contracts gonna deploy ?
Blockchains where this code will be deployed: BNB Chain, Ethereum mainnet, Arbitrum, Polygon zkEVM, opBNB.
+
Avatar
so, practically "Irrevocable token" is out-of-scope, right? (because we don't have the definition)
+
Avatar
send a dm gummy_wink @chechu
+
Avatar
0xDetermination 10/03/2023 13:33
any sponsor available for DM? @chechu @narayanprusty
+
Avatar
narayanprusty 10/03/2023 14:13
@0xDetermination I got your query. I am answering it right now
+
Avatar
0xDetermination 10/03/2023 14:19
@narayanprusty ty!
+
Avatar
@narayanprusty sent a dm
+
Avatar
narayanprusty 10/03/2023 14:30
@grearlake Replied (edited)
+
Avatar
@narayanprusty send a DM
👍 1
+
Avatar
@narayanprusty hey, i've sent you dm, please check in your free time
👍 1
+
Avatar
Mike_Bello 10/03/2023 16:54
guys I know how to test in hardhat, give me your issues to test it jajaja 😂
🌚 1
😂 1
🥸 1
+
Avatar
Hi, tha addMarket function is callable by the governance or the admin ? 🙂
+
Avatar
Avatar
Fulum
Hi, tha addMarket function is callable by the governance or the admin ? 🙂
all functions that enforce access control by invoking _checkAccessAllowed will be called by governance through VIP (Venus Improvement Proposal)
👍 1
+
Avatar
Mike_Bello 10/03/2023 21:23
friends anyone know how to mark the code in the report so the solidity code is highlighted?
21:27
or how to insert a link to an image from my Mac in the report? 🤔
+
Avatar
Mike_Bello 10/03/2023 21:35
@0xLucian Hi lucian send you a DM
21:40
or who's available now to help me with a private question 😀 +@chechu +@kkirka +@narayanprusty +@Manmeet22
✋ 1
+
btk started a thread. 10/03/2023 21:58
+
Avatar
@0xLucian sent a DM.
🫡 1
+
Avatar
I heard discussions about having to have POC to get the full payout, is it enforced yet in this contest?
+
Avatar
Avatar
Doogoo
I heard discussions about having to have POC to get the full payout, is it enforced yet in this contest?
+
Avatar
thank you!
+
Avatar
Please what exactly is the upgrade in the xvs vault contract
08:34
@chechu @kkirka @narayanprusty @0xLucian @Manmeet22
+
Avatar
Avatar
Doogoo
I heard discussions about having to have POC to get the full payout, is it enforced yet in this contest?
Tumelo_Crypto 10/04/2023 08:57
I'm not sure, but you might as well do it incase
+
Avatar
Avatar
PASCAL
I found one but I don’t think my computer can run foundry comfortably
Tumelo_Crypto 10/04/2023 08:59
use hardhat for the PoC
+
Avatar
superman_i4g 10/04/2023 09:32
Quick question; does Alpha have a const value?
+
Avatar
Avatar
superman_i4g
Quick question; does Alpha have a const value?
Alpha is not constant, but alpha default value will be 0.5
💯 1
+
Avatar
@0xLucian sent you a dm
+
Avatar
Avatar
PASCAL
Please what exactly is the upgrade in the xvs vault contract
+
Avatar
@chechu sent you a dm
👍 1
+
Avatar
Avatar
0xLucian
Alpha is not constant, but alpha default value will be 0.5
0xblackskull 10/04/2023 12:29
Alpha could be set to 0??
+
+
Avatar
where is the function prime holders can call to get their rewards for their token ?
12:52
Is it the claimInterest function?
✅ 3
+
+
Avatar
Are xvs token that are present in vault, be taken out any time, or is there any timelock ?
+
Avatar
Avatar
0xprinc
Are xvs token that are present in vault, be taken out any time, or is there any timelock ?
users with XVS staked in the XVSVault can request their withdrawal and then (after a delay period of several days) really withdraw the XVS previously requested + +when the user requests the withdrawal of XVS, Prime is notified: https://github.com/code-423n4/2023-09-venus/blob/main/contracts/XVSVault/XVSVault.sol#L501
👍🏻 1
+
Avatar
0xblackskull 10/04/2023 15:16
@chechu please accept fr
👍 1
+
Avatar
@chechu sent a DM
👍 1
+
Avatar
🚨 AUDIT ALERT + +@🐺wardens The Venus Prime audit is now closed! Huge thanks to everyone who participated 🔍, whether you submitted a finding or not. + +What's next: The sponsor team and judge will review the findings over the next couple of weeks. Keep an eye on #📢announcements for regular updates on how the audit is progressing through awarding 🤑🏆, judging 🧑⚖️ and reporting 📜. Feel free to ping a Contest-Admin if you have questions along the way!
C4Keycap 7
🎉 2
🔥 3
🙇🏻 1
+
Avatar
How many submissions for this one who knows ?😅
+
Avatar
Avatar
PASCAL
How many submissions for this one who knows ?😅
659
🫡 7
👀 10
+
Avatar
thanks for your prompt reply @chechu , it was very nice working with you man
❤️ 4
+
Avatar
Avatar
0xweb3boy
thanks for your prompt reply @chechu , it was very nice working with you man
superman_i4g 10/05/2023 08:40
Very true, @chechu was always there! +Had fun chatting with you ser, Gracias 🙌🏽
❤️ 2
+
Avatar
Don’t forget to mention @0xLucian , who answered all my questions (edited)
❤️ 4
+
Avatar
berlin.101 10/05/2023 12:24
Thanks @chechu and @narayanprusty for the great support when I had questions. 🙏
❤️ 2
+
Avatar
Any news of results?
+
squeaky_cactus started a thread. 10/24/2023 08:38
+
+
Avatar
PaperParachute | C4 11/09/2023 12:19
🤑 🎉 Awards for Venus Prime: + +$10,783.76 USDC » @Testerbot +$1,161.45 USDC » @0xDetermination +$983.50 USDC » @Brenzee +$859.90 USDC » @ether_sky +$855.53 USDC » @SpicyMeatball +$853.09 USDC » @Breeje +$814.29 USDC » @tapir +$786.38 USDC » @santipu_ +$719.26 USDC » @0xTheC0der +$689.32 USDC » @sces60107 | GimelSec +$661.42 USDC » @pep7siup +$661.42 USDC » @ast3ros +$360.09 USDC » @said +$332.18 USDC » @Priyam +$327.81 USDC » @rokinot +$235.12 USDC » @blutorque +$235.12 USDC » @neumo +$235.12 USDC » PwnStars (@sakshamguruji, @qbs) +$235.12 USDC » ThreeSigma (@0x73696d616f, @Carolina, @Eduardo, @SolidityDev99) +$230.76 USDC » Pessimistic (@PavelCore,@yhtyyar, @olegggatttor) +$223.09 USDC » @David Giladi +$211.72 USDC » @oakcobalt +$202.85 USDC » @seerether +$202.85 USDC » @Norah +$202.85 USDC » DeFiHackLabs (@SunSec, @AkshaySrivastav, @Sm4rty, @Cache_And_Burn, @ret2basic.eth, @zuhaibmohd, @sashik_eth, @Ronin) +$202.85 USDC » @bin2chen +$202.85 USDC » @hals +$198.48 USDC » @deadrosesxyz +$198.48 USDC » @dirk_y +$198.48 USDC » @turvy_fuzz +$185.96 USDC » @0xprinc +$179.45 USDC » @0x3b +$166.82 USDC » @deth +$163.76 USDC » @J4X +$157.24 USDC » @0xsload +$129.33 USDC » @mahdiRostami +$129.33 USDC » @HChang26 +$129.33 USDC » @rvierdiiev +$129.33 USDC » @0xpiken +$129.33 USDC » @twicek +$129.33 USDC » @berlin.101 +$129.33 USDC » @KrisApostolov +$129.33 USDC » @Doogoo +$129.33 USDC » @gkrastenov +$129.33 USDC » @merlin +$128.12 USDC » @lsaudit +$124.96 USDC » @sl1 +$124.96 USDC » @aycozynfada +$123.75 USDC » @ICP +$123.75 USDC » @0xhacksmithh +$98.12 USDC » @Bauchibred +$62.21 USDC » @josephdara +$53.88 USDC » @0xweb3boy +$36.64 USDC » @Piña +$36.64 USDC » @xAriextz +$36.64 USDC » @al88nsk +$32.27 USDC » @debo +$32.27 USDC » @ADM +$32.27 USDC » @tsvetanovv +$32.27 USDC » @0xblackskull +$32.27 USDC » @dethera +$32.27 USDC » @Deleted User +$32.27 USDC » SBSecurity (@Blckhv, @Slavcheww) +$21.61 USDC » @ArmedGoose +$20.05 USDC » @0xWaitress +$20.05 USDC » @jkoppel +$17.24 USDC » @James +$17.24 USDC » @versiyonbir +$17.24 USDC » @kaveyjoe +$17.24 USDC » @hunter_w3b +$17.24 USDC » @radev_sw +$15.69 USDC » @hihen +$15.69 USDC » @pontifex
12:21
$4.37 USDC » @ptsanev +$4.37 USDC » @orion +$4.37 USDC » @TangYuanShen +$4.37 USDC » @kutu +$4.37 USDC » @e0d1n +$4.37 USDC » @nadin +$4.37 USDC » @Hama +$4.37 USDC » @n1punp +$4.37 USDC » @terrancrypt +$4.37 USDC » @iceBear +$4.37 USDC » @nisedo +$4.37 USDC » @vagrant +$4.37 USDC » @nobody2018 +$4.37 USDC » @peanuts +$4.37 USDC » @joaovwfreire +$4.37 USDC » @squeaky_cactus +$4.37 USDC » @Krace +$4.37 USDC » @Daniel526 +$4.37 USDC » @sashik_eth +$4.37 USDC » @y4y +$4.37 USDC » @glcanvas +$4.37 USDC » @lotux +$4.37 USDC » @0xfusion +$4.37 USDC » @Tricko +$4.37 USDC » @MohammedRizwan +$4.37 USDC » @totovoto +$4.37 USDC » @d3e4 +$4.37 USDC » @0xTiwa +$4.37 USDC » Mirror +$4.37 USDC » @alexweb3 +$4.37 USDC » @jnforja +$4.37 USDC » @SPY8OY +$4.37 USDC » @code-cipher +$4.37 USDC » @imare +$4.37 USDC » @Fulum +$4.37 USDC » @0xdice91 +$4.37 USDC » @btk +$4.37 USDC » @0xMosh +$4.37 USDC » @ge6a +$4.37 USDC » @inzinko +$4.37 USDC » @0xScourgedev +$4.37 USDC » @Maroutis + +🏁 Findings summary +--------------------------------------— +High risk findings: 3 unique (53 total) +Med risk findings: 2 unique (24 total) +Gas reports: 11 (Best: @David Giladi) +QA reports: 88 (Best: @Bauchibred) +Advanced analysis reports: 14 (Best: @Priyam) + +Awards will be distributed on Polygon within the next week. Congratulations all! 💸 💸 💸 + +Note: If you participated in this audit and don’t see your name on this list, please wait until the report is published and the findings repo is made public to check on your submissions.
🎉 5
+
Avatar
0xDetermination 11/09/2023 12:24
congrats to @Testerbot!
🤖 1
+
Avatar
spent less than an hour on this for 4 bucks!!
🫰 2
+
Avatar
Kudos @Testerbot @0xDetermination 👍 +It was a good audit with a well-written codebase. (edited)
🫡 1
🤖 1
+
Avatar
sakshamguruji 11/09/2023 12:33
This was a tough one , looks like I missed the post-judging QA lol
+
Avatar
@Maroutis business as usual! gg hi5 (edited)
🫡 1
+
Avatar
petrichor🦖 11/09/2023 12:44
Defi Hack Lab 🦖🧙🏻‍♂️🤭
10_10 1
+
Avatar
Congrats Everyone,
12:44
🔥
+
Avatar
congrats @0xhacksmithh @dirk_y
+
Avatar
thank you everyone and congratulations on the rewards!
🫡 8
+
Avatar
Avatar
chechu
thank you everyone and congratulations on the rewards!
moneyversed 11/09/2023 15:10
kindly accept fr
+
Avatar
0xDetermination 11/09/2023 15:21
TY @Priyam 😃
+
Avatar
versiyonbir 11/09/2023 15:23
when are the payments made ? this is my first earn
+
Avatar
@versiyonbir - "Awards will be distributed on Polygon within the next week. Congratulations all!". When payment is made, there's announce at #📢announcements channel
+
Avatar
Hehehe quite surprised my submission earned nothing. Itching to read the final report on this. Anyways we'll get there one day...✌️✌️ Congrats to the winners. (edited)
+
Avatar
Mike_Bello 11/30/2023 21:07
Hi can someone tell me why my issue was marked as invalid, it has no comment why it's invalid an it's well explained to be market as unsatisfactory https://github.com/code-423n4/2023-09-venus-findings/issues/279
+
Avatar
ℹ️ This channel is pending archive. As a result, any private threads will be permanently deleted on Saturday, 02 March 2024. Please make sure to grab anything you might need from those before then.
+ +
+
Exported 411 message(s)
Timezone: UTC+0
diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0-EB806.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0-EB806.png new file mode 100644 index 0000000..1655996 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0-EB806.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/000ac5363e3f6dbccf99b0e7a27d2d3a-E863B.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/000ac5363e3f6dbccf99b0e7a27d2d3a-E863B.png new file mode 100644 index 0000000..e0f5133 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/000ac5363e3f6dbccf99b0e7a27d2d3a-E863B.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/04ac61cd27666b7fe3a2e649e96d1d3a-523E1.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/04ac61cd27666b7fe3a2e649e96d1d3a-523E1.png new file mode 100644 index 0000000..ab96138 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/04ac61cd27666b7fe3a2e649e96d1d3a-523E1.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0b57a4cd1eac7593076c69120770f939-ED546.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0b57a4cd1eac7593076c69120770f939-ED546.png new file mode 100644 index 0000000..5296bdf Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0b57a4cd1eac7593076c69120770f939-ED546.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0c5de6a5638e551f46ffcf836754e7f0-0A84D.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0c5de6a5638e551f46ffcf836754e7f0-0A84D.png new file mode 100644 index 0000000..76dc1a3 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0c5de6a5638e551f46ffcf836754e7f0-0A84D.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0c8e9b652a07346bede9f2908c1284cf-338CD.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0c8e9b652a07346bede9f2908c1284cf-338CD.png new file mode 100644 index 0000000..a191c3a Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/0c8e9b652a07346bede9f2908c1284cf-338CD.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1-B2132.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1-B2132.png new file mode 100644 index 0000000..7e644f0 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1-B2132.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1083068770823721071-EE4F6.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1083068770823721071-EE4F6.png new file mode 100644 index 0000000..e032336 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1083068770823721071-EE4F6.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/108db4db43a8df92fb224ce27c8419ec-5A94A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/108db4db43a8df92fb224ce27c8419ec-5A94A.png new file mode 100644 index 0000000..b0f62ce Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/108db4db43a8df92fb224ce27c8419ec-5A94A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1110201692663857255-A8E42.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1110201692663857255-A8E42.png new file mode 100644 index 0000000..f3c6d40 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1110201692663857255-A8E42.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/12b1cd82ae01e1b8c6e500f018ad4b73-E8E85.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/12b1cd82ae01e1b8c6e500f018ad4b73-E8E85.png new file mode 100644 index 0000000..9e4a8af Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/12b1cd82ae01e1b8c6e500f018ad4b73-E8E85.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/146464eb9e5f1322355fc03324ad0077-EA70E.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/146464eb9e5f1322355fc03324ad0077-EA70E.png new file mode 100644 index 0000000..d6121f2 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/146464eb9e5f1322355fc03324ad0077-EA70E.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1c4a80121deeb5d2fdd1654a720538b4-2A197.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1c4a80121deeb5d2fdd1654a720538b4-2A197.png new file mode 100644 index 0000000..beed0ff Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1c4a80121deeb5d2fdd1654a720538b4-2A197.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f31a-181DA.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f31a-181DA.svg new file mode 100644 index 0000000..6ccbb68 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f31a-181DA.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f389-5C738.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f389-5C738.svg new file mode 100644 index 0000000..a4b8305 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f389-5C738.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3c1-445DC.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3c1-445DC.svg new file mode 100644 index 0000000..695f0ef --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3c1-445DC.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3c6-621A1.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3c6-621A1.svg new file mode 100644 index 0000000..00457c3 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3c6-621A1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3fb-E58B7.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3fb-E58B7.svg new file mode 100644 index 0000000..e1ac3e9 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3fb-E58B7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3fd-E1944.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3fd-E1944.svg new file mode 100644 index 0000000..cb3c24e --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f3fd-E1944.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f43a-EB486.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f43a-EB486.svg new file mode 100644 index 0000000..af40205 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f43a-EB486.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f440-6C64D.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f440-6C64D.svg new file mode 100644 index 0000000..46a268f --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f440-6C64D.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f446-9CC34.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f446-9CC34.svg new file mode 100644 index 0000000..46bc359 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f446-9CC34.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f447-A0F87.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f447-A0F87.svg new file mode 100644 index 0000000..b3df617 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f447-A0F87.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44b-8A059.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44b-8A059.svg new file mode 100644 index 0000000..8942c68 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44b-8A059.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44c-1f3fb-EAAEE.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44c-1f3fb-EAAEE.svg new file mode 100644 index 0000000..e54788d --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44c-1f3fb-EAAEE.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44c-59547.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44c-59547.svg new file mode 100644 index 0000000..c36d774 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44c-59547.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44d-1f3fb-ED2AA.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44d-1f3fb-ED2AA.svg new file mode 100644 index 0000000..ac1ab02 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44d-1f3fb-ED2AA.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44d-27259.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44d-27259.svg new file mode 100644 index 0000000..595672d --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44d-27259.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44f-1f3fd-EC946.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44f-1f3fd-EC946.svg new file mode 100644 index 0000000..93201cf --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f44f-1f3fd-EC946.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4af-4CFF5.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4af-4CFF5.svg new file mode 100644 index 0000000..3d565cc --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4af-4CFF5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4b8-E3468.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4b8-E3468.svg new file mode 100644 index 0000000..8b6fa10 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4b8-E3468.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4c6-44E30.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4c6-44E30.svg new file mode 100644 index 0000000..b2de8c5 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4c6-44E30.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4dc-AC641.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4dc-AC641.svg new file mode 100644 index 0000000..2a7fd37 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f4dc-AC641.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f50d-195C0.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f50d-195C0.svg new file mode 100644 index 0000000..038bbc2 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f50d-195C0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f525-8FE4F.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f525-8FE4F.svg new file mode 100644 index 0000000..e7dee6d --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f525-8FE4F.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f600-F7528.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f600-F7528.svg new file mode 100644 index 0000000..21afce4 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f600-F7528.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f601-4E9BD.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f601-4E9BD.svg new file mode 100644 index 0000000..9b792cb --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f601-4E9BD.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f602-168C5.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f602-168C5.svg new file mode 100644 index 0000000..1ec7937 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f602-168C5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f603-5E531.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f603-5E531.svg new file mode 100644 index 0000000..25d4b96 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f603-5E531.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f604-BF863.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f604-BF863.svg new file mode 100644 index 0000000..99ac39c --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f604-BF863.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f605-42B43.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f605-42B43.svg new file mode 100644 index 0000000..de6eb5d --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f605-42B43.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f606-BE94E.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f606-BE94E.svg new file mode 100644 index 0000000..fed5ff5 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f606-BE94E.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f609-9EC67.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f609-9EC67.svg new file mode 100644 index 0000000..1b7bba0 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f609-9EC67.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f612-136B2.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f612-136B2.svg new file mode 100644 index 0000000..197089f --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f612-136B2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f626-91074.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f626-91074.svg new file mode 100644 index 0000000..683c0d3 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f626-91074.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f62e-FE396.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f62e-FE396.svg new file mode 100644 index 0000000..21fde1f --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f62e-FE396.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f642-83E8A.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f642-83E8A.svg new file mode 100644 index 0000000..ff9f989 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f642-83E8A.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f647-1f3fb-112F3.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f647-1f3fb-112F3.svg new file mode 100644 index 0000000..f16e19b --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f647-1f3fb-112F3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64c-7C820.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64c-7C820.svg new file mode 100644 index 0000000..be95511 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64c-7C820.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64f-1f3fb-984F1.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64f-1f3fb-984F1.svg new file mode 100644 index 0000000..c7b0969 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64f-1f3fb-984F1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64f-1f3fc-34E32.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64f-1f3fc-34E32.svg new file mode 100644 index 0000000..6dcbad5 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64f-1f3fc-34E32.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64f-22B8D.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64f-22B8D.svg new file mode 100644 index 0000000..8b33d80 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f64f-22B8D.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f680-A35CE.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f680-A35CE.svg new file mode 100644 index 0000000..8658d43 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f680-A35CE.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f6a8-A8AB3.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f6a8-A8AB3.svg new file mode 100644 index 0000000..5ed7ec8 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f6a8-A8AB3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f6e1-24B8F.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f6e1-24B8F.svg new file mode 100644 index 0000000..97f6894 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f6e1-24B8F.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f911-F346C.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f911-F346C.svg new file mode 100644 index 0000000..5616de7 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f911-F346C.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f914-15707.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f914-15707.svg new file mode 100644 index 0000000..4e8c4cc --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f914-15707.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f916-AD810.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f916-AD810.svg new file mode 100644 index 0000000..1dbe6d6 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f916-AD810.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f918-D4EDF.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f918-D4EDF.svg new file mode 100644 index 0000000..c3a1063 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f918-D4EDF.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f923-5854E.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f923-5854E.svg new file mode 100644 index 0000000..d0e3c75 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f923-5854E.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f92d-4DD51.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f92d-4DD51.svg new file mode 100644 index 0000000..b79e067 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f92d-4DD51.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f92f-FF4E0.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f92f-FF4E0.svg new file mode 100644 index 0000000..3ac19ed --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f92f-FF4E0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f937-200d-2642-fe0f-7AA71.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f937-200d-2642-fe0f-7AA71.svg new file mode 100644 index 0000000..29d7e1e --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f937-200d-2642-fe0f-7AA71.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f972-F415D.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f972-F415D.svg new file mode 100644 index 0000000..f309c22 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f972-F415D.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f978-72F6F.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f978-72F6F.svg new file mode 100644 index 0000000..6d1e4e1 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f978-72F6F.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f985-86704.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f985-86704.svg new file mode 100644 index 0000000..81b7b3c --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f985-86704.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f996-5EDD1.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f996-5EDD1.svg new file mode 100644 index 0000000..73b0291 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f996-5EDD1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9d0-3E117.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9d0-3E117.svg new file mode 100644 index 0000000..86198f7 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9d0-3E117.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9d1-5BC80.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9d1-5BC80.svg new file mode 100644 index 0000000..3c71659 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9d1-5BC80.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9d9-72E2E.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9d9-72E2E.svg new file mode 100644 index 0000000..5537083 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9d9-72E2E.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9f5-C59BD.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9f5-C59BD.svg new file mode 100644 index 0000000..3210fbe --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1f9f5-C59BD.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1fae1-B19DE.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1fae1-B19DE.svg new file mode 100644 index 0000000..64d58b5 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1fae1-B19DE.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1faf0-A74FC.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1faf0-A74FC.svg new file mode 100644 index 0000000..da013e1 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/1faf0-A74FC.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/232791a8330b25a84f74b93e92b5c66b-65692.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/232791a8330b25a84f74b93e92b5c66b-65692.png new file mode 100644 index 0000000..4000a72 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/232791a8330b25a84f74b93e92b5c66b-65692.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/261d-23B11.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/261d-23B11.svg new file mode 100644 index 0000000..95d8ddd --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/261d-23B11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2696-15F4A.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2696-15F4A.svg new file mode 100644 index 0000000..61af844 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2696-15F4A.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2705-0589F.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2705-0589F.svg new file mode 100644 index 0000000..9817a09 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2705-0589F.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/270b-390BA.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/270b-390BA.svg new file mode 100644 index 0000000..31576f1 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/270b-390BA.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/270c-CF58F.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/270c-CF58F.svg new file mode 100644 index 0000000..730545f --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/270c-CF58F.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2764-A3D25.svg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2764-A3D25.svg new file mode 100644 index 0000000..7eb5c59 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2764-A3D25.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2820bff46dfa778c1fe451b2c14cfd55-B8066.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2820bff46dfa778c1fe451b2c14cfd55-B8066.png new file mode 100644 index 0000000..593fae6 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2820bff46dfa778c1fe451b2c14cfd55-B8066.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2a9faff195fe333526cfe6ae6fce1420-49B98.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2a9faff195fe333526cfe6ae6fce1420-49B98.png new file mode 100644 index 0000000..8904a65 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2a9faff195fe333526cfe6ae6fce1420-49B98.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2b2699f6d9ac3249e20b27eee4a1094c-B4AF0.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2b2699f6d9ac3249e20b27eee4a1094c-B4AF0.png new file mode 100644 index 0000000..1b68305 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2b2699f6d9ac3249e20b27eee4a1094c-B4AF0.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2bc9256840cf583765cbbee210b7c33a-A77F9.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2bc9256840cf583765cbbee210b7c33a-A77F9.png new file mode 100644 index 0000000..0b8f127 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2bc9256840cf583765cbbee210b7c33a-A77F9.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2c1e18acbcb9cdaeabfd7fc6f5090edf-CA387.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2c1e18acbcb9cdaeabfd7fc6f5090edf-CA387.png new file mode 100644 index 0000000..bee332b Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/2c1e18acbcb9cdaeabfd7fc6f5090edf-CA387.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/30efe1cd919bb13e321e625aaebe1765-EF419.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/30efe1cd919bb13e321e625aaebe1765-EF419.png new file mode 100644 index 0000000..56da6f3 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/30efe1cd919bb13e321e625aaebe1765-EF419.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/32affc5ef9bab9ce5fe38a40d210c39b-0C7D2.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/32affc5ef9bab9ce5fe38a40d210c39b-0C7D2.png new file mode 100644 index 0000000..9cc0b27 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/32affc5ef9bab9ce5fe38a40d210c39b-0C7D2.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/33f66f7bab184557cfa2f4e7bf69e71f-F0109.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/33f66f7bab184557cfa2f4e7bf69e71f-F0109.png new file mode 100644 index 0000000..6095105 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/33f66f7bab184557cfa2f4e7bf69e71f-F0109.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3509c87444456234b909af7a35509580-77C1F.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3509c87444456234b909af7a35509580-77C1F.png new file mode 100644 index 0000000..16e1006 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3509c87444456234b909af7a35509580-77C1F.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3852766be61ebe66213121a260d31f36-69384.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3852766be61ebe66213121a260d31f36-69384.png new file mode 100644 index 0000000..cf04b86 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3852766be61ebe66213121a260d31f36-69384.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/394983eda2eb8faf909901fe09d16b4b-BAFA3.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/394983eda2eb8faf909901fe09d16b4b-BAFA3.png new file mode 100644 index 0000000..c0dd298 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/394983eda2eb8faf909901fe09d16b4b-BAFA3.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE new file mode 100644 index 0000000..3afba4f Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3b01c38b7c5b905fd8e8a1d72f7d7492-53427.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3b01c38b7c5b905fd8e8a1d72f7d7492-53427.png new file mode 100644 index 0000000..e60ec54 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3b01c38b7c5b905fd8e8a1d72f7d7492-53427.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3b6ed3f28629984e407926c0bb3e7e57-7CFD1.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3b6ed3f28629984e407926c0bb3e7e57-7CFD1.png new file mode 100644 index 0000000..ffcef46 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/3b6ed3f28629984e407926c0bb3e7e57-7CFD1.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/4-4551A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/4-4551A.png new file mode 100644 index 0000000..50f9aa2 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/4-4551A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/402b68164a51455e395a06ad04fc04b5-D7A38.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/402b68164a51455e395a06ad04fc04b5-D7A38.png new file mode 100644 index 0000000..f1de083 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/402b68164a51455e395a06ad04fc04b5-D7A38.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/40faf496db7b4bbcab37bc04b134567d-EFC50.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/40faf496db7b4bbcab37bc04b134567d-EFC50.png new file mode 100644 index 0000000..5aab99d Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/40faf496db7b4bbcab37bc04b134567d-EFC50.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/43dd9f8f0417e33ee6819ac321769e40-ED5ED.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/43dd9f8f0417e33ee6819ac321769e40-ED5ED.png new file mode 100644 index 0000000..9acddbb Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/43dd9f8f0417e33ee6819ac321769e40-ED5ED.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/45f63d884cbf231e2ca665be01155e18-68113.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/45f63d884cbf231e2ca665be01155e18-68113.png new file mode 100644 index 0000000..aa9b8c8 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/45f63d884cbf231e2ca665be01155e18-68113.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/478b006a313bf3af6361a5e5bd5935c6-5D6A0.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/478b006a313bf3af6361a5e5bd5935c6-5D6A0.png new file mode 100644 index 0000000..f7a8e08 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/478b006a313bf3af6361a5e5bd5935c6-5D6A0.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/492fcf2c1088e22bbbcab07a754eab58-53405.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/492fcf2c1088e22bbbcab07a754eab58-53405.png new file mode 100644 index 0000000..8f33519 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/492fcf2c1088e22bbbcab07a754eab58-53405.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/4de8e7cb6dfbbe8795697f1df8d66439-044AF.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/4de8e7cb6dfbbe8795697f1df8d66439-044AF.png new file mode 100644 index 0000000..ad692b0 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/4de8e7cb6dfbbe8795697f1df8d66439-044AF.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5-E9BDB.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5-E9BDB.png new file mode 100644 index 0000000..4cf7477 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5-E9BDB.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/55b9ac870fd4a1b4fc5a8c0550c27aa4-D1820.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/55b9ac870fd4a1b4fc5a8c0550c27aa4-D1820.png new file mode 100644 index 0000000..01e86e7 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/55b9ac870fd4a1b4fc5a8c0550c27aa4-D1820.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5b71d15a9bcde45fd5520e3fb580eb53-E1A50.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5b71d15a9bcde45fd5520e3fb580eb53-E1A50.png new file mode 100644 index 0000000..d5def50 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5b71d15a9bcde45fd5520e3fb580eb53-E1A50.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5d084bf7a4698ae3113c164cdd53ccbe-F4903.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5d084bf7a4698ae3113c164cdd53ccbe-F4903.png new file mode 100644 index 0000000..3b0c9de Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5d084bf7a4698ae3113c164cdd53ccbe-F4903.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5fd4eaf3a92a63920dfe6c4e8175c1df-7264A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5fd4eaf3a92a63920dfe6c4e8175c1df-7264A.png new file mode 100644 index 0000000..b0a38f6 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/5fd4eaf3a92a63920dfe6c4e8175c1df-7264A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6094e48ab77eb87fae4e3348c0d872b4-34FEF.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6094e48ab77eb87fae4e3348c0d872b4-34FEF.png new file mode 100644 index 0000000..d242aaf Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6094e48ab77eb87fae4e3348c0d872b4-34FEF.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6738f0f683face7b5e6d5289a3fbef10-57324.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6738f0f683face7b5e6d5289a3fbef10-57324.png new file mode 100644 index 0000000..f69dd81 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6738f0f683face7b5e6d5289a3fbef10-57324.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/67594ee4b4d1fc03bca468327a0d145b-BD76A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/67594ee4b4d1fc03bca468327a0d145b-BD76A.png new file mode 100644 index 0000000..7919c67 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/67594ee4b4d1fc03bca468327a0d145b-BD76A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6924db5c7761931c667e13d6d1e139c8-EAA40.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6924db5c7761931c667e13d6d1e139c8-EAA40.png new file mode 100644 index 0000000..c5ff603 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6924db5c7761931c667e13d6d1e139c8-EAA40.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6ff1e65c0976fd9df6010502da72f911-D2FA0.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6ff1e65c0976fd9df6010502da72f911-D2FA0.png new file mode 100644 index 0000000..9565fb0 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/6ff1e65c0976fd9df6010502da72f911-D2FA0.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/701300a5bdd3bf5640bd1370251533e2-0DC47.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/701300a5bdd3bf5640bd1370251533e2-0DC47.png new file mode 100644 index 0000000..af8efb9 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/701300a5bdd3bf5640bd1370251533e2-0DC47.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/7415251213bf5374fb7c8877e2608ab1-D7373.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/7415251213bf5374fb7c8877e2608ab1-D7373.png new file mode 100644 index 0000000..4bf1a07 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/7415251213bf5374fb7c8877e2608ab1-D7373.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/769400b29fb3322511a75a69c3f7f55c-6D1B7.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/769400b29fb3322511a75a69c3f7f55c-6D1B7.png new file mode 100644 index 0000000..5f94d12 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/769400b29fb3322511a75a69c3f7f55c-6D1B7.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/76aebd00517517684d8f213aaaa5b8c8-2EBFA.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/76aebd00517517684d8f213aaaa5b8c8-2EBFA.png new file mode 100644 index 0000000..92512e9 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/76aebd00517517684d8f213aaaa5b8c8-2EBFA.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893827027075142-F23DF.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893827027075142-F23DF.png new file mode 100644 index 0000000..2d33541 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893827027075142-F23DF.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893827089727568-5FD38.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893827089727568-5FD38.png new file mode 100644 index 0000000..9ae447f Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893827089727568-5FD38.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893827315826708-F59C0.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893827315826708-F59C0.png new file mode 100644 index 0000000..c5681f2 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893827315826708-F59C0.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893828280909886-FBF42.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893828280909886-FBF42.png new file mode 100644 index 0000000..3989638 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/851893828280909886-FBF42.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/860bc8415fcb344bebcf89a301158ffd-36A89.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/860bc8415fcb344bebcf89a301158ffd-36A89.png new file mode 100644 index 0000000..0136dc6 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/860bc8415fcb344bebcf89a301158ffd-36A89.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/86405fe46555cfeea65230abea180e3f-B42C2.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/86405fe46555cfeea65230abea180e3f-B42C2.png new file mode 100644 index 0000000..5b1038b Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/86405fe46555cfeea65230abea180e3f-B42C2.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/908bd59da48fa9885524ca92826826b5-CC910.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/908bd59da48fa9885524ca92826826b5-CC910.png new file mode 100644 index 0000000..447680b Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/908bd59da48fa9885524ca92826826b5-CC910.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/910676187288846397-518CD.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/910676187288846397-518CD.png new file mode 100644 index 0000000..92ee940 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/910676187288846397-518CD.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/948b1976345a60e721596cb4f210f95d-3C65F.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/948b1976345a60e721596cb4f210f95d-3C65F.png new file mode 100644 index 0000000..f486fe0 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/948b1976345a60e721596cb4f210f95d-3C65F.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/94fcb7838a04ec855fb2853565f07b3c-02B6F.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/94fcb7838a04ec855fb2853565f07b3c-02B6F.png new file mode 100644 index 0000000..ef69b34 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/94fcb7838a04ec855fb2853565f07b3c-02B6F.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/970d2e2f00cd7ef2134a1a3f21326349-404EA.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/970d2e2f00cd7ef2134a1a3f21326349-404EA.png new file mode 100644 index 0000000..a4ba8af Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/970d2e2f00cd7ef2134a1a3f21326349-404EA.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/9b01adfea5eb85ed7f3fc2c94c3592c8-E96F4.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/9b01adfea5eb85ed7f3fc2c94c3592c8-E96F4.png new file mode 100644 index 0000000..7e70f13 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/9b01adfea5eb85ed7f3fc2c94c3592c8-E96F4.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/9d005f28252054a605d1563bbb94db61-C6F53.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/9d005f28252054a605d1563bbb94db61-C6F53.png new file mode 100644 index 0000000..2acfce6 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/9d005f28252054a605d1563bbb94db61-C6F53.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/BscScan-logo-circle-AC319.jpg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/BscScan-logo-circle-AC319.jpg new file mode 100644 index 0000000..1f6f474 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/BscScan-logo-circle-AC319.jpg differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/Cobbdouglas-40038.jpg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/Cobbdouglas-40038.jpg new file mode 100644 index 0000000..1895796 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/Cobbdouglas-40038.jpg differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/IMG_20231002_120304-93852.jpg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/IMG_20231002_120304-93852.jpg new file mode 100644 index 0000000..c074180 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/IMG_20231002_120304-93852.jpg differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/Screenshot_2023-09-28_at_22.26.17-C2482.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/Screenshot_2023-09-28_at_22.26.17-C2482.png new file mode 100644 index 0000000..94c88f2 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/Screenshot_2023-09-28_at_22.26.17-C2482.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/Screenshot_2023-10-01_at_19.27.05-545B8.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/Screenshot_2023-10-01_at_19.27.05-545B8.png new file mode 100644 index 0000000..37d5698 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/Screenshot_2023-10-01_at_19.27.05-545B8.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a38b83e0450d839f26898a1e46f7b1b3-81553.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a38b83e0450d839f26898a1e46f7b1b3-81553.png new file mode 100644 index 0000000..58de2dd Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a38b83e0450d839f26898a1e46f7b1b3-81553.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a476320e0ef8160f4704597ba8e9b4b8-ECB13.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a476320e0ef8160f4704597ba8e9b4b8-ECB13.png new file mode 100644 index 0000000..6416f4a Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a476320e0ef8160f4704597ba8e9b4b8-ECB13.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a6700d776b9feae9a8825a05eb056151-9CE8A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a6700d776b9feae9a8825a05eb056151-9CE8A.png new file mode 100644 index 0000000..6b695de Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a6700d776b9feae9a8825a05eb056151-9CE8A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a843ca0cb0c92c6fdcc28f6285bdcd6e-A7BB4.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a843ca0cb0c92c6fdcc28f6285bdcd6e-A7BB4.png new file mode 100644 index 0000000..24fcc0c Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a843ca0cb0c92c6fdcc28f6285bdcd6e-A7BB4.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a_45dc7c69bacdf530f8c81a0684987cc2-230BF.gif b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a_45dc7c69bacdf530f8c81a0684987cc2-230BF.gif new file mode 100644 index 0000000..dbcb19e Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/a_45dc7c69bacdf530f8c81a0684987cc2-230BF.gif differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ad7fffe7929e5acf397b9f7739608ac0-2ADC3.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ad7fffe7929e5acf397b9f7739608ac0-2ADC3.png new file mode 100644 index 0000000..239dd4c Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ad7fffe7929e5acf397b9f7739608ac0-2ADC3.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/apple-touch-icon-192x192-86515.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/apple-touch-icon-192x192-86515.png new file mode 100644 index 0000000..c042133 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/apple-touch-icon-192x192-86515.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/apy_vs_xvs-AA706.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/apy_vs_xvs-AA706.png new file mode 100644 index 0000000..560968f Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/apy_vs_xvs-AA706.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/b51a0669633142c62b465965ec454538-2CB29.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/b51a0669633142c62b465965ec454538-2CB29.png new file mode 100644 index 0000000..5315ead Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/b51a0669633142c62b465965ec454538-2CB29.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/bdd37d345b2d35b5513f03a81143aa4a-51209.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/bdd37d345b2d35b5513f03a81143aa4a-51209.png new file mode 100644 index 0000000..0c754de Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/bdd37d345b2d35b5513f03a81143aa4a-51209.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/bfd90c859d98edf7a59718a3814c7b76-2D5DB.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/bfd90c859d98edf7a59718a3814c7b76-2D5DB.png new file mode 100644 index 0000000..33a4b65 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/bfd90c859d98edf7a59718a3814c7b76-2D5DB.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c4-og-banner-5486A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c4-og-banner-5486A.png new file mode 100644 index 0000000..c685054 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c4-og-banner-5486A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c4fbf35c3e69a04ebc3a8a32a0bd3514-A8D31.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c4fbf35c3e69a04ebc3a8a32a0bd3514-A8D31.png new file mode 100644 index 0000000..ba35f87 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c4fbf35c3e69a04ebc3a8a32a0bd3514-A8D31.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c6b85a4a6ca07ab15a30a24f570be5b8-ED351.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c6b85a4a6ca07ab15a30a24f570be5b8-ED351.png new file mode 100644 index 0000000..ce48688 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c6b85a4a6ca07ab15a30a24f570be5b8-ED351.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c894b6c4af55a46fb2d1aef0cd4cf6b0-27286.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c894b6c4af55a46fb2d1aef0cd4cf6b0-27286.png new file mode 100644 index 0000000..7060f41 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/c894b6c4af55a46fb2d1aef0cd4cf6b0-27286.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/card-1C40E.jpg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/card-1C40E.jpg new file mode 100644 index 0000000..51eb134 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/card-1C40E.jpg differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/cd830d98142183666c0a4f5a46540368-30316.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/cd830d98142183666c0a4f5a46540368-30316.png new file mode 100644 index 0000000..e8975d2 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/cd830d98142183666c0a4f5a46540368-30316.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/cf5ff95c34041d7d559e8ba777b048e1-119CB.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/cf5ff95c34041d7d559e8ba777b048e1-119CB.png new file mode 100644 index 0000000..284e893 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/cf5ff95c34041d7d559e8ba777b048e1-119CB.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/d352b5d64239648acbeb7b6f310df0b8-E875A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/d352b5d64239648acbeb7b6f310df0b8-E875A.png new file mode 100644 index 0000000..01ef94b Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/d352b5d64239648acbeb7b6f310df0b8-E875A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/d5a5211a980b21f9a45f9588e01be6b6-B0E43.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/d5a5211a980b21f9a45f9588e01be6b6-B0E43.png new file mode 100644 index 0000000..85a004e Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/d5a5211a980b21f9a45f9588e01be6b6-B0E43.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/d9fa0ae50d731854d342f81d679964af-D6B3D.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/d9fa0ae50d731854d342f81d679964af-D6B3D.png new file mode 100644 index 0000000..0dfd0c8 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/d9fa0ae50d731854d342f81d679964af-D6B3D.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/e730c8116376f2c15513de956ddb5a90-CF1A5.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/e730c8116376f2c15513de956ddb5a90-CF1A5.png new file mode 100644 index 0000000..fe0a7c7 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/e730c8116376f2c15513de956ddb5a90-CF1A5.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/e780672df5ac1f1a85dc2e2ef26354f3-7EF05.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/e780672df5ac1f1a85dc2e2ef26354f3-7EF05.png new file mode 100644 index 0000000..3157da6 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/e780672df5ac1f1a85dc2e2ef26354f3-7EF05.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/e8e42b0753ed4170607ecff76b81d17e-24F0B.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/e8e42b0753ed4170607ecff76b81d17e-24F0B.png new file mode 100644 index 0000000..370ccb4 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/e8e42b0753ed4170607ecff76b81d17e-24F0B.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ec742982ddb0e7133921152680490d4c-9F0F8.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ec742982ddb0e7133921152680490d4c-9F0F8.png new file mode 100644 index 0000000..9d32a67 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ec742982ddb0e7133921152680490d4c-9F0F8.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ed4484ef66c898526d51a3b65936c2ff-6B4AE.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ed4484ef66c898526d51a3b65936c2ff-6B4AE.png new file mode 100644 index 0000000..f00ef31 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ed4484ef66c898526d51a3b65936c2ff-6B4AE.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ee1c753ddfb419972bcb0a0aeedc6918-C0DC2.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ee1c753ddfb419972bcb0a0aeedc6918-C0DC2.png new file mode 100644 index 0000000..0276b4c Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ee1c753ddfb419972bcb0a0aeedc6918-C0DC2.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/f6dfa2dbd72aaf1bfea492e55a441882-3A731.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/f6dfa2dbd72aaf1bfea492e55a441882-3A731.png new file mode 100644 index 0000000..f5d836f Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/f6dfa2dbd72aaf1bfea492e55a441882-3A731.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/f91c0ad3bd4337a3edab4633126f6652-94679.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/f91c0ad3bd4337a3edab4633126f6652-94679.png new file mode 100644 index 0000000..5ba191d Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/f91c0ad3bd4337a3edab4633126f6652-94679.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/fd6d3757068a5df51317fc7c77a1eb8a-EDE91.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/fd6d3757068a5df51317fc7c77a1eb8a-EDE91.png new file mode 100644 index 0000000..37fdf0b Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/fd6d3757068a5df51317fc7c77a1eb8a-EDE91.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/foundry-playground-for-venus-audit-6AF58 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/foundry-playground-for-venus-audit-6AF58 new file mode 100644 index 0000000..e945ebf Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/foundry-playground-for-venus-audit-6AF58 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-400-E988B.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-400-E988B.woff2 new file mode 100644 index 0000000..e2aa30f Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-400-E988B.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-500-0777F.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-500-0777F.woff2 new file mode 100644 index 0000000..f213fa4 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-500-0777F.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-600-CB411.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-600-CB411.woff2 new file mode 100644 index 0000000..634a17b Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-600-CB411.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-700-891AC.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-700-891AC.woff2 new file mode 100644 index 0000000..f13964d Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-700-891AC.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-800-D36B0.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-800-D36B0.woff2 new file mode 100644 index 0000000..138a612 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-italic-800-D36B0.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-400-1456D.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-400-1456D.woff2 new file mode 100644 index 0000000..b6e098d Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-400-1456D.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-500-89CE5.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-500-89CE5.woff2 new file mode 100644 index 0000000..8bfb988 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-500-89CE5.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-600-C1EA8.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-600-C1EA8.woff2 new file mode 100644 index 0000000..9e83f16 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-600-C1EA8.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-700-1949A.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-700-1949A.woff2 new file mode 100644 index 0000000..4adbacc Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-700-1949A.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-800-58487.woff2 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-800-58487.woff2 new file mode 100644 index 0000000..8f520ce Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/ggsans-normal-800-58487.woff2 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/gist-og-image-14833.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/gist-og-image-14833.png new file mode 100644 index 0000000..615ce58 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/gist-og-image-14833.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/highlight.min-D8D27.js b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/highlight.min-D8D27.js new file mode 100644 index 0000000..1f06ffc --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/highlight.min-D8D27.js @@ -0,0 +1,2 @@ +/*! highlight.js v9.15.6 | BSD3 License | git.io/hljslicense */ +!function(e){var t="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):t&&(t.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return t.hljs}))}(function(n){var b=[],o=Object.keys,h={},p={},t=/^(no-?highlight|plain|text)$/i,m=/\blang(?:uage)?-([\w-]+)\b/i,r=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,a={case_insensitive:"cI",lexemes:"l",contains:"c",keywords:"k",subLanguage:"sL",className:"cN",begin:"b",beginKeywords:"bK",end:"e",endsWithParent:"eW",illegal:"i",excludeBegin:"eB",excludeEnd:"eE",returnBegin:"rB",returnEnd:"rE",relevance:"r",variants:"v",IDENT_RE:"IR",UNDERSCORE_IDENT_RE:"UIR",NUMBER_RE:"NR",C_NUMBER_RE:"CNR",BINARY_NUMBER_RE:"BNR",RE_STARTERS_RE:"RSR",BACKSLASH_ESCAPE:"BE",APOS_STRING_MODE:"ASM",QUOTE_STRING_MODE:"QSM",PHRASAL_WORDS_MODE:"PWM",C_LINE_COMMENT_MODE:"CLCM",C_BLOCK_COMMENT_MODE:"CBCM",HASH_COMMENT_MODE:"HCM",NUMBER_MODE:"NM",C_NUMBER_MODE:"CNM",BINARY_NUMBER_MODE:"BNM",CSS_NUMBER_MODE:"CSSNM",REGEXP_MODE:"RM",TITLE_MODE:"TM",UNDERSCORE_TITLE_MODE:"UTM",COMMENT:"C",beginRe:"bR",endRe:"eR",illegalRe:"iR",lexemesRe:"lR",terminators:"t",terminator_end:"tE"},N="",v={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};function y(e){return e.replace(/&/g,"&").replace(//g,">")}function f(e){return e.nodeName.toLowerCase()}function w(e,t){var r=e&&e.exec(t);return r&&0===r.index}function g(e){return t.test(e)}function u(e){var t,r={},a=Array.prototype.slice.call(arguments,1);for(t in e)r[t]=e[t];return a.forEach(function(e){for(t in e)r[t]=e[t]}),r}function _(e){var n=[];return function e(t,r){for(var a=t.firstChild;a;a=a.nextSibling)3===a.nodeType?r+=a.nodeValue.length:1===a.nodeType&&(n.push({event:"start",offset:r,node:a}),r=e(a,r),f(a).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:a}));return r}(e,0),n}function i(e){if(a&&!e.langApiRestored){for(var t in e.langApiRestored=!0,a)e[t]&&(e[a[t]]=e[t]);(e.c||[]).concat(e.v||[]).forEach(i)}}function E(s){function l(e){return e&&e.source||e}function c(e,t){return new RegExp(l(e),"m"+(s.cI?"i":"")+(t?"g":""))}!function t(r,e){if(!r.compiled){if(r.compiled=!0,r.k=r.k||r.bK,r.k){var a={},n=function(r,e){s.cI&&(e=e.toLowerCase()),e.split(" ").forEach(function(e){var t=e.split("|");a[t[0]]=[r,t[1]?Number(t[1]):1]})};"string"==typeof r.k?n("keyword",r.k):o(r.k).forEach(function(e){n(e,r.k[e])}),r.k=a}r.lR=c(r.l||/\w+/,!0),e&&(r.bK&&(r.b="\\b("+r.bK.split(" ").join("|")+")\\b"),r.b||(r.b=/\B|\b/),r.bR=c(r.b),r.endSameAsBegin&&(r.e=r.b),r.e||r.eW||(r.e=/\B|\b/),r.e&&(r.eR=c(r.e)),r.tE=l(r.e)||"",r.eW&&e.tE&&(r.tE+=(r.e?"|":"")+e.tE)),r.i&&(r.iR=c(r.i)),null==r.r&&(r.r=1),r.c||(r.c=[]),r.c=Array.prototype.concat.apply([],r.c.map(function(e){return(t="self"===e?r:e).v&&!t.cached_variants&&(t.cached_variants=t.v.map(function(e){return u(t,{v:null},e)})),t.cached_variants||t.eW&&[u(t)]||[t];var t})),r.c.forEach(function(e){t(e,r)}),r.starts&&t(r.starts,e);var i=r.c.map(function(e){return e.bK?"\\.?(?:"+e.b+")\\.?":e.b}).concat([r.tE,r.i]).map(l).filter(Boolean);r.t=i.length?c(function(e,t){for(var r=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,a=0,n="",i=0;i')+t+(r?"":N)}function l(){p+=null!=b.sL?function(){var e="string"==typeof b.sL;if(e&&!h[b.sL])return y(m);var t=e?k(b.sL,m,!0,i[b.sL]):x(m,b.sL.length?b.sL:void 0);return 0")+'"');return m+=t,t.length||1}var d=C(e);if(!d)throw new Error('Unknown language: "'+e+'"');E(d);var n,b=r||d,i={},p="";for(n=b;n!==d;n=n.parent)n.cN&&(p=o(n.cN,"",!0)+p);var m="",f=0;try{for(var s,g,_=0;b.t.lastIndex=_,s=b.t.exec(t);)g=a(t.substring(_,s.index),s[0]),_=s.index+g;for(a(t.substr(_)),n=b;n.parent;n=n.parent)n.cN&&(p+=N);return{r:f,value:p,language:e,top:b}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{r:0,value:y(t)};throw e}}function x(r,e){e=e||v.languages||o(h);var a={r:0,value:y(r)},n=a;return e.filter(C).filter(l).forEach(function(e){var t=k(e,r,!1);t.language=e,t.r>n.r&&(n=t),t.r>a.r&&(n=a,a=t)}),n.language&&(a.second_best=n),a}function M(e){return v.tabReplace||v.useBR?e.replace(r,function(e,t){return v.useBR&&"\n"===e?"
":v.tabReplace?t.replace(/\t/g,v.tabReplace):""}):e}function s(e){var t,r,a,n,i,s,c,o,l,u,d=function(e){var t,r,a,n,i=e.className+" ";if(i+=e.parentNode?e.parentNode.className:"",r=m.exec(i))return C(r[1])?r[1]:"no-highlight";for(t=0,a=(i=i.split(/\s+/)).length;t/g,"\n"):t=e,i=t.textContent,a=d?k(d,i,!0):x(i),(r=_(t)).length&&((n=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=a.value,a.value=function(e,t,r){var a=0,n="",i=[];function s(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function o(e){n+=""}function l(e){("start"===e.event?c:o)(e.node)}for(;e.length||t.length;){var u=s();if(n+=y(r.substring(a,u[0].offset)),a=u[0].offset,u===e){for(i.reverse().forEach(o);l(u.splice(0,1)[0]),(u=s())===e&&u.length&&u[0].offset===a;);i.reverse().forEach(c)}else"start"===u[0].event?i.push(u[0].node):i.pop(),l(u.splice(0,1)[0])}return n+y(r.substr(a))}(r,_(n),i)),a.value=M(a.value),e.innerHTML=a.value,e.className=(s=e.className,c=d,o=a.language,l=c?p[c]:o,u=[s.trim()],s.match(/\bhljs\b/)||u.push("hljs"),-1===s.indexOf(l)&&u.push(l),u.join(" ").trim()),e.result={language:a.language,re:a.r},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.r}))}function c(){if(!c.called){c.called=!0;var e=document.querySelectorAll("pre code");b.forEach.call(e,s)}}function C(e){return e=(e||"").toLowerCase(),h[e]||h[p[e]]}function l(e){var t=C(e);return t&&!t.disableAutodetect}return n.highlight=k,n.highlightAuto=x,n.fixMarkup=M,n.highlightBlock=s,n.configure=function(e){v=u(v,e)},n.initHighlighting=c,n.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",c,!1),addEventListener("load",c,!1)},n.registerLanguage=function(t,e){var r=h[t]=e(n);i(r),r.aliases&&r.aliases.forEach(function(e){p[e]=t})},n.listLanguages=function(){return o(h)},n.getLanguage=C,n.autoDetection=l,n.inherit=u,n.IR=n.IDENT_RE="[a-zA-Z]\\w*",n.UIR=n.UNDERSCORE_IDENT_RE="[a-zA-Z_]\\w*",n.NR=n.NUMBER_RE="\\b\\d+(\\.\\d+)?",n.CNR=n.C_NUMBER_RE="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",n.BNR=n.BINARY_NUMBER_RE="\\b(0b[01]+)",n.RSR=n.RE_STARTERS_RE="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",n.BE=n.BACKSLASH_ESCAPE={b:"\\\\[\\s\\S]",r:0},n.ASM=n.APOS_STRING_MODE={cN:"string",b:"'",e:"'",i:"\\n",c:[n.BE]},n.QSM=n.QUOTE_STRING_MODE={cN:"string",b:'"',e:'"',i:"\\n",c:[n.BE]},n.PWM=n.PHRASAL_WORDS_MODE={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},n.C=n.COMMENT=function(e,t,r){var a=n.inherit({cN:"comment",b:e,e:t,c:[]},r||{});return a.c.push(n.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},n.CLCM=n.C_LINE_COMMENT_MODE=n.C("//","$"),n.CBCM=n.C_BLOCK_COMMENT_MODE=n.C("/\\*","\\*/"),n.HCM=n.HASH_COMMENT_MODE=n.C("#","$"),n.NM=n.NUMBER_MODE={cN:"number",b:n.NR,r:0},n.CNM=n.C_NUMBER_MODE={cN:"number",b:n.CNR,r:0},n.BNM=n.BINARY_NUMBER_MODE={cN:"number",b:n.BNR,r:0},n.CSSNM=n.CSS_NUMBER_MODE={cN:"number",b:n.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},n.RM=n.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[n.BE,{b:/\[/,e:/\]/,r:0,c:[n.BE]}]},n.TM=n.TITLE_MODE={cN:"title",b:n.IR,r:0},n.UTM=n.UNDERSCORE_TITLE_MODE={cN:"title",b:n.UIR,r:0},n.METHOD_GUARD={b:"\\.\\s*"+n.UIR,r:0},n.registerLanguage("apache",function(e){var t={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",t]},t,e.QSM]}}],i:/\S/}}),n.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,r,{cN:"string",b:/'/,e:/'/},t]}}),n.registerLanguage("coffeescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},r="[A-Za-z$_][0-9A-Za-z$_]*",a={cN:"subst",b:/#\{/,e:/}/,k:t},n=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,a]},{b:/"/,e:/"/,c:[e.BE,a]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[a,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+r},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];a.c=n;var i=e.inherit(e.TM,{b:r}),s="(\\(.*\\))?\\s*\\B[-=]>",c={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(n)}]};return{aliases:["coffee","cson","iced"],k:t,i:/\/\*/,c:n.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+r+"\\s*=\\s*"+s,e:"[-=]>",rB:!0,c:[i,c]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:s,e:"[-=]>",rB:!0,c:[c]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{b:r+":",e:":",rB:!0,rE:!0,r:0}])}}),n.registerLanguage("cpp",function(e){var t={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[e.BE]},{b:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/},{b:"'\\\\?.",e:"'",i:"."}]},a={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},n={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},e.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},e.CLCM,e.CBCM]},i=e.IR+"\\s*\\(",s={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},c=[t,e.CLCM,e.CBCM,a,r];return{aliases:["c","cc","h","c++","h++","hpp"],k:s,i:"",k:s,c:["self",t]},{b:e.IR+"::",k:s},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:s,c:c.concat([{b:/\(/,e:/\)/,k:s,c:c.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+e.IR+"[\\*&\\s]+)+"+i,rB:!0,e:/[{;=]/,eE:!0,k:s,i:/[^\w\s\*&]/,c:[{b:i,rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:s,r:0,c:[e.CLCM,e.CBCM,r,a,t,{b:/\(/,e:/\)/,k:s,r:0,c:["self",e.CLCM,e.CBCM,r,a,t]}]},e.CLCM,e.CBCM,n]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},e.TM]}]),exports:{preprocessor:n,strings:r,k:s}}}),n.registerLanguage("cs",function(e){var t={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},r={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},a={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},n=e.inherit(a,{i:/\n/}),i={cN:"subst",b:"{",e:"}",k:t},s=e.inherit(i,{i:/\n/}),c={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,s]},o={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},i]},l=e.inherit(o,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},s]});i.c=[o,c,a,e.ASM,e.QSM,r,e.CBCM],s.c=[l,c,n,e.ASM,e.QSM,r,e.inherit(e.CBCM,{i:/\n/})];var u={v:[o,c,a,e.ASM,e.QSM]},d=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp","c#"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:"\x3c!--|--\x3e"},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},u,r,{bK:"class interface",e:/[{;=]/,i:/[^\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+d+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/\s*[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[u,r,e.CBCM]},e.CLCM,e.CBCM]}]}}),n.registerLanguage("css",function(e){var t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:"[a-zA-Z-][a-zA-Z0-9_-]*",r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}}),n.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}}),n.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}}),n.registerLanguage("ini",function(e){var t={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_\.-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_\.-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},t,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}}),n.registerLanguage("java",function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",r={cN:"number",b:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",r:0};return{aliases:["jsp"],k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},r,{cN:"meta",b:"@[A-Za-z]+"}]}}),n.registerLanguage("javascript",function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",r={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:r,c:[]},i={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,i,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:r,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,i,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:t+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:t,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+t+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:t},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:s}]}]},{b://,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor get set",e:/\{/,eE:!0}],i:/#(?!!)/}}),n.registerLanguage("json",function(e){var t={literal:"true false null"},r=[e.QSM,e.CNM],a={e:",",eW:!0,eE:!0,c:r,k:t},n={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(a,{b:/:/})],i:"\\S"},i={b:"\\[",e:"\\]",c:[e.inherit(a)],i:"\\S"};return r.splice(r.length,0,n,i),{c:r,k:t,i:"\\S"}}),n.registerLanguage("makefile",function(e){var t={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("\x3c!--","--\x3e",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"meta",b:/<\?xml/,e:/\?>/,r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0},{b:'b"',e:'"',skip:!0},{b:"b'",e:"'",skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[t],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[t],starts:{e:"<\/script>",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}}),n.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}}),n.registerLanguage("nginx",function(e){var t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},r={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:r}],r:0}],i:"[^\\s\\}]"}}),n.registerLanguage("objectivec",function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,r="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:{keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},l:t,i:""}]}]},{cN:"class",b:"("+r.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:r,l:t,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}}),n.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},a={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],s=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),a,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=s,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:a.c=s}}),n.registerLanguage("php",function(e){var t={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},r={cN:"meta",b:/<\?(php)?|\?>/},a={cN:"string",c:[e.BE,r],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php","php3","php4","php5","php6","php7"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[r]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},r,{cN:"keyword",b:/\$this\b/},t,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,a,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},a,n]}}),n.registerLanguage("properties",function(e){var t="[ \\t\\f]*",r="("+t+"[:=]"+t+"|[ \\t\\f]+)",a="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",n="([^\\\\:= \\t\\f\\n]|\\\\.)+",i={e:r,r:0,starts:{cN:"string",e:/$/,r:0,c:[{b:"\\\\\\n"}]}};return{cI:!0,i:/\S/,c:[e.C("^\\s*[!#]","$"),{b:a+r,rB:!0,c:[{cN:"attr",b:a,endsParent:!0,r:0}],starts:i},{b:n+r,rB:!0,r:0,c:[{cN:"meta",b:n,endsParent:!0,r:0}],starts:i},{cN:"attr",r:0,b:n+t+"$"}]}}),n.registerLanguage("python",function(e){var t={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10",built_in:"Ellipsis NotImplemented",literal:"False None True"},r={cN:"meta",b:/^(>>>|\.\.\.) /},a={cN:"subst",b:/\{/,e:/\}/,k:t,i:/#/},n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,r],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,r,a]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,r,a]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,a]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,a]},e.ASM,e.QSM]},i={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},s={cN:"params",b:/\(/,e:/\)/,c:["self",r,i,n]};return a.c=[n,i,r],{aliases:["py","gyp","ipython"],k:t,i:/(<\/|->|\?)|=>/,c:[r,i,n,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,s,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}}),n.registerLanguage("ruby",function(e){var t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},a={cN:"doctag",b:"@[A-Za-z]+"},n={b:"#<",e:">"},i=[e.C("#","$",{c:[a]}),e.C("^\\=begin","^\\=end",{c:[a],r:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:r},c={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},o={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},l=[c,n,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(i)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:t}),o].concat(i)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[c,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[n,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(i),r:0}].concat(i);s.c=l;var u=[{b:/^\s*=>/,starts:{e:"$",c:o.c=l}},{cN:"meta",b:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{e:"$",c:l}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:i.concat(u).concat(l)}}),n.registerLanguage("shell",function(e){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}}),n.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}}),n}); \ No newline at end of file diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-5A77D.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-5A77D.png new file mode 100644 index 0000000..fe83301 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-5A77D.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-8FC4A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-8FC4A.png new file mode 100644 index 0000000..6e70a54 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-8FC4A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-9FBAD.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-9FBAD.png new file mode 100644 index 0000000..9c3f68a Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-9FBAD.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-A17AD.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-A17AD.png new file mode 100644 index 0000000..454eb33 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-A17AD.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-AFFBC.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-AFFBC.png new file mode 100644 index 0000000..15c5fd3 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-AFFBC.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-CCDE4.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-CCDE4.png new file mode 100644 index 0000000..a996bc5 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/image-CCDE4.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/lottie.min-99657.js b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/lottie.min-99657.js new file mode 100644 index 0000000..086aa59 --- /dev/null +++ b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].html_Files/lottie.min-99657.js @@ -0,0 +1,15 @@ +(typeof navigator !== "undefined") && (function(root, factory) { + if (typeof define === "function" && define.amd) { + define(function() { + return factory(root); + }); + } else if (typeof module === "object" && module.exports) { + module.exports = factory(root); + } else { + root.lottie = factory(root); + root.bodymovin = root.lottie; + } +}((window || {}), function(window) { + "use strict";var svgNS="http://www.w3.org/2000/svg",locationHref="",initialDefaultFrame=-999999,_useWebWorker=!1,subframeEnabled=!0,idPrefix="",expressionsPlugin,isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),cachedColors={},bmRnd,bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};function ProjectInterface(){return{}}!function(){var t,e=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],r=e.length;for(t=0;t>>=1;return(t+r)/e};return n.int32=function(){return 0|a.g(4)},n.quick=function(){return a.g(4)/4294967296},n.double=n,P(E(a.S),o),(e.pass||r||function(t,e,r,i){return i&&(i.S&&b(i,a),t.state=function(){return b(a,{})}),r?(h[c]=t,e):t})(n,s,"global"in e?e.global:this==h,e.state)},P(h.random(),o)}([],BMMath);var BezierFactory=function(){var t={getBezierEasing:function(t,e,r,i,s){var a=s||("bez_"+t+"_"+e+"_"+r+"_"+i).replace(/\./g,"p");if(o[a])return o[a];var n=new h([t,e,r,i]);return o[a]=n}},o={};var l=11,p=1/(l-1),e="function"==typeof Float32Array;function i(t,e){return 1-3*e+3*t}function s(t,e){return 3*e-6*t}function a(t){return 3*t}function m(t,e,r){return((i(e,r)*t+s(e,r))*t+a(e))*t}function f(t,e,r){return 3*i(e,r)*t*t+2*s(e,r)*t+a(e)}function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Array(l),this._precomputed=!1,this.get=this.get.bind(this)}return h.prototype={get:function(t){var e=this._p[0],r=this._p[1],i=this._p[2],s=this._p[3];return this._precomputed||this._precompute(),e===r&&i===s?t:0===t?0:1===t?1:m(this._getTForX(t),r,s)},_precompute:function(){var t=this._p[0],e=this._p[1],r=this._p[2],i=this._p[3];this._precomputed=!0,t===e&&r===i||this._calcSampleValues()},_calcSampleValues:function(){for(var t=this._p[0],e=this._p[2],r=0;rn?-1:1,l=!0;l;)if(i[a]<=n&&i[a+1]>n?(o=(n-i[a])/(i[a+1]-i[a]),l=!1):a+=h,a<0||s-1<=a){if(a===s-1)return r[a];l=!1}return r[a]+(r[a+1]-r[a])*o}var F=createTypedArray("float32",8);return{getSegmentsLength:function(t){var e,r=segmentsLengthPool.newElement(),i=t.c,s=t.v,a=t.o,n=t.i,o=t._length,h=r.lengths,l=0;for(e=0;er[0]||!(r[0]>t[0])&&(t[1]>r[1]||!(r[1]>t[1])&&(t[2]>r[2]||!(r[2]>t[2])&&null))}var h,e=function(){var i=[4,4,14];function s(t){var e,r,i,s=t.length;for(e=0;e=a.t-i){s.h&&(s=a),c=0;break}if(a.t-i>t){c=d;break}d=r&&r<=t||this._caching.lastFrame=t&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var i=this.interpolateValue(t,this._caching);this.pv=i}return this._caching.lastFrame=t,this.pv}function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e-5=this.p.keyframes[this.p.keyframes.length-1].t?(r=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/e,0),this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/e,0)):(r=this.p.pv,this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/e,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){r=[],i=[];var s=this.px,a=this.py;s._caching.lastFrame+s.offsetTime<=s.keyframes[0].t?(r[0]=s.getValueAtTime((s.keyframes[0].t+.01)/e,0),r[1]=a.getValueAtTime((a.keyframes[0].t+.01)/e,0),i[0]=s.getValueAtTime(s.keyframes[0].t/e,0),i[1]=a.getValueAtTime(a.keyframes[0].t/e,0)):s._caching.lastFrame+s.offsetTime>=s.keyframes[s.keyframes.length-1].t?(r[0]=s.getValueAtTime(s.keyframes[s.keyframes.length-1].t/e,0),r[1]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/e,0),i[0]=s.getValueAtTime((s.keyframes[s.keyframes.length-1].t-.01)/e,0),i[1]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/e,0)):(r=[s.pv,a.pv],i[0]=s.getValueAtTime((s._caching.lastFrame+s.offsetTime-.01)/e,s.offsetTime),i[1]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/e,a.offsetTime))}else r=i=n;this.v.rotate(-Math.atan2(r[1]-i[1],r[0]-i[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(!this.a.k&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],i),i.prototype.addDynamicProperty=function(t){this._addDynamicProperty(t),this.elem.addDynamicProperty(t),this._isDirty=!0},i.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(t,e,r){return new i(t,e,r)}}}();function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(t,e){this.c=t,this.setLength(e);for(var r=0;r=this._maxLength&&this.doubleArrayLength(),r){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[]}(!a[i]||a[i]&&!s)&&(a[i]=pointPool.newElement()),a[i][0]=t,a[i][1]=e},ShapePath.prototype.setTripleAt=function(t,e,r,i,s,a,n,o){this.setXYAt(t,e,"v",n,o),this.setXYAt(r,i,"o",n,o),this.setXYAt(s,a,"i",n,o)},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,r=this.o,i=this.i,s=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],i[0][0],i[0][1],r[0][0],r[0][1],0,!1),s=1);var a,n=this._length-1,o=this._length;for(a=s;a=c[c.length-1].t-this.offsetTime)i=c[c.length-1].s?c[c.length-1].s[0]:c[c.length-2].e[0],a=!0;else{for(var d,u,y,g=f,v=c.length-1,b=!0;b&&(d=c[g],!((u=c[g+1]).t-this.offsetTime>t));)g=u.t-this.offsetTime)p=1;else if(ti+r))p=o.s*s<=i?0:(o.s*s-i)/r,m=o.e*s>=i+r?1:(o.e*s-i)/r,h.push([p,m])}return h.length||h.push([0,0]),h},TrimModifier.prototype.releasePathsData=function(t){var e,r=t.length;for(e=0;ee.e){r.c=!1;break}e.s<=d&&e.e>=d+n.addedLength?(this.addSegment(f[i].v[s-1],f[i].o[s-1],f[i].i[s],f[i].v[s],r,o,y),y=!1):(l=bez.getNewSegment(f[i].v[s-1],f[i].v[s],f[i].o[s-1],f[i].i[s],(e.s-d)/n.addedLength,(e.e-d)/n.addedLength,h[s-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1),d+=n.addedLength,o+=1}if(f[i].c&&h.length){if(n=h[s-1],d<=e.e){var g=h[s-1].addedLength;e.s<=d&&e.e>=d+g?(this.addSegment(f[i].v[s-1],f[i].o[s-1],f[i].i[0],f[i].v[0],r,o,y),y=!1):(l=bez.getNewSegment(f[i].v[s-1],f[i].v[0],f[i].o[s-1],f[i].i[0],(e.s-d)/g,(e.e-d)/g,h[s-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1)}else r.c=!1;d+=n.addedLength,o+=1}if(r._length&&(r.setXYAt(r.v[p][0],r.v[p][1],"i",p),r.setXYAt(r.v[r._length-1][0],r.v[r._length-1][1],"o",r._length-1)),d>e.e)break;i=d.length&&(m=0,d=u[f+=1]?u[f].points:P.v.c?u[f=m=0].points:(l-=h.partialLength,null)),d&&(c=h,y=(h=d[m]).partialLength));L=T[s].an/2-T[s].add,C.translate(-L,0,0)}else L=T[s].an/2-T[s].add,C.translate(-L,0,0),C.translate(-E[0]*T[s].an*.005,-E[1]*R*.01,0);for(F=0;Fe);)r+=1;return this.keysIndex!==r&&(this.keysIndex=r),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e,r,i=[],s=0,a=t.length,n=!1;sthis.minimumFontSize&&k=g(o)&&(n=u(0,y(t-o<0?y(h,1)-(o-t):h-t,1))),a(n));if(100!==this.sm.v){var c=.01*this.sm.v;0===c&&(c=1e-8);var d=.5-.5*c;nt-this.layers[e].st&&this.buildItem(e),this.completeLayers=!!this.elements[e]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t);default:return this.createNull(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t=t)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRenderer.prototype.createThreeDContainer=function(t,e){var r,i,s=createTag("div");styleDiv(s);var a=createTag("div");if(styleDiv(a),"3d"===e){(r=s.style).width=this.globalData.compSize.w+"px",r.height=this.globalData.compSize.h+"px";var n="50% 50%";r.webkitTransformOrigin=n,r.mozTransformOrigin=n,r.transformOrigin=n;var o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(i=a.style).transform=o,i.webkitTransform=o}s.appendChild(a);var h={container:a,perspectiveElem:s,startPos:t,endPos:t,type:e};return this.threeDElements.push(h),h},HybridRenderer.prototype.build3dContainers=function(){var t,e,r=this.layers.length,i="";for(t=0;tt?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t=t.x+t.width&&this.currentBBox.height+this.currentBBox.y>=t.y+t.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var t=this.tempBoundingBox,e=999999;if(t.x=e,t.xMax=-e,t.y=e,t.yMax=-e,this.calculateBoundingBox(this.itemsData,t),t.width=t.xMaxthis.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e,r,i=this.animationData.layers,s=i.length,a=t.layers,n=a.length;for(r=0;rthis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(t){this.triggerRenderFrameError(t)}},AnimationItem.prototype.play=function(t){t&&this.name!==t||!0===this.isPaused&&(this.isPaused=!1,this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(t){t&&this.name!==t||!1===this.isPaused&&(this.isPaused=!0,this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(t){for(var e,r=0;r=this.totalFrames-1&&0=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(r=!0,e=this.totalFrames-1):e<0?this.checkSegments(e%this.totalFrames)||(!this.loop||this.playCount--<=0&&!0!==this.loop?(r=!0,e=0):(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0)):this.setCurrentRawFrameValue(e),r&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(t,e){var r=-1;this.isPaused&&(this.currentRawFrame+this.firstFramee&&(r=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,-1!==r&&this.goToAndStop(r,!0)},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),"object"==typeof t[0]){var r,i=t.length;for(r=0;rdata.k[e].t&&tdata.k[e+1].t-t?(r=e+2,data.k[e+1].t):(r=e+1,data.k[e].t);break}}-1===r&&(r=e+1,i=data.k[e].t)}else i=r=0;var a={};return a.index=r,a.time=i/elem.comp.globalData.frameRate,a}function key(t){var e,r,i;if(!data.k.length||"number"==typeof data.k[0])throw new Error("The property has no keyframe at index "+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var s=Object.prototype.hasOwnProperty.call(data.k[t],"s")?data.k[t].s:data.k[t-1].e;for(i=s.length,r=0;rl.length-1)&&(e=l.length-1),i=p-(s=l[l.length-1-e].t)),"pingpong"===t){if(Math.floor((h-s)/i)%2!=0)return this.getValueAtTime((i-(h-s)%i+s)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var m=this.getValueAtTime(s/this.comp.globalData.frameRate,0),f=this.getValueAtTime(p/this.comp.globalData.frameRate,0),c=this.getValueAtTime(((h-s)%i+s)/this.comp.globalData.frameRate,0),d=Math.floor((h-s)/i);if(this.pv.length){for(n=(o=new Array(m.length)).length,a=0;al.length-1)&&(e=l.length-1),i=(s=l[e].t)-p),"pingpong"===t){if(Math.floor((p-h)/i)%2==0)return this.getValueAtTime(((p-h)%i+p)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var m=this.getValueAtTime(p/this.comp.globalData.frameRate,0),f=this.getValueAtTime(s/this.comp.globalData.frameRate,0),c=this.getValueAtTime((i-(p-h)%i+p)/this.comp.globalData.frameRate,0),d=Math.floor((p-h)/i)+1;if(this.pv.length){for(n=(o=new Array(m.length)).length,a=0;an){var p=o,m=r.c&&o===h-1?0:o+1,f=(n-l)/a[o].addedLength;i=bez.getPointInSegment(r.v[p],r.v[m],r.o[p],r.i[m],f,a[o]);break}l+=a[o].addedLength,o+=1}return i||(i=r.c?[r.v[0][0],r.v[0][1]]:[r.v[r._length-1][0],r.v[r._length-1][1]]),i},vectorOnPath:function(t,e,r){1==t?t=this.v.c:0==t&&(t=.999);var i=this.pointOnPath(t,e),s=this.pointOnPath(t+.001,e),a=s[0]-i[0],n=s[1]-i[1],o=Math.sqrt(Math.pow(a,2)+Math.pow(n,2));return 0===o?[0,0]:"tangent"===r?[a/o,n/o]:[-n/o,a/o]},tangentOnPath:function(t,e){return this.vectorOnPath(t,e,"tangent")},normalOnPath:function(t,e){return this.vectorOnPath(t,e,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([r],t),extendPrototype([r],e),e.prototype.getValueAtTime=function(t){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),t*=this.elem.globalData.frameRate,(t-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime Does the vToken have the same decimals as it's underlying? + +not usually. Every VToken has 8 decimals in the Venus Protocol (it could be different, but it isn't). Regarding underlying tokens, they usually have 18 decimals, but there are several ones with less decimals. For example TRX has 6 decimals + +every underlying token of the markets we'll include initially in the Prime program has 18 decimals + +BTC: https://bscscan.com/address/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c +ETH: https://bscscan.com/address/0x2170Ed0880ac9A755fd29B2688956BD959F933F8 +USDT: https://bscscan.com/address/0x55d398326f99059fF775485246999027B3197955 +USDC: https://bscscan.com/address/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d + + +[09/30/2023 10:13] daureos +https://github.com/code-423n4/2023-09-venus/blob/main/tests/hardhat/Prime/Prime.ts +https://github.com/code-423n4/2023-09-venus/blob/main/tests/hardhat/Prime/PrimeLiquidityProvider.ts +https://github.com/code-423n4/2023-09-venus/blob/main/tests/hardhat/integration/index.ts + + +[09/30/2023 10:15] daureos +we had the idea of deploying Prime initially with the `claimInterest` feature paused, being conservative. And after confirming the rewards are being allocated as expected unpause it + +{Reactions} +👍 (2) + +[09/30/2023 10:33] j4x_98 +Send you a fr @chechu + +{Reactions} +👍 + +[09/30/2023 10:40] 0xbtk +@chechu Req sent + +{Reactions} +👍 + +[09/30/2023 10:48] plamkata +@chechu @kkirka @0xLucian sent dms + +{Reactions} +👍 + +[09/30/2023 11:11] xariextz +@chechu Sent FR and DM + +{Reactions} +👍 + +[09/30/2023 11:38] santipu_ +Is it possible to remove a boosted market from receiving rewards? + + +[09/30/2023 11:38] _3agle +I don't think that they have any way to remove a market in the current implementation + + +[09/30/2023 11:40] santipu_ +And what if there is a need for removing a market? Because of a hack or market volatility... + +{Reactions} +🤷‍♂️ (2) 🧐 + +[09/30/2023 12:02] plamkata +users do not use the market + + +[09/30/2023 12:12] proxy1967 +How does `PrimeLiquidityProvider` get funds ? + +{Reactions} +☝️ (2) + +[09/30/2023 12:47] 0k_sec +its explained in their docs and how the funds get into the system, please check these links below : + +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#income-collection-and-distribution + +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#bootstrap-liquidity-for-the-prime-program + +{Embed} +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md +2023-09-venus/contracts/Tokens/Prime/README.md at main · code-423n4... +Contribute to code-423n4/2023-09-venus development by creating an account on GitHub. +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE + + +[09/30/2023 12:49] 0k_sec +best thing to do in this case (imo) is sending all accrued rewards to the users and their tokens before the market removed + + +[09/30/2023 13:16] 0k_sec +where can i find the XVSVault please ? + + +[09/30/2023 13:20] _3agle +contracts/XVSVault/XVSVault.sol + +{Reactions} +❤️ + +[09/30/2023 13:20] 0k_sec +thank you ser + +{Reactions} +✌️ + +[09/30/2023 13:37] xariextz +Sorry if this was already answered, but how are the judges going to evaluate this contest's findings? I am refferring to the debate about always including a PoC etc + + +[09/30/2023 13:45] nmirchev8 +There is /XVSVault folder inside /contracts + + +[09/30/2023 13:51] nmirchev8 +Can someone explain what exactly borrow/supply position for a user stands for? Is it the ration of the given user for the borrowed assets from a given market and staked XVS, or? + + +[09/30/2023 14:03] 0k_sec +if you mean providing POCs is required or not, well in most of findings there should be a good POCs foundry test case or scenario in this way you give a better idea about your vuln. + + +[09/30/2023 14:24] .ke1cam +do you guys know which contracts call `issue` and `getPendingInterests` in Prime.sol? + + +[09/30/2023 15:03] superman_i4g +To avoid heartbreaks; I recommend you include POCs for better understanding and clarification of your findings. + + +[09/30/2023 15:29] _3agle +Creating PoCs in TS is 🤯 + +{Reactions} +🌚 (3) + +[09/30/2023 15:32] chainnue +I assume the judge is different in venus, but a PoC is surely a plus. in case you missed, the debate was started by maia's contest judge, and this is his latest words https://discord.com/channels/810916927919620096/1153743259965857873/1156249166251577454 + + +[09/30/2023 15:47] plamkata +I reckon the oracle used in the capital calculation is a chainlink oracle? + + +[09/30/2023 16:06] japy69 +Hi, maybe I missed something but I don't find the proxy contract used here. Where can I find it ? + + +[09/30/2023 16:23] santipu_ +@chechu Sent DM + +{Reactions} +👍 + +[09/30/2023 17:13] xariextz +@chechu Sent DM + +{Reactions} +👍 + +[09/30/2023 17:41] daureos +"remove" a Prime market is not implemented. It's not easy, and probably not desired. There will be users with claimable interests, generated before we want to remove that market, and they have the right to claim them. An alternative could be to set the multipliers for the market to 0, so no more rewards will be accrued for the user from that moment, but users will be able to claim their interests until that moment + + +[09/30/2023 17:44] daureos +a user stakes XVS in the XVSVault +a user supplies tokens into a Venus market (i.e. into the BTC market) +a user borrows tokens from a Venus market (i.e. from the ETH market) + +it exists the usual dependency in the lending protocols: the total amount of supplied tokens should be enough to "cover" the total borrowed amount by the user. This is not anything specific for Prime, it's just how loans with collateral usually works on blockchain + +{Reactions} +👍 + +[09/30/2023 17:45] daureos +`issue` will be invoked by Governance. `getPendingInterests` will be invoked (at least) by the Venus dApp, deployed at https://app.venus.io + +{Reactions} +❤️ (2) + +[09/30/2023 17:46] daureos +it is actually our ResilientOracle (https://github.com/VenusProtocol/oracle/blob/develop/contracts/ResilientOracle.sol), that uses Chainlink (and other oracles, like Binance Oracle, Pyth network and TWAP) under the hood + + +[09/30/2023 17:55] daureos +it will be the Openzeppelin TransparentUpgradeableProxy, or the optimized version provided by Hardhat (https://github.com/wighawag/hardhat-deploy/blob/master/solc_0.8/proxy/OptimizedTransparentUpgradeableProxy.sol) + +{Reactions} +👍 + +[09/30/2023 18:03] fulum +I dm you @chechu + + +[09/30/2023 22:45] fulum +In`Prime::_capitalForScore`, the `oracle.getPrice(xvsToken)` and `oracle.getUnderlyingPrice(market)` return a value in 1e18 decimals ? Or can be other decimals depends on the market ? + + +[10/01/2023 00:33] olanre_waju +Please what determines the score of a user, and does it change with block? + + +[10/01/2023 02:37] squeaky_cactus +Started a thread. + + +[10/01/2023 05:43] norah7603 +@Manmeet22 , Please check your DM. + + +[10/01/2023 05:52] _3agle +Has anyone created a basic Foundry setup for this, would be really helpful to create PoCs + + +[10/01/2023 07:27] superman_i4g +Thought the tests are written in HardHat? So you can write your POCs test in the test provided although only if you know HardHat🌚 + + +[10/01/2023 07:43] nmirchev8 +Where we can see PSR implementation? + + +[10/01/2023 08:13] 7a4raf +does it matter if a user stores his tokens for more than 90 days? +user alice stores tokens for 100 days +user bob stores tokens for 200 days +is user bob eligible for more rewards than alice? + + +[10/01/2023 08:18] nmirchev8 +Yes, because then you start earning interest. +Bob was able to claim his Prime token earlier, i.e. has gained more interest for that time. + + +[10/01/2023 08:30] proxy1967 +https://discord.com/channels/810916927919620096/1154526680434610176/1157061191936508004 + +{Reactions} +❤️ + +[10/01/2023 08:34] 7a4raf +thanks + +{Reactions} +🤘 + +[10/01/2023 10:56] sp1cymeatball +Has anyone managed to run a forge test on this project? I'm currently struggling with incompatible solidity versions with older contracts that use ^0.5.16. + + +[10/01/2023 11:00] alymurtazamemon +I am working on it from last 24 hours + + +[10/01/2023 11:01] alymurtazamemon +Really struggling in this project + + +[10/01/2023 11:01] alymurtazamemon +you should use `getCode` cheatcode to deploy contract and use interfaces to interact with contract. + + +[10/01/2023 11:02] xariextz +You have to run hardhat test, no Foundry ones + + +[10/01/2023 11:02] alymurtazamemon +we know it + + +[10/01/2023 11:02] xariextz +Okay😀 + + +[10/01/2023 11:03] sp1cymeatball +I'm afraid I'm in the failed compilation phase😀 . Did you manage to compile and run your own foundry test? + + +[10/01/2023 11:04] alymurtazamemon +still on the deployment phase there are so many contracts and permissions, but satisfied because things are working + + +[10/01/2023 11:04] alymurtazamemon +after completing deployment phase will try the tests + + +[10/01/2023 11:05] sp1cymeatball +what forge-std and solc version do you use? + + +[10/01/2023 11:06] alymurtazamemon +0.8.0 + + +[10/01/2023 11:06] alymurtazamemon +^0.8.0 + + +[10/01/2023 11:07] alymurtazamemon +foundry does not support multiple versions yet, and for older versions you need to deploy the mocks or you need artifacts and interfaces to interact with the older versions. + + +[10/01/2023 11:16] sp1cymeatball +yup, I managed to run a simple test with my custom interface for the vToken. Thanks for the insight :hi5: ! + +{Reactions} +👍 + +[10/01/2023 11:47] santipu_ +And if in a future you include more markets with underlying tokens different than 18 decimals it should also work correctly right? + + +[10/01/2023 11:47] 0k_sec +hey, term capped is kind new to me in logic like this, can someone tell me what capped refers to here or in the whole docs please ? +`Split (4) proportional to the (capped) borrow and supply amounts of the user in that market at that moment` + + +[10/01/2023 11:50] saint6704 +user rewards are only dependent on XVS staked or it also depends on the value of alpha? +and how the value of alpha is decided? +@chechu + + +[10/01/2023 11:52] 0k_sec +with my understanding it depends on alpha too, and alpha can change the rewards result as its happen in this example: +check Significance of a section, @chechu correct me if im wrong about this please +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards + +{Embed} +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md +2023-09-venus/contracts/Tokens/Prime/README.md at main · code-423n4... +Contribute to code-423n4/2023-09-venus development by creating an account on GitHub. +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE + + +[10/01/2023 11:54] santipu_ +For what I understand, the protocol limits the user supply/borrow amounts that can be 'qualifiable' for rewards in the Prime program based on a 'market multiplier' and the staked amount of `XVS` tokens. +This way they incentivize a balance between `XVS` staked and borrow/supply amounts. + + +[10/01/2023 11:54] saint6704 +yes you are right it is dependent on many things including alpha +do you have any idea how is alpha calculated? + + +[10/01/2023 11:55] 0k_sec +they set the alpha to 0.5 but it can be changed. + + +[10/01/2023 11:56] 0k_sec +yeah i know that but what capped refers to specifically ? +here we use capped balance or: +``` +Assuming the user has the following positions: +borrow: 30 USDT. Let's say it's capped at 15 USDT, so we'll consider 15 USDT +supply: 10 USDT. Let's say it's also capped at 15 USDT, so we'll consider 10 USDT +``` +what did it capped at mean here ? is it the saved borrrow supply as you mentioned ? + + +[10/01/2023 11:56] saint6704 +`A default weight of 0.5 weight has been evaluated as a good ratio and is not likely to be changed. A higher value will only be needed if we want to attract more XVS stake from the Prime token holders at the expense of supply/ borrow rewards.` + +it says higher value can be set + + +[10/01/2023 11:57] 0k_sec +yeah as i mentioned it can be changed but it can't be above 1 as i know: +`A higher value of α increases the weight on stake contributions in the determination of rewards and decreases the weight on supply/borrow contributions. The value of α is between 0-1` + +{Reactions} +👍 + +[10/01/2023 12:07] santipu_ +Capped it literally means 'having upper limit' or 'limited'. +So if the capped supply is 15 USDT, the qualifiable supply is limited to 15 USDT. If you have more supply balance than that, it will only take into account 15 USDT. +Like in the example, if you have 30 USDT, or even 30000 USDT, it will only consider 15 USDT for calculating the rewards. + +{Reactions} +👆 👍🏻 (2) + +[10/01/2023 12:35] 0k_sec +oh i see, its clear now thanks a lot ser 🫡 + +{Reactions} +🫡 + +[10/01/2023 13:11] 0k_sec +prime tokens always mentioned as unique so is it erc721 or another erc than erc20 !? + + +[10/01/2023 13:26] xariextz +As it is written in the contest info: Non ERC-20 Token + + +[10/01/2023 13:32] j4x_98 +I think it adheres to no ERC, also in opposite of ERC721 where one address can have multiple unique tokens, for Prime one address can at max have one token (revocable or irrevocable) + +{Reactions} +🙏🏻 👍🏻 + +[10/01/2023 14:10] fulum +I will make some foundry tests with mocks to demonstrate certains things, you can simply add foundry on top of hardhat, it's easy to install it 🙂 https://hardhat.org/hardhat-runner/docs/advanced/hardhat-and-foundry + +{Embed} +https://hardhat.org/hardhat-runner/docs/advanced/hardhat-and-foundry +Integrating with Foundry | Ethereum development environment for pro... +Ethereum development environment for professionals by Nomic Foundation +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/card-1C40E.jpg + +{Reactions} +🙌 (2) + +[10/01/2023 14:42] 0xsl1 +For anyone wondering about values of alpha, here is a simple python script that will generate a graph to see how changing a value of alpha affects the apy. + +https://gist.github.com/kazantseff/7a52fa49ce480d00162a4a6a645e075e + +{Embed} +https://gist.github.com/kazantseff/7a52fa49ce480d00162a4a6a645e075e +Python script to generate a graph representing a relation of xvs to... +Python script to generate a graph representing a relation of xvs to apy - script.py +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/gist-og-image-14833.png + +{Reactions} +👍 🫡 + +[10/01/2023 14:43] 0xsl1 +Just set the values and it will produce something like this: + +{Attachments} +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/apy_vs_xvs-AA706.png + +{Reactions} +👍 (3) + +[10/01/2023 14:43] 0xsl1 +Hope it help! + + +[10/01/2023 15:09] zuhaibmohd +@chechu dropped a DM, plz check + + +[10/01/2023 15:48] _3agle +Appreciated 🙏 + + +[10/01/2023 15:50] saint6704 +@chechu can you check the dms please + + +[10/01/2023 16:04] glcanvas +Hello! In terms of Cobb-Douglas function: what does mean production of `XVS staked amount for user i` and `Sum of qualified supply and borrow balance for user i` (with corresponded pows, of course) in formula from https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards + +Because if consider case from Wiki: https://en.wikipedia.org/wiki/Cobb–Douglas_production_function#Formulation here `Y` is `total production`, but what is `Y` for Prime? + +{Embed} +https://en.wikipedia.org/wiki/Cobb%E2%80%93Douglas_production_function +Cobb–Douglas production function +In economics and econometrics, the Cobb–Douglas production function is a particular functional form of the production function, widely used to represent the technological relationship between the amounts of two or more inputs (particularly physical capital and labor) and the amount of output that can be produced by those inputs. The Cobb–Douglas... +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Cobbdouglas-40038.jpg + +{Embed} +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md +2023-09-venus/contracts/Tokens/Prime/README.md at main · code-423n4... +Contribute to code-423n4/2023-09-venus development by creating an account on GitHub. +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE + + +[10/01/2023 16:52] 0xprinc +what is reward index which is written in the interest struct ? +``` + struct Interest { + uint256 accrued; + uint256 score; + uint256 rewardIndex; + } +``` + + +[10/01/2023 17:56] daureos +mapping (more or less) the concepts in Prime with the concepts mentioned in the link you provided for the Cobb-Douglas formula: + +* Y, the production, would be the user score +* L, labour, would be the `XVS staked amount for user i` +* K, capital, would be the `Sum of qualified supply and borrow balance for user i` + +regarding the exponents, we have: +* beta, the exponent of the labour component, would be our alpha +* alpha, the exponent of the capital component, would be our (1 - alpha) + +{Reactions} +❤️ (4) + +[10/01/2023 17:58] saint6704 +@chechu what is rewardIndex + + +[10/01/2023 18:03] daureos +`markets[vToken].rewardIndex` is the variable where the income to be distributed divided by the sum of the user scores is accumulated. Visually, it is the red area of the rewards formula you can find attached and in the following link: https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#rewards + +{Attachments} +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Screenshot_2023-10-01_at_19.27.05-545B8.png + +{Embed} +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md +2023-09-venus/contracts/Tokens/Prime/README.md at main · code-423n4... +Contribute to code-423n4/2023-09-venus development by creating an account on GitHub. +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE + + +[10/01/2023 18:03] nmirchev8 +And OZ audit was completed prev or after the fairlyproof and peckshield ones? + + +[10/01/2023 18:04] daureos +after + +{Reactions} +🛡️ + +[10/01/2023 18:12] 0xprinc +so [ rewards = score / rewards index ] + + +[10/01/2023 18:12] 0xprinc +? + + +[10/01/2023 18:17] trachev +should be multiplication instead of division + + +[10/01/2023 18:19] 0xprinc +oh ya + + +[10/01/2023 18:23] daureos +`interests[market][account].rewardIndex` is the same concept, but per user. So, we can use it to really know how much rewards we have to allocate for a user. + +Example: +* block 0, variables initialized to default values +* block 10: in these 10 blocks the income to distribute is 20 USDT, and the sum of the user scores is 50, so we add to `markets[vToken].rewardIndex` +0.4 (this can be interpreted like: any Prime holder will receive 0.4 USDT per score point, associated to the block period 0-10) +* block 30: in these 20 blocks the income to distribute is 10 USDT (the income to distribute doesn't have to be constant). The sum of users scores didn't change. So, `markets[vToken].rewardIndex` is incremented with +0.2 +* block 35: one user claims a Prime token. + ** first, `markets[vToken].rewardIndex` will be updated (invoking `accrueInterest` from `_initializeMarkets`). In these 5 blocks the income was 5 USDT and the sum of users scores didn't change, so we increment `markets[vToken].rewardIndex` with +0.1 + ** then `interests[market][account].rewardIndex` will be set to `markets[market].rewardIndex`. This means something like: the track of this users start at this point, when `markets[market].rewardIndex` was 0.7 (0.4 + 0.2 + 0.1) +* block 50, the previous user claim interests + ** first, `markets[vToken].rewardIndex` will be updated (invoking `accrueInterest` from `getInterestAccrued`). In these 15 blocks the income was 120 USDT, and the sum of user scores changed (because we have a new Prime holder). Let's assume the num sum of user scores is 60, so `markets[vToken].rewardIndex` is incremented with +2. New `markets[vToken].rewardIndex` is 2.7 + ** then, the interest for the user are calculated in `_interestAccrued`. To do that, first we subtract `interests[market][account].rewardIndex` from `markets[vToken].rewardIndex`: 2.7 - 0.7 = 2 (USDT per score point) and then we multiply that number times the user score (10): 2 * 10 = 20 USDT: interests accrued by the user until now + +{Reactions} +🔥 (5) + +[10/01/2023 18:25] daureos +after doing this, `interests[vToken][user].rewardIndex` is set to the new `markets[vToken].rewardIndex` (this means something like: we restart tracking the history of the user, the interests accrued in the past are already claimed) + + +[10/01/2023 18:31] daureos +Venus Protocol doesn't support underlying tokens with more than 18 decimals. Except that, everything should work, right. So, for example, if we would include the market of TRX (decimals of the underlying token: 6), everything should work + + +[10/01/2023 18:37] daureos +the Venus Resilient Oracle (used by Prime) has the same behavior that Compound's oracles. The decimals of the returned value are `36 - decimals(underlying token)`. Examples: + +* USDT, with 18 decimals. The response from the Oracle will have 18 decimals +* TRX, with 6 decimals. The response from the Oracle will have 30 decimals + +the main advantage of this is that if you multiply the response from the Oracles by an amount defined in underlying tokens, and you divide the result by 1e18, you will get the USD value of those underlying tokens with 18 decimals, always + +{Reactions} +👍 + +[10/01/2023 18:49] cache_and_burn +What is the primary use of the issue function? + + +[10/01/2023 18:50] daureos +issue the initial set of Prime tokens, to the users that were staking more than 1,000 XVS tokens for the last 90 days. Moreover, it will be used to issue the irrevocable tokens (the business criteria for issuing these irrevocable tokens are not defined yet) + +{Reactions} +👌 + +[10/01/2023 18:57] blutorque +hey one question, why the burn() is restricted, Is it bc the user could be malicious or protocol want to forcefully removed?? + + +[10/01/2023 18:57] blutorque +@chechu + + +[10/01/2023 19:02] sp1cymeatball +@chechu what's the difference between the MockProtocolShareReserve and the real PSR? + + +[10/01/2023 19:07] daureos +if `burn` doesn't have access limited anyone could burn your Prime token. We cannot allow that + + +[10/01/2023 19:07] daureos +both contracts are out of the scope of the contest + + +[10/01/2023 19:08] sp1cymeatball +it's for the testing purposes 😀. Just wanted to know, should I deploy the real one or the mock is functionally the same? + + +[10/01/2023 19:43] glcanvas +By whom and when tokens sends to the `PrimeLiquidityProvider`? + + +[10/01/2023 22:38] mike_bello90 +what is a round? + + +[10/01/2023 22:40] shahen.0000 +Have the same question + + +[10/02/2023 04:34] 0xc86 +is there any flow chart available?(by the project team/made by anyone here),,with actors,interaction-steps & everything + + +[10/02/2023 04:36] _3agle +I asked this question and they pointed me to this chart + +{Attachments} +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/spaces2FSfxZmzf9N5T5Npv859XY2Fuploads2FOaI-DA3B9.png + + +[10/02/2023 04:38] 0xc86 +Thanks a lot ser! + +{Reactions} +✌️ + +[10/02/2023 05:15] pascal9476 +What is the basic difference between score and interest + + +[10/02/2023 05:25] 0xscourgedev +@chechu What is ballpark for the amount of markets expected for the protocol? + + +[10/02/2023 05:42] thetechnofeak +how to find the userflow in this project? how do u people do it + + +[10/02/2023 06:03] daniel_dimitrov5 +The user deposits at least 1000 XVS in XVSVault.sol (out of scope) with the `deposit` function. Then waits 90 days and claims his Prime token with the `claim` function in Prime.sol. Once the use has a prime token he is basically receiving interest that can be collected at any time with `claimInterest` in Prime.sol. Understanding the logic behind the reward system is up to you. + +{Reactions} +❤️ (2) + +[10/02/2023 06:12] 0x3b +Interest is the amount of rewards generated per **1 point of score** (ex. 2 USDC) and score is the points each user has. +Example: +User1 `score-10` && `interest-2 USDC` => reward of 20 USDC + + +[10/02/2023 06:12] thetechnofeak +Appreciate it, thnks + +{Reactions} +🚀 + +[10/02/2023 06:22] pascal9476 +Ohh okay makes more sense now + +{Reactions} +❤️ + +[10/02/2023 06:22] pascal9476 +Thank you + + +[10/02/2023 06:35] 0xhacksmithh +May be noob question, how to read report if it shows like below and even can't able to download pdf file + + +[10/02/2023 06:36] 0xhacksmithh + + +{Attachments} +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/IMG_20231002_120304-93852.jpg + + +[10/02/2023 06:36] mahdirostami +when you clone the repo, you could go to audit folder and open it + + +[10/02/2023 06:37] jaguar1999 +download the file + + +[10/02/2023 06:37] mahdirostami +It happens because of the size of the file + + +[10/02/2023 06:37] 0xhacksmithh +Actually unable to download + + +[10/02/2023 06:37] 0xhacksmithh +Download never starts for me + + +[10/02/2023 06:37] 0xhacksmithh +Tried multiple times + + +[10/02/2023 06:38] mahdirostami +clone it + + +[10/02/2023 06:39] 0xhacksmithh +Yeah thanks, + + +[10/02/2023 06:49] proxy1967 +Can anyone explain `rewardIndex` to me ? is it like a multiplier ? + + +[10/02/2023 07:13] 0x3b +why not go into the audit repor? + + +[10/02/2023 07:13] 0x3b +This one is by venus, not c4 + + +[10/02/2023 07:14] 0x3b +`rewardIndex` is basically interest without the score +https://discordapp.com/channels/810916927919620096/1154526680434610176/1158285262489665587 + +{Reactions} +chefskiss + +[10/02/2023 07:15] mahdirostami +@Proxy There is an Interest struct for each user and a Market struct for each market. +Both of them have `rewardIndex`. +`rewardIndex` is used to track how much gap is between these two `rewardIndex`. +For example, when a user _claimInterest(), his `rewardIndex` becomes equal to the market's `rewardIndex`. +@chechu If I'm wrong, please correct me + +{Reactions} +👍 (2) + +[10/02/2023 07:22] delvir0 +Hi, where is the logic of staking 1,000 XVS which sets `stakedAt`? + + +[10/02/2023 07:24] proxy1967 +`xvsUpdated()` ? + + +[10/02/2023 07:24] _3agle +=> Prime.sol +```js +/** + * @notice Used to get if the XVS balance is eligible for prime token + * @param amount amount of XVS + * @return isEligible true if the staked XVS amount is enough to consider the associated user eligible for a Prime token, false otherwise + */ + function isEligible(uint256 amount) internal view returns (bool) { + if (amount >= MINIMUM_STAKED_XVS) { + return true; + } + + return false; + } +``` + + +[10/02/2023 08:02] delvir0 +Ah my bad didn't explain it correctly, it's `XVSVault` + + +[10/02/2023 08:09] thetechnofeak +what does these qualifiable terms mean , both of them - i cannot understand its context + +{Attachments} +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-AFFBC.png + + +[10/02/2023 08:10] proxy1967 +I think it could also be eligible + + +[10/02/2023 08:10] proxy1967 +basically the minimum to get the prime token + + +[10/02/2023 08:12] thetechnofeak +why is that '0' then in the first condition for every other case? + + +[10/02/2023 08:13] thetechnofeak +what does that signify + + +[10/02/2023 08:15] proxy1967 +if staked XVS > 1000 then the user is eligible to get get the prime token + + +[10/02/2023 08:16] proxy1967 +if not then assume the user has no xvs staked basically + + +[10/02/2023 08:16] proxy1967 +at least for calculating the score + + +[10/02/2023 08:17] thetechnofeak +aah okay + + +[10/02/2023 08:17] thetechnofeak +so the counting starts only when a user hits the mark of 1000 XVS staked , r8? + + +[10/02/2023 08:18] proxy1967 +think so yea + +{Reactions} +🔥 + +[10/02/2023 08:18] thetechnofeak +okk got it , thnks + +{Reactions} +chefskiss + +[10/02/2023 08:33] daureos +anyone could do it, and it should work. Venus Community will send to the PLP contract the rewards allocated for Prime during these months. This will probably be done in the same VIP (Venus Improvement Proposal) when the Prime program is enabled, issuing the Prime tokens to the users who staked at least 1,000 XVS during the last 90 days + + +[10/02/2023 08:37] daureos +it's not a critical concept for the Prime program. It's only used in the context of updating the alpha or the multiplier values. After doing that it could be needed to update the scores of the users. Because there could be several updates of the alpha/multipliers in the future, the contract group these pending updates in rounds, just to track effectively the users to update + +check this for more info: https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#update-cap-multipliers-and-alpha + +{Reactions} +👌🏻 + +[10/02/2023 08:40] thetechnofeak +i understand that there is a limiting 'cap' onto the amount of lending and borrowing capacity , but what is the marketmultipliers used here , like BORROWMULTIPLIER & SUPPLYMULTIPLIER, How are they calculated and what does that depend upn ?? + + +[10/02/2023 08:41] thetechnofeak + + +{Attachments} +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-CCDE4.png + + +[10/02/2023 08:43] daureos +I talked about `rewardIndex` here: https://discord.com/channels/810916927919620096/1154526680434610176/1158101841846997104 + +and here: https://discord.com/channels/810916927919620096/1154526680434610176/1158107050774114315 + +including an example + +{Reactions} +chefskiss + +[10/02/2023 08:43] thetechnofeak +@chechu can u help me with this + + +[10/02/2023 08:44] daureos +multipliers are params set by the Venus Community, using a VIP (Venus Improvement Proposal), after passing a vote + +{Reactions} +🙌 + +[10/02/2023 08:45] thetechnofeak +oh so that means , that doesnt have to be concerned with the inscope parameters + + +[10/02/2023 08:46] thetechnofeak +which means they cannot be accessed by us and is totally random? + + +[10/02/2023 08:47] daureos +we'll start with USDT, USDC, BTC and ETH on BNB chain. Not yet defined more markets will be included in the future, or what markets will be added for the other chains (Ethereum mainnet, Arbitrum, Polygon zkEVM and opBNB) + +{Reactions} +👍 + +[10/02/2023 08:50] daureos +not random, there will be offchain analysis and risk evaluations. Proposals will be done to the community and the community will decide if those values are ok for them + +to simplify your analysis, maybe you can assume the value of both multipliers is 1. That would means that the borrowed and supplied amounts would be capped by the amount of XVS staked, that's all + +{Reactions} +🙌 (2) + +[10/02/2023 08:51] thetechnofeak +yaa sounds good now .ty + + +[10/02/2023 09:17] _3agle +Can we consider the alpha value as 0.5? + + +[10/02/2023 09:31] alymurtazamemon +Anybody else if need this foundry setup 👇, I could not finish the setup due to a single oracle contract, I found its mock contract but I could not understand what parameter it needs, and the contracts in scope is updating the oracle asserts and tokens underlining due to that I could not setup this completely. But if anyone can find the workaround then can use this. + +https://github.com/alymurtazamemon/foundry-playground-for-venus-audit.git + +{Embed} +https://github.com/alymurtazamemon/foundry-playground-for-venus-audit.git +GitHub - alymurtazamemon/foundry-playground-for-venus-audit: This i... +This is a test setup for the Venus Audit contest held on Code4rena from Sept 29 2023 - Oct 05 2023. - GitHub - alymurtazamemon/foundry-playground-for-venus-audit: This is a test setup for the Venus... +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/foundry-playground-for-venus-audit-6AF58 + + +[10/02/2023 09:31] 0xjaypi +@chechu DM'ed you + + +[10/02/2023 09:32] thetechnofeak +it is 0.5 already , see the readme + +{Reactions} +👍 + +[10/02/2023 09:33] varun2791 +What does unreleasedPSRincome and unreleasedPLPincome signify?Can anyone explain in detail + + +[10/02/2023 09:33] varun2791 +@chechu + + +[10/02/2023 09:36] 0x3b +These are the incomes that **can** be sent to `Prime.sol`, when needed. +However they are still in their contract `PSRincome` and `PLPincome`, when sent (released) they will be reset to 0. + +{Reactions} +👍 (2) + +[10/02/2023 09:44] thetechnofeak +why cant i download the previous audit report ? + +{Attachments} +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-A17AD.png + + +[10/02/2023 09:46] _3agle +If you have cloned the repo then you already have it + +{Attachments} +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-9FBAD.png + +{Reactions} +🙌 + +[10/02/2023 09:47] thetechnofeak +yeah thnks ,i didnt notice it + + +[10/02/2023 10:04] 0xsl1 +In which case the irrevocable token can be burnt? + + +[10/02/2023 10:14] mahdirostami +the business criteria for issuing or burning these irrevocable tokens are not defined yet + + +[10/02/2023 10:14] thetechnofeak +yess + + +[10/02/2023 10:14] thetechnofeak +only defined for revocable tokens + + +[10/02/2023 10:15] 0xsl1 +yeah i know, i was just wondering it the burning will also happen through a VIP + + +[10/02/2023 10:15] mahdirostami +yes + + +[10/02/2023 10:15] 0xsl1 +thanks! + + +[10/02/2023 10:16] mahdirostami +@chechu I DMed you sir + + +[10/02/2023 12:54] nmirchev8 +Why PSR should call resetAsset function, when funds are released and PLP do it in the same function from inside the Prime contract? + + +[10/02/2023 14:01] thebrittfactor (pinned) +From the sponsor team: POC's in hardhat are ok, which could reduce in some cases the time needed to prepare POCs 🎉 + +{Reactions} +👏🏽 + +[10/02/2023 14:01] thebrittfactor +Pinned a message. + + +[10/02/2023 14:07] saint6704 +how are we changing account's borrow or supply balance + + +[10/02/2023 14:07] saint6704 +? + + +[10/02/2023 14:52] 0xnirlin +Its not that we can't people can't write POC in hardhat, its just that it's more fun to do in foundry and easier XD + + +[10/02/2023 14:55] 0xsl1 +Writing POC in hardhat for this contest made me realize how much i actually love foundry + +{Reactions} +❤️ (3) + +[10/02/2023 14:55] superman_i4g +Yea, that's the real issue but I guess we need to adapt for cases like this even though most protocols/projects use Foundry more. + + +[10/02/2023 14:56] 0xnirlin +I won't, been a web developer, no more js/ts for me -_- + +{Reactions} +😂 (2) + +[10/02/2023 14:59] tapir31 +Do we need to write a test for PoCs tho? + + +[10/02/2023 15:00] superman_i4g +To avoid heartbreaks; just do if you can man + + +[10/02/2023 15:01] tapir31 +I will not write PoC's for simple cases tho it does not make sense, it just a waste of time + + +[10/02/2023 15:10] fulum +PoC writing with foundry is not admissible? + + +[10/02/2023 15:17] thebrittfactor +Foundry is fine! The sponsors were just giving the wardens options 🙂 + + +[10/02/2023 15:17] fulum +This info save my day, thanks + +{Reactions} +🤣 (3) hi5 + +[10/02/2023 15:19] glcanvas +is is possible to provide POC in human-readable description? +i.e. steps to reproduce? + + +[10/02/2023 15:19] thebrittfactor +However you'd like to provide! + + +[10/02/2023 15:29] _3agle +You guys talking about PoC, I haven’t found anything worth provable 😂 + +{Reactions} +🥲 (12) gummy_wink (3) 😆 🤣 (8) + +[10/02/2023 16:13] 0xblackskull +can anyone tell me how to pass `_checkAccessAllowed()` ?? + + +[10/02/2023 16:22] sp1cymeatball +I found a lot, but after writing POCs they all turned out to be false 😒 + + +[10/02/2023 16:30] pascal9476 +Please what is PSR + + +[10/02/2023 16:39] 0xbtk +ProtocolShareReserve contract https://github.com/VenusProtocol/protocol-reserve/blob/develop/contracts/ProtocolReserve/ProtocolShareReserve.sol + +{Embed} +https://github.com/VenusProtocol/protocol-reserve/blob/develop/contracts/ProtocolReserve/ProtocolShareReserve.sol +protocol-reserve/contracts/ProtocolReserve/ProtocolShareReserve.sol... +Contracts for Protocol Reserve. Contribute to VenusProtocol/protocol-reserve development by creating an account on GitHub. +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/protocol-reserve-2BD14 + +{Reactions} +❤️ + +[10/02/2023 16:39] pascal9476 +I found one but I don’t think my computer can run foundry comfortably + + +[10/02/2023 16:39] pascal9476 +So can’t test it + + +[10/02/2023 16:42] 0xhuy0512 +the codebase is solid considering only has 1300 line of test code 🤯 + + +[10/02/2023 17:03] pascal9476 +Thank you + + +[10/02/2023 18:16] daniel_dimitrov5 +` accessControl.isAllowedToCall.returns(true);` + + +[10/02/2023 18:18] daniel_dimitrov5 +There is a mock library @defi-wonderland/smock +When you are writing tests you should include this line and set the behaviour as you wish just like in Prime.ts + + +[10/02/2023 18:21] 0xblackskull +@daniel_dimitrov5 i'm writing in foundry + + +[10/02/2023 18:23] daniel_dimitrov5 +You just need a mock then + + +[10/02/2023 18:23] daniel_dimitrov5 +Or you can simply remove the `_checkAccessAllowed()` because it is out of scope anyways + +{Reactions} +🫡 + +[10/02/2023 18:35] fulum +If anyone make test with foundry, how you had resolve the problems of compiler with multiples versions of solidity ? thx + + +[10/02/2023 18:41] 0xblackskull +you can just copy whole prime token contract in new foundry + + +[10/02/2023 18:43] 0xblackskull +all those contract use 0.8.13, you will not face multiple compiler issue + + +[10/02/2023 19:09] 0k_sec +what is interest in the `getPendingInterests` function? is it prime tokens? + +edit: +the answer is here: +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#income-collection-and-distribution + +{Embed} +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md +2023-09-venus/contracts/Tokens/Prime/README.md at main · code-423n4... +Contribute to code-423n4/2023-09-venus development by creating an account on GitHub. +Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE + + +[10/02/2023 19:29] asui0944 +what is the purpose of **issue** function +doesn't that break the whole process of staking 1000 XVS tokens for 90 days if the person who has the access to call the function can mint prime tokens to any users ? + + +[10/02/2023 19:29] daniel_dimitrov5 +It is only possible to be called from the governance + + +[10/02/2023 19:30] daniel_dimitrov5 +Which is a DAO I believe + +{Reactions} +👍 (2) + +[10/02/2023 19:33] asui0944 +only the GOAT answers his own question😆 + +{Reactions} +😂 (4) ❤️ + +[10/02/2023 20:12] fulum +Thanks :hi5: + + +[10/02/2023 20:13] fulum +https://discord.com/channels/810916927919620096/1154526680434610176/1158113843508162670 + +{Reactions} +🫡 + +[10/02/2023 20:19] lsaudit +hey, who can i DM, who's the sponsor here? + + +[10/02/2023 20:28] thetechnofeak +its @chechu ig + + +[10/02/2023 20:28] lsaudit +thanks, I've dmed him! + + +[10/02/2023 21:04] 0k_sec +https://discord.com/channels/810916927919620096/1154526680434610176/1155961740278902784 + + +[10/03/2023 00:17] _3agle +Give it to me, let me try to run it 😆 + +{Reactions} +😂 (7) + +[10/03/2023 00:51] doogooooo +In which case the user's prime token would be burnt by the external burn fn? + + +[10/03/2023 01:23] daureos +when the Venus community decides it. There could be several criteria. I can imagine some of them (they are not defined yet), for example, the Venus community could decide to burn an irrevocable token if the user unstaked almost 100% of their XVS and they stopped using the protocol for a long time (this is only an example, provided by me, not by the Venus community) + +{Reactions} +❤️ (3) 👌 (2) + +[10/03/2023 06:30] 0xsilvermist +Does anyone have a foundry setup that can share 😄 + + +[10/03/2023 06:58] daniel_dimitrov5 +^ + + +[10/03/2023 10:28] 0xprinc +on which chains is the contracts gonna deploy ? + + +[10/03/2023 10:29] 0xbtk +Blockchains where this code will be deployed: BNB Chain, Ethereum mainnet, Arbitrum, Polygon zkEVM, opBNB. + + +[10/03/2023 11:59] pinalikefruit +so, practically "Irrevocable token" is out-of-scope, right? (because we don't have the definition) + + +[10/03/2023 13:24] 0xdemonnn +send a dm :gummy_wink: @chechu + + +[10/03/2023 13:33] 0xdetermination +any sponsor available for DM? @chechu @narayanprusty + + +[10/03/2023 14:13] narayanprusty +@0xDetermination I got your query. I am answering it right now + + +[10/03/2023 14:19] 0xdetermination +@narayanprusty ty! + + +[10/03/2023 14:28] gr34t.l4k3#1626 +@narayanprusty sent a dm + + +[10/03/2023 14:30] narayanprusty +@grearlake Replied + + +[10/03/2023 14:38] 0xdemonnn +@narayanprusty send a DM + +{Reactions} +👍 + +[10/03/2023 14:52] lsaudit +@narayanprusty hey, i've sent you dm, please check in your free time + +{Reactions} +👍 + +[10/03/2023 16:54] mike_bello90 +guys I know how to test in hardhat, give me your issues to test it jajaja 😂 + +{Reactions} +🌚 😂 🥸 + +[10/03/2023 18:29] fulum +Hi, tha addMarket function is callable by the governance or the admin ? 🙂 + + +[10/03/2023 19:58] 0xlucian +all functions that enforce access control by invoking `_checkAccessAllowed` will be called by governance through VIP (Venus Improvement Proposal) + +{Reactions} +👍 + +[10/03/2023 21:23] mike_bello90 +friends anyone know how to mark the code in the report so the solidity code is highlighted? + + +[10/03/2023 21:27] mike_bello90 +or how to insert a link to an image from my Mac in the report? 🤔 + + +[10/03/2023 21:35] mike_bello90 +@0xLucian Hi lucian send you a DM + + +[10/03/2023 21:40] mike_bello90 +or who's available now to help me with a private question 😀 +@chechu +@kkirka +@narayanprusty +@Manmeet22 + +{Reactions} +✋ + +[10/03/2023 21:58] 0xbtk +Started a thread. + + +[10/04/2023 05:59] trachev +@0xLucian sent a DM. + +{Reactions} +🫡 + +[10/04/2023 06:48] doogooooo +I heard discussions about having to have POC to get the full payout, is it enforced yet in this contest? + + +[10/04/2023 06:49] _3agle +https://discord.com/channels/810916927919620096/1154526680434610176/1157701614468071547 + + +[10/04/2023 06:51] doogooooo +thank you! + + +[10/04/2023 08:27] pascal9476 +Please what exactly is the upgrade in the xvs vault contract + + +[10/04/2023 08:34] pascal9476 +@chechu @kkirka @narayanprusty @0xLucian @Manmeet22 + + +[10/04/2023 08:57] tumelo_crypto +I'm not sure, but you might as well do it incase + + +[10/04/2023 08:59] tumelo_crypto +use hardhat for the PoC + + +[10/04/2023 09:32] superman_i4g +Quick question; does Alpha have a const value? + + +[10/04/2023 10:28] 0xlucian +Alpha is not constant, but alpha default value will be 0.5 + +{Reactions} +💯 + +[10/04/2023 11:56] 0xsandy +@0xLucian sent you a dm + + +[10/04/2023 12:11] daureos +the upgraded XVSVault contract will notify Prime every time the XVS staked amount changes + +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/XVSVault/XVSVault.sol#L298 + +https://github.com/code-423n4/2023-09-venus/blob/main/contracts/XVSVault/XVSVault.sol#L501 + + +[10/04/2023 12:15] 0xsandy +@chechu sent you a dm + +{Reactions} +👍 + +[10/04/2023 12:29] 0xblackskull +Alpha could be set to 0?? + + +[10/04/2023 12:31] _3agle +Check this out: https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/README.md#:~:text=borrowQVL%20%2B%20supplyQVL-,Significance%20of%20%CE%B1,-A%20higher%20value + + +[10/04/2023 12:50] asui0944 +where is the function prime holders can call to get their rewards for their token ? + + +[10/04/2023 12:52] asui0944 +Is it the claimInterest function? + +{Reactions} +✅ (3) + +[10/04/2023 14:52] daureos +yes, according to https://github.com/code-423n4/2023-09-venus/blob/main/contracts/Tokens/Prime/Prime.sol#L809-L813 + + +[10/04/2023 14:53] 0xprinc +Are xvs token that are present in vault, be taken out any time, or is there any timelock ? + + +[10/04/2023 14:58] daureos +users with XVS staked in the XVSVault can request their withdrawal and then (after a delay period of several days) really withdraw the XVS previously requested + +when the user requests the withdrawal of XVS, Prime is notified: https://github.com/code-423n4/2023-09-venus/blob/main/contracts/XVSVault/XVSVault.sol#L501 + +{Reactions} +👍🏻 + +[10/04/2023 15:16] 0xblackskull +@chechu please accept fr + +{Reactions} +👍 + +[10/04/2023 16:01] deth2814 +@chechu sent a DM + +{Reactions} +👍 + +[10/04/2023 20:02] C4 +**🚨 AUDIT ALERT** + +@🐺wardens The **Venus Prime** audit is now closed! Huge thanks to everyone who participated 🔍, whether you submitted a finding or not. + +What's next: The sponsor team and judge will review the findings over the next couple of weeks. Keep an eye on #📢announcements for regular updates on how the audit is progressing through awarding 🤑🏆, judging 🧑‍⚖️ and reporting 📜. Feel free to ping a Contest-Admin if you have questions along the way! + +{Reactions} +C4Keycap (7) 🎉 (2) 🔥 (3) 🙇🏻 + +[10/04/2023 20:31] pascal9476 +How many submissions for this one who knows ?😅 + + +[10/04/2023 20:57] shubh0412 +659 + +{Reactions} +🫡 (7) 👀 (10) + +[10/05/2023 06:03] saint6704 +thanks for your prompt reply @chechu , it was very nice working with you man + +{Reactions} +❤️ (4) + +[10/05/2023 08:40] superman_i4g +Very true, @chechu was always there! +Had fun chatting with you ser, Gracias 🙌🏽 + +{Reactions} +❤️ (2) + +[10/05/2023 11:52] blckhv +Don’t forget to mention @0xLucian , who answered all my questions + +{Reactions} +❤️ (4) + +[10/05/2023 12:24] berlin.101 +Thanks @chechu and @narayanprusty for the great support when I had questions. 🙏 + +{Reactions} +❤️ (2) + +[10/22/2023 09:26] saint6704 +Any news of results? + + +[10/24/2023 08:38] squeaky_cactus +Started a thread. + + +[11/06/2023 21:55] xariextz +:gummy_wink: + + +[11/09/2023 12:19] _paperparachute +🤑 🎉 Awards for **Venus Prime**: + +$10,783.76 USDC » @Testerbot +$1,161.45 USDC » @0xDetermination +$983.50 USDC » @Brenzee +$859.90 USDC » @ether_sky +$855.53 USDC » @SpicyMeatball +$853.09 USDC » @Breeje +$814.29 USDC » @tapir +$786.38 USDC » @santipu_ +$719.26 USDC » @0xTheC0der +$689.32 USDC » @sces60107 | GimelSec +$661.42 USDC » @pep7siup +$661.42 USDC » @ast3ros +$360.09 USDC » @said +$332.18 USDC » @Priyam +$327.81 USDC » @rokinot +$235.12 USDC » @blutorque +$235.12 USDC » @neumo +$235.12 USDC » PwnStars (@sakshamguruji, @qbs) +$235.12 USDC » ThreeSigma (@0x73696d616f, @Carolina, @Eduardo, @SolidityDev99) +$230.76 USDC » Pessimistic (@PavelCore,@yhtyyar, @olegggatttor) +$223.09 USDC » @David Giladi +$211.72 USDC » @oakcobalt +$202.85 USDC » @seerether +$202.85 USDC » @Norah +$202.85 USDC » DeFiHackLabs (@SunSec, @AkshaySrivastav, @Sm4rty, @Cache_And_Burn, @ret2basic.eth, @zuhaibmohd, @sashik_eth, @Ronin) +$202.85 USDC » @bin2chen +$202.85 USDC » @hals +$198.48 USDC » @deadrosesxyz +$198.48 USDC » @dirk_y +$198.48 USDC » @turvy_fuzz +$185.96 USDC » @0xprinc +$179.45 USDC » @0x3b +$166.82 USDC » @deth +$163.76 USDC » @J4X +$157.24 USDC » @0xsload +$129.33 USDC » @mahdiRostami +$129.33 USDC » @HChang26 +$129.33 USDC » @rvierdiiev +$129.33 USDC » @0xpiken +$129.33 USDC » @twicek +$129.33 USDC » @berlin.101 +$129.33 USDC » @KrisApostolov +$129.33 USDC » @Doogoo +$129.33 USDC » @gkrastenov +$129.33 USDC » @merlin +$128.12 USDC » @lsaudit +$124.96 USDC » @sl1 +$124.96 USDC » @aycozynfada +$123.75 USDC » @ICP +$123.75 USDC » @0xhacksmithh +$98.12 USDC » @Bauchibred +$62.21 USDC » @josephdara +$53.88 USDC » @0xweb3boy +$36.64 USDC » @Piña +$36.64 USDC » @xAriextz +$36.64 USDC » @al88nsk +$32.27 USDC » @debo +$32.27 USDC » @ADM +$32.27 USDC » @tsvetanovv +$32.27 USDC » @0xblackskull +$32.27 USDC » @dethera +$32.27 USDC » @Deleted User +$32.27 USDC » SBSecurity (@Blckhv, @Slavcheww) +$21.61 USDC » @ArmedGoose +$20.05 USDC » @0xWaitress +$20.05 USDC » @jkoppel +$17.24 USDC » @James +$17.24 USDC » @versiyonbir +$17.24 USDC » @kaveyjoe +$17.24 USDC » @hunter_w3b +$17.24 USDC » @radev_sw +$15.69 USDC » @hihen +$15.69 USDC » @pontifex + + +[11/09/2023 12:21] _paperparachute +$4.37 USDC » @ptsanev +$4.37 USDC » @orion +$4.37 USDC » @TangYuanShen +$4.37 USDC » @kutu +$4.37 USDC » @e0d1n +$4.37 USDC » @nadin +$4.37 USDC » @Hama +$4.37 USDC » @n1punp +$4.37 USDC » @terrancrypt +$4.37 USDC » @iceBear +$4.37 USDC » @nisedo +$4.37 USDC » @vagrant +$4.37 USDC » @nobody2018 +$4.37 USDC » @peanuts +$4.37 USDC » @joaovwfreire +$4.37 USDC » @squeaky_cactus +$4.37 USDC » @Krace +$4.37 USDC » @Daniel526 +$4.37 USDC » @sashik_eth +$4.37 USDC » @y4y +$4.37 USDC » @glcanvas +$4.37 USDC » @lotux +$4.37 USDC » @0xfusion +$4.37 USDC » @Tricko +$4.37 USDC » @MohammedRizwan +$4.37 USDC » @totovoto +$4.37 USDC » @d3e4 +$4.37 USDC » @0xTiwa +$4.37 USDC » Mirror +$4.37 USDC » @alexweb3 +$4.37 USDC » @jnforja +$4.37 USDC » @SPY8OY +$4.37 USDC » @code-cipher +$4.37 USDC » @imare +$4.37 USDC » @Fulum +$4.37 USDC » @0xdice91 +$4.37 USDC » @btk +$4.37 USDC » @0xMosh +$4.37 USDC » @ge6a +$4.37 USDC » @inzinko +$4.37 USDC » @0xScourgedev +$4.37 USDC » @Maroutis + +🏁 Findings summary +--------------------------------------— +High risk findings: 3 unique (53 total) +Med risk findings: 2 unique (24 total) +Gas reports: 11 (Best: @David Giladi) +QA reports: 88 (Best: @Bauchibred) +Advanced analysis reports: 14 (Best: @Priyam) + +Awards will be distributed on Polygon within the next week. Congratulations all! 💸 💸 💸 + +*Note: If you participated in this audit and don’t see your name on this list, please wait until the report is published and the findings repo is made public to check on your submissions.* + +{Reactions} +🎉 (5) + +[11/09/2023 12:24] 0xdetermination +congrats to @Testerbot! + +{Reactions} +🤖 + +[11/09/2023 12:26] daniel526 +spent less than an hour on this for 4 bucks!! + +{Reactions} +🫰 (2) + +[11/09/2023 12:31] _3agle +Kudos @Testerbot @0xDetermination 👍 +It was a good audit with a well-written codebase. + +{Reactions} +🫡 🤖 + +[11/09/2023 12:33] saksham0290 +This was a tough one , looks like I missed the post-judging QA lol + + +[11/09/2023 12:43] jvorex +@Maroutis business as usual! gg :hi5: + +{Reactions} +🫡 + +[11/09/2023 12:44] petrichor0961 +Defi Hack Lab 🦖🧙🏻‍♂️🤭 + +{Reactions} +10_10 + +[11/09/2023 12:44] blutorque +Congrats Everyone, + + +[11/09/2023 12:44] blutorque +🔥 + + +[11/09/2023 12:47] jvorex +congrats @0xhacksmithh @dirk_y + + +[11/09/2023 14:10] daureos +thank you everyone and congratulations on the rewards! + +{Reactions} +🫡 (8) + +[11/09/2023 15:10] moneyversed.eth +kindly accept fr + + +[11/09/2023 15:21] 0xdetermination +TY @Priyam 😃 + + +[11/09/2023 15:23] versiyon1 +when are the payments made ? this is my first earn + + +[11/09/2023 16:20] lsaudit +@versiyonbir - "Awards will be distributed on Polygon within the next week. Congratulations all!". When payment is made, there's announce at #📢announcements channel + + +[11/09/2023 17:03] 0xswahili +Hehehe quite surprised my submission earned nothing. Itching to read the final report on this. Anyways we'll get there one day...✌️✌️ Congrats to the winners. + + +[11/30/2023 21:07] mike_bello90 +Hi can someone tell me why my issue was marked as invalid, it has no comment why it's invalid an it's well explained to be market as unsatisfactory https://github.com/code-423n4/2023-09-venus-findings/issues/279 + +{Embed} +https://github.com/code-423n4/2023-09-venus-findings/issues/279 +Vulnerability: A Malicious User can Burn any revocable token issue ... +Lines of code https://github.com/code-423n4/2023-09-venus/blob/b11d9ef9db8237678567e66759003138f2368d23/contracts/Tokens/Prime/Prime.sol#L365-L382 Vulnerability details Impact Any User can Burn any... + + +[02/24/2024 02:40] itsmetechjay +ℹ️ This channel is pending archive. As a result, any private threads will be permanently deleted on Saturday, 02 March 2024. Please make sure to grab anything you might need from those before then. + + +============================================================== +Exported 411 message(s) +============================================================== diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE new file mode 100644 index 0000000..3afba4f Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/39e762b8-44ee-4035-aac7-04643a30dcc2-5B2FE differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/BscScan-logo-circle-AC319.jpg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/BscScan-logo-circle-AC319.jpg new file mode 100644 index 0000000..1f6f474 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/BscScan-logo-circle-AC319.jpg differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Cobbdouglas-40038.jpg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Cobbdouglas-40038.jpg new file mode 100644 index 0000000..1895796 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Cobbdouglas-40038.jpg differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/IMG_20231002_120304-93852.jpg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/IMG_20231002_120304-93852.jpg new file mode 100644 index 0000000..c074180 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/IMG_20231002_120304-93852.jpg differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Screenshot_2023-09-28_at_22.26.17-C2482.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Screenshot_2023-09-28_at_22.26.17-C2482.png new file mode 100644 index 0000000..94c88f2 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Screenshot_2023-09-28_at_22.26.17-C2482.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Screenshot_2023-10-01_at_19.27.05-545B8.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Screenshot_2023-10-01_at_19.27.05-545B8.png new file mode 100644 index 0000000..37d5698 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/Screenshot_2023-10-01_at_19.27.05-545B8.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/apy_vs_xvs-AA706.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/apy_vs_xvs-AA706.png new file mode 100644 index 0000000..560968f Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/apy_vs_xvs-AA706.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/c4-og-banner-5486A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/c4-og-banner-5486A.png new file mode 100644 index 0000000..c685054 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/c4-og-banner-5486A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/card-1C40E.jpg b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/card-1C40E.jpg new file mode 100644 index 0000000..51eb134 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/card-1C40E.jpg differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/foundry-playground-for-venus-audit-6AF58 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/foundry-playground-for-venus-audit-6AF58 new file mode 100644 index 0000000..e945ebf Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/foundry-playground-for-venus-audit-6AF58 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/gist-og-image-14833.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/gist-og-image-14833.png new file mode 100644 index 0000000..615ce58 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/gist-og-image-14833.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-5A77D.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-5A77D.png new file mode 100644 index 0000000..fe83301 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-5A77D.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-8FC4A.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-8FC4A.png new file mode 100644 index 0000000..6e70a54 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-8FC4A.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-9FBAD.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-9FBAD.png new file mode 100644 index 0000000..9c3f68a Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-9FBAD.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-A17AD.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-A17AD.png new file mode 100644 index 0000000..454eb33 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-A17AD.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-AFFBC.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-AFFBC.png new file mode 100644 index 0000000..15c5fd3 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-AFFBC.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-CCDE4.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-CCDE4.png new file mode 100644 index 0000000..a996bc5 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/image-CCDE4.png differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/protocol-reserve-2BD14 b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/protocol-reserve-2BD14 new file mode 100644 index 0000000..5b7c741 Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/protocol-reserve-2BD14 differ diff --git a/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/spaces2FSfxZmzf9N5T5Npv859XY2Fuploads2FOaI-DA3B9.png b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/spaces2FSfxZmzf9N5T5Npv859XY2Fuploads2FOaI-DA3B9.png new file mode 100644 index 0000000..9282e7e Binary files /dev/null and b/discord-export/Code4rena - ARCHIVE-Q3-2023 - venus-sep28 [1154526680434610176].txt_Files/spaces2FSfxZmzf9N5T5Npv859XY2Fuploads2FOaI-DA3B9.png differ