@cultura/sdk
Version:
SDK for interacting with Cultura, a Layer 2 Ethereum blockchain acting as the global registry for human creativity and IP. It ensures transparent licensing, revenue sharing, and secure provenance.
111 lines (110 loc) • 6.42 kB
JSON
{
"name": "@cultura/sdk",
"version": "0.2.3",
"description": "SDK for interacting with Cultura, a Layer 2 Ethereum blockchain acting as the global registry for human creativity and IP. It ensures transparent licensing, revenue sharing, and secure provenance.",
"main": "dist/index.js",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"exports": {
".": {
"module": "./dist/index.mjs",
"default": "./dist/index.js"
}
},
"publishConfig": {
"access": "public"
},
"sideEffects": false,
"files": [
"dist/**/*"
],
"scripts": {
"build": "node -e \"process.env.VERCEL ? process.exit(0) : require('child_process').execSync('tsup', {stdio:'inherit'})\"",
"dev": "tsc --watch",
"test": "vitest run",
"test:watch": "vitest watch",
"test:coverage": "vitest run --coverage",
"test:e2e": "vitest run test/e2e/protocol-user-flows.test.ts",
"rebuild-contracts": "cd ../../submodules/CAS && npx hardhat clean && npx hardhat compile",
"prepare": "node -e \"process.env.VERCEL || process.env.GITHUB_ACTIONS ? process.exit(0) : require('child_process').execSync('pnpm rebuild-contracts && pnpm generate-abi && pnpm build', {stdio: 'inherit'})\"",
"sync-types": "cp -r ../typechain-types ./src/types",
"generate-abi": "ts-node scripts/generateAbi.ts",
"lint": "eslint src test",
"lint:fix": "eslint src test --fix",
"format": "prettier --check .",
"format:fix": "prettier --write .",
"docs": "node scripts/generate-docs.js",
"example": "ts-node examples/verified-rights-licensing-flow.ts",
"example:query": "ts-node examples/query-examples.ts",
"typechain": "typechain --target ethers-v6 --out-dir src/types/contracts './src/abi/*.ts'",
"version:patch": "node -e \"const pkg = require('./package.json'); const parts = pkg.version.split('.'); pkg.version = parts[0] + '.' + parts[1] + '.' + (parseInt(parts[2]) + 1); require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n');\"",
"version:minor": "node -e \"const pkg = require('./package.json'); const parts = pkg.version.split('.'); pkg.version = parts[0] + '.' + (parseInt(parts[1]) + 1) + '.0'; require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n');\"",
"version:major": "node -e \"const pkg = require('./package.json'); const parts = pkg.version.split('.'); pkg.version = (parseInt(parts[0]) + 1) + '.0.0'; require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n');\"",
"version:rc": "node -e \"const pkg = require('./package.json'); if (pkg.version.includes('-rc.')) { const base = pkg.version.split('-rc.')[0]; const rc = parseInt(pkg.version.split('-rc.')[1]) + 1; pkg.version = base + '-rc.' + rc; } else { const parts = pkg.version.split('.'); pkg.version = parts[0] + '.' + parts[1] + '.' + (parseInt(parts[2]) + 1) + '-rc.1'; } require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n');\"",
"version:rc:new": "node -e \"const pkg = require('./package.json'); const parts = pkg.version.split('-')[0].split('.'); pkg.version = parts[0] + '.' + parts[1] + '.' + (parseInt(parts[2]) + 1) + '-rc.1'; require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n');\"",
"version:stable": "node -e \"const pkg = require('./package.json'); if (pkg.version.includes('-rc.')) { pkg.version = pkg.version.split('-rc.')[0]; } else { const parts = pkg.version.split('.'); pkg.version = parts[0] + '.' + parts[1] + '.' + (parseInt(parts[2]) + 1); } require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n');\"",
"version:spacenet:rc": "node -e \"const pkg = require('./package.json'); if (pkg.version.includes('-rcSpacenet.')) { const base = pkg.version.split('-rcSpacenet.')[0]; const rc = parseInt(pkg.version.split('-rcSpacenet.')[1]) + 1; pkg.version = base + '-rcSpacenet.' + rc; } else { const parts = pkg.version.split('.'); pkg.version = parts[0] + '.' + parts[1] + '.' + (parseInt(parts[2]) + 1) + '-rcSpacenet.1'; } require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n');\"",
"version:spacenet:rc:new": "node -e \"const pkg = require('./package.json'); const parts = pkg.version.split('-')[0].split('.'); pkg.version = parts[0] + '.' + parts[1] + '.' + (parseInt(parts[2]) + 1) + '-rcSpacenet.1'; require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n');\"",
"version:spacenet:stable": "node -e \"const pkg = require('./package.json'); if (pkg.version.includes('-rcSpacenet.')) { pkg.version = pkg.version.split('-rcSpacenet.')[0]; } else { const parts = pkg.version.split('.'); pkg.version = parts[0] + '.' + parts[1] + '.' + (parseInt(parts[2]) + 1); } require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\\n');\"",
"publish:rc": "pnpm build && npm publish --tag rc --access public --workspaces=false",
"publish:spacenet:rc": "pnpm build && npm publish --tag spacenet-rc --access public --workspaces=false",
"publish:stable": "pnpm build && npm publish --tag latest --access public --workspaces=false"
},
"keywords": [
"cultura",
"blockchain",
"sdk",
"ethereum",
"web3",
"ip",
"intellectual property",
"attestation",
"royalty",
"bond",
"token"
],
"author": {
"name": "Cultura Team"
},
"repository": {
"type": "git",
"url": "https://github.com/cultura/cultura-monorepo/tree/main/packages/sdk"
},
"license": "MIT",
"dependencies": {
"@urql/core": "^5.1.1",
"dotenv": "^16.4.7",
"ethers": "^6.11.1",
"graphql": "^16.10.0",
"viem": "^2.7.9"
},
"devDependencies": {
"@privy-io/react-auth": "^1.67.1",
"@typechain/ethers-v6": "^0.5.1",
"@types/node": "^20.11.19",
"@typescript-eslint/eslint-plugin": "^7.0.1",
"@typescript-eslint/parser": "^7.0.1",
"@vitest/coverage-v8": "^1.3.1",
"eslint": "^8.56.0",
"jsdom": "^24.0.0",
"prettier": "^3.2.5",
"ts-node": "^10.9.2",
"tsup": "^8.0.2",
"typechain": "^8.3.2",
"typedoc": "^0.27.9",
"typedoc-plugin-markdown": "^4.4.2",
"typescript": "^5.3.3",
"vitest": "^1.3.1"
},
"c8": {
"exclude": [
"test/**/*",
"src/types/**/*"
],
"check-coverage": true,
"lines": 90,
"functions": 90,
"branches": 90,
"statements": 90
}
}