├── .nvmrc ├── .dockerignore ├── deployments ├── kovan │ └── .chainId ├── fuji │ └── .chainId ├── hardhat │ └── .chainId ├── munbai │ └── .chainId ├── polygon │ └── .chainId ├── rinkeby │ └── .chainId ├── ropsten │ └── .chainId └── arbitrumRinkeby │ └── .chainId ├── .github ├── CODEOWNERS ├── workflows │ ├── check.yml │ └── release.yml └── actions │ └── yarn │ └── action.yml ├── .solhintignore ├── tasks ├── deploy │ ├── index.ts │ └── greeter.ts ├── index.ts └── accounts.ts ├── packages ├── ds-test │ ├── .gitignore │ ├── yarn.lock │ └── package.json ├── forge-std │ ├── .gitignore │ ├── yarn.lock │ └── package.json ├── HotChainCLI │ ├── bin │ │ ├── qa.js │ │ └── index.js │ ├── contracts │ │ ├── HotChainSvg.sol │ │ └── tests │ │ │ └── HotChainSvg.t.sol │ ├── tsconfig.json │ └── src │ │ ├── boot.ts │ │ └── deploy.ts ├── MerkleTreeCLI │ ├── bin │ │ └── index.js │ ├── tsconfig.json │ ├── src │ │ └── index.ts │ └── package.json └── NFTMetadataCLI │ ├── bin │ └── index.js │ ├── tsconfig.json │ └── package.json ├── renovate.json ├── doppler.yaml ├── .prettierc.js ├── .prettierrc.js ├── run.sh ├── scripts ├── hotChainSvg.sh └── Greeter.sol ├── .commitlintrc.js ├── .releaserc.js ├── assets └── contracts.png ├── .depcheckrc.yml ├── src └── index.ts ├── .hadolint.yaml ├── .eslintignore ├── .husky ├── pre-commit ├── commit-msg └── prepare-commit-msg ├── contracts ├── Clones │ ├── src │ │ └── Example.sol │ ├── package.json │ └── CHANGELOG.md ├── Mosh │ ├── src │ │ ├── Mosh.sol │ │ └── tests │ │ │ └── Mosh.t.sol │ ├── package.json │ └── CHANGELOG.md ├── Nouns │ ├── src │ │ ├── Nouns.sol │ │ ├── external │ │ │ └── opensea │ │ │ │ └── IProxyRegistry.sol │ │ ├── interfaces │ │ │ └── IWETH.sol │ │ ├── tests │ │ │ └── Nouns.t.sol │ │ ├── test │ │ │ └── MaliciousBidder.sol │ │ └── proxies │ │ │ └── NounsAuctionHouseProxyAdmin.sol │ ├── package.json │ └── CHANGELOG.md ├── Zodiac │ ├── src │ │ ├── Zodiac.sol │ │ ├── tests │ │ │ └── Zodiac.t.sol │ │ ├── factory │ │ │ └── FactoryFriendly.sol │ │ └── interfaces │ │ │ └── IGuard.sol │ ├── package.json │ └── CHANGELOG.md ├── MoshDAO │ ├── src │ │ ├── MoshDAO.sol │ │ └── tests │ │ │ └── MoshDAO.t.sol │ ├── package.json │ └── CHANGELOG.md ├── HuffWETH │ ├── src │ │ └── HuffWETH.sol │ └── package.json ├── CodeForDAO │ ├── src │ │ ├── CodeForDAO.sol │ │ ├── modules │ │ │ └── Roadmap.sol │ │ ├── interfaces │ │ │ └── IShare.sol │ │ ├── libraries │ │ │ └── Constants.sol │ │ └── tests │ │ │ └── CodeForDAO.t.sol │ ├── package.json │ └── CHANGELOG.md ├── HotChainSvg │ ├── src │ │ ├── HotChainSvg.sol │ │ └── tests │ │ │ └── HotChainSvg.t.sol │ └── package.json ├── SimpleStore │ ├── src │ │ ├── SimpleStore.sol │ │ ├── ISimpleStore.sol │ │ └── tests │ │ │ └── SimpleStore.t.sol │ └── package.json ├── WeirdERC20 │ ├── src │ │ ├── WeirdERC20.sol │ │ ├── LowDecimals.sol │ │ ├── HighDecimals.sol │ │ ├── tests │ │ │ └── WeirdERC20.t.sol │ │ ├── Approval.sol │ │ ├── ApprovalToZero.sol │ │ ├── RevertZero.sol │ │ └── RevertToZero.sol │ ├── package.json │ └── CHANGELOG.md ├── GovernorMock │ ├── src │ │ └── GovernorMock.sol │ └── package.json ├── HelloWorld │ ├── src │ │ ├── HelloWorld.sol │ │ └── tests │ │ │ └── HelloWorld.t.sol │ └── package.json ├── BatchRevealToken │ ├── src │ │ ├── BatchRevealToken.sol │ │ ├── Example.sol │ │ └── tests │ │ │ └── BatchRevealToken.t.sol │ ├── package.json │ └── CHANGELOG.md ├── HuffShunKakinoki │ ├── src │ │ └── HuffShunKakinoki.sol │ ├── CHANGELOG.md │ └── package.json ├── UUPSUpgradeable │ ├── src │ │ ├── UUPSUpgradeable.sol │ │ └── PizzaV2.sol │ ├── package.json │ └── CHANGELOG.md ├── ArrayRemoveByShifting │ ├── src │ │ ├── ArrayRemoveByShifting.sol │ │ └── tests │ │ │ └── ArrayRemoveByShifting.t.sol │ ├── package.json │ └── CHANGELOG.md ├── UpgradeableController │ ├── src │ │ └── UpgradeableController.sol │ └── package.json ├── Shrine │ ├── CHANGELOG.md │ ├── src │ │ ├── tests │ │ │ └── mocks │ │ │ │ └── MockERC20.t.sol │ │ └── lib │ │ │ └── ReentrancyGuard.sol │ └── package.json ├── OKPC │ ├── CHANGELOG.md │ ├── src │ │ ├── tests │ │ │ └── OKPC.t.sol │ │ └── interfaces │ │ │ ├── IOKPCParts.sol │ │ │ └── IOKPCMetadata.sol │ └── package.json ├── GovernorTimelockControlMock │ ├── src │ │ └── GovernorTimelockControlMock.sol │ ├── CHANGELOG.md │ └── package.json ├── OKPCParts │ ├── CHANGELOG.md │ ├── src │ │ ├── tests │ │ │ └── OKPCParts.t.sol │ │ └── interfaces │ │ │ └── IOKPCParts.sol │ └── package.json ├── Shields │ └── CHANGELOG.md ├── Aave │ ├── src │ │ ├── ILendingPoolAddressProvider.sol │ │ ├── IFlashLoanReceiver.sol │ │ ├── ILendingPool.sol │ │ └── tests │ │ │ └── Aave.t.sol │ ├── package.json │ └── CHANGELOG.md ├── OKPCMetadata │ ├── CHANGELOG.md │ ├── src │ │ ├── interfaces │ │ │ ├── IOKPCGenesisArtwork.sol │ │ │ ├── IOKPCFont.sol │ │ │ └── IOKPCParts.sol │ │ ├── tests │ │ │ └── OKPCMetadata.t.sol │ │ └── lib │ │ │ └── ENSNameResolver.sol │ └── package.json ├── ProxyAdmin │ ├── src │ │ └── ProxyAdmin.sol │ ├── package.json │ └── CHANGELOG.md ├── GnosisSafeDeployer │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ └── src │ │ └── tests │ │ └── GnosisSafeDeployer.t.sol ├── HuffSimpleStore │ ├── CHANGELOG.md │ └── package.json ├── MultiRaffle │ ├── src │ │ ├── tests │ │ │ └── utils │ │ │ │ └── Hevm.t.sol │ │ └── interfaces │ │ │ └── IERC20.sol │ └── package.json ├── MerkleAirdropStarter │ ├── CHANGELOG.md │ └── package.json ├── WatchfacesPFP │ ├── CHANGELOG.md │ ├── src │ │ └── tests │ │ │ └── WatchfacesPFP.t.sol │ └── package.json ├── WatchfacesSVGRenderer │ ├── CHANGELOG.md │ ├── src │ │ └── tests │ │ │ └── WatchfacesSVGRenderer.t.sol │ └── package.json ├── MoshAuctionHouseProxyAdmin │ ├── src │ │ └── MoshAuctionHouseProxyAdmin.sol │ └── package.json ├── W1nt3rAirdrop │ ├── src │ │ ├── W1nt3rAirdrop.sol │ │ └── tests │ │ │ └── W1nt3rAirdrop.t.sol │ └── package.json ├── NFT │ ├── src │ │ ├── NFT.sol │ │ └── tests │ │ │ └── NFT.t.sol │ └── package.json ├── ShunKakinoki │ ├── src │ │ ├── ShunKakinoki.sol │ │ └── tests │ │ │ └── ShunKakinoki.t.sol │ ├── package.json │ └── CHANGELOG.md ├── LightOrb │ ├── src │ │ └── tests │ │ │ └── LightOrb.t.sol │ └── package.json ├── OlympusDAO │ ├── src │ │ ├── interfaces │ │ │ ├── IBondingCalculator.sol │ │ │ ├── IOwnable.sol │ │ │ ├── IOHM.sol │ │ │ ├── IERC20Metadata.sol │ │ │ ├── IgOHM.sol │ │ │ ├── IDistributor.sol │ │ │ ├── IERC20.sol │ │ │ └── ITreasury.sol │ │ └── tests │ │ │ ├── OlympusDAO.t.sol │ │ │ └── utils │ │ │ └── Hevm.t.sol │ └── package.json ├── EIP4973 │ ├── src │ │ └── interfaces │ │ │ └── IERC721Metadata.sol │ ├── package.json │ └── CHANGELOG.md ├── OKPCFont │ ├── src │ │ ├── interfaces │ │ │ └── IOKPCFont.sol │ │ └── tests │ │ │ └── OKPCFont.t.sol │ └── package.json ├── EIP712 │ ├── src │ │ └── test │ │ │ └── utils │ │ │ └── MockERC20.sol │ ├── package.json │ └── CHANGELOG.md ├── TheMerge │ ├── scripts │ │ └── TheMergeScript.sol │ ├── src │ │ ├── TheMerge.sol │ │ └── tests │ │ │ └── TheMerge.t.sol │ ├── package.json │ └── CHANGELOG.md ├── VanityResolver │ ├── src │ │ └── tests │ │ │ └── utils │ │ │ ├── ExampleContract.t.sol │ │ │ └── VanityWalletUser.t.sol │ ├── package.json │ └── CHANGELOG.md ├── TsujiPoker │ ├── scripts │ │ └── TsujiPokerScript.sol │ ├── package.json │ └── src │ │ └── libs │ │ └── ENSNameResolver.sol ├── WatchfacesWorld │ ├── CHANGELOG.md │ ├── src │ │ └── tests │ │ │ └── WatchfacesWorld.t.sol │ └── package.json ├── CODE │ ├── src │ │ └── tests │ │ │ └── CODE.t.sol │ ├── package.json │ └── CHANGELOG.md ├── Loot │ ├── src │ │ └── tests │ │ │ └── Loot.t.sol │ ├── package.json │ └── CHANGELOG.md ├── Box │ ├── package.json │ └── src │ │ ├── tests │ │ └── Box.t.sol │ │ └── Box.sol ├── EVM │ └── package.json ├── Create2 │ ├── package.json │ └── CHANGELOG.md ├── Greeter │ ├── package.json │ ├── src │ │ ├── Greeter.sol │ │ └── tests │ │ │ └── Greeter.t.sol │ └── scripts │ │ ├── GreeterScript.sol │ │ └── tests │ │ └── GreeterScript.t.sol ├── LevelNFT │ ├── src │ │ ├── tests │ │ │ └── LevelNFT.t.sol │ │ └── ILevelChecker.sol │ ├── package.json │ └── CHANGELOG.md ├── LlamaPay │ ├── src │ │ └── tests │ │ │ └── LlamaPay.t.sol │ ├── package.json │ └── CHANGELOG.md ├── Private │ ├── package.json │ └── CHANGELOG.md ├── Quine │ ├── package.json │ └── CHANGELOG.md ├── Renoun │ ├── package.json │ └── CHANGELOG.md ├── TWiDAOs │ └── package.json ├── ZorbNFT │ ├── package.json │ └── src │ │ └── tests │ │ └── ZorbNFT.t.sol ├── 8bitArray │ ├── package.json │ └── CHANGELOG.md ├── Ethernaut │ ├── package.json │ └── src │ │ └── tests │ │ └── Fallout.t.sol ├── Femplate │ ├── package.json │ └── src │ │ └── Femplate.sol ├── FourBytes │ ├── package.json │ ├── src │ │ ├── tests │ │ │ └── FourBytes.t.sol │ │ └── FourBytes.sol │ └── CHANGELOG.md ├── AuctionHouse │ ├── package.json │ └── src │ │ └── tests │ │ └── AuctionHouse.t.sol ├── BitsAndBytes │ ├── package.json │ └── src │ │ └── BitsAndBytes.sol ├── ChainToadz │ ├── package.json │ ├── src │ │ └── tests │ │ │ └── ChainToadz.t.sol │ └── CHANGELOG.md ├── CryptoCoven │ ├── package.json │ ├── src │ │ └── tests │ │ │ └── CryptoCoven.t.sol │ └── CHANGELOG.md ├── HackPhishing │ ├── package.json │ └── CHANGELOG.md ├── HuffDeployer │ ├── package.json │ └── src │ │ └── tests │ │ └── HuffDeployer.t.sol ├── KiyoSanBirthday │ └── package.json ├── LilFlashloan │ └── package.json ├── LilJuicebox │ ├── package.json │ └── CHANGELOG.md ├── LilOpensea │ ├── package.json │ └── CHANGELOG.md ├── MinimalProxy │ ├── package.json │ ├── src │ │ └── tests │ │ │ └── NFT.t.sol │ └── CHANGELOG.md ├── NFTTokenDrop │ ├── package.json │ └── CHANGELOG.md ├── SolmateNFT │ ├── package.json │ └── CHANGELOG.md ├── SoulMinter │ ├── package.json │ └── CHANGELOG.md ├── ThePossessed │ ├── package.json │ ├── src │ │ └── tests │ │ │ └── ThePossessed.t.sol │ └── CHANGELOG.md ├── Upgradeable │ ├── package.json │ └── src │ │ └── tests │ │ └── Upgradeable.t.sol ├── ViewAndPure │ ├── package.json │ ├── src │ │ ├── ViewAndPure.sol │ │ └── tests │ │ │ └── ViewAndPure.t.sol │ └── CHANGELOG.md ├── WagumiCats │ ├── package.json │ ├── src │ │ └── tests │ │ │ └── WagumiCats.t.sol │ └── CHANGELOG.md ├── WagumiCatsV2 │ └── package.json ├── WagumiToken │ ├── package.json │ └── src │ │ └── tests │ │ └── WagumiAirdrop.t.sol ├── AaveFlashLoan │ ├── package.json │ └── src │ │ └── tests │ │ └── AaveFlashLoan.t.sol ├── HackReentrancy │ ├── package.json │ └── CHANGELOG.md ├── HuffHelloWorld │ ├── package.json │ └── CHANGELOG.md ├── LilFractional │ ├── package.json │ └── CHANGELOG.md ├── LilSuperfluid │ ├── package.json │ └── CHANGELOG.md ├── SimpleAuction │ ├── package.json │ ├── CHANGELOG.md │ └── src │ │ └── tests │ │ └── SimpleAuction.t.sol ├── CryptoTestersNFT │ └── package.json ├── EthernautBounty │ ├── package.json │ ├── src │ │ └── tests │ │ │ └── libraries │ │ │ └── Bytes32AddressLib.t.sol │ └── CHANGELOG.md ├── FutaSanBirthday │ ├── package.json │ └── scripts │ │ └── FutaSanBirthdayScript.sol ├── MoshAuctionHouseProxy │ ├── src │ │ ├── MoshAuctionHouseProxy.sol │ │ └── tests │ │ │ └── MoshAuctionHouseProxy.t.sol │ └── package.json ├── OpenZeppelinNFT │ └── package.json ├── OwnableUpgradeable │ ├── package.json │ ├── src │ │ └── tests │ │ │ └── OwnableUpgradeable.t.sol │ └── CHANGELOG.md ├── ClonesWithImmutableArgs │ ├── package.json │ └── src │ │ ├── tests │ │ └── ClonesWithImmutableArgs.t.sol │ │ ├── ExampleClone.sol │ │ └── ExampleCloneFactory.sol ├── TransparentUpgradeableProxy │ ├── package.json │ └── src │ │ ├── tests │ │ └── upgrades │ │ │ ├── FooV1.sol │ │ │ └── FooV2.sol │ │ └── OZTransparentUpgradeableProxy.sol ├── LilENS │ ├── package.json │ └── CHANGELOG.md └── LightOrbRenderer │ └── package.json ├── .lintstagedrc.js ├── .prettierignore ├── .vscode ├── extensions.json └── settings.json ├── templates ├── Greeter.sol.template ├── Test.t.sol.template └── package.json.template ├── .tmuxinator.yml ├── .mergify.yml ├── foundry.toml ├── .editorconfig ├── .eslintrc.js ├── tsconfig.json ├── .solhint.json ├── tmp.json ├── remappings.txt └── plopfile.mjs /.nvmrc: -------------------------------------------------------------------------------- 1 | v16.5.0 2 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .gitignore -------------------------------------------------------------------------------- /deployments/kovan/.chainId: -------------------------------------------------------------------------------- 1 | 42 -------------------------------------------------------------------------------- /deployments/fuji/.chainId: -------------------------------------------------------------------------------- 1 | 43113 -------------------------------------------------------------------------------- /deployments/hardhat/.chainId: -------------------------------------------------------------------------------- 1 | 31337 -------------------------------------------------------------------------------- /deployments/munbai/.chainId: -------------------------------------------------------------------------------- 1 | 80001 -------------------------------------------------------------------------------- /deployments/polygon/.chainId: -------------------------------------------------------------------------------- 1 | 137 -------------------------------------------------------------------------------- /deployments/rinkeby/.chainId: -------------------------------------------------------------------------------- 1 | 4 -------------------------------------------------------------------------------- /deployments/ropsten/.chainId: -------------------------------------------------------------------------------- 1 | 3 -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @shunkakinoki 2 | -------------------------------------------------------------------------------- /.solhintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | lib 3 | -------------------------------------------------------------------------------- /deployments/arbitrumRinkeby/.chainId: -------------------------------------------------------------------------------- 1 | 421611 -------------------------------------------------------------------------------- /tasks/deploy/index.ts: -------------------------------------------------------------------------------- 1 | import "./greeter"; 2 | -------------------------------------------------------------------------------- /packages/ds-test/.gitignore: -------------------------------------------------------------------------------- 1 | src 2 | test 3 | *.sol 4 | -------------------------------------------------------------------------------- /packages/forge-std/.gitignore: -------------------------------------------------------------------------------- 1 | src 2 | test 3 | *.sol 4 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["@shunkakinoki"] 3 | } 4 | -------------------------------------------------------------------------------- /tasks/index.ts: -------------------------------------------------------------------------------- 1 | import "./accounts"; 2 | import "./deploy"; 3 | -------------------------------------------------------------------------------- /doppler.yaml: -------------------------------------------------------------------------------- 1 | setup: 2 | project: contracts 3 | config: dev 4 | -------------------------------------------------------------------------------- /.prettierc.js: -------------------------------------------------------------------------------- 1 | module.exports = require("@shunkakinoki/prettier"); 2 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = require("@shunkakinoki/prettier"); 2 | -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | forge install 4 | forge build 5 | forge test 6 | -------------------------------------------------------------------------------- /scripts/hotChainSvg.sh: -------------------------------------------------------------------------------- 1 | cp -r lib/hot-chain-svg/src contracts/HotChainSvg/src 2 | -------------------------------------------------------------------------------- /.commitlintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ["@shunkakinoki/commitlint"], 3 | }; 4 | -------------------------------------------------------------------------------- /.releaserc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: "@shunkakinoki/semantic-release", 3 | }; 4 | -------------------------------------------------------------------------------- /packages/HotChainCLI/bin/qa.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require("../dist/qa.js"); 4 | -------------------------------------------------------------------------------- /assets/contracts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shunkakinoki/contracts/HEAD/assets/contracts.png -------------------------------------------------------------------------------- /packages/HotChainCLI/bin/index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require("../dist/index.js"); 4 | -------------------------------------------------------------------------------- /packages/MerkleTreeCLI/bin/index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require("../dist/index.js"); 4 | -------------------------------------------------------------------------------- /packages/NFTMetadataCLI/bin/index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require("../dist/index.js"); 4 | -------------------------------------------------------------------------------- /.depcheckrc.yml: -------------------------------------------------------------------------------- 1 | ignores: ["@shunkakinoki/*"] 2 | ignore-path: .gitignore 3 | skip-missing: true 4 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export { Box__factory } from "@shunkakinoki/typechain/factories/contracts/Box/src/Box__factory"; 2 | -------------------------------------------------------------------------------- /.hadolint.yaml: -------------------------------------------------------------------------------- 1 | ignored: 2 | - DL3004 3 | - DL3005 4 | - DL3008 5 | - DL3009 6 | - DL3015 7 | - DL3027 8 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | abi 2 | artifacts 3 | cache 4 | dist 5 | lib 6 | out 7 | node_modules 8 | typechain 9 | 10 | *.sol 11 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | [ -n "$CI" ] && exit 0 5 | 6 | yarn run lint-staged 7 | -------------------------------------------------------------------------------- /packages/ds-test/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | [ -n "$CI" ] && exit 0 5 | 6 | yarn run commitlint -e $1 7 | -------------------------------------------------------------------------------- /contracts/Clones/src/Example.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | contract Example {} 6 | -------------------------------------------------------------------------------- /packages/forge-std/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | -------------------------------------------------------------------------------- /.lintstagedrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | ...require("@shunkakinoki/lint-staged"), 3 | "*.sol": ["yarn run lint:solhint"], 4 | }; 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | abi 2 | artifacts 3 | lib 4 | cache 5 | dist 6 | foundry 7 | out 8 | node_modules 9 | templates 10 | typechain 11 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "juanblanco.solidity", 4 | "tintinweb.solidity-visual-auditor" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /contracts/Mosh/src/Mosh.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract Mosh {} 8 | -------------------------------------------------------------------------------- /contracts/Nouns/src/Nouns.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract Nouns {} 8 | -------------------------------------------------------------------------------- /contracts/Zodiac/src/Zodiac.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract Zodiac {} 8 | -------------------------------------------------------------------------------- /contracts/MoshDAO/src/MoshDAO.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract MoshDAO {} 8 | -------------------------------------------------------------------------------- /templates/Greeter.sol.template: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract {{name}} {} 8 | -------------------------------------------------------------------------------- /contracts/HuffWETH/src/HuffWETH.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract HuffWETH {} 8 | -------------------------------------------------------------------------------- /.tmuxinator.yml: -------------------------------------------------------------------------------- 1 | name: contracts 2 | root: ~/ghq/github.com/shunkakinoki/contracts 3 | attach: true 4 | windows: 5 | - zsh: neofetch 6 | - zsh: neofetch 7 | - zsh: neofetch 8 | -------------------------------------------------------------------------------- /contracts/CodeForDAO/src/CodeForDAO.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract CodeForDAO {} 8 | -------------------------------------------------------------------------------- /contracts/HotChainSvg/src/HotChainSvg.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract HotChainSvg {} 8 | -------------------------------------------------------------------------------- /contracts/SimpleStore/src/SimpleStore.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract SimpleStore {} 8 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/src/WeirdERC20.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract WeirdERC20 {} 8 | -------------------------------------------------------------------------------- /.husky/prepare-commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | [ -n "$CI" ] && exit 0 5 | 6 | exec < /dev/tty && yarn run git-cz -e --disable-emoji --hook || true 7 | -------------------------------------------------------------------------------- /contracts/GovernorMock/src/GovernorMock.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract GovernorMock {} 8 | -------------------------------------------------------------------------------- /packages/HotChainCLI/contracts/HotChainSvg.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract HotChainSvg {} 8 | -------------------------------------------------------------------------------- /contracts/HelloWorld/src/HelloWorld.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | contract HelloWorld { 6 | bytes32 public greet = "Hello World"; 7 | } 8 | -------------------------------------------------------------------------------- /contracts/BatchRevealToken/src/BatchRevealToken.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract BatchRevealToken {} 8 | -------------------------------------------------------------------------------- /contracts/HuffShunKakinoki/src/HuffShunKakinoki.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract HuffShunKakinoki {} 8 | -------------------------------------------------------------------------------- /contracts/UUPSUpgradeable/src/UUPSUpgradeable.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract UUPSUpgradeable {} 8 | -------------------------------------------------------------------------------- /.mergify.yml: -------------------------------------------------------------------------------- 1 | pull_request_rules: 2 | - name: Renovate 3 | conditions: 4 | - author=renovate[bot] 5 | - check-success=check 6 | actions: 7 | merge: 8 | method: merge 9 | -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- 1 | [default] 2 | src = 'contracts' 3 | out = 'out' 4 | libs = ['lib'] 5 | gas_reports = ["*"] 6 | solc_version = "0.8.13" 7 | cache = true 8 | cache_path = 'foundry' 9 | ffi = true 10 | -------------------------------------------------------------------------------- /contracts/ArrayRemoveByShifting/src/ArrayRemoveByShifting.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract ArrayRemoveByShifting {} 8 | -------------------------------------------------------------------------------- /contracts/UpgradeableController/src/UpgradeableController.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract UpgradeableController {} 8 | -------------------------------------------------------------------------------- /contracts/Shrine/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/shrine 1.0.0 (2022-05-12) 2 | 3 | ### Features 4 | 5 | - ini shrine ([0f70ad6](https://github.com/shunkakinoki/contracts/commit/0f70ad647ccaf98cec9698a13121038bfa9feaa6)) 6 | -------------------------------------------------------------------------------- /contracts/OKPC/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/okpc 1.0.0 (2022-05-16) 2 | 3 | ### Features 4 | 5 | - ini okpc contract ([efbc792](https://github.com/shunkakinoki/contracts/commit/efbc79216e2f4290db349517049c35a1ce75e252)) 6 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_size = 2 7 | indent_style = space 8 | insert_final_newline = true 9 | quote_type = double 10 | trim_trailing_whitespace = true 11 | -------------------------------------------------------------------------------- /contracts/GovernorTimelockControlMock/src/GovernorTimelockControlMock.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract GovernorTimelockControlMock {} 8 | -------------------------------------------------------------------------------- /contracts/Nouns/src/external/opensea/IProxyRegistry.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IProxyRegistry { 6 | function proxies(address) external view returns (address); 7 | } 8 | -------------------------------------------------------------------------------- /contracts/OKPCParts/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/okpcparts 1.0.0 (2022-05-17) 2 | 3 | ### Features 4 | 5 | - ini okpc parts ([ad947d9](https://github.com/shunkakinoki/contracts/commit/ad947d9f8746f5a70cd86e07c5de0e2e454a09e0)) 6 | -------------------------------------------------------------------------------- /contracts/Shields/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/shields 1.0.0 (2022-05-31) 2 | 3 | ### Features 4 | 5 | - ini shields contracts ([7d37e4e](https://github.com/shunkakinoki/contracts/commit/7d37e4ebfee5b19e0d497ce0f4ca670ba50bde13)) 6 | -------------------------------------------------------------------------------- /contracts/Aave/src/ILendingPoolAddressProvider.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface ILendingPoolAddressesProvider { 6 | function getLendingPool() external view returns (address); 7 | } 8 | -------------------------------------------------------------------------------- /contracts/OKPCMetadata/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/okpcmetadata 1.0.0 (2022-05-16) 2 | 3 | ### Features 4 | 5 | - ini okpc metadata ([80fca7a](https://github.com/shunkakinoki/contracts/commit/80fca7a74ed94f37321dde18130bad7fca5a6e86)) 6 | -------------------------------------------------------------------------------- /contracts/SimpleStore/src/ISimpleStore.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | pragma solidity >=0.8.13; 3 | 4 | interface ISimpleStore { 5 | function setValue(uint256) external; 6 | 7 | function getValue() external returns (uint256); 8 | } 9 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: "@shunkakinoki", 3 | rules: { 4 | "@typescript-eslint/no-unsafe-argument": "off", 5 | "@typescript-eslint/no-unsafe-call": "off", 6 | "@typescript-eslint/unbound-method": "off", 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /contracts/HuffShunKakinoki/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/huffshunkakinoki 1.0.0 (2022-07-21) 2 | 3 | ### Bug Fixes 4 | 5 | - ini huff shunkakinoki ([6b7f2cd](https://github.com/shunkakinoki/contracts/commit/6b7f2cd30d781a162adfc57d63500fa72d8e04c0)) 6 | -------------------------------------------------------------------------------- /contracts/ProxyAdmin/src/ProxyAdmin.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { ProxyAdmin } from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol"; 6 | 7 | contract OZProxyAdmin is ProxyAdmin {} 8 | -------------------------------------------------------------------------------- /contracts/GnosisSafeDeployer/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/gnosissafedeployer 1.0.0 (2022-08-26) 2 | 3 | ### Features 4 | 5 | - ini gnosis safe deployer ([4b7d688](https://github.com/shunkakinoki/contracts/commit/4b7d6886750749fd38885e053cbb20da563ebd61)) 6 | -------------------------------------------------------------------------------- /contracts/HuffSimpleStore/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/huffsimplestore 1.0.0 (2022-07-20) 2 | 3 | ### Performance Improvements 4 | 5 | - ini contracts ([53179f1](https://github.com/shunkakinoki/contracts/commit/53179f1a247e3a3182ce266f2fc1c2967b9d3022)) 6 | -------------------------------------------------------------------------------- /contracts/MultiRaffle/src/tests/utils/Hevm.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | abstract contract Hevm { 6 | /// @notice Sets the block timestamp to x 7 | function warp(uint256 x) public virtual; 8 | } 9 | -------------------------------------------------------------------------------- /contracts/GnosisSafeDeployer/README.md: -------------------------------------------------------------------------------- 1 | # cmd 2 | 3 | ``` 4 | forge script contracts/GnosisSafeDeployer/src/GnosisSafeDeployer.sol --sig "run()" --broadcast --fork-url "https://goerli.infura.io/v3/${INFURA_PROJECT_ID}" --private-key $WALLET_PRIVATE_KEY 5 | ``` 6 | -------------------------------------------------------------------------------- /contracts/MerkleAirdropStarter/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/merkleairdropstarter 1.0.0 (2022-05-10) 2 | 3 | ### Features 4 | 5 | - ini merkle airdrop starter ([e4219a8](https://github.com/shunkakinoki/contracts/commit/e4219a876595ff9425d8ff62ec9ad1ffc0c63cc1)) 6 | -------------------------------------------------------------------------------- /contracts/WatchfacesPFP/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/watchfacespfp 1.0.0 (2022-05-11) 2 | 3 | ### Performance Improvements 4 | 5 | - ini watchfaces pfp render ([fc65afc](https://github.com/shunkakinoki/contracts/commit/fc65afc35c46dd9520b62ed05eea841ec61ce56e)) 6 | -------------------------------------------------------------------------------- /contracts/MultiRaffle/src/interfaces/IERC20.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IERC20 { 6 | /// @notice ERC20 check balance of user 7 | function balanceOf(address user) external returns (uint256); 8 | } 9 | -------------------------------------------------------------------------------- /contracts/WatchfacesSVGRenderer/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/watchfacessvgrenderer 1.0.0 (2022-05-11) 2 | 3 | ### Performance Improvements 4 | 5 | - ini svg renderer ([b81ed91](https://github.com/shunkakinoki/contracts/commit/b81ed915b6bd694cf70167dfed826ab4a61c907a)) 6 | -------------------------------------------------------------------------------- /contracts/BatchRevealToken/src/Example.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | pragma solidity ^0.8.13; 3 | import {Token} from "../src/Token.sol"; 4 | 5 | contract Example is 6 | Token("test", "test", 5, 5000, 555, 500, 0.2 ether, 0.1 ether, bytes32(0), "", keccak256("")) 7 | {} 8 | -------------------------------------------------------------------------------- /contracts/MoshAuctionHouseProxyAdmin/src/MoshAuctionHouseProxyAdmin.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { ProxyAdmin } from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol"; 6 | 7 | contract MoshAuctionHouseProxyAdmin is ProxyAdmin {} 8 | -------------------------------------------------------------------------------- /contracts/W1nt3rAirdrop/src/W1nt3rAirdrop.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | contract W1nt3rAirdrop { 6 | bytes32 public key = 7 | keccak256( 8 | abi.encodePacked(address(0x4fd9D0eE6D6564E80A9Ee00c0163fC952d0A45Ed)) 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /tasks/accounts.ts: -------------------------------------------------------------------------------- 1 | import { task } from "hardhat/config"; 2 | 3 | task("accounts", "Prints the list of accounts", async (_, { ethers }) => { 4 | const accounts = await ethers.getSigners(); 5 | 6 | for (const account of accounts) { 7 | console.log(account.address); 8 | } 9 | }); 10 | -------------------------------------------------------------------------------- /contracts/GovernorTimelockControlMock/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/governortimelockcontrolmock 1.0.0 (2022-07-24) 2 | 3 | ### Performance Improvements 4 | 5 | - ini governor timelock control mock ([c344f44](https://github.com/shunkakinoki/contracts/commit/c344f44a9e788daf1baf7792e28262a02f1333dd)) 6 | -------------------------------------------------------------------------------- /contracts/NFT/src/NFT.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | //Contract based on https://docs.openzeppelin.com/contracts/3.x/erc721 4 | 5 | pragma solidity ^0.8.0; 6 | 7 | import "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; 8 | 9 | contract TWiDAOs is ERC721Upgradeable {} 10 | -------------------------------------------------------------------------------- /contracts/ShunKakinoki/src/ShunKakinoki.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract ShunKakinoki { 8 | string public name = "shunkakinoki"; 9 | uint256 public shunkakinoki = uint256(keccak256(abi.encodePacked(name))); 10 | } 11 | -------------------------------------------------------------------------------- /contracts/Nouns/src/interfaces/IWETH.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IWETH { 6 | function deposit() external payable; 7 | 8 | function withdraw(uint256 wad) external; 9 | 10 | function transfer(address to, uint256 value) external returns (bool); 11 | } 12 | -------------------------------------------------------------------------------- /contracts/LightOrb/src/tests/LightOrb.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "../LightOrb.sol"; 7 | 8 | contract LightOrbTest is Test { 9 | LightOrb private orb; 10 | 11 | function setUp() public { 12 | orb = new LightOrb(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /.github/workflows/check.yml: -------------------------------------------------------------------------------- 1 | name: Check 2 | on: pull_request 3 | jobs: 4 | check: 5 | runs-on: ubuntu-latest 6 | timeout-minutes: 30 7 | steps: 8 | - uses: actions/checkout@v3 9 | - uses: ./.github/actions/yarn 10 | - run: | 11 | yarn run build 12 | - run: | 13 | yarn run lint 14 | -------------------------------------------------------------------------------- /contracts/CodeForDAO/src/modules/Roadmap.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | /// @dev This module is designed to automate the distribution of shares or tokens at each stage through the completion of a pre-defined Roadmap. 8 | contract Roadmap { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /contracts/OKPCMetadata/src/interfaces/IOKPCGenesisArtwork.sol: -------------------------------------------------------------------------------- 1 | //SPDX-License-Identifier: Unlicense 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { IOKPC } from "./IOKPC.sol"; 6 | 7 | interface IOKPCGenesisArtwork { 8 | function getGenesisArtwork(uint256) 9 | external 10 | view 11 | returns (uint256, IOKPC.Art memory); 12 | } 13 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/src/LowDecimals.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | // Copyright (C) 2020 d-xo 3 | 4 | pragma solidity ^0.8.13; 5 | 6 | import { ERC20 } from "./ERC20.sol"; 7 | 8 | contract LowDecimalToken is ERC20 { 9 | constructor(uint256 _totalSupply) public ERC20(_totalSupply) { 10 | decimals = 2; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/src/HighDecimals.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | 3 | // Copyright (C) 2020 d-xo 4 | 5 | pragma solidity ^0.8.13; 6 | 7 | import { ERC20 } from "./ERC20.sol"; 8 | 9 | contract HighDecimalToken is ERC20 { 10 | constructor(uint256 _totalSupply) public ERC20(_totalSupply) { 11 | decimals = 50; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /contracts/CodeForDAO/src/interfaces/IShare.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; 6 | 7 | interface IShare is IERC20 { 8 | function mint(address to, uint256 amount) external; 9 | 10 | function pause() external; 11 | 12 | function unpause() external; 13 | } 14 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/interfaces/IBondingCalculator.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IBondingCalculator { 6 | function markdown(address _LP) external view returns (uint256); 7 | 8 | function valuation(address pair_, uint256 amount_) 9 | external 10 | view 11 | returns (uint256 _value); 12 | } 13 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/interfaces/IOwnable.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IOwnable { 6 | function owner() external view returns (address); 7 | 8 | function renounceManagement() external; 9 | 10 | function pushManagement(address newOwner_) external; 11 | 12 | function pullManagement() external; 13 | } 14 | -------------------------------------------------------------------------------- /contracts/EIP4973/src/interfaces/IERC721Metadata.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: CC0-1.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IERC721Metadata { 6 | function name() external view returns (string memory); 7 | 8 | function symbol() external view returns (string memory); 9 | 10 | function tokenURI(uint256 tokenId) external view returns (string memory); 11 | } 12 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/interfaces/IOHM.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "./IERC20.sol"; 6 | 7 | interface IOHM is IERC20 { 8 | function mint(address account_, uint256 amount_) external; 9 | 10 | function burn(uint256 amount) external; 11 | 12 | function burnFrom(address account_, uint256 amount_) external; 13 | } 14 | -------------------------------------------------------------------------------- /contracts/Aave/src/IFlashLoanReceiver.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IFlashLoanReceiver { 6 | function executeOperation( 7 | address[] calldata assets, 8 | uint256[] calldata amounts, 9 | uint256[] calldata premiums, 10 | address initiator, 11 | bytes calldata params 12 | ) external returns (bool); 13 | } 14 | -------------------------------------------------------------------------------- /contracts/OKPCFont/src/interfaces/IOKPCFont.sol: -------------------------------------------------------------------------------- 1 | //SPDX-License-Identifier: Unlicense 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IOKPCFont { 6 | error CharacterNotFound(); 7 | error NotSingleCharacter(); 8 | 9 | function getChar(string memory char) external view returns (string memory); 10 | 11 | function getChar(bytes1) external view returns (string memory); 12 | } 13 | -------------------------------------------------------------------------------- /contracts/OKPCMetadata/src/interfaces/IOKPCFont.sol: -------------------------------------------------------------------------------- 1 | //SPDX-License-Identifier: Unlicense 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IOKPCFont { 6 | error CharacterNotFound(); 7 | error NotSingleCharacter(); 8 | 9 | function getChar(string memory char) external view returns (string memory); 10 | 11 | function getChar(bytes1) external view returns (string memory); 12 | } 13 | -------------------------------------------------------------------------------- /contracts/EIP712/src/test/utils/MockERC20.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: UNLICENSED 2 | 3 | pragma solidity 0.8.13; 4 | 5 | import { ERC20 } from "@rari-capital/solmate/src/tokens/ERC20.sol"; 6 | 7 | contract MockERC20 is ERC20 { 8 | constructor() ERC20("Mock Token", "MOCK", 18) {} 9 | 10 | function mint(address _to, uint256 _amount) public { 11 | _mint(_to, _amount); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/interfaces/IERC20Metadata.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "./IERC20.sol"; 6 | 7 | interface IERC20Metadata is IERC20 { 8 | function name() external view returns (string memory); 9 | 10 | function symbol() external view returns (string memory); 11 | 12 | function decimals() external view returns (uint8); 13 | } 14 | -------------------------------------------------------------------------------- /contracts/TheMerge/scripts/TheMergeScript.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "../src/TheMerge.sol"; 6 | import "forge-std/Script.sol"; 7 | 8 | contract TheMergeScript is Script { 9 | TheMerge public script; 10 | 11 | function run() external { 12 | vm.startBroadcast(); 13 | script = new TheMerge(); 14 | vm.stopBroadcast(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /contracts/VanityResolver/src/tests/utils/ExampleContract.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | contract ExampleContract { 6 | uint256 public store; 7 | address public addr; 8 | 9 | function testStaticCall() public pure returns (uint256) { 10 | return 1002; 11 | } 12 | 13 | function testStore(uint256 i) public { 14 | store = i; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /contracts/TsujiPoker/scripts/TsujiPokerScript.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "../src/TsujiPoker.sol"; 6 | import "forge-std/Script.sol"; 7 | 8 | contract TsujiPokerScript is Script { 9 | TsujiPoker public nft; 10 | 11 | function run() external { 12 | vm.startBroadcast(); 13 | nft = new TsujiPoker(); 14 | vm.stopBroadcast(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /contracts/Aave/src/ILendingPool.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface ILendingPool { 6 | function flashLoan( 7 | address receiverAddress, 8 | address[] calldata assets, 9 | uint256[] calldata amounts, 10 | uint256[] calldata modes, 11 | address onBehalfOf, 12 | bytes calldata params, 13 | uint16 referralCode 14 | ) external; 15 | } 16 | -------------------------------------------------------------------------------- /contracts/TheMerge/src/TheMerge.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | // Code from @m1guelpf: 6 | // https://twitter.com/m1guelpf/status/1529340774286073857 7 | // https://gist.github.com/m1guelpf/6d09b85d70a1dfd00d394b2acf789eeb 8 | contract TheMerge { 9 | function hasMergeSucceeded() public view returns (bool) { 10 | return block.difficulty > 2**64; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /contracts/WatchfacesWorld/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/watchfacesworld 1.0.0 (2022-05-11) 2 | 3 | ### Features 4 | 5 | - ini watchfaces world ([579bd89](https://github.com/shunkakinoki/contracts/commit/579bd893a782957b7f0b62c51d92f09ee63d6225)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini watchfaces pfp render ([fc65afc](https://github.com/shunkakinoki/contracts/commit/fc65afc35c46dd9520b62ed05eea841ec61ce56e)) 10 | -------------------------------------------------------------------------------- /scripts/Greeter.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.8.13; 2 | 3 | import "@shunkakinoki/greeter/Greeter.sol"; 4 | import "forge-std/Script.sol"; 5 | 6 | contract GreeterDeploy is Script { 7 | function run() external { 8 | vm.startBroadcast(); 9 | 10 | Greeter greeter = new Greeter("Hello, World!"); 11 | greeter.greet(); 12 | require(bytes32(bytes(greeter.greet())) == bytes32(bytes("Hello, World!"))); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /packages/HotChainCLI/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "esModuleInterop": true, 5 | "module": "commonjs", 6 | "noEmit": false, 7 | "outDir": "dist", 8 | "rootDir": "src", 9 | "strict": false, 10 | "target": "ES2017", 11 | "types": ["node"] 12 | }, 13 | "exclude": ["node_modules"], 14 | "extends": "@shunkakinoki/tsconfig", 15 | "include": ["src"] 16 | } 17 | -------------------------------------------------------------------------------- /packages/MerkleTreeCLI/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "esModuleInterop": true, 5 | "module": "commonjs", 6 | "noEmit": false, 7 | "outDir": "dist", 8 | "rootDir": "src", 9 | "strict": true, 10 | "target": "ES2017", 11 | "types": ["node"] 12 | }, 13 | "exclude": ["node_modules"], 14 | "extends": "@shunkakinoki/tsconfig", 15 | "include": ["src"] 16 | } 17 | -------------------------------------------------------------------------------- /packages/NFTMetadataCLI/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "esModuleInterop": true, 5 | "module": "commonjs", 6 | "noEmit": false, 7 | "outDir": "dist", 8 | "rootDir": "src", 9 | "strict": true, 10 | "target": "es2017", 11 | "types": ["node"] 12 | }, 13 | "exclude": ["node_modules"], 14 | "extends": "@shunkakinoki/tsconfig", 15 | "include": ["src"] 16 | } 17 | -------------------------------------------------------------------------------- /contracts/UUPSUpgradeable/src/PizzaV2.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "./Pizza.sol"; 6 | 7 | contract PizzaV2 is Pizza { 8 | ///@dev increments the slices when called 9 | function refillSlice() external { 10 | slices += 1; 11 | } 12 | 13 | ///@dev returns the contract version 14 | function pizzaVersion() external pure returns (uint256) { 15 | return 2; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /contracts/CodeForDAO/src/libraries/Constants.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | library Constants { 6 | string internal constant MEMBERSHIP_GOVERNOR_SUFFIX = "-MembershipGovernor"; 7 | string internal constant SHARE_GOVERNOR_SUFFIX = "-ShareGovernor"; 8 | string internal constant SHARE_TOKEN_NAME_DEFAULT_SUFFIX = "-Share"; 9 | string internal constant SHARE_TOKEN_SYMBOL_DEFAULT_SUFFIX = "-SHR"; 10 | } 11 | -------------------------------------------------------------------------------- /contracts/Aave/src/tests/Aave.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract AaveTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/CODE/src/tests/CODE.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract CODETest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Loot/src/tests/Loot.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract LootTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Mosh/src/tests/Mosh.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract MoshTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/OKPC/src/tests/OKPC.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract OKPCTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /templates/Test.t.sol.template: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract {{name}}Test is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Aave/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/aave", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Box/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/box", 3 | "version": "1.2.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/CODE/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/code", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/EVM/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/evm", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Loot/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/loot", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Mosh/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/mosh", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/NFT/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/nft", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/NFT/src/tests/NFT.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract ContractBTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Nouns/src/tests/Nouns.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract NounsTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Zodiac/src/tests/Zodiac.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract ZodiacTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Clones/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/clones", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Create2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/create2", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/EIP4973/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/eip4973", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/EIP712/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/eip712", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Greeter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/greeter", 3 | "version": "1.2.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/LevelNFT/src/tests/LevelNFT.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract LevelNFTTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/LlamaPay/src/tests/LlamaPay.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract LlamaPayTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/MoshDAO/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/moshdao", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/MoshDAO/src/tests/MoshDAO.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract MoshDAOTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Nouns/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/nouns", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/OKPCFont/src/tests/OKPCFont.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract OKPCFontTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Private/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/private", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Quine/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/quine", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Renoun/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/renoun", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/TWiDAOs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/twidaos", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/TheMerge/src/tests/TheMerge.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract TheMergeTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Zodiac/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/zodiac", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/ZorbNFT/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/zorbnft", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/ZorbNFT/src/tests/ZorbNFT.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract ZorbNFTTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/8bitArray/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/8bitarray", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Ethernaut/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/ethernaut", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Femplate/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/femplate", 3 | "version": "1.1.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/FourBytes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/fourbytes", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/FourBytes/src/tests/FourBytes.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract FourBytesTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/HuffWETH/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/huffweth", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/LevelNFT/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/levelnft", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/LightOrb/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/lightorb", 3 | "version": "1.2.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/LlamaPay/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/llamapay", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/OKPCParts/src/tests/OKPCParts.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract OKPCPartsTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/TheMerge/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/themerge", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/AuctionHouse/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/auctionhouse", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/BitsAndBytes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/bitsandbytes", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/ChainToadz/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/chaintoadz", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/ChainToadz/src/tests/ChainToadz.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract ChainToadzTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/CodeForDAO/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/codefordao", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/CodeForDAO/src/tests/CodeForDAO.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract CodeForDAOTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/CryptoCoven/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/cryptocoven", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/CryptoCoven/src/tests/CryptoCoven.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract CryptoCovenTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/GovernorMock/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/governormock", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/HackPhishing/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/hackphishing", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/HelloWorld/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/helloworld", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/HotChainSvg/src/tests/HotChainSvg.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract HotChainSvgTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/HuffDeployer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/huffdeployer", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/KiyoSanBirthday/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/0xkiyo", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/LilFlashloan/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/lilflash", 3 | "version": "1.1.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/LilJuicebox/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/liljuicebox", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/LilOpensea/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/lilopensea", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/MinimalProxy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/minimalproxy", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/MultiRaffle/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/multiraffle", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/NFTTokenDrop/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/nfttokendrop", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/olympusdao", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/tests/OlympusDAO.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract OlympusDAOTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/ProxyAdmin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/proxyadmin", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/ShunKakinoki/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/shunkakinoki", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/SimpleStore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/simplestore", 3 | "version": "1.1.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/SolmateNFT/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/solmatenft", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/SoulMinter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/soulminter", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/ThePossessed/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/thepossessed", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Upgradeable/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/upgradeable", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Upgradeable/src/tests/Upgradeable.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract ContractBTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/ViewAndPure/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/viewandpure", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/WagumiCats/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/wagumicats", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/WagumiCats/src/tests/WagumiCats.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract WagumiCatsTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/WagumiCatsV2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/wagumicatsv2", 3 | "version": "1.1.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/WagumiToken/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/wagumitoken", 3 | "version": "1.1.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/weirderc20", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/src/tests/WeirdERC20.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract WeirdERC20Test is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/AaveFlashLoan/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/aaveflashloan", 3 | "version": "1.0.3", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/AaveFlashLoan/src/tests/AaveFlashLoan.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract AaveFlashLoanTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/AuctionHouse/src/tests/AuctionHouse.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract AuctionHouseTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/HackReentrancy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/hackreentrancy", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/HuffHelloWorld/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/huffhelloworld", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/LilFractional/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/lilfractional", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/LilSuperfluid/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/lilsuperfluid", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/OKPCMetadata/src/tests/OKPCMetadata.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract OKPCMetadataTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Shrine/src/tests/mocks/MockERC20.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { ERC20 } from "@rari-capital/solmate/src/tokens/ERC20.sol"; 6 | 7 | contract MockERC20 is ERC20 { 8 | constructor( 9 | string memory name, 10 | string memory symbol, 11 | uint8 decimals 12 | ) ERC20(name, symbol, decimals) {} 13 | 14 | function mint(uint256 amount) external { 15 | _mint(msg.sender, amount); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /contracts/SimpleAuction/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/simpleauction", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/ThePossessed/src/tests/ThePossessed.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract ThePossessedTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/VanityResolver/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/vanityresolver", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/W1nt3rAirdrop/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/w1nt3rairdrop", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/WatchfacesPFP/src/tests/WatchfacesPFP.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract WatchfacesPFPTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /packages/HotChainCLI/contracts/tests/HotChainSvg.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract HotChainSvgTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "esModuleInterop": true, 5 | "module": "commonjs", 6 | "outDir": "dist", 7 | "paths": { 8 | "@shunkakinoki/contracts/*": ["./src/*"], 9 | "@shunkakinoki/typechain/*": ["./typechain/*"] 10 | }, 11 | "strict": true, 12 | "target": "es2018" 13 | }, 14 | "exclude": ["node_modules"], 15 | "files": ["./hardhat.config.ts"], 16 | "include": ["deploy", "src", "tasks"] 17 | } 18 | -------------------------------------------------------------------------------- /contracts/BatchRevealToken/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/batchrevealtoken", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/CryptoTestersNFT/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/cryptotestersnft", 3 | "version": "1.1.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/EthernautBounty/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/ethernautbounty", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/FutaSanBirthday/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/futasanbirthday", 3 | "version": "1.0.3", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/HuffShunKakinoki/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/huffshunkakinoki", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/HuffSimpleStore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/huffsimplestore", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/MoshAuctionHouseProxy/src/MoshAuctionHouseProxy.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { TransparentUpgradeableProxy } from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; 6 | 7 | contract MoshAuctionHouseProxy is TransparentUpgradeableProxy { 8 | constructor( 9 | address logic, 10 | address admin, 11 | bytes memory data 12 | ) TransparentUpgradeableProxy(logic, admin, data) {} 13 | } 14 | -------------------------------------------------------------------------------- /contracts/OpenZeppelinNFT/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/openzeppelinnft", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/UUPSUpgradeable/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/uupsupgradeable", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/BatchRevealToken/src/tests/BatchRevealToken.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract BatchRevealTokenTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/GnosisSafeDeployer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/gnosissafedeployer", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/OwnableUpgradeable/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/ownableupgradeable", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/WatchfacesWorld/src/tests/WatchfacesWorld.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract WatchfacesWorldTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/ArrayRemoveByShifting/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/arrayremovebyshifting", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/GnosisSafeDeployer/src/tests/GnosisSafeDeployer.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract GnosisSafeDeployerTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/MoshAuctionHouseProxy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/moshauctionhouseproxy", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/OwnableUpgradeable/src/tests/OwnableUpgradeable.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract OwnableUpgradeableTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/UpgradeableController/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/upgradeablecontroller", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/Zodiac/src/factory/FactoryFriendly.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: LGPL-3.0-only 2 | 3 | /// @title Zodiac FactoryFriendly - A contract that allows other contracts to be initializable and pass bytes as arguments to define contract state 4 | pragma solidity ^0.8.13; 5 | 6 | import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; 7 | 8 | abstract contract FactoryFriendly is OwnableUpgradeable { 9 | function setUp(bytes memory initializeParams) public virtual; 10 | } 11 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "solidity.compileUsingRemoteVersion": "v0.8.13+commit.abaa5c0e", 3 | "solidity.enabledAsYouTypeCompilationErrorCheck": true, 4 | "solidity.linter": "solhint", 5 | "solidity.packageDefaultDependenciesContractsDirectory": "", 6 | "solidity.packageDefaultDependenciesDirectory": "node_modules", 7 | "solidity.solhintRules": { 8 | "avoid-sha3": "warn" 9 | }, 10 | "terminal.integrated.env.osx": { 11 | "ZSH_INIT_COMMAND": "mux start contracts" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /contracts/ClonesWithImmutableArgs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/cloneswithimmutableargs", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/ArrayRemoveByShifting/src/tests/ArrayRemoveByShifting.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract ArrayRemoveByShiftingTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/GovernorTimelockControlMock/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/governortimelockcontrolmock", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/MoshAuctionHouseProxyAdmin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/moshauctionhouseproxyadmin", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/TransparentUpgradeableProxy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/transparentupgradeableproxy", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "publishConfig": { 16 | "access": "public", 17 | "registry": "https://registry.npmjs.org" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/WatchfacesSVGRenderer/src/tests/WatchfacesSVGRenderer.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract WatchfacesSVGRendererTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/ClonesWithImmutableArgs/src/tests/ClonesWithImmutableArgs.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract ClonesWithImmutableArgsTest is Test { 8 | uint256 testNumber; 9 | 10 | function setUp() public { 11 | testNumber = 42; 12 | } 13 | 14 | function testNumberIs42() public { 15 | assertEq(testNumber, 42); 16 | } 17 | 18 | function testFailSubtract43() public { 19 | testNumber -= 43; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/FutaSanBirthday/scripts/FutaSanBirthdayScript.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "../src/FutaSanBirthday.sol"; 6 | import "forge-std/Script.sol"; 7 | 8 | contract FutaSanBirthdayScript is Script { 9 | FutaSanBirthday public nft; 10 | 11 | function run() external { 12 | vm.startBroadcast(); 13 | nft = new FutaSanBirthday(); 14 | nft.mint(address(0xe7236c912945C8B915c7C60b55e330b959801B45)); 15 | vm.stopBroadcast(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /contracts/Quine/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/quine 1.0.0 (2022-07-20) 2 | 3 | ### Features 4 | 5 | - ini quine by zefram ([f7e68f9](https://github.com/shunkakinoki/contracts/commit/f7e68f941ae6c8a38957ccac358072cf681be048)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | -------------------------------------------------------------------------------- /contracts/Nouns/src/test/MaliciousBidder.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { INounsAuctionHouse } from "../interfaces/INounsAuctionHouse.sol"; 6 | 7 | contract MaliciousBidder { 8 | function bid(INounsAuctionHouse auctionHouse, uint256 tokenId) 9 | public 10 | payable 11 | { 12 | auctionHouse.createBid{ value: msg.value }(tokenId); 13 | } 14 | 15 | receive() external payable { 16 | assembly { 17 | invalid() 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /contracts/TransparentUpgradeableProxy/src/tests/upgrades/FooV1.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol"; 6 | 7 | contract FooV1 is Initializable { 8 | uint256 public x; 9 | 10 | function initialize() public initializer { 11 | x = 1; 12 | } 13 | 14 | function set(uint256 _x) external { 15 | x = _x; 16 | } 17 | 18 | function double() external { 19 | x = 2 * x; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tasks/deploy/greeter.ts: -------------------------------------------------------------------------------- 1 | import { task } from "hardhat/config"; 2 | import type { TaskArguments } from "hardhat/types"; 3 | 4 | task("deploy:Greeter") 5 | .addParam("greeting", "Say hello, be nice") 6 | .setAction(async (taskArguments: TaskArguments, { ethers }) => { 7 | const greeterFactory = await ethers.getContractFactory("Greeter"); 8 | const greeter = await greeterFactory.deploy(taskArguments.greeting); 9 | await greeter.deployed(); 10 | console.log("Greeter deployed to: ", greeter.address); 11 | }); 12 | -------------------------------------------------------------------------------- /contracts/8bitArray/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/8bitarray 1.0.0 (2022-07-20) 2 | 3 | ### Features 4 | 5 | - ini eight bit array in huff ([ade51ba](https://github.com/shunkakinoki/contracts/commit/ade51ba6b8365eb1b45e25c1e8cdd7e6eb01fa1a)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | -------------------------------------------------------------------------------- /contracts/LevelNFT/src/ILevelChecker.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: Apache-2.0 2 | pragma solidity ^0.8.13; 3 | 4 | // Interface for a new level, which can be beaten to increase score. 5 | interface ILevelChecker { 6 | // Implements logic to tell if this participant has beaten this level. 7 | function isCompleted( 8 | // address of user 9 | address participant, 10 | // Optional arbitrary data the user can pass in to verify a level was completed. 11 | bytes memory userData 12 | ) external view returns (bool); 13 | } 14 | -------------------------------------------------------------------------------- /contracts/LilENS/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/lilens", 3 | "version": "1.0.1", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "AGPL-3.0-only", 14 | "author": "Shun Kakinoki", 15 | "scripts": { 16 | "fix": "cd ../.. && yarn run fix" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /contracts/TransparentUpgradeableProxy/src/OZTransparentUpgradeableProxy.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | import { TransparentUpgradeableProxy } from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol"; 7 | 8 | contract OZTransparentUpgradeableProxy is TransparentUpgradeableProxy { 9 | constructor( 10 | address _logic, 11 | address admin_, 12 | bytes memory _data 13 | ) TransparentUpgradeableProxy(_logic, admin_, _data) {} 14 | } 15 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/tests/utils/Hevm.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | pragma solidity ^0.8.13; 3 | 4 | // See cheatcodes list at https://github.com/dapphub/dapptools/blob/009f850d18b48ef7e994fba3186e0bbafcb02d3b/src/hevm/README.md 5 | // Have only implemented one, can add more as we need from that list 6 | abstract contract Hevm { 7 | // @notice Sets the block timestamp to x 8 | function warp(uint256 x) public virtual; 9 | 10 | // @notice Sets the block number to x. 11 | function roll(uint256) public virtual; 12 | } 13 | -------------------------------------------------------------------------------- /contracts/BitsAndBytes/src/BitsAndBytes.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract BitsAndBytes { 8 | function implicitConversion(uint8 y, uint16 z) 9 | public 10 | pure 11 | returns (uint32 x) 12 | { 13 | x = y + z; 14 | } 15 | 16 | function explicitConversion(int256 y) public pure returns (uint256 x) { 17 | x = uint256(y); 18 | } 19 | 20 | function cutOff(uint32 a) public pure returns (uint16 b) { 21 | b = uint16(a); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /contracts/FourBytes/src/FourBytes.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "hardhat/console.sol"; 6 | 7 | contract E { 8 | uint256 public n; 9 | address public sender; 10 | 11 | function setN(uint256 _n) public { 12 | n = _n; 13 | sender = msg.sender; 14 | } 15 | } 16 | 17 | contract D { 18 | uint256 public n; 19 | address public sender; 20 | 21 | function callSetN(address _e, uint256 _n) public { 22 | _e.call(abi.encodePacked(bytes4(keccak256("setN(uint256)")), _n)); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /contracts/LilOpensea/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/lilopensea 1.0.0 (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | -------------------------------------------------------------------------------- /contracts/TsujiPoker/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/tsujipoker", 3 | "version": "1.0.2", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "dependencies": { 16 | "@shunkakinoki/hotchaincli": "1.4.1" 17 | }, 18 | "publishConfig": { 19 | "access": "public", 20 | "registry": "https://registry.npmjs.org" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /contracts/ViewAndPure/src/ViewAndPure.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | // Code taken from: https://solidity-by-example.org/view-and-pure-functions/ 3 | pragma solidity ^0.8.13; 4 | 5 | contract ViewAndPure { 6 | uint256 public x = 1; 7 | 8 | // Promise not to modify the state. 9 | function addToX(uint256 y) public view returns (uint256) { 10 | return x + y; 11 | } 12 | 13 | // Promise not to modify or read from the state. 14 | function add(uint256 i, uint256 j) public pure returns (uint256) { 15 | return i + j; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /contracts/LilENS/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/lilens [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/lilens@1.0.0...@shunkakinoki/lilens@1.0.1) (2022-05-14) 2 | 3 | ### Performance Improvements 4 | 5 | - ini lil fractional from lil-web3 ([a39e5d6](https://github.com/shunkakinoki/contracts/commit/a39e5d6df7847780f2628b6f8b0b846e251b4d7d)) 6 | 7 | # @shunkakinoki/lilens 1.0.0 (2022-05-09) 8 | 9 | ### Features 10 | 11 | - ini lil ens ([10388e5](https://github.com/shunkakinoki/contracts/commit/10388e52c5cd60b323e46c720c51fb19a465d827)) 12 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/src/Approval.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | // Copyright (C) 2020 d-xo 3 | 4 | pragma solidity ^0.8.13; 5 | 6 | import { ERC20 } from "./ERC20.sol"; 7 | 8 | contract ApprovalRaceToken is ERC20 { 9 | // --- Init --- 10 | constructor(uint256 _totalSupply) public ERC20(_totalSupply) {} 11 | 12 | // --- Token --- 13 | function approve(address usr, uint256 wad) public override returns (bool) { 14 | require(allowance[msg.sender][usr] == 0, "unsafe-approve"); 15 | return super.approve(usr, wad); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /contracts/LightOrbRenderer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/lightorbrenderer", 3 | "version": "1.0.3", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "files": [ 10 | "src" 11 | ], 12 | "scripts": { 13 | "fix": "cd ../.. && yarn run fix" 14 | }, 15 | "dependencies": { 16 | "@shunkakinoki/hotchaincli": "1.4.1" 17 | }, 18 | "publishConfig": { 19 | "access": "public", 20 | "registry": "https://registry.npmjs.org" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /contracts/SimpleAuction/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/simpleauction 1.0.0 (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | -------------------------------------------------------------------------------- /contracts/OKPC/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/okpc", 3 | "version": "1.0.0", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "Unlicence", 14 | "author": "Shun Kakinoki", 15 | "files": [ 16 | "src" 17 | ], 18 | "scripts": { 19 | "fix": "cd ../.. && yarn run fix" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/Shrine/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/shrine", 3 | "version": "1.0.0", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "AGPL-3.0", 14 | "author": "Shun Kakinoki", 15 | "files": [ 16 | "src" 17 | ], 18 | "scripts": { 19 | "fix": "cd ../.. && yarn run fix" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/OKPCFont/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/okpcfont", 3 | "version": "1.0.0", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "Unlicence", 14 | "author": "Shun Kakinoki", 15 | "files": [ 16 | "src" 17 | ], 18 | "scripts": { 19 | "fix": "cd ../.. && yarn run fix" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/src/ApprovalToZero.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | // Copyright (C) 2020 d-xo 3 | 4 | pragma solidity ^0.8.13; 5 | 6 | import { ERC20 } from "./ERC20.sol"; 7 | 8 | contract ApprovalToZeroToken is ERC20 { 9 | // --- Init --- 10 | constructor(uint256 _totalSupply) public ERC20(_totalSupply) {} 11 | 12 | // --- Token --- 13 | function approve(address usr, uint256 wad) public override returns (bool) { 14 | require(usr != address(0), "no approval for the zero address"); 15 | return super.approve(usr, wad); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /contracts/ArrayRemoveByShifting/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # @shunkakinoki/arrayremovebyshifting 1.0.0 (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | -------------------------------------------------------------------------------- /contracts/MoshAuctionHouseProxy/src/tests/MoshAuctionHouseProxy.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import { MoshAuctionHouseProxy } from "../MoshAuctionHouseProxy.sol"; 7 | 8 | contract MoshAuctionHouseProxyTest is Test { 9 | uint256 testNumber; 10 | 11 | function setUp() public { 12 | testNumber = 42; 13 | } 14 | 15 | function testNumberIs42() public { 16 | assertEq(testNumber, 42); 17 | } 18 | 19 | function testFailSubtract43() public { 20 | testNumber -= 43; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /contracts/OKPCParts/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/okpcparts", 3 | "version": "1.0.0", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "Unlicence", 14 | "author": "Shun Kakinoki", 15 | "files": [ 16 | "src" 17 | ], 18 | "scripts": { 19 | "fix": "cd ../.. && yarn run fix" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/HotChainSvg/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/hotchainsvg", 3 | "version": "1.1.5", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "main": "src/index.js", 10 | "files": [ 11 | "src" 12 | ], 13 | "scripts": { 14 | "fix": "cd ../.. && yarn run fix" 15 | }, 16 | "dependencies": { 17 | "@shunkakinoki/hotchaincli": "1.4.1" 18 | }, 19 | "publishConfig": { 20 | "access": "public", 21 | "registry": "https://registry.npmjs.org" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /contracts/OKPCMetadata/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/okpcmetadata", 3 | "version": "1.0.0", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "Unlicence", 14 | "author": "Shun Kakinoki", 15 | "files": [ 16 | "src" 17 | ], 18 | "scripts": { 19 | "fix": "cd ../.. && yarn run fix" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/ViewAndPure/src/tests/ViewAndPure.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "../ViewAndPure.sol"; 7 | 8 | contract ViewAndPureTest is Test { 9 | uint256 testNumber; 10 | ViewAndPure private vap; 11 | 12 | function setUp() public { 13 | vap = new ViewAndPure(); 14 | } 15 | 16 | function testNumberIs4() public { 17 | testNumber = vap.addToX(3); 18 | assertEq(testNumber, 4); 19 | } 20 | 21 | function testFailSubtract43() public { 22 | testNumber -= 43; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /contracts/WatchfacesPFP/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/watchfacespfp", 3 | "version": "1.0.0", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "Unlicence", 14 | "author": "Shun Kakinoki", 15 | "files": [ 16 | "src" 17 | ], 18 | "scripts": { 19 | "fix": "cd ../.. && yarn run fix" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/TransparentUpgradeableProxy/src/tests/upgrades/FooV2.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol"; 6 | 7 | contract FooV2 is Initializable { 8 | uint256 public x; 9 | 10 | function initialize() public initializer { 11 | x = 1; 12 | } 13 | 14 | function set(uint256 _x) external { 15 | x = _x; 16 | } 17 | 18 | function double() external { 19 | x = 2 * x; 20 | } 21 | 22 | function triple() external { 23 | x = 3 * x; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /contracts/WatchfacesWorld/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/watchfacesworld", 3 | "version": "1.0.0", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "Unlicense", 14 | "author": "Shun Kakinoki", 15 | "files": [ 16 | "src" 17 | ], 18 | "scripts": { 19 | "fix": "cd ../.. && yarn run fix" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | on: 3 | push: 4 | branches: 5 | - alpha 6 | - beta 7 | - main 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | timeout-minutes: 90 12 | steps: 13 | - uses: actions/checkout@v3 14 | - uses: ./.github/actions/yarn 15 | - run: | 16 | yarn run build 17 | - run: | 18 | yarn run release 19 | env: 20 | GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} 21 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 22 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 23 | -------------------------------------------------------------------------------- /templates/package.json.template: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/{{lowerCase name}}", 3 | "version": "1.0.0", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "publishConfig": { 10 | "access": "public", 11 | "registry": "https://registry.npmjs.org" 12 | }, 13 | "publishConfig": { 14 | "access": "public", 15 | "registry": "https://registry.npmjs.org" 16 | }, 17 | "files": [ 18 | "src" 19 | ], 20 | "scripts": { 21 | "fix": "cd ../.. && yarn run fix" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /contracts/WatchfacesSVGRenderer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/watchfacessvgrenderer", 3 | "version": "1.0.0", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "Unlicense", 14 | "author": "Shun Kakinoki", 15 | "files": [ 16 | "src" 17 | ], 18 | "scripts": { 19 | "fix": "cd ../.. && yarn run fix" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/HuffHelloWorld/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/huffhelloworld [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/huffhelloworld@1.0.0...@shunkakinoki/huffhelloworld@1.0.1) (2022-07-21) 2 | 3 | ### Bug Fixes 4 | 5 | - ini hello world from huff contracts ([ec44c78](https://github.com/shunkakinoki/contracts/commit/ec44c78139b241a1681f91058ab72b89bfc19813)) 6 | 7 | # @shunkakinoki/huffhelloworld 1.0.0 (2022-07-20) 8 | 9 | ### Performance Improvements 10 | 11 | - ini contracts ([53179f1](https://github.com/shunkakinoki/contracts/commit/53179f1a247e3a3182ce266f2fc1c2967b9d3022)) 12 | -------------------------------------------------------------------------------- /contracts/MerkleAirdropStarter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/merkleairdropstarter", 3 | "version": "1.0.0", 4 | "private": true, 5 | "homepage": "https://github.com/shunkakinoki/contracts", 6 | "bugs": { 7 | "url": "https://github.com/shunkakinoki/contracts/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shunkakinoki/contracts.git" 12 | }, 13 | "license": "AGPL-3.0-only", 14 | "author": "Shun Kakinoki", 15 | "files": [ 16 | "src" 17 | ], 18 | "scripts": { 19 | "fix": "cd ../.. && yarn run fix" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/interfaces/IgOHM.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "./IERC20.sol"; 6 | 7 | interface IgOHM is IERC20 { 8 | function mint(address _to, uint256 _amount) external; 9 | 10 | function burn(address _from, uint256 _amount) external; 11 | 12 | function index() external view returns (uint256); 13 | 14 | function balanceFrom(uint256 _amount) external view returns (uint256); 15 | 16 | function balanceTo(uint256 _amount) external view returns (uint256); 17 | 18 | function migrate(address _staking, address _sOHM) external; 19 | } 20 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/src/RevertZero.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | 3 | // Copyright (C) 2020 d-xo 4 | 5 | pragma solidity ^0.8.13; 6 | 7 | import { ERC20 } from "./ERC20.sol"; 8 | 9 | contract RevertZeroToken is ERC20 { 10 | // --- Init --- 11 | constructor(uint256 _totalSupply) public ERC20(_totalSupply) {} 12 | 13 | // --- Token --- 14 | function transferFrom( 15 | address src, 16 | address dst, 17 | uint256 wad 18 | ) public override returns (bool) { 19 | require(wad != 0, "zero-value-transfer"); 20 | return super.transferFrom(src, dst, wad); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /contracts/ClonesWithImmutableArgs/src/ExampleClone.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: BSD 2 | pragma solidity ^0.8.13; 3 | 4 | import { Clone } from "./Clone.sol"; 5 | 6 | contract ExampleClone is Clone { 7 | function param1() public pure returns (address) { 8 | return _getArgAddress(0); 9 | } 10 | 11 | function param2() public pure returns (uint256) { 12 | return _getArgUint256(20); 13 | } 14 | 15 | function param3() public pure returns (uint64) { 16 | return _getArgUint64(52); 17 | } 18 | 19 | function param4() public pure returns (uint8) { 20 | return _getArgUint8(60); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/src/RevertToZero.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | 3 | // Copyright (C) 2020 d-xo 4 | 5 | pragma solidity ^0.8.13; 6 | 7 | import { ERC20 } from "./ERC20.sol"; 8 | 9 | contract ReentrantToken is ERC20 { 10 | // --- Init --- 11 | constructor(uint256 _totalSupply) public ERC20(_totalSupply) {} 12 | 13 | // --- Token --- 14 | function transferFrom( 15 | address src, 16 | address dst, 17 | uint256 wad 18 | ) public override returns (bool) { 19 | require(dst != address(0), "transfer-to-zero"); 20 | return super.transferFrom(src, dst, wad); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/HotChainCLI/src/boot.ts: -------------------------------------------------------------------------------- 1 | import VM from "@ethereumjs/vm"; 2 | import { Account, Address, BN } from "ethereumjs-util"; 3 | 4 | export const boot = async () => { 5 | const pk = Buffer.from( 6 | "1122334455667788112233445566778811223344556677881122334455667788", 7 | "hex", 8 | ); 9 | 10 | const accountAddress = Address.fromPrivateKey(pk); 11 | const account = Account.fromAccountData({ 12 | nonce: 0, 13 | balance: new BN(10).pow(new BN(18 + 2)), // 100 eth 14 | }); 15 | 16 | const vm = new VM(); 17 | await vm.stateManager.putAccount(accountAddress, account); 18 | 19 | return { vm, pk }; 20 | }; 21 | -------------------------------------------------------------------------------- /contracts/Box/src/tests/Box.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "../Box.sol"; 7 | 8 | contract BoxTest is Test { 9 | Box private box; 10 | 11 | function setUp() public { 12 | box = new Box(); 13 | } 14 | 15 | function testBoxInitialize() public { 16 | box.initialize(32); 17 | uint256 number = box.retrieve(); 18 | assertEq(number, 32); 19 | } 20 | 21 | function testBoxStore() public { 22 | box.initialize(32); 23 | box.store(33); 24 | uint256 number = box.retrieve(); 25 | assertEq(number, 33); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /contracts/MinimalProxy/src/tests/NFT.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: UNLICENSED 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "../NFT.sol"; 6 | import "forge-std/Test.sol"; 7 | 8 | contract NftTest is Test, NFT { 9 | function setUp() public { 10 | initialize(address(this), "Sample NFT", "SAMPLE"); 11 | } 12 | 13 | function testMint() public { 14 | uint256 id = this.mintNft(address(this)); 15 | assertEq(id, 1); 16 | } 17 | 18 | function testMintFail() public { 19 | vm.expectRevert(bytes("Ownable: caller is not the owner")); 20 | vm.prank(address(0)); 21 | this.mintNft(address(this)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /contracts/W1nt3rAirdrop/src/tests/W1nt3rAirdrop.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "../W1nt3rAirdrop.sol"; 7 | 8 | contract W1nt3rAirdropTest is Test { 9 | W1nt3rAirdrop airdrop; 10 | 11 | function setUp() public { 12 | airdrop = new W1nt3rAirdrop(); 13 | } 14 | 15 | function testRun() public { 16 | bytes32 calc = bytes32( 17 | keccak256( 18 | abi.encodePacked(address(0x4fd9D0eE6D6564E80A9Ee00c0163fC952d0A45Ed)) 19 | ) 20 | ); 21 | console2.logBytes32(calc); 22 | assertEq(airdrop.key(), calc); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /contracts/Greeter/src/Greeter.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | 7 | contract Greeter { 8 | string public greeting; 9 | 10 | constructor(string memory _greeting) { 11 | console2.log("Deploying a Greeter with greeting:", _greeting); 12 | greeting = _greeting; 13 | } 14 | 15 | function greet() public view returns (string memory) { 16 | return greeting; 17 | } 18 | 19 | function setGreeting(string memory _greeting) public { 20 | console2.log("Changing greeting from '%s' to '%s'", greeting, _greeting); 21 | greeting = _greeting; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/ds-test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/ds-test", 3 | "version": "1.0.2", 4 | "private": false, 5 | "description": "Unofficial NPM distribution of DS Test", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/shunkakinoki/contracts.git" 9 | }, 10 | "license": "GPL-3.0-or-later", 11 | "author": "Foundry", 12 | "files": [ 13 | "test.sol" 14 | ], 15 | "scripts": { 16 | "build": "cp -r ../../lib/ds-test/src/* .", 17 | "fix": "cd ../.. && yarn run fix" 18 | }, 19 | "publishConfig": { 20 | "access": "public", 21 | "registry": "https://registry.npmjs.org" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /contracts/Zodiac/src/interfaces/IGuard.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: LGPL-3.0-only 2 | pragma solidity ^0.8.13; 3 | 4 | import "@gnosis.pm/safe-contracts/contracts/common/Enum.sol"; 5 | 6 | interface IGuard { 7 | function checkTransaction( 8 | address to, 9 | uint256 value, 10 | bytes memory data, 11 | Enum.Operation operation, 12 | uint256 safeTxGas, 13 | uint256 baseGas, 14 | uint256 gasPrice, 15 | address gasToken, 16 | address payable refundReceiver, 17 | bytes memory signatures, 18 | address msgSender 19 | ) external; 20 | 21 | function checkAfterExecution(bytes32 txHash, bool success) external; 22 | } 23 | -------------------------------------------------------------------------------- /packages/MerkleTreeCLI/src/index.ts: -------------------------------------------------------------------------------- 1 | // Code from: https://github.com/FredCoen/cryptotesters-merkle-whitelist-nft/blob/master/index.js 2 | 3 | import keccak256 from "keccak256"; 4 | import { MerkleTree } from "merkletreejs"; 5 | 6 | // Input whitelist adresses 7 | const whiteList = ["address_one", "address_two", "address_three"]; 8 | 9 | const leaves = whiteList.map(address => { 10 | return keccak256(address); 11 | }); 12 | const tree = new MerkleTree(leaves, keccak256, { sortPairs: true }); 13 | 14 | const leaf = "address_two"; 15 | const proof = tree.getHexProof(keccak256(leaf)); 16 | console.log("Merkle root:", tree.getHexRoot()); 17 | console.log("Merkle proof:", proof); 18 | -------------------------------------------------------------------------------- /contracts/Greeter/scripts/GreeterScript.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "@shunkakinoki/greeter/Greeter.sol"; 6 | import "forge-std/Script.sol"; 7 | 8 | contract GreeterScript is Script { 9 | Greeter public greeter; 10 | 11 | function run() external { 12 | vm.startBroadcast(); 13 | greeter = new Greeter("Hello, World!"); 14 | greeter.greet(); 15 | require(bytes32(bytes(greeter.greet())) == bytes32(bytes("Hello, World!"))); 16 | vm.stopBroadcast(); 17 | } 18 | 19 | function set() external { 20 | vm.startBroadcast(); 21 | greeter.setGreeting("New World"); 22 | vm.stopBroadcast(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /contracts/ShunKakinoki/src/tests/ShunKakinoki.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import { ShunKakinoki } from "../ShunKakinoki.sol"; 7 | 8 | contract ShunKakinokiTest is Test { 9 | ShunKakinoki shunkakinoki; 10 | 11 | function setUp() public { 12 | shunkakinoki = new ShunKakinoki(); 13 | } 14 | 15 | function testHashShunKakinoki() public { 16 | assertEq(uint256(keccak256("shunkakinoki")), shunkakinoki.shunkakinoki()); 17 | assertEq( 18 | shunkakinoki.shunkakinoki(), 19 | 75851138138918604175079504560600488958015440181295160126060851023364826770682 20 | ); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /contracts/EthernautBounty/src/tests/libraries/Bytes32AddressLib.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | /// @notice Library for converting between addresses and bytes32 values. 6 | /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/utils/Bytes32AddressLib.sol) 7 | library Bytes32AddressLib { 8 | function fromLast20Bytes(bytes32 bytesValue) internal pure returns (address) { 9 | return address(uint160(uint256(bytesValue))); 10 | } 11 | 12 | function fillLast12Bytes(address addressValue) 13 | internal 14 | pure 15 | returns (bytes32) 16 | { 17 | return bytes32(bytes20(addressValue)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /contracts/HuffDeployer/src/tests/HuffDeployer.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "../HuffDeployer.sol"; 7 | 8 | interface Number { 9 | function setNumber(uint256) external; 10 | 11 | function getNumber() external returns (uint256); 12 | } 13 | 14 | contract HuffDeployerTest is Test { 15 | Number number; 16 | HuffDeployer huffDeployer = new HuffDeployer(); 17 | 18 | function setUp() public { 19 | number = Number(huffDeployer.deploy("huff_contracts/Number")); 20 | } 21 | 22 | function testNumber() public { 23 | number.setNumber(1); 24 | assertEq(1, number.getNumber()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /.github/actions/yarn/action.yml: -------------------------------------------------------------------------------- 1 | name: Yarn 2 | runs: 3 | using: "composite" 4 | steps: 5 | - uses: actions/checkout@v3 6 | with: 7 | submodules: recursive 8 | - uses: actions/setup-node@v2 9 | - id: yarn-cache-dir-path 10 | run: | 11 | echo "::set-output name=dir::$(yarn cache dir)" 12 | shell: bash 13 | - uses: actions/cache@v3 14 | with: 15 | path: | 16 | **/cache 17 | **/foundry 18 | **/node_modules 19 | ${{ steps.yarn-cache-dir-path.outputs.dir }} 20 | key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} 21 | - run: | 22 | yarn install --frozen-lockfile 23 | shell: bash 24 | -------------------------------------------------------------------------------- /.solhint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "solhint:recommended", 3 | "plugins": [], 4 | "rules": { 5 | "avoid-low-level-calls": "off", 6 | "avoid-sha3": "warn", 7 | "avoid-suicide": "error", 8 | "compiler-version": "off", 9 | "const-name-snakecase": "off", 10 | "contract-name-camelcase": "off", 11 | "func-name-mixedcase": "off", 12 | "func-visibility": "off", 13 | "mark-callable-contracts": "off", 14 | "no-empty-blocks": "off", 15 | "no-inline-assembly": "off", 16 | "no-unused-vars": "off", 17 | "not-rely-on-time": "off", 18 | "quotes": "off", 19 | "state-visibility": "off", 20 | "use-forbidden-name": "off", 21 | "var-name-mixedcase": "off" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /contracts/BatchRevealToken/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/batchrevealtoken [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/batchrevealtoken@1.0.0...@shunkakinoki/batchrevealtoken@1.0.1) (2022-07-20) 2 | 3 | ### Performance Improvements 4 | 5 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 6 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 7 | 8 | # @shunkakinoki/batchrevealtoken 1.0.0 (2022-07-12) 9 | 10 | ### Features 11 | 12 | - ini batch reveal ([54a4c19](https://github.com/shunkakinoki/contracts/commit/54a4c19c9d149e213205bf1b38dd693dbce82317)) 13 | -------------------------------------------------------------------------------- /contracts/Greeter/src/tests/Greeter.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "../Greeter.sol"; 7 | 8 | contract GreeterTest is Test { 9 | Greeter private greeter; 10 | 11 | function setUp() public { 12 | greeter = new Greeter("Hello World"); 13 | } 14 | 15 | function testGreetIsHelloWorld() public { 16 | string memory greet = greeter.greet(); 17 | assertEq(bytes32(bytes(greet)), bytes32(bytes("Hello World"))); 18 | } 19 | 20 | function testSetGreetingIsNewWorld() public { 21 | greeter.setGreeting("New World"); 22 | string memory greet = greeter.greet(); 23 | assertEq(bytes32(bytes(greet)), bytes32(bytes("New World"))); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /contracts/Greeter/scripts/tests/GreeterScript.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "../GreeterScript.sol"; 7 | 8 | contract GreeterTest is Test { 9 | GreeterScript private script; 10 | 11 | function setUp() public { 12 | script = new GreeterScript(); 13 | script.run(); 14 | } 15 | 16 | function testGreetIsHelloWorld() public { 17 | string memory greet = script.greeter().greet(); 18 | assertEq(bytes32(bytes(greet)), bytes32(bytes("Hello, World!"))); 19 | } 20 | 21 | function testNewGreetIsNewWorld() public { 22 | script.set(); 23 | string memory greet = script.greeter().greet(); 24 | assertEq(bytes32(bytes(greet)), bytes32(bytes("New World"))); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /contracts/HelloWorld/src/tests/HelloWorld.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "../HelloWorld.sol"; 7 | 8 | contract HelloWorldTest is Test { 9 | HelloWorld private helloWorld; 10 | 11 | function setUp() public { 12 | helloWorld = new HelloWorld(); 13 | } 14 | 15 | function testGreetIsHelloWorld() public { 16 | // Get the bytes32 storage for uint address 17 | // Loads a storage slot from an address 18 | // In this case, we get the hellow world indice in slot 0 19 | bytes32 greet = vm.load(address(helloWorld), bytes32(uint256(0))); 20 | emit log_uint(uint256(greet)); 21 | console2.logBytes32(greet); 22 | assertEq(bytes32(greet), bytes32("Hello World")); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /contracts/Ethernaut/src/tests/Fallout.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | // Code from: https://github.com/abdulsamijay/ethernaut/blob/master/src/Challenge-2-Fallout/test/Fallout.t.sol 3 | 4 | pragma solidity ^0.8.13; 5 | 6 | import "forge-std/Test.sol"; 7 | 8 | import "../Fallout.sol"; 9 | 10 | contract ContractTest is Test { 11 | Fallout fallout; 12 | 13 | function test_challenge_2() public { 14 | console.log("Challenge #2"); 15 | 16 | fallout = new Fallout(); 17 | 18 | console.log("The owner of the contract", fallout.owner()); 19 | 20 | deal(address(1337), 1 ether); 21 | vm.startPrank(address(1337)); 22 | fallout.Fal1out{ value: 0.01 ether }(); 23 | console.log("The owner of the contract", fallout.owner()); 24 | vm.stopPrank(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /contracts/VanityResolver/src/tests/utils/VanityWalletUser.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { ERC721 } from "@rari-capital/solmate/src/tokens/ERC721.sol"; 6 | 7 | import { ERC721User } from "./ERC721User.t.sol"; 8 | import { VanityResolver } from "../../VanityResolver.sol"; 9 | import { VanityWallet } from "../../VanityWallet.sol"; 10 | 11 | contract VanityWalletUser is ERC721User { 12 | constructor(address resolver) ERC721User(ERC721(resolver)) {} 13 | 14 | function call( 15 | VanityWallet wallet, 16 | address to, 17 | bytes calldata data, 18 | uint256 value 19 | ) public returns (bool, bytes memory) { 20 | bytes memory callData = abi.encode(to, data, value); 21 | return address(wallet).call(callData); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/HotChainCLI/src/deploy.ts: -------------------------------------------------------------------------------- 1 | import { Transaction } from "@ethereumjs/tx"; 2 | import { Address } from "ethereumjs-util"; 3 | 4 | export const deploy = async (vm, pk, bytecode) => { 5 | const address = Address.fromPrivateKey(pk); 6 | const account = await vm.stateManager.getAccount(address); 7 | 8 | const txData = { 9 | value: 0, 10 | gasLimit: 200_000_000_000, 11 | gasPrice: 1, 12 | data: `0x${bytecode.toString("hex")}`, 13 | nonce: account.nonce, 14 | }; 15 | 16 | const tx = Transaction.fromTxData(txData).sign(pk); 17 | 18 | const deploymentResult = await vm.runTx({ tx }); 19 | 20 | if (deploymentResult.execResult.exceptionError) { 21 | throw deploymentResult.execResult.exceptionError; 22 | } 23 | 24 | return deploymentResult.createdAddress; 25 | }; 26 | -------------------------------------------------------------------------------- /contracts/OKPC/src/interfaces/IOKPCParts.sol: -------------------------------------------------------------------------------- 1 | //SPDX-License-Identifier: Unlicense 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IOKPCParts { 6 | // errors 7 | error IndexOutOfBounds(uint256 index, uint256 maxIndex); 8 | 9 | // structures 10 | struct Color { 11 | bytes6 light; 12 | bytes6 regular; 13 | bytes6 dark; 14 | string name; 15 | } 16 | 17 | struct Vector { 18 | string data; 19 | string name; 20 | } 21 | 22 | // functions 23 | function getColor(uint256 index) external view returns (Color memory); 24 | 25 | function getHeadband(uint256 index) external view returns (Vector memory); 26 | 27 | function getSpeaker(uint256 index) external view returns (Vector memory); 28 | 29 | function getWord(uint256 index) external view returns (string memory); 30 | } 31 | -------------------------------------------------------------------------------- /contracts/SimpleAuction/src/tests/SimpleAuction.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import { SimpleAuction } from "../SimpleAuction.sol"; 7 | 8 | contract User {} 9 | 10 | contract SimpleAuctionTest is Test { 11 | SimpleAuction private auction; 12 | address internal userA = address(1); 13 | address internal userB = address(2); 14 | 15 | function setUp() public { 16 | auction = new SimpleAuction(300, payable(address(3))); 17 | console.log(block.timestamp); 18 | } 19 | 20 | function testBid() public { 21 | auction.bid{ value: 3 }(); 22 | } 23 | 24 | function testBidContinuous() public { 25 | auction.bid{ value: 4 }(); 26 | auction.bid{ value: 5 }(); 27 | auction.bid{ value: 6 }(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /packages/MerkleTreeCLI/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/merkletreecli", 3 | "version": "1.2.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "main": "dist/index.js", 10 | "types": "dist/index.d.ts", 11 | "bin": { 12 | "merkletreecli": "bin/index.js" 13 | }, 14 | "files": [ 15 | "src" 16 | ], 17 | "scripts": { 18 | "build": "tsc", 19 | "dev": "ts-node src/index.ts", 20 | "fix": "cd ../.. && yarn run fix", 21 | "postinstall": "yarn run build" 22 | }, 23 | "dependencies": { 24 | "keccak256": "^1.0.6", 25 | "merkletreejs": "^0.2.31" 26 | }, 27 | "publishConfig": { 28 | "access": "public", 29 | "registry": "https://registry.npmjs.org" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /tmp.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "composite": true, 5 | "declaration": true, 6 | "declarationMap": true, 7 | "esModuleInterop": true, 8 | "module": "commonjs", 9 | "outDir": "./dist", 10 | "paths": { 11 | "@/typechain/*": ["./typechain/*"] 12 | }, 13 | "rootDir": ".", 14 | "rootDirs": ["./deploy", "./tasks", "./test", "./types", "./scripts"], 15 | "sourceMap": true, 16 | "strict": true, 17 | "target": "ES2017" 18 | }, 19 | "exclude": ["node_modules"], 20 | "extends": "@shunkakinoki/tsconfig", 21 | "files": ["./hardhat.config.ts"], 22 | "include": [ 23 | "./deploy", 24 | "./scripts", 25 | "./tasks", 26 | "./test", 27 | "./types", 28 | "./typechain", 29 | "./hardhat.config.ts" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /contracts/OKPCMetadata/src/interfaces/IOKPCParts.sol: -------------------------------------------------------------------------------- 1 | //SPDX-License-Identifier: Unlicense 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IOKPCParts { 6 | // errors 7 | error IndexOutOfBounds(uint256 index, uint256 maxIndex); 8 | 9 | // structures 10 | struct Color { 11 | bytes6 light; 12 | bytes6 regular; 13 | bytes6 dark; 14 | string name; 15 | } 16 | 17 | struct Vector { 18 | string data; 19 | string name; 20 | } 21 | 22 | // functions 23 | function getColor(uint256 index) external view returns (Color memory); 24 | 25 | function getHeadband(uint256 index) external view returns (Vector memory); 26 | 27 | function getSpeaker(uint256 index) external view returns (Vector memory); 28 | 29 | function getWord(uint256 index) external view returns (string memory); 30 | } 31 | -------------------------------------------------------------------------------- /contracts/OKPCParts/src/interfaces/IOKPCParts.sol: -------------------------------------------------------------------------------- 1 | //SPDX-License-Identifier: Unlicense 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IOKPCParts { 6 | // errors 7 | error IndexOutOfBounds(uint256 index, uint256 maxIndex); 8 | 9 | // structures 10 | struct Color { 11 | bytes6 light; 12 | bytes6 regular; 13 | bytes6 dark; 14 | string name; 15 | } 16 | 17 | struct Vector { 18 | string data; 19 | string name; 20 | } 21 | 22 | // functions 23 | function getColor(uint256 index) external view returns (Color memory); 24 | 25 | function getHeadband(uint256 index) external view returns (Vector memory); 26 | 27 | function getSpeaker(uint256 index) external view returns (Vector memory); 28 | 29 | function getWord(uint256 index) external view returns (string memory); 30 | } 31 | -------------------------------------------------------------------------------- /packages/NFTMetadataCLI/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shunkakinoki/nftmetadatacli", 3 | "version": "1.0.1", 4 | "private": false, 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/shunkakinoki/contracts.git" 8 | }, 9 | "main": "dist/index.js", 10 | "types": "dist/index.d.ts", 11 | "bin": { 12 | "nftmetadatacli": "bin/index.js" 13 | }, 14 | "files": [ 15 | "src" 16 | ], 17 | "scripts": { 18 | "build": "tsc", 19 | "dev": "ts-node src/index.ts", 20 | "fix": "cd ../.. && yarn run fix", 21 | "postinstall": "yarn run build" 22 | }, 23 | "dependencies": { 24 | "keccak256": "^1.0.6", 25 | "merkletreejs": "^0.2.31" 26 | }, 27 | "publishConfig": { 28 | "access": "public", 29 | "registry": "https://registry.npmjs.org" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /contracts/Box/src/Box.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | // Taken from: https://github.com/tomoima525/solidity-sandbox/pull/1/files 3 | 4 | pragma solidity ^0.8.13; 5 | 6 | import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; 7 | 8 | contract Box is Initializable { 9 | uint256 private value; 10 | 11 | event ValueChanged(uint256 newValue); 12 | 13 | function initialize(uint256 newValue) public initializer { 14 | value = newValue; 15 | } 16 | 17 | function store(uint256 newValue) public { 18 | value = newValue; 19 | emit ValueChanged(newValue); 20 | } 21 | 22 | function retrieve() public view returns (uint256) { 23 | return value; 24 | } 25 | 26 | // function increment() public { 27 | // value = value + 1; 28 | // emit ValueChanged(value); 29 | // } 30 | } 31 | -------------------------------------------------------------------------------- /packages/forge-std/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "forge-std", 3 | "version": "1.1.2", 4 | "private": false, 5 | "description": "Unofficial NPM distribution of Forge Standard Library", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/shunkakinoki/contracts.git" 9 | }, 10 | "license": "Apache-2.0", 11 | "author": "Foundry", 12 | "files": [ 13 | "test", 14 | "console.sol", 15 | "console2.sol", 16 | "Script.sol", 17 | "Test.sol", 18 | "Vm.sol" 19 | ], 20 | "scripts": { 21 | "build": "cp -r ../../lib/forge-std/src/* . && mkdir -p ds-test && cp ../../lib/ds-test/src/test.sol ds-test/test.sol", 22 | "fix": "cd ../.. && yarn run fix" 23 | }, 24 | "publishConfig": { 25 | "access": "public", 26 | "registry": "https://registry.npmjs.org" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /contracts/ClonesWithImmutableArgs/src/ExampleCloneFactory.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: BSD 2 | pragma solidity ^0.8.13; 3 | 4 | import { ExampleClone } from "./ExampleClone.sol"; 5 | import { ClonesWithImmutableArgs } from "./ClonesWithImmutableArgs.sol"; 6 | 7 | contract ExampleCloneFactory { 8 | using ClonesWithImmutableArgs for address; 9 | 10 | ExampleClone public implementation; 11 | 12 | constructor(ExampleClone implementation_) { 13 | implementation = implementation_; 14 | } 15 | 16 | function createClone( 17 | address param1, 18 | uint256 param2, 19 | uint64 param3, 20 | uint8 param4 21 | ) external returns (ExampleClone clone) { 22 | bytes memory data = abi.encodePacked(param1, param2, param3, param4); 23 | clone = ExampleClone(address(implementation).clone(data)); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /contracts/Aave/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/aave [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/aave@1.0.0...@shunkakinoki/aave@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/aave 1.0.0 (2022-05-14) 13 | 14 | ### Features 15 | 16 | - ini aave ([39c16b7](https://github.com/shunkakinoki/contracts/commit/39c16b7cca1c696859401ce339cfdfac22eeff5e)) 17 | -------------------------------------------------------------------------------- /contracts/Nouns/src/proxies/NounsAuctionHouseProxyAdmin.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-3.0 2 | 3 | /// @title The Nouns DAO auction house proxy admin 4 | 5 | /********************************* 6 | * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ * 7 | * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ * 8 | * ░░░░░░█████████░░█████████░░░ * 9 | * ░░░░░░██░░░████░░██░░░████░░░ * 10 | * ░░██████░░░████████░░░████░░░ * 11 | * ░░██░░██░░░████░░██░░░████░░░ * 12 | * ░░██░░██░░░████░░██░░░████░░░ * 13 | * ░░░░░░█████████░░█████████░░░ * 14 | * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ * 15 | * ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ * 16 | *********************************/ 17 | 18 | pragma solidity ^0.8.13; 19 | 20 | import { ProxyAdmin } from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol"; 21 | 22 | // prettier-ignore 23 | contract NounsAuctionHouseProxyAdmin is ProxyAdmin {} 24 | -------------------------------------------------------------------------------- /contracts/Mosh/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/mosh [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/mosh@1.0.0...@shunkakinoki/mosh@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/mosh 1.0.0 (2022-05-22) 13 | 14 | ### Features 15 | 16 | - ini mosh dao ([d689477](https://github.com/shunkakinoki/contracts/commit/d68947791df63df7219190c86396a4eb103c8417)) 17 | -------------------------------------------------------------------------------- /contracts/Nouns/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/nouns [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/nouns@1.0.0...@shunkakinoki/nouns@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/nouns 1.0.0 (2022-05-20) 13 | 14 | ### Features 15 | 16 | - ini nouns ([0c21b62](https://github.com/shunkakinoki/contracts/commit/0c21b623311ce16adc044b6a5137b8afddae5b5b)) 17 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/interfaces/IDistributor.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IDistributor { 6 | function distribute() external; 7 | 8 | function bounty() external view returns (uint256); 9 | 10 | function retrieveBounty() external returns (uint256); 11 | 12 | function nextRewardAt(uint256 _rate) external view returns (uint256); 13 | 14 | function nextRewardFor(address _recipient) external view returns (uint256); 15 | 16 | function setBounty(uint256 _bounty) external; 17 | 18 | function addRecipient(address _recipient, uint256 _rewardRate) external; 19 | 20 | function removeRecipient(uint256 _index) external; 21 | 22 | function setAdjustment( 23 | uint256 _index, 24 | bool _add, 25 | uint256 _rate, 26 | uint256 _target 27 | ) external; 28 | } 29 | -------------------------------------------------------------------------------- /remappings.txt: -------------------------------------------------------------------------------- 1 | @0xsequence/sstore2/=lib/sstore2/ 2 | @chainlink/=lib/chainlink/ 3 | @divergencetech/ethier/=lib/ethier/ 4 | @gnosis.pm/safe-contracts/=lib/safe-contracts/ 5 | @openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ 6 | @openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ 7 | @rari-capital/solmate/=lib/solmate/ 8 | @zoralabs/core/=lib/core/ 9 | @zoralabs/nft-editions-contracts/=lib/nft-editions/ 10 | base64-sol/=lib/base64/ 11 | erc721a/=lib/ERC721A/ 12 | forge-std/=lib/forge-std/src/ 13 | foundry-huff/=lib/foundry-huff/src/ 14 | hardhat/=lib/hardhat/packages/hardhat-core/ 15 | ds-test/=lib/ds-test/src/ 16 | 17 | @shunkakinoki/box/=contracts/Box/src/ 18 | @shunkakinoki/aave/=contracts/Aave/src/ 19 | @shunkakinoki/huff/=contracts/HuffDeployer/src/ 20 | @shunkakinoki/greeter/=contracts/Greeter/src/ 21 | -------------------------------------------------------------------------------- /contracts/CODE/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/code [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/code@1.0.0...@shunkakinoki/code@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/code 1.0.0 (2022-05-12) 13 | 14 | ### Features 15 | 16 | - ini CODE contract ([147494b](https://github.com/shunkakinoki/contracts/commit/147494ba817357aea9e6b68b9a2fb10af7f4ad7a)) 17 | -------------------------------------------------------------------------------- /contracts/EIP712/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/eip712 [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/eip712@1.0.0...@shunkakinoki/eip712@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/eip712 1.0.0 (2022-06-04) 13 | 14 | ### Features 15 | 16 | - ini eip 712 ([fa3c019](https://github.com/shunkakinoki/contracts/commit/fa3c0191097ea2b37660668d58c5427e90ae69ca)) 17 | -------------------------------------------------------------------------------- /contracts/WagumiToken/src/tests/WagumiAirdrop.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; 7 | import { WagumiAirdrop } from "../WagumiAirdrop.sol"; 8 | import { WagumiToken } from "../WagumiToken.sol"; 9 | 10 | contract WagumiCats is ERC721("Wagumi Cats", "WAGUMI") { 11 | uint256 public tokenId = 1; 12 | 13 | function mint() public returns (uint256) { 14 | _mint(msg.sender, tokenId); 15 | return tokenId++; 16 | } 17 | } 18 | 19 | contract WagumiAirdropTest is Test { 20 | WagumiAirdrop airdrop; 21 | WagumiCats nft; 22 | WagumiToken token; 23 | 24 | function setUp() public { 25 | nft = new WagumiCats(); 26 | token = new WagumiToken(); 27 | airdrop = new WagumiAirdrop(address(token)); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /contracts/MoshDAO/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/moshdao [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/moshdao@1.0.0...@shunkakinoki/moshdao@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/moshdao 1.0.0 (2022-05-22) 13 | 14 | ### Features 15 | 16 | - ini mosh dao ([d1df51e](https://github.com/shunkakinoki/contracts/commit/d1df51e12a5ec89a71c4739022b703f55285327e)) 17 | -------------------------------------------------------------------------------- /contracts/TsujiPoker/src/libs/ENSNameResolver.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IReverseRegistrar { 6 | function node(address addr) external view returns (bytes32); 7 | } 8 | 9 | interface IReverseResolver { 10 | function name(bytes32 node) external view returns (string memory); 11 | } 12 | 13 | contract ENSNameResolver { 14 | IReverseRegistrar constant registrar = 15 | IReverseRegistrar(0x084b1c3C81545d370f3634392De611CaaBFf8148); 16 | IReverseResolver constant resolver = 17 | IReverseResolver(0xA2C122BE93b0074270ebeE7f6b7292C7deB45047); 18 | 19 | function getENSName(address addr) public view returns (string memory) { 20 | try resolver.name(registrar.node(addr)) { 21 | return resolver.name(registrar.node(addr)); 22 | } catch { 23 | return ""; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /contracts/Loot/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/loot [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/loot@1.0.0...@shunkakinoki/loot@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/loot 1.0.0 (2022-05-19) 13 | 14 | ### Performance Improvements 15 | 16 | - ini loot contract ([19ab515](https://github.com/shunkakinoki/contracts/commit/19ab5153a7a148b629cdc1cf8c9aba5deca6fb47)) 17 | -------------------------------------------------------------------------------- /contracts/OKPCMetadata/src/lib/ENSNameResolver.sol: -------------------------------------------------------------------------------- 1 | //SPDX-License-Identifier: Unlicense 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IReverseRegistrar { 6 | function node(address addr) external view returns (bytes32); 7 | } 8 | 9 | interface IReverseResolver { 10 | function name(bytes32 node) external view returns (string memory); 11 | } 12 | 13 | contract ENSNameResolver { 14 | IReverseRegistrar constant registrar = 15 | IReverseRegistrar(0x084b1c3C81545d370f3634392De611CaaBFf8148); 16 | IReverseResolver constant resolver = 17 | IReverseResolver(0xA2C122BE93b0074270ebeE7f6b7292C7deB45047); 18 | 19 | function getENSName(address addr) public view returns (string memory) { 20 | try resolver.name(registrar.node(addr)) { 21 | return resolver.name(registrar.node(addr)); 22 | } catch { 23 | return ''; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /contracts/Renoun/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/renoun [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/renoun@1.0.0...@shunkakinoki/renoun@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/renoun 1.0.0 (2022-06-01) 13 | 14 | ### Features 15 | 16 | - ini renoun contracts ([d40570d](https://github.com/shunkakinoki/contracts/commit/d40570dab9f5e8078c666e4f8313c43528a0e62e)) 17 | -------------------------------------------------------------------------------- /contracts/Shrine/src/lib/ReentrancyGuard.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | /// @notice Gas optimized reentrancy protection for smart contracts. 6 | /// @author Solmate (https://github.com/Rari-Capital/solmate/blob/main/src/utils/ReentrancyGuard.sol) 7 | /// @author Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/security/ReentrancyGuard.sol) 8 | abstract contract ReentrancyGuard { 9 | error ReentrancyGuard_Reentrancy(); 10 | 11 | uint256 private locked; 12 | 13 | modifier nonReentrant() { 14 | if (locked != 1) revert ReentrancyGuard_Reentrancy(); 15 | 16 | locked = 2; 17 | 18 | _; 19 | 20 | locked = 1; 21 | } 22 | 23 | function __ReentrancyGuard_init() internal { 24 | locked = 1; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /contracts/TheMerge/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/themerge [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/themerge@1.0.0...@shunkakinoki/themerge@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/themerge 1.0.0 (2022-06-08) 13 | 14 | ### Features 15 | 16 | - ini the merge ([a4b4be1](https://github.com/shunkakinoki/contracts/commit/a4b4be1127bcf8c4d6c872b8fdbefd696300a79e)) 17 | -------------------------------------------------------------------------------- /contracts/Create2/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/create2 [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/create2@1.0.0...@shunkakinoki/create2@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/create2 1.0.0 (2022-05-21) 13 | 14 | ### Features 15 | 16 | - ini create2 contract ([241fa9d](https://github.com/shunkakinoki/contracts/commit/241fa9d9b93dae7068017531a5fee4e7723f7cab)) 17 | -------------------------------------------------------------------------------- /contracts/FourBytes/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/fourbytes [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/fourbytes@1.0.0...@shunkakinoki/fourbytes@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/fourbytes 1.0.0 (2022-05-27) 13 | 14 | ### Features 15 | 16 | - ini four bytes ([0041e21](https://github.com/shunkakinoki/contracts/commit/0041e213527e94c85329176100940bc6d06dd1c8)) 17 | -------------------------------------------------------------------------------- /contracts/CodeForDAO/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/codefordao [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/codefordao@1.0.0...@shunkakinoki/codefordao@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/codefordao 1.0.0 (2022-06-18) 13 | 14 | ### Features 15 | 16 | - ini codefordao ([8899b73](https://github.com/shunkakinoki/contracts/commit/8899b73cf6aeb7d833eb7e711eb30b7a8220bfaa)) 17 | -------------------------------------------------------------------------------- /contracts/EIP4973/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/eip4973 [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/eip4973@1.0.0...@shunkakinoki/eip4973@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/eip4973 1.0.0 (2022-06-13) 13 | 14 | ### Performance Improvements 15 | 16 | - ini eip 4973 ([27210c2](https://github.com/shunkakinoki/contracts/commit/27210c23eef37e5b5a083bf1d3901d5f14bebe6c)) 17 | -------------------------------------------------------------------------------- /contracts/Zodiac/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/zodiac [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/zodiac@1.0.0...@shunkakinoki/zodiac@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/zodiac 1.0.0 (2022-06-12) 13 | 14 | ### Performance Improvements 15 | 16 | - ini zodiac module ([d7f3f44](https://github.com/shunkakinoki/contracts/commit/d7f3f44f45017088f6679f92f4c6ca0debedfe62)) 17 | -------------------------------------------------------------------------------- /contracts/ChainToadz/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/chaintoadz [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/chaintoadz@1.0.0...@shunkakinoki/chaintoadz@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/chaintoadz 1.0.0 (2022-07-05) 13 | 14 | ### Features 15 | 16 | - ini chain toadz ([c5a44c3](https://github.com/shunkakinoki/contracts/commit/c5a44c3fc5cbdd09d0cfddc8e51f7e14313b40da)) 17 | -------------------------------------------------------------------------------- /contracts/Clones/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/clones [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/clones@1.0.0...@shunkakinoki/clones@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/clones 1.0.0 (2022-06-18) 13 | 14 | ### Performance Improvements 15 | 16 | - ini clones contracts ([83b0d7f](https://github.com/shunkakinoki/contracts/commit/83b0d7f56c68e6c0de951e10a531c772d78a0af2)) 17 | -------------------------------------------------------------------------------- /contracts/LlamaPay/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/llamapay [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/llamapay@1.0.0...@shunkakinoki/llamapay@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/llamapay 1.0.0 (2022-06-05) 13 | 14 | ### Performance Improvements 15 | 16 | - ini llama pay ([87b26c7](https://github.com/shunkakinoki/contracts/commit/87b26c7e6960ce1c03e4c6177207c819db0199ee)) 17 | -------------------------------------------------------------------------------- /contracts/WagumiCats/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/wagumicats [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/wagumicats@1.0.0...@shunkakinoki/wagumicats@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/wagumicats 1.0.0 (2022-05-12) 13 | 14 | ### Features 15 | 16 | - ini wagumi cats ([756daef](https://github.com/shunkakinoki/contracts/commit/756daef7bc681a922ece0604f387542c97766d29)) 17 | -------------------------------------------------------------------------------- /contracts/WeirdERC20/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/weirderc20 [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/weirderc20@1.0.0...@shunkakinoki/weirderc20@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/weirderc20 1.0.0 (2022-06-12) 13 | 14 | ### Features 15 | 16 | - ini weird erc20 ([b2d8380](https://github.com/shunkakinoki/contracts/commit/b2d8380b7e536a54a36a1dbeead094b00d1dc7cd)) 17 | -------------------------------------------------------------------------------- /contracts/CryptoCoven/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/cryptocoven [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/cryptocoven@1.0.0...@shunkakinoki/cryptocoven@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/cryptocoven 1.0.0 (2022-05-12) 13 | 14 | ### Features 15 | 16 | - ini crypto coven ([67f5cd6](https://github.com/shunkakinoki/contracts/commit/67f5cd6ab53b78d81eeaf0248215c914a3af0580)) 17 | -------------------------------------------------------------------------------- /contracts/LevelNFT/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/levelnft [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/levelnft@1.0.0...@shunkakinoki/levelnft@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/levelnft 1.0.0 (2022-05-30) 13 | 14 | ### Features 15 | 16 | - ini level nft from john palmer ([8ee20f0](https://github.com/shunkakinoki/contracts/commit/8ee20f060e0e6616ce0f91a7bbb8bbfcc2e08691)) 17 | -------------------------------------------------------------------------------- /contracts/Private/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/private [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/private@1.0.0...@shunkakinoki/private@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/private 1.0.0 (2022-05-19) 13 | 14 | ### Performance Improvements 15 | 16 | - ini private contract ([fd14e4c](https://github.com/shunkakinoki/contracts/commit/fd14e4c0aec6c865ab27b7f7ef48366275a05e22)) 17 | -------------------------------------------------------------------------------- /contracts/ViewAndPure/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/viewandpure [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/viewandpure@1.0.0...@shunkakinoki/viewandpure@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/viewandpure 1.0.0 (2022-05-09) 13 | 14 | ### Features 15 | 16 | - ini view and pure ([fa52c78](https://github.com/shunkakinoki/contracts/commit/fa52c781b925a07dd49519c903fc75ccd6ef0dd5)) 17 | -------------------------------------------------------------------------------- /contracts/Femplate/src/Femplate.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0-only 2 | // Code from: https://raw.githubusercontent.com/abigger87/femplate/master/src/Greeter.sol 3 | 4 | pragma solidity 0.8.13; 5 | 6 | /// @title Greeter 7 | /// @author andreas@nascent.xyz 8 | contract Femplate { 9 | string public _gm; 10 | address public owner; 11 | 12 | // CUSTOMS 13 | error BadGm(); 14 | event GMEverybodyGM(); 15 | 16 | constructor(string memory newGm) { 17 | _gm = newGm; 18 | owner = msg.sender; 19 | } 20 | 21 | function gm(string memory myGm) external returns (string memory greeting) { 22 | if ( 23 | keccak256(abi.encodePacked((myGm))) != 24 | keccak256(abi.encodePacked((greeting = _gm))) 25 | ) revert BadGm(); 26 | emit GMEverybodyGM(); 27 | } 28 | 29 | function setGm(string memory newGm) external { 30 | _gm = newGm; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /contracts/HackPhishing/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/hackphishing [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/hackphishing@1.0.0...@shunkakinoki/hackphishing@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/hackphishing 1.0.0 (2022-05-17) 13 | 14 | ### Features 15 | 16 | - ini hack phishing ([7566bf6](https://github.com/shunkakinoki/contracts/commit/7566bf65b818192137375f7dc58c1cada3109a38)) 17 | -------------------------------------------------------------------------------- /contracts/LilSuperfluid/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/lilsuperfluid [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/lilsuperfluid@1.0.0...@shunkakinoki/lilsuperfluid@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/lilsuperfluid 1.0.0 (2022-06-05) 13 | 14 | ### Features 15 | 16 | - ini streaming ([46421e5](https://github.com/shunkakinoki/contracts/commit/46421e5bc2cd0ff3b77ce7ce7dc6b8a3e9938bf6)) 17 | -------------------------------------------------------------------------------- /contracts/MinimalProxy/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/minimalproxy [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/minimalproxy@1.0.0...@shunkakinoki/minimalproxy@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/minimalproxy 1.0.0 (2022-06-14) 13 | 14 | ### Features 15 | 16 | - ini minimal proxy ([a4d88fa](https://github.com/shunkakinoki/contracts/commit/a4d88faf082cea50fe8308bc07607bb628ba5fe1)) 17 | -------------------------------------------------------------------------------- /contracts/ShunKakinoki/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/shunkakinoki [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/shunkakinoki@1.0.0...@shunkakinoki/shunkakinoki@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/shunkakinoki 1.0.0 (2022-05-31) 13 | 14 | ### Features 15 | 16 | - ini shun kakinoki ([e9d7c1e](https://github.com/shunkakinoki/contracts/commit/e9d7c1ea689e5afe235e69ff403bf690e6bc963d)) 17 | -------------------------------------------------------------------------------- /contracts/SoulMinter/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/soulminter [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/soulminter@1.0.0...@shunkakinoki/soulminter@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/soulminter 1.0.0 (2022-05-30) 13 | 14 | ### Features 15 | 16 | - in soulminter & tsuji poker ([25afba4](https://github.com/shunkakinoki/contracts/commit/25afba4fb54d86525f397ba0cce150033113584b)) 17 | -------------------------------------------------------------------------------- /contracts/ThePossessed/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/thepossessed [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/thepossessed@1.0.0...@shunkakinoki/thepossessed@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/thepossessed 1.0.0 (2022-06-30) 13 | 14 | ### Features 15 | 16 | - ini the possessed ([ed659ec](https://github.com/shunkakinoki/contracts/commit/ed659ec45a37b87118a2845f5b5ffba9646ed3fa)) 17 | -------------------------------------------------------------------------------- /contracts/NFTTokenDrop/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/nfttokendrop [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/nfttokendrop@1.0.0...@shunkakinoki/nfttokendrop@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/nfttokendrop 1.0.0 (2022-05-12) 13 | 14 | ### Features 15 | 16 | - ini nft token drop code ([86e5497](https://github.com/shunkakinoki/contracts/commit/86e54977f3ed8c32148cd20db6904dc93d7307bf)) 17 | -------------------------------------------------------------------------------- /contracts/ProxyAdmin/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/proxyadmin [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/proxyadmin@1.0.0...@shunkakinoki/proxyadmin@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/proxyadmin 1.0.0 (2022-06-13) 13 | 14 | ### Performance Improvements 15 | 16 | - ini proxy admin ([401289a](https://github.com/shunkakinoki/contracts/commit/401289a5ff5360ce6938c2107b464870ab3c50b4)) 17 | -------------------------------------------------------------------------------- /contracts/SolmateNFT/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/solmatenft [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/solmatenft@1.0.0...@shunkakinoki/solmatenft@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/solmatenft 1.0.0 (2022-05-14) 13 | 14 | ### Performance Improvements 15 | 16 | - ini solmate nft ([7ca4973](https://github.com/shunkakinoki/contracts/commit/7ca4973a7d9307c85972feedbf59732cb39ee8e4)) 17 | -------------------------------------------------------------------------------- /contracts/LilJuicebox/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/liljuicebox [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/liljuicebox@1.0.0...@shunkakinoki/liljuicebox@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/liljuicebox 1.0.0 (2022-06-12) 13 | 14 | ### Performance Improvements 15 | 16 | - ini lil juicebox ([c9408be](https://github.com/shunkakinoki/contracts/commit/c9408be908ac1e41be39660436518e63f4c773c6)) 17 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/interfaces/IERC20.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface IERC20 { 6 | function totalSupply() external view returns (uint256); 7 | 8 | function balanceOf(address account) external view returns (uint256); 9 | 10 | function transfer(address recipient, uint256 amount) external returns (bool); 11 | 12 | function allowance(address owner, address spender) 13 | external 14 | view 15 | returns (uint256); 16 | 17 | function approve(address spender, uint256 amount) external returns (bool); 18 | 19 | function transferFrom( 20 | address sender, 21 | address recipient, 22 | uint256 amount 23 | ) external returns (bool); 24 | 25 | event Transfer(address indexed from, address indexed to, uint256 value); 26 | 27 | event Approval(address indexed owner, address indexed spender, uint256 value); 28 | } 29 | -------------------------------------------------------------------------------- /contracts/EthernautBounty/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/ethernautbounty [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/ethernautbounty@1.0.0...@shunkakinoki/ethernautbounty@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/ethernautbounty 1.0.0 (2022-05-24) 13 | 14 | ### Features 15 | 16 | - ini ethernaut bounty ([ba6f854](https://github.com/shunkakinoki/contracts/commit/ba6f8540cdb8945e5b1e337fe92ad72b26f8a8a8)) 17 | -------------------------------------------------------------------------------- /contracts/OKPC/src/interfaces/IOKPCMetadata.sol: -------------------------------------------------------------------------------- 1 | //SPDX-License-Identifier: Unlicense 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import { IOKPC } from "./IOKPC.sol"; 6 | import { IOKPCParts } from "./IOKPCParts.sol"; 7 | 8 | interface IOKPCMetadata { 9 | error InvalidTokenID(); 10 | error NotEnoughPixelData(); 11 | 12 | struct Parts { 13 | IOKPCParts.Vector headband; 14 | IOKPCParts.Vector rightSpeaker; 15 | IOKPCParts.Vector leftSpeaker; 16 | IOKPCParts.Color color; 17 | string word; 18 | } 19 | 20 | function tokenURI(uint256 tokenId) external view returns (string memory); 21 | 22 | function renderArt(bytes memory art, uint256 colorIndex) 23 | external 24 | view 25 | returns (string memory); 26 | 27 | function getParts(uint256 tokenId) external view returns (Parts memory); 28 | 29 | function drawArt(bytes memory artData) external pure returns (string memory); 30 | } 31 | -------------------------------------------------------------------------------- /contracts/VanityResolver/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/vanityresolver [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/vanityresolver@1.0.0...@shunkakinoki/vanityresolver@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/vanityresolver 1.0.0 (2022-06-18) 13 | 14 | ### Performance Improvements 15 | 16 | - ini vanity resolver ([8fd19be](https://github.com/shunkakinoki/contracts/commit/8fd19bed78f767748dd6adbeb5d4ed1232c18d5a)) 17 | -------------------------------------------------------------------------------- /contracts/LilFractional/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/lilfractional [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/lilfractional@1.0.0...@shunkakinoki/lilfractional@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/lilfractional 1.0.0 (2022-05-14) 13 | 14 | ### Performance Improvements 15 | 16 | - ini lil fractional from lil-web3 ([a39e5d6](https://github.com/shunkakinoki/contracts/commit/a39e5d6df7847780f2628b6f8b0b846e251b4d7d)) 17 | -------------------------------------------------------------------------------- /contracts/OwnableUpgradeable/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/ownableupgradeable [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/ownableupgradeable@1.0.0...@shunkakinoki/ownableupgradeable@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/ownableupgradeable 1.0.0 (2022-06-08) 13 | 14 | ### Features 15 | 16 | - ini ownable upgradeable ([0f61d11](https://github.com/shunkakinoki/contracts/commit/0f61d11f0150fda9ccc58d101a067591189c0e2b)) 17 | -------------------------------------------------------------------------------- /contracts/UUPSUpgradeable/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/uupsupgradeable [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/uupsupgradeable@1.0.0...@shunkakinoki/uupsupgradeable@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/uupsupgradeable 1.0.0 (2022-06-14) 13 | 14 | ### Performance Improvements 15 | 16 | - ini uups upgradeable ([7077c1e](https://github.com/shunkakinoki/contracts/commit/7077c1e39b8a0011bc3baf20227c06453ef02180)) 17 | -------------------------------------------------------------------------------- /plopfile.mjs: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-anonymous-default-export */ 2 | 3 | export default function (plop) { 4 | plop.setGenerator("addAndNameFile", { 5 | description: "Name that file", 6 | prompts: [ 7 | { 8 | type: "input", 9 | name: "name", 10 | message: "What should the file name be?", 11 | }, 12 | ], 13 | actions: [ 14 | { 15 | type: "add", 16 | path: "./contracts/{{name}}/package.json", 17 | templateFile: "./templates/package.json.template", 18 | }, 19 | { 20 | type: "add", 21 | path: "./contracts/{{name}}/src/{{name}}.sol", 22 | templateFile: "./templates/Greeter.sol.template", 23 | }, 24 | { 25 | type: "add", 26 | path: "./contracts/{{name}}/src/tests/{{name}}.t.sol", 27 | templateFile: "./templates/Test.t.sol.template", 28 | }, 29 | ], 30 | }); 31 | } 32 | -------------------------------------------------------------------------------- /contracts/HackReentrancy/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## @shunkakinoki/hackreentrancy [1.0.1](https://github.com/shunkakinoki/contracts/compare/@shunkakinoki/hackreentrancy@1.0.0...@shunkakinoki/hackreentrancy@1.0.1) (2022-07-20) 2 | 3 | ### Bug Fixes 4 | 5 | - remove template references such as url and author ([139af98](https://github.com/shunkakinoki/contracts/commit/139af98ef46346d25875224520c58502befa44c1)) 6 | 7 | ### Performance Improvements 8 | 9 | - ini publish config ([3869312](https://github.com/shunkakinoki/contracts/commit/3869312ec4a979930e54bacb6ebae3d2078818cd)) 10 | - ini release repo ([d981546](https://github.com/shunkakinoki/contracts/commit/d981546cf1a440703acee787be764d3afaf053bc)) 11 | 12 | # @shunkakinoki/hackreentrancy 1.0.0 (2022-05-17) 13 | 14 | ### Performance Improvements 15 | 16 | - ini hack reentrancy prevention ([2bda2b6](https://github.com/shunkakinoki/contracts/commit/2bda2b6e37e89b75ad886808fe5aa3257025a434)) 17 | -------------------------------------------------------------------------------- /contracts/OlympusDAO/src/interfaces/ITreasury.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: AGPL-3.0 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | interface ITreasury { 6 | function deposit( 7 | uint256 _amount, 8 | address _token, 9 | uint256 _profit 10 | ) external returns (uint256); 11 | 12 | function withdraw(uint256 _amount, address _token) external; 13 | 14 | function tokenValue(address _token, uint256 _amount) 15 | external 16 | view 17 | returns (uint256 value_); 18 | 19 | function mint(address _recipient, uint256 _amount) external; 20 | 21 | function manage(address _token, uint256 _amount) external; 22 | 23 | function incurDebt(uint256 amount_, address token_) external; 24 | 25 | function repayDebtWithReserve(uint256 amount_, address token_) external; 26 | 27 | function excessReserves() external view returns (uint256); 28 | 29 | function baseSupply() external view returns (uint256); 30 | } 31 | -------------------------------------------------------------------------------- /contracts/SimpleStore/src/tests/SimpleStore.t.sol: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: MIT 2 | 3 | pragma solidity ^0.8.13; 4 | 5 | import "forge-std/Test.sol"; 6 | import "@shunkakinoki/huff/HuffDeployer.sol"; 7 | import "../ISimpleStore.sol"; 8 | 9 | contract SimpleStoreTest is Test { 10 | ///@notice create a new instance of HuffDeployer 11 | HuffDeployer huffDeployer = new HuffDeployer(); 12 | 13 | ISimpleStore simpleStore; 14 | 15 | function setUp() public { 16 | ///@notice deploy a new instance of ISimplestore by passing in the address of the deployed Huff contract 17 | simpleStore = ISimpleStore( 18 | huffDeployer.deploy("huff_contracts/SimpleStore") 19 | ); 20 | } 21 | 22 | function testSetAndGetValue(uint256 value) public { 23 | simpleStore.setValue(value); 24 | console.log(value); 25 | console.log(simpleStore.getValue()); 26 | assertEq(value, simpleStore.getValue()); 27 | } 28 | } 29 | --------------------------------------------------------------------------------