YNU-859: feat: deploy sandbox to eth sepolia, linea sepolia, amoy, base sepolia#779
YNU-859: feat: deploy sandbox to eth sepolia, linea sepolia, amoy, base sepolia#779nksazonov wants to merge 3 commits into
Conversation
📝 WalkthroughWalkthroughThis PR records deployment of ChannelHub, validator, and escrow engine contracts across five testnets; captures deployment metadata; and provides Helm/Kubernetes configuration for a sandbox v1.3.0 environment, including asset definitions, blockchain network setup, and clearnode service parameters. ChangesSandbox v1.3.0 Deployment and Configuration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (2)
contracts/deployments/59141/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T11-33-32.json (1)
5-5: ⚡ Quick winNormalize
commithash format across deployment manifests.
commithere is a short SHA (76cc8d2c), while another manifest in this PR uses a full 40-char SHA. Please standardize this field (prefer full SHA) so traceability and any schema consumers remain deterministic.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@contracts/deployments/59141/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T11-33-32.json` at line 5, The manifest's "commit" field uses a short SHA ("76cc8d2c"); replace it with the full 40-character commit hash to match other manifests and ensure deterministic traceability—locate the "commit" field in the JSON (symbol: "commit") and update its value to the repository's full SHA for that commit (or retrieve the full SHA from git for 76cc8d2c), then verify any schema/validation that expects a 40-char SHA and update other deployment manifests in this PR to the same full-SHA format for consistency.contracts/deployments/80002/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-32-52.json (1)
5-5: ⚡ Quick winNormalize
commitfield format across sandbox deployment manifests.This file uses a full 40-char commit hash, while sibling
sandbox-v1_3_0manifests in this cohort use the short SHA format. Keeping one format across artifacts improves provenance tooling and avoids parser edge cases.Proposed change
- "commit": "5922d1707a10340148adb41414f956184c0c5c34", + "commit": "5922d170",🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@contracts/deployments/80002/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-32-52.json` at line 5, The manifest's "commit" field currently stores a full 40-character SHA; replace it with the short SHA format used by sibling sandbox manifests to normalize provenance (update the "commit" value in the JSON entry named sandbox-v1_3_0-2026-05-21T09-32-52.json to the short/7-character SHA used elsewhere). Ensure only the "commit" value is changed (no other fields or structure), and verify the shortened SHA exactly matches the prefix used across the cohort.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@contracts/broadcast/DeployChannelHub.s.sol/11155111/run-1779353692222.json`:
- Around line 23-53: The ChannelHub deployment entry has a null "hash" and no
matching entry in the "pending" array (the ChannelHub CREATE record with
contractName "ChannelHub"), making the broadcast artifact non-auditable;
regenerate the broadcast so that the ChannelHub CREATE transaction is either
finalized (populate its "hash" and corresponding receipt(s) in "receipts") or
explicitly left pending (include its tx hash in the "pending" list and keep
receipts empty), then replace the artifact with the regenerated output so every
transaction record is either fully hashed/receipted or explicitly pending.
In `@contracts/broadcast/DeployChannelHub.s.sol/59141/run-1779363212273.json`:
- Around line 22-52: The artifact has mismatched transaction metadata vs
receipts for EscrowWithdrawalEngine.channelhub and
EscrowDepositEngine.channelhub: ensure the transactions array entries
(contractName, hash, nonce) and the receipts entries (transactionHash,
transactionIndex) are consistent by regenerating the JSON so that
EscrowWithdrawalEngine.channelhub (hash 0x8a14...) with nonce 0x1 maps to the
matching receipt with the same transactionHash and the correct transactionIndex,
and EscrowDepositEngine.channelhub (hash 0x8590...) with nonce 0x2 maps to its
matching receipt; verify and correct all occurrences in the transactions and
receipts sections so hashes, nonces and transactionIndex values align before
committing the regenerated artifact.
In `@contracts/broadcast/DeployChannelHub.s.sol/80002/run-1779355867097.json`:
- Around line 40-53: The receipts for the CREATE2 deployments are
mis-attributed: transaction hash
0x01f9e653982796b7b022ed0d475745c76904848e9de7dada1c2aa232974697a5
(EscrowDepositEngine.channelhub, nonce 0x2) and 0x0494... (ECDSAValidator, nonce
0x3) have swapped transactionIndex and contractAddress entries in the artifact;
regenerate the JSON so each transactions[] entry (match by hash and nonce) has a
corresponding receipts[] entry with the same transactionIndex and correct
contractAddress (CREATE2 deploys get the new contractAddress, non-creation txs
have null), and verify ordering/indices for both EscrowDepositEngine.channelhub
and ECDSAValidator entries are consistent.
In
`@contracts/deployments/11155111/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T08-54-52.json`:
- Line 4: The JSON metadata currently sets the transactionHash field to the
string literal "null"; update the transactionHash entry so it is a proper JSON
null (transactionHash: null) or replace it with the real transaction hash
string, ensuring the value is a true null value rather than the string "null" in
the sandbox-v1_3_0-2026-05-21T08-54-52.json payload.
In
`@contracts/deployments/11155111/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-23-36.json`:
- Line 8: The deployment metadata uses a non-canonical relative path for the
contractPath field; update the contractPath value for SessionKeyValidator so it
matches the rest of manifests by removing the leading "./" (i.e., use
src/sigValidators/SessionKeyValidator.sol:SessionKeyValidator), ensuring any
path-based lookup of contractPath matches other deployment entries.
---
Nitpick comments:
In
`@contracts/deployments/59141/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T11-33-32.json`:
- Line 5: The manifest's "commit" field uses a short SHA ("76cc8d2c"); replace
it with the full 40-character commit hash to match other manifests and ensure
deterministic traceability—locate the "commit" field in the JSON (symbol:
"commit") and update its value to the repository's full SHA for that commit (or
retrieve the full SHA from git for 76cc8d2c), then verify any schema/validation
that expects a 40-char SHA and update other deployment manifests in this PR to
the same full-SHA format for consistency.
In
`@contracts/deployments/80002/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-32-52.json`:
- Line 5: The manifest's "commit" field currently stores a full 40-character
SHA; replace it with the short SHA format used by sibling sandbox manifests to
normalize provenance (update the "commit" value in the JSON entry named
sandbox-v1_3_0-2026-05-21T09-32-52.json to the short/7-character SHA used
elsewhere). Ensure only the "commit" value is changed (no other fields or
structure), and verify the shortened SHA exactly matches the prefix used across
the cohort.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 6b983641-955f-42b7-bd44-12271f35613d
📒 Files selected for processing (36)
contracts/broadcast/DeployChannelHub.s.sol/11155111/run-1779353692222.jsoncontracts/broadcast/DeployChannelHub.s.sol/11155111/run-latest.jsoncontracts/broadcast/DeployChannelHub.s.sol/59141/run-1779363212273.jsoncontracts/broadcast/DeployChannelHub.s.sol/59141/run-latest.jsoncontracts/broadcast/DeployChannelHub.s.sol/80002/run-1779355867097.jsoncontracts/broadcast/DeployChannelHub.s.sol/80002/run-latest.jsoncontracts/broadcast/DeployChannelHub.s.sol/84532/run-1779355068769.jsoncontracts/broadcast/DeployChannelHub.s.sol/84532/run-latest.jsoncontracts/deployments/11155111/ChannelEngine.sol_ChannelEngine/dev-v1_3_0-2026-05-20T12-00-01.jsoncontracts/deployments/11155111/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T08-54-52.jsoncontracts/deployments/11155111/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T08-54-52.jsoncontracts/deployments/11155111/EscrowDepositEngine.sol_EscrowDepositEngine/dev-v1_3_0-2026-05-20T12-00-01.jsoncontracts/deployments/11155111/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/dev-v1_3_0-2026-05-20T12-00-01.jsoncontracts/deployments/11155111/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-23-36.jsoncontracts/deployments/59141/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/EscrowDepositEngine.sol_EscrowDepositEngine/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T11-36-15.jsoncontracts/deployments/80002/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/EscrowDepositEngine.sol_EscrowDepositEngine/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-32-52.jsoncontracts/deployments/84532/ChannelEngine.sol_ChannelEngine/dev-v1_3_0-2026-05-20T12-05-28.jsoncontracts/deployments/84532/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T09-17-48.jsoncontracts/deployments/84532/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T09-17-48.jsoncontracts/deployments/84532/EscrowDepositEngine.sol_EscrowDepositEngine/dev-v1_3_0-2026-05-20T12-05-28.jsoncontracts/deployments/84532/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/dev-v1_3_0-2026-05-20T12-05-28.jsoncontracts/deployments/84532/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-20-38.jsonnitronode/chart/config/sandbox-v1/action_gateway.yamlnitronode/chart/config/sandbox-v1/assets.yamlnitronode/chart/config/sandbox-v1/blockchains.yamlnitronode/chart/config/sandbox-v1/clearnode.yaml.gotmpl
💤 Files with no reviewable changes (2)
- contracts/broadcast/DeployChannelHub.s.sol/84532/run-latest.json
- contracts/broadcast/DeployChannelHub.s.sol/11155111/run-latest.json
| "hash": null, | ||
| "transactionType": "CREATE", | ||
| "contractName": "ChannelHub", | ||
| "contractAddress": "0x6c333ac983749b9404704915ee6859bf1942a091", | ||
| "function": null, | ||
| "arguments": [ | ||
| "0xAc00326E2D0C33253d77E22034291F4c2b6F3681", | ||
| "0xc76632D91D45Ec88304ab2a983451d9EDf908C0d" | ||
| ], | ||
| "transaction": { | ||
| "from": "0xbab179854ba39cfcfb2d1d98a05fcfa113cf4ac1", | ||
| "to": null, | ||
| "gas": "0x686f87", | ||
| "value": "0x0", | ||
| "input": "0x60c03461010b57601f615ee238819003918201601f19168301916001600160401b0383118484101761010f57808492604094855283398101031261010b5780516001600160a01b0381169182820361010b5760200151916001600160a01b0383169081840361010b5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055156100fc57156100fc5760805260a052604051615dbe908161012482396080518181816111910152613ed3015260a051818181610c5c01528181610d790152818161145001528181611a3e0152818161207d0152818161361d015281816140800152818161464901526147510152f35b63e6c4247b60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c806307f241ce1461027f57806316b390b11461027a578063187576d8146102755780633115f6301461027057806338a66be21461026b5780633c684f921461026657806341b660ef1461026157806347de477a1461025c57806351bfcdbd1461025757806353269198146102525780635a0745b41461024d5780635ae2accc146102485780635b9acbf9146102435780635dc46a741461023e5780636840dbd2146102395780636898234b1461023457806371a471411461022f578063735181f01461022a57806382d3e15d146102255780638d0b12a5146102205780638e31c7351461021b57806394191051146102115780639691b46814610216578063a459463114610211578063a5c826801461020c578063b25a1d3814610207578063b65b78d114610202578063b9f4420d146101fd578063c74a2d10146101f8578063c9408398146101f3578063d888ccae146101ee578063d91a1283146101e9578063dc23f29e146101e4578063dd73d494146101df578063e617208c146101da578063f4ac51f5146101d5578063f766f8d6146101d0578063ff5bc09e146101cb5763ffa1ad74146101c6575f80fd5b6126ae565b612697565b612578565b6124fd565b61245f565b6122e5565b61212e565b612012565b611f09565b611c7a565b611bfa565b611bdd565b611aee565b611770565b611611565b6114e7565b611504565b611384565b61123d565b611220565b6111da565b611172565b611093565b61107c565b611031565b610ffb565b610fe0565b610fc4565b610dcc565b610d5a565b610b96565b610870565b6107ad565b610772565b61057b565b6104f5565b610351565b610299565b6001600160a01b0381160361029557565b5f80fd5b34610295576020366003190112610295576001600160a01b036004356102be81610284565b165f526006602052602060405f2054604051908152f35b9181601f84011215610295578235916001600160401b038311610295576020838186019501011161029557565b60643590600282101561029557565b9060606003198301126102955760043591602435906001600160401b03821161029557610340916004016102d5565b909160443560028110156102955790565b34610295576103b36103ed61036536610311565b9294916103c8610380879693965f52600260205260405f2090565b9485549261038f8415156126c9565b600187015460059060081c6001600160a01b031696879260028a01549a8b91613eb2565b9192909901986103c28a6128e3565b87613fe3565b60c06103d3876140d5565b604051809481926301999b9360e61b835260048301612a53565b038173dccc09e335b87fb506c40a972e76fc7a225e0bf95af480156104a9577fba075bd445233f7cad862c72f0343b3503aad9c8e704a2295f122b82abf8e80195610461946080945f93610476575b5082610453939461044c896128e3565b908b614149565b01516001600160401b031690565b9061047160405192839283612b8e565b0390a2005b610453935061049c9060c03d60c0116104a2575b610494818361275f565b810190612991565b9261043c565b503d61048a565b612a64565b90602080835192838152019201905f5b8181106104cb5750505090565b82518452602093840193909201916001016104be565b9060206104f29281815201906104ae565b90565b34610295576020366003190112610295576001600160a01b0360043561051a81610284565b165f52600160205260405f206040519081602082549182815201915f5260205f20905f5b81811061056557610561856105558187038261275f565b604051918291826104e1565b0390f35b825484526020909301926001928301920161053e565b3461029557602036600319011261029557600354600480545f92918390358284111561076c576105ab838561332c565b8082101561075e57506105c28195949392956132ed565b925b80831080610755575b15610748576105e86105de84613145565b90549060031b1c90565b6106036105fd825f52600260205260405f2090565b966139b6565b9561060d81615559565b6107335761061a81615589565b156106e3576001600160a01b036106cb6105fd600198999a6106ab955f866106ba610661600c5f516020615d695f395f51905f529a01546001600160a01b039060401c1690565b9d8e9261067f846001600160a01b03165f52600660205260405f2090565b5493610691600483019586549061331f565b9c8d916001600160a01b03165f52600660205260405f2090565b5501805460ff19166003179055565b556106c5828d613339565b526139b6565b604051938452961691602090a25b94939291946105c4565b505050506106f391939250600455565b806106fa57005b81817f8fac6141d748dc9c9bc16cc25f636385597618190a44c03d33be5656e01b3642935261072e60405192839283614462565b0390a1005b505092939491610742906139b6565b926106d9565b50506004559190506106f3565b508185106105cd565b6105c29095949392956132ed565b5f6105ab565b34610295575f366003190112610295576020604051620186a08152f35b6004359060ff8216820361029557565b359060ff8216820361029557565b346102955760203660031901126102955760ff6107c861078f565b165f52600760205260405f2060405160408101918183106001600160401b03841117610826576040928352546001600160a01b03811680835260a09190911c6001600160401b03166020928301819052835191825291810191909152f35b6126de565b90816102609103126102955790565b90600319820160e081126102955760c0136102955760049160c435906001600160401b038211610295576104f29160040161082b565b6108793661083a565b60208101600261088882612bbf565b61089181611d68565b148015610b7b575b8015610b5d575b6108a990612bc9565b60026108b482612bbf565b6108bd81611d68565b03610b4e575b6109a36109016108d33686612c0e565b60c090207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790565b9261092f610920610919865f525f60205260405f2090565b5460ff1690565b610929816123bb565b15612c82565b61093b60208601612c98565b906109458661460e565b610955608087013583838861470f565b60a08161098861098161096a60808401612c98565b6001600160a01b03165f52600660205260405f2090565b5488614776565b604051632a2d120f60e21b8152958692839260048401612ec0565b03817389b81857a46cf290f23f6ff9b24e1031aad652045af49081156104a9577fb0d099feaab5034d04a1c610e86b8832343f2127b3c667b705834dafdf96e9e494610a18610a99936001600160a01b03965f91610b1f575b50610a07368b612c0e565b610a113686612fc4565b908a6148c2565b610a3c87610a37866001600160a01b03165f52600160205260405f2090565b61598d565b506002610a4882612bbf565b610a5181611d68565b03610a9e5750857f6085f5128b19e0d3cc37524413de47259383f0f75265d5d66f4177869620669660405180610a878582613070565b0390a25b604051938493169683613081565b0390a3005b610aa9600391612bbf565b610ab281611d68565b03610aef57857f188e0ade7d115cc397426774adb960ae3e8c83e72f0a6cad4b7085e1d60bf98660405180610ae78582613070565b0390a2610a8b565b857f567044ba1cdd4671ac3979c114241e1e3b56c9e9051f63f2f234f7a2795019cc60405180610ae78582613070565b610b41915060a03d60a011610b47575b610b39818361275f565b810190612ca2565b5f6109fc565b503d610b2f565b610b583415612bdf565b6108c3565b506108a9610b6a82612bbf565b610b7381611d68565b1590506108a0565b506003610b8782612bbf565b610b9081611d68565b14610899565b610b9f3661083a565b90610bc06004610bb160208501612bbf565b610bba81611d68565b14612bc9565b610bc98161460e565b610bd66108d33683612c0e565b916080610be560208401612c98565b92013591610bf58382848761470f565b610c19610c0183613110565b85906001600160401b03915f521660205260405f2090565b92610c23856149d5565b15610ca3575050610a997f471c4ebe4e57d25ef7117e141caac31c6b98f067b8098a7a7bbd38f637c2f98091610c836001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633146131e2565b610c8d3415612bdf565b610c978186614a31565b60405191829182613070565b9091610ccf60c082610cb4876140d5565b604051632ef10bcd60e21b815293849283926004840161311a565b038173dccc09e335b87fb506c40a972e76fc7a225e0bf95af49283156104a9577fede7867afa7cdb9c443667efd8244d98bf9df1dce68e60dc94dca6605125ca7694610a9994610d32935f91610d3b575b50610d2b3686612fc4565b8989614149565b610c9784613194565b610d54915060c03d60c0116104a257610494818361275f565b5f610d20565b34610295575f3660031901126102955760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b9060406003198301126102955760043591602435906001600160401b038211610295576104f29160040161082b565b3461029557610dda36610d9d565b610deb6009610bb160208401612bbf565b610e076001610e01845f525f60205260405f2090565b016131f8565b610ea2610e1e60208301516001600160a01b031690565b91610e2f608082015184868861470f565b610e393685612fc4565b61014085019386610e4986613110565b6001600160401b031646149586610f5c575b50505060a081610e87610e8061096a60206060850151016001600160a01b0390511690565b5489614776565b604051632a2d120f60e21b8152958692839260048401613282565b03817389b81857a46cf290f23f6ff9b24e1031aad652045af49182156104a957610ed4935f93610f3b575b50866148c2565b15610f0a576104717f9a6f675cc94b83b55f1ecc0876affd4332a30c92e6faa2aca0199b1b6df922c39160405191829182613070565b6104717f7b20773c41402791c5f18914dbbeacad38b1ebcc4c55d8eb3bfe0a4cde26c8269160405191829182613070565b610f5591935060a03d60a011610b4757610b39818361275f565b915f610ecd565b610fbb92610f6e610fb6923690612ee5565b6060860152610f803660608b01612ee5565b6080860152610f8d61326e565b60a0860152610f9a61326e565b60c08601526001600160a01b03165f52600160205260405f2090565b615a37565b505f8681610e5b565b34610295575f366003190112610295576020604051612a308152f35b34610295575f36600319011261029557602060405160408152f35b346102955760403660031901126102955761056161101d60243560043561334d565b6040519182916020835260208301906104ae565b346102955761104861104236610d9d565b90613406565b005b6060600319820112610295576004359160243591604435906001600160401b038211610295576104f29160040161082b565b346102955761104861108d3661104a565b91613756565b34610295576020366003190112610295576001600160a01b036004356110b881610284565b165f5260016020526110cc60405f20615901565b5f905f5b815181101561115f576110f76109196110e98385613339565b515f525f60205260405f2090565b611100816123bb565b6003811415908161114a575b5061111a575b6001016110d0565b9161112d818460019310611135576139b6565b929050611112565b61113f8585613339565b516106c58286613339565b60059150611157816123bb565b14155f61110c565b50610561918152604051918291826104e1565b34610295575f3660031901126102955760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b6040906003190112610295576004356111cd81610284565b906024356104f281610284565b346102955760206112176001600160a01b036111f5366111b5565b91165f526008835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b34610295575f366003190112610295576020600454604051908152f35b346102955761124b36610311565b611297611263859493945f52600560205260405f2090565b918254946112728615156126c9565b60a061127d88614c71565b604051809581926312031f5d60e11b8352600483016139c4565b038173dca4ab495188b545cfa919c0cb0a7e2280f2f4075af49081156104a9577fb8568a1f475f3c76759a620e08a653d28348c5c09e2e0bc91d533339801fefd8966103c296610461966060965f95611341575b50916113318596610453969385600561131560016113259901546001600160a01b039060081c1690565b97889360028401549a8b91613eb2565b92909193019e8f6128e3565b61133a896128e3565b908b614d2b565b6104539550611325939192966113716113319260a03d60a01161137d575b611369818361275f565b8101906136a5565b965096929193506112eb565b503d61135f565b346102955760603660031901126102955761139d61078f565b6024356113a981610284565b6044356001600160401b038111610295576114bc916113cf6114c19236906004016102d5565b93909461148261147d60ff8316966113e88815156139d5565b6001600160a01b038616986113fe8a15156139eb565b61143f8561143961142d61142d6114208460ff165f52600760205260405f2090565b546001600160a01b031690565b6001600160a01b031690565b15613a01565b61147761144d8b8730614e62565b917f0000000000000000000000000000000000000000000000000000000000000000933691612f73565b90614e9a565b613a1f565b61149c61148d612780565b6001600160a01b039094168452565b426001600160401b0316602084015260ff165f52600760205260405f2090565b613a35565b7f9ee792368f12db92ad66335fa19df35feaec025c86445fea202ab5412a180e055f80a3005b34610295575f366003190112610295576020604051620151808152f35b346102955761158d61151536610d9d565b61153661152760208395949501612bbf565b61153081611d68565b15612bc9565b61154c6001610e01855f525f60205260405f2090565b9061157161156460208401516001600160a01b031690565b608084015190838761470f565b60a08161098861158661096a60808401612c98565b5487614776565b03817389b81857a46cf290f23f6ff9b24e1031aad652045af49283156104a9577f567044ba1cdd4671ac3979c114241e1e3b56c9e9051f63f2f234f7a2795019cc9361047193610c97925f926115f0575b506115e93685612fc4565b90876148c2565b61160a91925060a03d60a011610b4757610b39818361275f565b905f6115de565b346102955761161f3661083a565b906116316006610bb160208501612bbf565b61163a8161460e565b6116476108d33683612c0e565b91608061165660208401612c98565b920135916116668382848761470f565b611672610c0183613110565b9261167c856149d5565b156116b2575050610a9981610c977f587faad1bcd589ce902468251883e1976a645af8563c773eed7356d78433210c9386614a31565b90916116ee60a0826116d46116cd61096a6101608401612c98565b5488614cce565b60405162ea54e760e01b815293849283926004840161373f565b038173dca4ab495188b545cfa919c0cb0a7e2280f2f4075af49283156104a9577f17eb0a6bd5a0de45d1029ce3444941070e149df35b22176fc439f930f73c09f794610a9994610c97935f91611751575b5061174a3686612fc4565b8989614d2b565b61176a915060a03d60a01161137d57611369818361275f565b5f61173f565b6080366003190112610295576004356024356001600160401b0381116102955761179e90369060040161082b565b6044356001600160401b038111610295576117bd9036906004016102d5565b90916117c7610302565b926117d9855f525f60205260405f2090565b6117e5600182016131f8565b936117f1825460ff1690565b906117fb826123bb565b6001821495868015611adb575b61181190612c82565b61181d600585016128e3565b9261185b61182a88613110565b6001600160401b0361185261184688516001600160401b031690565b6001600160401b031690565b91161015613aa3565b60208201516001600160a01b0316978a6080840151956001600160401b036118966118466118888d613110565b93516001600160401b031690565b91161115611a8d57506118eb61192d9493926004926118d660208c01926118d160016118c186612bbf565b6118ca81611d68565b1415612bc9565b6123bb565b80611a6d575b6118e69015612bc9565b612bbf565b6118f481611d68565b1480611a3a575b61190590156131e2565b6119118489898d61470f565b60a08761098861192661096a60808401612c98565b548d614776565b03817389b81857a46cf290f23f6ff9b24e1031aad652045af49182156104a9577f07b9206d5a6026d3bd2a8f9a9b79f6fa4bfbd6a016975829fbaf07488019f28a996014996119bb8d8b6119af6119ee9a6119c197611a0c9e6119aa6119d69c6119df9e5f91611a1b575b506119a33688612fc4565b8d896152c4565b613eb2565b93919490923690612fc4565b90613fe3565b845460ff191660021785555163ffffffff1690565b63ffffffff1690565b6001600160401b034216613ad9565b9301805467ffffffffffffffff19166001600160401b038516179055565b61047160405192839283613af9565b611a34915060a03d60a011610b4757610b39818361275f565b5f611998565b50337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614156118fb565b506118e66009611a7c83612bbf565b611a8581611d68565b1490506118dc565b6119d69392506119c19150996014996119bb7f07b9206d5a6026d3bd2a8f9a9b79f6fa4bfbd6a016975829fbaf07488019f28a9c8b6119af6119ee9a6119df9a611a0c9e6119aa3415612bdf565b50611ae5836123bb565b60048314611808565b604036600319011261029557600435611b0681610284565b6001600160a01b0360243591611b1d831515613b19565b611b25615604565b611b30838233615498565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00551690815f52600660205260405f205490808201809211611bd8575f516020615d695f395f51905f5291837f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4611bc561047194835f5260066020528460405f2055604051918291829190602083019252565b0390a26040519081529081906020820190565b6132a7565b34610295575f36600319011261029557602060405162093a808152f35b3461029557611c1f611c0b36610d9d565b6115366003610bb160208496959601612bbf565b03817389b81857a46cf290f23f6ff9b24e1031aad652045af49283156104a9577f188e0ade7d115cc397426774adb960ae3e8c83e72f0a6cad4b7085e1d60bf9869361047193610c97925f926115f057506115e93685612fc4565b34610295575f36600319011261029557600354600454905f805b82841015611d3c577fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b8401545f90815260026020526040902091611cd783615559565b611d2a57611ce483615589565b15611d1357611d0a916004611cfb611d04936139b6565b9401549061331f565b936139b6565b915b9192611c94565b92509250505b604080519182526020820192909252f35b915092611d36906139b6565b91611d0c565b92509050611d19565b634e487b7160e01b5f52602160045260245ffd5b60041115611d6357565b611d45565b600a1115611d6357565b90600a821015611d635752565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6104f2916001600160401b038251168152611dc660208301516020830190611d72565b60408201516040820152611e336060830151606083019060c080916001600160401b0381511684526001600160a01b03602082015116602085015260ff6040820151166040850152606081015160608501526080810151608085015260a081015160a08501520151910152565b60808281015180516001600160401b031661014084015260208101516001600160a01b0316610160840152604081015160ff1661018084015260608101516101a0840152908101516101c083015260a08101516101e083015260c0015161020082015260c0611eb460a0840151610260610220850152610260840190611d7f565b92015190610240818403910152611d7f565b92936001600160401b0360c0956104f298979482948752611ee681611d59565b602087015216604085015216606083015260808201528160a08201520190611da3565b3461029557602036600319011261029557600435611f25613b65565b505f52600260205260405f2060405190611f3e826126f2565b80548252610561600182015491611f89611f79611f5b8560ff1690565b94611f6a602088019687613ba9565b60081c6001600160a01b031690565b6001600160a01b03166040860152565b6002810154606085015260038101546001600160401b0380821660808701908152959160401c166001600160401b031660a0820190815291612001611888611fdf600560048501549460c08701958652016128e3565b9360e0810194855251965197611ff489611d59565b516001600160401b031690565b905191519260405196879687611ec6565b346102955760603660031901126102955760043561202f81610284565b5f516020615d695f395f51905f526104716024359261204d84610284565b604435936120656001600160a01b03831615156139eb565b612070851515613b19565b6120a46001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633146131e2565b7f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5611bc58661211e6001600160a01b038516988995865f5260066020526120fb8260405f20546120f682821015613bb5565b61332c565b9788612118836001600160a01b03165f52600660205260405f2090565b556155b8565b6040519081529081906020820190565b346102955761213c3661083a565b61214d6008610bb160208401612bbf565b61215a6108d33684612c0e565b916121bb61216a60208301612c98565b9161217b608082013584868861470f565b6121853685612fc4565b61218e866149d5565b93868515612284575b505060a081610e87610e8061096a60206060850151016001600160a01b0390511690565b03817389b81857a46cf290f23f6ff9b24e1031aad652045af49182156104a9576121f8935f9361225f575b506121f2903690612c0e565b866148c2565b1561222e576104717f3142fb397e715d80415dff7b527bf1c451def4675da6e1199ee1b4588e3f630a9160405191829182613070565b6104717f26afbcb9eb52c21f42eb9cfe8f263718ffb65afbf84abe8ad8cce2acfb2242b89160405191829182613070565b6121f291935061227d9060a03d60a011610b4757610b39818361275f565b92906121e6565b610a376122a2926122948661460e565b610f6e366101408b01612ee5565b505f86612197565b9160a0936001600160401b03916104f297969385526122c881611d59565b602085015216604083015260608201528160808201520190611da3565b3461029557602036600319011261029557600435612301613b65565b505f52600560205260405f206040519061231a8261270e565b80548252610561600182015491612351611f7960ff851694602087019561234081611d59565b865260081c6001600160a01b031690565b6002810154606085015260038101546001600160401b03166001600160401b031660808501908152936123aa612395600560048501549460a08501958652016128e3565b9160c0810192835251945195611ff487611d59565b9151905191604051958695866122aa565b60061115611d6357565b906006821015611d635752565b919260a0610120946123eb85612454959a99989a6123c5565b63ffffffff81511660208601526001600160a01b0360208201511660408601526001600160a01b0360408201511660608601526001600160401b036060820151166080860152608081015182860152015160c084015261014060e0840152610140830190611da3565b946101008201520152565b34610295576020366003190112610295576004355f60a060405161248281612729565b82815282602082015282604082015282606082015282608082015201526124a7613b65565b505f525f6020526124ba60405f20613bd7565b80516124c5816123bb565b61056160208301519260408101519060606124ed61184660808401516001600160401b031690565b91015191604051958695866123d2565b61251d61250936610d9d565b6115366002610bb160208496959601612bbf565b03817389b81857a46cf290f23f6ff9b24e1031aad652045af49283156104a9577f6085f5128b19e0d3cc37524413de47259383f0f75265d5d66f417786962066969361047193610c97925f926115f057506115e93685612fc4565b3461029557612586366111b5565b61258e615604565b6001600160a01b038116916125a48315156139eb565b6001600160a01b036125e1826125cb336001600160a01b03165f52600860205260405f2090565b906001600160a01b03165f5260205260405f2090565b54916125ee831515613b19565b5f61260e826125cb336001600160a01b03165f52600860205260405f2090565b551691818361268857612631915f808080858a5af161262b613c34565b50613c63565b60405190815233907f7b8d70738154be94a9a068a6d2f5dd8cfc65c52855859dc8f47de1ff185f8b5590602090a461104860017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6126929184615662565b612631565b34610295576110486126a83661104a565b91613c8b565b34610295575f36600319011261029557602060405160018152f35b156126d057565b6287a33760e41b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761082657604052565b60e081019081106001600160401b0382111761082657604052565b60c081019081106001600160401b0382111761082657604052565b60a081019081106001600160401b0382111761082657604052565b90601f801991011681019081106001600160401b0382111761082657604052565b6040519061278f60408361275f565b565b6040519061278f60e08361275f565b906040516127ad8161270e565b60c0600482946127ea60ff82546001600160401b03811687526001600160a01b03808260401c1616602088015260e01c16604086019060ff169052565b6001810154606085015260028101546080850152600381015460a08501520154910152565b90600182811c9216801561283d575b602083101461282957565b634e487b7160e01b5f52602260045260245ffd5b91607f169161281e565b5f92918154916128568361280f565b80835292600181169081156128ab575060011461287257505050565b5f9081526020812093945091925b838310612891575060209250010190565b600181602092949394548385870101520191019190612880565b915050602093945060ff929192191683830152151560051b010190565b9061278f6128dc9260405193848092612847565b038361275f565b906040516128f08161270e565b809260ff81546001600160401b038116845260401c1690600a821015611d6357600d6129619160c093602086015260018101546040860152612934600282016127a0565b6060860152612945600782016127a0565b6080860152612956600c82016128c8565b60a0860152016128c8565b910152565b5190600482101561029557565b6001600160401b0381160361029557565b5190811515820361029557565b908160c0910312610295576129f960a0604051926129ae84612729565b80518452602081015160208501526129c860408201612966565b604085015260608101516129db81612973565b606085015260808101516129ee81612973565b608085015201612984565b60a082015290565b908151612a0d81611d59565b815260806001600160401b0381612a33602086015160a0602087015260a0860190611da3565b946040810151604086015282606082015116606086015201511691015290565b9060206104f2928181520190612a01565b6040513d5f823e3d90fd5b90600d6104f292612a9781546001600160401b038116855260ff602086019160401c16611d72565b60018101546040840152612b036060840160028301600460c09160ff8082546001600160401b03811687526001600160a01b038160401c16602088015260e01c161660408501526001810154606085015260028101546080850152600381015460a08501520154910152565b60078101546001600160401b038116610140850152604081901c6001600160a01b031661016085015260e01c60ff1661018084015260088101546101a084015260098101546101c0840152600a8101546101e0840152600b810154610200840152610260610220840152612b7e6102608401600c8301612847565b9261024081850391015201612847565b906001600160401b03612bae602092959495604085526040850190612a6f565b9416910152565b600a111561029557565b356104f281612bb5565b15612bd057565b633226144f60e21b5f5260045ffd5b15612be657565b636956f2ab60e11b5f5260045ffd5b63ffffffff81160361029557565b359061278f82612973565b91908260c091031261029557604051612c2681612729565b60a08082948035612c3681612bf5565b84526020810135612c4681610284565b60208501526040810135612c5981610284565b60408501526060810135612c6c81612973565b6060850152608081013560808501520135910152565b15612c8957565b631e40ad6360e31b5f5260045ffd5b356104f281610284565b908160a09103126102955760405190612cba82612744565b80518252602081015160208301526040810151600681101561029557612cfb9160809160408501526060810151612cf081612973565b606085015201612984565b608082015290565b90612d0f8183516123c5565b60806001600160401b0381612d33602086015160a0602087015260a0860190611da3565b94604081015160408601526060810151606086015201511691015290565b359061278f82612bb5565b60c080916001600160401b038135612d7381612973565b1684526001600160a01b036020820135612d8c81610284565b16602085015260ff612da06040830161079f565b166040850152606081013560608501526080810135608085015260a081013560a08501520135910152565b9035601e19823603018112156102955701602081359101916001600160401b03821161029557813603831361029557565b908060209392818452848401375f828201840152601f01601f1916010190565b6104f2916001600160401b038235612e3381612973565b168152612e516020830135612e4781612bb5565b6020830190611d72565b60408201356040820152612e6b6060820160608401612d5c565b612e7d61014082016101408401612d5c565b612eb1612ea5612e91610220850185612dcb565b610260610220860152610260850191612dfc565b92610240810190612dcb565b91610240818503910152612dfc565b9091612ed76104f293604084526040840190612d03565b916020818403910152612e1c565b91908260e091031261029557604051612efd8161270e565b60c08082948035612f0d81612973565b84526020810135612f1d81610284565b6020850152612f2e6040820161079f565b6040850152606081013560608501526080810135608085015260a081013560a08501520135910152565b6001600160401b03811161082657601f01601f191660200190565b929192612f7f82612f58565b91612f8d604051938461275f565b829481845281830111610295578281602093845f960137010152565b9080601f83011215610295578160206104f293359101612f73565b9190916102608184031261029557612fda612791565b92612fe482612c03565b8452612ff260208301612d51565b60208501526040820135604085015261300e8160608401612ee5565b6060850152613021816101408401612ee5565b60808501526102208201356001600160401b0381116102955781613046918401612fa9565b60a08501526102408201356001600160401b038111610295576130699201612fa9565b60c0830152565b9060206104f2928181520190612e1c565b60e09060a06104f2949363ffffffff813561309b81612bf5565b1683526001600160a01b0360208201356130b481610284565b1660208401526001600160a01b0360408201356130d081610284565b1660408401526001600160401b0360608201356130ec81612973565b16606084015260808101356080840152013560a08201528160c08201520190612e1c565b356104f281612973565b9091612ed76104f293604084526040840190612a01565b634e487b7160e01b5f52603260045260245ffd5b60035481101561315d5760035f5260205f2001905f90565b613131565b805482101561315d575f5260205f2001905f90565b916131909183549060031b91821b915f19901b19161790565b9055565b60035468010000000000000000811015610826576001810160035560035481101561315d5760035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155565b156131e957565b6370a8bfcd60e11b5f5260045ffd5b9060405161320581612729565b60a0600382946001600160a01b03815463ffffffff8116865260201c16602085015261325d6001600160401b0360018301546001600160a01b03808216166040880152851c1660608601906001600160401b03169052565b600281015460808501520154910152565b6040519061327d60208361275f565b5f8252565b90916132996104f293604084526040840190612d03565b916020818403910152611da3565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381116108265760051b60200190565b604051906132e160208361275f565b5f808352366020840137565b906132f7826132bb565b613304604051918261275f565b8281528092613315601f19916132bb565b0190602036910137565b91908201809211611bd857565b91908203918211611bd857565b805182101561315d5760209160051b010190565b91906003549080840293808504821490151715611bd857818410156133d157830190818411611bd8578082116133c9575b5061339161338c848361332c565b6132ed565b92805b8281106133a057505050565b806133af6105de600193613145565b6133c26133bc858461332c565b88613339565b5201613394565b90505f61337e565b505090506104f26132d2565b906006811015611d635760ff80198354169116179055565b9060206104f2928181520190611da3565b90613418825f525f60205260405f2090565b613424600182016131f8565b91613430825460ff1690565b918461343e600583016128e3565b91600261345560208801516001600160a01b031690565b9561345f816123bb565b148061364e575b6135755750505061347e6001610bb160208401612bbf565b61348e608084015183838761470f565b6134c160a0826134a661098161096a60808401612c98565b604051632a2d120f60e21b8152938492839260048401612ec0565b03817389b81857a46cf290f23f6ff9b24e1031aad652045af480156104a957610fb661354f9461352b88937f04cd8c68bf83e7bc531ca5a5d75c34e36513c2acf81e07e6470ba79e29da13a898613542965f92613554575b506135243689612fc4565b90866148c2565b6001600160a01b03165f52600160205260405f2090565b5060405191829182613070565b0390a2565b61356e91925060a03d60a011610b4757610b39818361275f565b905f613519565b7f04cd8c68bf83e7bc531ca5a5d75c34e36513c2acf81e07e6470ba79e29da13a8955061364192935061354f946135d46014836135bc610fb695600360ff19825416179055565b5f601382015501805467ffffffffffffffff19169055565b61352b60608601613600815160606135f660208301516001600160a01b031690565b9101519085614ae5565b5160a061361760208301516001600160a01b031690565b910151907f0000000000000000000000000000000000000000000000000000000000000000614ae5565b50604051918291826133f5565b506014810154426001600160401b0390911610613466565b1561366d57565b6336c7a86b60e21b5f5260045ffd5b9061368681611d59565b60ff80198354169116179055565b9060206104f2928181520190612a6f565b908160a091031261029557612cfb6080604051926136c284612744565b80518452602081015160208501526136dc60408201612966565b60408501526060810151612cf081612973565b9081516136fb81611d59565b8152608080613719602085015160a0602086015260a0850190611da3565b93604081015160408501526001600160401b036060820151166060850152015191015290565b9091612ed76104f2936040845260408401906136ef565b916137618284614c4f565b61394d57613777825f52600560205260405f2090565b9061378484835414613666565b600182018054929060026137a7600886901c6001600160a01b03165b9560ff1690565b6137b081611d59565b1480613935575b61384e57506002906137d06007610bb160208601612bbf565b0154906137df8284838861470f565b6137ee60a0826116d487614c71565b038173dca4ab495188b545cfa919c0cb0a7e2280f2f4075af49283156104a9577f2fdac1380dbe23ae259b6871582b7f33e34461547f400bdd20d74991250317d19461384994610c97935f91611751575061174a3686612fc4565b0390a3565b805460ff191660031790557f2fdac1380dbe23ae259b6871582b7f33e34461547f400bdd20d74991250317d1925060059150600481015f815491556138a0600383016001600160401b03198154169055565b5f516020615d695f395f51905f526001600160a01b036138f36138d1600c8601546001600160a01b039060401c1690565b936138ed856001600160a01b03165f52600660205260405f2090565b5461331f565b9283613910826001600160a01b03165f52600660205260405f2090565b556040519384521691602090a261392561447e565b6138496040519283920182613694565b506003820154426001600160401b03909116106137b7565b613849816139836007610bb160207f6d0cf3d243d63f08f50db493a8af34b27d4e3bc9ec4098e82700abfeffe2d4989601612bbf565b610c8d613997865f525f60205260405f2090565b600181015460039060201c6001600160a01b031691015490838861470f565b5f198114611bd85760010190565b9060206104f29281815201906136ef565b156139dc57565b6306ee4dcd60e01b5f5260045ffd5b156139f257565b63e6c4247b60e01b5f5260045ffd5b15613a095750565b60ff906357470ffd60e01b5f521660045260245ffd5b15613a2657565b63c1606c2f60e01b5f5260045ffd5b6001600160401b03602061278f93613a7a6001600160a01b0382511685906001600160a01b031673ffffffffffffffffffffffffffffffffffffffff19825416179055565b0151825467ffffffffffffffff60a01b1916911660a01b67ffffffffffffffff60a01b16179055565b15613aaa57565b637d95736160e01b5f5260045ffd5b6001600160401b0362015180911601906001600160401b038211611bd857565b906001600160401b03809116911601906001600160401b038211611bd857565b906001600160401b03612bae602092959495604085526040850190612e1c565b15613b2057565b6334b2073960e11b5f5260045ffd5b60405190613b3c8261270e565b5f60c0838281528260208201528260408201528260608201528260808201528260a08201520152565b60405190613b728261270e565b606060c0835f81525f60208201525f6040820152613b8e613b2f565b83820152613b9a613b2f565b60808201528260a08201520152565b613bb282611d59565b52565b15613bbc57565b631e9acf1760e31b5f5260045ffd5b6006821015611d635752565b90604051613be481612744565b60806001600160401b0360148395613c0060ff82541686613bcb565b613c0c600182016131f8565b6020860152613c1d600582016128e3565b604086015260138101546060860152015416910152565b3d15613c5e573d90613c4582612f58565b91613c53604051938461275f565b82523d5f602084013e565b606090565b15613c6c575050565b6001600160a01b039063296c17bb60e21b5f521660045260245260445ffd5b91613c9682846156bb565b613e1c57613cac825f52600260205260405f2090565b90613cb984835414613666565b60018201805492906002613cd9600886901c6001600160a01b03166137a0565b613ce281611d59565b1480613df9575b613d7b5750600290613d026005610bb160208601612bbf565b015490613d118284838861470f565b613d2060c082610cb4876140d5565b038173dccc09e335b87fb506c40a972e76fc7a225e0bf95af49283156104a9577f1b92e8ef67d8a7c0d29c99efcd180a5e0d98d60ac41d52abbbb5950882c78e4e9461384994610c97935f91610d3b5750610d2b3686612fc4565b805460ff191660031790557f1b92e8ef67d8a7c0d29c99efcd180a5e0d98d60ac41d52abbbb5950882c78e4e9260059250613df19060048301905f82549255613dda600385016fffffffffffffffff0000000000000000198154169055565b600c84015460401c6001600160a01b031690614ae5565b61392561447e565b50600382015460401c6001600160401b03166001600160401b0342911610613ce9565b613849816139836005610bb160207f32e24720f56fd5a7f4cb219d7ff3278ae95196e79c85b5801395894a6f53466c9601612bbf565b15613e5957565b6306a41ced60e21b5f5260045ffd5b15613e705750565b60ff9063399eb60560e01b5f521660045260245ffd5b15613e8f575050565b9060ff6001600160401b039263975133f360e01b5f52166004521660245260445ffd5b9291908015613f8c57801561315d57613f0191843560f81c9081613f0557507f000000000000000000000000000000000000000000000000000000000000000094600101925f19909201919050565b9091565b600180613f1884613f1f949060ff161c90565b1614613e52565b613f7f613f378260ff165f52600760205260405f2090565b546001600160a01b0381169290613f6c90613f6790613f5884871515613e68565b60a01c6001600160401b031690565b613ab9565b906001600160401b038216421015613e86565b93600101915f1990910190565b63ac241e1160e01b5f5260045ffd5b90816020910312610295575190565b9392606093613fd56001600160a01b0394612bae949998998852608060208901526080880190611d7f565b918683036040880152612dfc565b9193929590613ff1906156d3565b916002821015611d63576020956001600160a01b039261407a5761402d905b604051635850a09b60e11b81529889978896879560048701613faa565b0392165afa80156104a95761278f915f9161404b575b501515613a1f565b61406d915060203d602011614073575b614065818361275f565b810190613f9b565b5f614043565b503d61405b565b5061402d7f0000000000000000000000000000000000000000000000000000000000000000614010565b604051906140b182612744565b5f6080838281526140c0613b65565b60208201528260408201528260608201520152565b6140dd6140a4565b905f5260026020526001600160401b0380600360405f2060ff60018201541661410581611d59565b8552614113600582016128e3565b6020860152600481015460408601520154818116606085015260401c1616608082015290565b600160ff1b8114611bd8575f0390565b936141b694602094939682614166835f52600260205260405f2090565b9860a08701956141768751151590565b156144495760808201518901516001600160a01b0316998a975b60408a018d81516141a081611d59565b6141a981611d59565b61442b575b505051151590565b614418575b50505050506141d460608401516001600160401b031690565b6001600160401b0381166143ef575b5060038601805460808501516001600160401b039081169160401c168190036143b8575b50505f8351135f1461436b576142299061422184516158e5565b92839161548a565b6142386004860191825461331f565b90555b0180515f8113156142d057505f516020615d695f395f51905f52916142686001600160a01b0392516158e5565b6142b960046142928361428c866001600160a01b03165f52600660205260405f2090565b5461332c565b96876142af866001600160a01b03165f52600660205260405f2090565b550191825461331f565b90556040519384521691602090a25b61278f61447e565b90505f81126142e2575b5050506142c8565b5f516020615d695f395f51905f529161430a6143056001600160a01b0393614139565b6158e5565b614355600461432e836138ed866001600160a01b03165f52600660205260405f2090565b968761434b866001600160a01b03165f52600660205260405f2090565b550191825461332c565b90556040519384521691602090a25f80806142da565b6143753415612bdf565b8251905f8212614388575b50505061423b565b61439761430561439f93614139565b928391614ae5565b6143ae6004860191825461332c565b9055825f80614380565b81546fffffffffffffffff0000000000000000191660409190911b6fffffffffffffffff0000000000000000161790555f80614207565b6144129060038801906001600160401b03166001600160401b0319825416179055565b5f6141e3565b614421946157eb565b5f808281806141bb565b600161444292519161443c83611d59565b0161367c565b5f8d6141ae565b600c8b015460401c6001600160a01b0316998a97614190565b9291906144796020916040865260408601906104ae565b930152565b6003546004545f928390828411156145e85761449a838561332c565b806040105f146145da57506144b4604095949392956132ed565b925b808310806145d0575b156145c2576144d06105de84613145565b6144e56105fd825f52600260205260405f2090565b956144ef81615559565b6145ad576144fc81615589565b1561455b576001600160a01b036145436105fd600198999a6106ab955f866106ba610661600c5f516020615d695f395f51905f529a01546001600160a01b039060401c1690565b604051938452961691602090a25b94939291946144b6565b5050509391925061456b90600455565b80614574575050565b81817f8fac6141d748dc9c9bc16cc25f636385597618190a44c03d33be5656e01b364293526145a860405192839283614462565b0390a1565b5050929394916145bc906139b6565b92614551565b509391925061456b90600455565b50604085106144bf565b6144b49095949392956132ed565b5f61449a565b356104f281612bf5565b156145ff57565b630596b15b60e01b5f5260045ffd5b6001600160a01b03602082013561462481610284565b166146308115156139eb565b6001600160a01b03604083013561464681610284565b817f00000000000000000000000000000000000000000000000000000000000000001691829116036146ce5781146146bc5750806201518063ffffffff61468f61278f946145ee565b161015908161469f575b506145f8565b62093a8091506146b363ffffffff916145ee565b1611155f614699565b63abfa558d60e01b5f5260045260245ffd5b6308ad910960e21b5f5260045ffd5b903590601e198136030182121561029557018035906001600160401b0382116102955760200191813603831361029557565b909161278f9361473f61474d926147348361472e6102208901896146dd565b90613eb2565b908888949394615949565b61472e6102408501856146dd565b91937f000000000000000000000000000000000000000000000000000000000000000093615949565b9060146001600160401b039161478a6140a4565b935f525f60205260405f20906147a460ff83541686613bcb565b6147b0600583016128e3565b6020860152601382015460408601526060850152015416608082015290565b9060a060039163ffffffff81511663ffffffff198554161784556001600160a01b036020820151167fffffffffffffffff0000000000000000000000000000000000000000ffffffff77ffffffffffffffffffffffffffffffffffffffff0000000086549260201b1691161784556148b16001850161488461485b60408501516001600160a01b031690565b82906001600160a01b031673ffffffffffffffffffffffffffffffffffffffff19825416179055565b6060830151815467ffffffffffffffff60a01b191660a09190911b67ffffffffffffffff60a01b16179055565b608081015160028501550151910155565b926148fe8161494d946080946148df885f525f60205260405f2090565b976148eb895460ff1690565b6148f4816123bb565b156149c3576152c4565b60408101805161490d816123bb565b614916816123bb565b151580614998575b61497e575b5060148401805460608301516001600160401b03908116911681900361495c575b50500151151590565b6149545750565b60135f910155565b815467ffffffffffffffff19166001600160401b039091161790555f80614944565b614992905161498c816123bb565b856133dd565b5f614923565b50845460ff168151906149aa826123bb565b6149b3826123bb565b6149bc816123bb565b141561491e565b6149d08260018b016147cf565b6152c4565b805f525f60205260ff60405f2054166006811015611d63578015908115614a1d575b50614a18575f525f6020526001600160401b03600760405f20015416461490565b505f90565b60059150614a2a816123bb565b145f6149f7565b90614a8391805f525f602052614a4c600160405f20016131f8565b60a083614a68614a6161096a60808401612c98565b5485614776565b604051632a2d120f60e21b8152968792839260048401612ec0565b03817389b81857a46cf290f23f6ff9b24e1031aad652045af49283156104a95761278f945f94614ac0575b50614aba903690612fc4565b916148c2565b614aba919450614ade9060a03d60a011610b4757610b39818361275f565b9390614aae565b90614af89291614af3615604565b614b1e565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b9190918115614c4a576001600160a01b0383169283614bc2576001600160a01b038216925f8080808488620186a0f1614b55613c34565b5015614b62575050505050565b614ba5613849926125cb7fbf182be802245e8ed88e4b8d3e4344c0863dd2a70334f089fd07265389306fcf956001600160a01b03165f52600860205260405f2090565b614bb082825461331f565b90556040519081529081906020820190565b614bd4614bd0848484615add565b1590565b614bdf575b50505050565b81614c286001600160a01b03926125cb7fbf182be802245e8ed88e4b8d3e4344c0863dd2a70334f089fd07265389306fcf956001600160a01b03165f52600860205260405f2090565b614c3385825461331f565b90556040519384521691602090a35f808080614bd9565b505050565b905f52600560205260405f2054159081614c67575090565b6104f291506149d5565b614c796140a4565b905f5260056020526001600160401b03600360405f2060ff600182015416614ca081611d59565b8452614cae600582016128e3565b60208501526004810154604085015201541660608201525f608082015290565b90614cd76140a4565b915f5260056020526001600160401b03600360405f2060ff600182015416614cfe81611d59565b8552614d0c600582016128e3565b6020860152600481015460408601520154166060830152608082015290565b6020939291614db691614d46815f52600560205260405f2090565b97604086018051614d5681611d59565b614d5f81611d59565b614e45575b5087856080880194614d768651151590565b614e32575b505050505060038701614d9581546001600160401b031690565b60608601516001600160401b039081169116819003614e1057505051151590565b15614df757608001518201516001600160a01b031680935b8251905f821315614de857614229915061422184516158e5565b5f82126143885750505061423b565b50600c84015460401c6001600160a01b03168093614dce565b815467ffffffffffffffff19166001600160401b039091161790555f806141ae565b614e3b94615b4a565b5f80878582614d7b565b614e5c9051614e5381611d59565b60018b0161367c565b5f614d64565b9160ff6001600160a01b03928360405195466020880152166040860152166060840152166080820152608081526104f260a08261275f565b805192835f947a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000821015615036575b806d04ee2d6d415b85acef8100000000600a92101561501a575b662386f26fc10000811015615005575b6305f5e100811015614ff3575b612710811015614fe3575b6064811015614fd4575b1015614fc9575b614f606021614f2860018801615c08565b968701015b5f1901917f3031323334353637383961626364656600000000000000000000000000000000600a82061a8353600a900490565b908115614f7057614f6090614f2d565b50506001600160a01b03614f9584614f89858498615b9c565b60208151910120615bf2565b911693168314614fc157614fb39181602061142d9351910120615bf2565b14614fbc575f90565b600190565b505050600190565b600190940193614f17565b60029060649004960195614f10565b6004906127109004960195614f06565b6008906305f5e1009004960195614efb565b601090662386f26fc100009004960195614eee565b6020906d04ee2d6d415b85acef81000000009004960195614ede565b50604094507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008104614ec4565b90600a811015611d635768ff000000000000000082549160401b169068ff00000000000000001916179055565b8151815460208401516040808601516001600160401b039094167fffffff000000000000000000000000000000000000000000000000000000000090931692909217911b7bffffffffffffffffffffffffffffffffffffffff0000000000000000161760e09190911b60ff60e01b16178155606082015160018201556080820151600282015560a0820151600382015560c090910151600490910155565b601f821161513657505050565b5f5260205f20906020601f840160051c8301931061516e575b601f0160051c01905b818110615163575050565b5f8155600101615158565b909150819061514f565b91909182516001600160401b0381116108265761519f81615199845461280f565b84615129565b6020601f82116001146151da5781906131909394955f926151cf575b50508160011b915f199060031b1c19161790565b015190505f806151bb565b601f198216906151ed845f5260205f2090565b915f5b8181106152275750958360019596971061520f575b505050811b019055565b01515f1960f88460031b161c191690555f8080615205565b9192602060018192868b0151815501940192016151f0565b8151815467ffffffffffffffff19166001600160401b0391909116178155602082015191600a831015611d635760c0600d9161527e61278f958561505e565b6040810151600185015561529960608201516002860161508b565b6152aa60808201516007860161508b565b6152bb60a0820151600c8601615178565b01519101615178565b9161531360206152e1615305959694965f525f60205260405f2090565b956152f982606086015101516001600160a01b031690565b9586946005890161523f565b01516001600160a01b031690565b5f8351135f1461547b5761532783516158e5565b61533281848461548a565b6153416013870191825461331f565b90555b602083019283515f81136153fa575b5051905f82126153d2575b505050515f8112615375575b50505061278f61447e565b5f516020615d695f395f51905f52916153986143056001600160a01b0393614139565b6153bc601361432e836138ed866001600160a01b03165f52600660205260405f2090565b90556040519384521691602090a25f808061536a565b6143976143056153e193614139565b6153f06013850191825461332c565b9055815f8061535e565b615403906158e5565b6154228161428c866001600160a01b03165f52600660205260405f2090565b908161543f866001600160a01b03165f52600660205260405f2090565b5561544f6013890191825461331f565b90556040519081526001600160a01b038416905f516020615d695f395f51905f5290602090a25f615353565b6154853415612bdf565b615344565b90614af89291615498615604565b908215614c4a576001600160a01b0316918215801561554a576154bc823414612bdf565b156154c657505050565b6001600160a01b03604051926323b872dd60e01b5f52166004523060245260445260205f60648180865af160015f511481161561552b575b6040919091525f606052156155105750565b635274afe760e01b5f526001600160a01b031660045260245ffd5b6001811516615541573d15833b151516166154fe565b503d5f823e3d90fd5b6155543415612bdf565b6154bc565b6001015460ff1661556981611d59565b60038114908115615578575090565b6002915061558581611d59565b1490565b6001600160401b0360038201541642101590816155a4575090565b600180925060ff9101541661558581611d59565b90614af892916155c6615604565b91908115614c4a576001600160a01b031691826155fb5761278f92505f808080856001600160a01b0386165af161262b613c34565b61278f92615662565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146156535760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b633ee5aeb560e01b5f5260045ffd5b916001600160a01b036040519263a9059cbb60e01b5f521660045260245260205f60448180865af160015f51148116156156a5575b604091909152156155105750565b6001811516615541573d15833b15151616615697565b905f52600260205260405f2054159081614c67575090565b6001600160401b03815116906020810151600a811015611d635761577a8260406157da94015161571a60806060840151930151946040519760208901526040880190611d72565b6060860152608085019060c080916001600160401b0381511684526001600160a01b03602082015116602085015260ff6040820151166040850152606081015160608501526080810151608085015260a081015160a08501520151910152565b80516001600160401b031661016084015260208101516001600160a01b0316610180840152604081015160ff166101a084015260608101516101c084015260808101516101e084015260a081015161020084015260c00151610220830152565b61022081526104f26102408261275f565b9190915f52600260205260405f20918255600582019261582b6001600160401b0383511685906001600160401b03166001600160401b0319825416179055565b602082015193600a851015611d635760c06158e19361584f6002976158979461505e565b6040810151600687015561586a60608201516007880161508b565b61587b6080820151600c880161508b565b61588c60a082015160118801615178565b015160128501615178565b60018301907fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff0083549260081b169116179055565b0155565b5f81126158ef5790565b635467221960e11b5f5260045260245ffd5b90604051918281549182825260208201905f5260205f20925f5b81811061593057505061278f9250038361275f565b845483526001948501948794506020909301920161591b565b6001600160a01b039061402d61596f61596a60209895999697993690612fc4565b6156d3565b936040519889978896879563600109bb60e01b875260048701613faa565b6001810190825f528160205260405f2054155f146159f557805468010000000000000000811015610826576159e26159cc826001879401855584613162565b819391549060031b91821b915f19901b19161790565b905554915f5260205260405f2055600190565b5050505f90565b80548015615a23575f190190615a128282613162565b8154905f199060031b1b1916905555565b634e487b7160e01b5f52603160045260245ffd5b6001810191805f528260205260405f2054928315155f14615ad5575f198401848111611bd85783545f19810194908511611bd8575f958583615a9297615a859503615a98575b5050506159fc565b905f5260205260405f2090565b55600190565b615abe615ab891615aaf6105de615acc9588613162565b92839187613162565b90613177565b85905f5260205260405f2090565b555f8080615a7d565b505050505f90565b60405163a9059cbb60e01b60208281019182526001600160a01b03909416602483015260448083019590955293815290925f91615b1b60648261275f565b51908285620186a0f15f51913d91156159f5578115615b415750602011614a1857151590565b9150503b151590565b9190915f52600560205260405f20918255600582019261582b6001600160401b0383511685906001600160401b03166001600160401b0319825416179055565b805191908290602001825e015f815290565b61278f90615be4615bde94936040519586937f19457468657265756d205369676e6564204d6573736167653a0a0000000000006020860152603a850190615b8a565b90615b8a565b03601f19810184528361275f565b6104f291615bff91615c30565b90929192615c6a565b90615c1282612f58565b615c1f604051918261275f565b8281528092613315601f1991612f58565b8151919060418303615c6057615c599250602082015190606060408401519301515f1a90615ce6565b9192909190565b50505f9160029190565b615c7381611d59565b80615c7c575050565b615c8581611d59565b60018103615c9c5763f645eedf60e01b5f5260045ffd5b615ca581611d59565b60028103615cc0575063fce698f760e01b5f5260045260245ffd5b80615ccc600392611d59565b14615cd45750565b6335e2f38360e21b5f5260045260245ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615d5d579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156104a9575f516001600160a01b03811615615d5357905f905f90565b505f906001905f90565b5050505f916003919056fe05f47829691a1f710b0620aedd52749bb09d8abe4bb530d306db920a71b0d7cea26469706673582212209ca9c46147c1489a82a869c349b42f4d493d4ac3ebf3c0ac4fa5a93e0113024c64736f6c634300081e0033000000000000000000000000ac00326e2d0c33253d77e22034291f4c2b6f3681000000000000000000000000c76632d91d45ec88304ab2a983451d9edf908c0d", | ||
| "nonce": "0x1", | ||
| "chainId": "0xaa36a7" | ||
| }, | ||
| "additionalContracts": [], | ||
| "isFixedGasLimit": false | ||
| } | ||
| ], | ||
| "receipts": [], | ||
| "libraries": [ | ||
| "src/ChannelEngine.sol:ChannelEngine:0x89B81857A46cf290F23f6ff9B24e1031aAd65204", | ||
| "src/EscrowDepositEngine.sol:EscrowDepositEngine:0xDccc09e335B87FB506C40A972e76fC7a225E0bf9", | ||
| "src/EscrowWithdrawalEngine.sol:EscrowWithdrawalEngine:0xDcA4Ab495188b545cFa919C0CB0A7e2280F2F407" | ||
| ], | ||
| "pending": [ | ||
| "0xf80e9796a40d5b976366430516408e7240f211b769159a65fcb9aed030bfd75f" | ||
| ], |
There was a problem hiding this comment.
Missing transaction trace for ChannelHub deployment.
Line 23 sets hash to null for the ChannelHub deployment, but this tx is also not present in pending (Lines 51-53). That leaves this deployment record non-auditable from this artifact alone.
Please regenerate this broadcast artifact so each transaction is either fully hashed/receipted or explicitly pending.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@contracts/broadcast/DeployChannelHub.s.sol/11155111/run-1779353692222.json`
around lines 23 - 53, The ChannelHub deployment entry has a null "hash" and no
matching entry in the "pending" array (the ChannelHub CREATE record with
contractName "ChannelHub"), making the broadcast artifact non-auditable;
regenerate the broadcast so that the ChannelHub CREATE transaction is either
finalized (populate its "hash" and corresponding receipt(s) in "receipts") or
explicitly left pending (include its tx hash in the "pending" list and keep
receipts empty), then replace the artifact with the regenerated output so every
transaction record is either fully hashed/receipted or explicitly pending.
| "hash": "0x8a149aaf4be2aa8f0d2ebae69ab29ede62e20494891a5a287e6fa7c86397f079", | ||
| "transactionType": "CREATE2", | ||
| "contractName": "EscrowWithdrawalEngine.channelhub", | ||
| "contractAddress": "0xdca4ab495188b545cfa919c0cb0a7e2280f2f407", | ||
| "function": null, | ||
| "arguments": null, | ||
| "transaction": { | ||
| "from": "0xbab179854ba39cfcfb2d1d98a05fcfa113cf4ac1", | ||
| "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", | ||
| "gas": "0xf5e93", | ||
| "input": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234601957610c31908161001e823930815050f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8062ea54e7146100ff576324063eba1461002e575f80fd5b60203660031901126100fb5760043567ffffffffffffffff81116100fb5761005a9036906004016109ec565b610062610aac565b905160048110156100e7575f19016100d857600260408201526201518067ffffffffffffffff4216019067ffffffffffffffff82116100c45767ffffffffffffffff6100c0921660608201525f608082015260405191829182610a61565b0390f35b634e487b7160e01b5f52601160045260245ffd5b630725d7e560e31b5f5260045ffd5b634e487b7160e01b5f52602160045260245ffd5b5f80fd5b60403660031901126100fb5760043567ffffffffffffffff81116100fb5761012b9036906004016109ec565b60243567ffffffffffffffff81116100fb5761014b903690600401610935565b610153610aac565b50815160048110156100e7576003146107d05767ffffffffffffffff461660608201908067ffffffffffffffff83515116146107c157608083019067ffffffffffffffff82515116036107b25767ffffffffffffffff835116156106785780516040810190601260ff835116116107a3574667ffffffffffffffff825116146106de575b5050805160a0606082015191015181018091116100c457610203825160c0608082015191015190610ad6565b5f81126106cf5761021390610b01565b036106c057835160048110156100e75760021461069b575b610233610aac565b5060208301928351600a8110156100e75760068103610448575050610256610aac565b91845160048110156100e7576104395760608251015161042a5760808251015161041b5781519160c060a084015193015161029084610b1d565b0361040c576102bd60ff60406102b28551838360608301519201511690610b7b565b935101511684610b7b565b116103fd575160a001516103ee576102d490610b1d565b60208201526001604082015260016080820152915b8251158015906103e1575b156103d25782519161030c6020850193845190610ad6565b908051600a8110156100e757600603610369575082510361035a5760806103369101519151610b01565b1161034c576100c0905b60405191829182610a61565b62b8ec7b60e61b5f5260045ffd5b638041118f60e01b5f5260045ffd5b9091925051600a8110156100e75760071461038a575b50506100c090610340565b8251036103c35760406103a56103a08451610af1565b610b01565b910151036103b457818061037f565b631b22645160e31b5f5260045ffd5b6322e0e03d60e21b5f5260045ffd5b630bde39a760e11b5f5260045ffd5b50602083015115156102f4565b63a5eabfa560e01b5f5260045ffd5b63e19f88d560e01b5f5260045ffd5b63035a66d760e11b5f5260045ffd5b634c66f95560e01b5f5260045ffd5b631605013b60e11b5f5260045ffd5b63ed77877960e01b5f5260045ffd5b90929060070361065a5761045a610aac565b92855160048110156100e7576001148015610687575b156100d85767ffffffffffffffff9051166020860190600167ffffffffffffffff835151160167ffffffffffffffff81116100c45767ffffffffffffffff1603610678576001600160a01b03602084510151166001600160a01b0360206080845101510151160361066957602081510151600a8110156100e7576005190161065a5760a060808251015101519260608151015161042a5760808151015161051e61051986610b1d565b610af1565b0361041b5760a0815101516103ee575160c0015161053b84610b1d565b0361062d57606082510151606080835101510151111561064b5760608082510151015160608351015181039081116100c4576105809060ff6040855101511690610b7b565b61059660ff604060808551015101511685610b7b565b0361063c5760c08251015160c06060835101510151905f82820392128183128116918313901516176100c4575f81121561062d57604060806105f66105f06106039660ff856105e58298610af1565b925101511690610bb8565b96610b1d565b9351015101511690610bb8565b0361040c576106186105196040850151610b1d565b8152600360408201525f6080820152916102e9565b630c18740d60e01b5f5260045ffd5b63ffda345d60e01b5f5260045ffd5b6304bc7c3760e31b5f5260045ffd5b633226144f60e21b5f5260045ffd5b630486bbc360e51b5f5260045ffd5b6307646e4960e01b5f5260045ffd5b50855160048110156100e757600214610470565b67ffffffffffffffff60608501511642111561022b5763f06506c560e01b5f5260045ffd5b6392ad5c7560e01b5f5260045ffd5b630e6af40760e41b5f5260045ffd5b602001516001600160a01b031680610714575060ff601291511603610705575b84806101d7565b635a8dbaed60e01b5f5260045ffd5b9060206004926040519384809263313ce56760e01b82525afa5f9281610765575b5061074957636afa2af960e01b5f5260045ffd5b60ff809151169116146106fe57635a8dbaed60e01b5f5260045ffd5b9092506020813d60201161079b575b816107816020938361082b565b810103126100fb575160ff811681036100fb579187610735565b3d9150610774565b632c05b0fd60e21b5f5260045ffd5b639ba78e5560e01b5f5260045ffd5b6321e65f6560e01b5f5260045ffd5b636915564560e01b5f5260045ffd5b60e0810190811067ffffffffffffffff8211176107fb57604052565b634e487b7160e01b5f52604160045260245ffd5b60a0810190811067ffffffffffffffff8211176107fb57604052565b90601f8019910116810190811067ffffffffffffffff8211176107fb57604052565b359067ffffffffffffffff821682036100fb57565b91908260e09103126100fb5760405161087a816107df565b80926108858161084d565b825260208101356001600160a01b03811681036100fb576020830152604081013560ff811681036100fb5760c09182916040850152606081013560608501526080810135608085015260a081013560a08501520135910152565b81601f820112156100fb5780359067ffffffffffffffff82116107fb5760405192610914601f8401601f19166020018561082b565b828452602083830101116100fb57815f926020809301838601378301015290565b9190610260838203126100fb576040519061094f826107df565b819361095a8161084d565b83526020810135600a8110156100fb576020840152604081013560408401526109868260608301610862565b6060840152610999826101408301610862565b608084015261022081013567ffffffffffffffff81116100fb57826109bf9183016108df565b60a08401526102408101359167ffffffffffffffff83116100fb5760c0926109e792016108df565b910152565b91909160a0818403126100fb5760405190610a068261080f565b8193813560048110156100fb57835260208201359167ffffffffffffffff83116100fb57610a3a6080939284938301610935565b602085015260408101356040850152610a556060820161084d565b60608501520135910152565b91909160a08101928051825260208101516020830152604081015160048110156100e7576080918291604085015267ffffffffffffffff606082015116606085015201511515910152565b60405190610ab98261080f565b5f6080838281528260208201528260408201528260608201520152565b9190915f83820193841291129080158216911516176100c457565b600160ff1b81146100c4575f0390565b5f8112610b0b5790565b635467221960e11b5f5260045260245ffd5b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111610b475790565b63123baf0360e11b5f5260045260245ffd5b60ff166012039060ff82116100c457565b60ff16604d81116100c457600a0a90565b9060ff8116601281116107a357601214610bb457610b9b610ba091610b59565b610b6a565b908181029181830414901517156100c45790565b5090565b9060ff8116601281116107a357601214610bb457610b9b610bd891610b59565b81810291905f8212600160ff1b8214166100c45781830514901517156100c4579056fea26469706673582212206962417e2cd8eb647234f143f2014cfb5f1a06887319a0bcf2a01e09331d57de64736f6c634300081e0033", | ||
| "nonce": "0x1", | ||
| "chainId": "0xe705" | ||
| }, | ||
| "additionalContracts": [], | ||
| "isFixedGasLimit": false | ||
| }, | ||
| { | ||
| "hash": "0x8590922c6571c3e212736e1c88cd82d2a38a13c4026fa71ecd331ffd288dd295", | ||
| "transactionType": "CREATE2", | ||
| "contractName": "EscrowDepositEngine.channelhub", | ||
| "contractAddress": "0xdccc09e335b87fb506c40a972e76fc7a225e0bf9", | ||
| "function": null, | ||
| "arguments": null, | ||
| "transaction": { | ||
| "from": "0xbab179854ba39cfcfb2d1d98a05fcfa113cf4ac1", | ||
| "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", | ||
| "gas": "0xfc763", | ||
| "input": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234601957610bc8908161001e823930815050f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80636666e4c0146106f95763bbc42f341461002f575f80fd5b60403660031901126106b15760043567ffffffffffffffff81116106b15761005b9036906004016109a1565b60243567ffffffffffffffff81116106b15761007b9036906004016108ea565b610083610a89565b508151600481101561030b576003146106ea5767ffffffffffffffff46169060608101918067ffffffffffffffff84515116146106db57608082019067ffffffffffffffff82515116036106cc5767ffffffffffffffff8251161561057f5780516040810190601260ff835116116106bd574667ffffffffffffffff825116146105f4575b5050805160a06060820151910151810180911161033b57610134825160c0608082015191015190610aca565b5f81126105e55761014490610af5565b036105d6578351600481101561030b576002146105b1575b610164610a89565b5060208201928351600a81101561030b576004810361039a5750909150610189610a89565b918451600481101561030b5761038b57805191608060608401519301516101af84610b11565b0361037c5760a08251015161036d5760c08251015161035e5760ff60406101e56101f09351838360a08301519201511690610b4d565b935101511683610b4d565b0361034f576101fe90610b11565b815260016040820152612a3067ffffffffffffffff42160167ffffffffffffffff811161033b5767ffffffffffffffff166060820152600160a0820152915b82511580159061032e575b1561031f57825161025f6020850191825190610aca565b928051600a81101561030b576004036102a0575050508151036102915761028d905b60405191829182610a2a565b0390f35b638041118f60e01b5f5260045ffd5b9290919251600a81101561030b576005146102c2575b50505061028d90610281565b8151036102fc576102dd6102d860409251610ae5565b610af5565b910151036102ed575f80806102b6565b63b09443e760e01b5f5260045ffd5b6322e0e03d60e21b5f5260045ffd5b634e487b7160e01b5f52602160045260245ffd5b630bde39a760e11b5f5260045ffd5b5060208301511515610248565b634e487b7160e01b5f52601160045260245ffd5b63e19f88d560e01b5f5260045ffd5b630c18740d60e01b5f5260045ffd5b63a5eabfa560e01b5f5260045ffd5b633b5613e560e11b5f5260045ffd5b63ed77877960e01b5f5260045ffd5b600503610561576103a9610a89565b928551600481101561030b57600114801561059d575b1561058e5767ffffffffffffffff905116916020860192600167ffffffffffffffff855151160167ffffffffffffffff811161033b5767ffffffffffffffff160361057f576001600160a01b03602082510151166001600160a01b0360206080865101510151160361057057602083510151600a81101561030b576003190161056157606060808451015101519060808151015161045c83610b11565b0361037c5760c08151015161047861047384610b11565b610ae5565b0361035e57606081510151610552575160a0015161036d57606082510151606080855101510151810390811161033b576104be6104d29160ff6040865101511690610b4d565b9160ff604060808751015101511690610b4d565b036105435760a08151015161036d57606060808092510151925101510151908181035f831282808312821692139015161761033b57036105345761051c6104736040850151610b11565b6020820152600360408201525f60a08201529161023d565b631180da8f60e01b5f5260045ffd5b630ff0edb360e41b5f5260045ffd5b631605013b60e11b5f5260045ffd5b633226144f60e21b5f5260045ffd5b630486bbc360e51b5f5260045ffd5b6307646e4960e01b5f5260045ffd5b630725d7e560e31b5f5260045ffd5b508551600481101561030b576002146103bf565b67ffffffffffffffff60808501511642111561015c5763f06506c560e01b5f5260045ffd5b6392ad5c7560e01b5f5260045ffd5b630e6af40760e41b5f5260045ffd5b602001516001600160a01b03168061062a575060ff60129151160361061b575b5f80610108565b635a8dbaed60e01b5f5260045ffd5b9060206004926040519384809263313ce56760e01b82525afa5f928161067b575b5061065f57636afa2af960e01b5f5260045ffd5b60ff8091511691161461061457635a8dbaed60e01b5f5260045ffd5b9092506020813d6020116106b5575b81610697602093836107e0565b810103126106b1575160ff811681036106b157915f61064b565b5f80fd5b3d915061068a565b632c05b0fd60e21b5f5260045ffd5b639ba78e5560e01b5f5260045ffd5b6321e65f6560e01b5f5260045ffd5b636915564560e01b5f5260045ffd5b60203660031901126106b15760043567ffffffffffffffff81116106b1576107259036906004016109a1565b61072d610a89565b908051600481101561030b575f190161058e576060015167ffffffffffffffff164210156107a157600260408201526201518067ffffffffffffffff4216019067ffffffffffffffff821161033b5767ffffffffffffffff61028d921660808201525f60a082015260405191829182610a2a565b63159ce82160e11b5f5260045ffd5b60e0810190811067ffffffffffffffff8211176107cc57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff8211176107cc57604052565b359067ffffffffffffffff821682036106b157565b91908260e09103126106b15760405161082f816107b0565b809261083a81610802565b825260208101356001600160a01b03811681036106b1576020830152604081013560ff811681036106b15760c09182916040850152606081013560608501526080810135608085015260a081013560a08501520135910152565b81601f820112156106b15780359067ffffffffffffffff82116107cc57604051926108c9601f8401601f1916602001856107e0565b828452602083830101116106b157815f926020809301838601378301015290565b9190610260838203126106b15760405190610904826107b0565b819361090f81610802565b83526020810135600a8110156106b15760208401526040810135604084015261093b8260608301610817565b606084015261094e826101408301610817565b608084015261022081013567ffffffffffffffff81116106b15782610974918301610894565b60a08401526102408101359167ffffffffffffffff83116106b15760c09261099c9201610894565b910152565b91909160a0818403126106b1576040519060a0820182811067ffffffffffffffff8211176107cc576040528193813560048110156106b157835260208201359067ffffffffffffffff82116106b15782610a046080949261099c948694016108ea565b602086015260408101356040860152610a1f60608201610802565b606086015201610802565b91909160c081019280518252602081015160208301526040810151600481101561030b5760a0918291604085015267ffffffffffffffff606082015116606085015267ffffffffffffffff608082015116608085015201511515910152565b6040519060c0820182811067ffffffffffffffff8211176107cc576040525f60a0838281528260208201528260408201528260608201528260808201520152565b9190915f838201938412911290801582169115161761033b57565b600160ff1b811461033b575f0390565b5f8112610aff5790565b635467221960e11b5f5260045260245ffd5b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111610b3b5790565b63123baf0360e11b5f5260045260245ffd5b9060ff16601281116106bd5760128114610b8e5760120360ff811161033b5760ff16604d811161033b57600a0a9081810291818304149015171561033b5790565b509056fea26469706673582212207eb21c0d1619a3248a4b3fe08eef8df6e3a6e3feca56e1a09ecf8241267f767564736f6c634300081e0033", | ||
| "nonce": "0x2", | ||
| "chainId": "0xe705" |
There was a problem hiding this comment.
Receipt hash/index mapping is inconsistent with transaction metadata.
transactions shows EscrowWithdrawalEngine.channelhub as hash 0x8a14... with nonce 0x1 (Lines 22-33), and EscrowDepositEngine.channelhub as hash 0x8590... with nonce 0x2 (Lines 40-51).
But receipts report 0x8590... at transactionIndex: 0x1 (Lines 122-124) and 0x8a14... at transactionIndex: 0x2 (Lines 138-140).
Please regenerate the artifact so transaction hash/nonce metadata and receipt index/hash metadata are internally consistent.
Also applies to: 116-147
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@contracts/broadcast/DeployChannelHub.s.sol/59141/run-1779363212273.json`
around lines 22 - 52, The artifact has mismatched transaction metadata vs
receipts for EscrowWithdrawalEngine.channelhub and
EscrowDepositEngine.channelhub: ensure the transactions array entries
(contractName, hash, nonce) and the receipts entries (transactionHash,
transactionIndex) are consistent by regenerating the JSON so that
EscrowWithdrawalEngine.channelhub (hash 0x8a14...) with nonce 0x1 maps to the
matching receipt with the same transactionHash and the correct transactionIndex,
and EscrowDepositEngine.channelhub (hash 0x8590...) with nonce 0x2 maps to its
matching receipt; verify and correct all occurrences in the transactions and
receipts sections so hashes, nonces and transactionIndex values align before
committing the regenerated artifact.
| { | ||
| "deployer": "0xbab179854ba39cfcfb2d1d98a05fcfa113cf4ac1", | ||
| "deployedTo": "0x6c333ac983749b9404704915ee6859bf1942a091", | ||
| "transactionHash": "null", |
There was a problem hiding this comment.
Use JSON null instead of string "null" for transactionHash.
On Line 4, storing "null" as a string is brittle for metadata parsers that validate hash/null types. Use null (JSON null) or the actual hash.
Proposed fix
- "transactionHash": "null",
+ "transactionHash": null,📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "transactionHash": "null", | |
| "transactionHash": null, |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@contracts/deployments/11155111/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T08-54-52.json`
at line 4, The JSON metadata currently sets the transactionHash field to the
string literal "null"; update the transactionHash entry so it is a proper JSON
null (transactionHash: null) or replace it with the real transaction hash
string, ensuring the value is a true null value rather than the string "null" in
the sandbox-v1_3_0-2026-05-21T08-54-52.json payload.
| "commit": "5922d1707a10340148adb41414f956184c0c5c34", | ||
| "timestamp": 1779355416, | ||
| "chainId": 11155111, | ||
| "contractPath": "./src/sigValidators/SessionKeyValidator.sol:SessionKeyValidator", |
There was a problem hiding this comment.
Normalize contractPath format to match deployment metadata conventions.
Line 8 uses ./src/... while the rest of the deployment manifests use src/.... Keep one canonical format to avoid path-based lookup mismatches.
Proposed fix
- "contractPath": "./src/sigValidators/SessionKeyValidator.sol:SessionKeyValidator",
+ "contractPath": "src/sigValidators/SessionKeyValidator.sol:SessionKeyValidator",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "contractPath": "./src/sigValidators/SessionKeyValidator.sol:SessionKeyValidator", | |
| "contractPath": "src/sigValidators/SessionKeyValidator.sol:SessionKeyValidator", |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@contracts/deployments/11155111/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-23-36.json`
at line 8, The deployment metadata uses a non-canonical relative path for the
contractPath field; update the contractPath value for SessionKeyValidator so it
matches the rest of manifests by removing the leading "./" (i.e., use
src/sigValidators/SessionKeyValidator.sol:SessionKeyValidator), ensuring any
path-based lookup of contractPath matches other deployment entries.
bc36c43 to
c51c055
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@nitronode/chart/config/old/sandbox-v1/assets.yaml`:
- Around line 7-12: The ETH asset entries currently using address
"0x0000000000000000000000000000000000000000" (blockchain_id: 59141 and
blockchain_id: 84532) must follow the same native-token sentinel used elsewhere
(e.g., "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"); update those address
fields to that sentinel (or alternatively update the other native entry to
zero-address if you intentionally prefer zero-address) and ensure the change is
applied consistently across all native ETH entries to avoid parsing ambiguity.
- Around line 40-59: The "Yellow USD" asset definitions have inconsistent
per-chain decimals and repeated placeholder address usage; inspect the sandbox
v1.3.0 PremintERC20 deployment metadata for YUSD and update the "Yellow USD"
asset (name "Yellow USD", symbol "yusd", top-level decimals and each tokens[]
entry) so each tokens[].address matches the real per-chain deployed address and
each tokens[].decimals matches the on-chain ERC-20 decimals() value for that
address (e.g., fix the 59141/84532/1449000/11155111 entries that reuse
0x67a5F0... and the 80002 entry with decimals: 8), and reconcile or remove the
top-level decimals if per-token decimals must differ.
In `@nitronode/chart/config/sandbox-v1/clearnode.yaml.gotmpl`:
- Around line 26-29: Update the image tag for the clearnode chart to the sandbox
v1.3.0 release by changing the image.tag value from "v1.2.0" to "v1.3.0" in the
clearnode Helm template (look for the image: repository:
ghcr.io/layer-3/nitrolite/clearnode and the image.tag field in
clearnode.yaml.gotmpl) so the deployed artifact matches the v1.3.0 rollout and
avoids compatibility drift.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 3b6767b2-9e69-4e20-ba33-031ccebdbe7f
📒 Files selected for processing (51)
contracts/broadcast/DeployChannelHub.s.sol/11155111/run-1779353692222.jsoncontracts/broadcast/DeployChannelHub.s.sol/11155111/run-latest.jsoncontracts/broadcast/DeployChannelHub.s.sol/1449000/run-1779364442629.jsoncontracts/broadcast/DeployChannelHub.s.sol/59141/run-1779363212273.jsoncontracts/broadcast/DeployChannelHub.s.sol/59141/run-latest.jsoncontracts/broadcast/DeployChannelHub.s.sol/80002/run-1779355867097.jsoncontracts/broadcast/DeployChannelHub.s.sol/80002/run-latest.jsoncontracts/broadcast/DeployChannelHub.s.sol/84532/run-1779355068769.jsoncontracts/broadcast/DeployChannelHub.s.sol/84532/run-latest.jsoncontracts/deployments/11155111/ChannelEngine.sol_ChannelEngine/dev-v1_3_0-2026-05-20T12-00-01.jsoncontracts/deployments/11155111/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T13-07-26.jsoncontracts/deployments/11155111/ChannelHub.sol_ChannelHub/stress-v1_3_0-2026-05-20T14-12-01.jsoncontracts/deployments/11155111/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T09-23-00.jsoncontracts/deployments/11155111/EscrowDepositEngine.sol_EscrowDepositEngine/dev-v1_3_0-2026-05-20T12-00-01.jsoncontracts/deployments/11155111/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/dev-v1_3_0-2026-05-20T12-00-01.jsoncontracts/deployments/11155111/PremintERC20.sol_PremintERC20/sandbox-v1_3_0-2026-05-21T15-00-01.jsoncontracts/deployments/11155111/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-23-36.jsoncontracts/deployments/1449000/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T11-54-02.jsoncontracts/deployments/1449000/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T11-54-52.jsoncontracts/deployments/1449000/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T11-54-52.jsoncontracts/deployments/1449000/EscrowDepositEngine.sol_EscrowDepositEngine/sandbox-v1_3_0-2026-05-21T11-54-02.jsoncontracts/deployments/1449000/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/sandbox-v1_3_0-2026-05-21T11-54-02.jsoncontracts/deployments/1449000/PremintERC20.sol_PremintERC20/sandbox-v1_3_0-2026-05-21T14-57-16.jsoncontracts/deployments/1449000/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T11-56-56.jsoncontracts/deployments/59141/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/EscrowDepositEngine.sol_EscrowDepositEngine/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/sandbox-v1_3_0-2026-05-21T11-33-32.jsoncontracts/deployments/59141/PremintERC20.sol_PremintERC20/sandbox-v1_3_0-2026-05-21T14-58-01.jsoncontracts/deployments/59141/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T11-36-15.jsoncontracts/deployments/80002/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/EscrowDepositEngine.sol_EscrowDepositEngine/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/sandbox-v1_3_0-2026-05-21T09-31-07.jsoncontracts/deployments/80002/PremintERC20.sol_PremintERC20/sandbox-v1_3_0-2026-05-21T15-00-37.jsoncontracts/deployments/80002/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-32-52.jsoncontracts/deployments/84532/ChannelEngine.sol_ChannelEngine/dev-v1_3_0-2026-05-20T12-05-28.jsoncontracts/deployments/84532/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T09-17-48.jsoncontracts/deployments/84532/ChannelHub.sol_ChannelHub/stress-v1_3_0-2026-05-20T12-05-28.jsoncontracts/deployments/84532/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T09-17-48.jsoncontracts/deployments/84532/EscrowDepositEngine.sol_EscrowDepositEngine/dev-v1_3_0-2026-05-20T12-05-28.jsoncontracts/deployments/84532/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/dev-v1_3_0-2026-05-20T12-05-28.jsoncontracts/deployments/84532/PremintERC20.sol_PremintERC20/sandbox-v1_3_0-2026-05-21T14-59-43.jsoncontracts/deployments/84532/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-20-38.jsonnitronode/chart/config/old/sandbox-v1/assets.yamlnitronode/chart/config/sandbox-v1/action_gateway.yamlnitronode/chart/config/sandbox-v1/assets.yamlnitronode/chart/config/sandbox-v1/blockchains.yamlnitronode/chart/config/sandbox-v1/clearnode.yaml.gotmpl
💤 Files with no reviewable changes (2)
- contracts/broadcast/DeployChannelHub.s.sol/11155111/run-latest.json
- contracts/broadcast/DeployChannelHub.s.sol/84532/run-latest.json
✅ Files skipped from review due to trivial changes (44)
- contracts/deployments/84532/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/dev-v1_3_0-2026-05-20T12-05-28.json
- contracts/deployments/59141/EscrowDepositEngine.sol_EscrowDepositEngine/sandbox-v1_3_0-2026-05-21T11-33-32.json
- contracts/deployments/84532/ChannelEngine.sol_ChannelEngine/dev-v1_3_0-2026-05-20T12-05-28.json
- contracts/deployments/84532/EscrowDepositEngine.sol_EscrowDepositEngine/dev-v1_3_0-2026-05-20T12-05-28.json
- contracts/deployments/11155111/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T09-23-00.json
- contracts/deployments/11155111/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/dev-v1_3_0-2026-05-20T12-00-01.json
- contracts/deployments/59141/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/sandbox-v1_3_0-2026-05-21T11-33-32.json
- contracts/deployments/11155111/EscrowDepositEngine.sol_EscrowDepositEngine/dev-v1_3_0-2026-05-20T12-00-01.json
- contracts/deployments/80002/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T09-31-07.json
- nitronode/chart/config/sandbox-v1/assets.yaml
- contracts/deployments/1449000/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T11-54-02.json
- contracts/deployments/11155111/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-23-36.json
- contracts/deployments/1449000/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T11-54-52.json
- contracts/deployments/11155111/PremintERC20.sol_PremintERC20/sandbox-v1_3_0-2026-05-21T15-00-01.json
- contracts/deployments/1449000/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T11-54-52.json
- contracts/deployments/1449000/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T11-56-56.json
- contracts/broadcast/DeployChannelHub.s.sol/1449000/run-1779364442629.json
- contracts/deployments/59141/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T11-36-15.json
- contracts/deployments/80002/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T09-31-07.json
- contracts/deployments/80002/PremintERC20.sol_PremintERC20/sandbox-v1_3_0-2026-05-21T15-00-37.json
- contracts/deployments/84532/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T09-17-48.json
- contracts/deployments/59141/ECDSAValidator.sol_ECDSAValidator/sandbox-v1_3_0-2026-05-21T11-33-32.json
- contracts/deployments/80002/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T09-31-07.json
- contracts/deployments/1449000/PremintERC20.sol_PremintERC20/sandbox-v1_3_0-2026-05-21T14-57-16.json
- contracts/deployments/11155111/ChannelEngine.sol_ChannelEngine/dev-v1_3_0-2026-05-20T12-00-01.json
- contracts/deployments/1449000/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/sandbox-v1_3_0-2026-05-21T11-54-02.json
- nitronode/chart/config/sandbox-v1/action_gateway.yaml
- contracts/deployments/84532/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T09-17-48.json
- contracts/deployments/59141/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T11-33-32.json
- contracts/deployments/11155111/ChannelHub.sol_ChannelHub/sandbox-v1_3_0-2026-05-21T13-07-26.json
- contracts/deployments/59141/ChannelEngine.sol_ChannelEngine/sandbox-v1_3_0-2026-05-21T11-33-32.json
- nitronode/chart/config/sandbox-v1/blockchains.yaml
- contracts/deployments/80002/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-32-52.json
- contracts/broadcast/DeployChannelHub.s.sol/11155111/run-1779353692222.json
- contracts/deployments/80002/EscrowWithdrawalEngine.sol_EscrowWithdrawalEngine/sandbox-v1_3_0-2026-05-21T09-31-07.json
- contracts/deployments/84532/PremintERC20.sol_PremintERC20/sandbox-v1_3_0-2026-05-21T14-59-43.json
- contracts/deployments/84532/SessionKeyValidator.sol_SessionKeyValidator/sandbox-v1_3_0-2026-05-21T09-20-38.json
- contracts/deployments/80002/EscrowDepositEngine.sol_EscrowDepositEngine/sandbox-v1_3_0-2026-05-21T09-31-07.json
- contracts/broadcast/DeployChannelHub.s.sol/80002/run-1779355867097.json
- contracts/broadcast/DeployChannelHub.s.sol/80002/run-latest.json
- contracts/broadcast/DeployChannelHub.s.sol/59141/run-latest.json
- contracts/broadcast/DeployChannelHub.s.sol/59141/run-1779363212273.json
- contracts/deployments/1449000/EscrowDepositEngine.sol_EscrowDepositEngine/sandbox-v1_3_0-2026-05-21T11-54-02.json
- contracts/broadcast/DeployChannelHub.s.sol/84532/run-1779355068769.json
| - blockchain_id: 59141 | ||
| address: "0x0000000000000000000000000000000000000000" | ||
| decimals: 18 | ||
| - blockchain_id: 84532 | ||
| address: "0x0000000000000000000000000000000000000000" | ||
| decimals: 18 |
There was a problem hiding this comment.
Ether token entries use zero-address — confirm native ETH placeholder convention.
Other configurations in this stack (e.g., the XRP entry on line 30) use 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE as the native-token sentinel, while ETH tokens here use 0x0000...0000. If both are intended to represent the native gas token, the convention should be consistent across assets in the same file to avoid downstream parsing ambiguity.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@nitronode/chart/config/old/sandbox-v1/assets.yaml` around lines 7 - 12, The
ETH asset entries currently using address
"0x0000000000000000000000000000000000000000" (blockchain_id: 59141 and
blockchain_id: 84532) must follow the same native-token sentinel used elsewhere
(e.g., "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"); update those address
fields to that sentinel (or alternatively update the other native entry to
zero-address if you intentionally prefer zero-address) and ensure the change is
applied consistently across all native ETH entries to avoid parsing ambiguity.
| - name: "Yellow USD" | ||
| symbol: "yusd" | ||
| decimals: 6 | ||
| suggested_blockchain_id: 11155111 | ||
| tokens: | ||
| - blockchain_id: 59141 | ||
| address: "0x67a5F0B0553E22689A539b80cBE4A1Cd126E2Bde" | ||
| decimals: 18 | ||
| - blockchain_id: 80002 | ||
| address: "0x1b66e510B845a746334B866b62C64746bEbfF857" | ||
| decimals: 8 | ||
| - blockchain_id: 84532 | ||
| address: "0x67a5F0B0553E22689A539b80cBE4A1Cd126E2Bde" | ||
| decimals: 6 | ||
| - blockchain_id: 1449000 | ||
| address: "0x67a5F0B0553E22689A539b80cBE4A1Cd126E2Bde" | ||
| decimals: 18 | ||
| - blockchain_id: 11155111 | ||
| address: "0x67a5F0B0553E22689A539b80cBE4A1Cd126E2Bde" | ||
| decimals: 6 |
There was a problem hiding this comment.
Inconsistent decimals for YUSD across chains (likely misconfiguration).
The same placeholder address 0x67a5F0B0553E22689A539b80cBE4A1Cd126E2Bde is reused on chains 59141, 84532, 1449000, and 11155111 but with differing decimals (18, 6, 18, 6 respectively). A stablecoin like YUSD is typically deployed with the same decimals across chains, and an ERC-20 at a given address has exactly one decimals() value — so either the addresses are placeholders that still need to be replaced with real per-chain deployments, or the decimals values are wrong. Additionally, chain 80002 uses a different address with decimals: 8, which also looks off for a USD stablecoin.
Please verify against the actual deployed PremintERC20 YUSD addresses/decimals from the sandbox v1.3.0 deployment metadata and align values accordingly. Also note the top-level decimals: 6 for the asset conflicts with several per-token entries.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@nitronode/chart/config/old/sandbox-v1/assets.yaml` around lines 40 - 59, The
"Yellow USD" asset definitions have inconsistent per-chain decimals and repeated
placeholder address usage; inspect the sandbox v1.3.0 PremintERC20 deployment
metadata for YUSD and update the "Yellow USD" asset (name "Yellow USD", symbol
"yusd", top-level decimals and each tokens[] entry) so each tokens[].address
matches the real per-chain deployed address and each tokens[].decimals matches
the on-chain ERC-20 decimals() value for that address (e.g., fix the
59141/84532/1449000/11155111 entries that reuse 0x67a5F0... and the 80002 entry
with decimals: 8), and reconcile or remove the top-level decimals if per-token
decimals must differ.
| image: | ||
| repository: ghcr.io/layer-3/nitrolite/clearnode | ||
| tag: v1.2.0 | ||
|
|
There was a problem hiding this comment.
Update clearnode image tag to the sandbox v1.3.0 release.
Line 28 uses v1.2.0, which is inconsistent with this v1.3.0 sandbox rollout and can cause runtime/contract compatibility drift.
Proposed fix
image:
repository: ghcr.io/layer-3/nitrolite/clearnode
- tag: v1.2.0
+ tag: v1.3.0📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| image: | |
| repository: ghcr.io/layer-3/nitrolite/clearnode | |
| tag: v1.2.0 | |
| image: | |
| repository: ghcr.io/layer-3/nitrolite/clearnode | |
| tag: v1.3.0 | |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@nitronode/chart/config/sandbox-v1/clearnode.yaml.gotmpl` around lines 26 -
29, Update the image tag for the clearnode chart to the sandbox v1.3.0 release
by changing the image.tag value from "v1.2.0" to "v1.3.0" in the clearnode Helm
template (look for the image: repository: ghcr.io/layer-3/nitrolite/clearnode
and the image.tag field in clearnode.yaml.gotmpl) so the deployed artifact
matches the v1.3.0 rollout and avoids compatibility drift.
Summary by CodeRabbit