Skip to content

Instantly share code, notes, and snippets.

View OkoliEvans's full-sized avatar

Okoli Evans OkoliEvans

View GitHub Profile
//SPDX-License-Identifier: MIT
pragma solidity >=0.8.0 <0.9.0;
contract City_DNS {
address public owner;
mapping (bytes32 => bool) internal dao_name;
mapping (address => bytes32) internal accountOwner;
//SPDX-License-Identifier: MIT
pragma solidity >=0.8.0 <0.9.0;
contract studentsRecord {
address public admin_address;
struct Student_details {
uint8 index;
string name;
//SPDX-License-Identifier: MIT
pragma solidity >=0.8.0 <0.9.0;
contract City_DNS {
address private owner;
mapping (bytes32 => bool) internal dao_name;
mapping (address => bool) internal registeredAccounts;
/**
Write a contract that deposit fund into a contract.
And also keep track of funds transferred into the contract.
Add a function to the balance of address that have deposited
into the contract.(Submit Github gist)
*/
//SPDX-License-Identifier: MIT
@OkoliEvans
OkoliEvans / ERC20.cairo
Created June 14, 2023 14:19
A simple ERC20 implementation using Cairo1.0
#[contract]
mod Erc20 {
use starknet::Zeroable;
use starknet::get_caller_address;
use starknet::ContractAddress;
use starknet::contract_address_const;
use starknet::contract_address::ContractAddressZeroable;
struct Storage {
name: felt252,
@OkoliEvans
OkoliEvans / IVoting.sol
Last active August 7, 2023 10:25
Schematics of voting contract functions
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
interface IVoting {
/// @notice To add vote administrators
function addAgent(address agent, string calldata name, uint voteId) external returns(bool);
/// @notice To remove vote administrators
function rmAgent(address agent, uint voteId) external returns(bool);
@OkoliEvans
OkoliEvans / supplyChain.sol
Created August 7, 2023 15:49
Supply chain system: Refactor
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract SupplyChain {
address public owner;
uint public productCount;
struct Product {
uint id;
string name;
@OkoliEvans
OkoliEvans / crowdFund.sol
Created August 9, 2023 15:47
Crowdfunding contract analysis
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract ProjectContract {
address public owner;
string public projectName;
uint256 public fundingGoal;
uint256 public totalFundsRaised;
uint256 public numMilestones;
use core::option::OptionTrait;
use snforge_std::cheatcodes::contract_class::{ContractClassTrait, declare};
use array::ArrayTrait;
use core::traits::TryInto;
use governance::traits::{
IStakingDispatcher, IStakingDispatcherTrait, IERC20Dispatcher, IERC20DispatcherTrait,
IOptionTokenDispatcher, IOptionTokenDispatcherTrait
};
use governance::staking::Staking::Multiplier;
use core::fmt;
use sha2::{ Sha256, Digest };
use std::{
error::Error,
fmt::{Debug, Display},
io,
};
#[derive(Debug, Clone, Copy)]
struct AuctionDetails {}