Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fuzzing tests #925

Closed
Tracked by #928
rndquu opened this issue Apr 16, 2024 · 33 comments · Fixed by #940
Closed
Tracked by #928

Fuzzing tests #925

rndquu opened this issue Apr 16, 2024 · 33 comments · Fixed by #940

Comments

@rndquu
Copy link
Member

rndquu commented Apr 16, 2024

We should implement fuzzing tests for LibUbiquityPool. I think it would be enough to fuzz only "user scenarios":

Possible solutions for fuzzing tests (I would simply start with foundry since we're using it as a development framework + it also contains invariant testing):

What should be done:

  1. Impelent fuzzing tests for the scenarios described above (you may create them in a separate test file like UbiquityPoolFacet.fuzz.t.sol so we could distinguish unit and fuzz tests)
  2. Setup testing CI this way:
    a) On PR fuzzing tests should run with a small number of runs (so that we could merge PRs fast)
    b) On merge to the development branch fuzzing tests should run with a great number of runs to test many cases (keep in mind that github action runnners can run for 6 hours)
@0x4007
Copy link
Member

0x4007 commented Apr 16, 2024

I thought there was a reason why we didn't implement echidna when I asked about it

@rndquu
Copy link
Member Author

rndquu commented Apr 17, 2024

I thought there was a reason why we didn't implement echidna when I asked about it

At that time we didn't have a clear scope of what to fuzz. Now we have the LibUbiquityPool which is going to be deployed on mainnet, so the contract scope is clear.

@rndquu
Copy link
Member Author

rndquu commented Apr 17, 2024

I thought there was a reason why we didn't implement echidna when I asked about it

I think that auditors from our 1st Sherlock audit have already performed all of the fuzz, invariant and formal verification tests so it makes sense to set a normal priority for:

@gitcoindev
Copy link
Contributor

I thought there was a reason why we didn't implement echidna when I asked about it

I think that auditors from our 1st Sherlock audit have already performed all of the fuzz, invariant and formal verification tests so it makes sense to set a normal priority for:

Good point, I remember that quite a few issues were detected with different fuzzers on top of manual code reviews.

Copy link

ubiquibot bot commented May 8, 2024

@gitcoindev the deadline is at 2024-05-09T10:02:25.473Z

@gitcoindev
Copy link
Contributor

/start

Copy link

ubiquibot bot commented May 8, 2024

! Too many assigned issues, you have reached your max limit

@gitcoindev
Copy link
Contributor

! Too many assigned issues, you have reached your max limit

I will work on this behind the scenes and re-start the bot when the other issues are closed.

@3scava1i3r
Copy link

3scava1i3r commented May 8, 2024

@gitcoindev do you mind if i work on this one,if you have other tasks?

@gitcoindev
Copy link
Contributor

gitcoindev commented May 8, 2024

@gitcoindev do you mind if i work on this one,if you have other tasks?

Hi @3scava1i3r I have already started (the other tasks are finished, just waiting to be officially closed), but there is good news for you. We have a twin task for invariant tests here: #563 , would you mind picking that one instead?

@gitcoindev
Copy link
Contributor

@3scava1i3r please confirm, whether you would be fine working on the twin task mentioned in the comment above - invariant test. If you are willing to work on this, please execute start command in #563 and the task will be automatically assigned to you.

@0xJoichiro
Copy link

Hey there! @gitcoindev 👋 I've been working on the 'Better Security' tasks and wanted to ask for some assistance. I tried using the 'start' command to pick a task, but it doesn't seem to be working for me.

I've made some progress and don't want to interrupt the workflow or cause any issues. Could you please guide me on how
to pick a task properly, so we can ensure a smooth collaboration?
Thank you so much for your time and help! 🙏 Really excited to contribute to this project!

@3scava1i3r
Copy link

@3scava1i3r please confirm, whether you would be fine working on the twin task mentioned in the comment above - invariant test. If you are willing to work on this, please execute start command in #563 and the task will be automatically assigned to you.

No sir,I will find something else to work on then

@gitcoindev
Copy link
Contributor

gitcoindev commented May 8, 2024

Hi @0xJoichiro . Let's try to fix picking the task for you. There are a few commands available in the workflow. If you type /help command like I will do below, all the commands will be listed. In order to start a task, you just need to type /start in comment. Please let me know which tasks you have problem with and let's try to assign this to you. After you execute /start command you should open a draft pull request within a time frame mentioned in the issue label. The draft pull request does not need to have any major changes, can be just a comment. If you push code to the pull request branch and on a daily basis add comments to the issue you are working on, the bot will keep the task assigned to you until you solve it.

