From 43027c3cfc44df39d2d1163e4a74496ea507ea3e Mon Sep 17 00:00:00 2001 From: DeborahOlaboye Date: Tue, 18 Nov 2025 03:47:37 +0100 Subject: [PATCH] contracts deployed and verified --- .../11142220/run-1763433958531.json | 68 +++++++++++++++++++ .../Deploy.s.sol/11142220/run-latest.json | 68 +++++++++++++++++++ test/AmbienceChat.t.sol | 15 +++- 3 files changed, 148 insertions(+), 3 deletions(-) create mode 100644 broadcast/Deploy.s.sol/11142220/run-1763433958531.json create mode 100644 broadcast/Deploy.s.sol/11142220/run-latest.json diff --git a/broadcast/Deploy.s.sol/11142220/run-1763433958531.json b/broadcast/Deploy.s.sol/11142220/run-1763433958531.json new file mode 100644 index 0000000..694f6c2 --- /dev/null +++ b/broadcast/Deploy.s.sol/11142220/run-1763433958531.json @@ -0,0 +1,68 @@ +{ + "transactions": [ + { + "hash": "0xbcdd9179fd231e73950315bf77d72c3437162a3f809f4dd491bf8d33728097ff", + "transactionType": "CREATE", + "contractName": "AmbienceChat", + "contractAddress": "0x23cdaec75b1c3e5d26db4675ecb3c9042a780a0e", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1ff9ea9f062c31cff19ade558e34894f07cf7817", + "gas": "0x490c0b", + "value": "0x0", + "input": "0x608060405234801562000010575f80fd5b505f80819055505f600181905550620000656040518060400160405280600781526020017f47656e6572616c000000000000000000000000000000000000000000000000008152505f6200006c60201b60201c565b506200085a565b5f80835111620000b3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000aa9062000322565b60405180910390fd5b604083511115620000fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000f29062000390565b60405180910390fd5b5f60015f8154809291906200011090620003e6565b9190505590506040518060a001604052808581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200184151581526020014281526020015f81525060045f8381526020019081526020015f205f820151815f0190816200017b91906200068d565b506020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff021916908315150217905550606082015181600201556080820151816003015590505082156200026557600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b3373ffffffffffffffffffffffffffffffffffffffff16817fdac7dc3cc8febddbd57b2afd071a29cf73e1222c3d933b9dd2ad3bf2238fbdb4868642604051620002b29392919062000818565b60405180910390a38091505092915050565b5f82825260208201905092915050565b7f526f6f6d206e616d652063616e6e6f7420626520656d707479000000000000005f82015250565b5f6200030a601983620002c4565b91506200031782620002d4565b602082019050919050565b5f6020820190508181035f8301526200033b81620002fc565b9050919050565b7f526f6f6d206e616d6520746f6f206c6f6e6700000000000000000000000000005f82015250565b5f62000378601283620002c4565b9150620003858262000342565b602082019050919050565b5f6020820190508181035f830152620003a9816200036a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f819050919050565b5f620003f282620003dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620004275762000426620003b0565b5b600182019050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620004ae57607f821691505b602082108103620004c457620004c362000469565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620005287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004eb565b620005348683620004eb565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620005756200056f6200056984620003dd565b6200054c565b620003dd565b9050919050565b5f819050919050565b620005908362000555565b620005a86200059f826200057c565b848454620004f7565b825550505050565b5f90565b620005be620005b0565b620005cb81848462000585565b505050565b5b81811015620005f257620005e65f82620005b4565b600181019050620005d1565b5050565b601f82111562000641576200060b81620004ca565b6200061684620004dc565b8101602085101562000626578190505b6200063e6200063585620004dc565b830182620005d0565b50505b505050565b5f82821c905092915050565b5f620006635f198460080262000646565b1980831691505092915050565b5f6200067d838362000652565b9150826002028217905092915050565b620006988262000432565b67ffffffffffffffff811115620006b457620006b36200043c565b5b620006c0825462000496565b620006cd828285620005f6565b5f60209050601f83116001811462000703575f8415620006ee578287015190505b620006fa858262000670565b86555062000769565b601f1984166200071386620004ca565b5f5b828110156200073c5784890151825560018201915060208501945060208101905062000715565b868310156200075c578489015162000758601f89168262000652565b8355505b6001600288020188555050505b505050505050565b5f5b838110156200079057808201518184015260208101905062000773565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620007b78262000432565b620007c38185620002c4565b9350620007d581856020860162000771565b620007e0816200079b565b840191505092915050565b5f8115159050919050565b6200080181620007eb565b82525050565b6200081281620003dd565b82525050565b5f6060820190508181035f830152620008328186620007ab565b9050620008436020830185620007f6565b62000852604083018462000807565b949350505050565b613f8680620008685f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c80637ece6a71116100b6578063ace446b31161007a578063ace446b314610400578063b410393b1461041e578063ce43c0321461044e578063ed59313a1461047e578063f1b30cb51461049a578063f26e818a146104ca57610140565b80637ece6a711461031057806386f79edb146103405780638aeca360146103705780638ee1b8e1146103a0578063aae8b592146103d057610140565b8063332d56d711610108578063332d56d71461021757806342bf8bd314610248578063512d9fd5146102645780636d8a74cb1461029457806375a06d38146102c45780637d9e10f5146102e057610140565b80630d80fefd14610144578063147e9108146101775780631bae0ac8146101955780631d583050146101c95780632ed5f28a146101f9575b5f80fd5b61015e600480360381019061015991906127b4565b6104fa565b60405161016e94939291906128b7565b60405180910390f35b61017f6105cb565b60405161018c9190612901565b60405180910390f35b6101af60048036038101906101aa91906127b4565b6105d3565b6040516101c0959493929190612934565b60405180910390f35b6101e360048036038101906101de91906129b6565b6106b7565b6040516101f091906129f4565b60405180910390f35b6102016106e1565b60405161020e9190612901565b60405180910390f35b610231600480360381019061022c9190612a0d565b6106ea565b60405161023f929190612a38565b60405180910390f35b610262600480360381019061025d91906129b6565b61079c565b005b61027e600480360381019061027991906127b4565b610aae565b60405161028b9190612b1d565b60405180910390f35b6102ae60048036038101906102a991906127b4565b610c79565b6040516102bb9190612c16565b60405180910390f35b6102de60048036038101906102d991906129b6565b610dfb565b005b6102fa60048036038101906102f591906129b6565b61113e565b60405161030791906129f4565b60405180910390f35b61032a60048036038101906103259190612cc1565b611273565b6040516103379190612901565b60405180910390f35b61035a600480360381019061035591906127b4565b6112ca565b6040516103679190612d7e565b60405180910390f35b61038a600480360381019061038591906127b4565b6115a8565b6040516103979190612901565b60405180910390f35b6103ba60048036038101906103b59190612d9e565b61176d565b6040516103c79190612f09565b60405180910390f35b6103ea60048036038101906103e59190612f29565b611b28565b6040516103f79190612901565b60405180910390f35b610408611fb9565b6040516104159190612901565b60405180910390f35b61043860048036038101906104339190612a0d565b611fbe565b6040516104459190612901565b60405180910390f35b61046860048036038101906104639190612a0d565b611fd3565b6040516104759190612f86565b60405180910390f35b61049860048036038101906104939190612fa6565b6120a2565b005b6104b460048036038101906104af9190612ff1565b612447565b6040516104c19190612901565b60405180910390f35b6104e460048036038101906104df9190613157565b612472565b6040516104f191906129f4565b60405180910390f35b6003602052805f5260405f205f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101805461053e906131cb565b80601f016020809104026020016040519081016040528092919081815260200182805461056a906131cb565b80156105b55780601f1061058c576101008083540402835291602001916105b5565b820191905f5260205f20905b81548152906001019060200180831161059857829003601f168201915b5050505050908060020154908060030154905084565b5f8054905090565b6004602052805f5260405f205f91509050805f0180546105f2906131cb565b80601f016020809104026020016040519081016040528092919081815260200182805461061e906131cb565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505090806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b6006602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f600154905090565b6005602052805f5260405f205f91509050805f018054610709906131cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610735906131cb565b80156107805780601f1061075757610100808354040283529160200191610780565b820191905f5260205f20905b81548152906001019060200180831161076357829003601f168201915b505050505090806001015f9054906101000a900460ff16905082565b8160015481106107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d890613245565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660045f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610882576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610879906132d3565b60405180910390fd5b60045f8481526020019081526020015f2060010160149054906101000a900460ff166108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90613361565b60405180910390fd5b60065f8481526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561097c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610973906133c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e190613431565b60405180910390fd5b600160065f8581526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847fc7685df45988e51a357d322658517a6e0d65ba0fa56e5a76870e8d39a9cc673760405160405180910390a4505050565b6060816001548110610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec90613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff1615610c125760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610bd257503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c08906134bf565b60405180910390fd5b5b60075f8581526020019081526020015f20805480602002602001604051908101604052809291908181526020018280548015610c6b57602002820191905f5260205f20905b815481526020019060010190808311610c57575b505050505092505050919050565b610c816126f2565b6001548210610cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbc90613245565b60405180910390fd5b60045f8381526020019081526020015f206040518060a00160405290815f82018054610cf0906131cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1c906131cb565b8015610d675780601f10610d3e57610100808354040283529160200191610d67565b820191905f5260205f20905b815481529060010190602001808311610d4a57829003601f168201915b50505050508152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff16151515158152602001600282015481526020016003820154815250509050919050565b816001548110610e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3790613245565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660045f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed8906132d3565b60405180910390fd5b60045f8481526020019081526020015f2060010160149054906101000a900460ff16610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f399061354d565b60405180910390fd5b60065f8481526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd1906135b5565b60405180910390fd5b60045f8481526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110729061361d565b60405180910390fd5b5f60065f8581526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f3351489111c9c9e2f87e2f2f53b40d1a5f601f1bfb2dd217558e59f78c1aae8660405160405180910390a4505050565b5f6001548310611183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117a90613245565b60405180910390fd5b5f60045f8581526020019081526020015f2090508060010160149054906101000a900460ff166111b757600191505061126d565b60065f8581526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061126957508273ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b9150505b92915050565b5f6112c184848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050836124a7565b90509392505050565b6112d2612735565b60035f8381526020019081526020015f2060030154600154811061132b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132290613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff16156114485760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061140857503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e906134bf565b60405180910390fd5b5b5f54841061148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290613685565b60405180910390fd5b60035f8581526020019081526020015f206040518060800160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805461150b906131cb565b80601f0160208091040260200160405190810160405280929190818152602001828054611537906131cb565b80156115825780601f1061155957610100808354040283529160200191611582565b820191905f5260205f20905b81548152906001019060200180831161156557829003601f168201915b505050505081526020016002820154815260200160038201548152505092505050919050565b5f8160015481106115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e590613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff161561170b5760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806116cb57503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61170a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611701906134bf565b60405180910390fd5b5b600154841061174f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174690613245565b60405180910390fd5b60045f8581526020019081526020015f206003015492505050919050565b60608360015481106117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ab90613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff16156118d15760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061189157503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c7906134bf565b60405180910390fd5b5b5f60075f8881526020019081526020015f2090505f8180549050905080871061192f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611926906136ed565b60405180910390fd5b5f878261193c9190613738565b90505f87821061194c578761194e565b815b90505f8167ffffffffffffffff81111561196b5761196a613033565b5b6040519080825280602002602001820160405280156119a457816020015b611991612735565b8152602001906001900390816119895790505b5090505f5b82811015611b165760035f87838e6119c1919061376b565b815481106119d2576119d161379e565b5b905f5260205f20015481526020019081526020015f206040518060800160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054611a57906131cb565b80601f0160208091040260200160405190810160405280929190818152602001828054611a83906131cb565b8015611ace5780601f10611aa557610100808354040283529160200191611ace565b820191905f5260205f20905b815481529060010190602001808311611ab157829003601f168201915b5050505050815260200160028201548152602001600382015481525050828281518110611afe57611afd61379e565b5b602002602001018190525080806001019150506119a9565b50809750505050505050509392505050565b5f836001548110611b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6590613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff1615611c8b5760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611c4b57503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c81906134bf565b60405180910390fd5b5b5f8585905011611cd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc790613815565b60405180910390fd5b6103e8858590501115611d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0f9061387d565b60405180910390fd5b603c60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d62919061376b565b421015611da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9b90613931565b60405180910390fd5b4260025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f805f815480929190611df89061394f565b91905055905060405180608001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505081526020014281526020018881525060035f8381526020019081526020015f205f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081611ee29190613b33565b50604082015181600201556060820151816003015590505060075f8881526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f909190919091505560045f8881526020019081526020015f206003015f815480929190611f539061394f565b91905055503373ffffffffffffffffffffffffffffffffffffffff1687827f32d907d723f55216c6eb6ce8af70508b18c6bceccfca6fc9670d2fa0fc75876e898942604051611fa493929190613c2e565b60405180910390a48093505050509392505050565b603c81565b6002602052805f5260405f205f915090505481565b606060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01805461201f906131cb565b80601f016020809104026020016040519081016040528092919081815260200182805461204b906131cb565b80156120965780601f1061206d57610100808354040283529160200191612096565b820191905f5260205f20905b81548152906001019060200180831161207957829003601f168201915b50505050509050919050565b5f82829050116120e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120de90613ca8565b60405180910390fd5b602082829050111561212e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212590613d10565b60405180910390fd5b60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f9054906101000a900460ff1615612280575f60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0180546121cb906131cb565b80601f01602080910402602001604051908101604052809291908181526020018280546121f7906131cb565b80156122425780601f1061221957610100808354040283529160200191612242565b820191905f5260205f20905b81548152906001019060200180831161222557829003601f168201915b505050505090505f60088260405161225a9190613d68565b90815260200160405180910390205f6101000a81548160ff021916908315150217905550505b60088282604051612292929190613da2565b90815260200160405180910390205f9054906101000a900460ff16156122ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e490613e04565b60405180910390fd5b604051806040016040528083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505081526020016001151581525060055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f0190816123989190613b33565b506020820151816001015f6101000a81548160ff0219169083151502179055509050506001600883836040516123cf929190613da2565b90815260200160405180910390205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f9ab5b01c08788936fb2b48da858665afe9fa06d32e17dc49e0510c24ba05c983838360405161243b929190613e22565b60405180910390a25050565b6007602052815f5260405f208181548110612460575f80fd5b905f5260205f20015f91509150505481565b6008818051602081018201805184825260208301602085012081835280955050505050505f915054906101000a900460ff1681565b5f808351116124eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e290613e8e565b60405180910390fd5b604083511115612530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252790613ef6565b60405180910390fd5b5f60015f8154809291906125439061394f565b9190505590506040518060a001604052808581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200184151581526020014281526020015f81525060045f8381526020019081526020015f205f820151815f0190816125ac9190613b33565b506020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050821561269557600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b3373ffffffffffffffffffffffffffffffffffffffff16817fdac7dc3cc8febddbd57b2afd071a29cf73e1222c3d933b9dd2ad3bf2238fbdb48686426040516126e093929190613f14565b60405180910390a38091505092915050565b6040518060a00160405280606081526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f151581526020015f81526020015f81525090565b60405180608001604052805f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f81526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61279381612781565b811461279d575f80fd5b50565b5f813590506127ae8161278a565b92915050565b5f602082840312156127c9576127c8612779565b5b5f6127d6848285016127a0565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612808826127df565b9050919050565b612818816127fe565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561285557808201518184015260208101905061283a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61287a8261281e565b6128848185612828565b9350612894818560208601612838565b61289d81612860565b840191505092915050565b6128b181612781565b82525050565b5f6080820190506128ca5f83018761280f565b81810360208301526128dc8186612870565b90506128eb60408301856128a8565b6128f860608301846128a8565b95945050505050565b5f6020820190506129145f8301846128a8565b92915050565b5f8115159050919050565b61292e8161291a565b82525050565b5f60a0820190508181035f83015261294c8188612870565b905061295b602083018761280f565b6129686040830186612925565b61297560608301856128a8565b61298260808301846128a8565b9695505050505050565b612995816127fe565b811461299f575f80fd5b50565b5f813590506129b08161298c565b92915050565b5f80604083850312156129cc576129cb612779565b5b5f6129d9858286016127a0565b92505060206129ea858286016129a2565b9150509250929050565b5f602082019050612a075f830184612925565b92915050565b5f60208284031215612a2257612a21612779565b5b5f612a2f848285016129a2565b91505092915050565b5f6040820190508181035f830152612a508185612870565b9050612a5f6020830184612925565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a9881612781565b82525050565b5f612aa98383612a8f565b60208301905092915050565b5f602082019050919050565b5f612acb82612a66565b612ad58185612a70565b9350612ae083612a80565b805f5b83811015612b10578151612af78882612a9e565b9750612b0283612ab5565b925050600181019050612ae3565b5085935050505092915050565b5f6020820190508181035f830152612b358184612ac1565b905092915050565b5f82825260208201905092915050565b5f612b578261281e565b612b618185612b3d565b9350612b71818560208601612838565b612b7a81612860565b840191505092915050565b612b8e816127fe565b82525050565b612b9d8161291a565b82525050565b5f60a083015f8301518482035f860152612bbd8282612b4d565b9150506020830151612bd26020860182612b85565b506040830151612be56040860182612b94565b506060830151612bf86060860182612a8f565b506080830151612c0b6080860182612a8f565b508091505092915050565b5f6020820190508181035f830152612c2e8184612ba3565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612c5757612c56612c36565b5b8235905067ffffffffffffffff811115612c7457612c73612c3a565b5b602083019150836001820283011115612c9057612c8f612c3e565b5b9250929050565b612ca08161291a565b8114612caa575f80fd5b50565b5f81359050612cbb81612c97565b92915050565b5f805f60408486031215612cd857612cd7612779565b5b5f84013567ffffffffffffffff811115612cf557612cf461277d565b5b612d0186828701612c42565b93509350506020612d1486828701612cad565b9150509250925092565b5f608083015f830151612d335f860182612b85565b5060208301518482036020860152612d4b8282612b4d565b9150506040830151612d606040860182612a8f565b506060830151612d736060860182612a8f565b508091505092915050565b5f6020820190508181035f830152612d968184612d1e565b905092915050565b5f805f60608486031215612db557612db4612779565b5b5f612dc2868287016127a0565b9350506020612dd3868287016127a0565b9250506040612de4868287016127a0565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f608083015f830151612e2c5f860182612b85565b5060208301518482036020860152612e448282612b4d565b9150506040830151612e596040860182612a8f565b506060830151612e6c6060860182612a8f565b508091505092915050565b5f612e828383612e17565b905092915050565b5f602082019050919050565b5f612ea082612dee565b612eaa8185612df8565b935083602082028501612ebc85612e08565b805f5b85811015612ef75784840389528151612ed88582612e77565b9450612ee383612e8a565b925060208a01995050600181019050612ebf565b50829750879550505050505092915050565b5f6020820190508181035f830152612f218184612e96565b905092915050565b5f805f60408486031215612f4057612f3f612779565b5b5f612f4d868287016127a0565b935050602084013567ffffffffffffffff811115612f6e57612f6d61277d565b5b612f7a86828701612c42565b92509250509250925092565b5f6020820190508181035f830152612f9e8184612870565b905092915050565b5f8060208385031215612fbc57612fbb612779565b5b5f83013567ffffffffffffffff811115612fd957612fd861277d565b5b612fe585828601612c42565b92509250509250929050565b5f806040838503121561300757613006612779565b5b5f613014858286016127a0565b9250506020613025858286016127a0565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61306982612860565b810181811067ffffffffffffffff8211171561308857613087613033565b5b80604052505050565b5f61309a612770565b90506130a68282613060565b919050565b5f67ffffffffffffffff8211156130c5576130c4613033565b5b6130ce82612860565b9050602081019050919050565b828183375f83830152505050565b5f6130fb6130f6846130ab565b613091565b9050828152602081018484840111156131175761311661302f565b5b6131228482856130db565b509392505050565b5f82601f83011261313e5761313d612c36565b5b813561314e8482602086016130e9565b91505092915050565b5f6020828403121561316c5761316b612779565b5b5f82013567ffffffffffffffff8111156131895761318861277d565b5b6131958482850161312a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806131e257607f821691505b6020821081036131f5576131f461319e565b5b50919050565b7f526f6f6d20646f6573206e6f74206578697374000000000000000000000000005f82015250565b5f61322f601383612828565b915061323a826131fb565b602082019050919050565b5f6020820190508181035f83015261325c81613223565b9050919050565b7f4f6e6c7920726f6f6d206f776e65722063616e20706572666f726d20746869735f8201527f20616374696f6e00000000000000000000000000000000000000000000000000602082015250565b5f6132bd602783612828565b91506132c882613263565b604082019050919050565b5f6020820190508181035f8301526132ea816132b1565b9050919050565b7f43616e206f6e6c7920616464206d656d6265727320746f2070726976617465205f8201527f726f6f6d73000000000000000000000000000000000000000000000000000000602082015250565b5f61334b602583612828565b9150613356826132f1565b604082019050919050565b5f6020820190508181035f8301526133788161333f565b9050919050565b7f416c72656164792061206d656d626572000000000000000000000000000000005f82015250565b5f6133b3601083612828565b91506133be8261337f565b602082019050919050565b5f6020820190508181035f8301526133e0816133a7565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f61341b600f83612828565b9150613426826133e7565b602082019050919050565b5f6020820190508181035f8301526134488161340f565b9050919050565b7f4163636573732064656e6965643a206e6f742061206d656d626572206f6620745f8201527f686973207072697661746520726f6f6d00000000000000000000000000000000602082015250565b5f6134a9603083612828565b91506134b48261344f565b604082019050919050565b5f6020820190508181035f8301526134d68161349d565b9050919050565b7f43616e206f6e6c792072656d6f7665206d656d626572732066726f6d207072695f8201527f7661746520726f6f6d7300000000000000000000000000000000000000000000602082015250565b5f613537602a83612828565b9150613542826134dd565b604082019050919050565b5f6020820190508181035f8301526135648161352b565b9050919050565b7f4e6f742061206d656d62657200000000000000000000000000000000000000005f82015250565b5f61359f600c83612828565b91506135aa8261356b565b602082019050919050565b5f6020820190508181035f8301526135cc81613593565b9050919050565b7f43616e6e6f742072656d6f766520726f6f6d206f776e657200000000000000005f82015250565b5f613607601883612828565b9150613612826135d3565b602082019050919050565b5f6020820190508181035f830152613634816135fb565b9050919050565b7f4d65737361676520646f6573206e6f74206578697374000000000000000000005f82015250565b5f61366f601683612828565b915061367a8261363b565b602082019050919050565b5f6020820190508181035f83015261369c81613663565b9050919050565b7f4f6666736574206f7574206f6620626f756e64730000000000000000000000005f82015250565b5f6136d7601483612828565b91506136e2826136a3565b602082019050919050565b5f6020820190508181035f830152613704816136cb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61374282612781565b915061374d83612781565b92508282039050818111156137655761376461370b565b5b92915050565b5f61377582612781565b915061378083612781565b92508282019050808211156137985761379761370b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4d6573736167652063616e6e6f7420626520656d7074790000000000000000005f82015250565b5f6137ff601783612828565b915061380a826137cb565b602082019050919050565b5f6020820190508181035f83015261382c816137f3565b9050919050565b7f4d65737361676520746f6f206c6f6e67000000000000000000000000000000005f82015250565b5f613867601083612828565b915061387282613833565b602082019050919050565b5f6020820190508181035f8301526138948161385b565b9050919050565b7f436f6f6c646f776e20706572696f64206e6f74206d65742e20506c65617365205f8201527f77616974206265666f72652073656e64696e6720616e6f74686572206d65737360208201527f6167652e00000000000000000000000000000000000000000000000000000000604082015250565b5f61391b604483612828565b91506139268261389b565b606082019050919050565b5f6020820190508181035f8301526139488161390f565b9050919050565b5f61395982612781565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361398b5761398a61370b565b5b600182019050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026139f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826139b7565b6139fc86836139b7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f613a37613a32613a2d84612781565b613a14565b612781565b9050919050565b5f819050919050565b613a5083613a1d565b613a64613a5c82613a3e565b8484546139c3565b825550505050565b5f90565b613a78613a6c565b613a83818484613a47565b505050565b5b81811015613aa657613a9b5f82613a70565b600181019050613a89565b5050565b601f821115613aeb57613abc81613996565b613ac5846139a8565b81016020851015613ad4578190505b613ae8613ae0856139a8565b830182613a88565b50505b505050565b5f82821c905092915050565b5f613b0b5f1984600802613af0565b1980831691505092915050565b5f613b238383613afc565b9150826002028217905092915050565b613b3c8261281e565b67ffffffffffffffff811115613b5557613b54613033565b5b613b5f82546131cb565b613b6a828285613aaa565b5f60209050601f831160018114613b9b575f8415613b89578287015190505b613b938582613b18565b865550613bfa565b601f198416613ba986613996565b5f5b82811015613bd057848901518255600182019150602085019450602081019050613bab565b86831015613bed5784890151613be9601f891682613afc565b8355505b6001600288020188555050505b505050505050565b5f613c0d8385612828565b9350613c1a8385846130db565b613c2383612860565b840190509392505050565b5f6040820190508181035f830152613c47818587613c02565b9050613c5660208301846128a8565b949350505050565b7f557365726e616d652063616e6e6f7420626520656d70747900000000000000005f82015250565b5f613c92601883612828565b9150613c9d82613c5e565b602082019050919050565b5f6020820190508181035f830152613cbf81613c86565b9050919050565b7f557365726e616d6520746f6f206c6f6e670000000000000000000000000000005f82015250565b5f613cfa601183612828565b9150613d0582613cc6565b602082019050919050565b5f6020820190508181035f830152613d2781613cee565b9050919050565b5f81905092915050565b5f613d428261281e565b613d4c8185613d2e565b9350613d5c818560208601612838565b80840191505092915050565b5f613d738284613d38565b915081905092915050565b5f613d898385613d2e565b9350613d968385846130db565b82840190509392505050565b5f613dae828486613d7e565b91508190509392505050565b7f557365726e616d6520616c72656164792074616b656e000000000000000000005f82015250565b5f613dee601683612828565b9150613df982613dba565b602082019050919050565b5f6020820190508181035f830152613e1b81613de2565b9050919050565b5f6020820190508181035f830152613e3b818486613c02565b90509392505050565b7f526f6f6d206e616d652063616e6e6f7420626520656d707479000000000000005f82015250565b5f613e78601983612828565b9150613e8382613e44565b602082019050919050565b5f6020820190508181035f830152613ea581613e6c565b9050919050565b7f526f6f6d206e616d6520746f6f206c6f6e6700000000000000000000000000005f82015250565b5f613ee0601283612828565b9150613eeb82613eac565b602082019050919050565b5f6020820190508181035f830152613f0d81613ed4565b9050919050565b5f6060820190508181035f830152613f2c8186612870565b9050613f3b6020830185612925565b613f4860408301846128a8565b94935050505056fea26469706673582212205e2e381ae049755fa2ff2374dd4b5aadfbfa9b0783dcc4f88701a19fa8e7d4f464736f6c63430008180033", + "nonce": "0x9", + "chainId": "0xaa044c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x38e492", + "logs": [ + { + "address": "0x23cdaec75b1c3e5d26db4675ecb3c9042a780a0e", + "topics": [ + "0xdac7dc3cc8febddbd57b2afd071a29cf73e1222c3d933b9dd2ad3bf2238fbdb4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001ff9ea9f062c31cff19ade558e34894f07cf7817" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000691bddd4000000000000000000000000000000000000000000000000000000000000000747656e6572616c00000000000000000000000000000000000000000000000000", + "blockHash": "0xd10dc5f15d3753bc598f819c9440684ef31f84f7c3a1424abc46a8f244f25904", + "blockNumber": "0x9ae040", + "transactionHash": "0xbcdd9179fd231e73950315bf77d72c3437162a3f809f4dd491bf8d33728097ff", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000080000400000000000000000000000000000000000000020000000000000000001800000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000100000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbcdd9179fd231e73950315bf77d72c3437162a3f809f4dd491bf8d33728097ff", + "transactionIndex": "0x1", + "blockHash": "0xd10dc5f15d3753bc598f819c9440684ef31f84f7c3a1424abc46a8f244f25904", + "blockNumber": "0x9ae040", + "gasUsed": "0x3830a6", + "effectiveGasPrice": "0x5d21dba01", + "from": "0x1ff9ea9f062c31cff19ade558e34894f07cf7817", + "to": null, + "contractAddress": "0x23cdaec75b1c3e5d26db4675ecb3c9042a780a0e", + "l1BaseFeeScalar": "0x0", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x0", + "l1GasPrice": "0xb", + "l1GasUsed": "0x1c01b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763433958531, + "chain": 11142220, + "commit": "ee6fe52" +} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/11142220/run-latest.json b/broadcast/Deploy.s.sol/11142220/run-latest.json new file mode 100644 index 0000000..694f6c2 --- /dev/null +++ b/broadcast/Deploy.s.sol/11142220/run-latest.json @@ -0,0 +1,68 @@ +{ + "transactions": [ + { + "hash": "0xbcdd9179fd231e73950315bf77d72c3437162a3f809f4dd491bf8d33728097ff", + "transactionType": "CREATE", + "contractName": "AmbienceChat", + "contractAddress": "0x23cdaec75b1c3e5d26db4675ecb3c9042a780a0e", + "function": null, + "arguments": null, + "transaction": { + "from": "0x1ff9ea9f062c31cff19ade558e34894f07cf7817", + "gas": "0x490c0b", + "value": "0x0", + "input": "0x608060405234801562000010575f80fd5b505f80819055505f600181905550620000656040518060400160405280600781526020017f47656e6572616c000000000000000000000000000000000000000000000000008152505f6200006c60201b60201c565b506200085a565b5f80835111620000b3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000aa9062000322565b60405180910390fd5b604083511115620000fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000f29062000390565b60405180910390fd5b5f60015f8154809291906200011090620003e6565b9190505590506040518060a001604052808581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200184151581526020014281526020015f81525060045f8381526020019081526020015f205f820151815f0190816200017b91906200068d565b506020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff021916908315150217905550606082015181600201556080820151816003015590505082156200026557600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b3373ffffffffffffffffffffffffffffffffffffffff16817fdac7dc3cc8febddbd57b2afd071a29cf73e1222c3d933b9dd2ad3bf2238fbdb4868642604051620002b29392919062000818565b60405180910390a38091505092915050565b5f82825260208201905092915050565b7f526f6f6d206e616d652063616e6e6f7420626520656d707479000000000000005f82015250565b5f6200030a601983620002c4565b91506200031782620002d4565b602082019050919050565b5f6020820190508181035f8301526200033b81620002fc565b9050919050565b7f526f6f6d206e616d6520746f6f206c6f6e6700000000000000000000000000005f82015250565b5f62000378601283620002c4565b9150620003858262000342565b602082019050919050565b5f6020820190508181035f830152620003a9816200036a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f819050919050565b5f620003f282620003dd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620004275762000426620003b0565b5b600182019050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620004ae57607f821691505b602082108103620004c457620004c362000469565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620005287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004eb565b620005348683620004eb565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620005756200056f6200056984620003dd565b6200054c565b620003dd565b9050919050565b5f819050919050565b620005908362000555565b620005a86200059f826200057c565b848454620004f7565b825550505050565b5f90565b620005be620005b0565b620005cb81848462000585565b505050565b5b81811015620005f257620005e65f82620005b4565b600181019050620005d1565b5050565b601f82111562000641576200060b81620004ca565b6200061684620004dc565b8101602085101562000626578190505b6200063e6200063585620004dc565b830182620005d0565b50505b505050565b5f82821c905092915050565b5f620006635f198460080262000646565b1980831691505092915050565b5f6200067d838362000652565b9150826002028217905092915050565b620006988262000432565b67ffffffffffffffff811115620006b457620006b36200043c565b5b620006c0825462000496565b620006cd828285620005f6565b5f60209050601f83116001811462000703575f8415620006ee578287015190505b620006fa858262000670565b86555062000769565b601f1984166200071386620004ca565b5f5b828110156200073c5784890151825560018201915060208501945060208101905062000715565b868310156200075c578489015162000758601f89168262000652565b8355505b6001600288020188555050505b505050505050565b5f5b838110156200079057808201518184015260208101905062000773565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620007b78262000432565b620007c38185620002c4565b9350620007d581856020860162000771565b620007e0816200079b565b840191505092915050565b5f8115159050919050565b6200080181620007eb565b82525050565b6200081281620003dd565b82525050565b5f6060820190508181035f830152620008328186620007ab565b9050620008436020830185620007f6565b62000852604083018462000807565b949350505050565b613f8680620008685f395ff3fe608060405234801561000f575f80fd5b5060043610610140575f3560e01c80637ece6a71116100b6578063ace446b31161007a578063ace446b314610400578063b410393b1461041e578063ce43c0321461044e578063ed59313a1461047e578063f1b30cb51461049a578063f26e818a146104ca57610140565b80637ece6a711461031057806386f79edb146103405780638aeca360146103705780638ee1b8e1146103a0578063aae8b592146103d057610140565b8063332d56d711610108578063332d56d71461021757806342bf8bd314610248578063512d9fd5146102645780636d8a74cb1461029457806375a06d38146102c45780637d9e10f5146102e057610140565b80630d80fefd14610144578063147e9108146101775780631bae0ac8146101955780631d583050146101c95780632ed5f28a146101f9575b5f80fd5b61015e600480360381019061015991906127b4565b6104fa565b60405161016e94939291906128b7565b60405180910390f35b61017f6105cb565b60405161018c9190612901565b60405180910390f35b6101af60048036038101906101aa91906127b4565b6105d3565b6040516101c0959493929190612934565b60405180910390f35b6101e360048036038101906101de91906129b6565b6106b7565b6040516101f091906129f4565b60405180910390f35b6102016106e1565b60405161020e9190612901565b60405180910390f35b610231600480360381019061022c9190612a0d565b6106ea565b60405161023f929190612a38565b60405180910390f35b610262600480360381019061025d91906129b6565b61079c565b005b61027e600480360381019061027991906127b4565b610aae565b60405161028b9190612b1d565b60405180910390f35b6102ae60048036038101906102a991906127b4565b610c79565b6040516102bb9190612c16565b60405180910390f35b6102de60048036038101906102d991906129b6565b610dfb565b005b6102fa60048036038101906102f591906129b6565b61113e565b60405161030791906129f4565b60405180910390f35b61032a60048036038101906103259190612cc1565b611273565b6040516103379190612901565b60405180910390f35b61035a600480360381019061035591906127b4565b6112ca565b6040516103679190612d7e565b60405180910390f35b61038a600480360381019061038591906127b4565b6115a8565b6040516103979190612901565b60405180910390f35b6103ba60048036038101906103b59190612d9e565b61176d565b6040516103c79190612f09565b60405180910390f35b6103ea60048036038101906103e59190612f29565b611b28565b6040516103f79190612901565b60405180910390f35b610408611fb9565b6040516104159190612901565b60405180910390f35b61043860048036038101906104339190612a0d565b611fbe565b6040516104459190612901565b60405180910390f35b61046860048036038101906104639190612a0d565b611fd3565b6040516104759190612f86565b60405180910390f35b61049860048036038101906104939190612fa6565b6120a2565b005b6104b460048036038101906104af9190612ff1565b612447565b6040516104c19190612901565b60405180910390f35b6104e460048036038101906104df9190613157565b612472565b6040516104f191906129f4565b60405180910390f35b6003602052805f5260405f205f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101805461053e906131cb565b80601f016020809104026020016040519081016040528092919081815260200182805461056a906131cb565b80156105b55780601f1061058c576101008083540402835291602001916105b5565b820191905f5260205f20905b81548152906001019060200180831161059857829003601f168201915b5050505050908060020154908060030154905084565b5f8054905090565b6004602052805f5260405f205f91509050805f0180546105f2906131cb565b80601f016020809104026020016040519081016040528092919081815260200182805461061e906131cb565b80156106695780601f1061064057610100808354040283529160200191610669565b820191905f5260205f20905b81548152906001019060200180831161064c57829003601f168201915b505050505090806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b6006602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b5f600154905090565b6005602052805f5260405f205f91509050805f018054610709906131cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610735906131cb565b80156107805780601f1061075757610100808354040283529160200191610780565b820191905f5260205f20905b81548152906001019060200180831161076357829003601f168201915b505050505090806001015f9054906101000a900460ff16905082565b8160015481106107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d890613245565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660045f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610882576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610879906132d3565b60405180910390fd5b60045f8481526020019081526020015f2060010160149054906101000a900460ff166108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90613361565b60405180910390fd5b60065f8481526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561097c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610973906133c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e190613431565b60405180910390fd5b600160065f8581526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847fc7685df45988e51a357d322658517a6e0d65ba0fa56e5a76870e8d39a9cc673760405160405180910390a4505050565b6060816001548110610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec90613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff1615610c125760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610bd257503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c08906134bf565b60405180910390fd5b5b60075f8581526020019081526020015f20805480602002602001604051908101604052809291908181526020018280548015610c6b57602002820191905f5260205f20905b815481526020019060010190808311610c57575b505050505092505050919050565b610c816126f2565b6001548210610cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbc90613245565b60405180910390fd5b60045f8381526020019081526020015f206040518060a00160405290815f82018054610cf0906131cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1c906131cb565b8015610d675780601f10610d3e57610100808354040283529160200191610d67565b820191905f5260205f20905b815481529060010190602001808311610d4a57829003601f168201915b50505050508152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff16151515158152602001600282015481526020016003820154815250509050919050565b816001548110610e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3790613245565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff1660045f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed8906132d3565b60405180910390fd5b60045f8481526020019081526020015f2060010160149054906101000a900460ff16610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f399061354d565b60405180910390fd5b60065f8481526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd1906135b5565b60405180910390fd5b60045f8481526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110729061361d565b60405180910390fd5b5f60065f8581526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f3351489111c9c9e2f87e2f2f53b40d1a5f601f1bfb2dd217558e59f78c1aae8660405160405180910390a4505050565b5f6001548310611183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117a90613245565b60405180910390fd5b5f60045f8581526020019081526020015f2090508060010160149054906101000a900460ff166111b757600191505061126d565b60065f8581526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061126957508273ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b9150505b92915050565b5f6112c184848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050836124a7565b90509392505050565b6112d2612735565b60035f8381526020019081526020015f2060030154600154811061132b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132290613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff16156114485760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061140857503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e906134bf565b60405180910390fd5b5b5f54841061148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148290613685565b60405180910390fd5b60035f8581526020019081526020015f206040518060800160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805461150b906131cb565b80601f0160208091040260200160405190810160405280929190818152602001828054611537906131cb565b80156115825780601f1061155957610100808354040283529160200191611582565b820191905f5260205f20905b81548152906001019060200180831161156557829003601f168201915b505050505081526020016002820154815260200160038201548152505092505050919050565b5f8160015481106115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e590613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff161561170b5760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806116cb57503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61170a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611701906134bf565b60405180910390fd5b5b600154841061174f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174690613245565b60405180910390fd5b60045f8581526020019081526020015f206003015492505050919050565b60608360015481106117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ab90613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff16156118d15760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061189157503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c7906134bf565b60405180910390fd5b5b5f60075f8881526020019081526020015f2090505f8180549050905080871061192f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611926906136ed565b60405180910390fd5b5f878261193c9190613738565b90505f87821061194c578761194e565b815b90505f8167ffffffffffffffff81111561196b5761196a613033565b5b6040519080825280602002602001820160405280156119a457816020015b611991612735565b8152602001906001900390816119895790505b5090505f5b82811015611b165760035f87838e6119c1919061376b565b815481106119d2576119d161379e565b5b905f5260205f20015481526020019081526020015f206040518060800160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054611a57906131cb565b80601f0160208091040260200160405190810160405280929190818152602001828054611a83906131cb565b8015611ace5780601f10611aa557610100808354040283529160200191611ace565b820191905f5260205f20905b815481529060010190602001808311611ab157829003601f168201915b5050505050815260200160028201548152602001600382015481525050828281518110611afe57611afd61379e565b5b602002602001018190525080806001019150506119a9565b50809750505050505050509392505050565b5f836001548110611b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6590613245565b60405180910390fd5b5f60045f8381526020019081526020015f2090508060010160149054906101000a900460ff1615611c8b5760065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611c4b57503373ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c81906134bf565b60405180910390fd5b5b5f8585905011611cd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc790613815565b60405180910390fd5b6103e8858590501115611d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0f9061387d565b60405180910390fd5b603c60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d62919061376b565b421015611da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9b90613931565b60405180910390fd5b4260025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f805f815480929190611df89061394f565b91905055905060405180608001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505081526020014281526020018881525060035f8381526020019081526020015f205f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081611ee29190613b33565b50604082015181600201556060820151816003015590505060075f8881526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f909190919091505560045f8881526020019081526020015f206003015f815480929190611f539061394f565b91905055503373ffffffffffffffffffffffffffffffffffffffff1687827f32d907d723f55216c6eb6ce8af70508b18c6bceccfca6fc9670d2fa0fc75876e898942604051611fa493929190613c2e565b60405180910390a48093505050509392505050565b603c81565b6002602052805f5260405f205f915090505481565b606060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01805461201f906131cb565b80601f016020809104026020016040519081016040528092919081815260200182805461204b906131cb565b80156120965780601f1061206d57610100808354040283529160200191612096565b820191905f5260205f20905b81548152906001019060200180831161207957829003601f168201915b50505050509050919050565b5f82829050116120e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120de90613ca8565b60405180910390fd5b602082829050111561212e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212590613d10565b60405180910390fd5b60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f9054906101000a900460ff1615612280575f60055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0180546121cb906131cb565b80601f01602080910402602001604051908101604052809291908181526020018280546121f7906131cb565b80156122425780601f1061221957610100808354040283529160200191612242565b820191905f5260205f20905b81548152906001019060200180831161222557829003601f168201915b505050505090505f60088260405161225a9190613d68565b90815260200160405180910390205f6101000a81548160ff021916908315150217905550505b60088282604051612292929190613da2565b90815260200160405180910390205f9054906101000a900460ff16156122ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e490613e04565b60405180910390fd5b604051806040016040528083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505081526020016001151581525060055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f0190816123989190613b33565b506020820151816001015f6101000a81548160ff0219169083151502179055509050506001600883836040516123cf929190613da2565b90815260200160405180910390205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f9ab5b01c08788936fb2b48da858665afe9fa06d32e17dc49e0510c24ba05c983838360405161243b929190613e22565b60405180910390a25050565b6007602052815f5260405f208181548110612460575f80fd5b905f5260205f20015f91509150505481565b6008818051602081018201805184825260208301602085012081835280955050505050505f915054906101000a900460ff1681565b5f808351116124eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e290613e8e565b60405180910390fd5b604083511115612530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252790613ef6565b60405180910390fd5b5f60015f8154809291906125439061394f565b9190505590506040518060a001604052808581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200184151581526020014281526020015f81525060045f8381526020019081526020015f205f820151815f0190816125ac9190613b33565b506020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050821561269557600160065f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b3373ffffffffffffffffffffffffffffffffffffffff16817fdac7dc3cc8febddbd57b2afd071a29cf73e1222c3d933b9dd2ad3bf2238fbdb48686426040516126e093929190613f14565b60405180910390a38091505092915050565b6040518060a00160405280606081526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f151581526020015f81526020015f81525090565b60405180608001604052805f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f81526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61279381612781565b811461279d575f80fd5b50565b5f813590506127ae8161278a565b92915050565b5f602082840312156127c9576127c8612779565b5b5f6127d6848285016127a0565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612808826127df565b9050919050565b612818816127fe565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561285557808201518184015260208101905061283a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61287a8261281e565b6128848185612828565b9350612894818560208601612838565b61289d81612860565b840191505092915050565b6128b181612781565b82525050565b5f6080820190506128ca5f83018761280f565b81810360208301526128dc8186612870565b90506128eb60408301856128a8565b6128f860608301846128a8565b95945050505050565b5f6020820190506129145f8301846128a8565b92915050565b5f8115159050919050565b61292e8161291a565b82525050565b5f60a0820190508181035f83015261294c8188612870565b905061295b602083018761280f565b6129686040830186612925565b61297560608301856128a8565b61298260808301846128a8565b9695505050505050565b612995816127fe565b811461299f575f80fd5b50565b5f813590506129b08161298c565b92915050565b5f80604083850312156129cc576129cb612779565b5b5f6129d9858286016127a0565b92505060206129ea858286016129a2565b9150509250929050565b5f602082019050612a075f830184612925565b92915050565b5f60208284031215612a2257612a21612779565b5b5f612a2f848285016129a2565b91505092915050565b5f6040820190508181035f830152612a508185612870565b9050612a5f6020830184612925565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612a9881612781565b82525050565b5f612aa98383612a8f565b60208301905092915050565b5f602082019050919050565b5f612acb82612a66565b612ad58185612a70565b9350612ae083612a80565b805f5b83811015612b10578151612af78882612a9e565b9750612b0283612ab5565b925050600181019050612ae3565b5085935050505092915050565b5f6020820190508181035f830152612b358184612ac1565b905092915050565b5f82825260208201905092915050565b5f612b578261281e565b612b618185612b3d565b9350612b71818560208601612838565b612b7a81612860565b840191505092915050565b612b8e816127fe565b82525050565b612b9d8161291a565b82525050565b5f60a083015f8301518482035f860152612bbd8282612b4d565b9150506020830151612bd26020860182612b85565b506040830151612be56040860182612b94565b506060830151612bf86060860182612a8f565b506080830151612c0b6080860182612a8f565b508091505092915050565b5f6020820190508181035f830152612c2e8184612ba3565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612c5757612c56612c36565b5b8235905067ffffffffffffffff811115612c7457612c73612c3a565b5b602083019150836001820283011115612c9057612c8f612c3e565b5b9250929050565b612ca08161291a565b8114612caa575f80fd5b50565b5f81359050612cbb81612c97565b92915050565b5f805f60408486031215612cd857612cd7612779565b5b5f84013567ffffffffffffffff811115612cf557612cf461277d565b5b612d0186828701612c42565b93509350506020612d1486828701612cad565b9150509250925092565b5f608083015f830151612d335f860182612b85565b5060208301518482036020860152612d4b8282612b4d565b9150506040830151612d606040860182612a8f565b506060830151612d736060860182612a8f565b508091505092915050565b5f6020820190508181035f830152612d968184612d1e565b905092915050565b5f805f60608486031215612db557612db4612779565b5b5f612dc2868287016127a0565b9350506020612dd3868287016127a0565b9250506040612de4868287016127a0565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f608083015f830151612e2c5f860182612b85565b5060208301518482036020860152612e448282612b4d565b9150506040830151612e596040860182612a8f565b506060830151612e6c6060860182612a8f565b508091505092915050565b5f612e828383612e17565b905092915050565b5f602082019050919050565b5f612ea082612dee565b612eaa8185612df8565b935083602082028501612ebc85612e08565b805f5b85811015612ef75784840389528151612ed88582612e77565b9450612ee383612e8a565b925060208a01995050600181019050612ebf565b50829750879550505050505092915050565b5f6020820190508181035f830152612f218184612e96565b905092915050565b5f805f60408486031215612f4057612f3f612779565b5b5f612f4d868287016127a0565b935050602084013567ffffffffffffffff811115612f6e57612f6d61277d565b5b612f7a86828701612c42565b92509250509250925092565b5f6020820190508181035f830152612f9e8184612870565b905092915050565b5f8060208385031215612fbc57612fbb612779565b5b5f83013567ffffffffffffffff811115612fd957612fd861277d565b5b612fe585828601612c42565b92509250509250929050565b5f806040838503121561300757613006612779565b5b5f613014858286016127a0565b9250506020613025858286016127a0565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61306982612860565b810181811067ffffffffffffffff8211171561308857613087613033565b5b80604052505050565b5f61309a612770565b90506130a68282613060565b919050565b5f67ffffffffffffffff8211156130c5576130c4613033565b5b6130ce82612860565b9050602081019050919050565b828183375f83830152505050565b5f6130fb6130f6846130ab565b613091565b9050828152602081018484840111156131175761311661302f565b5b6131228482856130db565b509392505050565b5f82601f83011261313e5761313d612c36565b5b813561314e8482602086016130e9565b91505092915050565b5f6020828403121561316c5761316b612779565b5b5f82013567ffffffffffffffff8111156131895761318861277d565b5b6131958482850161312a565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806131e257607f821691505b6020821081036131f5576131f461319e565b5b50919050565b7f526f6f6d20646f6573206e6f74206578697374000000000000000000000000005f82015250565b5f61322f601383612828565b915061323a826131fb565b602082019050919050565b5f6020820190508181035f83015261325c81613223565b9050919050565b7f4f6e6c7920726f6f6d206f776e65722063616e20706572666f726d20746869735f8201527f20616374696f6e00000000000000000000000000000000000000000000000000602082015250565b5f6132bd602783612828565b91506132c882613263565b604082019050919050565b5f6020820190508181035f8301526132ea816132b1565b9050919050565b7f43616e206f6e6c7920616464206d656d6265727320746f2070726976617465205f8201527f726f6f6d73000000000000000000000000000000000000000000000000000000602082015250565b5f61334b602583612828565b9150613356826132f1565b604082019050919050565b5f6020820190508181035f8301526133788161333f565b9050919050565b7f416c72656164792061206d656d626572000000000000000000000000000000005f82015250565b5f6133b3601083612828565b91506133be8261337f565b602082019050919050565b5f6020820190508181035f8301526133e0816133a7565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f61341b600f83612828565b9150613426826133e7565b602082019050919050565b5f6020820190508181035f8301526134488161340f565b9050919050565b7f4163636573732064656e6965643a206e6f742061206d656d626572206f6620745f8201527f686973207072697661746520726f6f6d00000000000000000000000000000000602082015250565b5f6134a9603083612828565b91506134b48261344f565b604082019050919050565b5f6020820190508181035f8301526134d68161349d565b9050919050565b7f43616e206f6e6c792072656d6f7665206d656d626572732066726f6d207072695f8201527f7661746520726f6f6d7300000000000000000000000000000000000000000000602082015250565b5f613537602a83612828565b9150613542826134dd565b604082019050919050565b5f6020820190508181035f8301526135648161352b565b9050919050565b7f4e6f742061206d656d62657200000000000000000000000000000000000000005f82015250565b5f61359f600c83612828565b91506135aa8261356b565b602082019050919050565b5f6020820190508181035f8301526135cc81613593565b9050919050565b7f43616e6e6f742072656d6f766520726f6f6d206f776e657200000000000000005f82015250565b5f613607601883612828565b9150613612826135d3565b602082019050919050565b5f6020820190508181035f830152613634816135fb565b9050919050565b7f4d65737361676520646f6573206e6f74206578697374000000000000000000005f82015250565b5f61366f601683612828565b915061367a8261363b565b602082019050919050565b5f6020820190508181035f83015261369c81613663565b9050919050565b7f4f6666736574206f7574206f6620626f756e64730000000000000000000000005f82015250565b5f6136d7601483612828565b91506136e2826136a3565b602082019050919050565b5f6020820190508181035f830152613704816136cb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61374282612781565b915061374d83612781565b92508282039050818111156137655761376461370b565b5b92915050565b5f61377582612781565b915061378083612781565b92508282019050808211156137985761379761370b565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4d6573736167652063616e6e6f7420626520656d7074790000000000000000005f82015250565b5f6137ff601783612828565b915061380a826137cb565b602082019050919050565b5f6020820190508181035f83015261382c816137f3565b9050919050565b7f4d65737361676520746f6f206c6f6e67000000000000000000000000000000005f82015250565b5f613867601083612828565b915061387282613833565b602082019050919050565b5f6020820190508181035f8301526138948161385b565b9050919050565b7f436f6f6c646f776e20706572696f64206e6f74206d65742e20506c65617365205f8201527f77616974206265666f72652073656e64696e6720616e6f74686572206d65737360208201527f6167652e00000000000000000000000000000000000000000000000000000000604082015250565b5f61391b604483612828565b91506139268261389b565b606082019050919050565b5f6020820190508181035f8301526139488161390f565b9050919050565b5f61395982612781565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361398b5761398a61370b565b5b600182019050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026139f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826139b7565b6139fc86836139b7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f613a37613a32613a2d84612781565b613a14565b612781565b9050919050565b5f819050919050565b613a5083613a1d565b613a64613a5c82613a3e565b8484546139c3565b825550505050565b5f90565b613a78613a6c565b613a83818484613a47565b505050565b5b81811015613aa657613a9b5f82613a70565b600181019050613a89565b5050565b601f821115613aeb57613abc81613996565b613ac5846139a8565b81016020851015613ad4578190505b613ae8613ae0856139a8565b830182613a88565b50505b505050565b5f82821c905092915050565b5f613b0b5f1984600802613af0565b1980831691505092915050565b5f613b238383613afc565b9150826002028217905092915050565b613b3c8261281e565b67ffffffffffffffff811115613b5557613b54613033565b5b613b5f82546131cb565b613b6a828285613aaa565b5f60209050601f831160018114613b9b575f8415613b89578287015190505b613b938582613b18565b865550613bfa565b601f198416613ba986613996565b5f5b82811015613bd057848901518255600182019150602085019450602081019050613bab565b86831015613bed5784890151613be9601f891682613afc565b8355505b6001600288020188555050505b505050505050565b5f613c0d8385612828565b9350613c1a8385846130db565b613c2383612860565b840190509392505050565b5f6040820190508181035f830152613c47818587613c02565b9050613c5660208301846128a8565b949350505050565b7f557365726e616d652063616e6e6f7420626520656d70747900000000000000005f82015250565b5f613c92601883612828565b9150613c9d82613c5e565b602082019050919050565b5f6020820190508181035f830152613cbf81613c86565b9050919050565b7f557365726e616d6520746f6f206c6f6e670000000000000000000000000000005f82015250565b5f613cfa601183612828565b9150613d0582613cc6565b602082019050919050565b5f6020820190508181035f830152613d2781613cee565b9050919050565b5f81905092915050565b5f613d428261281e565b613d4c8185613d2e565b9350613d5c818560208601612838565b80840191505092915050565b5f613d738284613d38565b915081905092915050565b5f613d898385613d2e565b9350613d968385846130db565b82840190509392505050565b5f613dae828486613d7e565b91508190509392505050565b7f557365726e616d6520616c72656164792074616b656e000000000000000000005f82015250565b5f613dee601683612828565b9150613df982613dba565b602082019050919050565b5f6020820190508181035f830152613e1b81613de2565b9050919050565b5f6020820190508181035f830152613e3b818486613c02565b90509392505050565b7f526f6f6d206e616d652063616e6e6f7420626520656d707479000000000000005f82015250565b5f613e78601983612828565b9150613e8382613e44565b602082019050919050565b5f6020820190508181035f830152613ea581613e6c565b9050919050565b7f526f6f6d206e616d6520746f6f206c6f6e6700000000000000000000000000005f82015250565b5f613ee0601283612828565b9150613eeb82613eac565b602082019050919050565b5f6020820190508181035f830152613f0d81613ed4565b9050919050565b5f6060820190508181035f830152613f2c8186612870565b9050613f3b6020830185612925565b613f4860408301846128a8565b94935050505056fea26469706673582212205e2e381ae049755fa2ff2374dd4b5aadfbfa9b0783dcc4f88701a19fa8e7d4f464736f6c63430008180033", + "nonce": "0x9", + "chainId": "0xaa044c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x38e492", + "logs": [ + { + "address": "0x23cdaec75b1c3e5d26db4675ecb3c9042a780a0e", + "topics": [ + "0xdac7dc3cc8febddbd57b2afd071a29cf73e1222c3d933b9dd2ad3bf2238fbdb4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000001ff9ea9f062c31cff19ade558e34894f07cf7817" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000691bddd4000000000000000000000000000000000000000000000000000000000000000747656e6572616c00000000000000000000000000000000000000000000000000", + "blockHash": "0xd10dc5f15d3753bc598f819c9440684ef31f84f7c3a1424abc46a8f244f25904", + "blockNumber": "0x9ae040", + "transactionHash": "0xbcdd9179fd231e73950315bf77d72c3437162a3f809f4dd491bf8d33728097ff", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000080000400000000000000000000000000000000000000020000000000000000001800000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000100000000000000000000000000000000000000000000001020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbcdd9179fd231e73950315bf77d72c3437162a3f809f4dd491bf8d33728097ff", + "transactionIndex": "0x1", + "blockHash": "0xd10dc5f15d3753bc598f819c9440684ef31f84f7c3a1424abc46a8f244f25904", + "blockNumber": "0x9ae040", + "gasUsed": "0x3830a6", + "effectiveGasPrice": "0x5d21dba01", + "from": "0x1ff9ea9f062c31cff19ade558e34894f07cf7817", + "to": null, + "contractAddress": "0x23cdaec75b1c3e5d26db4675ecb3c9042a780a0e", + "l1BaseFeeScalar": "0x0", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0x0", + "l1Fee": "0x0", + "l1GasPrice": "0xb", + "l1GasUsed": "0x1c01b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763433958531, + "chain": 11142220, + "commit": "ee6fe52" +} \ No newline at end of file diff --git a/test/AmbienceChat.t.sol b/test/AmbienceChat.t.sol index 2e04624..aadcecc 100644 --- a/test/AmbienceChat.t.sol +++ b/test/AmbienceChat.t.sol @@ -64,6 +64,9 @@ contract AmbienceChatTest is Test { vm.prank(user1); uint256 roomId = ambienceChat.createRoom("Test Room", false); + // Fast forward time to ensure we're past any potential cooldown from setup + vm.warp(block.timestamp + 61 seconds); + // Send a message string memory messageContent = "Hello, world!"; vm.prank(user1); @@ -75,7 +78,7 @@ contract AmbienceChatTest is Test { assertEq(content, messageContent); // Check room message count - (,,, uint256 messageCount) = ambienceChat.getRoomInfo(roomId); + (,,,, uint256 messageCount) = ambienceChat.rooms(roomId); assertEq(messageCount, 1); } @@ -93,6 +96,9 @@ contract AmbienceChatTest is Test { vm.prank(user1); ambienceChat.addRoomMember(roomId, user2); + // Fast forward time to pass the cooldown period + vm.warp(block.timestamp + 61 seconds); // 1 minute + 1 second + // Now user2 should be able to send message vm.prank(user2); ambienceChat.sendMessage(roomId, "Hello from user2"); @@ -102,17 +108,20 @@ contract AmbienceChatTest is Test { // Use the default General room (roomId = 0) uint256 roomId = 0; + // Fast forward time to ensure we're past any potential cooldown from setup + vm.warp(block.timestamp + 61 seconds); + // First message vm.prank(user1); ambienceChat.sendMessage(roomId, "First message"); // Try to send another message immediately (should fail) vm.prank(user1); - vm.expectRevert("Message cooldown period has not passed"); + vm.expectRevert("Cooldown period not met. Please wait before sending another message."); ambienceChat.sendMessage(roomId, "Second message"); // Fast forward time (1 minute + 1 second) - vm.warp(block.timestamp + 61); + vm.warp(block.timestamp + 61 seconds); // Now should work vm.prank(user1);