Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
adithom committed Apr 2, 2023
0 parents commit 3230562
Show file tree
Hide file tree
Showing 19,596 changed files with 3,399,007 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions artifacts/build-info/4c768d81f375d9931f76c2b18a5a29bd.json

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions artifacts/contracts/smart.sol/FoodDeliveryContract.dbg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/4c768d81f375d9931f76c2b18a5a29bd.json"
}
204 changes: 204 additions & 0 deletions artifacts/contracts/smart.sol/FoodDeliveryContract.json

Large diffs are not rendered by default.

40 changes: 40 additions & 0 deletions cache/solidity-files-cache.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"_format": "hh-sol-cache-2",
"files": {
"/Users/adithtomalex/Desktop/SmartBites/contracts/smart.sol": {
"lastModificationDate": 1680395093289,
"contentHash": "c305a34a1c29a0b348a924f63e946c81",
"sourceName": "contracts/smart.sol",
"solcConfig": {
"version": "0.8.9",
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"abi",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"metadata"
],
"": [
"ast"
]
}
}
}
},
"imports": [],
"versionPragmas": [
">=0.7.0 <0.9.0"
],
"artifacts": [
"FoodDeliveryContract"
]
}
}
}
64 changes: 64 additions & 0 deletions contracts/smart.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
pragma solidity >=0.7.0 <0.9.0;

contract FoodDeliveryContract {
address public user;
address public restaurant;
address public driver;
uint public foodFee;
uint public deliveryFee;
uint public expirationTime;
bool public isCanceled;

mapping (address => bool) public registeredDrivers;
mapping (address => uint) public payments;

constructor(address _restaurant, uint _foodFee, uint _deliveryFee, uint _expirationTime) payable {
user = msg.sender;
restaurant = _restaurant;
foodFee = _foodFee;
deliveryFee = _deliveryFee;
expirationTime = block.timestamp + _expirationTime;
}

function registerAsDriver() public {
registeredDrivers[msg.sender] = true;
}

function setDeliveryFee(uint _deliveryFee) public {
require(msg.sender == user, "Only the user can set the delivery fee");
deliveryFee = _deliveryFee;
}

function nullifyContract() public {
require(msg.sender == user, "Only the user can nullify the contract");
require(block.timestamp > expirationTime, "Contract has expired");
isCanceled = true;
}

function scanQRCode() public {
require(msg.sender == driver, "Only the driver can scan the QR code");
require(!isCanceled, "Contract has been nullified");
uint totalPayment = foodFee + deliveryFee;
require(address(this).balance >= totalPayment, "Not enough funds to complete the payment");

// Send payment to the restaurant
(bool success, ) = restaurant.call{value: foodFee}("");
require(success, "Failed to send payment to the restaurant");

// Send payment to the driver
(success, ) = driver.call{value: deliveryFee}("");
require(success, "Failed to send payment to the driver");

// Send any remaining funds back to the user
uint remainingPayment = address(this).balance;
if (remainingPayment > 0) {
(success, ) = user.call{value: remainingPayment}("");
require(success, "Failed to send remaining payment back to the user");
}
}

receive() external payable {
require(msg.sender == user, "Only the user can send funds to this contract");
payments[msg.sender] += msg.value;
}
}
21 changes: 21 additions & 0 deletions hardhat.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require("@nomicfoundation/hardhat-toolbox");

// Go to https://alchemy.com, sign up, create a new App in
// its dashboard, and replace "KEY" with its key
const ALCHEMY_API_KEY = "1C3bPKmFmqhV3qV4_iPm2zRT5RNT-gXD";

// Replace this private key with your Sepolia account private key
// To export your private key from Metamask, open Metamask and
// go to Account Details > Export Private Key
// Beware: NEVER put real Ether into testing accounts
const SEPOLIA_PRIVATE_KEY = "84fe095f234ebb5c5570109eb1d8650a18cbabaa6ca9a60c2e19b218a03352e8";

module.exports = {
solidity: "0.8.9",
networks: {
sepolia: {
url: "https://eth-sepolia.g.alchemy.com/v2/1C3bPKmFmqhV3qV4_iPm2zRT5RNT-gXD",
accounts: [SEPOLIA_PRIVATE_KEY]
}
}
};
1 change: 1 addition & 0 deletions node_modules/.bin/_mocha

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/acorn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/crc32

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/detect

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/detect-port

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/escodegen

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/esgenerate

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/esparse

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/esvalidate

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/flat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/handlebars

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/hardhat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/he

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/istanbul

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/js-yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/mkdirp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/mocha

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/nanoid

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/node-gyp-build

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/node-gyp-build-optional

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/node-gyp-build-test

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/nopt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/prettier

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/rimraf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/rlp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/semver

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sha.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/shjs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/solcjs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/solidity-coverage

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sshpk-conv

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sshpk-sign

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/sshpk-verify

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/testrpc-sc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/ts-node

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/ts-node-cwd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/ts-node-esm

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/ts-node-script

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/ts-node-transpile-only

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/ts-script

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/tsc

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/tsserver

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/typechain

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/uglifyjs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/uuid

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/which

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/write-markdown

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 3230562

Please sign in to comment.