{"_id":"@bbuilders/djeon402-sdk-client","_rev":"8-79e7fec86bd8b034f790a0f71e68b57a","name":"@bbuilders/djeon402-sdk-client","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.1":{"name":"@bbuilders/djeon402-sdk-client","version":"1.0.1","keywords":["djeon402","dongjeon","client","browser","frontend","react","vue","erc20","kyc","x402","ethereum","wagmi"],"author":{"name":"DJEON402 Team"},"license":"MIT","_id":"@bbuilders/djeon402-sdk-client@1.0.1","maintainers":[{"name":"b-builders","email":"dev@bbuilders.xyz"}],"homepage":"https://github.com/yourorg/dongjeon402-sdk#readme","bugs":{"url":"https://github.com/yourorg/dongjeon402-sdk/issues"},"dist":{"shasum":"b15b37fb8fd17fe994242030bd8f2c064f83c25b","tarball":"https://registry.npmjs.org/@bbuilders/djeon402-sdk-client/-/djeon402-sdk-client-1.0.1.tgz","fileCount":20,"integrity":"sha512-uB/5NSFYEUlkLtoc8PKPkaHaFd2UxEGosqgnLnpkN//A9HWoCLLBAHfLuN90GANijvyRyJYW30Dc26YxE+XrAw==","signatures":[{"sig":"MEYCIQCg8q+BTqU5Zz5zEW6HVh2UbxjDFy7wm1LzfDdKALBl8QIhAOLqcHYHiTGDX21WFjJaQxbvqMRLWP0HVBPyrG/0J6Xb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678295},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","default":"./dist/vue/index.mjs","require":"./dist/vue/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","default":"./dist/react/index.mjs","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage"},"_npmUser":{"name":"b-builders","email":"dev@bbuilders.xyz"},"repository":{"url":"git+https://github.com/yourorg/dongjeon402-sdk.git","type":"git","directory":"packages/sdk-client"},"_npmVersion":"11.3.0","description":"DJEON402 SDK for browser and frontend applications (React, Vue)","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@bbuilders/djeon402-core":"workspace:*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.0.0","tsup":"^8.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@tanstack/react-query":"^5.0.0"},"peerDependencies":{"vue":"^3.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","@tanstack/react-query":"^5.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"wagmi":{"optional":true},"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/djeon402-sdk-client_1.0.1_1775536816294_0.8555780967753102","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bbuilders/djeon402-sdk-client","version":"1.0.2","keywords":["djeon402","dongjeon","client","browser","frontend","react","vue","erc20","kyc","x402","ethereum","wagmi"],"author":{"name":"DJEON402 Team"},"license":"MIT","_id":"@bbuilders/djeon402-sdk-client@1.0.2","maintainers":[{"name":"b-builders","email":"dev@bbuilders.xyz"}],"homepage":"https://github.com/yourorg/dongjeon402-sdk#readme","bugs":{"url":"https://github.com/yourorg/dongjeon402-sdk/issues"},"dist":{"shasum":"1754a7826d219f9dbfe75754496822517604b462","tarball":"https://registry.npmjs.org/@bbuilders/djeon402-sdk-client/-/djeon402-sdk-client-1.0.2.tgz","fileCount":20,"integrity":"sha512-/9CDdr+ezkfh46KM375nERVZHtV8qWHvYAphnl0bDgRkWJvymQCOt+1Zu+11vezJVyiBKXBlsWU6HT0w0y/Zkw==","signatures":[{"sig":"MEUCIQCIyUo6RV7roOwoAM1/xks2MNqgZ0TuNRA59cVa8Ox0LAIgdngBYv15Ruya9ASUeGDcafPhZJvQU+ndDYb6II/3A1g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678544},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","default":"./dist/vue/index.mjs","require":"./dist/vue/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","default":"./dist/react/index.mjs","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage"},"_npmUser":{"name":"b-builders","email":"dev@bbuilders.xyz"},"repository":{"url":"git+https://github.com/yourorg/dongjeon402-sdk.git","type":"git","directory":"packages/sdk-client"},"_npmVersion":"11.3.0","description":"DJEON402 SDK for browser and frontend applications (React, Vue)","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@bbuilders/djeon402-core":"workspace:*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.0.0","tsup":"^8.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@tanstack/react-query":"^5.0.0"},"peerDependencies":{"vue":"^3.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","@tanstack/react-query":"^5.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"wagmi":{"optional":true},"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/djeon402-sdk-client_1.0.2_1775537782658_0.6942650325853985","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bbuilders/djeon402-sdk-client","version":"1.0.3","keywords":["djeon402","dongjeon","client","browser","frontend","react","vue","erc20","kyc","x402","ethereum","wagmi"],"author":{"name":"bbuilders","email":"dev@bbuilders.xyz"},"license":"MIT","_id":"@bbuilders/djeon402-sdk-client@1.0.3","maintainers":[{"name":"b-builders","email":"dev@bbuilders.xyz"}],"dist":{"shasum":"c1447cbd7d428e47a2cde305a8514c28f874ad84","tarball":"https://registry.npmjs.org/@bbuilders/djeon402-sdk-client/-/djeon402-sdk-client-1.0.3.tgz","fileCount":20,"integrity":"sha512-CEA2J0GUDpd6fGIUEE2udobEAZBSas7AmjA7B53q/Wr95ewV2TH+uPZsvFBRuAQhfvbNS2tjYH1tO93kEjd3sA==","signatures":[{"sig":"MEUCIQDWvgEMKL83qbCMZN/JFlH8//3OC7wybvYse+AjHbvMTAIgZYbvpSxO/kwthDXeF21M8sNDA66ufoBWHP+IyQHxyHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678418},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","default":"./dist/vue/index.mjs","require":"./dist/vue/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","default":"./dist/react/index.mjs","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage"},"_npmUser":{"name":"b-builders","email":"dev@bbuilders.xyz"},"_npmVersion":"11.3.0","description":"DJEON402 SDK for browser and frontend applications (React, Vue)","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@bbuilders/djeon402-core":"workspace:*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.0.0","tsup":"^8.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@tanstack/react-query":"^5.0.0"},"peerDependencies":{"vue":"^3.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","@tanstack/react-query":"^5.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"wagmi":{"optional":true},"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/djeon402-sdk-client_1.0.3_1775541457103_0.8119526249655209","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bbuilders/djeon402-sdk-client","version":"1.0.4","keywords":["djeon402","dongjeon","client","browser","frontend","react","vue","erc20","kyc","x402","ethereum","wagmi"],"author":{"name":"bbuilders","email":"dev@bbuilders.xyz"},"license":"MIT","_id":"@bbuilders/djeon402-sdk-client@1.0.4","maintainers":[{"name":"b-builders","email":"dev@bbuilders.xyz"}],"dist":{"shasum":"bbeac6f6789671755db4d12942de36ef1ddb729e","tarball":"https://registry.npmjs.org/@bbuilders/djeon402-sdk-client/-/djeon402-sdk-client-1.0.4.tgz","fileCount":20,"integrity":"sha512-yGkH9LM0ocYShplL6kfX0T48I/l5VTX0aGo4I3xryq+kA2GDUBLy5GAdKBIOgxQB1nm4Tks3n5Os+da8pU/S3A==","signatures":[{"sig":"MEUCIDURy1Rnyy/Ty8oxae25X6XOf1FZaE0NzNa26ieUBsyNAiEA9NsYRz0pKfVJU3/Vs4l8pIBH1P/gB3EIZNpLROCkW/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":703476},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","default":"./dist/vue/index.mjs","require":"./dist/vue/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","default":"./dist/react/index.mjs","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage"},"_npmUser":{"name":"b-builders","email":"dev@bbuilders.xyz"},"_npmVersion":"11.3.0","description":"DJEON402 SDK for browser and frontend applications (React, Vue)","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@bbuilders/djeon402-core":"1.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.0.0","tsup":"^8.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@tanstack/react-query":"^5.0.0"},"peerDependencies":{"vue":"^3.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","@tanstack/react-query":"^5.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"wagmi":{"optional":true},"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/djeon402-sdk-client_1.0.4_1775561480097_0.3465891330972197","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@bbuilders/djeon402-sdk-client","version":"2.0.0","keywords":["djeon402","dongjeon","client","browser","frontend","react","vue","erc20","kyc","x402","ethereum","wagmi"],"author":{"name":"bbuilders","email":"dev@bbuilders.xyz"},"license":"MIT","_id":"@bbuilders/djeon402-sdk-client@2.0.0","maintainers":[{"name":"b-builders","email":"dev@bbuilders.xyz"}],"dist":{"shasum":"beb61f7365d4ffddea6ebe1e9df687b75004ea0a","tarball":"https://registry.npmjs.org/@bbuilders/djeon402-sdk-client/-/djeon402-sdk-client-2.0.0.tgz","fileCount":20,"integrity":"sha512-eAQaQk8iKsfePsZAOq688TKlj133SVsr5Seg2/nFmWm8seZsKaMdbU9UbLL3RWtZzHn/akBsM+fF92WWNXnOaA==","signatures":[{"sig":"MEYCIQC+qgItaKBjrtwTzLuP36fqmCFvhLCjA6UusFXXVk+5YAIhALNG0pTCeERqq6NIjk9qJOWM+SzfHegVRN6Th9AxBaWZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":710987},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.mjs","default":"./dist/vue/index.mjs","require":"./dist/vue/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.mjs","default":"./dist/react/index.mjs","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage"},"_npmUser":{"name":"b-builders","email":"dev@bbuilders.xyz"},"deprecated":"Broken ESM exports (points to missing .mjs). Use 2.0.1.","_npmVersion":"11.3.0","description":"DJEON402 SDK for browser and frontend applications (React, Vue)","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@bbuilders/djeon402-core":"2.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.0.0","tsup":"^8.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@tanstack/react-query":"^5.0.0"},"peerDependencies":{"vue":"^3.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","@tanstack/react-query":"^5.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"wagmi":{"optional":true},"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/djeon402-sdk-client_2.0.0_1784531213865_0.08267725342348542","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@bbuilders/djeon402-sdk-client","version":"2.0.1","keywords":["djeon402","dongjeon","client","browser","frontend","react","vue","erc20","kyc","x402","ethereum","wagmi"],"author":{"name":"bbuilders","email":"dev@bbuilders.xyz"},"license":"MIT","_id":"@bbuilders/djeon402-sdk-client@2.0.1","maintainers":[{"name":"b-builders","email":"dev@bbuilders.xyz"}],"dist":{"shasum":"277788f832c59c93d13d0a2c78f23439c74702ca","tarball":"https://registry.npmjs.org/@bbuilders/djeon402-sdk-client/-/djeon402-sdk-client-2.0.1.tgz","fileCount":20,"integrity":"sha512-xSNK9sK1M3sC8RjagO3tWqwiqFqeCotlNz8OrNNdWyxc2dvSZHFvqtLTYwZ8fFiFNNdANgf8P9hrkMbM8UAXvA==","signatures":[{"sig":"MEQCIBPspz0bIivSZrmjD/TXPIk+QGmsc0acu3hv09aGUtLpAiAWRTctpP7ydraYeDDyNRRyPgwxpHJuMUGqGlFhqVyj2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":710980},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js","default":"./dist/vue/index.js","require":"./dist/vue/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","default":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:coverage":"vitest --coverage"},"_npmUser":{"name":"b-builders","email":"dev@bbuilders.xyz"},"_npmVersion":"11.3.0","description":"DJEON402 SDK for browser and frontend applications (React, Vue)","directories":{},"_nodeVersion":"24.2.0","dependencies":{"@bbuilders/djeon402-core":"2.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.0.0","tsup":"^8.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","eslint":"^8.0.0","vitest":"^1.0.0","typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@tanstack/react-query":"^5.0.0"},"peerDependencies":{"vue":"^3.0.0","viem":"^2.0.0","react":"^18.0.0","wagmi":"^2.0.0","@tanstack/react-query":"^5.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"wagmi":{"optional":true},"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/djeon402-sdk-client_2.0.1_1784534278880_0.9353405953979463","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@bbuilders/djeon402-sdk-client","version":"2.1.0","description":"DJEON402 SDK for browser and frontend applications (React, Vue)","keywords":["djeon402","dongjeon","client","browser","frontend","react","vue","erc20","kyc","x402","ethereum","wagmi"],"author":{"name":"bbuilders","email":"dev@bbuilders.xyz"},"license":"MIT","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","default":"./dist/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js","require":"./dist/react/index.cjs","default":"./dist/react/index.js"},"./vue":{"types":"./dist/vue/index.d.ts","import":"./dist/vue/index.js","require":"./dist/vue/index.cjs","default":"./dist/vue/index.js"},"./package.json":"./package.json"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest","test:coverage":"vitest --coverage","typecheck":"tsc --noEmit","lint":"eslint src","clean":"rm -rf dist"},"dependencies":{"@bbuilders/djeon402-core":"2.1.0"},"peerDependencies":{"@tanstack/react-query":"^5.0.0","react":"^18.0.0","viem":"^2.0.0","vue":"^3.0.0","wagmi":"^2.0.0"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true},"react":{"optional":true},"vue":{"optional":true},"wagmi":{"optional":true}},"devDependencies":{"@tanstack/react-query":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","eslint":"^8.0.0","react":"^18.0.0","tsup":"^8.0.0","typescript":"^5.0.0","viem":"^2.0.0","vitest":"^1.0.0","vue":"^3.0.0","wagmi":"^2.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"_id":"@bbuilders/djeon402-sdk-client@2.1.0","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-rCMHD/RiTOF7q8k0Anatpz/pT8tginVwjtknvbluxqZDwNtTw5URsQcVf+zfzcfcecKzJyHcwQbjvasCjYOs3A==","shasum":"faa3e509e1aca1c991f1e5ab55fa373f8bc9191a","tarball":"https://registry.npmjs.org/@bbuilders/djeon402-sdk-client/-/djeon402-sdk-client-2.1.0.tgz","fileCount":20,"unpackedSize":762532,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHYpy8ixbvsQAQ+VXMssGyU7OLC0u5hKTAApMSVxwbezAiA+s8hVViRIKBUi42AvKe7lx6FTz3sp95sWpD2rHOOfNg=="}]},"_npmUser":{"name":"b-builders","email":"dev@bbuilders.xyz"},"directories":{},"maintainers":[{"name":"b-builders","email":"dev@bbuilders.xyz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/djeon402-sdk-client_2.1.0_1784988109157_0.6352773374615641"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-07T04:40:16.159Z","modified":"2026-07-25T14:01:49.499Z","1.0.1":"2026-04-07T04:40:16.504Z","1.0.2":"2026-04-07T04:56:22.801Z","1.0.3":"2026-04-07T05:57:37.270Z","1.0.4":"2026-04-07T11:31:20.242Z","2.0.0":"2026-07-20T07:06:54.019Z","2.0.1":"2026-07-20T07:57:59.010Z","2.1.0":"2026-07-25T14:01:49.319Z"},"author":{"name":"bbuilders","email":"dev@bbuilders.xyz"},"license":"MIT","keywords":["djeon402","dongjeon","client","browser","frontend","react","vue","erc20","kyc","x402","ethereum","wagmi"],"description":"DJEON402 SDK for browser and frontend applications (React, Vue)","maintainers":[{"name":"b-builders","email":"dev@bbuilders.xyz"}],"readme":"# @bbuilders/djeon402-sdk-client\n\nBrowser SDK for DJEON402 token with React hooks and Vue composables support.\n\n## What's New in 2.0\n\n**Breaking changes:**\n\n- `rpcUrl` is **required** for any chain other than Base (8453) — the constructor now throws instead of silently creating a broken client\n- `kyc.getRemainingLimit` returns `{ remaining, remainingRaw, userAddress }` (was `{ address, remainingLimit }`)\n- `kyc.checkDailyLimit` now returns the real allow/deny boolean (simulates first, records on-chain only when allowed; caller must be KYC admin or approved provider)\n- Token decimals are 6 (USDC/x402 convention)\n\n**New:**\n\n- `signTransferWithWallet` / `signReceiveWithWallet` accept `valueRaw` (base units) in addition to human-readable `amount`\n- `fetchWithPayment` is x402 v2 conformant: base-unit amounts, on-chain EIP-712 domain, `PAYMENT-SIGNATURE` payload shape\n\n## Features\n\n- ✅ **React Hooks** - Ready-to-use hooks with wagmi integration\n- ✅ **Vue Composables** - Vue 3 Composition API support\n- ✅ **TypeScript** - Full type safety\n- ✅ **Wallet Integration** - MetaMask, WalletConnect, etc.\n- ✅ **No Private Keys** - Secure wallet-based signing\n- ✅ **x402 Gasless** - Sign gasless transfer authorizations\n- ✅ **x402 v2 HTTP** - `fetchWithPayment` auto-handles 402 Payment Required\n\n## Units\n\nThe token uses **6 decimals** (USDC/x402 convention, `$1 = 1_000_000` base units).\nHuman-readable `amount` params (\"5\" = 5 tokens) are converted internally; x402 v2\nrequirement amounts are base units and are handled automatically by `fetchWithPayment`.\n\n## Installation\n\n```bash\n# npm\nnpm install @bbuilders/djeon402-sdk-client viem wagmi\n\n# pnpm\npnpm add @bbuilders/djeon402-sdk-client viem wagmi\n\n# yarn\nyarn add @bbuilders/djeon402-sdk-client viem wagmi\n```\n\n## Quick Start\n\n### React + wagmi\n\n#### 1. Setup Provider\n\n```tsx\nimport { Djeon402Provider } from '@bbuilders/djeon402-sdk-client/react';\nimport { WagmiProvider, createConfig, http } from 'wagmi';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\n\n// Configuration constants\nconst DJEON402_CONTRACT = '0x...';\nconst KYC_REGISTRY = '0x....';\nconst CHAIN_ID = 31337;\n\nconst config = createConfig({\n  chains: [/* your chains */],\n  transports: {\n    /* your transports */\n  },\n});\n\nconst queryClient = new QueryClient();\n\nfunction App() {\n  return (\n    <WagmiProvider config={config}>\n      <QueryClientProvider client={queryClient}>\n        <Djeon402Provider\n          config={{\n            contractAddress: DJEON402_CONTRACT,\n            kycRegistryAddress: KYC_REGISTRY,\n            chainId: CHAIN_ID,\n          }}\n        >\n          <YourApp />\n        </Djeon402Provider>\n      </QueryClientProvider>\n    </WagmiProvider>\n  );\n}\n```\n\n#### 2. Use Hooks\n\n```tsx\nimport { useAccount } from 'wagmi';\nimport { useBalance, useTransfer } from '@bbuilders/djeon402-sdk-client/react';\n\n// Test account addresses\nconst RECIPIENT_ADDRESS = '0x...';\n\n// Transfer amount constant\nconst TRANSFER_AMOUNT = '100';\n\nfunction TokenDashboard() {\n  const { address } = useAccount();\n  const { data: balance, isLoading } = useBalance(address);\n  const { transfer, isLoading: isTransferring } = useTransfer();\n\n  const handleTransfer = async () => {\n    await transfer({\n      to: RECIPIENT_ADDRESS,\n      amount: TRANSFER_AMOUNT,\n    });\n  };\n\n  return (\n    <div>\n      <p>Balance: {balance?.balance}</p>\n      <button onClick={handleTransfer} disabled={isTransferring}>\n        Send {TRANSFER_AMOUNT} Tokens\n      </button>\n    </div>\n  );\n}\n```\n\n### Vue 3\n\n#### 1. Setup Provider\n\n```vue\n<script setup lang=\"ts\">\nimport { provideDjeon402 } from '@bbuilders/djeon402-sdk-client/vue';\n\n// Configuration constants\nconst DJEON402_CONTRACT = '0x....';\nconst KYC_REGISTRY = '0x....';\nconst RPC_URL = 'http://localhost:8545';\nconst CHAIN_ID = 31337;\n\nprovideDjeon402({\n  contractAddress: DJEON402_CONTRACT,\n  kycRegistryAddress: KYC_REGISTRY,\n  chainId: CHAIN_ID,\n  rpcUrl: RPC_URL,\n});\n</script>\n\n<template>\n  <YourApp />\n</template>\n```\n\n#### 2. Use Composables\n\n```vue\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue';\nimport { useBalance, useTransfer } from '@bbuilders/djeon402-sdk-client/vue';\nimport { useWalletClient } from '@wagmi/vue';\n\n// Test account addresses\nconst RECIPIENT_ADDRESS = '0x.....';\n\n// Transfer amount constant\nconst TRANSFER_AMOUNT = '100';\n\nconst { data: walletClient } = useWalletClient();\nconst address = computed(() => walletClient.value?.account?.address);\n\nconst { data: balance, isLoading } = useBalance(address);\nconst { transfer, isLoading: isTransferring } = useTransfer(walletClient);\n\nconst handleTransfer = async () => {\n  await transfer(RECIPIENT_ADDRESS, TRANSFER_AMOUNT);\n};\n</script>\n\n<template>\n  <div>\n    <p>Balance: {{ balance?.balance }}</p>\n    <button @click=\"handleTransfer\" :disabled=\"isTransferring\">\n      Send {{ TRANSFER_AMOUNT }} Tokens\n    </button>\n  </div>\n</template>\n```\n\n### Vanilla JavaScript\n\n```typescript\nimport { Djeon402ClientSDK } from '@bbuilders/djeon402-sdk-client';\nimport { createWalletClient, custom } from 'viem';\n\n// Configuration constants\nconst DJEON402_CONTRACT = '0x....';\nconst RECIPIENT_ADDRESS = '0x....';\nconst RPC_URL = 'http://localhost:8545';\nconst CHAIN_ID = 31337;\nconst TRANSFER_AMOUNT = '100';\n\n// Create SDK instance\nconst sdk = new Djeon402ClientSDK({\n  contractAddress: DJEON402_CONTRACT,\n  chainId: CHAIN_ID,\n  rpcUrl: RPC_URL,\n});\n\n// Get token info\nconst info = await sdk.token.getInfo();\nconsole.log(info);\n\n// Create wallet client from browser wallet (MetaMask)\nconst walletClient = createWalletClient({\n  chain: sdk.getChain(),\n  transport: custom(window.ethereum),\n});\n\n// Transfer tokens\nconst result = await sdk.token.transfer({\n  walletClient,\n  to: RECIPIENT_ADDRESS,\n  amount: TRANSFER_AMOUNT,\n});\n```\n\n## API Reference\n\n### React Hooks\n\nAll hooks require `Djeon402Provider` to be set up in your app.\n\n- `useTokenInfo()` - Get token information\n- `useBalance(address)` - Get balance of an address\n- `useTransfer()` - Transfer tokens\n- `useApprove()` - Approve spending\n- `useX402Transfer()` - Sign gasless transfer authorization\n- `useX402Receive()` - Sign gasless receive authorization\n- `useKYCData(address)` - Get KYC data\n- `useIsBlacklisted(address)` - Check blacklist status\n\n### Vue Composables\n\nSame API as React hooks, compatible with Vue 3 reactivity.\n\n- `useTokenInfo()`, `useBalance()`, `useTransfer()`, `useApprove()`\n- `useX402Transfer(walletClient)` - Sign gasless transfer\n- `useX402Receive(walletClient)` - Sign gasless receive\n- `useKYCData()`, `useIsBlacklisted()`\n\n### SDK Config\n\n```typescript\nnew Djeon402ClientSDK({\n  contractAddress: '0x...',\n  chainId: 31337,\n  rpcUrl: 'http://localhost:8545', // REQUIRED for any chain other than Base (8453)\n  kycRegistryAddress: '0x...',     // optional; required for sdk.kyc\n});\n```\n\n### Core SDK Modules\n\n- `sdk.token` - ERC-20 operations\n- `sdk.admin` - Admin functions\n- `sdk.kyc` - KYC management\n  - `getData(address)` / `isKYCValid(address)` / `getLevelLimit(level)` - reads\n  - `getRemainingLimit(address)` → `{ remaining, remainingRaw, userAddress }`\n  - `verify / updateKYC / revokeKYC / setDailyLimit / setLevelLimit` - admin writes\n  - `checkDailyLimit({ walletClient, userAddress, amountUSD })` - **state-mutating**:\n    simulates first and returns the real allow/deny boolean; records the spend\n    on-chain only when allowed. Caller must be the KYC admin or an approved provider.\n- `sdk.x402` - Gasless transfers (sign, execute, receive, cancel, fetchWithPayment)\n  - `signTransferWithWallet` / `signReceiveWithWallet` accept either a\n    human-readable `amount` (\"5\") or `valueRaw` (bigint base units, takes precedence).\n    The EIP-712 domain (`name`, chainId) is read live from the contract — never hardcoded.\n\n## Examples\n\n### Gasless Payment (x402)\n\n```tsx\nimport { useX402Transfer } from '@bbuilders/djeon402-sdk-client/react';\n\n// Merchant configuration\nconst MERCHANT_ADDRESS = '0xMerchantAddress...';\nconst PAYMENT_AMOUNT = '99.99';\n\nfunction CheckoutButton() {\n  const { signTransfer } = useX402Transfer();\n\n  const handlePayment = async () => {\n    // User signs authorization (no gas needed!)\n    const authorization = await signTransfer({\n      to: MERCHANT_ADDRESS,\n      amount: PAYMENT_AMOUNT,\n    });\n\n    // Send to backend for execution\n    await fetch('/api/relay-payment', {\n      method: 'POST',\n      body: JSON.stringify({ authorization }),\n    });\n  };\n\n  return <button onClick={handlePayment}>Pay ${PAYMENT_AMOUNT}</button>;\n}\n```\n\n### Receive Authorization (Payee-Initiated)\n\n```tsx\nimport { useX402Receive } from '@bbuilders/djeon402-sdk-client/react';\n\nfunction ReceiveButton() {\n  const { signReceive } = useX402Receive();\n\n  const handleReceive = async () => {\n    // Receiver signs to pull funds from sender\n    const authorization = await signReceive({\n      from: '0xSender...',\n      amount: '50',\n    });\n\n    // Send to backend for execution\n    await fetch('/api/relay/execute-receive', {\n      method: 'POST',\n      body: JSON.stringify({ authorization }),\n    });\n  };\n\n  return <button onClick={handleReceive}>Receive 50 Tokens</button>;\n}\n```\n\n### Auto-Handle 402 Payment Required (x402 v2)\n\n```typescript\nimport { Djeon402ClientSDK } from '@bbuilders/djeon402-sdk-client';\n\nconst sdk = new Djeon402ClientSDK({\n  contractAddress: '0x...',\n  chainId: 31337,\n  rpcUrl: 'http://localhost:8545',\n});\n\n// Implements the x402 v2 client flow in one call:\n// 1. Detects 402 + PAYMENT-REQUIRED header (base64 PaymentRequired JSON)\n// 2. Signs an EIP-3009 authorization for accepts[0] — the base-unit\n//    `amount` and the on-chain EIP-712 domain are handled automatically\n// 3. Retries with the PAYMENT-SIGNATURE header\n//    ({ x402Version, resource, accepted, payload: { signature, authorization } })\n// On success the response carries a PAYMENT-RESPONSE header with the\n// settlement result (transaction hash, success flag).\nconst response = await sdk.x402.fetchWithPayment(walletClient, '/api/content/article-1');\n```\n\n### Check KYC Before Transfer\n\n```tsx\nimport { useAccount } from 'wagmi';\nimport { useKYCData, useTransfer } from '@bbuilders/djeon402-sdk-client/react';\n\n// Transfer configuration\nconst RECIPIENT_ADDRESS = '0xRecipientAddress...';\nconst TRANSFER_AMOUNT = '1000';\n\nfunction SecureTransfer() {\n  const { address } = useAccount();\n  const { data: kyc } = useKYCData(address);\n  const { transfer } = useTransfer();\n\n  const handleTransfer = async () => {\n    if (!kyc?.isActive || kyc.level === 0) {\n      alert('Please complete KYC verification first');\n      return;\n    }\n\n    await transfer({\n      to: RECIPIENT_ADDRESS,\n      amount: TRANSFER_AMOUNT\n    });\n  };\n\n  return (\n    <div>\n      <p>KYC Status: {kyc?.levelName}</p>\n      <button onClick={handleTransfer}>Transfer</button>\n    </div>\n  );\n}\n```\n\n## Requirements\n\n- React >= 18.0.0 (for React hooks)\n- Vue >= 3.0.0 (for Vue composables)\n- wagmi ^2.0.0\n- viem ^2.0.0\n- @tanstack/react-query ^5.0.0 (for React)\n\n## Related Packages\n\n- [@bbuilders/djeon402-contracts](https://www.npmjs.com/package/@bbuilders/djeon402-contracts) - Smart Contracts (Solidity / Foundry)\n- [@bbuilders/djeon402-core](https://www.npmjs.com/package/@bbuilders/djeon402-core) - Core types and utilities\n- [@bbuilders/djeon402-sdk-node](https://www.npmjs.com/package/@bbuilders/djeon402-sdk-node) - Node.js/Backend SDK\n\n## License\n\nMIT\n","readmeFilename":"README.md"}