@gitcoindev
Copy link
Contributor

/help

Copy link

ubiquibot bot commented May 8, 2024

Available Commands

Command Description Example
/start Assign yourself to the issue. /start
/stop Unassign yourself from the issue. /stop
/help List all available commands. /help
/query Returns the user's wallet, access, and multiplier information. /query @user
/ask Ask a context aware question. /ask is x or y the best approach?
/multiplier Set the task payout multiplier for a specific contributor, and provide a reason for why. /multiplier @user 0.5 "multiplier
reason"
/labels Set access control, for admins only. /labels @user priority time
price
/authorize Approve a label change, for admins only. /authorize
/wallet Register your wallet address for payments. /wallet ubq.eth

@0xJoichiro
Copy link

/help

Copy link

ubiquibot bot commented May 8, 2024

# Skipping to list available commands.

@0xJoichiro
Copy link

Hi @0xJoichiro . Let's try to fix picking the task for you. There are a few commands available in the workflow. If you type /help command like I will do below, all the commands will be listed. In order to start a task, you just need to type /start in comment. Please let me know which tasks you have problem with and let's try to assign this to you. After you execute /start command you should open a draft pull request within a time frame mentioned in the issue label. The draft pull request does not need to have any major changes, can be just a comment. If you push code to the pull request branch and on a daily basis add comments to the issue you are working on, the bot will keep the task assigned to you until you solve it.

understood currently working on #927 using openzeplin defender

@molecula451
Copy link
Member

fuzzing testing upcoming? @gitcoindev

@gitcoindev
Copy link
Contributor

fuzzing testing upcoming? @gitcoindev

Yes, I will open a pull request until Friday EOD.

@gitcoindev
Copy link
Contributor

I (no AI involved) identified the following properties of the system in case of mint, redeem and collection redemption :

Dollar token mint properties:

  1. Given proper amount of governance tokens and collateral tokens for non 1-to-1 mint, when Dollar price is too low for the mint price threshold, no Dollar tokens can be minted. The same applies for 1-to-1 mint with governance tokens only.
  2. If minimal amount of Dollars requested to be minted is higher than amount that can be minted, including the subtracted minting fee, no Dollar tokens can be minted with Dollar slippage returned.
  3. If provided amount of collateral is not enough to cover the mint, no Dollar tokens can be minted with Collateral slippage returned.
  4. If provided amount of governance tokens is not enough to cover the mint for 1-to-1 and fractional mint, no Dollar tokens can be minted with Governance slippage returned.
  5. The Dollars can be minted for collateral ratio to governance tokens between 0 to 100. This means that it should be possible to mint Dollar tokens just providing collateral tokens, just providing governance tokens or the combination of both that will satisfy total collateral needed to mint given amount of tokens.

Dollar token redeem properties:

  1. Dollar cannot be redeemed if the the dollar price is above the pool threshold, returning Dollar price too high.
  2. There must be sufficient amount of collateral in the pool to redeem dollars.
  3. If amount of collateral requested to redeem is higher then calculated based on current price, Collateral slippage is returned and Dollars cannot be redeemed.
  4. If amount of governance tokens requested to redeem is higher then calculated based on current price, Governance slippage is returned and Dollars cannot be redeemed.
  5. The Dollars can be redeemed for collateral ratio to governance tokens between 0 to 100. This means that it should be possible to redeem just collateral tokens, just governance tokens or the combination of both that will satisfy total collateral needed to redeem given amount of Dollar tokens.

Collecting redemption properties:

  1. Given any amount of governance tokens and collateral token balances that are available to be collected after the redemption, they can be collected after certain number of blockchain blocks pass since the last redemption happened for the same account.

Those properties will be a base for the fuzz tests. Multiple inputs shall be provided by the test harness to test each of the properties.

@rndquu
Copy link
Member Author

rndquu commented May 24, 2024

I (no AI involved) identified the following properties of the system in case of mint, redeem and collection redemption :

