{"_id":"@bnb-chain/bsc-cross-greenfield-sdk","_rev":"7-458f50c223ceb6dade26ac7d294b45bc","name":"@bnb-chain/bsc-cross-greenfield-sdk","dist-tags":{"alpha":"0.0.3-alpha.0","latest":"0.0.3"},"versions":{"0.0.2-alpha.0":{"name":"@bnb-chain/bsc-cross-greenfield-sdk","version":"0.0.2-alpha.0","keywords":["bsc","greenfiled","js-sdk","cross-chain"],"author":"","license":"GPLv3","_id":"@bnb-chain/bsc-cross-greenfield-sdk@0.0.2-alpha.0","maintainers":[{"name":"robot-ux","email":"robot.ux@protonmail.com"}],"homepage":"https://github.com/bnb-chain/greenfield-js-sdk/tree/alpha/packages/js-sdk#readme","bugs":{"url":"https://github.com/bnb-chain/greenfield-js-sdk/issues"},"dist":{"shasum":"7230061599612956cf65742b65ff23d208ff0ecc","tarball":"https://registry.npmjs.org/@bnb-chain/bsc-cross-greenfield-sdk/-/bsc-cross-greenfield-sdk-0.0.2-alpha.0.tgz","fileCount":51,"integrity":"sha512-ZcaOwg3jiwXmZ7tLTE32B+s1Cr9gN4ncL9bnnHNHXMg2Htshb0Y2epyO+e7OWMe3ln1LqkVVRrn+HnIUkK+RuQ==","signatures":[{"sig":"MEUCIQDko7Lzpai3MOLk1ZAxhEmRdLE7aV1ovFChtJtY2HEM2QIgKaVxWpPVMKlM16cDjWSE0kntQOv0HXsokXslskQ7NY4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4436744},"main":"./dist/cjs/index.js","_from":"file:bnb-chain-bsc-cross-greenfield-sdk-0.0.2-alpha.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","browser":{"./dist/cjs/index.js":"./dist/cjs/index.js","./dist/esm/index.js":"./dist/esm/index.js"},"exports":{".":{"import":{"types":"./dist/esm/**.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/**.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"dev":"rollup -cw","lint":"prettier --write './src/*.{ts,tsx,js,jsx}' && eslint ./src/ --ext .js,.jsx,.ts,.tsx --fix","test":"jest --runInBand","build":"rollup -c","predev":"rimraf ./dist","prebuild":"rimraf ./dist"},"_npmUser":{"name":"robot-ux","email":"robot.ux@protonmail.com"},"_resolved":"/tmp/25ded0287334cc8294d52a874c10d8ef/bnb-chain-bsc-cross-greenfield-sdk-0.0.2-alpha.0.tgz","_integrity":"sha512-ZcaOwg3jiwXmZ7tLTE32B+s1Cr9gN4ncL9bnnHNHXMg2Htshb0Y2epyO+e7OWMe3ln1LqkVVRrn+HnIUkK+RuQ==","repository":{"url":"git+https://github.com/bnb-chain/greenfield-js-sdk.git","type":"git","directory":"packages/bsc-cross-sdk"},"_npmVersion":"10.5.0","description":"bsc cross greenfield sdk","directories":{},"_nodeVersion":"18.20.2","browserslist":{"production":["last 2 chrome version","last 2 firefox version","last 2 safari version","last 2 edge version"]},"dependencies":{"long":"^5.2.1","viem":"^2.9.23","@bnb-chain/greenfield-cosmos-types":"0.4.0-alpha.32"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.0","dotenv":"^16.0.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","typescript":"^5.4.5","@types/jest":"^29.5.1","@types/mime":"^3.0.1","@jest/globals":"^29.5.0","@types/xml2js":"^0.4.11","@rollup/plugin-typescript":"^11.1.3"},"_npmOperationalInternal":{"tmp":"tmp/bsc-cross-greenfield-sdk_0.0.2-alpha.0_1714445544123_0.756482678287248","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@bnb-chain/bsc-cross-greenfield-sdk","version":"0.0.2","keywords":["bsc","greenfiled","js-sdk","cross-chain"],"author":"","license":"GPLv3","_id":"@bnb-chain/bsc-cross-greenfield-sdk@0.0.2","maintainers":[{"name":"robot-ux","email":"robot.ux@protonmail.com"}],"homepage":"https://github.com/bnb-chain/greenfield-js-sdk/tree/alpha/packages/js-sdk#readme","bugs":{"url":"https://github.com/bnb-chain/greenfield-js-sdk/issues"},"dist":{"shasum":"522e9928a56140bb53b19ac02b2a71dc268e8ae3","tarball":"https://registry.npmjs.org/@bnb-chain/bsc-cross-greenfield-sdk/-/bsc-cross-greenfield-sdk-0.0.2.tgz","fileCount":51,"integrity":"sha512-KY77YRK0pQ+bG3AVglbct66hh8N/o9+dZCYEVgoaznUzJhLa4M8160xUKr6JFG1427vdhEbooX9DFG9tUqj9eA==","signatures":[{"sig":"MEUCIQC0/ctanfC8VifWZyB88Y5rKWFtDoTjeqcQfWbZh8BS0QIgVxPGY1u9H5StXLXZ8Nl0cJC02mkTyffk0nJCs2J7blk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4436736},"main":"./dist/cjs/index.js","_from":"file:bnb-chain-bsc-cross-greenfield-sdk-0.0.2.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","browser":{"./dist/cjs/index.js":"./dist/cjs/index.js","./dist/esm/index.js":"./dist/esm/index.js"},"exports":{".":{"import":{"types":"./dist/esm/**.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/**.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"dev":"rollup -cw","lint":"prettier --write './src/*.{ts,tsx,js,jsx}' && eslint ./src/ --ext .js,.jsx,.ts,.tsx --fix","test":"jest --runInBand","build":"rollup -c","predev":"rimraf ./dist","prebuild":"rimraf ./dist"},"_npmUser":{"name":"robot-ux","email":"robot.ux@protonmail.com"},"_resolved":"/tmp/990b099f944d90efc3b0df05b3397835/bnb-chain-bsc-cross-greenfield-sdk-0.0.2.tgz","_integrity":"sha512-KY77YRK0pQ+bG3AVglbct66hh8N/o9+dZCYEVgoaznUzJhLa4M8160xUKr6JFG1427vdhEbooX9DFG9tUqj9eA==","repository":{"url":"git+https://github.com/bnb-chain/greenfield-js-sdk.git","type":"git","directory":"packages/bsc-cross-sdk"},"_npmVersion":"10.5.0","description":"bsc cross greenfield sdk","directories":{},"_nodeVersion":"18.20.2","browserslist":{"production":["last 2 chrome version","last 2 firefox version","last 2 safari version","last 2 edge version"]},"dependencies":{"long":"^5.2.1","viem":"^2.9.23","@bnb-chain/greenfield-cosmos-types":"0.4.0-alpha.32"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.0","dotenv":"^16.0.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","typescript":"^5.4.5","@types/jest":"^29.5.1","@types/mime":"^3.0.1","@jest/globals":"^29.5.0","@types/xml2js":"^0.4.11","@rollup/plugin-typescript":"^11.1.3"},"_npmOperationalInternal":{"tmp":"tmp/bsc-cross-greenfield-sdk_0.0.2_1714447975307_0.7947919881629169","host":"s3://npm-registry-packages"}},"0.0.3-alpha.0":{"name":"@bnb-chain/bsc-cross-greenfield-sdk","version":"0.0.3-alpha.0","keywords":["bsc","greenfiled","js-sdk","cross-chain"],"author":"","license":"GPLv3","_id":"@bnb-chain/bsc-cross-greenfield-sdk@0.0.3-alpha.0","maintainers":[{"name":"robot-ux","email":"robot.ux@protonmail.com"}],"homepage":"https://github.com/bnb-chain/greenfield-js-sdk/tree/alpha/packages/js-sdk#readme","bugs":{"url":"https://github.com/bnb-chain/greenfield-js-sdk/issues"},"dist":{"shasum":"b4e429a170afb5dadc06aaad3a4655921c21cbbf","tarball":"https://registry.npmjs.org/@bnb-chain/bsc-cross-greenfield-sdk/-/bsc-cross-greenfield-sdk-0.0.3-alpha.0.tgz","fileCount":51,"integrity":"sha512-qQ5aUGAwUdTiUZSMK18S/dUcWaJFhaT0Iasi3BcL6YNSWYFiCDmVl+rxmQrBsvKzRitgyHmjB0ny3Rk67jR4Sw==","signatures":[{"sig":"MEUCIQC16uOTtsBkmxGgvpOp3wV0Fl14E4X8MQb9L91WrZcdmAIgV45VcGHX4pOz5MN0re9vh4PPQPo3YBefJrUZrZWrz90=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4436744},"main":"./dist/cjs/index.js","_from":"file:bnb-chain-bsc-cross-greenfield-sdk-0.0.3-alpha.0.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","readme":"# BSC Cross greenfield SDK\n\n## Install\n\n```bash\nnpm install @bnb-chain/bsc-cross-greenfield-sdk\n```\n\n## Usage Examples\n\n### Local Account\n\n> A Local Account performs signing of transactions & messages with a private key before executing a method over JSON-RPC.\n\n#### Executor\n\n```js\nimport {CrossChainClient, ExecutorClient, ExecutorMsg} from '@bnb-chain/bsc-cross-greenfield-sdk'\nimport {privateKeyToAccount} from 'viem'\n\nconst privateKey = ...\nconst CrossChainAddress = ...\nconst ExecutorAddress = ...\n\nconst account = privateKeyToAccount(privateKey);\nconst config = {\n  // 'testnet' | 'mainnet'\n  chainConfig: 'testnet',\n  accountConfig: {\n    privateKey: privateKey,\n  },\n};\n\nconst crossChainClient = new CrossChainClient(config, CrossChainAddress);\nconst executorClient = new ExecutorClient(config, ExecutorAddress);\n\n;(async => {\n  const { relayFee } = await crossChainClient.getRelayFee();\n  const params = ExecutorMsg.getCreatePaymentAccountParams({\n    creator: account.address,\n  });\n\n  const txHash = await executorClient.execute([params], { relayFee });\n})()\n```\n\n#### MultiMessage\n\n```js\nimport {CrossChainClient, MultiMessageClient} from '@bnb-chain/bsc-cross-greenfield-sdk'\n\nconst privateKey = ...\nconst CrossChainAddress = ...\nconst MultiMessageAddress = ...\n\nconst account = privateKeyToAccount(privateKey);\n\nconst crossChainClient = new CrossChainClient(CrossChainAddress);\nconst multiMsgClient = new MultiMessageClient(ACCOUNT_PRIVATEKEY, MultiMessageAddress, {\n  bucketHubAddress: ...,\n  objectHubAddress: ...,\n  groupHubAddress: ...,\n  permissionHubAddress: ...,\n  tokenHubAddress: ...,\n});\n\n;(async => {\n  const { relayFee, minAckRelayFee } = await crossChainClient.getRelayFee();\n\n  const args = mutliMsgClient.createBucket(\n    {\n      name: 'testBucketName',\n      chargedReadQuota: BigInt(11),\n      creator: account.address,\n      visibility: 1,\n      paymentAddress: account.address,\n      primarySpAddress: '0xd142052d8c0881fc7485c1270c3510bc442e05dd',\n      primarySpApprovalExpiredHeight: BigInt(0),\n      globalVirtualGroupFamilyId: 1,\n      primarySpSignature: '0x',\n      extraData: '0x',\n    },\n    {\n      sender: account.address,\n      minAckRelayFee,\n      relayFee,\n    },\n  );\n\n  const txHash = await mutliMsgClient.sendMessages([args]);\n})()\n```\n\n### JSON-RPC Account\n\n> A JSON-RPC Account defers signing of transactions & messages to the target Wallet over JSON-RPC. An example could be sending a transaction via a Browser Extension Wallet (e.g. MetaMask) with the `window.ethereum` Provider.\n\n[Example](https://github.com/bnb-chain/greenfield-js-sdk/blob/60bdc913abd9bbcf1053d01259d006744b4da6d5/examples/nextjs/src/components/cross/index.tsx)\n\n#### Executor\n\n```js\nimport { CrossChainClient, ExecutorClient, ExecutorMsg} from '@bnb-chain/bsc-cross-greenfield-sdk';\n\nconst CROSSCHAIN_ADDRESS = ...\n\nconst config = {\n  chainConfig: 'testnet',\n  accountConfig: {\n    address,\n    ethereumProvider: window.ethereum,\n  },\n};\n\nconst crossChainClient = new CrossChainClient(config, CROSSCHAIN_ADDRESS);\nconst executorClient = new ExecutorClient(config, EXECUTOR_ADDRESS);\n\n;(async () => {\n  const { relayFee, minAckRelayFee } = await crossChainClient.getRelayFee();\n\n  const params = ExecutorMsg.getCreatePaymentAccountParams({\n    creator: address,\n  });\n\n  const txHash = await executorClient.execute([params], { relayFee });\n})()\n```\n\n#### MultiMessage\n\n```js\nimport {\n  CrossChainClient,\n  MultiMessageClient,\n} from '@bnb-chain/bsc-cross-greenfield-sdk';\n\nconst crossChainClient = new CrossChainClient(config, CROSSCHAIN_ADDRESS);\n\nconst mutliMsgClient = new MultiMessageClient(config, MULTIMESSAGE_ADDRESS, {\n  bucketHubAddress: ...,\n  objectHubAddress: ...,\n  groupHubAddress: ...,\n  permissionHubAddress: ...,\n  tokenHubAddress: ...,\n});\n\nconst args = mutliMsgClient.deleteBucket(\n  {\n    id: BigInt(180013),\n  },\n  {\n    sender: address,\n    minAckRelayFee,\n    relayFee,\n  },\n);\n\n;(async () => {\n  const { relayFee, minAckRelayFee } = await crossChainClient.getRelayFee();\n\n  const txHash = await mutliMsgClient.sendMessages([args]);\n})()\n```\n","browser":{"./dist/cjs/index.js":"./dist/cjs/index.js","./dist/esm/index.js":"./dist/esm/index.js"},"exports":{".":{"import":{"types":"./dist/esm/**.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/**.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"dev":"rollup -cw","lint":"prettier --write './src/*.{ts,tsx,js,jsx}' && eslint ./src/ --ext .js,.jsx,.ts,.tsx --fix","test":"jest --runInBand","build":"rollup -c","predev":"rimraf ./dist","prebuild":"rimraf ./dist"},"_npmUser":{"name":"robot-ux","email":"robot.ux@protonmail.com"},"_resolved":"/tmp/883eddc1313429a285629de8ce988391/bnb-chain-bsc-cross-greenfield-sdk-0.0.3-alpha.0.tgz","_integrity":"sha512-qQ5aUGAwUdTiUZSMK18S/dUcWaJFhaT0Iasi3BcL6YNSWYFiCDmVl+rxmQrBsvKzRitgyHmjB0ny3Rk67jR4Sw==","repository":{"url":"git+https://github.com/bnb-chain/greenfield-js-sdk.git","type":"git","directory":"packages/bsc-cross-sdk"},"_npmVersion":"10.5.0","description":"bsc cross greenfield sdk","directories":{},"_nodeVersion":"18.20.2","browserslist":{"production":["last 2 chrome version","last 2 firefox version","last 2 safari version","last 2 edge version"]},"dependencies":{"long":"^5.2.1","viem":"^2.9.23","@bnb-chain/greenfield-cosmos-types":"0.4.0-alpha.32"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","tslib":"^2.5.0","dotenv":"^16.0.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","typescript":"^5.4.5","@types/jest":"^29.5.1","@types/mime":"^3.0.1","@jest/globals":"^29.5.0","@types/xml2js":"^0.4.11","@rollup/plugin-typescript":"^11.1.3"},"_npmOperationalInternal":{"tmp":"tmp/bsc-cross-greenfield-sdk_0.0.3-alpha.0_1716866836188_0.39234844623663623","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@bnb-chain/bsc-cross-greenfield-sdk","version":"0.0.3","keywords":["bsc","greenfiled","js-sdk","cross-chain"],"author":"","license":"GPLv3","_id":"@bnb-chain/bsc-cross-greenfield-sdk@0.0.3","homepage":"https://github.com/bnb-chain/greenfield-js-sdk/tree/alpha/packages/js-sdk#readme","bugs":{"url":"https://github.com/bnb-chain/greenfield-js-sdk/issues"},"dist":{"shasum":"2813bb11f24086a2dade9929c12ff817f324af13","tarball":"https://registry.npmjs.org/@bnb-chain/bsc-cross-greenfield-sdk/-/bsc-cross-greenfield-sdk-0.0.3.tgz","fileCount":51,"integrity":"sha512-We4nti+SVpfBqli06IvQjoCD7BWqyMM+EPYerhSEqub7NEp5Sk2q/583x/u96gHiKhE4Sizq2ZvpX4Xpr5BqVg==","signatures":[{"sig":"MEQCIGYJLPpvwg03LA2X7WjPmBKdB6uHfCkpwFX+/zm30KK0AiB/o86gqfdfDfyg/GkoVSx3jxc5y57c+YorI6e9Fz760g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4436736},"main":"./dist/cjs/index.js","_from":"file:bnb-chain-bsc-cross-greenfield-sdk-0.0.3.tgz","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","browser":{"./dist/cjs/index.js":"./dist/cjs/index.js","./dist/esm/index.js":"./dist/esm/index.js"},"exports":{".":{"import":{"types":"./dist/esm/**.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/cjs/types/**.d.ts","default":"./dist/cjs/index.js"}}},"scripts":{"dev":"rollup -cw","lint":"prettier --write './src/*.{ts,tsx,js,jsx}' && eslint ./src/ --ext .js,.jsx,.ts,.tsx --fix","test":"jest --runInBand","build":"rollup -c","predev":"rimraf ./dist","prebuild":"rimraf ./dist"},"_npmUser":{"name":"robot-ux","email":"robot.ux@protonmail.com"},"_resolved":"/tmp/b69cf8fdae0b306eb45d2ec00fb067ed/bnb-chain-bsc-cross-greenfield-sdk-0.0.3.tgz","_integrity":"sha512-We4nti+SVpfBqli06IvQjoCD7BWqyMM+EPYerhSEqub7NEp5Sk2q/583x/u96gHiKhE4Sizq2ZvpX4Xpr5BqVg==","repository":{"url":"git+https://github.com/bnb-chain/greenfield-js-sdk.git","type":"git","directory":"packages/bsc-cross-sdk"},"_npmVersion":"10.5.0","description":"bsc cross greenfield sdk","directories":{},"_nodeVersion":"18.20.2","browserslist":{"production":["last 2 chrome version","last 2 firefox version","last 2 safari version","last 2 edge version"]},"dependencies":{"long":"^5.2.1","viem":"^2.9.23","@bnb-chain/greenfield-cosmos-types":"0.4.0-alpha.32"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.0","dotenv":"^16.0.3","ts-jest":"^29.1.0","ts-node":"^10.9.1","typescript":"^5.4.5","@types/jest":"^29.5.1","@types/mime":"^3.0.1","@jest/globals":"^29.5.0","@types/xml2js":"^0.4.11","@rollup/plugin-typescript":"^11.1.3"},"_npmOperationalInternal":{"tmp":"tmp/bsc-cross-greenfield-sdk_0.0.3_1719818630923_0.6481533429902642","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-04-30T02:52:23.991Z","modified":"2026-01-07T06:47:07.838Z","0.0.2-alpha.0":"2024-04-30T02:52:24.343Z","0.0.2":"2024-04-30T03:32:55.582Z","0.0.3-alpha.0":"2024-05-28T03:27:16.360Z","0.0.3":"2024-07-01T07:23:51.151Z"},"bugs":{"url":"https://github.com/bnb-chain/greenfield-js-sdk/issues"},"license":"GPLv3","homepage":"https://github.com/bnb-chain/greenfield-js-sdk/tree/alpha/packages/js-sdk#readme","keywords":["bsc","greenfiled","js-sdk","cross-chain"],"repository":{"url":"git+https://github.com/bnb-chain/greenfield-js-sdk.git","type":"git","directory":"packages/bsc-cross-sdk"},"description":"bsc cross greenfield sdk","maintainers":[{"email":"robot.ux@protonmail.com","name":"robotnpm"},{"email":"devin@nodereal.io","name":"devinxiang"},{"email":"aiden.c@nodereal.io","name":"aiden-cao"},{"email":"yolin@bnbchain.org","name":"robotbnb"}],"readme":"# BSC Cross greenfield SDK\n\n## Install\n\n```bash\nnpm install @bnb-chain/bsc-cross-greenfield-sdk\n```\n\n## Usage Examples\n\n### Local Account\n\n> A Local Account performs signing of transactions & messages with a private key before executing a method over JSON-RPC.\n\n#### Executor\n\n```js\nimport {CrossChainClient, ExecutorClient, ExecutorMsg} from '@bnb-chain/bsc-cross-greenfield-sdk'\nimport {privateKeyToAccount} from 'viem'\n\nconst privateKey = ...\nconst CrossChainAddress = ...\nconst ExecutorAddress = ...\n\nconst account = privateKeyToAccount(privateKey);\nconst config = {\n  // 'testnet' | 'mainnet'\n  chainConfig: 'testnet',\n  accountConfig: {\n    privateKey: privateKey,\n  },\n};\n\nconst crossChainClient = new CrossChainClient(config, CrossChainAddress);\nconst executorClient = new ExecutorClient(config, ExecutorAddress);\n\n;(async => {\n  const { relayFee } = await crossChainClient.getRelayFee();\n  const params = ExecutorMsg.getCreatePaymentAccountParams({\n    creator: account.address,\n  });\n\n  const txHash = await executorClient.execute([params], { relayFee });\n})()\n```\n\n#### MultiMessage\n\n```js\nimport {CrossChainClient, MultiMessageClient} from '@bnb-chain/bsc-cross-greenfield-sdk'\n\nconst privateKey = ...\nconst CrossChainAddress = ...\nconst MultiMessageAddress = ...\n\nconst account = privateKeyToAccount(privateKey);\n\nconst crossChainClient = new CrossChainClient(CrossChainAddress);\nconst multiMsgClient = new MultiMessageClient(ACCOUNT_PRIVATEKEY, MultiMessageAddress, {\n  bucketHubAddress: ...,\n  objectHubAddress: ...,\n  groupHubAddress: ...,\n  permissionHubAddress: ...,\n  tokenHubAddress: ...,\n});\n\n;(async => {\n  const { relayFee, minAckRelayFee } = await crossChainClient.getRelayFee();\n\n  const args = mutliMsgClient.createBucket(\n    {\n      name: 'testBucketName',\n      chargedReadQuota: BigInt(11),\n      creator: account.address,\n      visibility: 1,\n      paymentAddress: account.address,\n      primarySpAddress: '0xd142052d8c0881fc7485c1270c3510bc442e05dd',\n      primarySpApprovalExpiredHeight: BigInt(0),\n      globalVirtualGroupFamilyId: 1,\n      primarySpSignature: '0x',\n      extraData: '0x',\n    },\n    {\n      sender: account.address,\n      minAckRelayFee,\n      relayFee,\n    },\n  );\n\n  const txHash = await mutliMsgClient.sendMessages([args]);\n})()\n```\n\n### JSON-RPC Account\n\n> A JSON-RPC Account defers signing of transactions & messages to the target Wallet over JSON-RPC. An example could be sending a transaction via a Browser Extension Wallet (e.g. MetaMask) with the `window.ethereum` Provider.\n\n[Example](https://github.com/bnb-chain/greenfield-js-sdk/blob/60bdc913abd9bbcf1053d01259d006744b4da6d5/examples/nextjs/src/components/cross/index.tsx)\n\n#### Executor\n\n```js\nimport { CrossChainClient, ExecutorClient, ExecutorMsg} from '@bnb-chain/bsc-cross-greenfield-sdk';\n\nconst CROSSCHAIN_ADDRESS = ...\n\nconst config = {\n  chainConfig: 'testnet',\n  accountConfig: {\n    address,\n    ethereumProvider: window.ethereum,\n  },\n};\n\nconst crossChainClient = new CrossChainClient(config, CROSSCHAIN_ADDRESS);\nconst executorClient = new ExecutorClient(config, EXECUTOR_ADDRESS);\n\n;(async () => {\n  const { relayFee, minAckRelayFee } = await crossChainClient.getRelayFee();\n\n  const params = ExecutorMsg.getCreatePaymentAccountParams({\n    creator: address,\n  });\n\n  const txHash = await executorClient.execute([params], { relayFee });\n})()\n```\n\n#### MultiMessage\n\n```js\nimport {\n  CrossChainClient,\n  MultiMessageClient,\n} from '@bnb-chain/bsc-cross-greenfield-sdk';\n\nconst crossChainClient = new CrossChainClient(config, CROSSCHAIN_ADDRESS);\n\nconst mutliMsgClient = new MultiMessageClient(config, MULTIMESSAGE_ADDRESS, {\n  bucketHubAddress: ...,\n  objectHubAddress: ...,\n  groupHubAddress: ...,\n  permissionHubAddress: ...,\n  tokenHubAddress: ...,\n});\n\nconst args = mutliMsgClient.deleteBucket(\n  {\n    id: BigInt(180013),\n  },\n  {\n    sender: address,\n    minAckRelayFee,\n    relayFee,\n  },\n);\n\n;(async () => {\n  const { relayFee, minAckRelayFee } = await crossChainClient.getRelayFee();\n\n  const txHash = await mutliMsgClient.sendMessages([args]);\n})()\n```\n","readmeFilename":"README.md"}