@midcontract/protocol
Version:
Crypto payment protocol with escrow
144 lines (143 loc) • 6.27 kB
JSON
{
"name": "@midcontract/protocol",
"version": "1.0.0-rc.37",
"description": "Crypto payment protocol with escrow",
"keywords": [
"payment",
"crypto",
"escrow",
"midcontract"
],
"homepage": "https://github.com/midcontract/protocol",
"bugs": "https://github.com/midcontract/protocol/issues",
"repository": {
"type": "git",
"url": "git+https://github.com/midcontract/protocol.git"
},
"license": "MIT",
"author": {
"name": "Midcontract",
"url": "https://www.midcontract.com/"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"require": "./dist/midcontract-protocol.cjs",
"import": "./dist/midcontract-protocol.mjs"
},
"./dist/": {
"import": "./dist/",
"require": "./dist/"
}
},
"main": "./dist/midcontract-protocol.cjs",
"module": "./dist/midcontract-protocol.mjs",
"types": "./dist/index.d.ts",
"files": [
"dist/**/*",
"LICENSE",
"README.md"
],
"scripts": {
"build": "rimraf build/**/* && pnpm build:chain && pnpm build:sdk",
"build:abi": "echo \\\\\\\"export const escrow = $(jq '.abi' out/Escrow.sol/Escrow.json) as const\\\\\\\" > sdk/abi/EscrowFixedPrice.ts",
"build:chain": "pnpm build:remap && forge build && pnpm build:abi",
"build:optimized": "FOUNDRY_PROFILE=optimized forge build",
"build:remap": "forge remappings > remappings.txt",
"build:sdk": "tsc && vite build && pnpm build:types",
"build:types": "npx dts-bundle-generator --silent --no-check --out-file dist/index.d.ts sdk/index.ts",
"canary": "pnpm canary:version && npm publish --access public --tag canary --no-git-tag-version",
"canary:version": "pnpm version --new-version $(jq -r .version package.json)-$(git log -n 1 --pretty=format:%h) --no-git-tag-version",
"deploy:blast": "source .env && forge script Deployment --broadcast --rpc-url $BLAST_RPC --private-key $BLAST_DEPLOYER_PK --verifier-url $BLAST_VERIFIER_URL --etherscan-api-key $BLAST_ETHERSCAN_API_KEY",
"deploy:blast-coin": "source .env && forge script TestCoinDeploy --broadcast --rpc-url $BLAST_RPC --private-key $BLAST_DEPLOYER_PK --verifier-url $BLAST_VERIFIER_URL --etherscan-api-key $BLAST_ETHERSCAN_API_KEY",
"deploy:blast-faucet": "source .env && forge script TestCoinFaucetDeploy --broadcast --rpc-url $BLAST_RPC --private-key $BLAST_DEPLOYER_PK --verifier-url $BLAST_VERIFIER_URL --etherscan-api-key $BLAST_ETHERSCAN_API_KEY",
"deploy:local": "source .env.test && forge script Testing --broadcast --rpc-url $RPC_URL --private-key $DEPLOYER_PK",
"deploy:sepolia": "source .env && forge script Deployment --broadcast --rpc-url $SEPOLIA_RPC --private-key $SEPOLIA_DEPLOYER_PK --verify --etherscan-api-key $ETHERSCAN_API_KEY",
"deploy:sepolia-faucet": "source .env && forge script TestCoinFaucetDeploy --broadcast --rpc-url $SEPOLIA_RPC --private-key $SEPOLIA_DEPLOYER_PK --verify --etherscan-api-key $ETHERSCAN_API_KEY",
"dev": "vite --host",
"docs:sdk": "typedoc sdk/index.ts",
"fix": "sort-package-json && forge fmt && pnpm lint:sol-tests --fix && pnpm lint:sol-logic --fix && pnpm fix:sdk",
"fix:sdk": "eslint 'sdk/**/*.{ts,json}' --fix && prettier 'sdk/**/*.{ts,json}' --write",
"format": "npm run format:scripts && npm run format:styles",
"lint": "pnpm lint:chain && pnpm lint:sdk",
"lint:chain": "pnpm lint:sol-tests && pnpm lint:sol-logic && forge fmt --check",
"lint:sdk": "eslint 'sdk/**/*.{ts,json}'",
"lint:sol-logic": "solhint -c .solhint.json 'chain/evm/contract/**/*.sol'",
"lint:sol-tests": "solhint -c .solhint.tests.json 'chain/evm/{test,script}/**/*.sol'",
"lint:styles": "stylelint ./**/*.{css,scss}",
"net:down": "docker compose down --volumes",
"net:reset": "pnpm net:down && pnpm net:start",
"net:start": "docker compose up --detach && pnpm deploy:local",
"net:stop": "docker compose stop",
"pre-commit": "pnpm build && lint-staged",
"test": "pnpm test:chain && pnpm test:sdk",
"test:chain": "forge test -vvv",
"test:chain:coverage": "forge coverage --match-contract Unit",
"test:chain:integration": "forge test --match-contract Integration -vvv",
"test:chain:unit": "forge test --match-contract Unit -vvv",
"test:chain:unit:deep": "FOUNDRY_FUZZ_RUNS=5000 pnpm test:unit",
"test:sdk": "vitest",
"test:sdk:coverage": "vitest --coverage --dir sdk",
"ts-node": "ts-node"
},
"lint-staged": {
"*.{sol}": "forge fmt",
"chain/evm/contract/**/*.sol": "pnpm lint:sol-logic --fix",
"chain/evm/{script,test}/**/*.sol": "pnpm lint:sol-tests --fix",
"package.json": "sort-package-json"
},
"prettier": {
"arrowParens": "avoid",
"bracketSameLine": false,
"bracketSpacing": true,
"endOfLine": "auto",
"jsxSingleQuote": false,
"plugins": [
"prettier-plugin-solidity"
],
"printWidth": 120,
"quoteProps": "as-needed",
"semi": true,
"singleAttributePerLine": false,
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "es5",
"useTabs": false
},
"dependencies": {
"abitype": "^1.0.6",
"axios": "^1.7.7",
"ethers": "^6.13.5",
"viem": "2.20.0"
},
"devDependencies": {
"@openzeppelin/contracts": "^5.0.2",
"@types/jsdom": "^21.1.6",
"@types/node": "^20.11.5",
"@typescript-eslint/eslint-plugin": "^6.19.1",
"@typescript-eslint/parser": "^6.19.1",
"@vitest/coverage-v8": "^1.2.1",
"ds-test": "github:dapphub/ds-test#e282159",
"dts-bundle-generator": "^9.2.4",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.3",
"forge-std": "github:foundry-rs/forge-std#v1.7.6",
"lint-staged": "^15.2.0",
"postcss": "^8.4.33",
"postcss-scss": "^4.0.9",
"prettier": "^3.2.4",
"prettier-plugin-solidity": "^1.3.1",
"rimraf": "^5.0.5",
"solhint-community": "github:solhint-community/solhint-community#v4.0.0-rc01",
"sort-package-json": "^2.7.0",
"stylelint-config-recommended": "^14.0.0",
"stylelint-config-sass-guidelines": "^11.0.0",
"stylelint-order": "^6.0.4",
"stylelint-prettier": "^5.0.0",
"ts-node": "^10.9.2",
"typescript": "^5.6.2",
"vite": "^5.0.12",
"vitest": "^1.2.1"
}
}