Dollar token mint properties:

  1. Given proper amount of governance tokens and collateral tokens for non 1-to-1 mint, when Dollar price is too low for the mint price threshold, no Dollar tokens can be minted. The same applies for 1-to-1 mint with governance tokens only.
  2. If minimal amount of Dollars requested to be minted is higher than amount that can be minted, including the subtracted minting fee, no Dollar tokens can be minted with Dollar slippage returned.
  3. If provided amount of collateral is not enough to cover the mint, no Dollar tokens can be minted with Collateral slippage returned.
  4. If provided amount of governance tokens is not enough to cover the mint for 1-to-1 and fractional mint, no Dollar tokens can be minted with Governance slippage returned.
  5. The Dollars can be minted for collateral ratio to governance tokens between 0 to 100. This means that it should be possible to mint Dollar tokens just providing collateral tokens, just providing governance tokens or the combination of both that will satisfy total collateral needed to mint given amount of tokens.

Dollar token redeem properties:

  1. Dollar cannot be redeemed if the the dollar price is above the pool threshold, returning Dollar price too high.
  2. There must be sufficient amount of collateral in the pool to redeem dollars.
  3. If amount of collateral requested to redeem is higher then calculated based on current price, Collateral slippage is returned and Dollars cannot be redeemed.
  4. If amount of governance tokens requested to redeem is higher then calculated based on current price, Governance slippage is returned and Dollars cannot be redeemed.
  5. The Dollars can be redeemed for collateral ratio to governance tokens between 0 to 100. This means that it should be possible to redeem just collateral tokens, just governance tokens or the combination of both that will satisfy total collateral needed to redeem given amount of Dollar tokens.

Collecting redemption properties:

  1. Given any amount of governance tokens and collateral token balances that are available to be collected after the redemption, they can be collected after certain number of blockchain blocks pass since the last redemption happened for the same account.

Those properties will be a base for the fuzz tests. Multiple inputs shall be provided by the test harness to test each of the properties.

Sounds good. The same "properties" could be later converted to invariants.

@gitcoindev
Copy link
Contributor

/start

Copy link

ubiquibot bot commented May 24, 2024

Warning! This task was created over 38 days ago. Please confirm that this issue specification is accurate before starting.
DeadlineSat, May 25, 2:21 PM UTC
Registered Wallet 0x7e92476D69Ff1377a8b45176b1829C4A5566653a
Tips:
  • Use /wallet 0x0000...0000 if you want to update your registered payment wallet address.
  • Be sure to open a draft pull request as soon as possible to communicate updates on your progress.
  • Be sure to provide timely updates to us when requested, or you will be automatically unassigned from the task.

@gitcoindev
Copy link
Contributor

Draft pull request with a skeleton for tests opened. I will mark it as ready for review when all the fuzz tests based on properties above will be implemented.

@gitcoindev
Copy link
Contributor

Pull request ready for the review.

@gitcoindev
Copy link
Contributor

/start

Copy link

ubiquibot bot commented Jun 6, 2024

! Too many assigned issues, you have reached your max limit

@gitcoindev
Copy link
Contributor

! Too many assigned issues, you have reached your max limit

Interesting, I received a notification in the pull request that bot unassigned me, so I tried to re-assign myself.

Copy link

ubiquibot bot commented Jun 24, 2024

+ Evaluating results. Please wait...

Copy link

ubiquibot bot commented Jun 24, 2024

[ 1.7 WXDAI ]

@0x4007
Contributions Overview
ViewContributionCountReward
IssueComment11.7
Conversation Incentives
CommentFormattingRelevanceReward
I thought there was a reason why we didn't implement echidna whe...
1.70.561.7

[ 8.1 WXDAI ]

@molecula451
Contributions Overview
ViewContributionCountReward
IssueComment10.4
ReviewComment17.7
Conversation Incentives
CommentFormattingRelevanceReward
fuzzing testing upcoming? @gitcoindev ...
0.40.8650.4
hi @gitcoindev can we instead organize the tests inside a "fuzz"...
7.7
code:
  count: 1
  score: "1"
  words: 10
0.7257.7

[ 462.4 WXDAI ]

@gitcoindev
Contributions Overview
ViewContributionCountReward
IssueTask1300
IssueComment100
IssueComment10102.8
ReviewComment729.8
ReviewComment729.8
Conversation Incentives
CommentFormattingRelevanceReward
> > I thought there was a reason why we didn't implement e...
-
a:
  count: 3
  score: "0"
  words: 9
li:
  count: 3
  score: "0"
  words: 42
