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

Dominant assurance contract #318

Closed
3 tasks done
ProgramCrafter opened this issue Sep 22, 2023 · 12 comments
Closed
3 tasks done

Dominant assurance contract #318

ProgramCrafter opened this issue Sep 22, 2023 · 12 comments
Assignees
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers

Comments

@ProgramCrafter
Copy link
Contributor

ProgramCrafter commented Sep 22, 2023

Summary

Create contract that implements dominant assurance payments.

Context

DACs can incentivize people to support project initiatives: if the target amount is not reached, everyone who supported project gets a bonus, and otherwise the project is built benefitting everyone.

Note: this footstep doesn't include a social platform to check reputation of those who proposed project.

Goals

  • Create FunC contract or system of contracts implementing DACs

Deliverables

  • Create contract with tests
  • Publish the contract under MIT license

Definition of Done

  • Contract created
  • Tests created
  • Contract published

Estimate suggested reward

  • Standard TON Footstep NFT
  • 450$ in TON

Total: 450$

Oriental Release Date

In 2 weeks after approval.

@delovoyhomie
Copy link
Collaborator

I studied the work of this contract. It's really useful and not quite complicated in my opinion.

@Gusarich, @Naltox, what do you think?

@aSpite
Copy link
Contributor

aSpite commented Sep 23, 2023

I have studied the DAC idea and would like to develop this contract if it is approved.

@alirezatabatabaeian
Copy link
Contributor

alirezatabatabaeian commented Sep 24, 2023

Hi there
This project involves two main sections:

  • Investment Part
  • Post-Campaign Part

I've just done the first part HERE but not tested yet.
You can reach me through My Telegram Account and have a discussion about the project.

@ProgramCrafter
Copy link
Contributor Author

Hi @alirezatabatabaeian! I'm grateful for your contribution, though I have to note that @aSpite volunteered to do this task first. Also, your contract isn't yet published under MIT license.

@delovoyhomie
Copy link
Collaborator

I needed time to study the mechanics of the contract's operation, and it turned out to be really interesting. This material will be useful for learning purposes and may also be applicable in product projects.

@delovoyhomie delovoyhomie added Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers labels Sep 28, 2023
@hitaspdotnet
Copy link

I like to implement this contract in Tact today. If needed.

@delovoyhomie
Copy link
Collaborator

@howardpen9, actually, I doubt the optimization of the solution on Tact. What do you think?

@aSpite
Copy link
Contributor

aSpite commented Oct 7, 2023

@delovoyhomie

I hope if the idea of writing this contract the Tact is approved, the reward will be chosen fairly, taking into account the difference in complexity in the languages, as well as the fact that there will be a ready-made solution on FunC and Blueprint tests (I plan to publish the contract today).

@aSpite
Copy link
Contributor

aSpite commented Oct 7, 2023

Contract and tests are ready: https://github.com/aSpite/dominant-assurance-contract

Wallet: EQDKbjIcfM6ezt8KjKJJLshZJJSqX7XOA4ff-W72r5gqPrHF

@krigga
Copy link

krigga commented Oct 24, 2023

@aSpite having done a quick review of the code, I have the following suggestions:

@aSpite
Copy link
Contributor

aSpite commented Oct 27, 2023

@krigga ,

  1. The dictionary is used for sending transactions, so it will be more expensive to collect the address from the hash each time than if you immediately receive a slice with the address.

  2. Due to inaccuracy in calculations, goal will not be accurately calculated, so I store what the user passed so that the getter gives exactly the number that was passed.

@delovoyhomie
Copy link
Collaborator

Rewards sent Thank you for the contribution.

Questbook proposal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers
Projects
None yet
Development

No branches or pull requests

6 participants