# \[Edited\] Allow Genie contracts to be uploaded

**URL:** <https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407>\
**Category:** DApps / Tooling\
**Tags:** passed\
**Created:** [September 26, 2023, 2:23pm UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407 "2023-09-26T14:23:50Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![xian\_coinhall](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/xian_coinhall/32/1519_2.png) [@xian\_coinhall](https://forum.osmosis.zone/u/xian_coinhall)\
**Post date:** [September 26, 2023, 2:23pm UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/1 "2023-09-26T14:23:50Z")

</div>

## Summary

Passing this proposal gives the Coinhall team the ability to upload CosmWasm contracts to Osmosis mainnet relating to Genie, a campaign reward platform, without seeking further governance approval. Genie brings superior incentive and distribution mechanisms to Osmosis and is a proud [recipient](https://grants.osmosis.zone/grant-recipients) of the Osmosis Grant Program (Batch 15).

## About Genie

The Genie platform first launched on Terra (phoenix-1) at 27 January 2023, and has since successfully ran 28+ campaigns over the past 8 months. The Coinhall team is now bringing this gamification of incentives and identity to Osmosis.

Genie allows anyone on Osmosis to create and run on-chain campaigns and reward users with any token on Osmosis. Engagement of communities and driving on-chain actions are made easy with this integration.

Creators are free to decide the parameters of their choice: which wallets to target, what on-chain mission to set, and what rewards to provide. Only eligible wallets that have completed the missions can claim their due rewards. This opens possibilities of use cases such as bonus rewards for long-term liquidity providers, retroactive airdrops, re-targeting inactive users, loyalty program, cross-platform partnerships, giveaways, and many more.

Other more powerful features are being worked on and will be released in due time.

## Technical Details

Genie is made up of two contracts:

- `genie-airdrop`: the contract to be instantiated per campaign, and which end users claim rewards from
- `genie-airdrop-factory`: the factory contract which creators will use to instantiate the `genie-airdrop` contract

There is a one-to-one relationship between campaigns and `genie-airdrop` contracts. Every new campaign should instantiate a new `genie-airdrop` contract by executing the `CreateAirdrop` message to the `genie-airdrop-factory` contract. Creators who instantiate the reward contracts are the only parties allowed to withdraw from or deposit into the contracts (with certain limitations to protect the end user). For more information regarding the exact technical details, refer to the source code’s various READMEs at [https://github.com/coinhall/genie-contracts](https://github.com/coinhall/genie-contracts/releases/tag/v0.1.1).

While this proposal gives authority for `osmo1yp8qwkfs964pkg3rge3k6ree2e6lrttgzs4r45` to permissionlessly upload any CosmWasm contracts to Osmosis, the passing of this proposal only signals approval for contracts relating to the function of the Genie platform to be uploaded.

## Audit

The contracts have undergone Oak Security’s audit and the full report can be found here: [https://github.com/oak-security/audit-reports/blob/master/Coinhall/2023-09-26 Audit Report - Coinhall Genie v1.0.pdf](https://github.com/oak-security/audit-reports/blob/master/Coinhall/2023-09-26%20Audit%20Report%20-%20Coinhall%20Genie%20v1.0.pdf).

For full disclosure, a few commits for various bug fixes and feature improvements have been made after the audit. Most notably, a new “Lootbox” feature, which gives every claim a probabilistic chance of earning different amount of rewards, has been added. Users are free to view our open-sourced contract located at [https://github.com/coinhall/genie-contracts](https://github.com/coinhall/genie-contracts/releases/tag/v0.1.1).

## Links

- Forum: [[Edited] Allow Genie contracts to be uploaded - #2 by JohnnyWyles](https://forum.osmosis.zone/t/upload-genie-contract-v1-01/407/2)
- Website (create campaigns): [https://genie.coinhall.org](https://genie.coinhall.org/)
- Website (claim rewards): [https://coinhall.org/rewards](https://coinhall.org/rewards)
- User docs: [https://www.notion.so/coinhall/Genie-Docs-470702baf64e4a29b90452a7b12191cc](https://www.notion.so/Genie-Docs-470702baf64e4a29b90452a7b12191cc?pvs=21)
- Contract source code: [https://github.com/coinhall/genie-contracts](https://github.com/coinhall/genie-contracts/releases/tag/v0.1.1)

## Contacts

- Twitter: [https://twitter.com/coinhall\_org](https://twitter.com/coinhall_org)
- Telegram: [Telegram: View @coinhall\_org](https://t.me/coinhall_org)

---

<div class="post-metadata">

**Author:** ![JohnnyWyles](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/johnnywyles/32/3114_2.png) [@JohnnyWyles](https://forum.osmosis.zone/u/JohnnyWyles)\
**Post date:** [September 26, 2023, 4:29pm UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/2 "2023-09-26T16:29:09Z")

</div>

These upload posts are meant to be on the forum for 7 days before chain to allow anyone interesting in auditing the public code to do so. Just commenting since I noticed the target on-chain date of 27th September.

This looks really useful! Excited to see it become available.

---

<div class="post-metadata">

**Author:** ![LeonoorsCryptoman](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/leonoorscryptoman/32/208_2.png) [@LeonoorsCryptoman](https://forum.osmosis.zone/u/LeonoorsCryptoman)\
**Post date:** [September 26, 2023, 7:38pm UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/3 "2023-09-26T19:38:06Z")

</div>

Sounds good!

Also to counter the narrative that the OGP never yields results it is a good signal to pass something like this ^^

---

<div class="post-metadata">

**Author:** ![xian\_coinhall](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/xian_coinhall/32/1519_2.png) [@xian\_coinhall](https://forum.osmosis.zone/u/xian_coinhall)\
**Post date:** [September 27, 2023, 6:42am UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/4 "2023-09-27T06:42:17Z")

</div>

We understand that typically the onchain proposal goes a week after the forum post but we hope that voters can make an exception as we’re really excited about the product and hope to display it live during Cosmoverse (2-4 Oct)!

---

<div class="post-metadata">

**Author:** ![xian\_coinhall](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/xian_coinhall/32/1519_2.png) [@xian\_coinhall](https://forum.osmosis.zone/u/xian_coinhall)\
**Post date:** [September 27, 2023, 6:52am UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/5 "2023-09-27T06:52:22Z")

</div>

can’t wait to bring this live to everyone! ^^

---

<div class="post-metadata">

**Author:** ![LeonoorsCryptoman](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/leonoorscryptoman/32/208_2.png) [@LeonoorsCryptoman](https://forum.osmosis.zone/u/LeonoorsCryptoman)\
**Post date:** [September 28, 2023, 6:58pm UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/6 "2023-09-28T18:58:27Z")

</div>

I understand, but we have agreed on having at least 1 week for smart contracts to be put on the forum. Going on chain within a day is a solid break with the agreements and will sadly get a no from me anyway.

If it is on the testnet, you could have displayed from there as well without running into a rejected proposal…  
Looking at the [proposal](https://www.mintscan.io/osmosis/proposals/640) a lot of people simply don’t care about keeping a process (like we have seen countless times sadly), but I will stand by the agreements made.

---

<div class="post-metadata">

**Author:** ![xian\_coinhall](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/xian_coinhall/32/1519_2.png) [@xian\_coinhall](https://forum.osmosis.zone/u/xian_coinhall)\
**Post date:** [September 29, 2023, 4:14am UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/7 "2023-09-29T04:14:00Z")

</div>

Hey there, we understand your concern about us breaking the 7-day process and thanks for sharing the reason for your no.

It is to our knowledge that this process is put as a safeguard to enable the public to audit the source code if need be. However, the smart contracts mentioned have been open-sourced and live on Terra since 27 January 2023 and have already facilitated 28+ campaigns and counting. We also regularly conduct E2E tests with testnets - refer to this directory: [https://github.com/coinhall/genie-contracts/tree/main/scripts](https://github.com/coinhall/genie-contracts/tree/main/scripts). On Osmosis testnet, we have also conducted the full E2E tests using this address: [Interchain Explorer by Cosmostation](https://testnet.mintscan.io/osmosis-testnet/account/osmo1s74lm4f07y8099xwx804g9lu3rsju94zdw25jx).

Again, we are hoping that the Osmosis community will make an exception for this proposal since Cosmoverse is just a few days away and we would really like to show the capabilities of Genie during then. Rest assured, we will follow the proper governance decorum in our future proposals.

---

<div class="post-metadata">

**Author:** ![LeonoorsCryptoman](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/leonoorscryptoman/32/208_2.png) [@LeonoorsCryptoman](https://forum.osmosis.zone/u/LeonoorsCryptoman)\
**Post date:** [September 29, 2023, 5:07am UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/8 "2023-09-29T05:07:52Z")

</div>

It looks like passing anyway (since a lot of validators don’t care about following their own approved set of rules, but hey, who am I?)

For me it is all about creating a precedent. If we allow you guys to “break” the rules, why should we enforce them for others?

---

<div class="post-metadata">

**Author:** ![RedRabbit33](https://avatars.discourse-cdn.com/v4/letter/r/e9c0ed/32.png) [@RedRabbit33](https://forum.osmosis.zone/u/RedRabbit33)\
**Post date:** [September 29, 2023, 6:29am UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/9 "2023-09-29T06:29:30Z")

</div>

Just looked at Genie for the first time and thought wouldn’t it be cool if it was possible to create a campaign on Genie that rewards those that follow the rules that governance has passed.

---

<div class="post-metadata">

**Author:** ![xian\_coinhall](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/xian_coinhall/32/1519_2.png) [@xian\_coinhall](https://forum.osmosis.zone/u/xian_coinhall)\
**Post date:** [September 29, 2023, 6:39am UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/10 "2023-09-29T06:39:27Z")

</div>

You are a community member of Osmosis who cares. So I understand that our proposal puts the community in a difficult position to question future proposers who may do the same.

---

<div class="post-metadata">

**Author:** ![xian\_coinhall](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/xian_coinhall/32/1519_2.png) [@xian\_coinhall](https://forum.osmosis.zone/u/xian_coinhall)\
**Post date:** [September 29, 2023, 6:42am UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/11 "2023-09-29T06:42:00Z")

</div>

Guess we wouldn’t qualify for it 😬 but it’s possible for someone to create a campaign to reward proposers who follow governance rules since it’s easy to check the addresses of these proposers and whether they are good actors with regards to governance.

---

<div class="post-metadata">

**Author:** ![LeonoorsCryptoman](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.osmosis.zone/leonoorscryptoman/32/208_2.png) [@LeonoorsCryptoman](https://forum.osmosis.zone/u/LeonoorsCryptoman)\
**Post date:** [September 29, 2023, 6:58am UTC](https://forum.osmosis.zone/t/edited-allow-genie-contracts-to-be-uploaded/407/12 "2023-09-29T06:58:35Z")

</div>

Yeah, it is nothing personal 🙂

If it had been 7 days on the forum my vote had been a Yes.
