Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
aee1ed1
Merge pull request #17 from Signal-K/profile
Gizmotronn May 20, 2022
75c6a51
Merge pull request #18 from Signal-K/profile
Gizmotronn May 20, 2022
5f8379f
👻👍🏻 -> Merge pull request #19 from Signal-K/profile
Gizmotronn May 24, 2022
af3feb5
🕊🩸 -> Going back to basics: fixing #20, decided to separate gizmotron…
Gizmotronn May 26, 2022
4730d5a
🥑⛄️ -> Adding Phaser for SSDROP-2
Gizmotronn May 26, 2022
e95ca02
🧀🥨 -> SSDROP-1 & SSDROP-2: Creating form for users to view their rele…
Gizmotronn May 27, 2022
9f59e58
🦝💈 -> [SSDROP-4] Adding search form component [#23]
Gizmotronn May 27, 2022
ff8debc
🌞🌊 -> [SSDROP-1 SSDROP-4] Adding Comments (compiling correctly) and h…
Gizmotronn May 27, 2022
7c0dd00
🧊🧉 -> Adding content for [#23]/[SSDROP-5]
Gizmotronn May 28, 2022
0adc143
🌊🧢 -> [SSDROP-4] Adding api fetch method on profile component
Gizmotronn May 29, 2022
25113db
👾👋 -> [SSDROP-2]: Starting to incorporate Moralis/eth-boilerplate int…
Gizmotronn May 29, 2022
f22ebcf
🍱🪱 -> [SSDROP-4] Adding generative tool in py
Gizmotronn Jun 1, 2022
8c2214f
🧳🧪 -> Bounding setup for [SSDROP-9] & [SSDROP-8] completed
Gizmotronn Jun 3, 2022
8547325
🪱⛓ -> [SSDROP-9] Finish static image and derived imports for avatar …
Gizmotronn Jun 3, 2022
839dd70
🗝🥑-> Add Proposal component from signal-k/marketplace [SSDROP-7]
Gizmotronn Jun 10, 2022
ac28b15
🥨⛓ -> Updating [SSDROP-8] function with some layers and adding ref t…
Gizmotronn Jun 12, 2022
83cde9a
👾🧊 -> [SSDROP-8] & [SSDROP-9]: Creating function to generate layered …
Gizmotronn Jun 14, 2022
b1f24fb
⛑️​🎺​ -> Add rarity scripting to [SSDROP-9] && [SSDROP-8]
Gizmotronn Jun 15, 2022
fa12fe1
🐩🔭 -> Add Moralis configuration for Phaser component in [signal-k/mar…
Gizmotronn Jun 18, 2022
258b9f7
🦔🍄 -> Add Phaser configuration to components
Gizmotronn Jun 16, 2022
83c55d6
Merge pull request #30 from Signal-K/keybase
Gizmotronn Jun 19, 2022
4c25c47
🧊🪐 -> Add Journal function for [SSDROP-1] & continue game feature
Gizmotronn Jun 17, 2022
316188a
Merge pull request #32 from Signal-K/keybase
Gizmotronn Jun 20, 2022
019d5d0
🐩🧪 -> Add Assets & Phaser config for minigame in [SSDROP-6] & compone…
Gizmotronn Jun 25, 2022
0b098c4
🦚🍄 -> Add main component for the virtual pet minigame in [SCD-1] incl…
Gizmotronn Jun 26, 2022
9d08f46
🦝🍭 -> Adding main scenes for [#34]
Gizmotronn Jun 27, 2022
1e1a6fe
👾🪐 -> Add boot & [pre]load scenes for #34
Gizmotronn Jun 29, 2022
e6368a4
Merge pull request #35 from Signal-K/keybase
Gizmotronn Jun 29, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
9 changes: 9 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
MAGIC_SECRET_KEY=sk_live_68A35C1830811F76
JWT_SECRET=your-32+-character-jwt-secret
CLIENT_URL=http://localhost:3000
STRIPE_SECRET_KEY=sk_test_51L1UB5EXgarheYLkeVAlHU3WoblkGbhBogaxlHcpddIeZIjc5gComRLXUnzeF9eK1VJ9dzgdITlN8rjjKdoqjFd200zrAlYAsZ

REACT_APP_MAGIC_PUBLISHABLE_KEY=pk_live_C337BC194C080B7D
REACT_APP_CLIENT_URL=http://localhost:3000
REACT_APP_SERVER_URL=http://localhost:8080
REACT_APP_STRIPE_PK_KEY=pk_test_51L1UB5EXgarheYLkmZE9jqvsPe0d5UjoH2aZJvrIv6W55J0HEsQHE6wmJtXRSRMI4GulhzAetAxQE1yiVi2XvYVO00khAvACG1
17 changes: 2 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,2 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/client/node_modules

# misc
.DS_Store
.env
.eslintcache

npm-debug.log*
yarn-debug.log*
yarn-error.log*
.vercel
.vercel
node_modules
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Basic Sample Hardhat Project
Here's a working copy of the Magic repository with some minigame scaffolding

This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts.
# `client`

Try running some of the following tasks:
React frontend

```shell
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
node scripts/sample-script.js
npx hardhat help
```
# Root directory
Server configuration & folder structure

# `generator`
NFT generator & configuration mechanisms

# Using this repo
## Hardhat/Configurations
We have different hardhat configurations for different parts of the contract. You can find historical config files that are used for different contracts in the `client/config` directory. If you want to update a contract, make sure to update the contents of `client/hardhat.config.js` with the historical context.
77 changes: 0 additions & 77 deletions cache/solidity-files-cache.json

This file was deleted.

Binary file added client/.DS_Store
Binary file not shown.
18 changes: 18 additions & 0 deletions client/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
MAGIC_SECRET_KEY=sk_live_68A35C1830811F76
JWT_SECRET=your-32+-character-jwt-secret
CLIENT_URL=http://localhost:3000
STRIPE_SECRET_KEY=sk_test_51L1UB5EXgarheYLkeVAlHU3WoblkGbhBogaxlHcpddIeZIjc5gComRLXUnzeF9eK1VJ9dzgdITlN8rjjKdoqjFd200zrAlYAsZ

REACT_APP_MAGIC_PUBLISHABLE_KEY=pk_live_C337BC194C080B7D
REACT_APP_CLIENT_URL=http://localhost:3000
REACT_APP_SERVER_URL=http://localhost:8080
REACT_APP_STRIPE_PK_KEY=pk_test_51L1UB5EXgarheYLkmZE9jqvsPe0d5UjoH2aZJvrIv6W55J0HEsQHE6wmJtXRSRMI4GulhzAetAxQE1yiVi2XvYVO00khAvACG1

SKIP_PREFLIGHT_CHECK=true

ETH_PRIVATE_KEY =
ALCHEMY_API_URL =
WALLET_ADDRESS =

REACT_APP_TOKEN_CONTRACT = ""
REACT_APP_P2E_CONTRACT = ""
1 change: 1 addition & 0 deletions client/.eslintcache
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"/Users/liamarbuckle/Documents/Mint/theclub/client/src/index.js":"1","/Users/liamarbuckle/Documents/Mint/theclub/client/src/App.js":"2","/Users/liamarbuckle/Documents/Mint/theclub/client/src/lib/UserContext.js":"3","/Users/liamarbuckle/Documents/Mint/theclub/client/src/lib/LifetimeContext.js":"4","/Users/liamarbuckle/Documents/Mint/theclub/client/src/lib/magic.js":"5","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/payment.js":"6","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/premium-content.js":"7","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/login.js":"8","/Users/liamarbuckle/Documents/Mint/theclub/client/src/lib/LifetimeAccessRequestStatusContext.js":"9","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/signup.js":"10","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/layout.js":"11","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/payment-form.js":"12","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/profile.js":"13","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/home.js":"14","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/login-form.js":"15","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/signup-form.js":"16","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/loading.js":"17","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/header.js":"18","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Minigame/phaser.js":"19","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Moralis/SearchForm.js":"20","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Minigame/GameTabs.js":"21","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Moralis/NFTContainer.js":"22","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Content/Trailer.js":"23","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Content/Audio.js":"24","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Content/Roadmap.js":"25","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Moralis/NFTCard.js":"26","/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Content/Updates.jsx":"27"},{"size":336,"mtime":1653559033804,"results":"28","hashOfConfig":"29"},{"size":3300,"mtime":1653558832973,"results":"30","hashOfConfig":"29"},{"size":88,"mtime":1653558832974,"results":"31","hashOfConfig":"29"},{"size":87,"mtime":1653558832974,"results":"32","hashOfConfig":"29"},{"size":113,"mtime":1653558832974,"results":"33","hashOfConfig":"29"},{"size":1206,"mtime":1653558832973,"results":"34","hashOfConfig":"29"},{"size":3304,"mtime":1653558832973,"results":"35","hashOfConfig":"29"},{"size":2034,"mtime":1653558832973,"results":"36","hashOfConfig":"29"},{"size":106,"mtime":1653558832973,"results":"37","hashOfConfig":"29"},{"size":2178,"mtime":1653558832973,"results":"38","hashOfConfig":"29"},{"size":409,"mtime":1653558832973,"results":"39","hashOfConfig":"29"},{"size":7461,"mtime":1653558832973,"results":"40","hashOfConfig":"29"},{"size":2691,"mtime":1654266530186,"results":"41","hashOfConfig":"29"},{"size":834,"mtime":1653712136152,"results":"42","hashOfConfig":"29"},{"size":1297,"mtime":1653558832973,"results":"43","hashOfConfig":"29"},{"size":1301,"mtime":1653558832973,"results":"44","hashOfConfig":"29"},{"size":198,"mtime":1653619510588,"results":"45","hashOfConfig":"29"},{"size":2880,"mtime":1653842472239,"results":"46","hashOfConfig":"29"},{"size":664,"mtime":1653620608494,"results":"47","hashOfConfig":"29"},{"size":1766,"mtime":1653927804373,"results":"48","hashOfConfig":"29"},{"size":726,"mtime":1653620166615,"results":"49","hashOfConfig":"29"},{"size":316,"mtime":1653927616565,"results":"50","hashOfConfig":"29"},{"size":178,"mtime":1653706514302,"results":"51","hashOfConfig":"29"},{"size":183,"mtime":1653706581253,"results":"52","hashOfConfig":"29"},{"size":223,"mtime":1653706441575,"results":"53","hashOfConfig":"29"},{"size":1176,"mtime":1653927899136,"results":"54","hashOfConfig":"29"},{"size":323,"mtime":1653843399824,"results":"55","hashOfConfig":"29"},{"filePath":"56","messages":"57","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},"oe45bg",{"filePath":"59","messages":"60","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"61","messages":"62","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"63","messages":"64","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"65","messages":"66","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"67","messages":"68","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"69","messages":"70","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"71","messages":"72","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"73","messages":"74","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"75","messages":"76","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"77","messages":"78","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"79","messages":"80","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"81","messages":"82","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"83","messages":"84","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"85","messages":"86","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"87","messages":"88","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"89","messages":"90","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"91","messages":"92","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"93","messages":"94","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"95","messages":"96","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"97","messages":"98","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"99","messages":"100","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"101","messages":"102","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"103","messages":"104","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"105","messages":"106","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},{"filePath":"107","messages":"108","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"109","messages":"110","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"58"},"/Users/liamarbuckle/Documents/Mint/theclub/client/src/index.js",[],[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/App.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/lib/UserContext.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/lib/LifetimeContext.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/lib/magic.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/payment.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/premium-content.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/login.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/lib/LifetimeAccessRequestStatusContext.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/signup.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/layout.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/payment-form.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/profile.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/home.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/login-form.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/signup-form.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/loading.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/header.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Minigame/phaser.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Moralis/SearchForm.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Minigame/GameTabs.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Moralis/NFTContainer.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Content/Trailer.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Content/Audio.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Content/Roadmap.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Moralis/NFTCard.js",[],"/Users/liamarbuckle/Documents/Mint/theclub/client/src/components/Content/Updates.jsx",[]]
9 changes: 9 additions & 0 deletions client/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
node_modules
.env
coverage
coverage.json
typechain

#Hardhat files
cache
artifacts
.vercel
37 changes: 20 additions & 17 deletions client/contracts/Comments.sol → client/Contracts/Comments.sol
Original file line number Diff line number Diff line change
@@ -1,36 +1,25 @@
// Is there a way to integrate this with the main contract?
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
pragma solidity ^0.8.0;

import "hardhat/console.sol";

contract Comments {
// Exposed data structure
struct Comment {
uint32 id;
string topic;
address creator_address;
string message;
uint256 created_at;
uint created_at;
}

// Notify users that a comment was added
event CommentAdded(Comment comment);
// Fetch a list of comments for a topic
function getCommments(string calldata topic) public view returns(Comment[] memory) {}

// Store each topic with its array of associated comments
uint32 private idCounter;
mapping(string => Comment[]) private commentsByTopic;

event CommentAdded(Comment comment);

// Implement getComments test
function getComments(string calldata topic) public view returns(Comment[] memory) {
return commentsByTopic[topic];
return commentsByTopic[topic];
}

// Data struct for adding comments
uint32 private idCounter;

// Persist a new comment
function addComment(string calldata topic, string calldata message) public {
Comment memory comment = Comment({
id: idCounter,
Expand All @@ -43,4 +32,18 @@ contract Comments {
idCounter++;
emit CommentAdded(comment);
}
}

contract Sailors { // SailorsDAO
address public owner;
uint256 nextProposal;
uint256[] public validTokens; // What tokens are allowed to be used for voting? Cross-chain/network?
IdaoContract daoContract;

constructor() {
owner = msg.sender;
nextProposal = 1;
daoContract = IdaoContract(0x67A8fE17Db4d441f96f26094677763a2213a3B5f);
validTokens = [72764254490465410872480155950423590290196157005391788272990870059575402299393]; // token id of the nft in the contract/collection
} // Rest -> https://github.com/signal-k/marketplace (issue #32 -> see commits, also [SSDROP-7] on Jira)
}
57 changes: 57 additions & 0 deletions client/Contracts/Journal.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.11;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Counters.sol";

contract Journal is ERC721, ERC721URIStorage, Ownable {
using Counters for Counters.Counter;

Counters.Counter private _tokenIdCounter; // Increment each post Id
uint256 public fees;

constructor(
string memory name_,
string memory symbol_,
uint256 fees_
) ERC721(name_, symbol_) {
fees = fees_;
}

function safeMint(address to, string memory uri) public payable {
require(msg.value >= fees, "Not enough MATIC");
payable(owner()).transfer(fees); // -> transfer a fee to the owner of this contract with each mint

// Mint post NFT
uint256 tokenId = _tokenIdCounter.current();
_tokenIdCounter.increment();
_safeMint(to, tokenId); // Send it to the address with the tokenId
_setTokenURI(tokenId, uri); // From openz. contract

// Return oversupplied fees
uint256 contractBalance = address(this).balance;
if (contractBalance > 0) {
payable(msg.sender).transfer(address(this).balance);
}
}

// Override functions
function _burn(uint256 tokenId)
internal
override(ERC721, ERC721URIStorage) {
super._burn(tokenId);
}

function tokenURI(uint256 tokenId)
public
view
override(ERC721, ERC721URIStorage)
returns (string memory) {
return super.tokenURI(tokenID);
}
}

// Comments.sol will attach to this. Extends the proposal function in the DAO (signal-k/marketplace on gh), however will also allow for general-purpose posts (like Medium) without creating proposals
// Component will likely be "Journal" -> ref based on relevant issues on github to see connecting files
1 change: 1 addition & 0 deletions client/Truffle/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.sol linguist-language=Solidity
Loading