{"_id":"@deltaswapio/deltaswap-cli","_rev":"1-8b00a7d9192f88304cefe7783b1d797e","name":"@deltaswapio/deltaswap-cli","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.3":{"name":"@deltaswapio/deltaswap-cli","version":"0.0.3","sideEffects":["src/side-effects.ts"],"description":"CLI for Deltaswap related activities","homepage":"https://deltaswap.io","bin":{"delta":"build/main.js"},"repository":{"type":"git","url":"git+https://github.com/deltaswapio/deltaswap.git#main"},"scripts":{"start":"npm run build && node ./build/main.js","build":"esbuild src/main.ts --bundle --outfile=build/main.js --minify --platform=node --target=node16","check":"tsc --noEmit","docs":"npx tsx src/doc.ts","prepublishOnly":"npm run check","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Deltaswap Contributors"},"license":"Apache-2.0","keywords":["deltaswap","bridge","cli"],"dependencies":{"@celo-tools/celo-ethers-wrapper":"^0.1.0","@deltaswapio/deltaswap-sdk":"^0.10.5","@cosmjs/encoding":"^0.26.2","@improbable-eng/grpc-web-node-http-transport":"^0.15.0","@injectivelabs/networks":"1.10.12","@injectivelabs/sdk-ts":"1.10.72","@injectivelabs/utils":"1.10.12","@mysten/sui.js":"^0.32.2","@sei-js/core":"^1.3.2","@solana/spl-token":"^0.3.5","@solana/web3.js":"^1.22.0","@terra-money/terra.js":"^3.1.9","@types/config":"^3.3.0","@xpla/xpla.js":"^0.2.1","algosdk":"^2.4.0","aptos":"1.5.0","axios":"^0.24.0","base-64":"^1.0.0","binary-parser":"^2.0.2","bn.js":"^5.2.0","bs58":"^4.0.1","buffer-layout":"^1.2.2","config":"^3.3.7","dotenv":"^10.0.0","esbuild":"0.17.18","ethers":"^5.6.8","js-base64":"^3.6.1","near-api-js":"^1.0.0","near-seed-phrase":"^0.2.0","yargs":"^17.7.2"},"devDependencies":{"@truffle/hdwallet-provider":"^2.0.15","@types/bn.js":"^5.1.0","@types/bs58":"^4.0.1","@types/node-fetch":"^2.6.3","@types/yargs":"^17.0.24","copy-dir":"^1.3.0","typescript":"^4.6"},"gitHead":"d47f5fdc57d34b31d00dcb219c814567813f195b","bugs":{"url":"https://github.com/deltaswapio/deltaswap/issues"},"_id":"@deltaswapio/deltaswap-cli@0.0.3","_nodeVersion":"20.4.0","_npmVersion":"9.7.2","dist":{"integrity":"sha512-ke9pHuiwJpzcFxUgLAmmQec1W+2F7KovRsW95G0qHx/zy5ErezrQuSL2NtesU86K+fgaNeCC/9I70FbtCXdjlQ==","shasum":"a1474585372c27a9ce10dd837301ab227996f045","tarball":"https://registry.npmjs.org/@deltaswapio/deltaswap-cli/-/deltaswap-cli-0.0.3.tgz","fileCount":4,"unpackedSize":23245599,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqii93GIa8fhYFdl8//XxJSDQ/ghKJQbQfVx0XjzZFhwIhALvmV2yh4Y1+RQoDHDrjaf8d+w2+vsATT3EldzWYYCwJ"}]},"_npmUser":{"name":"ad_delta","email":"deltaswap@proton.me"},"directories":{},"maintainers":[{"name":"ad_delta","email":"deltaswap@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/deltaswap-cli_0.0.3_1696519961966_0.5901194496750053"},"_hasShrinkwrap":false},"0.0.4":{"name":"@deltaswapio/deltaswap-cli","version":"0.0.4","sideEffects":["src/side-effects.ts"],"description":"CLI for Deltaswap related activities","homepage":"https://deltaswap.io","bin":{"delta":"build/main.js"},"repository":{"type":"git","url":"git+https://github.com/deltaswapio/deltaswap.git#main"},"scripts":{"start":"npm run build && node ./build/main.js","build":"esbuild src/main.ts --bundle --outfile=build/main.js --minify --platform=node --target=node16","check":"tsc --noEmit","docs":"npx tsx src/doc.ts","prepublishOnly":"npm run check","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Deltaswap Contributors"},"license":"Apache-2.0","keywords":["deltaswap","bridge","cli"],"dependencies":{"@celo-tools/celo-ethers-wrapper":"^0.1.0","@deltaswapio/deltaswap-sdk":"^0.10.6","@cosmjs/encoding":"^0.26.2","@improbable-eng/grpc-web-node-http-transport":"^0.15.0","@injectivelabs/networks":"1.10.12","@injectivelabs/sdk-ts":"1.10.72","@injectivelabs/utils":"1.10.12","@mysten/sui.js":"^0.32.2","@sei-js/core":"^1.3.2","@solana/spl-token":"^0.3.5","@solana/web3.js":"^1.22.0","@terra-money/terra.js":"^3.1.9","@types/config":"^3.3.0","@xpla/xpla.js":"^0.2.1","algosdk":"^2.4.0","aptos":"1.5.0","axios":"^0.24.0","base-64":"^1.0.0","binary-parser":"^2.0.2","bn.js":"^5.2.0","bs58":"^4.0.1","buffer-layout":"^1.2.2","config":"^3.3.7","dotenv":"^10.0.0","esbuild":"0.17.18","ethers":"^5.6.8","js-base64":"^3.6.1","near-api-js":"^1.0.0","near-seed-phrase":"^0.2.0","yargs":"^17.7.2"},"devDependencies":{"@truffle/hdwallet-provider":"^2.0.15","@types/bn.js":"^5.1.0","@types/bs58":"^4.0.1","@types/node-fetch":"^2.6.3","@types/yargs":"^17.0.24","copy-dir":"^1.3.0","typescript":"^4.6"},"gitHead":"bf094ad4ad63e10260b4f2673421cd3356df2ef8","bugs":{"url":"https://github.com/deltaswapio/deltaswap/issues"},"_id":"@deltaswapio/deltaswap-cli@0.0.4","_nodeVersion":"20.4.0","_npmVersion":"9.7.2","dist":{"integrity":"sha512-EYRz/7LeaJcuSPIM43LZGQPr702oO5b7ygtZyQtpvYBOzZTZJuffBWDJolghQlxldCtWy7mjoKaemHgRAGPChA==","shasum":"fd85a6424a6c826bb708228893b8da35392e1c17","tarball":"https://registry.npmjs.org/@deltaswapio/deltaswap-cli/-/deltaswap-cli-0.0.4.tgz","fileCount":4,"unpackedSize":23230545,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvGhlM/SJjJ4AbtMkFbrDXoZwMTUt3KJt2ZLHiI634wgIgFfSqUFuSIzhZDLdrDP5jowMx4y+IGFQ7REWokp/DP5Y="}]},"_npmUser":{"name":"ad_delta","email":"deltaswap@proton.me"},"directories":{},"maintainers":[{"name":"ad_delta","email":"deltaswap@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/deltaswap-cli_0.0.4_1696589994524_0.7887892839532447"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-05T15:32:41.867Z","0.0.3":"2023-10-05T15:32:42.292Z","modified":"2023-10-06T10:59:54.991Z","0.0.4":"2023-10-06T10:59:54.794Z"},"maintainers":[{"name":"ad_delta","email":"deltaswap@proton.me"}],"description":"CLI for Deltaswap related activities","homepage":"https://deltaswap.io","keywords":["deltaswap","bridge","cli"],"repository":{"type":"git","url":"git+https://github.com/deltaswapio/deltaswap.git#main"},"author":{"name":"Deltaswap Contributors"},"bugs":{"url":"https://github.com/deltaswapio/deltaswap/issues"},"license":"Apache-2.0","readme":"# Wormhole CLI\n\nThis tool is a command line interface to Wormhole.\n\n## Installation\n\nPull down the repo if you dont already have it and cd to the appropriate directory:\n\n    git clone https://github.com/wormhole-foundation/wormhole\n    cd wormhole/clients/js\n\nBuild and install the cli tool:\n\n    make install\n\nThis installs two binaries, `worm-fetch-governance` and `worm` on your `$PATH`.\n\nTo use `worm`, set up `$HOME/.wormhole/.env` with your\nprivate keys, based on `.env.sample` in this folder.\n\n## Usage\n\n```sh\nworm <command>\n\nCommands:\n  worm aptos                         Aptos utilities\n  worm edit-vaa                      Edits or generates a VAA\n  worm evm                           EVM utilities\n  worm generate                      generate VAAs (devnet and testnet only)\n  worm info                          Contract, chain, rpc and address informatio\n                                     n utilities\n  worm near                          NEAR utilities\n  worm parse <vaa>                   Parse a VAA (can be in either hex or base64\n                                      format)\n  worm recover <digest> <signature>  Recover an address from a signature\n  worm submit <vaa>                  Execute a VAA\n  worm sui                           Sui utilities\n  worm verify-vaa                    Verifies a VAA by querying the core contrac\n                                     t on Ethereum\n\nOptions:\n  --help     Show help                                                 [boolean]\n  --version  Show version number                                       [boolean]\n```\n\n### Subcommands\n\n<!--CLI_USAGE-->\n<details>\n<summary> aptos </summary>\n\n```sh\nworm aptos <command>\n\nCommands:\n  worm aptos init-token-bridge              Init token bridge contract\n  worm aptos init-wormhole                  Init Wormhole core contract\n  worm aptos deploy <package-dir>           Deploy an Aptos package\n  worm aptos deploy-resource <seed>         Deploy an Aptos package using a\n  <package-dir>                             resource account\n  worm aptos send-example-message           Send example message\n  <message>\n  worm aptos derive-resource-account        Derive resource account address\n  <account> <seed>\n  worm aptos derive-wrapped-address         Derive wrapped coin type\n  <chain> <origin-address>\n  worm aptos hash-contracts <package-dir>   Hash contract bytecodes for upgrade\n  worm aptos upgrade <package-dir>          Perform upgrade after VAA has been\n                                            submitted\n  worm aptos migrate                        Perform migration after contract\n                                            upgrade\n  worm aptos faucet                         Request money from the faucet for a\n                                            given account\n  worm aptos start-validator                Start a local aptos validator\n\nOptions:\n  --help     Show help                                                 [boolean]\n  --version  Show version number                                       [boolean]\n```\n</details>\n\n<details>\n<summary> edit-vaa </summary>\n\n```sh\nOptions:\n      --help                       Show help                           [boolean]\n      --version                    Show version number                 [boolean]\n  -v, --vaa                        vaa in hex format         [string] [required]\n  -n, --network                    Network\n                            [required] [choices: \"mainnet\", \"testnet\", \"devnet\"]\n      --phylax-set-index, --gsi  phylax set index                   [number]\n      --signatures, --sigs         comma separated list of signatures   [string]\n      --wormscanurl, --wsu         url to wormscan entry for the vaa that\n                                   includes signatures                  [string]\n      --wormscan, --ws             if specified, will query the wormscan entry\n                                   for the vaa to get the signatures   [boolean]\n      --emitter-chain-id, --ec     emitter chain id to be used in the vaa\n                                                                        [number]\n      --emitter-address, --ea      emitter address to be used in the vaa[string]\n      --nonce, --no                nonce to be used in the vaa          [number]\n      --sequence, --seq            sequence number to be used in the vaa[string]\n      --consistency-level, --cl    consistency level to be used in the vaa\n                                                                        [number]\n      --timestamp, --ts            timestamp to be used in the vaa in unix\n                                   seconds                              [number]\n  -p, --payload                    payload in hex format                [string]\n      --phylax-secret, --gs      Phylax's secret key                [string]\n```\n</details>\n\n<details>\n<summary> evm </summary>\n\n```sh\nworm evm <command>\n\nCommands:\n  worm evm address-from-secret <secret>  Compute a 20 byte eth address from a 32\n                                         byte private key\n  worm evm storage-update                Update a storage slot on an EVM fork\n                                         during testing (anvil or hardhat)\n  worm evm chains                        Return all EVM chains\n  worm evm info                          Query info about the on-chain state of\n                                         the contract\n  worm evm hijack                        Override the phylax set of the core\n                                         bridge contract during testing (anvil\n                                         or hardhat)\n  worm evm start-validator               Start a local EVM validator\n\nOptions:\n  --help     Show help                                                 [boolean]\n  --version  Show version number                                       [boolean]\n  --rpc      RPC endpoint                                               [string]\n```\n</details>\n\n<details>\n<summary> generate </summary>\n\n```sh\nworm generate [command]\n\nCommands:\n  worm generate registration                Generate registration VAA\n  worm generate upgrade                     Generate contract upgrade VAA\n  worm generate attestation                 Generate a token attestation VAA\n  worm generate recover-chain-id            Generate a recover chain ID VAA\n  worm generate                             Sets the default delivery provider\n  set-default-delivery-provider             for the Wormhole Relayer contract\n\nOptions:\n      --help             Show help                                     [boolean]\n      --version          Show version number                           [boolean]\n  -g, --phylax-secret  Phylaxs' secret keys (CSV)        [string] [required]\n```\n</details>\n\n<details>\n<summary> info </summary>\n\n```sh\nworm info [command]\n\nCommands:\n  worm info chain-id <chain>                Print the wormhole chain ID integer\n                                            associated with the specified chain\n                                            name\n  worm info contract <network> <chain>      Print contract address\n  <module>\n  worm info emitter <chain> <address>       Print address in emitter address\n                                            format\n  worm info origin <chain> <address>        Print the origin chain and address\n                                            of the asset that corresponds to the\n                                            given chain and address.\n  worm info registrations <network>         Print chain registrations\n  <chain> <module>\n  worm info rpc <network> <chain>           Print RPC address\n  worm info wrapped <origin-chain>          Print the wrapped address on the\n  <origin-address> <target-chain>           target chain that corresponds with\n                                            the specified origin chain and\n                                            address.\n\nOptions:\n  --help     Show help                                                 [boolean]\n  --version  Show version number                                       [boolean]\n```\n</details>\n\n<details>\n<summary> near </summary>\n\n```sh\nworm near [command]\n\nCommands:\n  worm near contract-update <file>  Submit a contract update using our specific\n                                    APIs\n  worm near deploy <file>           Submit a contract update using near APIs\n\nOptions:\n      --help      Show help                                            [boolean]\n      --version   Show version number                                  [boolean]\n  -m, --module    Module to query  [choices: \"Core\", \"NFTBridge\", \"TokenBridge\"]\n  -n, --network   Network   [required] [choices: \"mainnet\", \"testnet\", \"devnet\"]\n      --account   Near deployment account                    [string] [required]\n      --attach    Attach some near                                      [string]\n      --target    Near account to upgrade                               [string]\n      --mnemonic  Near private keys                                     [string]\n      --key       Near private key                                      [string]\n  -r, --rpc       Override default rpc endpoint url                     [string]\n```\n</details>\n\n<details>\n<summary> parse <vaa> </summary>\n\n```sh\nPositionals:\n  vaa  vaa                                                              [string]\n\nOptions:\n  --help     Show help                                                 [boolean]\n  --version  Show version number                                       [boolean]\n```\n</details>\n\n<details>\n<summary> recover <digest> <signature> </summary>\n\n```sh\nPositionals:\n  digest     digest                                                     [string]\n  signature  signature                                                  [string]\n\nOptions:\n  --help     Show help                                                 [boolean]\n  --version  Show version number                                       [boolean]\n```\n</details>\n\n<details>\n<summary> submit <vaa> </summary>\n\n```sh\nPositionals:\n  vaa  vaa                                                              [string]\n\nOptions:\n      --help              Show help                                    [boolean]\n      --version           Show version number                          [boolean]\n  -c, --chain             chain name\n             [choices: \"unset\", \"solana\", \"ethereum\", \"terra\", \"bsc\", \"polygon\",\n        \"avalanche\", \"oasis\", \"algorand\", \"aurora\", \"fantom\", \"karura\", \"acala\",\n            \"klaytn\", \"celo\", \"near\", \"moonbeam\", \"neon\", \"terra2\", \"injective\",\n         \"osmosis\", \"sui\", \"aptos\", \"arbitrum\", \"optimism\", \"gnosis\", \"pythnet\",\n                           \"xpla\", \"btc\", \"base\", \"sei\", \"deltachain\", \"sepolia\"]\n  -n, --network           Network\n                            [required] [choices: \"mainnet\", \"testnet\", \"devnet\"]\n  -a, --contract-address  Contract to submit VAA to (override config)   [string]\n      --rpc               RPC endpoint                                  [string]\n      --all-chains, --ac  Submit the VAA to all chains except for the origin\n                          chain specified in the payload\n                                                      [boolean] [default: false]\n```\n</details>\n\n<details>\n<summary> sui </summary>\n\n```sh\nworm sui <command>\n\nCommands:\n  worm sui build-coin                    Build wrapped coin and dump bytecode.\n\n                                         Example:\n                                         worm sui build-coin -d 8 -v V__0_1_1 -n\n                                         testnet -r\n                                         \"https://fullnode.testnet.sui.io:443\"\n  worm sui deploy <package-dir>          Deploy a Sui package\n  worm sui init-example-message-app      Initialize example core message app\n  worm sui init-token-bridge             Initialize token bridge contract\n  worm sui init-wormhole                 Initialize wormhole core contract\n  worm sui publish-example-message       Publish message from example app via\n                                         core bridge\n  worm sui setup-devnet                  Setup devnet by deploying and\n                                         initializing core and token bridges and\n                                         submitting chain registrations.\n  worm sui objects <owner>               Get owned objects by owner\n  worm sui package-id <state-object-id>  Get package ID from State object ID\n  worm sui tx <transaction-digest>       Get transaction details\n\nOptions:\n  --help     Show help                                                 [boolean]\n  --version  Show version number                                       [boolean]\n```\n</details>\n\n<details>\n<summary> transfer </summary>\n\n```sh\nOptions:\n      --help        Show help                                          [boolean]\n      --version     Show version number                                [boolean]\n      --src-chain   source chain\n           [required] [choices: \"solana\", \"ethereum\", \"terra\", \"bsc\", \"polygon\",\n        \"avalanche\", \"oasis\", \"algorand\", \"aurora\", \"fantom\", \"karura\", \"acala\",\n            \"klaytn\", \"celo\", \"near\", \"moonbeam\", \"neon\", \"terra2\", \"injective\",\n         \"osmosis\", \"sui\", \"aptos\", \"arbitrum\", \"optimism\", \"gnosis\", \"pythnet\",\n                           \"xpla\", \"btc\", \"base\", \"sei\", \"deltachain\", \"sepolia\"]\n      --dst-chain   destination chain\n           [required] [choices: \"solana\", \"ethereum\", \"terra\", \"bsc\", \"polygon\",\n        \"avalanche\", \"oasis\", \"algorand\", \"aurora\", \"fantom\", \"karura\", \"acala\",\n            \"klaytn\", \"celo\", \"near\", \"moonbeam\", \"neon\", \"terra2\", \"injective\",\n         \"osmosis\", \"sui\", \"aptos\", \"arbitrum\", \"optimism\", \"gnosis\", \"pythnet\",\n                           \"xpla\", \"btc\", \"base\", \"sei\", \"deltachain\", \"sepolia\"]\n      --dst-addr    destination address                      [string] [required]\n      --token-addr  token address               [string] [default: native token]\n      --amount      token amount                             [string] [required]\n  -n, --network     Network [required] [choices: \"mainnet\", \"testnet\", \"devnet\"]\n      --rpc         RPC endpoint                                        [string]\n```\n</details>\n\n<details>\n<summary> verify-vaa </summary>\n\n```sh\nOptions:\n      --help     Show help                                             [boolean]\n      --version  Show version number                                   [boolean]\n  -v, --vaa      vaa in hex format                           [string] [required]\n  -n, --network  Network    [required] [choices: \"mainnet\", \"testnet\", \"devnet\"]\n```\n</details>\n\n<details>\n<summary> status <network> <chain> <tx> </summary>\n\n```sh\nPositionals:\n  network      Network                 [choices: \"mainnet\", \"testnet\", \"devnet\"]\n  chain        Source chain\n             [choices: \"unset\", \"solana\", \"ethereum\", \"terra\", \"bsc\", \"polygon\",\n        \"avalanche\", \"oasis\", \"algorand\", \"aurora\", \"fantom\", \"karura\", \"acala\",\n            \"klaytn\", \"celo\", \"near\", \"moonbeam\", \"neon\", \"terra2\", \"injective\",\n         \"osmosis\", \"sui\", \"aptos\", \"arbitrum\", \"optimism\", \"gnosis\", \"pythnet\",\n                           \"xpla\", \"btc\", \"base\", \"sei\", \"deltachain\", \"sepolia\"]\n  tx           Source transaction hash                                  [string]\n  block-start  Starting Block Range, i.e. -2048                         [string]\n  block-end    Ending Block Range, i.e. latest                          [string]\n\nOptions:\n  --help     Show help                                                 [boolean]\n  --version  Show version number                                       [boolean]\n```\n</details>\n<!--CLI_USAGE-->\n\n## Examples\n\n### VAA generation\n\nUse `generate` to create VAAs for testing. For example, to create an NFT bridge registration VAA:\n\n```sh\n$ worm generate registration --module NFTBridge \\\n    --chain bsc \\\n    --contract-address 0x706abc4E45D419950511e474C7B9Ed348A4a716c \\\n    --phylax-secret cfb12303a19cde580bb4dd771639b0d26bc68353645571a8cff516ab2ee113a0\n```\n\nExample creating a token attestation VAA:\n\n```sh\n$ worm generate attestation --emitter-chain ethereum \\\n    --emitter-address 11111111111111111111111111111115 \\\n    --chain ethereum \\\n    --token-address 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 \\\n    --decimals 6 \\\n    --symbol USDC \\\n    --name USDC \\\n    --phylax-secret cfb12303a19cde580bb4dd771639b0d26bc68353645571a8cff516ab2ee113a0\n```\n\n### VAA parsing\n\nUse `parse` to parse a VAA into JSON. For example,\n\n    worm parse $(worm-fetch-governance 13940208096455381020)\n\nwill fetch governance VAA `13940208096455381020` and print it as JSON.\n\n```sh\n# ...signatures elided\ntimestamp: 1651416474,\nnonce: 1570649151,\nemitterChain: 1,\nemitterAddress: '0000000000000000000000000000000000000000000000000000000000000004',\nsequence: 13940208096455381020n,\nconsistencyLevel: 32,\npayload: {\n  module: 'Core',\n  type: 'PhylaxSetUpgrade',\n  chain: 0,\n  newPhylaxSetIndex: 2,\n  newPhylaxSetLength: 19,\n  newPhylaxSet: [\n    '58cc3ae5c097b213ce3c81979e1b9f9570746aa5',\n    'ff6cb952589bde862c25ef4392132fb9d4a42157',\n    '114de8460193bdf3a2fcf81f86a09765f4762fd1',\n    '107a0086b32d7a0977926a205131d8731d39cbeb',\n    '8c82b2fd82faed2711d59af0f2499d16e726f6b2',\n    '11b39756c042441be6d8650b69b54ebe715e2343',\n    '54ce5b4d348fb74b958e8966e2ec3dbd4958a7cd',\n    '66b9590e1c41e0b226937bf9217d1d67fd4e91f5',\n    '74a3bf913953d695260d88bc1aa25a4eee363ef0',\n    '000ac0076727b35fbea2dac28fee5ccb0fea768e',\n    'af45ced136b9d9e24903464ae889f5c8a723fc14',\n    'f93124b7c738843cbb89e864c862c38cddcccf95',\n    'd2cc37a4dc036a8d232b48f62cdd4731412f4890',\n    'da798f6896a3331f64b48c12d1d57fd9cbe70811',\n    '71aa1be1d36cafe3867910f99c09e347899c19c3',\n    '8192b6e7387ccd768277c17dab1b7a5027c0b3cf',\n    '178e21ad2e77ae06711549cfbb1f9c7a9d8096e8',\n    '5e1487f35515d02a92753504a8d75471b9f49edb',\n    '6fbebc898f403e4773e95feb15e80c9a99c8348d'\n  ]\n}\n```\n\n### Submitting VAAs\n\nUse `submit` to submit a VAA to a chain. It first parses the VAA and figures out\nwhat's the destination chain and module. For example, a contract upgrade contains both the target chain and module, so the only required argument is the network moniker (`mainnet` or `testnet`):\n\n    worm submit $(cat my-nft-registration.txt) --network mainnet\n\nFor VAAs that don't have a specific target chain (like registrations or phylax\nset upgrades), the script will ask you to specify the target chain.\nFor example, to submit a phylax set upgrade on all chains, simply run:\n\n```sh\n$ worm-fetch-governance 13940208096455381020 > phylax-upgrade.txt\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain oasis\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain aurora\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain fantom\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain karura\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain acala\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain klaytn\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain avalanche\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain polygon\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain bsc\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain solana\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain terra\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain ethereum\n$ worm submit $(cat phylax-upgrade.txt) --network mainnet --chain celo\n```\n\nThe VAA payload type (phylax set upgrade) specifies that this VAA should go to the core bridge, and the tool directs it there.\n\n### info\n\nTo get info about a contract (only EVM supported at this time)\n\n```sh\n$ worm evm info -c bsc -n mainnet -m TokenBridge\n\n{\n  \"address\": \"0xB6F6D86a8f9879A9c87f643768d9efc38c1Da6E7\",\n  \"wormhole\": \"0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B\",\n  \"implementation\": \"0xEe91C335eab126dF5fDB3797EA9d6aD93aeC9722\",\n  \"isInitialized\": true,\n  \"tokenImplementation\": \"0xb6D7bbdE7c46a8B784F4a19C7FDA0De34b9577DB\",\n  \"chainId\": 4,\n  \"governanceChainId\": 1,\n  \"governanceContract\": \"0x0000000000000000000000000000000000000000000000000000000000000004\",\n  \"WETH\": \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n  \"registrations\": {\n    \"solana\": \"0xec7372995d5cc8732397fb0ad35c0121e0eaa90d26f828a534cab54391b3a4f5\",\n    \"ethereum\": \"0x0000000000000000000000003ee18b2214aff97000d974cf647e7c347e8fa585\",\n    \"terra\": \"0x0000000000000000000000007cf7b764e38a0a5e967972c1df77d432510564e2\",\n    \"polygon\": \"0x0000000000000000000000005a58505a96d1dbf8df91cb21b54419fc36e93fde\",\n    \"avalanche\": \"0x0000000000000000000000000e082f06ff657d94310cb8ce8b0d9a04541d8052\",\n    \"oasis\": \"0x0000000000000000000000005848c791e09901b40a9ef749f2a6735b418d7564\",\n    \"algorand\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"aurora\": \"0x00000000000000000000000051b5123a7b0f9b2ba265f9c4c8de7d78d52f510f\",\n    \"fantom\": \"0x0000000000000000000000007c9fc5741288cdfdd83ceb07f3ea7e22618d79d2\",\n    \"karura\": \"0x000000000000000000000000ae9d7fe007b3327aa64a32824aaac52c42a6e624\",\n    \"acala\": \"0x000000000000000000000000ae9d7fe007b3327aa64a32824aaac52c42a6e624\",\n    \"klaytn\": \"0x0000000000000000000000005b08ac39eaed75c0439fc750d9fe7e1f9dd0193f\",\n    \"celo\": \"0x000000000000000000000000796dff6d74f3e27060b71255fe517bfb23c93eed\",\n    \"near\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"injective\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"osmosis\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"sui\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"aptos\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"moonbeam\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"neon\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"terra2\": \"0xa463ad028fb79679cfc8ce1efba35ac0e77b35080a1abe9bebe83461f176b0a3\",\n    \"arbitrum\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"optimism\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n    \"gnosis\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n  }\n}\n\n```\n\n### Misc\n\nTo get the contract address for a module:\n\n    $ worm info contract mainnet bsc NFTBridge\n\nTo get the RPC address for a chain\n\n    $ worm info rpc mainnet bsc\n","readmeFilename":"README.md"}