{"_id":"@defi-wonderland/nomad-xapps-sol","_rev":"8-c269c101a2f995deb01b02eac9e58aa9","name":"@defi-wonderland/nomad-xapps-sol","dist-tags":{"latest":"1.2.0"},"versions":{"1.2.0":{"name":"@defi-wonderland/nomad-xapps-sol","version":"1.2.0","author":{"name":"James Prestwich"},"license":"MIT OR Apache-2.0","_id":"@defi-wonderland/nomad-xapps-sol@1.2.0","maintainers":[{"name":"0xng","email":"ng@defi.sucks"},{"name":"0xgorilla","email":"0xGorilla@protonmail.com"},{"name":"kelvinfichter","email":"kelvinfichter@gmail.com"},{"name":"wei3erhase","email":"wei3erhase@defi.sucks"},{"name":"enderman0x","email":"enderman0x@defi.sucks"}],"dist":{"shasum":"36bc1da213d4f44652bac737763d82a11917ae0a","tarball":"https://registry.npmjs.org/@defi-wonderland/nomad-xapps-sol/-/nomad-xapps-sol-1.2.0.tgz","fileCount":33,"integrity":"sha512-oTmCjaCTSXY4SSJFHOJxBXKi/xUKhlJmNcJJlufTMZgf+1BGujiiB0KcETduph79bMcP1wMPcdzGO+Edvm21Rw==","signatures":[{"sig":"MEQCIADp6Of5N3qbmrZ3xudnWykmCEyWHczcDn3RsGbwgk+aAiBzXc8anxaZFCFWSnYLMgomKISLmLLnUfqKcgNmTBqb6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiL6C6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokLQ/7BY1YAJty6OIWC1B8tfMnxgUjE6EHFBbb4VPeKlQG8mQO5CCP\r\nE4g6kkE9TYldiqulCQ2yPwJ7yJKCW3oxO6k/RQFkKws2abrebgvCb0j1Z25E\r\n1SZVvBwoKao1qbCQkH5ic7tzDzCCP5CjkXb1nU4Wkl7Szef5TcMQjHg8L65x\r\n8U3MtmVye1mY81BBiJ7WldzapECbP0tBKJEWkXsu8mLIhutcSvdTew+SNIlV\r\nlFIJ2PoGKa53sr2vL4VS0pldVvPLstnSCP093vhm2C0rjcYY+JxMbIQQLxVX\r\nRU2IClkR4fod4eHAruxTd0IIYAuizUba1Ico+Ge/+ugPOiUVMRubSrbDR5EE\r\ncWTkM4csKVYsfE+AOd0PQTR58cE6XBZ7YX/zX1qTcRR3zd5V+tnCEaXsxzZf\r\nrniiEhZaOI0oddy6aYC+UXBeDxcJd/oSG7bUbrJYJM8wIVE38EgOl6vdsypw\r\nWok9n0fSWtOp1S9sMqBToAdCzsDKC3qTOD23LaHlVtyBdUZxO3OL0AFA7Uzd\r\n6YNqyIw3yeiFkdrBZbVx+/ruoNdZ6LzVaEZy4GCQbcOmqa8ucwV+rA9MPanj\r\nfv+bBB0Z8DRUKHSXWz2KFwmJElrYezBNIEdahaxn4zIUmn68yiZrG7mvEF93\r\nKZPAxBmFOe86Avn0/rKnA+mxikztWSGrDV0=\r\n=OnyS\r\n-----END PGP SIGNATURE-----\r\n"},"main":" ","scripts":{"lint":"solhint contracts/*.sol","test":"cd ../../ && ./scripts/test-solidity.sh","deploy":"npm run compile && cd ../../typescript/nomad-deploy && npm run deploy-bridge","compile":"hardhat compile && hardhat typechain && npm run prettier","coverage":"npm run compile && hardhat coverage","lint:fix":"solhint --fix contracts/*.sol","prettier":"prettier --write './contracts'","deploy-verify":"npm run deploy && npm run verify","verify:mainnet":"hardhat clean && hardhat --network mainnet verify-deploy --environment prod","verify:dev:kovan":"hardhat clean && hardhat --network kovan verify-deploy --environment dev","verify:dev:rinkeby":"hardhat clean && hardhat --network rinkeby verify-deploy --environment dev","verify:staging:kovan":"hardhat clean && hardhat --network kovan verify-deploy --environment staging","verify:staging:rinkeby":"hardhat clean && hardhat --network rinkeby verify-deploy --environment staging"},"_npmUser":{"name":"0xng","email":"ng@defi.sucks"},"_npmVersion":"7.20.3","description":"A bridge using nomad","directories":{},"_nodeVersion":"16.6.2","dependencies":{"@summa-tx/memview-sol":"^2.0.0","@openzeppelin/contracts":"~3.4.2","@nomad-xyz/nomad-core-sol":"1.2.0","@openzeppelin/contracts-upgradeable":"~3.4.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.0","dotenv":"^10.0.0","eslint":"^7.20.0","ethers":"^5.4.4","hardhat":"^2.6.0","solhint":"^3.3.2","ts-node":"^10.1.0","prettier":"^2.2.1","typechain":"^5.0.0","typescript":"^4.3.5","ethereum-waffle":"^3.2.2","solidity-coverage":"^0.7.14","@typechain/hardhat":"^2.0.1","@typechain/ethers-v5":"^7.0.0","hardhat-gas-reporter":"^1.0.4","solhint-plugin-prettier":"^0.0.5","prettier-plugin-solidity":"^1.0.0-beta.5","@nomiclabs/hardhat-ethers":"^2.0.1","@nomiclabs/hardhat-waffle":"^2.0.1","@nomiclabs/hardhat-etherscan":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/nomad-xapps-sol_1.2.0_1647288505977_0.9780480363586708","host":"s3://npm-registry-packages"}}},"time":{"created":"2022-03-14T20:08:25.911Z","modified":"2025-07-25T08:28:21.391Z","1.2.0":"2022-03-14T20:08:26.164Z"},"author":{"name":"James Prestwich"},"license":"MIT OR Apache-2.0","description":"A bridge using nomad","maintainers":[{"email":"gori@wonderland.xyz","name":"0xgorilla"},{"email":"alice@wonderland.xyz","name":"wonderland-bot"},{"email":"turtlemoji@protonmail.com","name":"turtlemoji"}],"readme":"# Nomad Token Bridge\n\n### Message Format\n\nBridge messages follow the following format:\n\n```\nTokenID (36 bytes)\n    -  4 bytes - domain specifier\n    - 32 bytes - id (address) on that domain\n\nActions (variable)\n    EITHER\n    - Transfer (64 bytes)\n        - 32 bytes - to. local recipient\n        - 32 bytes - amount. number of tokens to send\n    - Details\n        - 32 bytes - name. new name of token\n        - 32 bytes - symbol. new symbol for token\n        -  1 byte  - decimals. new decimal place count\n\nMessage (100 or 101 bytes)\n    - TokenID (36 bytes)\n    - Action  (64 or 65 bytes)\n```\n\nGiven a message we know the following:\n\n- the `TokenID` is at indices 0-35\n  - 0 - 3 Domain\n  - 4 - 35 Id\n- the `Action` is at indices 36 - end.\n  - the action type can be determined from the message length alone.\n  - for `Transfer` actions\n    - 36 - 67 To\n    - 68 - 99 Amount\n  - for `Details` actions\n    - 36 - 67 Name\n    - 68 - 99 Symbol\n    - 100 Decimals\n","readmeFilename":"README.md"}