0.855-
> ```diff > ! Too many assigned issues, you h...
-
code:
  count: 1
  score: "0"
  words: 0
0.615-
> @gitcoindev do you mind if i work on this one,if you have o...
-0.675-
@3scava1i3r please confirm, whether you would be fine working on...
-0.735-
Hi @0xJoichiro . Let's try to fix picking the task for you. Ther...
-
code:
  count: 3
  score: "0"
  words: 3
0.765-
> fuzzing testing upcoming? @gitcoindev

Yes, I will open a...

-0.835-
I (no AI involved) identified the following properties of the sy...
-

li:
  count: 11
  score: "0"
  words: 359
code:
  count: 6
  score: "0"
  words: 14
0.815-
Draft pull request with a skeleton for tests opened. I will mark...
-0.71-
Pull request ready for the review....
-0.625-
> ```diff > ! Too many assigned issues, you h...
-
code:
  count: 1
  score: "0"
  words: 0
0.785-
> > I thought there was a reason why we didn't implement e...
8
a:
  count: 3
  score: "3"
  words: 9
li:
  count: 3
  score: "3"
  words: 42
0.8558
> ```diff > ! Too many assigned issues, you h...
2.9
code:
  count: 1
  score: "1"
  words: 0
0.6152.9
> @gitcoindev do you mind if i work on this one,if you have o...
4.80.6754.8
@3scava1i3r please confirm, whether you would be fine working on...
50.7355
Hi @0xJoichiro . Let's try to fix picking the task for you. Ther...
17.4
code:
  count: 3
  score: "3"
  words: 3
0.76517.4
> fuzzing testing upcoming? @gitcoindev

Yes, I will open a...

10.8351
I (no AI involved) identified the following properties of the sy...
57.2

li:
  count: 11
  score: "11"
  words: 359
code:
  count: 6
  score: "6"
  words: 14
0.81557.2
Draft pull request with a skeleton for tests opened. I will mark...
2.90.712.9
Pull request ready for the review....
0.60.6250.6
> ```diff > ! Too many assigned issues, you h...
3
code:
  count: 1
  score: "1"
  words: 0
0.7853
This pull request is still a draft. It contains a skeleton for f...
30.83
I am playing with the fuzzer a lot and discovered an interesting...
11.3
code:
  count: 2
  score: "2"
  words: 4
0.7311.3
I will finish with the whole test suite till Friday EOD and set ...
1.90.791.9
I pushed the remaining fuzz tests also for redemption delay, set...
1.60.81.6
> @gitcoindev > > 1. Could you add 2 more fuzz tests...
2.6
li:
  count: 2
  score: "2"
  words: 11
0.622.6
Hi @rndquu @0x4007 @molecula451 the PR is ready to review, I exe...
7.80.7457.8
@molecula451 I moved fuzz tests as requested, could you please h...
1.60.7851.6
This pull request is still a draft. It contains a skeleton for f...
30.83
I am playing with the fuzzer a lot and discovered an interesting...
11.3
code:
  count: 2
  score: "2"
  words: 4
0.7311.3
I will finish with the whole test suite till Friday EOD and set ...
1.90.791.9
I pushed the remaining fuzz tests also for redemption delay, set...
1.60.81.6
> @gitcoindev > > 1. Could you add 2 more fuzz tests...
2.6
li:
  count: 2
  score: "2"
  words: 11
0.622.6
Hi @rndquu @0x4007 @molecula451 the PR is ready to review, I exe...
7.80.7457.8
@molecula451 I moved fuzz tests as requested, could you please h...
1.60.7851.6

[ 115.8 WXDAI ]

@rndquu
Contributions Overview
ViewContributionCountReward
IssueSpecification146
IssueComment341.8
ReviewComment228
Conversation Incentives
CommentFormattingRelevanceReward
We should implement fuzzing tests for [LibUbiquityPool](https://...
46
a:
  count: 4
  score: "4"
  words: 9
li:
  count: 8
  score: "8"
  words: 114
code:
  count: 2
  score: "2"
  words: 5
146
> I thought there was a reason why we didn't implement echidn...
7.6
a:
  count: 1
  score: "1"
  words: 1
0.857.6
> I thought there was a reason why we didn't implement echidn...
14
li:
  count: 3
  score: "3"
  words: 24
0.8614
> I (no AI involved) identified the following properties of t...
20.2
a:
  count: 1
  score: "1"
  words: 1
li:
  count: 11
  score: "11"
  words: 359
code:
  count: 6
  score: "6"
  words: 14
0.81520.2
> I am playing with the fuzzer a lot and discovered an intere...
12.2
code:
  count: 3
  score: "6"
  words: 5
0.8112.2
@gitcoindev
  1. Could you add 2 more fuzz tests:
    a) If user ...
