{"_id":"@0xainetoem/white-label","_rev":"14-e47ec36eae3b57b7609d1ac944f982ea","name":"@0xainetoem/white-label","dist-tags":{"latest":"1.0.2"},"versions":{"0.1.0":{"name":"@0xainetoem/white-label","version":"0.1.0","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.1.0","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"dist/cli/index.js"},"dist":{"shasum":"680bfe4fac04af1136d48bcf1d4e1fe629628f48","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.1.0.tgz","fileCount":33,"integrity":"sha512-TfuPeKrfOtbm9+5yfnH9geaJ2HF76wBZhrywpOfMwe7FYYzyKP0VQtYX0iKWM/mL7S7/KlOHWiUANTvfDLbKmw==","signatures":[{"sig":"MEUCIDZ0q0CVYBwdwbK5rOzzaocpSK7GgGT8m758yVSYHJrTAiEA91meOVzyirlcjyum0lnf1U8j/wx7kRW9KJQxLxZdbCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30739},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"}},"gitHead":"6558308ff6f104c6193a3d7a238c14b3c92349e9","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.1.0_1784998398902_0.029727791310852236","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@0xainetoem/white-label","version":"0.1.1","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.1.1","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"dist/cli/index.js"},"dist":{"shasum":"7cbd931f259241c06de3c5c917b9da22485ce58f","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.1.1.tgz","fileCount":33,"integrity":"sha512-w735SMxlUpxb9okqq4a9ZVBk8QglTUcXJVVcLLR9XTs4sSeEQ450RF5XPjZxgKAVhoY5HkQpYZqYHJzPlY0IXg==","signatures":[{"sig":"MEQCIFHBFk26cCDbZQybuWFNXUkSjBQ+Hg1nqz0HQok0LsDyAiBMRm/B3HqEwCz56LRW47rFST/EVHdmhbk74uupV41jJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30765},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"}},"gitHead":"6558308ff6f104c6193a3d7a238c14b3c92349e9","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.1.1_1784998463958_0.3307225523191657","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@0xainetoem/white-label","version":"0.1.2","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.1.2","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"b664c0f4a810ef65ebac7fb843ff8008ab7c0af7","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.1.2.tgz","fileCount":34,"integrity":"sha512-egAC/Lwlh7V7cmq0Mgi5eKt4cFVM8VAinxNDaa11HvapbA4wuUdzDGe+J/Rdng8SjlskPgJsQuWtcsTwI0+W5g==","signatures":[{"sig":"MEUCIQDB5K8lJ2OaCOt7w4OJU3cjSougYGB99EpxHbIAPBwR0QIgSui1ei8XTEg5uDlzcN4bPC5nuPpuwyOKzvskz+oGImA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31004},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"}},"gitHead":"dce37c2dd4ff38dc0386c52aa815f5b334ecc5d5","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.1.2_1784998749018_0.9915815484475525","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@0xainetoem/white-label","version":"0.1.3","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.1.3","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"df0795de353bf6339593765347bceb15949ae810","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.1.3.tgz","fileCount":34,"integrity":"sha512-anUG7ArdeAzAsgzAR+CbtGGabo/qHNqNIVhZcNfnauC05i55cAfNk0nBgU8BTY9iZugm0y4VAgtuXhGWjNz43A==","signatures":[{"sig":"MEUCIQD3JRVbqAVYCtle/fgToJx1Qn2a0wcUU0KOHZN2E5aOIAIgfeFpXP7UWtNpS0lt38hzgDLavCCS6c7d0E/vUhAWO0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31022},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"}},"gitHead":"dce37c2dd4ff38dc0386c52aa815f5b334ecc5d5","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.1.3_1784998780730_0.2825154564956558","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@0xainetoem/white-label","version":"0.1.4","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.1.4","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"e7057a6b42a5fde398174939cd7834524bf8ddc2","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.1.4.tgz","fileCount":34,"integrity":"sha512-6wOkt/PyKXXDF2t1lFSOtI9ArwWjLpIZaqtIc+6jpdtYKw8+6hFqwDTacdkqHcoKdsmq1MA3Por4d38/QdCGNQ==","signatures":[{"sig":"MEUCIQDGgWfcbCgG9PiysFYdVVDDWaZ6X4oRQAKLwsUvWZ4QrAIgNPT+GjhBR4GF07EKVUU1yFQsGtGzl1uIQ11FyAQj/q4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30954},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"}},"gitHead":"2d86d893499efaf085a31e76fdb3b4639866247a","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.1.4_1784998896962_0.14649803572030184","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@0xainetoem/white-label","version":"0.2.0","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.2.0","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"15d510e88d452598346f6a7e6b79481a0d238b1f","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.2.0.tgz","fileCount":39,"integrity":"sha512-bCJ2qt+qm047B/vg0bg0CRuEv/3bvjXsdWjVdpaK/nK0/7n2yeoouR/46TiznRp/zHsVPhIurbGqJyAaLoe8OA==","signatures":[{"sig":"MEUCICTGuLziak7oLr11+/Z4JVCYJQfRdK7n2KHTGas5SDlXAiEA9MLV1q1jruRU3PoDrt8pbWb1bMsCfk5lamqMORAHewo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40310},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"}},"gitHead":"7cb8d57b5b686338418195a8be6a79fe158f3cdb","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@cryptchat/sdk":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"@cryptchat/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.2.0_1785003693425_0.4993180581923111","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@0xainetoem/white-label","version":"0.2.1","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.2.1","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"ee48cf09fff886e48f3d63b2173af39e86c754e5","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.2.1.tgz","fileCount":43,"integrity":"sha512-xL2rbxXEhCBMzIn/zHzcYCu7072daSmLAG+earqFUxFCbRIOOPmbpGMGrTYlCgqWrI93DTdat9n/FhHRJfrI4g==","signatures":[{"sig":"MEUCIBPHWL/nfkxxAsYdFJOZTLNI9BQwJgfFvAJQ/kVZglfXAiEAkbulDXDGuwgCtKXbMeg8q0n0Edq3xoXqbbjgVpooFs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43758},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./zenonft":{"types":"./dist/integrations/zenonft.d.ts","import":"./dist/integrations/zenonft.js"},"./cryptchat":{"types":"./dist/integrations/cryptchat.d.ts","import":"./dist/integrations/cryptchat.js"}},"gitHead":"893b7dcad8de0421bc5b87f1a23c532ed54d47bc","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@zenonft/sdk":"^1.0.1","@cryptchat/sdk":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"@cryptchat/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.2.1_1785004545950_0.9559076645772457","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@0xainetoem/white-label","version":"0.2.2","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.2.2","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"e7b6ca19879af060e532a2fbd28e3f95118bdba4","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.2.2.tgz","fileCount":43,"integrity":"sha512-HXaMlO9i/gf4P8AyExliq6QeELWo2GfNwx+hlIi1eTPDZ6Q1AbGQ1H0VGtaAjcgJtCjOBGjhJtrUAMQwxjwo8g==","signatures":[{"sig":"MEYCIQCEA51WiRfBeOnEBXc2svmDgerlzRJarvwcMZ//Ck8U4AIhANLZtliYBNR7t+72hBQQHLlDO+fzML+BxyUz4I+gQLRZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58812},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./zenonft":{"types":"./dist/integrations/zenonft.d.ts","import":"./dist/integrations/zenonft.js"},"./cryptchat":{"types":"./dist/integrations/cryptchat.d.ts","import":"./dist/integrations/cryptchat.js"}},"gitHead":"e00f20b3ae2b4c5b48ec637938f0b4b0411c42e8","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@zenonft/sdk":"^1.0.1","@cryptchat/sdk":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"@cryptchat/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.2.2_1785012559115_0.9818868001837362","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@0xainetoem/white-label","version":"0.3.0","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.3.0","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"52a89ba3fe5a1054ddfc1ff45c386ad497d99bf2","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.3.0.tgz","fileCount":43,"integrity":"sha512-F5px9C/FzdW2X86jkPeMGw223n8jPVFGL3tqFy8qHXvpOmYqyev/P1AdqqKGov7yhknAeXyMLPOFDe5GmBQEQw==","signatures":[{"sig":"MEUCIE25uvwPo2sf7pWYHZqh9wfpyvZ/XFr4hLFe0TujpKEWAiEAy1Ya2uJWEsjWHmSX6yn5XHDpB77i5l40vrk7HL3Ds0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68473},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./zenonft":{"types":"./dist/integrations/zenonft.d.ts","import":"./dist/integrations/zenonft.js"},"./cryptchat":{"types":"./dist/integrations/cryptchat.d.ts","import":"./dist/integrations/cryptchat.js"}},"gitHead":"4e950f239c6bbf453299319f0f47bdc6a668b55f","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@zenonft/sdk":"^1.0.1","@cryptchat/sdk":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"@cryptchat/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.3.0_1785013107660_0.919381316644263","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@0xainetoem/white-label","version":"0.4.0","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.4.0","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"80a27a23bd77e56deeea41c25ef8cf7a8027d0e3","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.4.0.tgz","fileCount":43,"integrity":"sha512-KiJ+MSyxcA9EsfG5Uxb/o2K6LijepsDT4Rj2g0CHagtYsPZXBZcSq6IvGHlaMVtnRwkfMC7qYB6fIVGBiHlZLA==","signatures":[{"sig":"MEQCIDbhxEpcLNJQZxtyjir8cADIhyxoBqse7bm1J7dpf8QjAiBkzIEhjZpbVXlw6Y15B0SL7LpfK74XSPZ1FPvKFstnJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./zenonft":{"types":"./dist/integrations/zenonft.d.ts","import":"./dist/integrations/zenonft.js"},"./cryptchat":{"types":"./dist/integrations/cryptchat.d.ts","import":"./dist/integrations/cryptchat.js"}},"gitHead":"9df2039c8e13448d92ecc734239c4f4ddf7612bb","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@zenonft/sdk":"^1.0.1","@cryptchat/sdk":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"@cryptchat/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.4.0_1785013785457_0.9440645517717783","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@0xainetoem/white-label","version":"0.4.1","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@0.4.1","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"2443a06b87dfb94f4f892e8e99b636baf74a6899","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-0.4.1.tgz","fileCount":43,"integrity":"sha512-og2l7gXadeLAbviAE9qL1HkOn8l29RSvrm+zrORrqWyL347tQiJ8Z1vIaEmA4FjM7+lH4JZbKxW2rVXJOdDVbg==","signatures":[{"sig":"MEUCIQDtGnAxJx+eQtesSjEb6fl/OEdr7RZprSJbR76ml2L9jQIgRLyza4VhZJHMnAyso69ZlBGViqJIf8/o4AvExkRaOW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70901},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./zenonft":{"types":"./dist/integrations/zenonft.d.ts","import":"./dist/integrations/zenonft.js"},"./cryptchat":{"types":"./dist/integrations/cryptchat.d.ts","import":"./dist/integrations/cryptchat.js"}},"gitHead":"3548751354d26487ee4c3c3ec6b4623a25a830a6","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"_npmVersion":"10.8.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@zenonft/sdk":"^1.0.1","@cryptchat/sdk":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"@cryptchat/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/white-label_0.4.1_1785085465805_0.7821152632873567","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@0xainetoem/white-label","version":"1.0.0","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@1.0.0","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"homepage":"https://github.com/sftgroup/white-label#readme","bugs":{"url":"https://github.com/sftgroup/white-label/issues"},"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"4de02cf224a9ad7210cfa0fea7600b0fb2bed6e4","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-1.0.0.tgz","fileCount":63,"integrity":"sha512-8KJvIzWPAMNHuyLFOvItGjaLGnvKTv/NxMooPXDRhVcEj8HVi9Vqed3aO+kQ57/+rksjcZrg+skfMFWENx/KDg==","signatures":[{"sig":"MEQCIC5YFJfZdijojyb5WEoY7RRMWiGU0opZVrBY1/Rf4VbCAiB2ilDqN+dJhJ+/9nEfinuzsPJqFYyAgnSNXyDm4mA1lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108466},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./ceres":{"types":"./dist/integrations/ceres.d.ts","import":"./dist/integrations/ceres.js"},"./predx":{"types":"./dist/integrations/predx.d.ts","import":"./dist/integrations/predx.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./bridge":{"types":"./dist/integrations/bridge.d.ts","import":"./dist/integrations/bridge.js"},"./bitbyte":{"types":"./dist/integrations/bitbyte.d.ts","import":"./dist/integrations/bitbyte.js"},"./zenonft":{"types":"./dist/integrations/zenonft.d.ts","import":"./dist/integrations/zenonft.js"},"./oxachain":{"types":"./dist/integrations/oxachain.d.ts","import":"./dist/integrations/oxachain.js"},"./cryptchat":{"types":"./dist/integrations/cryptchat.d.ts","import":"./dist/integrations/cryptchat.js"}},"gitHead":"71b8f76d30fd5e3d575550b957df3a3198fce698","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"repository":{"url":"git+https://github.com/sftgroup/white-label.git","type":"git"},"_npmVersion":"10.9.8","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@zenonft/sdk":"^1.0.1","@bitbytev4/sdk":"^2.0.0","@cryptchat/sdk":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"@0xpredx/sdk":{"optional":true},"@ceresv2/sdk":{"optional":true},"@zenonft/sdk":{"optional":true},"oxachain-sdk":{"optional":true},"@0xbridge/sdk":{"optional":true},"@bitbytev4/sdk":{"optional":true},"@cryptchat/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/white-label_1.0.0_1785457354103_0.7131015770264613","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@0xainetoem/white-label","version":"1.0.1","keywords":["white-label","branding","web3","0xai"],"license":"MIT","_id":"@0xainetoem/white-label@1.0.1","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"homepage":"https://github.com/sftgroup/white-label#readme","bugs":{"url":"https://github.com/sftgroup/white-label/issues"},"bin":{"wl":"bin/wl.js"},"dist":{"shasum":"7f4635bccf6bd0e5318d3d02c9fa51a0db935292","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-1.0.1.tgz","fileCount":63,"integrity":"sha512-VC0i6eMBZ1CMvp38O05U+FORmlfjTXCPJ5y26Pg7rvGdvv2YjbBqon2y0nVP6tOthRrhP/tYQDDn6X9VcUqVag==","signatures":[{"sig":"MEUCIAN8qG4hY8uXUeAv5wuKB59pGHdeNBfm5fFL0IAP/8vWAiEAqdCHOBG7KQGgy+c0QPNhEi7AQQZrW4rgsVYZigF2jMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108700},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cli":{"import":"./dist/cli/index.js"},"./ceres":{"types":"./dist/integrations/ceres.d.ts","import":"./dist/integrations/ceres.js"},"./predx":{"types":"./dist/integrations/predx.d.ts","import":"./dist/integrations/predx.js"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/index.js"},"./bridge":{"types":"./dist/integrations/bridge.d.ts","import":"./dist/integrations/bridge.js"},"./bitbyte":{"types":"./dist/integrations/bitbyte.d.ts","import":"./dist/integrations/bitbyte.js"},"./zenonft":{"types":"./dist/integrations/zenonft.d.ts","import":"./dist/integrations/zenonft.js"},"./oxachain":{"types":"./dist/integrations/oxachain.d.ts","import":"./dist/integrations/oxachain.js"},"./cryptchat":{"types":"./dist/integrations/cryptchat.d.ts","import":"./dist/integrations/cryptchat.js"}},"gitHead":"62be19055b2d0bcaf0223569dd8b4b4449431ec3","scripts":{"dev":"tsc --watch","build":"tsc","clean":"rm -rf dist"},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"repository":{"url":"git+https://github.com/sftgroup/white-label.git","type":"git"},"_npmVersion":"10.9.8","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0","@types/node":"^20.0.0","@types/react":"^18.0.0","@zenonft/sdk":"^1.0.1","@bitbytev4/sdk":"^2.0.0","@cryptchat/sdk":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"@0xpredx/sdk":{"optional":true},"@ceresv2/sdk":{"optional":true},"@zenonft/sdk":{"optional":true},"oxachain-sdk":{"optional":true},"@bitbytev4/sdk":{"optional":true},"@cryptchat/sdk":{"optional":true},"@0xaibridge/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/white-label_1.0.1_1786502449105_0.5396720631832719","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@0xainetoem/white-label","version":"1.0.2","description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./react":{"import":"./dist/react/index.js","types":"./dist/react/index.d.ts"},"./cli":{"import":"./dist/cli/index.js"},"./bitbyte":{"import":"./dist/integrations/bitbyte.js","types":"./dist/integrations/bitbyte.d.ts"},"./predx":{"import":"./dist/integrations/predx.js","types":"./dist/integrations/predx.d.ts"},"./ceres":{"import":"./dist/integrations/ceres.js","types":"./dist/integrations/ceres.d.ts"},"./bridge":{"import":"./dist/integrations/bridge.js","types":"./dist/integrations/bridge.d.ts"},"./oxachain":{"import":"./dist/integrations/oxachain.js","types":"./dist/integrations/oxachain.d.ts"},"./cryptchat":{"import":"./dist/integrations/cryptchat.js","types":"./dist/integrations/cryptchat.d.ts"},"./zenonft":{"import":"./dist/integrations/zenonft.js","types":"./dist/integrations/zenonft.d.ts"}},"bin":{"wl":"bin/wl.js"},"scripts":{"build":"tsc","dev":"tsc --watch","clean":"rm -rf dist"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"@bitbytev4/sdk":{"optional":true},"@0xpredx/sdk":{"optional":true},"@ceresv2/sdk":{"optional":true},"@0xaibridge/sdk":{"optional":true},"oxachain-sdk":{"optional":true},"@cryptchat/sdk":{"optional":true},"@zenonft/sdk":{"optional":true}},"devDependencies":{"@bitbytev4/sdk":"^2.0.0","@cryptchat/sdk":"^0.1.1","@types/node":"^20.0.0","@types/react":"^18.0.0","@zenonft/sdk":"^1.0.1","typescript":"^5.0.0"},"keywords":["white-label","branding","web3","0xai"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/sftgroup/white-label.git"},"bugs":{"url":"https://github.com/sftgroup/white-label/issues"},"homepage":"https://github.com/sftgroup/white-label#readme","publishConfig":{"access":"public"},"_id":"@0xainetoem/white-label@1.0.2","gitHead":"98e7f6dd7182e9acf0673229ec6d9d9b19ea8e46","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-L75Xj3WxQChOa4JqijJKNWjsPPaYA/qGGPvHwVePby+JL4+3FXPIvptyTWuIdpBI552A7MuwRYfKZ3JqhXKojg==","shasum":"eeaa600fe8e3851227c4e847bba78ebd4360866c","tarball":"https://registry.npmjs.org/@0xainetoem/white-label/-/white-label-1.0.2.tgz","fileCount":63,"unpackedSize":109265,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCGauukjdEdEUYHRo/RCdl3y8J4S9tEm1rbQ58VTjucGAIhAMHaMyFPLNB2jk3BNBcStfoMb7x2dy9w/eWZQfjPPMXp"}]},"_npmUser":{"name":"stevenwang000x","email":"apply.wang@hotmail.com"},"directories":{},"maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/white-label_1.0.2_1786503277354_0.42064820434735806"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-25T16:53:18.760Z","modified":"2026-08-12T02:54:37.683Z","0.1.0":"2026-07-25T16:53:19.041Z","0.1.1":"2026-07-25T16:54:24.096Z","0.1.2":"2026-07-25T16:59:09.143Z","0.1.3":"2026-07-25T16:59:40.869Z","0.1.4":"2026-07-25T17:01:37.094Z","0.2.0":"2026-07-25T18:21:33.567Z","0.2.1":"2026-07-25T18:35:46.101Z","0.2.2":"2026-07-25T20:49:19.259Z","0.3.0":"2026-07-25T20:58:27.808Z","0.4.0":"2026-07-25T21:09:45.633Z","0.4.1":"2026-07-26T17:04:25.935Z","1.0.0":"2026-07-31T00:22:34.325Z","1.0.1":"2026-08-12T02:40:49.268Z","1.0.2":"2026-08-12T02:54:37.493Z"},"bugs":{"url":"https://github.com/sftgroup/white-label/issues"},"license":"MIT","homepage":"https://github.com/sftgroup/white-label#readme","keywords":["white-label","branding","web3","0xai"],"repository":{"type":"git","url":"git+https://github.com/sftgroup/white-label.git"},"description":"White-label SDK for 0xAI ecosystem — brand injection, CLI deployment, SDK integrations","maintainers":[{"name":"stevenwang000x","email":"apply.wang@hotmail.com"}],"readme":"# @0xainetoem/white-label\n\n> **白标品牌注入 SDK + CLI 部署工具** —— 8 个 0xAI 生态产品的统一白标解决方案。\n\n```bash\nnpm install @0xainetoem/white-label\nnpx wl list\n```\n\n> 📖 **详细使用手册**：[DOCS.md](./DOCS.md) — 架构总览、CI/CD 集成、Nginx 配置、故障排查、产品白标分步指南\n\n---\n\n## 解决的问题\n\n你的客户想要自己的品牌，但部署 8 个独立产品意味着 8 套品牌配置、Nginx 配置、域名、合约部署——每次重复劳动。\n\n`white-label` 做什么：\n\n| 场景 | 传统做法 | 用 white-label |\n|------|---------|---------------|\n| 客户换品牌 | 修改 n 个文件、搜索替换 | 改 `branding.json` 或 `wl setup` |\n| 部署到客户服务器 | SSH 手动复制、手动配 Nginx | `wl deploy <product>` |\n| 部署合约到客户链 | forge 命令记不住参数 | `wl deploy-contracts <product>` |\n| 给 SDK 注入品牌 | 每个产品各自实现 | SDK wrapper 自动注入 |\n| 公链换品牌 | Geth 源码改 6 个文件 | `make build BRANDING_FILE=branding.json` |\n\n---\n\n## 快速开始\n\n### 1. 前端 React 项目接入（3 行）\n\n```tsx\n// 入口文件：main.tsx\nimport { defineBrand, BrandProvider } from '@0xainetoem/white-label/react';\n\n// 自动读取 src/branding.json\nconst brand = defineBrand();\n\ncreateRoot(document.getElementById('root')!).render(\n  <BrandProvider brand={brand}>\n    <App />\n  </BrandProvider>\n);\n```\n\n### 2. 组件内使用品牌\n\n```tsx\nimport { useBrand, BrandLogo } from '@0xainetoem/white-label/react';\n\nfunction Header() {\n  const { brand } = useBrand(); // 自动注入的 BrandConfig\n  return (\n    <header style={{ backgroundColor: brand.colors.primary }}>\n      <BrandLogo variant=\"dark\" className=\"h-8\" />\n      <h1>{brand.name}</h1>\n    </header>\n  );\n}\n```\n\n### 3. 非 React 环境（Node.js / 后端）\n\n```ts\nimport { defineBrand, getBrand } from '@0xainetoem/white-label';\n\ndefineBrand({ brand: { name: 'MyChain', colors: { primary: '#ff6600' } } });\nconst brand = getBrand();\nconsole.log(brand.name); // \"MyChain\"\n```\n\n---\n\n## CLI 命令\n\n### `wl setup` — 一键全流程（推荐）\n\n```bash\n# 进入产品目录后在运行\ncd /home/ubuntu/bitbyte-v4\n\n# 交互式生成品牌配置 + 部署合约 + 构建上传 + Nginx SSL 配置\nwl setup bitbyte \\\n  --name \"ACME DEX\" \\\n  --color \"#ff6600\" \\\n  --server root@1.2.3.4 \\\n  --domain dex.acme.com \\\n  --chain polygon --rpc https://polygon-rpc.com --chain-id 137 \\\n  --key 0x_deployer_private_key\n```\n\n**参数说明**：\n\n| 参数 | 必需 | 说明 |\n|------|:----:|------|\n| `project` | 是 | `bitbyte` `zenonft` `cryptchat` `ceres` `predx` `bridge` `oxachain` |\n| `--name` | 是 | 客户品牌展示名 |\n| `--color` | 是 | 主品牌色（十六进制如 `#ff6600`） |\n| `--server` | 是 | SSH 目标服务器（`root@1.2.3.4`） |\n| `--domain` | 是 | 客户域名 |\n| `--chain` | 否 | 链名（默认 `oxachain`） |\n| `--rpc` | 否 | RPC URL（默认 OxaChain L1） |\n| `--chain-id` | 否 | Chain ID（默认 `19505`） |\n| `--key` | 否 | 合约部署私钥（不提供则跳过合约部署） |\n| `--short-name` | 否 | 简称（默认取 name 前 4 位） |\n| `--logo-dark` | 否 | 深色 Logo URL |\n| `--mode` | 仅 Ceres | `full`（完整白标）/ `light`（仅 DID 合约） |\n\nCeres 特殊参数 `--mode`：\n```bash\n# 完整白标 — 部署全部合约 + 构建前端 + relay\nwl setup ceres --name \"Client\" --mode full --server root@1.2.3.4\n\n# 轻量白标 — 仅部署 DID + Registry 合约，复用 Ceres 品牌\nwl setup ceres --name \"DID Client\" --mode light --rpc <url> --key <pk>\n```\n\n### `wl brand` — 交互式生成 branding.json\n\n```bash\ncd /home/ubuntu/zenonft\nwl brand\n# → 交互式输入：品牌名、简称、主色、Logo URL、域名、邮箱\n# → 生成 ./branding.json\n```\n\n### `wl deploy` — 构建 + 上传\n\n```bash\n# 进入产品目录后在执行\nwl deploy         # 自动检测项目\n\n# 或指定产品\nwl deploy bitbyte --server root@1.2.3.4 --domain dex.acme.com\n\n# 构建流程（因产品而异）：\n#   bitbyte    → 4 个前端 (Max/Flash/Admin/Landing) → rsync\n#   oxachain   → make geth + make docker → ./deploy-l1.sh\n#   cryptchat  → client + server → rsync\n#   predx      → frontend-wagmi → rsync\n#   bridge     → frontend-bridge → rsync\n#   zenonft    → frontend → rsync\n#   ceres      → frontend-v2 → rsync\n```\n\n### `wl deploy-contracts` — 部署智能合约\n\n```bash\n# cryptchat 无合约（共享基础设施），其他 7 个项目都需要\nwl deploy-contracts zenonft --rpc https://rpc.chain.com --key 0x_private_key --verify\n\n# Ceres 特殊模式\nwl deploy-contracts ceres --rpc <url> --key <pk>          # light（默认）\nwl deploy-contracts ceres --rpc <url> --key <pk> --full   # 完整部署\n\n# oxachain 部署 L1 链\nwl deploy-contracts oxachain\n```\n\n部署方式（因产品而异）：\n\n| 产品 | 部署方式 | 合约 |\n|:-----|---------|------|\n| oxachain | `./deploy-l1.sh` | Geth genesis + signer + Docker |\n| bitbyte | `./deploy-contracts.sh` | Factory / Router |\n| predx | Foundry `DeployPredX.s.sol` | PredictionMarket |\n| bridge | `./deploy-contracts.sh` | Bridge contracts |\n| ceres | Foundry | light: DID+Registry / full: 全部 5 合约 |\n| zenonft | `./deploy-contracts.sh` | NFT Marketplace |\n| cryptchat | 无需合约 | — |\n\n### `wl update` — 更新部署\n\n```bash\n# 重新构建 + 重新上传（不覆盖 branding.json 和合约）\nwl update bitbyte --server root@1.2.3.4\n```\n\n### `wl list` — 查看可用产品和当前检测\n\n```bash\nwl list\n\n# 输出:\n#   可白标部署的产品:\n#     bitbyte      — DEX (Flash + Max 双版本)\n#     zenonft      — NFT 市场\n#     ...\n#\n#   ✓ 当前项目: bitbyte\n#     品牌: ACME\n#     链: oxachain (Chain ID: 19505)\n```\n\n---\n\n## branding.json 完整格式\n\n```json\n{\n  \"brand\": {\n    \"name\": \"客户品牌名\",\n    \"shortName\": \"ACME\",\n    \"logo\": {\n      \"dark\": \"https://cdn.客户.com/logo-dark.svg\",\n      \"light\": \"https://cdn.客户.com/logo-light.svg\",\n      \"favicon\": \"https://cdn.客户.com/favicon.ico\"\n    },\n    \"colors\": {\n      \"primary\": \"#ff6600\",\n      \"primaryHover\": \"#e55d00\",\n      \"secondary\": \"#1a1a2e\",\n      \"accent\": \"#00d4aa\"\n    },\n    \"domain\": \"客户.com\",\n    \"contactEmail\": \"support@客户.com\",\n    \"social\": {\n      \"twitter\": \"https://x.com/客户\",\n      \"discord\": \"https://discord.gg/客户\",\n      \"telegram\": \"https://t.me/客户\"\n    }\n  },\n  \"chain\": {\n    \"network\": \"mainnet\",\n    \"rpcUrl\": \"https://rpc.客户.com\",\n    \"chainId\": 8888,\n    \"explorerUrl\": \"https://explorer.客户.com\",\n    \"nativeToken\": \"TICKER\"\n  },\n  \"features\": {\n    \"modules\": [\"swap\", \"perpetual\"],\n    \"enabledChains\": [\"ethereum\", \"bsc\"]\n  }\n}\n```\n\n### 项目特有字段\n\n**OxaChain** 额外字段：\n\n```json\n{\n  \"consensus\": {\n    \"type\": \"clique\",\n    \"period\": 30,\n    \"epoch\": 30000,\n    \"blockRewardWei\": \"0\",\n    \"signerCount\": 7\n  },\n  \"token\": {\n    \"name\": \"MyChain Token\",\n    \"symbol\": \"MCT\",\n    \"decimals\": 18,\n    \"initialAllocWei\": \"100000000000000000000000\"\n  },\n  \"deploy\": {\n    \"imageName\": \"mychain/geth\",\n    \"imageTag\": \"latest\",\n    \"containerPrefix\": \"mychain\",\n    \"networkName\": \"mychain\",\n    \"binaryName\": \"mychain-geth\",\n    \"buildTarget\": \"mychain\"\n  }\n}\n```\n\n**Ceres** 额外字段：\n\n```json\n{\n  \"mode\": \"full\",\n  \"contracts\": {\n    \"deployAll\": true\n  }\n}\n```\n\n轻量模式：\n\n```json\n{\n  \"mode\": \"light\",\n  \"contracts\": {\n    \"deployAll\": false,\n    \"only\": [\"CeresDID\", \"CeresRegistry\"]\n  }\n}\n```\n\n---\n\n## React API\n\n### `BrandProvider`\n\n挂载后自动执行 3 个副作用：\n\n| 副作用 | 说明 |\n|--------|------|\n| CSS 变量注入 | `--brand-primary` `--brand-primary-hover` `--brand-secondary` `--brand-accent` 注入 `:root` |\n| Favicon 替换 | 自动设置 `<link rel=\"icon\">` |\n| Meta 标签替换 | `<title>` + OG:title + Twitter:title + description |\n\n```tsx\nimport { BrandProvider } from '@0xainetoem/white-label/react';\n\n<BrandProvider brand={brand}>\n  <App />\n</BrandProvider>\n```\n\n### `useBrand()`\n\n```tsx\nimport { useBrand } from '@0xainetoem/white-label/react';\n\nfunction Footer() {\n  const { brand } = useBrand(); // BrandConfig\n  return (\n    <footer>\n      <p>© {brand.name}</p>\n      <p>联系: {brand.contactEmail}</p>\n    </footer>\n  );\n}\n```\n\n### `BrandLogo`\n\n```tsx\nimport { BrandLogo } from '@0xainetoem/white-label/react';\n\n// 深色背景用 light 变体\n<BrandLogo variant=\"light\" className=\"h-8\" />\n// 浅色背景用 dark（默认）\n<BrandLogo variant=\"dark\" />\n```\n\n---\n\n## 非 React API\n\n```ts\nimport { defineBrand, getBrand } from '@0xainetoem/white-label';\nimport { injectCSSVars, injectFavicon, injectMeta } from '@0xainetoem/white-label';\n\n// 设置品牌（全局单例）\nconst brand = defineBrand({\n  brand: { name: 'MyBrand', colors: { primary: '#ff6600' } }\n});\n\n// 读取品牌\nconst current = getBrand();\n\n// 手动注入副作用（React 项目由 BrandProvider 自动处理）\ninjectCSSVars(current);   // CSS 变量 → :root\ninjectFavicon(current);   // Favicon → <link>\ninjectMeta(current);      // Meta → <head>\n```\n\n---\n\n## CSS 变量对照表\n\n| CSS 变量 | branding.json 字段 | 默认值 |\n|----------|-------------------|--------|\n| `--brand-primary` | `brand.colors.primary` | `#3b82f6` |\n| `--brand-primary-hover` | `brand.colors.primaryHover` | `#2563eb` |\n| `--brand-secondary` | `brand.colors.secondary` | `#1e293b` |\n| `--brand-accent` | `brand.colors.accent` | `#06b6d4` |\n\nTailwind 中使用：\n\n```css\n/* tailwind.config.js 或 global.css */\n@layer base {\n  :root {\n    --brand-primary: #3b82f6; /* 会被 BrandProvider 覆盖 */\n  }\n}\n```\n\n```tsx\n<div className=\"bg-[var(--brand-primary)] text-white\">\n  Branded Content\n</div>\n```\n\n---\n\n## SDK 集成包装器\n\n7 个产品 SDK 已集成品牌注入包装器：\n\n| 导出路径 | 函数 | 注入 SDK | 方式 |\n|----------|------|---------|------|\n| `@0xainetoem/white-label/oxachain` | `createOxaChainClient()` | `oxachain-sdk` | 原生 `setBrand()` |\n| `@0xainetoem/white-label/bitbyte` | `createBitByteSDK()` | `@bitbytev4/sdk` | 包装对象 `getBrand()` |\n| `@0xainetoem/white-label/predx` | `createPredXClient()` | `@0xpredx/sdk` | 包装对象 `getBrand()` |\n| `@0xainetoem/white-label/ceres` | `createCeresConfig()` | `@ceresv2/sdk` | 配置对象（CeresProvider） |\n| `@0xainetoem/white-label/bridge` | `createBridgeSDK()` | `@0xaibridge/sdk` | 包装对象 `getBrand()` |\n| `@0xainetoem/white-label/cryptchat` | `createCryptChat()` | `@cryptchat/sdk` | 包装对象 `getBrand()` |\n| `@0xainetoem/white-label/zenonft` | `createZenoNFT()` | `@zenonft/sdk` | 包装对象 `getBrand()` |\n\n示例：\n\n```ts\nimport { defineBrand } from '@0xainetoem/white-label';\nimport { createOxaChainClient } from '@0xainetoem/white-label/oxachain';\n\ndefineBrand({ brand: { name: 'MyChain', colors: { primary: '#ff6600' } } });\nconst client = createOxaChainClient({ rpcUrl: 'http://localhost:18545' });\nconsole.log(client.getBrand().name); // \"MyChain\"\n```\n\n> **注意**：这些 SDK 是可选依赖（`peerDependenciesMeta.optional=true`），需项目中额外 `npm install` 对应 SDK 包。如果 SDK 尚未发布到 npm（如 `@0xaibridge/sdk`），SDK 包装器会优雅降级并提示安装。\n\n---\n\n## OxaChain 公链白标（高级用法）\n\nOxaChain 是特殊的白标产品——底层的 Geth 节点也需要品牌化改造。\n\n```bash\n# 生成品牌链配置\nwl setup oxachain \\\n  --name \"Acme Chain\" --color \"#ff6600\" \\\n  --server root@1.2.3.4 --domain acme.io\n\n# 或手动使用 Makefile\nmake build BRANDING_FILE=branding.json\n# → 自动执行 6 项 Geth 源码改造：\n#   1. 原生代币名/符号\n#   2. Chain ID\n#   3. 出块时间 (Clique)\n#   4. 区块奖励（0 = 关闭）\n#   5. 初始代币分配\n#   6. 启动节点 signer 密钥\n\n# 部署 L1 链\n./deploy-l1.sh\n# → 8 步自动化：signer 密钥 → genesis → Docker build → 启动 → 健康检查\n```\n\n自动生成的 Go 源码文件：\n\n```\nbuild/geth-patch/\n├── branding.mk               # Makefile 参数\n├── apply-patch.sh             # 应用到 geth-src\n├── apply-block-reward.py      # 区块奖励注入\n├── oxachain-l1.patch\n└── src/\n    ├── params/{brand}chain_config.go\n    ├── core/{brand}chain_genesis.go\n    └── cmd/utils/{brand}chain_flags.go\n```\n\n---\n\n## Ceres 双模式白标\n\n| 模式 | 场景 | 部署内容 |\n|:----:|------|---------|\n| `full` | 客户全新品牌 | 全部 5 合约（DID+Registry+InviteCore+FeeContract+GoldVault）+ 前端 + Relayer |\n| `light` | 只需自有 DID | 仅 CeresDID + CeresRegistry 合约（前端和品牌复用 Ceres） |\n\n```bash\n# 完整白标\nwl setup ceres --name \"Client\" --mode full \\\n  --server root@1.2.3.4 --domain client.com \\\n  --rpc https://rpc --key 0x_key\n\n# 轻量白标\nwl setup ceres --name \"DID Client\" --mode light \\\n  --rpc https://rpc --key 0x_key\n```\n\n---\n\n## 目录结构\n\n```\nwhite-label/\n├── bin/wl.js                           # CLI 入口\n├── src/\n│   ├── index.ts                        # 主入口（export 核心 API）\n│   ├── types.ts                        # BrandConfig 类型 + defineBrand/getBrand\n│   ├── react/index.tsx                 # BrandProvider / useBrand / BrandLogo\n│   ├── cli/\n│   │   ├── index.ts                    # CLI 全部实现（~540 行）\n│   │   └── types.ts                    # CLI 类型\n│   ├── integrations/\n│   │   ├── bitbyte.ts                  # @bitbytev4/sdk 包装器\n│   │   ├── predx.ts                    # @0xpredx/sdk 包装器\n│   │   ├── ceres.ts                    # @ceresv2/sdk 包装器\n│   │   ├── bridge.ts                   # @0xaibridge/sdk 包装器\n│   │   ├── oxachain.ts                 # oxachain-sdk 包装器\n│   │   ├── cryptchat.ts                # @cryptchat/sdk 包装器\n│   │   └── zenonft.ts                  # @zenonft/sdk 包装器\n│   ├── utils/\n│   │   ├── css-vars.ts                 # CSS 变量注入\n│   │   ├── favicon.ts                  # Favicon 替换\n│   │   └── meta.ts                     # Meta 标签替换\n│   └── templates/\n│       └── branding.json               # branding.json 模板\n├── package.json                        # @0xainetoem/white-label\n├── tsconfig.json                       # TypeScript 配置\n└── README.md\n```\n\n---\n\n## 类型\n\n```ts\nimport type { BrandConfig } from '@0xainetoem/white-label';\n\ninterface BrandConfig {\n  brand: {\n    name: string;\n    shortName: string;\n    logo: {\n      dark: string;    // 深色背景 Logo URL\n      light: string;   // 浅色背景 Logo URL\n      favicon: string; // Favicon URL\n    };\n    colors: {\n      primary: string;       // 主品牌色\n      primaryHover: string;  // Hover 状态色\n      secondary: string;     // 辅助色\n      accent: string;        // 强调色\n    };\n    domain: string;\n    contactEmail: string;\n    social: {\n      twitter: string;\n      discord: string;\n      telegram: string;\n    };\n  };\n  chain: {\n    network: 'mainnet' | 'testnet';\n    rpcUrl: string;\n    chainId: number;\n    explorerUrl: string;\n    nativeToken: string;\n  };\n  features: {\n    modules: string[];\n    enabledChains: string[];\n  };\n}\n```\n\n---\n\n## 发布到 npm\n\n当前版本：**v1.0.2**（已发布）\n\n```bash\nnpm run build                    # TypeScript 编译\nnpm publish                     # 发布 @0xainetoem/white-label\n```\n\n> 注意：`publishConfig.access = \"public\"`（scoped 包需要）。包体积约 27.5 kB（压缩）/ 108.5 kB（解压），共 63 个文件。\n\n---\n\n## 许可证\n\nMIT — 0xAI Ecosystem\n","readmeFilename":"README.md"}