{"_id":"@unruggable/gateways","_rev":"33-5a9b6b048833c55f6487bdc48fca264b","name":"@unruggable/gateways","dist-tags":{"dev":"1.0.0","latest":"1.3.5"},"versions":{"0.0.6":{"name":"@unruggable/gateways","version":"0.0.6","keywords":["ethereum","evm","gateway","ccip","proof","unruggable"],"_id":"@unruggable/gateways@0.0.6","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"9c69397a72228b3d614b08de011ded2a87a40291","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.0.6.tgz","fileCount":178,"integrity":"sha512-NePmG/fRrH7cV17q71Y+xLzUEM+De+qkQyGLdhfgioRu0Fr4m3L8zgmb+RMQUEfq6hbeh0E/pQlp4QYbge1yng==","signatures":[{"sig":"MEYCIQDSVq+a24AmSJS4AsHesqJ7clDQkX9MinNXH2Pcs/FC6wIhAJ7y9s7qyCWOXzUeBDoC7/jvYSquK7iCyOTYi+54b4Ap","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":465019},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"c6a422f017e42d4eb9f240f098ebd3187c39d7d2","scripts":{"lint":"eslint . --ext .ts","test":"bun test --timeout 25000","build":"bun build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun test/serve.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"<p align=\"center\">     <img src=\"./unruggable-logo-black.png\" style = \"width:300px;\" alt = \"Unruggable Gateways\" /> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.1","@resolverworks/ezccip":"^0.0.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.28","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.0.6_1725447535757_0.07881937233581704","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"@unruggable/gateways","version":"0.0.7","keywords":["ethereum","evm","gateway","ccip","proof","unruggable"],"_id":"@unruggable/gateways@0.0.7","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"e08a67956f83e844be3b6058913f7024473906e2","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.0.7.tgz","fileCount":173,"integrity":"sha512-BjxYLKWsfvr624fKrpvlKs+8IQ2zoRP2FbojA1OxUDGgplQPjca/EHLEfPQ2EHWDRwmzAFEWuhF42dyr+P6JBw==","signatures":[{"sig":"MEQCIA+dSW/Od9T95evAo1PpdMo7BLbzLOUmPJShYXzKIXWgAiAM7xs6z1fvBYrtCbHGTgbztnN5F0fYL++Ytkzk9mLsAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":454454},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"97e07035ed8752c2683cf127fb5cdf5db4d6ecff","scripts":{"lint":"eslint . --ext .ts","test":"bun test --timeout 25000","build":"bun build/dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun test/serve.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"<p align=\"center\">     <img src=\"./unruggable-logo-black.png\" style = \"width:300px;\" alt = \"Unruggable Gateways\" /> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.1","@resolverworks/ezccip":"^0.0.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"0.0.33","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.0.7_1725639608466_0.047655013650448996","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"@unruggable/gateways","version":"0.0.8","keywords":["ethereum","evm","gateway","ccip","proof","unruggable"],"_id":"@unruggable/gateways@0.0.8","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"06e92f4c847efc2b2ece004634a0e05bd81d1a7e","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.0.8.tgz","fileCount":180,"integrity":"sha512-APvhewvmzPN+ow2k1CtmuXy38Xo8f2zWCbxoA9o80GpRs/pDTbhp/VYwZ3CnCNZHbs8K9oAIRm8vCqMiE33upw==","signatures":[{"sig":"MEUCIBZbzXDU6ug08hqFca9CIl6rdT17ftZXKY+ws3kEVoa4AiEA1bS4DeUTcgVcIGukdvPpal0ogEL4t7Ajem0+THhf7kY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":471355},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"97e07035ed8752c2683cf127fb5cdf5db4d6ecff","scripts":{"lint":"eslint . --ext .ts","test":"bun test --timeout 25000","build":"bun build/dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun test/serve.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"<p align=\"center\">     <img src=\"./unruggable-logo-black.png\" style = \"width:300px;\" alt = \"Unruggable Gateways\" /> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.1","@resolverworks/ezccip":"^0.0.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"0.0.33","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.0.8_1725639959533_0.34086368629550345","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"@unruggable/gateways","version":"0.1.0","keywords":["ethereum","evm","gateway","ccip","proof","unruggable"],"_id":"@unruggable/gateways@0.1.0","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"76bb2aac9571b0b4778baf2a0b1458971d5a5a37","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.0.tgz","fileCount":178,"integrity":"sha512-/27ITqAYJxBjXmK179qE0Q86hoGqmEFo5oR3EDLSek3ffrqFBtbFANDvnkv7pzfh1C8wMDBrbtsJ2ZEbMh6euA==","signatures":[{"sig":"MEUCIQCCozHQqmV7BsUSyDaajED79AwyuYdbtup5rnMEVEewagIgGkaLCGO+O4O7WH5RQtq+VHTAcIrzxcZRiiLDoET7FIQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":465463},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"74f2549808044eb99ccd557fc2e1b0fe39059256","scripts":{"lint":"eslint . --ext .ts","test":"bun test --timeout 25000","build":"bun build/dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun test/serve.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"<p align=\"center\">     <img src=\"https://raw.githubusercontent.com/unruggable-labs/unruggable-gateways/main/unruggable-logo-black.png\" style = \"width:300px;\" alt = \"Unruggable Gateways\" /> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.1","@resolverworks/ezccip":"^0.0.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"0.0.33","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.0_1725963716845_0.7572180186316719","host":"s3://npm-registry-packages"}},"0.1.1-dev.0":{"name":"@unruggable/gateways","version":"0.1.1-dev.0","keywords":["ethereum","evm","gateway","ccip","proof","unruggable"],"_id":"@unruggable/gateways@0.1.1-dev.0","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"ef3d6120bccdd217e67f28fec3528c5a105335a2","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.1-dev.0.tgz","fileCount":47,"integrity":"sha512-36v/K20sz9eH2Et278cEuGe2xcq+72/fcD27LTXKHmnCDDFSdDOsZpwbQIKNeUE10U/QxI/hhxLRLBPlgUQGPw==","signatures":[{"sig":"MEYCIQCYY3QucQWkKkh0bzgmVHdQBGtln8hfi1KM5rMMayHbugIhANr70R1ftnpIYgrP/W/kBIBkRRcuxtuK2wSg0FPp8TFZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":189279},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"3f94456c245e3d17a205fdbce25faa5778ed8a84","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"bun test --timeout 25000","build":"bun build/dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-fast":"bun run forge && bun run check && bun run lint && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun test/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"<p align=\"center\">     <img src=\"https://raw.githubusercontent.com/unruggable-labs/unruggable-gateways/main/unruggable-logo-black.png\" style = \"width:300px;\" alt = \"Unruggable Gateways\" /> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.3","@whatwg-node/server":"^0.9.49","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.1-dev.0_1728052687852_0.7854481708854999","host":"s3://npm-registry-packages"}},"0.1.1-dev.1":{"name":"@unruggable/gateways","version":"0.1.1-dev.1","keywords":["ethereum","evm","gateway","ccip","proof","unruggable"],"_id":"@unruggable/gateways@0.1.1-dev.1","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"b3123eb1c8ded2bccee96f5c5865d2795f8a7098","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.1-dev.1.tgz","fileCount":219,"integrity":"sha512-LrLiczSThUSbVq/UpuIVN+1N08aPXwYQVv5mabxEWDYhB2hUv8L/ulGQLmP61GiG2Ogr7owwOMpRfDBeaGgClA==","signatures":[{"sig":"MEUCIHQrP7Jrw+Jj9kXgT5V6YdlbI7Whic9C8PCN8ipfMPf5AiEA1fXfYKNrNl4DHjuZCemRjiG6gwRRDWwoHpDE0Fwl89Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":623367},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"3f94456c245e3d17a205fdbce25faa5778ed8a84","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"bun test --timeout 25000","build":"bun build/dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-fast":"bun run forge && bun run check && bun run lint && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun test/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"<p align=\"center\">     <img src=\"https://raw.githubusercontent.com/unruggable-labs/unruggable-gateways/main/unruggable-logo-black.png\" style = \"width:300px;\" alt = \"Unruggable Gateways\" /> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.3","@whatwg-node/server":"^0.9.49","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.1-dev.1_1728053506749_0.5026886969205053","host":"s3://npm-registry-packages"}},"0.1.1-dev.2":{"name":"@unruggable/gateways","version":"0.1.1-dev.2","keywords":["ethereum","evm","gateway","ccip","proof","unruggable"],"_id":"@unruggable/gateways@0.1.1-dev.2","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"b66a6592bdc09116955d4f2f295d96cdb2bba1ee","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.1-dev.2.tgz","fileCount":203,"integrity":"sha512-squTg2Fdxt+L9Q7+XjPSR/604MEjgCPCQ/hfBz71XQujN69fjHkfTbFGHEDqsEa3V7SiepU0eUnF3+0CI0lN0A==","signatures":[{"sig":"MEUCIQCgsOAd+YK3b1LA1HsGfpR8bscoIc+UdtvTdh9FGdAxyQIgCgc+zKnxUfD/jDpFe+wK57H/nHfcsEa3wwpNDYm5CHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":580725},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"3f94456c245e3d17a205fdbce25faa5778ed8a84","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"bun test --timeout 25000","build":"bun build/dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-fast":"bun run forge && bun run check && bun run lint && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun test/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"<p align=\"center\">     <img src=\"https://raw.githubusercontent.com/unruggable-labs/unruggable-gateways/main/unruggable-logo-black.png\" style = \"width:300px;\" alt = \"Unruggable Gateways\" /> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.3","@whatwg-node/server":"^0.9.49","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.1-dev.2_1728057176169_0.5593109333669015","host":"s3://npm-registry-packages"}},"0.1.1-dev.3":{"name":"@unruggable/gateways","version":"0.1.1-dev.3","keywords":["ethereum","evm","gateway","ccip","proof","unruggable"],"_id":"@unruggable/gateways@0.1.1-dev.3","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"dd44ec1e6b7038c17f42c656553a93c1471a6337","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.1-dev.3.tgz","fileCount":227,"integrity":"sha512-GbHfFVKAXT1BRueC+dK7A7qXjCZC/azOOMkVWc2uiGeqmXiXTBDTrQIpLzrSUC2jZm0y5D9Yoeh8Zn4i4maSEA==","signatures":[{"sig":"MEUCIQDAvx/cq0pZkwkeY6vZNEfwH+OPtNJxricV8XImvAOXJgIgO1aU84YDf/L6I5exmSq8mACnG47quH3dObstx5GAOYQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":630421},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"3f94456c245e3d17a205fdbce25faa5778ed8a84","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"bun test --timeout 25000","build":"bun build/dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-fast":"bun run forge && bun run check && bun run lint && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun test/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"<p align=\"center\">     <img src=\"https://raw.githubusercontent.com/unruggable-labs/unruggable-gateways/main/unruggable-logo-black.png\" style = \"width:300px;\" alt = \"Unruggable Gateways\" /> </p>","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.3","@whatwg-node/server":"^0.9.49","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.1-dev.3_1728057248229_0.11232289551549934","host":"s3://npm-registry-packages"}},"0.1.2-dev.1":{"name":"@unruggable/gateways","version":"0.1.2-dev.1","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.2-dev.1","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"039c46bfe0fc3a58261eb39f348fd9cff6927636","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.2-dev.1.tgz","fileCount":229,"integrity":"sha512-Hnqg/mTbj0h5yNzPqKN3YA7i3P/qBl57WQUwZHcZzBgDkqE0u8NAWjv68CO5nxMrc+/HTSJ0NzFeBTuxKUFlgA==","signatures":[{"sig":"MEQCIB4gtrgBrI+r6FssNHu0nRixhfi00REOFDTe7eoS0OsvAiBWmFyXw/rbXxOd0Ig0w6zzN+lplDcqDoaWff6GH5pUZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":659433},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"baf22a4b04157d3bf7cc5f0e97677b2d7e1eea28","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun scripts/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"Trustless Ethereum Multichain Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.3","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.2-dev.1_1728473236876_0.8389293383401086","host":"s3://npm-registry-packages"}},"0.1.2-dev.2":{"name":"@unruggable/gateways","version":"0.1.2-dev.2","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.2-dev.2","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"35c8b796c7034a5070987f64fa832232f7901c18","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.2-dev.2.tgz","fileCount":229,"integrity":"sha512-KcQSgVmApAuUj9qWTgNpMfEJCK7QUYcO7Z+qUMFmSiCfVI8jW44S0SgkP6+Ag1PPrSAB3KCZPRuSb5xxjGoLJA==","signatures":[{"sig":"MEUCIQCld/11oIaUA5MBEWjaMalMiY/OPtAHt3Ok04DGXlWlaQIgSD5UXWmoiWeypc8ZTk+Xr2diOwEhAT4p9rxzhVv6xKY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":660271},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"baf22a4b04157d3bf7cc5f0e97677b2d7e1eea28","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun scripts/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"Trustless Ethereum Multichain Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.3","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.2-dev.2_1728473386377_0.3815202711583283","host":"s3://npm-registry-packages"}},"0.1.2-dev.3":{"name":"@unruggable/gateways","version":"0.1.2-dev.3","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.2-dev.3","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"61c745134338c5e3dfc7888ed59a3852e232b305","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.2-dev.3.tgz","fileCount":229,"integrity":"sha512-bGkHcRZZ6Ezw2EVPCX+TudAfO1J67EpV+LP1akffUugzaV9ubxhpC4JPYLhxZ8rzZpNY0GjbbkvXWAVeoYds7g==","signatures":[{"sig":"MEQCIGmDkJym6QxA8eSKyjkifm3cQRpdwvz8D45Qpym42GFoAiBOlYj79PFeF6iPs5DoJQpmB33uhpoTu8mkichSiXUPSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":661252},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"baf22a4b04157d3bf7cc5f0e97677b2d7e1eea28","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun scripts/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"Trustless Ethereum Multichain Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.3","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.2-dev.3_1728475943059_0.7571775817100352","host":"s3://npm-registry-packages"}},"0.1.2-dev.4":{"name":"@unruggable/gateways","version":"0.1.2-dev.4","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.2-dev.4","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"0a52877ae6dc00252991a50a1e41048de5fbe7cb","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.2-dev.4.tgz","fileCount":229,"integrity":"sha512-iTGOFv7Jy2MJ/m3YaC+kiTA2+J2b1YkXyNNcbarYwnuN9tussnfIXl0hrwF63QXA6wkNy4QH1vYZHblAP6olvA==","signatures":[{"sig":"MEYCIQDrvNfZON+jEmKqTQUwZBMW+wX3Ss351gFGg7VMQTiCaAIhANubPOPFlDo7P8PWyWjJzD9MSnOAL5MuImd29fHMS6kr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":665003},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"baf22a4b04157d3bf7cc5f0e97677b2d7e1eea28","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun scripts/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"Trustless Ethereum Multichain Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.3","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.2-dev.4_1728476141404_0.19555013862269233","host":"s3://npm-registry-packages"}},"0.1.2-dev.5":{"name":"@unruggable/gateways","version":"0.1.2-dev.5","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.2-dev.5","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"d9e82bcf9744217a748f7ccbcb7d95d523937354","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.2-dev.5.tgz","fileCount":229,"integrity":"sha512-ZDR9AyS/IJ8o57IEDOkdvhrcB+bDSekVsua3d9y05NcaXJlbzdSU/oDKi7xrg2T9Bvjje7u/6aEnBcOD3yL3Kg==","signatures":[{"sig":"MEUCIQCaP8KeoBosiHZNN/E/94JNkNi2adkzv1lC9uWRI7d0xQIgavm5L35WV2bc2Bk9rwEIwNArlF1XJeO0Oq/PYRNgr2I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":665149},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"baf22a4b04157d3bf7cc5f0e97677b2d7e1eea28","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun scripts/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.2","description":"Trustless Ethereum Multichain Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.6.0","dependencies":{"ethers":"^6.13.3","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.2-dev.5_1728479708524_0.07708241911938307","host":"s3://npm-registry-packages"}},"0.1.2-dev.6":{"name":"@unruggable/gateways","version":"0.1.2-dev.6","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.2-dev.6","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"2dd535fb170bd1b4528cb8a430e83a106031ddf8","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.2-dev.6.tgz","fileCount":229,"integrity":"sha512-FNuDrQQ1oyud2BrxyNZZBoRt/FDJlHCrlXFFN/AX+w80Fa338NW+IoNooUXn7QpdSKqSvv0+ASul4y9re3cTwQ==","signatures":[{"sig":"MEYCIQCKk16jKhinEro5zOgeWoUILGzlCZ+xCwPiwndEKVNJ0QIhAMSprIPCjy4mz804vIRJNR6EJ+ipBCtGzKO3PVYqtOlG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":665187},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"baf22a4b04157d3bf7cc5f0e97677b2d7e1eea28","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun scripts/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.3","description":"Trustless Ethereum Multichain Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ethers":"^6.13.3","@whatwg-node/server":"^0.9.49","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.2-dev.6_1728483509363_0.9879942018260588","host":"s3://npm-registry-packages"}},"0.1.2-dev.7":{"name":"@unruggable/gateways","version":"0.1.2-dev.7","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.2-dev.7","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"4e7248842de2b49ca6e056c706cdf6a23d64bc32","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.2-dev.7.tgz","fileCount":229,"integrity":"sha512-gObm8TxX/3sTGx9GJkAbeHWbNiea6aFENbT4Afk8U1pkiarrNrR2GT77B3ipmCIZkmj9G4uD14zSznrj8k2Tfg==","signatures":[{"sig":"MEYCIQChoepp1YQmdhGW2MDLUw7aH8yM9m6jMmynfd/Yw7IhzgIhAIFcaUjlGHGhhzXiwT9YPVOP3q8UEJ8lSeuAK3R42xf8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":665187},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"baf22a4b04157d3bf7cc5f0e97677b2d7e1eea28","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun scripts/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.3","description":"Trustless Ethereum Multichain Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ethers":"^6.13.3","@whatwg-node/server":"^0.9.49","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.2-dev.7_1728483544942_0.37222517354148166","host":"s3://npm-registry-packages"}},"0.1.2-dev.8":{"name":"@unruggable/gateways","version":"0.1.2-dev.8","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.2-dev.8","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"ced83440a5c9ef220a42145a26de70f2c51b4e31","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.2-dev.8.tgz","fileCount":229,"integrity":"sha512-dWUh8gC7FwzXs6HYkb2e6pPKNg3N4XilpEm60llsmFCNP66m36wDc3JHV5ifeB8ftNjULWl24Mw3R+7ewj1+qg==","signatures":[{"sig":"MEYCIQC2W4VvZvA/+Vec1sX04JpnrhveaBJ3UvSGFYrh5AzJ0QIhAIy6lxL7FUGwy9epmNDp9xVxDxSvpzOutRUlny/bb9pn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":666243},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"6e479e3e22170dddbeee70c83beb393a6de5ee28","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve-bun.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun scripts/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.3","description":"Trustless Ethereum Multichain Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ethers":"^6.13.3","@whatwg-node/server":"^0.9.49","@resolverworks/ezccip":"^0.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.2-dev.8_1728896480675_0.7876478245218594","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@unruggable/gateways","version":"0.1.1","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.1","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"1f4abfd0667802e37e2bc7f8d1cb84b9d4d49b5d","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.1.tgz","fileCount":225,"integrity":"sha512-J7EOUEhWMcLUdpgnnZo6+IsK2y+7h+5GihM1qdQWz5iQksEenji7r2157nuAghiLhyYF7uf8GW4/pEjgzJFlqA==","signatures":[{"sig":"MEYCIQDVWziYEl9SjeA1jT6sijz22/Mk3fQ+2/DJZs97TT/CsAIhAJyGRRitfkoJJBfE84swE7zVXmocjdDiMFXXl6wayjz6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":646066},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"baf22a4b04157d3bf7cc5f0e97677b2d7e1eea28","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-components":"bun scripts/opcodes.ts && bun test test/components/* --timeout 25000"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.3","description":"Trustless Ethereum Multichain Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ethers":"^6.13.3","@resolverworks/ezccip":"^0.0.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.38","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.1_1728904648434_0.6125188894991185","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@unruggable/gateways","version":"0.1.2","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.2","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"e229a91f3ed7ca23441102c7aa337515e5b53bc7","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.2.tgz","fileCount":209,"integrity":"sha512-aqIe+ik/zZ1djlaXQ6BTwGqlOdcfwUF2PplH3/46H/YBk65iZ1Wb13h2aAYC8Bgi86vkfvAfJ9jDNlolb594rg==","signatures":[{"sig":"MEYCIQDX8Yl3+ZDKqUDu8eWN9Q72DXzpLJNI47BBgYjrq9VsrAIhALDIwgT5IXgm1lN5/UH+ootdfvmkbkKFqq+E3fQvs4tH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":599252},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"7b89a89198981cadc476b19a936f30cdde095d7c","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.3","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ethers":"^6.13.4","@resolverworks/ezccip":"^0.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.40","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.2_1728913068570_0.9114227602740355","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@unruggable/gateways","version":"0.1.3","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.3","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"269c6935ae07227da58a3f8469e0943a7fed7e61","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.3.tgz","fileCount":242,"integrity":"sha512-t+lgC/ZDQQkJ58leVuq1DlYuqBA5OS0uwDrlLXiOTadrEhMW5ycQ1wVa3PKzfnbKqhE6gsrjb+oRMXaf51Stxw==","signatures":[{"sig":"MEYCIQC9PTMvEb9gZk+5VFj5EB5W20NWtEOh4sdtO3dhMl39iAIhAMTWeRL1Sad+IUu4BbZCA/jzwgEzp1mlcqXu/C1XJMxb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1976874},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"6c470d668fcd2dc78a51e7151b354f384433e6bd","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.3","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ethers":"^6.13.4","@resolverworks/ezccip":"^0.0.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.0.40","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.3_1729261497381_0.1749569846438941","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"@unruggable/gateways","version":"0.1.5","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@0.1.5","maintainers":[{"name":"adraffy","email":"raffy@me.com"},{"name":"thomasclowes","email":"thomas@unruggable.com"}],"dist":{"shasum":"14f2888b537d593b86aaccc469958e8e4c320c2f","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-0.1.5.tgz","fileCount":262,"integrity":"sha512-4iwpYpk/SwP0g8gIPmChpJif/Nn4fEiD0jJCzeRmSAZ6Kta+d1VYfJ3j1TYyI534L2GXH0fmw/Qo6aNUQJmRmg==","signatures":[{"sig":"MEYCIQCMY0ri+EFEWkYzWOhytlLiuj5kswaUjUHcvPdpTUP96gIhAJ1Q3hzb0GsNaWbUHYz588H60h2RAErafx66W8hgAM3B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2085391},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"78980b43271dca2cb8b1c000d0b186e80e27985b","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.3","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ethers":"^6.13.4","@resolverworks/ezccip":"^0.0.22"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.1.46","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_0.1.5_1731152454372_0.6180698806645419","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@unruggable/gateways","version":"1.0.0","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@1.0.0","maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"}],"dist":{"shasum":"2c1fb37d529d616737f8143647a59bddd0dcf286","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-1.0.0.tgz","fileCount":269,"integrity":"sha512-Z07Tos1K2slg26H4Tyu3ftc/SB+Alucqby5NflwF6wTz1YOljW6HvFg7FWxeRK3UmrkoDqtBMQn0VMugANIkBg==","signatures":[{"sig":"MEYCIQCH59FCLf/tE/nhxwXGmetzOEg2oq7+JWshR58V5xJovgIhANct+dN7FY7gqg7mfUIv1Ccz4DNyPptR/8mfASNm29Ej","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2166484},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"f60a38b538fa66fecd44a76f846f53ada0735b91","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 25000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 25000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 25000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.8.3","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.9.0","dependencies":{"ethers":"^6.13.4","@resolverworks/ezccip":"^0.0.22"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.1.47","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_1.0.0_1739479405185_0.8554013376636422","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@unruggable/gateways","version":"1.2.2","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@1.2.2","maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"}],"dist":{"shasum":"1a2f90b1b5fd098f559386ee301afe0a26b3f310","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-1.2.2.tgz","fileCount":337,"integrity":"sha512-mKzYh9UepK0h1gnmwZ1dhNqkwX7maq1dUGMvtn98Itvo0grj1yR8uJk0bEt5VrRMRqSTErfPRiOxsnIvWm8VuA==","signatures":[{"sig":"MEQCIAcc4HVFPVj4SYgvV+bRZ95C3C0NwpJbrAR09WcidLYgAiBQWdb6yuLg+DXuYD0PDppgnkFWVGzRiR/n1Kd5ZmtZfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2866657},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"80a15db2b6aef806391a0a54e41ace62cb59fb11","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 50000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 50000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 50000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.9.2","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"fzstd":"^0.1.1","ethers":"^6.13","@namestone/ezccip":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.1.52","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_1.2.2_1747648274991_0.3163035691509295","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@unruggable/gateways","version":"1.2.3","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@1.2.3","maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"}],"dist":{"shasum":"9cb48ee62945b344bf042599c6275c5b3dbfc238","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-1.2.3.tgz","fileCount":345,"integrity":"sha512-wivim2HRp8aiDaHplGmsRVxYUoGq0WBqvVkBfXttApHo3KXzhnV/iOZoFIBQHBDvOAkfH8XQOllriNeUngdlmA==","signatures":[{"sig":"MEQCIBKiah2cYQabdAiqUkMbKPSXr887YBtN1BnZ6AgjH26LAiAO9EVyoi2vW8VO2VBbhz8Mup6/ebMqmS8X7KsoGuCugw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2960692},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"4c246c98d322fcf12654138e63fcd4bea3f31f7b","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 50000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 50000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components && bun test test/gateway/op.test.ts && bun test test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 50000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.9.2","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"fzstd":"^0.1.1","ethers":"^6.13","@namestone/ezccip":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.1.52","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_1.2.3_1749817088782_0.8108719953701138","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@unruggable/gateways","version":"1.2.5","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@1.2.5","maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"},{"name":"ndeto","email":"martindeto@gmail.com"}],"dist":{"shasum":"9f67998499e13484075689dcacf119cfe0eb5fb4","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-1.2.5.tgz","fileCount":345,"integrity":"sha512-U80POq7FZ9BtKpmjd+TtIlktl5qDC0k3z9No+PiGQqtNfUMIx4i3+m2OSL6TAlY/rPi8VNvpl7ogK4Hn96bmpg==","signatures":[{"sig":"MEUCICSgc2HyH8cfSEo0u2ZnNxBtWkQ1Q3DDM8xzmVdjI1xCAiEA7So/YqlQboV0LcZGg4H04ZKNpAuNhNDNUCzl5/i872E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2966470},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"128a7c6d36f33b51f3c746eddfc76fdd676b1ae3","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 50000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 50000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components test/gateway/op.test.ts test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 50000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/* test/hooks/*"},"_npmUser":{"name":"adraffy","email":"raffy@me.com"},"_npmVersion":"11.5.1","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","dependencies":{"fzstd":"^0.1.1","ethers":"^6.13","@namestone/ezccip":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","prettier":"^3.3.3","@types/bun":"latest","@adraffy/blocksmith":"^0.1.52","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"peerDependencies":{"typescript":"^5.5.2"},"_npmOperationalInternal":{"tmp":"tmp/gateways_1.2.5_1754615100466_0.3562639873329252","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@unruggable/gateways","version":"1.3.0","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@1.3.0","maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"},{"name":"ndeto","email":"martindeto@gmail.com"}],"dist":{"shasum":"a852c014560706f959bd2d276f03333a47a949ad","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-1.3.0.tgz","fileCount":337,"integrity":"sha512-+dlrwk9RioP57/QlrAB85noI+t6vQ0avpO8DjDGeW9FP4HzPJNzsVZdEcvfOEgDWVVDrlh3S1EOCNguGivOPEg==","signatures":[{"sig":"MEUCIQDoUBevBU8R27DG9FmzdjUIe6H5Br6JqxjECjQExAz9MAIgSJy7qJJo23pUDI0yKE8pbHZbPgYTg5iykfAm/WbAgaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3003870},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"74c3078e715137f931fac807448b734ac9f1fa67","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 50000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 50000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components test/gateway/op.test.ts test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 50000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/* test/hooks/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.9.2","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"fzstd":"^0.1.1","ethers":"^6.15.0","@namestone/ezccip":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.35.0","prettier":"^3.6.2","@eslint/js":"^9.36.0","@types/bun":"latest","@eslint/eslintrc":"^3.3.1","@adraffy/blocksmith":"^0.1.53","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.43.0","@typescript-eslint/eslint-plugin":"^8.43.0"},"peerDependencies":{"typescript":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/gateways_1.3.0_1760974782545_0.6823036604280452","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@unruggable/gateways","version":"1.3.1","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@1.3.1","maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"},{"name":"ndeto","email":"martindeto@gmail.com"}],"dist":{"shasum":"788044f24f98acfd2fd291a5c6b7ae4daf9f6432","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-1.3.1.tgz","fileCount":337,"integrity":"sha512-WLpJQiG/HTFEzQpRWmacUSnmFY049tw6DAYOZAPmRUOC4vFQoRFRo+LsRMA6ecb2cKGiToY41Jt31ZMT5mx7vQ==","signatures":[{"sig":"MEUCIAFbySC+y1orl3JH/uFe7V8KyBlgLE2NaiC3PJ8IxzPbAiEAhgUVsF4s507i1Y2yPtmXXTI4dlufnVi7P9wlbv07rms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3004891},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"3d68742832c68bf9a158c7bcd1aa47fad511b213","scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 50000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 50000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components test/gateway/op.test.ts test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 50000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/* test/hooks/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"10.9.2","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.15.0","dependencies":{"fzstd":"^0.1.1","ethers":"^6.15.0","@namestone/ezccip":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.35.0","prettier":"^3.6.2","@eslint/js":"^9.36.0","@types/bun":"latest","@eslint/eslintrc":"^3.3.1","@adraffy/blocksmith":"^0.1.53","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.43.0","@typescript-eslint/eslint-plugin":"^8.43.0"},"peerDependencies":{"typescript":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/gateways_1.3.1_1762354990831_0.19118983659723976","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@unruggable/gateways","version":"1.3.2","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@1.3.2","maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"},{"name":"ndeto","email":"martindeto@gmail.com"}],"dist":{"shasum":"fd9925b06b52256e495d95ea6415f706ef527595","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-1.3.2.tgz","fileCount":337,"integrity":"sha512-iqkRn1mSvrrKC/kRsh2iYRLYLca29HYJbL1tS9tARZiIYqHQqfZ06xZMa47Hx/tDpUYqTfGxTyE2sJ95UObbLA==","signatures":[{"sig":"MEUCIGJS4gxpKPahRO93t6NCUPWg1qAd8KnWYroD3DvhylWNAiEAkEunqNXjbj6iVh658+afXJ0wr4frp696XmQXdKYRAB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3005226},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"d53746cf420711d87261447ec198a8d3113dd1a7","private":false,"scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 50000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test-all":"bun test --timeout 50000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components test/gateway/op.test.ts test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 50000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/* test/hooks/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"11.6.4","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"fzstd":"^0.1.1","ethers":"^6.15.0","semantic-release":"^25.0.2","@namestone/ezccip":"^0.1.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.2","@semantic-release/github":"^12.0.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.35.0","prettier":"^3.6.2","@eslint/js":"^9.36.0","@types/bun":"latest","@eslint/eslintrc":"^3.3.1","@adraffy/blocksmith":"^0.1.53","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.43.0","@typescript-eslint/eslint-plugin":"^8.43.0"},"peerDependencies":{"typescript":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/gateways_1.3.2_1764260178746_0.5501439350363908","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@unruggable/gateways","version":"1.3.3","keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"_id":"@unruggable/gateways@1.3.3","maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"},{"name":"ndeto","email":"martindeto@gmail.com"}],"dist":{"shasum":"e10ac3caa4d73e49cd8b91604d2ffa17454a780f","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-1.3.3.tgz","fileCount":337,"integrity":"sha512-4V6xmg5fPi1FUJbjIUP4ymZKrPEshFf/TwymD9Q23t+UyP5ZWjndQCYDliQG/3+sGg89CuKIWa1Sn1qRqtDJ8g==","signatures":[{"sig":"MEYCIQCknGqDXQ4mUwDbNkRZwpy2IYDO1/73wA2wHyFIxFFWLgIhAOitpy2FgGG443DmwdqGJgmlQzS/VBcUKLxFWtwtpNgs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3032750},"type":"module","exports":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.mjs","require":"./dist/cjs/index.cjs"},"gitHead":"8061d898dc86a390689a1d86b3d2690416379e50","private":false,"scripts":{"loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'","lint":"eslint . --ext .ts","test":"IS_CI=1 bun test --timeout 50000","build":"bun scripts/build-dist.ts","check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","deploy":"bun scripts/deploy.ts","test-all":"bun test --timeout 50000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components test/gateway/op.test.ts test/gateway/reverse-op.test.ts","test-gateways":"bun test test/gateway/* --timeout 50000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/* test/hooks/*"},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"_npmVersion":"11.6.4","description":"Trustless Ethereum Multichain CCIP-Read Gateway","directories":{},"sideEffects":false,"_nodeVersion":"22.21.1","dependencies":{"fzstd":"^0.1.1","ethers":"^6.15.0","@namestone/ezccip":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.35.0","prettier":"^3.6.2","@eslint/js":"^9.36.0","@types/bun":"latest","@eslint/eslintrc":"^3.3.1","semantic-release":"^25.0.2","@adraffy/blocksmith":"^0.1.58","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@semantic-release/github":"^12.0.2","@typescript-eslint/parser":"^8.43.0","@semantic-release/changelog":"^6.0.3","@typescript-eslint/eslint-plugin":"^8.43.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"typescript":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/gateways_1.3.3_1765211665105_0.062418537223219106","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@unruggable/gateways","version":"1.3.5","description":"Trustless Ethereum Multichain CCIP-Read Gateway","private":false,"publishConfig":{"access":"public"},"keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"type":"module","scripts":{"check":"bunx tsc -p . --noEmit","forge":"forge build --force","serve":"bun scripts/serve.ts","test":"IS_CI=1 bun test --timeout 50000","test-all":"bun test --timeout 50000","test-contracts":"forge test -C test/","test-components":"bun scripts/opcodes.ts quiet && bun run test-contracts && bun test test/components/* test/hooks/*","test-gateways":"bun test test/gateway/* --timeout 50000","test-fast":"bun run check && bun run lint && bun run forge && bun run test-components test/gateway/op.test.ts test/gateway/reverse-op.test.ts","lint":"eslint . --ext .ts","build":"bun scripts/build-dist.ts","deploy":"bun scripts/deploy.ts","loc":"rg -c '^' -g 'src/**/*.ts' -g 'test/**/*.ts' --no-filename | jq -s 'add'"},"sideEffects":false,"exports":{"types":"./dist/types/index.d.ts","require":"./dist/cjs/index.cjs","import":"./dist/esm/index.mjs"},"devDependencies":{"@adraffy/blocksmith":"^0.1.58","@eslint/eslintrc":"^3.3.1","@eslint/js":"^9.36.0","@types/bun":"latest","@typescript-eslint/eslint-plugin":"^8.43.0","@typescript-eslint/parser":"^8.43.0","eslint":"^9.35.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","prettier":"^3.6.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.2","@semantic-release/npm":"^13.1.2","@semantic-release/release-notes-generator":"^14.1.0","semantic-release":"^25.0.2"},"dependencies":{"@namestone/ezccip":"^0.1.1","ethers":"^6.15.0","fzstd":"^0.1.1"},"peerDependencies":{"typescript":"^5.6.3"},"gitHead":"7426ac57509e2023a673956439eed29998d2e371","_id":"@unruggable/gateways@1.3.5","_nodeVersion":"22.22.0","_npmVersion":"11.6.4","dist":{"integrity":"sha512-gmkWmDUAme3VAiVuH7ms/LcSpO+fNROl8LNRru4meWf4kOLbVtG1A/4ZdB6orGcCNiq8x7JUUw24mfbRzTKTFA==","shasum":"97ca40fe59da9015fef17cf2805d1f510dcbaecd","tarball":"https://registry.npmjs.org/@unruggable/gateways/-/gateways-1.3.5.tgz","fileCount":337,"unpackedSize":3039853,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICcl35H6TGq6wObQGaKG3DtVRMjpBYhV7r9NhA17W6CrAiEAn1rB4IdTCBYs9XGYB/69LnW93b/eFWz2Ot1hV3v1Ov0="}]},"_npmUser":{"name":"thomasclowes","email":"thomas@unruggable.com"},"directories":{},"maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"},{"name":"ndeto","email":"martindeto@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gateways_1.3.5_1769517215057_0.7131922026924549"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-04T10:58:55.659Z","modified":"2026-01-27T12:33:35.386Z","0.0.6":"2024-09-04T10:58:55.908Z","0.0.7":"2024-09-06T16:20:08.670Z","0.0.8":"2024-09-06T16:25:59.708Z","0.1.0":"2024-09-10T10:21:56.992Z","0.1.1-dev.0":"2024-10-04T14:38:08.039Z","0.1.1-dev.1":"2024-10-04T14:51:46.968Z","0.1.1-dev.2":"2024-10-04T15:52:56.363Z","0.1.1-dev.3":"2024-10-04T15:54:08.430Z","0.1.2-dev.0":"2024-10-09T11:18:15.658Z","0.1.2-dev.1":"2024-10-09T11:27:17.124Z","0.1.2-dev.2":"2024-10-09T11:29:46.624Z","0.1.2-dev.3":"2024-10-09T12:12:23.333Z","0.1.2-dev.4":"2024-10-09T12:15:41.745Z","0.1.2-dev.5":"2024-10-09T13:15:08.773Z","0.1.2-dev.6":"2024-10-09T14:18:29.644Z","0.1.2-dev.7":"2024-10-09T14:19:05.220Z","0.1.2-dev.8":"2024-10-14T09:01:20.923Z","0.1.1":"2024-10-14T11:17:28.670Z","0.1.2":"2024-10-14T13:37:48.830Z","0.1.3":"2024-10-18T14:24:57.718Z","0.1.5":"2024-11-09T11:40:54.638Z","1.0.0":"2025-02-13T20:43:25.421Z","1.2.2":"2025-05-19T09:51:15.258Z","1.2.3":"2025-06-13T12:18:09.033Z","1.2.5":"2025-08-08T01:05:00.714Z","1.3.0":"2025-10-20T15:39:42.765Z","1.3.1":"2025-11-05T15:03:11.048Z","1.3.2":"2025-11-27T16:16:19.012Z","1.3.3":"2025-12-08T16:34:25.326Z","1.3.5":"2026-01-27T12:33:35.219Z"},"keywords":["ethereum","evm","gateway","rollup","multichain","ccip","proof","prover","verifier","unruggable"],"description":"Trustless Ethereum Multichain CCIP-Read Gateway","maintainers":[{"name":"thomasclowes","email":"thomas@unruggable.com"},{"name":"adraffy","email":"raffy@me.com"},{"name":"ndeto","email":"martindeto@gmail.com"}],"readme":"<p align=\"center\">\n\t<img src=\"https://raw.githubusercontent.com/unruggable-labs/unruggable-gateways/main/unruggable-logo-black.png\" width=\"300\" alt=\"Unruggable Gateways\">\n</p>\n\n# Unruggable Gateways \n\nThis repository provides an end-to-end solution for proving data from rollup chains and verifying it against state posted on the parent chain.\n\n![Unruggable Gateways CI](https://github.com/unruggable-labs/unruggable-gateways/actions/workflows/unruggable-gateways.yml/badge.svg)\n\n## Audits\n\nThe codebase has been audited. Details of our audits can be found [here](./audits/audits.md).\n\n## Quickstart\n\n`npm i @unruggable/gateways` [&check;](https://www.npmjs.com/package/@unruggable/gateways)\n\n* We have extensive [documentation](https://gateway-docs.unruggable.com), with a slightly less quick [Quickstart](https://gateway-docs.unruggable.com/quickstart). \n* The [examples](https://gateway-docs.unruggable.com/examples) page may be of particular interest. \n* We also have an [examples repo](https://github.com/unruggable-labs/gateway-examples) that utilises our npm package to demonstrate both simple and complex use cases in a few clicks.\n\n## Architecture\n\n- **Request** &mdash; a program that fetches data from one or more contracts\n\t* constructable in [Solidity](./contracts/GatewayFetcher.sol) and [TypeScript](./src/vm.ts) using (almost) the same syntax\n- **Commit** &mdash; a commitment (eg. `StateRoot`) of one chain on another\n- **VM** &mdash; a machine that executes a **Request** for a **Commit**\n\t* TypeScript &mdash; records sequence of necessary proofs\n\t* Solidity &mdash; verifies sequence of supplied proofs (in the same order)\n- **Rollup** (TypeScript) &mdash; traverses **Commit** history, generates a **Commit** proof and supplies a **Prover**\n- **Prover** (TypeScript) &mdash; generates rollup-specific Account and Storage proofs\n- **Gateway** (TypeScript) &mdash; receives a **Request**, finds the appropriate **Commit**, executes the **VM**, and responds with a sequence of proofs via [CCIP-Read](https://eips.ethereum.org/EIPS/eip-3668)\n- **Verifier** (Solidity) &mdash; verifies a **Commit** proof and executes the **VM** with **Hooks**\n- **Verifier Hooks** (Solidity) &mdash; verifies rollup-specific Account and Storage proofs\n\n## Chain Support\n* Rollups &amp; Verifers\n\t* [Superchain](./src/op/OPRollup.ts)\n\t* [Superchain w/Fault Proofs](./src/op/OPFaultRollup.ts)\n\t* Arbitrum: [Nitro](./src/arbitrum/NitroRollup.ts) and [BoLD](./src/arbitrum/BoLDRollup.ts)\n\t* [Linea](./src/linea/LineaRollup.ts) (and [Unfinalized](./src/linea/UnfinalizedLineaRollup.ts))\n\t* [Polygon PoS](./src/polygon/PolygonPoSRollup.ts)\n\t* [Scroll](./src/scroll/ScrollRollup.ts) and [Euclid](./src/scroll/EuclidRollup.ts)\n\t* [Taiko](./src/taiko/TaikoRollup.ts)\n\t* [ZKSync](./src/zksync/ZKSyncRollup.ts)\n\t* [Reverse OP](./src/op/ReverseOPRollup.ts) &mdash; L2 &rarr; L1\n\t* [Self](./src/eth/EthSelfRollup.ts) &mdash; any &rarr; itself\n\t* [Trusted](./src/TrustedRollup.ts) &mdash; any &rarr; any\n\t* [Unchecked](./src/UncheckedRollup.ts) &mdash; any &rarr; any\n\t* [DoubleArbitrum](./src/arbitrum/DoubleArbitrumRollup.ts) &mdash; L1 &rarr; L2 &rarr; L3\n\t* [Polygon ZK](./src/polygon/ZKEVMRollup.ts) &mdash; *WIP*\n\t* [Morph](./src/morph/MorphRollup.ts) &mdash; *WIP*\n\t* [Starknet](./src/starknet/StarknetRollup.ts) &mdash; *WIP*\n* Provers\n\t* [Eth](./src/eth//EthProver.ts) &mdash; `eth_getProof`\n\t* [Linea](./src/linea/LineaProver.ts) &mdash; `linea_getProof`\n\t* [ZKSync](./src/zksync/ZKSyncProver.ts) &mdash; `zks_getProof`\n\t* [ZKEVM](./src/polygon/ZKEVMProver.ts) &mdash; `zkevm_getProof` &mdash; *WIP*\n\t* [Starknet](./src/starknet/StarknetProver.ts) &mdash; `pathfinder_getProof` &mdash; *WIP*\n* Verifier Hooks\n\t* [Eth](./contracts/eth/EthVerifierHooks.sol) &mdash; [Patricia Merkle Tree](./contracts/eth/MerkleTrie.sol)\n\t* [Linea](./contracts/linea/LineaVerifierHooks.sol) &mdash; [Sparse Merkle Tree](./contracts/linea/SparseMerkleProof.sol) + [Mimc](./contracts/linea/Mimc.sol)\n\t* [Scroll](./contracts/scroll/ScrollVerifierHooks.sol) &mdash; Binary Merkle Tree + Poseidon\n\t* [ZKSync](./contracts/zksync/ZKSyncVerifierHooks.sol) &mdash; [Sparse Merkle Tree](./contracts/zksync/ZKSyncSMT.sol) + [Blake2S](./contracts/zksync/Blake2S.sol)\n\nIf you are interested in building a solution for another chain, please take a look at our our [Contribution Guidelines](#contribution-guidelines) and/or [get in touch](https://unruggable.com/contact).\n\n## Setup\n\n1. [`foundryup`](https://book.getfoundry.sh/getting-started/installation)\n1. `forge i`\n1. `bun i --frozen-lockfile`\n1. create [`.env`](./.env.example)\n\n## Running a Gateway\n\n* `bun run serve <chain> [port]`\n\t* eg. `bun run serve op 9000`\n\t* [Chains](./src/chains.ts): `1` or `0x1` or `mainnet`\n\t* Default port: `8000`\n\t* Use `trusted:<chain>` for [`TrustedRollup`](./src/TrustedRollup.ts)\n\t\t* eg. `bun run serve trusted:op`\n\t\t* Include `0x{64}` to set signing key\n\t* Use `unchecked:<chain>` for [`UncheckedRollup`](./src/UncheckedRollup.ts)\n\t* Use `reverse:<chain>` for [`ReverseOPRollup`](./src/op/ReverseOPRollup.ts)\n\t* Use `self:<chain>` for [`EthSelfRollup`](./src/eth/EthSelfRollup.ts)\n\t* Include `--unfinalized(=minAge)` to use unfinalized commits (will throw if not available)\n\t* Include `--latest` for `\"latest\"` instead of `\"finalized\"` block tag\n\t* Include `--debug` to print `OP_DEBUG` statements\n\t* Include `--calls` to print RPC calls.\n\t* Include `--dump` to print config, latest commit, prover information, and then exit.\n\t* Include `--no-fast` to disable `eth_getStorageAt`\n\t* Include `--no-cache` to disable caching\n\t* Include `--no-double` to disable double rollups\n\t\t* eg. if `APE`, serves L2 &rarr; L3 instead of L1 &rarr; L2 &rarr; L3\n\t* Include `--depth=#` to adjust commit depth\n\t* Include `--step=#` to adjust commit step\n\t* Include `--gameTypes=1,2...` to set allowed game types for `OPFaultRollup`\n\t* Use [`PROVIDER_ORDER`](./test/providers.ts#L479) to customize global RPC provider priority.\n\t* Use `PROVIDER_ORDER_{CHAIN_NAME}` to customize per-chain RPC provider priority.\n\t* Use `PROVIDER_{CHAIN_NAME}` to customize per-chain RPC provider override.\n\t* Use `BEACON_{CHAIN_NAME}` to customize per-chain Beacon RPC provider override.\n\n## Testing\n\nThere is an extensive test suite available for testing individual components of the solution in an isolated manner. \n\nUsing [Foundry](https://getfoundry.sh/) and [blocksmith.js](https://github.com/adraffy/blocksmith.js/), we fork the chain in question (such that can interact with contracts deployed on a real network) and then deploy and test against an isolated unit (for example the chain specific verifier).\n\nCommands available include:\n\n* `bun run test`\n\t* `bun run test-components`\n\t\t* [Supported Operations](./test/components/ops.test.ts)\n\t\t* [Protocol Limits](./test/components/limits.test.ts)\n\t\t* [Batched `eth_getProof`](./test/components/proofs.test.ts)\n\t* `bun run test-gateways`\n\t\t* [Contract](./test/gateway/SlotDataContract.sol) &rarr; [Reader](./test/gateway/SlotDataReader.sol) &rarr; [Tests](./test/gateway/tests.ts)\n\t\t* ⚠️ Polygon has poor `eth_getProof` support\n\n## Examples\n\nA number of examples are provided as part of this repository. For more extensive step-wise example code, please see our [documentation](https://gateway-docs.unruggable.com/examples).\n\n* [linea-ens](./test/v1/linea-ens.ts)\n\t* Replacement backend demo for https://names.linea.build/\n\t* `bun serve v1:linea`\n\n## Notes\n\n#### Suggested VSCode Extensions\n\n* [JuanBlanco.solidity](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity)\n* [esbenp.prettier-vscode](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)\n* [dbaeumer.vscode-eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)\n\n#### Forge Setup\n```sh\n# installed by forge in step (2)\n# provided for reference\nforge install foundry-rs/forge-std\nforge install OpenZeppelin/openzeppelin-contracts@v5.0.2\n\n# installed by script instead of the following command\n# placed at standard remapping location\n# see: https://github.com/ethereum-optimism/optimism/issues/10202\n#forge install ethereum-optimism/optimism\nbun script/import-op.ts\n```\n\n## Contribution Guidelines\n\nWe welcome contributions to this codebase. \n\nThe premise behind the development of this software is to minimise duplication of effort and provide tooling that allows developers to interface with a simple, standardised API to read data from other chains.\n\nPlease take a look at our [CONTRIBUTING.md](https://github.com/unruggable-labs/unruggable-gateways/blob/main/CONTRIBUTING.md) file for a more in depth overview of our contribution process.\n\n## Release Process\n\n### Branching strategy\n\n* [main](https://github.com/unruggable-labs/unruggable-gateways/tree/main) is our stable release branch that reflects the latest release.\n* [develop](https://github.com/unruggable-labs/unruggable-gateways/tree/develop) is our ongoing development branch. Feature branches are to merged down into this.\n* Feature Branches: Separate branches will be utilised for new feature development or bug fixes.\n\n## License\n\nAll files within this repository are licensed under the [MIT License](https://github.com/ethereum-optimism/optimism/blob/master/LICENSE) unless stated otherwise.\n","readmeFilename":"README.md"}