# SmartContract Code Overview

The pilot project has a total of two Smart Contracts.

Marketing Reception Contract for writing and recording\
MDX Contract is a reward for the user and a payment method for the user.

We used ERC20 to create tokens that serve as a means of payment.

<figure><img src="https://2068156269-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6hoZhd1q3x1M0zl0fUh7%2Fuploads%2FmVEL0fZ03CyEmbKY3t7R%2Fimage.png?alt=media&#x26;token=ac1a9266-30d8-4b1e-b75d-cbb754d66a39" alt=""><figcaption></figcaption></figure>

### MDX (MadongX Token)

It used the ERC20 standard and added Pausible to prepare for special situations

Blacklist to prevent fraudulent users, and MultiTransfer Token for administrators.

### Marketing Reception

Marketing Contract provides rewards to users who agree to receive marketing.

Additional data is needed to manage marketing consent. So we separated the above functions into three Contracts : **RewardPool**, **UserStore**, and **MarketingReceptionStore.**

Each Contract does not call each other, and each manages Reward, Userdata, and MarketingReceptionData
