Skip to content

Commit

Permalink
fix: conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
fricoben committed Dec 13, 2023
2 parents 457b38c + a11d273 commit 9950cd6
Show file tree
Hide file tree
Showing 20 changed files with 637 additions and 201 deletions.
27 changes: 27 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,33 @@
"contributions": [
"code"
]
},
{
"login": "enitrat",
"name": "Mathieu",
"avatar_url": "https://avatars.githubusercontent.com/u/60658558?v=4",
"profile": "https://github.com/enitrat",
"contributions": [
"code"
]
},
{
"login": "Megumiiiiii",
"name": "megumii",
"avatar_url": "https://avatars.githubusercontent.com/u/98658943?v=4",
"profile": "https://github.com/Megumiiiiii",
"contributions": [
"code"
]
},
{
"login": "Pjewels",
"name": "Pjewels",
"avatar_url": "https://avatars.githubusercontent.com/u/149668320?v=4",
"profile": "https://github.com/Pjewels",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7,
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Scorecard analysis workflow
on:
# Only the default branch is supported.
branch_protection_rule:
schedule:
# Weekly on Saturdays.
- cron: "30 1 * * 6"
push:
branches: [main]

# Declare default permissions as read only.
permissions: read-all

jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-latest
permissions:
# Needed if using Code scanning alerts
security-events: write
# Needed for GitHub OIDC token if publish_results is true
id-token: write

steps:
- name: "Checkout code"
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1
with:
results_file: results.sarif
results_format: sarif
# Publish the results for public repositories to enable scorecard badges. For more details, see
# https://github.com/ossf/scorecard-action#publishing-results.
# For private repositories, `publish_results` will automatically be set to `false`, regardless
# of the value entered here.
publish_results: true

# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: SARIF file
path: results.sarif
retention-days: 30

# required for Code scanning alerts
- name: "Upload SARIF results to code scanning"
uses: github/codeql-action/upload-sarif@49abf0ba24d0b7953cb586944e918a0b92074c80 # v2.22.4
with:
sarif_file: results.sarif
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->

<!-- ************************************* -->
<!-- * HEADER WITH LOGO * -->
<!-- ************************************* -->
<p align="center">
<img src="assets/logo/logo.png" height="256">
</p>
Expand All @@ -14,6 +18,22 @@
<a href="https://unruggable.meme">https://unruggable.meme</a>
</p>

<!-- ************************************* -->
<!-- * BADGES * -->
<!-- ************************************* -->
<div align="center">
<br />

<a href="https://github.com/keep-starknet-strange/unruggable.meme/actions/workflows/contracts_test.yml"><img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/keep-starknet-strange/unruggable.meme/contracts_test.yml?style=for-the-badge" height=30></a>
<a href="https://securityscorecards.dev/viewer/?uri=github.com/keep-starknet-strange/unruggable.meme"><img alt="OpenSSF Scorecard Report" src="https://img.shields.io/ossf-scorecard/github.com/keep-starknet-strange/unruggable.meme?label=openssf%20scorecard&style=for-the-badge" height=30></a>
<a href="https://github.com/keep-starknet-strange/unruggable.meme/blob/main/LICENSE"><img src="https://img.shields.io/github/license/keep-starknet-strange/unruggable.meme.svg?style=for-the-badge" alt="Project license" height="30"></a>
<a href="https://twitter.com/UnrugMemec0in"><img src="https://img.shields.io/twitter/follow/UnrugMemec0in?style=for-the-badge&logo=twitter" alt="Follow Unruggable Meme on Twitter" height="30"></a>
</div>

<!-- ************************************* -->
<!-- * CONTENTS * -->
<!-- ************************************* -->

Tired of getting *rugpulled*? Introducing Unruggable Meme, a project designed with security and transparency at its core. Our innovative contracts and safeguards ensure a fair and secure experience for all users.

Become a meme lord and launch your own safe memecoin with [Unruggable Meme](https://unruggable.meme)!
Expand Down Expand Up @@ -59,6 +79,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center" valign="top" width="14.28%"><a href="https://github.com/abdelhamidbakhta"><img src="https://avatars.githubusercontent.com/u/45264458?v=4?s=100" width="100px;" alt="Abdel @ StarkWare "/><br /><sub><b>Abdel @ StarkWare </b></sub></a><br /><a href="https://github.com/keep-starknet-strange/unruggable-memecoin/commits?author=abdelhamidbakhta" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://rules.art/"><img src="https://avatars.githubusercontent.com/u/19663399?v=4?s=100" width="100px;" alt="Charles Lanier"/><br /><sub><b>Charles Lanier</b></sub></a><br /><a href="https://github.com/keep-starknet-strange/unruggable-memecoin/commits?author=0xChqrles" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://ceccon.me/"><img src="https://avatars.githubusercontent.com/u/282580?v=4?s=100" width="100px;" alt="Francesco Ceccon"/><br /><sub><b>Francesco Ceccon</b></sub></a><br /><a href="https://github.com/keep-starknet-strange/unruggable-memecoin/commits?author=fracek" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/enitrat"><img src="https://avatars.githubusercontent.com/u/60658558?v=4?s=100" width="100px;" alt="Mathieu"/><br /><sub><b>Mathieu</b></sub></a><br /><a href="https://github.com/keep-starknet-strange/unruggable-memecoin/commits?author=enitrat" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Megumiiiiii"><img src="https://avatars.githubusercontent.com/u/98658943?v=4?s=100" width="100px;" alt="megumii"/><br /><sub><b>megumii</b></sub></a><br /><a href="https://github.com/keep-starknet-strange/unruggable-memecoin/commits?author=Megumiiiiii" title="Code">💻</a></td>
</tr>
</tbody>
</table>
Expand Down
2 changes: 2 additions & 0 deletions contracts/.tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
scarb 2.3.1
starknet-foundry 0.12.0
3 changes: 3 additions & 0 deletions contracts/Scarb.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ allowed-libfuncs-list.name = "experimental"

[cairo]
sierra-replace-ids = true

[tool.fmt]
sort-module-level-items = true
1 change: 1 addition & 0 deletions contracts/src/lib.cairo
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
mod tokens {
mod interface;
mod memecoin;
}
65 changes: 65 additions & 0 deletions contracts/src/tokens/interface.cairo
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
use openzeppelin::token::erc20::interface::{IERC20Metadata, IERC20, IERC20Camel};
use starknet::ContractAddress;


#[starknet::interface]
trait IUnruggableMemecoin<TState> {
// ************************************
// * Metadata
// ************************************
fn name(self: @TState) -> felt252;
fn symbol(self: @TState) -> felt252;
fn decimals(self: @TState) -> u8;

// ************************************
// * snake_case
// ************************************
fn total_supply(self: @TState) -> u256;
fn balance_of(self: @TState, account: ContractAddress) -> u256;
fn allowance(self: @TState, owner: ContractAddress, spender: ContractAddress) -> u256;
fn transfer(ref self: TState, recipient: ContractAddress, amount: u256) -> bool;
fn transfer_from(
ref self: TState, sender: ContractAddress, recipient: ContractAddress, amount: u256
) -> bool;
fn approve(ref self: TState, spender: ContractAddress, amount: u256) -> bool;

// ************************************
// * camelCase
// ************************************
fn totalSupply(self: @TState) -> u256;
fn balanceOf(self: @TState, account: ContractAddress) -> u256;
fn transferFrom(
ref self: TState, sender: ContractAddress, recipient: ContractAddress, amount: u256
) -> bool;

// ************************************
// * Additional functions
// ************************************
fn launch_memecoin(ref self: TState);
}

#[starknet::interface]
trait IUnruggableMemecoinCamel<TState> {
fn totalSupply(self: @TState) -> u256;
fn balanceOf(self: @TState, account: ContractAddress) -> u256;
fn transferFrom(
ref self: TState, sender: ContractAddress, recipient: ContractAddress, amount: u256
) -> bool;
}

#[starknet::interface]
trait IUnruggableMemecoinSnake<TState> {
fn total_supply(self: @TState) -> u256;
fn balance_of(self: @TState, account: ContractAddress) -> u256;
fn allowance(self: @TState, owner: ContractAddress, spender: ContractAddress) -> u256;
fn transfer(ref self: TState, recipient: ContractAddress, amount: u256) -> bool;
fn transfer_from(
ref self: TState, sender: ContractAddress, recipient: ContractAddress, amount: u256
) -> bool;
fn approve(ref self: TState, spender: ContractAddress, amount: u256) -> bool;
}

#[starknet::interface]
trait IUnruggableAdditional<TState> {
fn launch_memecoin(ref self: TState);
}
Loading

0 comments on commit 9950cd6

Please sign in to comment.