15.8
li:
  count: 2
  score: "4"
  words: 11
0.70515.8

[ 11.35 WXDAI ]

@0xJoichiro
Contributions Overview
ViewContributionCountReward
IssueComment211.35
Conversation Incentives
CommentFormattingRelevanceReward
Hey there! @gitcoindev 👋 I've been working on the 'Better Secu...
9.10.89.1
> Hi @0xJoichiro . Let's try to fix picking the task for you....
2.25
code:
  count: 3
  score: "0.75"
  words: 3
0.8852.25

Copy link

[ 0.958 WXDAI ]

@0x4007
Contributions Overview
View Contribution Count Reward
Issue Comment 1 0.4
Review Comment 1 0.558
Conversation Incentives
Comment Formatting Relevance Reward
I thought there was a reason why we didn't implement echidna whe…
1.6
content:
  p:
    count: 16
    score: 1
wordValue: 0.1
formattingMultiplier: 1
0.25 0.4
2% seems steep? Why was this decided to be the default? Please t…
3.1
content:
  p:
    count: 31
    score: 1
wordValue: 0.1
formattingMultiplier: 1
0.18 0.558

[ 37.5385 WXDAI ]

@rndquu
Contributions Overview
View Contribution Count Reward
Issue Specification 1 16.2
Issue Comment 3 10.273
Review Comment 4 11.0655
Conversation Incentives
Comment Formatting Relevance Reward
We should implement fuzzing tests for [LibUbiquityPool](https://…
16.2
content:
  p:
    count: 151
    score: 1
  a:
    count: 9
    score: 1
  code:
    count: 2
    score: 1
wordValue: 0.1
formattingMultiplier: 1
1 16.2
At that time we didn't have a clear scope of what to fuzz. Now w…
6.6
content:
  p:
    count: 32
    score: 1
  a:
    count: 1
    score: 1
wordValue: 0.2
formattingMultiplier: 1
0.845 5.577
I think that auditors from our 1st Sherlock audit have already p…
7.4
content:
  p:
    count: 37
    score: 1
wordValue: 0.2
formattingMultiplier: 1
0.44 3.256
Sounds good. The same "properties" could be later converted to […
2.4
content:
  p:
    count: 11
    score: 1
  a:
    count: 1
    score: 1
wordValue: 0.2
formattingMultiplier: 1
0.6 1.44
@0x4007 That 2% fee is used solely in the test files. Mint and …
2.6
content:
  p:
    count: 25
    score: 1
  a:
    count: 1
    score: 1
wordValue: 0.1
formattingMultiplier: 1
0.31 0.806
@gitcoindev How did you come up with the `90000` number?…
3.1
content:
  p:
    count: 28
    score: 1
  code:
    count: 2
    score: 1
  a:
    count: 1
    score: 1
wordValue: 0.1
formattingMultiplier: 1
0.85 2.635
This seems to be a low severity issue but keeping in mind that n…
3.2
content:
  p:
    count: 31
    score: 1
  code:
    count: 1
    score: 1
wordValue: 0.1
formattingMultiplier: 1
0.81 2.592
@gitcoindev 1. Could you add 2 more fuzz tests: a) If user mint…
6.1
content:
  p:
    count: 61
    score: 1
wordValue: 0.1
formattingMultiplier: 1
0.825 5.0325

[ 390.696 WXDAI ]

@gitcoindev
Contributions Overview
View Contribution Count Reward
Issue Task 1 300
Issue Comment 10 0
Review Comment 10 90.696
Conversation Incentives
Comment Formatting Relevance Reward
Good point, I remember that quite a few issues were detected wit…
0
content:
  p:
    count: 20
    score: 1
wordValue: 0
formattingMultiplier: 0
0.57 -
I will work on this behind the scenes and re-start the bot when …
0
content:
  p:
    count: 18
    score: 1
wordValue: 0
formattingMultiplier: 0
0.36 -
Hi @3scava1i3r I have already started (the other tasks are finis…
0
content:
  p:
    count: 42
    score: 1
wordValue: 0
formattingMultiplier: 0
0.35 -
@3scava1i3r please confirm, whether you would be fine working on…
0
content:
  p:
    count: 44
    score: 1
wordValue: 0
formattingMultiplier: 0
0.22 -
Hi @0xJoichiro . Let's try to fix picking the task for you. Ther…
0
content:
  p:
    count: 143
    score: 1
  code:
    count: 3
    score: 1
wordValue: 0
formattingMultiplier: 0
0.68 -
Yes, I will open a pull request until Friday EOD.
0
content:
  p:
    count: 10
    score: 1
wordValue: 0
formattingMultiplier: 0
0.76 -
I (no AI involved) identified the following properties of the sy…
0
content:
  p:
    count: 408
    score: 1
  code:
    count: 14
    score: 1
wordValue: 0
formattingMultiplier: 0
0.725 -
Draft pull request with a skeleton for tests opened. I will mark…
0
content:
  p:
    count: 29
    score: 1
wordValue: 0
formattingMultiplier: 0
0.69 -
Pull request ready for the review.
0
content:
  p:
    count: 6
    score: 1
wordValue: 0
formattingMultiplier: 0
0.715 -
Interesting, I received a notification in the pull request that …
0
content:
  p:
    count: 19
    score: 1
wordValue: 0
formattingMultiplier: 0
0.73 -
Resolves https://github.com/ubiquity/ubiquity-dollar/issues/925 …
0
content:
  p:
    count: 7
    score: 1
wordValue: 0
formattingMultiplier: 0
0.71 -
@0x4007 yes, as @rndquu mentioned, on deployment fees are set to…
8.4
content:
  p:
    count: 21
    score: 1
wordValue: 0.2
formattingMultiplier: 2
0.6 5.04
@rndquu when I executed longer fuzzing sessions I frequently enc…
32.4
content:
  p:
    count: 81
    score: 1
wordValue: 0.2
formattingMultiplier: 2
0.67 21.708
This pull request is still a draft. It contains a skeleton for f…
12
content:
  p:
    count: 30
    score: 1
wordValue: 0.2
formattingMultiplier: 2
0.62 7.44
I am playing with the fuzzer a lot and discovered an interesting…
42
content:
  p:
    count: 92
    score: 1
  code:
    count: 13
    score: 1
wordValue: 0.2
formattingMultiplier: 2
0.65 27.3
I will finish with the whole test suite till Friday EOD and set …
7.6
content:
  p:
    count: 19
    score: 1
wordValue: 0.2
formattingMultiplier: 2
0.59 4.484
I pushed the remaining fuzz tests also for redemption delay, set…
6.4
content:
  p:
    count: 16
    score: 1
wordValue: 0.2
formattingMultiplier: 2
0.625 4
Sure, thank you for the feedback.
2.4
content:
  p:
    count: 6
    score: 1
wordValue: 0.2
formattingMultiplier: 2
0.66 1.584
Hi @rndquu @0x4007 @molecula451 the PR is ready to review, I exe…
22.8
content:
  p:
    count: 57
    score: 1
wordValue: 0.2
formattingMultiplier: 2
0.65 14.82
@molecula451 I moved fuzz tests as requested, could you please h…
6.4
content:
  p:
    count: 16
    score: 1
wordValue: 0.2
formattingMultiplier: 2
0.675 4.32

[ 0.1225 WXDAI ]

@3scava1i3r
Contributions Overview
View Contribution Count Reward
Issue Comment 2 0.1225
Conversation Incentives
Comment Formatting Relevance Reward
@gitcoindev do you mind if i work on this one,if you have other …
0.35
content:
  p:
    count: 14
    score: 1
wordValue: 0.1
formattingMultiplier: 0.25
0.2 0.07
No sir,I will find something else to work on then
0.25
content:
  p:
    count: 10
    score: 1
wordValue: 0.1
formattingMultiplier: 0.25
0.21 0.0525

[ 0.0445 WXDAI ]

@0xJoichiro
Contributions Overview
View Contribution Count Reward
Issue Comment 2 0.0445
Conversation Incentives
Comment Formatting Relevance Reward
Hey there! @gitcoindev 👋 I've been working on the 'Better Secu…
2.225
content:
  p:
    count: 89
    score: 1
wordValue: 0.1
formattingMultiplier: 0.25
0.02 0.0445
understood currently working on https://github.com/ubiquity/ubiq…
0.2
content:
  p:
    count: 8
    score: 1
wordValue: 0.1
formattingMultiplier: 0.25
- -

[ 0 WXDAI ]

@molecula451
Contributions Overview
View Contribution Count Reward
Conversation Incentives
Comment Formatting Relevance Reward

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants