UNPKG

@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
{ "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 } }