diff --git a/crates/bindings/src/context.rs b/crates/bindings/src/context.rs index 6bb7c98..88b9577 100644 --- a/crates/bindings/src/context.rs +++ b/crates/bindings/src/context.rs @@ -19,7 +19,6 @@ pub mod Context { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -29,7 +28,6 @@ pub mod Context { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); diff --git a/crates/bindings/src/deploy.rs b/crates/bindings/src/deploy.rs index fe51c91..0c49060 100644 --- a/crates/bindings/src/deploy.rs +++ b/crates/bindings/src/deploy.rs @@ -57,22 +57,20 @@ pub mod Deploy { /// The creation / init bytecode of the contract. /// /// ```text - ///0x6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604080516301587f9560e61b8152600481019190915260086044820152674554485f46524f4d60c01b606482015260006024820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063561fe54090608401602060405180830381865afa158015610096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ba9190610365565b90506001600160a01b038116156100f457600c80546301000000600160b81b03191663010000006001600160a01b0384160217905561025e565b6040805160608101909152603b808252737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c916114ab60208301396040518263ffffffff1660e01b815260040161014491906103e5565b600060405180830381865afa158015610161573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610189919081019061042d565b600d906101969082610564565b50610232600d80546101a7906104d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101d3906104d9565b80156102205780601f106101f557610100808354040283529160200191610220565b820191906000526020600020905b81548152906001019060200180831161020357829003601f168201915b5050505050600061026460201b60201c565b50600c80546001600160a01b039092166301000000026301000000600160b81b03199092169190911790555b50610664565b604051636229498b60e01b81526000908190737109709ecfa91a80626ff3989d68f67f5b1dd12d90636229498b906102a29087908790600401610623565b602060405180830381865afa1580156102bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e3919061064b565b604051630884001960e21b815260048101829052909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906322100064906024016020604051808303816000875af1158015610338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035c9190610365565b91509250929050565b60006020828403121561037757600080fd5b81516001600160a01b038116811461038e57600080fd5b9392505050565b60005b838110156103b0578181015183820152602001610398565b50506000910152565b600081518084526103d1816020860160208601610395565b601f01601f19169290920160200192915050565b6040815260086040820152674d4e454d4f4e494360c01b606082015260806020820152600061038e60808301846103b9565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561043f57600080fd5b81516001600160401b038082111561045657600080fd5b818401915084601f83011261046a57600080fd5b81518181111561047c5761047c610417565b604051601f8201601f19908116603f011681019083821181831017156104a4576104a4610417565b816040528281528760208487010111156104bd57600080fd5b6104ce836020830160208801610395565b979650505050505050565b600181811c908216806104ed57607f821691505b60208210810361050d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561055f576000816000526020600020601f850160051c8101602086101561053c5750805b601f850160051c820191505b8181101561055b57828155600101610548565b5050505b505050565b81516001600160401b0381111561057d5761057d610417565b6105918161058b84546104d9565b84610513565b602080601f8311600181146105c657600084156105ae5750858301515b600019600386901b1c1916600185901b17855561055b565b600085815260208120601f198616915b828110156105f5578886015182559484019460019091019084016105d6565b50858210156106135787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600061063660408301856103b9565b905063ffffffff831660208301529392505050565b60006020828403121561065d57600080fd5b5051919050565b610e38806106736000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063522bb7041461003b578063f8ccbf4714610080575b600080fd5b61004e61004936600461029b565b6100a3565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152015b60405180910390f35b600c546100939062010000900460ff1681565b6040519015158152602001610077565b600c546040517f7fec2a8d000000000000000000000000000000000000000000000000000000008152630100000090910473ffffffffffffffffffffffffffffffffffffffff1660048201526000908190737109709ecfa91a80626ff3989d68f67f5b1dd12d90637fec2a8d90602401600060405180830381600087803b15801561012d57600080fd5b505af1158015610141573d6000803e3d6000fd5b50505050600c60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161017490610281565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101ad573d6000803e3d6000fd5b509050826040516101bd9061028e565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101f6573d6000803e3d6000fd5b5091507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561026457600080fd5b505af1158015610278573d6000803e3d6000fd5b50505050915091565b610223806102d983390190565b61093c806104fc83390190565b6000602082840312156102ad57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102d157600080fd5b939250505056fe6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604051610223380380610223833981016040819052610040916100f0565b6001600160a01b0381166100675760405163201616d160e21b815260040160405180910390fd5b600e80546001600160a01b0319166001600160a01b03831617905546617a69036100cb57604080516020808201835260009091528151908101909152600e546001600160a01b031690819052600d80546001600160a01b03191690911790556100ea565b604051630b13dbff60e01b815246600482015260240160405180910390fd5b50610120565b60006020828403121561010257600080fd5b81516001600160a01b038116811461011957600080fd5b9392505050565b60f58061012e6000396000f3fe6080604052348015600f57600080fd5b506004361060465760003560e01c806312900da814604b578063d7b6574514608f578063f8a8fd6d1460d2578063f8ccbf471460d4575b600080fd5b6040805160208082018352600090915281518082018352600e5473ffffffffffffffffffffffffffffffffffffffff16908190529151918252015b60405180910390f35b600d5460ae9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016086565b005b600c5460e69062010000900460ff1681565b6040519015158152602001608656608060405234801561001057600080fd5b5060405161093c38038061093c83398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b61083f806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80638da5cb5b116100505780638da5cb5b146100c9578063e3eccd10146100f1578063f2fde38b1461010457600080fd5b80630e666e49146100775780636f77926b1461009f578063715018a6146100bf575b600080fd5b61008a6100853660046104cd565b610117565b60405190151581526020015b60405180910390f35b6100b26100ad3660046104cd565b610154565b60405161009691906104ef565b6100c761022a565b005b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610096565b6100c76100ff366004610565565b61023e565b6100c76101123660046104cd565b610373565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120805482919061014a906105e8565b9050119050919050565b60408051602080820183526060825273ffffffffffffffffffffffffffffffffffffffff84166000908152600182528390208351918201909352825491929091829082906101a1906105e8565b80601f01602080910402602001604051908101604052809291908181526020018280546101cd906105e8565b801561021a5780601f106101ef5761010080835404028352916020019161021a565b820191906000526020600020905b8154815290600101906020018083116101fd57829003601f168201915b5050505050815250509050919050565b6102326103dc565b61023c600061042f565b565b6102466103dc565b6000819003610281576040517ff969dd5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028a83610117565b156102c1576040517fc344397e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020601f84018190048102820183018352810183815290918291908590859081908501838280828437600092018290525093909452505073ffffffffffffffffffffffffffffffffffffffff861681526001602052604090208251909150819061032f90826106bb565b509050507f3d3d05375966308799f27583173d73adad0e9648aac96d354b0d554a6ea8d574838383604051610366939291906107d5565b60405180910390a1505050565b61037b6103dc565b73ffffffffffffffffffffffffffffffffffffffff81166103d0576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103d98161042f565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461023c576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016103c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff811681146104c857600080fd5b919050565b6000602082840312156104df57600080fd5b6104e8826104a4565b9392505050565b600060208083528351602080850152805180604086015260005b8181101561052557828101840151868201606001528301610509565b5060006060828701015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116860101935050505092915050565b60008060006040848603121561057a57600080fd5b610583846104a4565b9250602084013567ffffffffffffffff808211156105a057600080fd5b818601915086601f8301126105b457600080fd5b8135818111156105c357600080fd5b8760208285010111156105d557600080fd5b6020830194508093505050509250925092565b600181811c908216806105fc57607f821691505b602082108103610635577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156106b6576000816000526020600020601f850160051c810160208610156106935750805b601f850160051c820191505b818110156106b25782815560010161069f565b5050505b505050565b815167ffffffffffffffff8111156106d5576106d561063b565b6106e9816106e384546105e8565b8461066a565b602080601f83116001811461073c57600084156107065750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556106b2565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156107895788860151825594840194600190910190840161076a565b50858210156107c557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019291505056746573742074657374207465737420746573742074657374207465737420746573742074657374207465737420746573742074657374206a756e6b + ///0x6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604080516301587f9560e61b8152600481019190915260086044820152674554485f46524f4d60c01b606482015260006024820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063561fe54090608401602060405180830381865afa158015610096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ba9190610365565b90506001600160a01b038116156100f457600c80546301000000600160b81b03191663010000006001600160a01b0384160217905561025e565b6040805160608101909152603b808252737109709ecfa91a80626ff3989d68f67f5b1dd12d9163d145736c916110c560208301396040518263ffffffff1660e01b815260040161014491906103e5565b600060405180830381865afa158015610161573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610189919081019061042d565b600d906101969082610564565b50610232600d80546101a7906104d9565b80601f01602080910402602001604051908101604052809291908181526020018280546101d3906104d9565b80156102205780601f106101f557610100808354040283529160200191610220565b820191906000526020600020905b81548152906001019060200180831161020357829003601f168201915b5050505050600061026460201b60201c565b50600c80546001600160a01b039092166301000000026301000000600160b81b03199092169190911790555b50610664565b604051636229498b60e01b81526000908190737109709ecfa91a80626ff3989d68f67f5b1dd12d90636229498b906102a29087908790600401610623565b602060405180830381865afa1580156102bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e3919061064b565b604051630884001960e21b815260048101829052909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906322100064906024016020604051808303816000875af1158015610338573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035c9190610365565b91509250929050565b60006020828403121561037757600080fd5b81516001600160a01b038116811461038e57600080fd5b9392505050565b60005b838110156103b0578181015183820152602001610398565b50506000910152565b600081518084526103d1816020860160208601610395565b601f01601f19169290920160200192915050565b6040815260086040820152674d4e454d4f4e494360c01b606082015260806020820152600061038e60808301846103b9565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561043f57600080fd5b81516001600160401b038082111561045657600080fd5b818401915084601f83011261046a57600080fd5b81518181111561047c5761047c610417565b604051601f8201601f19908116603f011681019083821181831017156104a4576104a4610417565b816040528281528760208487010111156104bd57600080fd5b6104ce836020830160208801610395565b979650505050505050565b600181811c908216806104ed57607f821691505b60208210810361050d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561055f576000816000526020600020601f850160051c8101602086101561053c5750805b601f850160051c820191505b8181101561055b57828155600101610548565b5050505b505050565b81516001600160401b0381111561057d5761057d610417565b6105918161058b84546104d9565b84610513565b602080601f8311600181146105c657600084156105ae5750858301515b600019600386901b1c1916600185901b17855561055b565b600085815260208120601f198616915b828110156105f5578886015182559484019460019091019084016105d6565b50858210156106135787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60408152600061063660408301856103b9565b905063ffffffff831660208301529392505050565b60006020828403121561065d57600080fd5b5051919050565b610a52806106736000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063522bb7041461003b578063f8ccbf4714610080575b600080fd5b61004e61004936600461029b565b6100a3565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152015b60405180910390f35b600c546100939062010000900460ff1681565b6040519015158152602001610077565b600c546040517f7fec2a8d000000000000000000000000000000000000000000000000000000008152630100000090910473ffffffffffffffffffffffffffffffffffffffff1660048201526000908190737109709ecfa91a80626ff3989d68f67f5b1dd12d90637fec2a8d90602401600060405180830381600087803b15801561012d57600080fd5b505af1158015610141573d6000803e3d6000fd5b50505050600c60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161017490610281565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101ad573d6000803e3d6000fd5b509050826040516101bd9061028e565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101f6573d6000803e3d6000fd5b5091507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561026457600080fd5b505af1158015610278573d6000803e3d6000fd5b50505050915091565b610223806102d983390190565b610556806104fc83390190565b6000602082840312156102ad57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102d157600080fd5b939250505056fe6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604051610223380380610223833981016040819052610040916100f0565b6001600160a01b0381166100675760405163201616d160e21b815260040160405180910390fd5b600e80546001600160a01b0319166001600160a01b03831617905546617a69036100cb57604080516020808201835260009091528151908101909152600e546001600160a01b031690819052600d80546001600160a01b03191690911790556100ea565b604051630b13dbff60e01b815246600482015260240160405180910390fd5b50610120565b60006020828403121561010257600080fd5b81516001600160a01b038116811461011957600080fd5b9392505050565b60f58061012e6000396000f3fe6080604052348015600f57600080fd5b506004361060465760003560e01c806312900da814604b578063d7b6574514608f578063f8a8fd6d1460d2578063f8ccbf471460d4575b600080fd5b6040805160208082018352600090915281518082018352600e5473ffffffffffffffffffffffffffffffffffffffff16908190529151918252015b60405180910390f35b600d5460ae9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016086565b005b600c5460e69062010000900460ff1681565b6040519015158152602001608656608060405234801561001057600080fd5b5060405161055638038061055683398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b610459806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80638da5cb5b116100505780638da5cb5b146100e2578063985751881461010a578063f2fde38b1461011d57600080fd5b80630e666e4914610077578063421b2d8b146100c5578063715018a6146100da575b600080fd5b6100b061008536600461041c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100d86100d336600461041c565b610130565b005b6100d861021f565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100bc565b6100d861011836600461041c565b610233565b6100d861012b36600461041c565b6102eb565b610138610354565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1615610198576040517fc344397e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526001602081815260409283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915590519182527f19ef9a4877199f89440a26acb26895ec02ed86f2df1aeaa90dc18041b892f71f91015b60405180910390a150565b610227610354565b61023160006103a7565b565b61023b610354565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661029a576040517f907b361f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000819052600160209081526040519182527fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9101610214565b6102f3610354565b73ffffffffffffffffffffffffffffffffffffffff8116610348576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610351816103a7565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610231576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161033f565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561042e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461045257600080fd5b939250505056746573742074657374207465737420746573742074657374207465737420746573742074657374207465737420746573742074657374206a756e6b /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( - b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@\x80Qc\x01X\x7F\x95`\xE6\x1B\x81R`\x04\x81\x01\x91\x90\x91R`\x08`D\x82\x01RgETH_FROM`\xC0\x1B`d\x82\x01R`\0`$\x82\x01\x81\x90R\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90cV\x1F\xE5@\x90`\x84\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\0\x96W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\0\xBA\x91\x90a\x03eV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\0\xF4W`\x0C\x80Tc\x01\0\0\0`\x01`\xB8\x1B\x03\x19\x16c\x01\0\0\0`\x01`\x01`\xA0\x1B\x03\x84\x16\x02\x17\x90Ua\x02^V[`@\x80Q``\x81\x01\x90\x91R`;\x80\x82Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x91c\xD1Esl\x91a\x14\xAB` \x83\x019`@Q\x82c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x01D\x91\x90a\x03\xE5V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x01aW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x01\x89\x91\x90\x81\x01\x90a\x04-V[`\r\x90a\x01\x96\x90\x82a\x05dV[Pa\x022`\r\x80Ta\x01\xA7\x90a\x04\xD9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xD3\x90a\x04\xD9V[\x80\x15a\x02 W\x80`\x1F\x10a\x01\xF5Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02 V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\x03W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP`\0a\x02d` \x1B` \x1CV[P`\x0C\x80T`\x01`\x01`\xA0\x1B\x03\x90\x92\x16c\x01\0\0\0\x02c\x01\0\0\0`\x01`\xB8\x1B\x03\x19\x90\x92\x16\x91\x90\x91\x17\x90U[Pa\x06dV[`@Qcb)I\x8B`\xE0\x1B\x81R`\0\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90cb)I\x8B\x90a\x02\xA2\x90\x87\x90\x87\x90`\x04\x01a\x06#V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x02\xBFW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x02\xE3\x91\x90a\x06KV[`@Qc\x08\x84\0\x19`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\"\x10\0d\x90`$\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x038W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\\\x91\x90a\x03eV[\x91P\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a\x03wW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x03\x8EW`\0\x80\xFD[\x93\x92PPPV[`\0[\x83\x81\x10\x15a\x03\xB0W\x81\x81\x01Q\x83\x82\x01R` \x01a\x03\x98V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x03\xD1\x81` \x86\x01` \x86\x01a\x03\x95V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`@\x81R`\x08`@\x82\x01RgMNEMONIC`\xC0\x1B``\x82\x01R`\x80` \x82\x01R`\0a\x03\x8E`\x80\x83\x01\x84a\x03\xB9V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x04?W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x04VW`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\x04jW`\0\x80\xFD[\x81Q\x81\x81\x11\x15a\x04|Wa\x04|a\x04\x17V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x04\xA4Wa\x04\xA4a\x04\x17V[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\x04\xBDW`\0\x80\xFD[a\x04\xCE\x83` \x83\x01` \x88\x01a\x03\x95V[\x97\x96PPPPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x04\xEDW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x05\rWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x05_W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x05=`\0\xFD[PPPP`\x0C`\x03\x90T\x90a\x01\0\n\x90\x04s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`@Qa\x01t\x90a\x02\x81V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xADW=`\0\x80>=`\0\xFD[P\x90P\x82`@Qa\x01\xBD\x90a\x02\x8EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xF6W=`\0\x80>=`\0\xFD[P\x91P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x02dW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02xW=`\0\x80>=`\0\xFD[PPPP\x91P\x91V[a\x02#\x80a\x02\xD9\x839\x01\x90V[a\t<\x80a\x04\xFC\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x02\xADW`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\xD1W`\0\x80\xFD[\x93\x92PPPV\xFE`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@Qa\x02#8\x03\x80a\x02#\x839\x81\x01`@\x81\x90Ra\0@\x91a\0\xF0V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\0gW`@Qc \x16\x16\xD1`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0E\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x17\x90UFazi\x03a\0\xCBW`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x90\x81\x01\x90\x91R`\x0ET`\x01`\x01`\xA0\x1B\x03\x16\x90\x81\x90R`\r\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90\x91\x17\x90Ua\0\xEAV[`@Qc\x0B\x13\xDB\xFF`\xE0\x1B\x81RF`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[Pa\x01 V[`\0` \x82\x84\x03\x12\x15a\x01\x02W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x01\x19W`\0\x80\xFD[\x93\x92PPPV[`\xF5\x80a\x01.`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`FW`\x005`\xE0\x1C\x80c\x12\x90\r\xA8\x14`KW\x80c\xD7\xB6WE\x14`\x8FW\x80c\xF8\xA8\xFDm\x14`\xD2W\x80c\xF8\xCC\xBFG\x14`\xD4W[`\0\x80\xFD[`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x80\x82\x01\x83R`\x0ETs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81\x90R\x91Q\x91\x82R\x01[`@Q\x80\x91\x03\x90\xF3[`\rT`\xAE\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`\x86V[\0[`\x0CT`\xE6\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`\x86V`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\t<8\x03\x80a\t<\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\xBEV[\x80`\x01`\x01`\xA0\x1B\x03\x81\x16a\0^W`@Qc\x1EO\xBD\xF7`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[a\0g\x81a\0nV[PPa\0\xEEV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0` \x82\x84\x03\x12\x15a\0\xD0W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xE7W`\0\x80\xFD[\x93\x92PPPV[a\x08?\x80a\0\xFD`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0PW\x80c\x8D\xA5\xCB[\x14a\0\xC9W\x80c\xE3\xEC\xCD\x10\x14a\0\xF1W\x80c\xF2\xFD\xE3\x8B\x14a\x01\x04W`\0\x80\xFD[\x80c\x0EfnI\x14a\0wW\x80cow\x92k\x14a\0\x9FW\x80cqP\x18\xA6\x14a\0\xBFW[`\0\x80\xFD[a\0\x8Aa\0\x856`\x04a\x04\xCDV[a\x01\x17V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xB2a\0\xAD6`\x04a\x04\xCDV[a\x01TV[`@Qa\0\x96\x91\x90a\x04\xEFV[a\0\xC7a\x02*V[\0[`\0T`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0\x96V[a\0\xC7a\0\xFF6`\x04a\x05eV[a\x02>V[a\0\xC7a\x01\x126`\x04a\x04\xCDV[a\x03sV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x81 \x80T\x82\x91\x90a\x01J\x90a\x05\xE8V[\x90P\x11\x90P\x91\x90PV[`@\x80Q` \x80\x82\x01\x83R``\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x90\x81R`\x01\x82R\x83\x90 \x83Q\x91\x82\x01\x90\x93R\x82T\x91\x92\x90\x91\x82\x90\x82\x90a\x01\xA1\x90a\x05\xE8V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xCD\x90a\x05\xE8V[\x80\x15a\x02\x1AW\x80`\x1F\x10a\x01\xEFWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x1AV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xFDW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[a\x022a\x03\xDCV[a\x02<`\0a\x04/V[V[a\x02Fa\x03\xDCV[`\0\x81\x90\x03a\x02\x81W`@Q\x7F\xF9i\xDDY\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02\x8A\x83a\x01\x17V[\x15a\x02\xC1W`@Q\x7F\xC3D9~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q` `\x1F\x84\x01\x81\x90\x04\x81\x02\x82\x01\x83\x01\x83R\x81\x01\x83\x81R\x90\x91\x82\x91\x90\x85\x90\x85\x90\x81\x90\x85\x01\x83\x82\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x81R`\x01` R`@\x90 \x82Q\x90\x91P\x81\x90a\x03/\x90\x82a\x06\xBBV[P\x90PP\x7F==\x057Yf0\x87\x99\xF2u\x83\x17=s\xAD\xAD\x0E\x96H\xAA\xC9m5K\rUJn\xA8\xD5t\x83\x83\x83`@Qa\x03f\x93\x92\x91\x90a\x07\xD5V[`@Q\x80\x91\x03\x90\xA1PPPV[a\x03{a\x03\xDCV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x03\xD0W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[a\x03\xD9\x81a\x04/V[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x02=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\0\xBA\x91\x90a\x03eV[\x90P`\x01`\x01`\xA0\x1B\x03\x81\x16\x15a\0\xF4W`\x0C\x80Tc\x01\0\0\0`\x01`\xB8\x1B\x03\x19\x16c\x01\0\0\0`\x01`\x01`\xA0\x1B\x03\x84\x16\x02\x17\x90Ua\x02^V[`@\x80Q``\x81\x01\x90\x91R`;\x80\x82Rsq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x91c\xD1Esl\x91a\x10\xC5` \x83\x019`@Q\x82c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01a\x01D\x91\x90a\x03\xE5V[`\0`@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x01aW=`\0\x80>=`\0\xFD[PPPP`@Q=`\0\x82>`\x1F=\x90\x81\x01`\x1F\x19\x16\x82\x01`@Ra\x01\x89\x91\x90\x81\x01\x90a\x04-V[`\r\x90a\x01\x96\x90\x82a\x05dV[Pa\x022`\r\x80Ta\x01\xA7\x90a\x04\xD9V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xD3\x90a\x04\xD9V[\x80\x15a\x02 W\x80`\x1F\x10a\x01\xF5Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02 V[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\x03W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP`\0a\x02d` \x1B` \x1CV[P`\x0C\x80T`\x01`\x01`\xA0\x1B\x03\x90\x92\x16c\x01\0\0\0\x02c\x01\0\0\0`\x01`\xB8\x1B\x03\x19\x90\x92\x16\x91\x90\x91\x17\x90U[Pa\x06dV[`@Qcb)I\x8B`\xE0\x1B\x81R`\0\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90cb)I\x8B\x90a\x02\xA2\x90\x87\x90\x87\x90`\x04\x01a\x06#V[` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x02\xBFW=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x02\xE3\x91\x90a\x06KV[`@Qc\x08\x84\0\x19`\xE2\x1B\x81R`\x04\x81\x01\x82\x90R\x90\x91Psq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\"\x10\0d\x90`$\x01` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\x038W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03\\\x91\x90a\x03eV[\x91P\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a\x03wW`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x03\x8EW`\0\x80\xFD[\x93\x92PPPV[`\0[\x83\x81\x10\x15a\x03\xB0W\x81\x81\x01Q\x83\x82\x01R` \x01a\x03\x98V[PP`\0\x91\x01RV[`\0\x81Q\x80\x84Ra\x03\xD1\x81` \x86\x01` \x86\x01a\x03\x95V[`\x1F\x01`\x1F\x19\x16\x92\x90\x92\x01` \x01\x92\x91PPV[`@\x81R`\x08`@\x82\x01RgMNEMONIC`\xC0\x1B``\x82\x01R`\x80` \x82\x01R`\0a\x03\x8E`\x80\x83\x01\x84a\x03\xB9V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0` \x82\x84\x03\x12\x15a\x04?W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15a\x04VW`\0\x80\xFD[\x81\x84\x01\x91P\x84`\x1F\x83\x01\x12a\x04jW`\0\x80\xFD[\x81Q\x81\x81\x11\x15a\x04|Wa\x04|a\x04\x17V[`@Q`\x1F\x82\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x83\x82\x11\x81\x83\x10\x17\x15a\x04\xA4Wa\x04\xA4a\x04\x17V[\x81`@R\x82\x81R\x87` \x84\x87\x01\x01\x11\x15a\x04\xBDW`\0\x80\xFD[a\x04\xCE\x83` \x83\x01` \x88\x01a\x03\x95V[\x97\x96PPPPPPPV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x04\xEDW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x05\rWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x05_W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x05=`\0\xFD[PPPP`\x0C`\x03\x90T\x90a\x01\0\n\x90\x04s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`@Qa\x01t\x90a\x02\x81V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xADW=`\0\x80>=`\0\xFD[P\x90P\x82`@Qa\x01\xBD\x90a\x02\x8EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xF6W=`\0\x80>=`\0\xFD[P\x91P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x02dW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02xW=`\0\x80>=`\0\xFD[PPPP\x91P\x91V[a\x02#\x80a\x02\xD9\x839\x01\x90V[a\x05V\x80a\x04\xFC\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x02\xADW`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\xD1W`\0\x80\xFD[\x93\x92PPPV\xFE`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@Qa\x02#8\x03\x80a\x02#\x839\x81\x01`@\x81\x90Ra\0@\x91a\0\xF0V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\0gW`@Qc \x16\x16\xD1`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0E\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x17\x90UFazi\x03a\0\xCBW`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x90\x81\x01\x90\x91R`\x0ET`\x01`\x01`\xA0\x1B\x03\x16\x90\x81\x90R`\r\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90\x91\x17\x90Ua\0\xEAV[`@Qc\x0B\x13\xDB\xFF`\xE0\x1B\x81RF`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[Pa\x01 V[`\0` \x82\x84\x03\x12\x15a\x01\x02W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x01\x19W`\0\x80\xFD[\x93\x92PPPV[`\xF5\x80a\x01.`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`FW`\x005`\xE0\x1C\x80c\x12\x90\r\xA8\x14`KW\x80c\xD7\xB6WE\x14`\x8FW\x80c\xF8\xA8\xFDm\x14`\xD2W\x80c\xF8\xCC\xBFG\x14`\xD4W[`\0\x80\xFD[`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x80\x82\x01\x83R`\x0ETs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81\x90R\x91Q\x91\x82R\x01[`@Q\x80\x91\x03\x90\xF3[`\rT`\xAE\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`\x86V[\0[`\x0CT`\xE6\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`\x86V`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x05V8\x03\x80a\x05V\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\xBEV[\x80`\x01`\x01`\xA0\x1B\x03\x81\x16a\0^W`@Qc\x1EO\xBD\xF7`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[a\0g\x81a\0nV[PPa\0\xEEV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0` \x82\x84\x03\x12\x15a\0\xD0W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xE7W`\0\x80\xFD[\x93\x92PPPV[a\x04Y\x80a\0\xFD`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0PW\x80c\x8D\xA5\xCB[\x14a\0\xE2W\x80c\x98WQ\x88\x14a\x01\nW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x1DW`\0\x80\xFD[\x80c\x0EfnI\x14a\0wW\x80cB\x1B-\x8B\x14a\0\xC5W\x80cqP\x18\xA6\x14a\0\xDAW[`\0\x80\xFD[a\0\xB0a\0\x856`\x04a\x04\x1CV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x01` R`@\x90 T`\xFF\x16\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xD8a\0\xD36`\x04a\x04\x1CV[a\x010V[\0[a\0\xD8a\x02\x1FV[`\0T`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0\xBCV[a\0\xD8a\x01\x186`\x04a\x04\x1CV[a\x023V[a\0\xD8a\x01+6`\x04a\x04\x1CV[a\x02\xEBV[a\x018a\x03TV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x90 T`\xFF\x16\x15a\x01\x98W`@Q\x7F\xC3D9~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x81\x81R`\x01` \x81\x81R`@\x92\x83\x90 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x90\x92\x17\x90\x91U\x90Q\x91\x82R\x7F\x19\xEF\x9AHw\x19\x9F\x89D\n&\xAC\xB2h\x95\xEC\x02\xED\x86\xF2\xDF\x1A\xEA\xA9\r\xC1\x80A\xB8\x92\xF7\x1F\x91\x01[`@Q\x80\x91\x03\x90\xA1PV[a\x02'a\x03TV[a\x021`\0a\x03\xA7V[V[a\x02;a\x03TV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x90 T`\xFF\x16a\x02\x9AW`@Q\x7F\x90{6\x1F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x81\x90R`\x01` \x90\x81R`@Q\x91\x82R\x7F\xE9\xDC\xE8\xC9\x92b<\xE7\x91r[!\xE8W\xE32H\xD1\xF1\x90\xA2[Qh14 \xEE\xBD\xAA\xE9\x9D\x91\x01a\x02\x14V[a\x02\xF3a\x03TV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x03HW`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[a\x03Q\x81a\x03\xA7V[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x021W`@Q\x7F\x11\x8C\xDA\xA7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R`$\x01a\x03?V[`\0\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0` \x82\x84\x03\x12\x15a\x04.W`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04RW`\0\x80\xFD[\x93\x92PPPVtest test test test test test test test test test test junk", ); /// The runtime bytecode of the contract, as deployed on the network. /// /// ```text - ///0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063522bb7041461003b578063f8ccbf4714610080575b600080fd5b61004e61004936600461029b565b6100a3565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152015b60405180910390f35b600c546100939062010000900460ff1681565b6040519015158152602001610077565b600c546040517f7fec2a8d000000000000000000000000000000000000000000000000000000008152630100000090910473ffffffffffffffffffffffffffffffffffffffff1660048201526000908190737109709ecfa91a80626ff3989d68f67f5b1dd12d90637fec2a8d90602401600060405180830381600087803b15801561012d57600080fd5b505af1158015610141573d6000803e3d6000fd5b50505050600c60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161017490610281565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101ad573d6000803e3d6000fd5b509050826040516101bd9061028e565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101f6573d6000803e3d6000fd5b5091507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561026457600080fd5b505af1158015610278573d6000803e3d6000fd5b50505050915091565b610223806102d983390190565b61093c806104fc83390190565b6000602082840312156102ad57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102d157600080fd5b939250505056fe6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604051610223380380610223833981016040819052610040916100f0565b6001600160a01b0381166100675760405163201616d160e21b815260040160405180910390fd5b600e80546001600160a01b0319166001600160a01b03831617905546617a69036100cb57604080516020808201835260009091528151908101909152600e546001600160a01b031690819052600d80546001600160a01b03191690911790556100ea565b604051630b13dbff60e01b815246600482015260240160405180910390fd5b50610120565b60006020828403121561010257600080fd5b81516001600160a01b038116811461011957600080fd5b9392505050565b60f58061012e6000396000f3fe6080604052348015600f57600080fd5b506004361060465760003560e01c806312900da814604b578063d7b6574514608f578063f8a8fd6d1460d2578063f8ccbf471460d4575b600080fd5b6040805160208082018352600090915281518082018352600e5473ffffffffffffffffffffffffffffffffffffffff16908190529151918252015b60405180910390f35b600d5460ae9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016086565b005b600c5460e69062010000900460ff1681565b6040519015158152602001608656608060405234801561001057600080fd5b5060405161093c38038061093c83398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b61083f806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80638da5cb5b116100505780638da5cb5b146100c9578063e3eccd10146100f1578063f2fde38b1461010457600080fd5b80630e666e49146100775780636f77926b1461009f578063715018a6146100bf575b600080fd5b61008a6100853660046104cd565b610117565b60405190151581526020015b60405180910390f35b6100b26100ad3660046104cd565b610154565b60405161009691906104ef565b6100c761022a565b005b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610096565b6100c76100ff366004610565565b61023e565b6100c76101123660046104cd565b610373565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120805482919061014a906105e8565b9050119050919050565b60408051602080820183526060825273ffffffffffffffffffffffffffffffffffffffff84166000908152600182528390208351918201909352825491929091829082906101a1906105e8565b80601f01602080910402602001604051908101604052809291908181526020018280546101cd906105e8565b801561021a5780601f106101ef5761010080835404028352916020019161021a565b820191906000526020600020905b8154815290600101906020018083116101fd57829003601f168201915b5050505050815250509050919050565b6102326103dc565b61023c600061042f565b565b6102466103dc565b6000819003610281576040517ff969dd5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028a83610117565b156102c1576040517fc344397e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020601f84018190048102820183018352810183815290918291908590859081908501838280828437600092018290525093909452505073ffffffffffffffffffffffffffffffffffffffff861681526001602052604090208251909150819061032f90826106bb565b509050507f3d3d05375966308799f27583173d73adad0e9648aac96d354b0d554a6ea8d574838383604051610366939291906107d5565b60405180910390a1505050565b61037b6103dc565b73ffffffffffffffffffffffffffffffffffffffff81166103d0576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103d98161042f565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461023c576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016103c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff811681146104c857600080fd5b919050565b6000602082840312156104df57600080fd5b6104e8826104a4565b9392505050565b600060208083528351602080850152805180604086015260005b8181101561052557828101840151868201606001528301610509565b5060006060828701015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116860101935050505092915050565b60008060006040848603121561057a57600080fd5b610583846104a4565b9250602084013567ffffffffffffffff808211156105a057600080fd5b818601915086601f8301126105b457600080fd5b8135818111156105c357600080fd5b8760208285010111156105d557600080fd5b6020830194508093505050509250925092565b600181811c908216806105fc57607f821691505b602082108103610635577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156106b6576000816000526020600020601f850160051c810160208610156106935750805b601f850160051c820191505b818110156106b25782815560010161069f565b5050505b505050565b815167ffffffffffffffff8111156106d5576106d561063b565b6106e9816106e384546105e8565b8461066a565b602080601f83116001811461073c57600084156107065750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556106b2565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156107895788860151825594840194600190910190840161076a565b50858210156107c557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019291505056 + ///0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063522bb7041461003b578063f8ccbf4714610080575b600080fd5b61004e61004936600461029b565b6100a3565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152015b60405180910390f35b600c546100939062010000900460ff1681565b6040519015158152602001610077565b600c546040517f7fec2a8d000000000000000000000000000000000000000000000000000000008152630100000090910473ffffffffffffffffffffffffffffffffffffffff1660048201526000908190737109709ecfa91a80626ff3989d68f67f5b1dd12d90637fec2a8d90602401600060405180830381600087803b15801561012d57600080fd5b505af1158015610141573d6000803e3d6000fd5b50505050600c60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161017490610281565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101ad573d6000803e3d6000fd5b509050826040516101bd9061028e565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103906000f0801580156101f6573d6000803e3d6000fd5b5091507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166376eadd366040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561026457600080fd5b505af1158015610278573d6000803e3d6000fd5b50505050915091565b610223806102d983390190565b610556806104fc83390190565b6000602082840312156102ad57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146102d157600080fd5b939250505056fe6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604051610223380380610223833981016040819052610040916100f0565b6001600160a01b0381166100675760405163201616d160e21b815260040160405180910390fd5b600e80546001600160a01b0319166001600160a01b03831617905546617a69036100cb57604080516020808201835260009091528151908101909152600e546001600160a01b031690819052600d80546001600160a01b03191690911790556100ea565b604051630b13dbff60e01b815246600482015260240160405180910390fd5b50610120565b60006020828403121561010257600080fd5b81516001600160a01b038116811461011957600080fd5b9392505050565b60f58061012e6000396000f3fe6080604052348015600f57600080fd5b506004361060465760003560e01c806312900da814604b578063d7b6574514608f578063f8a8fd6d1460d2578063f8ccbf471460d4575b600080fd5b6040805160208082018352600090915281518082018352600e5473ffffffffffffffffffffffffffffffffffffffff16908190529151918252015b60405180910390f35b600d5460ae9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016086565b005b600c5460e69062010000900460ff1681565b6040519015158152602001608656608060405234801561001057600080fd5b5060405161055638038061055683398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b610459806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80638da5cb5b116100505780638da5cb5b146100e2578063985751881461010a578063f2fde38b1461011d57600080fd5b80630e666e4914610077578063421b2d8b146100c5578063715018a6146100da575b600080fd5b6100b061008536600461041c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100d86100d336600461041c565b610130565b005b6100d861021f565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100bc565b6100d861011836600461041c565b610233565b6100d861012b36600461041c565b6102eb565b610138610354565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1615610198576040517fc344397e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526001602081815260409283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915590519182527f19ef9a4877199f89440a26acb26895ec02ed86f2df1aeaa90dc18041b892f71f91015b60405180910390a150565b610227610354565b61023160006103a7565b565b61023b610354565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661029a576040517f907b361f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000819052600160209081526040519182527fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9101610214565b6102f3610354565b73ffffffffffffffffffffffffffffffffffffffff8116610348576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610351816103a7565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610231576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161033f565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561042e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461045257600080fd5b939250505056 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( - b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\x006W`\x005`\xE0\x1C\x80cR+\xB7\x04\x14a\0;W\x80c\xF8\xCC\xBFG\x14a\0\x80W[`\0\x80\xFD[a\0Na\0I6`\x04a\x02\x9BV[a\0\xA3V[`@\x80Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16\x81R\x92\x90\x91\x16` \x83\x01R\x01[`@Q\x80\x91\x03\x90\xF3[`\x0CTa\0\x93\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01a\0wV[`\x0CT`@Q\x7F\x7F\xEC*\x8D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81Rc\x01\0\0\0\x90\x91\x04s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\x04\x82\x01R`\0\x90\x81\x90sq\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-\x90c\x7F\xEC*\x8D\x90`$\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x01-W`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x01AW=`\0\x80>=`\0\xFD[PPPP`\x0C`\x03\x90T\x90a\x01\0\n\x90\x04s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`@Qa\x01t\x90a\x02\x81V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xADW=`\0\x80>=`\0\xFD[P\x90P\x82`@Qa\x01\xBD\x90a\x02\x8EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xF6W=`\0\x80>=`\0\xFD[P\x91P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x02dW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02xW=`\0\x80>=`\0\xFD[PPPP\x91P\x91V[a\x02#\x80a\x02\xD9\x839\x01\x90V[a\t<\x80a\x04\xFC\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x02\xADW`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\xD1W`\0\x80\xFD[\x93\x92PPPV\xFE`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@Qa\x02#8\x03\x80a\x02#\x839\x81\x01`@\x81\x90Ra\0@\x91a\0\xF0V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\0gW`@Qc \x16\x16\xD1`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0E\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x17\x90UFazi\x03a\0\xCBW`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x90\x81\x01\x90\x91R`\x0ET`\x01`\x01`\xA0\x1B\x03\x16\x90\x81\x90R`\r\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90\x91\x17\x90Ua\0\xEAV[`@Qc\x0B\x13\xDB\xFF`\xE0\x1B\x81RF`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[Pa\x01 V[`\0` \x82\x84\x03\x12\x15a\x01\x02W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x01\x19W`\0\x80\xFD[\x93\x92PPPV[`\xF5\x80a\x01.`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`FW`\x005`\xE0\x1C\x80c\x12\x90\r\xA8\x14`KW\x80c\xD7\xB6WE\x14`\x8FW\x80c\xF8\xA8\xFDm\x14`\xD2W\x80c\xF8\xCC\xBFG\x14`\xD4W[`\0\x80\xFD[`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x80\x82\x01\x83R`\x0ETs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81\x90R\x91Q\x91\x82R\x01[`@Q\x80\x91\x03\x90\xF3[`\rT`\xAE\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`\x86V[\0[`\x0CT`\xE6\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`\x86V`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\t<8\x03\x80a\t<\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\xBEV[\x80`\x01`\x01`\xA0\x1B\x03\x81\x16a\0^W`@Qc\x1EO\xBD\xF7`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[a\0g\x81a\0nV[PPa\0\xEEV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0` \x82\x84\x03\x12\x15a\0\xD0W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xE7W`\0\x80\xFD[\x93\x92PPPV[a\x08?\x80a\0\xFD`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0PW\x80c\x8D\xA5\xCB[\x14a\0\xC9W\x80c\xE3\xEC\xCD\x10\x14a\0\xF1W\x80c\xF2\xFD\xE3\x8B\x14a\x01\x04W`\0\x80\xFD[\x80c\x0EfnI\x14a\0wW\x80cow\x92k\x14a\0\x9FW\x80cqP\x18\xA6\x14a\0\xBFW[`\0\x80\xFD[a\0\x8Aa\0\x856`\x04a\x04\xCDV[a\x01\x17V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xB2a\0\xAD6`\x04a\x04\xCDV[a\x01TV[`@Qa\0\x96\x91\x90a\x04\xEFV[a\0\xC7a\x02*V[\0[`\0T`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0\x96V[a\0\xC7a\0\xFF6`\x04a\x05eV[a\x02>V[a\0\xC7a\x01\x126`\x04a\x04\xCDV[a\x03sV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x81 \x80T\x82\x91\x90a\x01J\x90a\x05\xE8V[\x90P\x11\x90P\x91\x90PV[`@\x80Q` \x80\x82\x01\x83R``\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x90\x81R`\x01\x82R\x83\x90 \x83Q\x91\x82\x01\x90\x93R\x82T\x91\x92\x90\x91\x82\x90\x82\x90a\x01\xA1\x90a\x05\xE8V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xCD\x90a\x05\xE8V[\x80\x15a\x02\x1AW\x80`\x1F\x10a\x01\xEFWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x1AV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xFDW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[a\x022a\x03\xDCV[a\x02<`\0a\x04/V[V[a\x02Fa\x03\xDCV[`\0\x81\x90\x03a\x02\x81W`@Q\x7F\xF9i\xDDY\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02\x8A\x83a\x01\x17V[\x15a\x02\xC1W`@Q\x7F\xC3D9~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q` `\x1F\x84\x01\x81\x90\x04\x81\x02\x82\x01\x83\x01\x83R\x81\x01\x83\x81R\x90\x91\x82\x91\x90\x85\x90\x85\x90\x81\x90\x85\x01\x83\x82\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x81R`\x01` R`@\x90 \x82Q\x90\x91P\x81\x90a\x03/\x90\x82a\x06\xBBV[P\x90PP\x7F==\x057Yf0\x87\x99\xF2u\x83\x17=s\xAD\xAD\x0E\x96H\xAA\xC9m5K\rUJn\xA8\xD5t\x83\x83\x83`@Qa\x03f\x93\x92\x91\x90a\x07\xD5V[`@Q\x80\x91\x03\x90\xA1PPPV[a\x03{a\x03\xDCV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x03\xD0W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[a\x03\xD9\x81a\x04/V[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x02=`\0\xFD[PPPP`\x0C`\x03\x90T\x90a\x01\0\n\x90\x04s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`@Qa\x01t\x90a\x02\x81V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xADW=`\0\x80>=`\0\xFD[P\x90P\x82`@Qa\x01\xBD\x90a\x02\x8EV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90`\0\xF0\x80\x15\x80\x15a\x01\xF6W=`\0\x80>=`\0\xFD[P\x91P\x7F\x88\\\xB6\x92@\xA95\xD62\xD7\x9C1q\tp\x9E\xCF\xA9\x1A\x80bo\xF3\x98\x9Dh\xF6\x7F[\x1D\xD1-`\0\x1Cs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16cv\xEA\xDD6`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01`\0`@Q\x80\x83\x03\x81`\0\x87\x80;\x15\x80\x15a\x02dW`\0\x80\xFD[PZ\xF1\x15\x80\x15a\x02xW=`\0\x80>=`\0\xFD[PPPP\x91P\x91V[a\x02#\x80a\x02\xD9\x839\x01\x90V[a\x05V\x80a\x04\xFC\x839\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x02\xADW`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x02\xD1W`\0\x80\xFD[\x93\x92PPPV\xFE`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@Qa\x02#8\x03\x80a\x02#\x839\x81\x01`@\x81\x90Ra\0@\x91a\0\xF0V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\0gW`@Qc \x16\x16\xD1`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0E\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x17\x90UFazi\x03a\0\xCBW`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x90\x81\x01\x90\x91R`\x0ET`\x01`\x01`\xA0\x1B\x03\x16\x90\x81\x90R`\r\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90\x91\x17\x90Ua\0\xEAV[`@Qc\x0B\x13\xDB\xFF`\xE0\x1B\x81RF`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[Pa\x01 V[`\0` \x82\x84\x03\x12\x15a\x01\x02W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x01\x19W`\0\x80\xFD[\x93\x92PPPV[`\xF5\x80a\x01.`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`FW`\x005`\xE0\x1C\x80c\x12\x90\r\xA8\x14`KW\x80c\xD7\xB6WE\x14`\x8FW\x80c\xF8\xA8\xFDm\x14`\xD2W\x80c\xF8\xCC\xBFG\x14`\xD4W[`\0\x80\xFD[`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x80\x82\x01\x83R`\x0ETs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81\x90R\x91Q\x91\x82R\x01[`@Q\x80\x91\x03\x90\xF3[`\rT`\xAE\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`\x86V[\0[`\x0CT`\xE6\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`\x86V`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x05V8\x03\x80a\x05V\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\xBEV[\x80`\x01`\x01`\xA0\x1B\x03\x81\x16a\0^W`@Qc\x1EO\xBD\xF7`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[a\0g\x81a\0nV[PPa\0\xEEV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0` \x82\x84\x03\x12\x15a\0\xD0W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xE7W`\0\x80\xFD[\x93\x92PPPV[a\x04Y\x80a\0\xFD`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0PW\x80c\x8D\xA5\xCB[\x14a\0\xE2W\x80c\x98WQ\x88\x14a\x01\nW\x80c\xF2\xFD\xE3\x8B\x14a\x01\x1DW`\0\x80\xFD[\x80c\x0EfnI\x14a\0wW\x80cB\x1B-\x8B\x14a\0\xC5W\x80cqP\x18\xA6\x14a\0\xDAW[`\0\x80\xFD[a\0\xB0a\0\x856`\x04a\x04\x1CV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x01` R`@\x90 T`\xFF\x16\x90V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xD8a\0\xD36`\x04a\x04\x1CV[a\x010V[\0[a\0\xD8a\x02\x1FV[`\0T`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0\xBCV[a\0\xD8a\x01\x186`\x04a\x04\x1CV[a\x023V[a\0\xD8a\x01+6`\x04a\x04\x1CV[a\x02\xEBV[a\x018a\x03TV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x90 T`\xFF\x16\x15a\x01\x98W`@Q\x7F\xC3D9~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x81\x81R`\x01` \x81\x81R`@\x92\x83\x90 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x90\x92\x17\x90\x91U\x90Q\x91\x82R\x7F\x19\xEF\x9AHw\x19\x9F\x89D\n&\xAC\xB2h\x95\xEC\x02\xED\x86\xF2\xDF\x1A\xEA\xA9\r\xC1\x80A\xB8\x92\xF7\x1F\x91\x01[`@Q\x80\x91\x03\x90\xA1PV[a\x02'a\x03TV[a\x021`\0a\x03\xA7V[V[a\x02;a\x03TV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x90 T`\xFF\x16a\x02\x9AW`@Q\x7F\x90{6\x1F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x81\x90R`\x01` \x90\x81R`@Q\x91\x82R\x7F\xE9\xDC\xE8\xC9\x92b<\xE7\x91r[!\xE8W\xE32H\xD1\xF1\x90\xA2[Qh14 \xEE\xBD\xAA\xE9\x9D\x91\x01a\x02\x14V[a\x02\xF3a\x03TV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x03HW`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[a\x03Q\x81a\x03\xA7V[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x021W`@Q\x7F\x11\x8C\xDA\xA7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R3`\x04\x82\x01R`$\x01a\x03?V[`\0\x80Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x81\x16\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0` \x82\x84\x03\x12\x15a\x04.W`\0\x80\xFD[\x815s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x04RW`\0\x80\xFD[\x93\x92PPPV", ); /**Function with signature `IS_SCRIPT()` and selector `0xf8ccbf47`. ```solidity diff --git a/crates/bindings/src/deploymentconfig.rs b/crates/bindings/src/deploymentconfig.rs index b1b13e2..9252881 100644 --- a/crates/bindings/src/deploymentconfig.rs +++ b/crates/bindings/src/deploymentconfig.rs @@ -114,7 +114,6 @@ pub mod DeploymentConfig { ///0x6080604052600c805462ff00ff19166201000117905534801561002157600080fd5b50604051610223380380610223833981016040819052610040916100f0565b6001600160a01b0381166100675760405163201616d160e21b815260040160405180910390fd5b600e80546001600160a01b0319166001600160a01b03831617905546617a69036100cb57604080516020808201835260009091528151908101909152600e546001600160a01b031690819052600d80546001600160a01b03191690911790556100ea565b604051630b13dbff60e01b815246600482015260240160405180910390fd5b50610120565b60006020828403121561010257600080fd5b81516001600160a01b038116811461011957600080fd5b9392505050565b60f58061012e6000396000f3fe6080604052348015600f57600080fd5b506004361060465760003560e01c806312900da814604b578063d7b6574514608f578063f8a8fd6d1460d2578063f8ccbf471460d4575b600080fd5b6040805160208082018352600090915281518082018352600e5473ffffffffffffffffffffffffffffffffffffffff16908190529151918252015b60405180910390f35b600d5460ae9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016086565b005b600c5460e69062010000900460ff1681565b6040519015158152602001608656 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"`\x80`@R`\x0C\x80Tb\xFF\0\xFF\x19\x16b\x01\0\x01\x17\x90U4\x80\x15a\0!W`\0\x80\xFD[P`@Qa\x02#8\x03\x80a\x02#\x839\x81\x01`@\x81\x90Ra\0@\x91a\0\xF0V[`\x01`\x01`\xA0\x1B\x03\x81\x16a\0gW`@Qc \x16\x16\xD1`\xE2\x1B\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`\x0E\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16`\x01`\x01`\xA0\x1B\x03\x83\x16\x17\x90UFazi\x03a\0\xCBW`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x90\x81\x01\x90\x91R`\x0ET`\x01`\x01`\xA0\x1B\x03\x16\x90\x81\x90R`\r\x80T`\x01`\x01`\xA0\x1B\x03\x19\x16\x90\x91\x17\x90Ua\0\xEAV[`@Qc\x0B\x13\xDB\xFF`\xE0\x1B\x81RF`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[Pa\x01 V[`\0` \x82\x84\x03\x12\x15a\x01\x02W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x01\x19W`\0\x80\xFD[\x93\x92PPPV[`\xF5\x80a\x01.`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`FW`\x005`\xE0\x1C\x80c\x12\x90\r\xA8\x14`KW\x80c\xD7\xB6WE\x14`\x8FW\x80c\xF8\xA8\xFDm\x14`\xD2W\x80c\xF8\xCC\xBFG\x14`\xD4W[`\0\x80\xFD[`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x80\x82\x01\x83R`\x0ETs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81\x90R\x91Q\x91\x82R\x01[`@Q\x80\x91\x03\x90\xF3[`\rT`\xAE\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`\x86V[\0[`\x0CT`\xE6\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`\x86V", ); @@ -124,7 +123,6 @@ pub mod DeploymentConfig { ///0x6080604052348015600f57600080fd5b506004361060465760003560e01c806312900da814604b578063d7b6574514608f578063f8a8fd6d1460d2578063f8ccbf471460d4575b600080fd5b6040805160208082018352600090915281518082018352600e5473ffffffffffffffffffffffffffffffffffffffff16908190529151918252015b60405180910390f35b600d5460ae9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016086565b005b600c5460e69062010000900460ff1681565b6040519015158152602001608656 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`FW`\x005`\xE0\x1C\x80c\x12\x90\r\xA8\x14`KW\x80c\xD7\xB6WE\x14`\x8FW\x80c\xF8\xA8\xFDm\x14`\xD2W\x80c\xF8\xCC\xBFG\x14`\xD4W[`\0\x80\xFD[`@\x80Q` \x80\x82\x01\x83R`\0\x90\x91R\x81Q\x80\x82\x01\x83R`\x0ETs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90\x81\x90R\x91Q\x91\x82R\x01[`@Q\x80\x91\x03\x90\xF3[`\rT`\xAE\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`\x86V[\0[`\x0CT`\xE6\x90b\x01\0\0\x90\x04`\xFF\x16\x81V[`@Q\x90\x15\x15\x81R` \x01`\x86V", ); @@ -184,9 +182,6 @@ struct NetworkConfig { address deployer; } } #[inline] fn stv_abi_encoded_size(&self) -> usize { - if let Some(size) = ::ENCODED_SIZE { - return size; - } let tuple = as ::core::convert::From>::from(self.clone()); @@ -210,18 +205,6 @@ struct NetworkConfig { address deployer; } '_, > as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out) } - #[inline] - fn stv_abi_packed_encoded_size(&self) -> usize { - if let Some(size) = ::PACKED_ENCODED_SIZE { - return size; - } - let tuple = as ::core::convert::From>::from(self.clone()); - as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple) - } } #[automatically_derived] impl alloy_sol_types::SolType for NetworkConfig { @@ -233,9 +216,6 @@ struct NetworkConfig { address deployer; } const ENCODED_SIZE: Option = as alloy_sol_types::SolType>::ENCODED_SIZE; - const PACKED_ENCODED_SIZE: Option = as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE; #[inline] fn valid_token(token: &Self::Token<'_>) -> bool { as alloy_sol_types::SolType>::valid_token(token) diff --git a/crates/bindings/src/foo.rs b/crates/bindings/src/foo.rs index a73adc1..887daa2 100644 --- a/crates/bindings/src/foo.rs +++ b/crates/bindings/src/foo.rs @@ -41,7 +41,6 @@ pub mod Foo { ///0x6080604052348015600f57600080fd5b5060658061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80637d3c40c814602d575b600080fd5b603b6038366004604d565b90565b60405190815260200160405180910390f35b600060208284031215605e57600080fd5b503591905056 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`e\x80a\0\x1E`\09`\0\xF3\xFE`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`(W`\x005`\xE0\x1C\x80c}<@\xC8\x14`-W[`\0\x80\xFD[`;`86`\x04`MV[\x90V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xF3[`\0` \x82\x84\x03\x12\x15`^W`\0\x80\xFD[P5\x91\x90PV", ); @@ -51,7 +50,6 @@ pub mod Foo { ///0x6080604052348015600f57600080fd5b506004361060285760003560e01c80637d3c40c814602d575b600080fd5b603b6038366004604d565b90565b60405190815260200160405180910390f35b600060208284031215605e57600080fd5b503591905056 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"`\x80`@R4\x80\x15`\x0FW`\0\x80\xFD[P`\x046\x10`(W`\x005`\xE0\x1C\x80c}<@\xC8\x14`-W[`\0\x80\xFD[`;`86`\x04`MV[\x90V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xF3[`\0` \x82\x84\x03\x12\x15`^W`\0\x80\xFD[P5\x91\x90PV", ); diff --git a/crates/bindings/src/ierc165.rs b/crates/bindings/src/ierc165.rs index d9583bc..3ed1611 100644 --- a/crates/bindings/src/ierc165.rs +++ b/crates/bindings/src/ierc165.rs @@ -41,7 +41,6 @@ pub mod IERC165 { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -51,7 +50,6 @@ pub mod IERC165 { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); diff --git a/crates/bindings/src/ierc20.rs b/crates/bindings/src/ierc20.rs index 3a3ac36..f00b9e3 100644 --- a/crates/bindings/src/ierc20.rs +++ b/crates/bindings/src/ierc20.rs @@ -255,7 +255,6 @@ pub mod IERC20 { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -265,7 +264,6 @@ pub mod IERC20 { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -377,20 +375,15 @@ event Approval(address indexed owner, address indexed spender, uint256 value); Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Approval { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Approval> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Approval) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -502,20 +495,15 @@ event Transfer(address indexed from, address indexed to, uint256 value); Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Transfer { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Transfer> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Transfer) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -2055,29 +2043,6 @@ function transferFrom(address from, address to, uint256 amount) external returns } } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for IERC20Events { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - } - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - } - } - } use alloy::contract as alloy_contract; /**Creates a new wrapper around an on-chain [`IERC20`](self) contract instance. diff --git a/crates/bindings/src/ierc721.rs b/crates/bindings/src/ierc721.rs index eaa2c19..0670c9f 100644 --- a/crates/bindings/src/ierc721.rs +++ b/crates/bindings/src/ierc721.rs @@ -320,7 +320,6 @@ pub mod IERC721 { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -330,7 +329,6 @@ pub mod IERC721 { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -447,20 +445,15 @@ event Approval(address indexed _owner, address indexed _approved, uint256 indexe Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Approval { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Approval> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Approval) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -576,20 +569,15 @@ event ApprovalForAll(address indexed _owner, address indexed _operator, bool _ap Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for ApprovalForAll { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&ApprovalForAll> for alloy_sol_types::private::LogData { #[inline] fn from(this: &ApprovalForAll) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -706,20 +694,15 @@ event Transfer(address indexed _from, address indexed _to, uint256 indexed _toke Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Transfer { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Transfer> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Transfer) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -2554,35 +2537,6 @@ function transferFrom(address _from, address _to, uint256 _tokenId) external pay } } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for IERC721Events { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::ApprovalForAll(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - } - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::ApprovalForAll(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - } - } - } use alloy::contract as alloy_contract; /**Creates a new wrapper around an on-chain [`IERC721`](self) contract instance. diff --git a/crates/bindings/src/ierc721enumerable.rs b/crates/bindings/src/ierc721enumerable.rs index 174e877..9b97067 100644 --- a/crates/bindings/src/ierc721enumerable.rs +++ b/crates/bindings/src/ierc721enumerable.rs @@ -379,7 +379,6 @@ pub mod IERC721Enumerable { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -389,7 +388,6 @@ pub mod IERC721Enumerable { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -506,20 +504,15 @@ event Approval(address indexed _owner, address indexed _approved, uint256 indexe Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Approval { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Approval> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Approval) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -635,20 +628,15 @@ event ApprovalForAll(address indexed _owner, address indexed _operator, bool _ap Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for ApprovalForAll { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&ApprovalForAll> for alloy_sol_types::private::LogData { #[inline] fn from(this: &ApprovalForAll) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -765,20 +753,15 @@ event Transfer(address indexed _from, address indexed _to, uint256 indexed _toke Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Transfer { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Transfer> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Transfer) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -3071,35 +3054,6 @@ function transferFrom(address _from, address _to, uint256 _tokenId) external pay } } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for IERC721EnumerableEvents { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::ApprovalForAll(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - } - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::ApprovalForAll(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - } - } - } use alloy::contract as alloy_contract; /**Creates a new wrapper around an on-chain [`IERC721Enumerable`](self) contract instance. diff --git a/crates/bindings/src/ierc721metadata.rs b/crates/bindings/src/ierc721metadata.rs index f966df4..08aeaeb 100644 --- a/crates/bindings/src/ierc721metadata.rs +++ b/crates/bindings/src/ierc721metadata.rs @@ -368,7 +368,6 @@ pub mod IERC721Metadata { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -378,7 +377,6 @@ pub mod IERC721Metadata { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -495,20 +493,15 @@ event Approval(address indexed _owner, address indexed _approved, uint256 indexe Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Approval { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Approval> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Approval) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -624,20 +617,15 @@ event ApprovalForAll(address indexed _owner, address indexed _operator, bool _ap Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for ApprovalForAll { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&ApprovalForAll> for alloy_sol_types::private::LogData { #[inline] fn from(this: &ApprovalForAll) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -754,20 +742,15 @@ event Transfer(address indexed _from, address indexed _to, uint256 indexed _toke Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Transfer { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Transfer> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Transfer) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -3016,35 +2999,6 @@ function transferFrom(address _from, address _to, uint256 _tokenId) external pay } } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for IERC721MetadataEvents { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::ApprovalForAll(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - } - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::ApprovalForAll(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - } - } - } use alloy::contract as alloy_contract; /**Creates a new wrapper around an on-chain [`IERC721Metadata`](self) contract instance. diff --git a/crates/bindings/src/ierc721tokenreceiver.rs b/crates/bindings/src/ierc721tokenreceiver.rs index a622af1..d234367 100644 --- a/crates/bindings/src/ierc721tokenreceiver.rs +++ b/crates/bindings/src/ierc721tokenreceiver.rs @@ -56,7 +56,6 @@ pub mod IERC721TokenReceiver { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -66,7 +65,6 @@ pub mod IERC721TokenReceiver { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); diff --git a/crates/bindings/src/isckeystore.rs b/crates/bindings/src/isckeystore.rs index 79aa951..e9f24c6 100644 --- a/crates/bindings/src/isckeystore.rs +++ b/crates/bindings/src/isckeystore.rs @@ -3,12 +3,8 @@ Generated by the following Solidity interface... ```solidity interface IScKeystore { - struct UserInfo { - bytes signaturePubKey; - } - - function addUser(address user, bytes memory signaturePubKey) external; - function getUser(address user) external view returns (UserInfo memory); + function addUser(address user) external; + function removeUser(address user) external; function userExists(address user) external view returns (bool); } ``` @@ -24,11 +20,6 @@ interface IScKeystore { "name": "user", "type": "address", "internalType": "address" - }, - { - "name": "signaturePubKey", - "type": "bytes", - "internalType": "bytes" } ], "outputs": [], @@ -36,7 +27,7 @@ interface IScKeystore { }, { "type": "function", - "name": "getUser", + "name": "removeUser", "inputs": [ { "name": "user", @@ -44,21 +35,8 @@ interface IScKeystore { "internalType": "address" } ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct UserInfo", - "components": [ - { - "name": "signaturePubKey", - "type": "bytes", - "internalType": "bytes" - } - ] - } - ], - "stateMutability": "view" + "outputs": [], + "stateMutability": "nonpayable" }, { "type": "function", @@ -91,7 +69,6 @@ pub mod IScKeystore { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -101,206 +78,19 @@ pub mod IScKeystore { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); - /**```solidity -struct UserInfo { bytes signaturePubKey; } -```*/ - #[allow(non_camel_case_types, non_snake_case)] - #[derive(Clone)] - pub struct UserInfo { - pub signaturePubKey: alloy::sol_types::private::Bytes, - } - #[allow(non_camel_case_types, non_snake_case, clippy::style)] - const _: () = { - use alloy::sol_types as alloy_sol_types; - #[doc(hidden)] - type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Bytes,); - #[doc(hidden)] - type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Bytes,); - #[cfg(test)] - #[allow(dead_code, unreachable_patterns)] - fn _type_assertion( - _t: alloy_sol_types::private::AssertTypeEq, - ) { - match _t { - alloy_sol_types::private::AssertTypeEq::< - ::RustType, - >(_) => {} - } - } - #[automatically_derived] - #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: UserInfo) -> Self { - (value.signaturePubKey,) - } - } - #[automatically_derived] - #[doc(hidden)] - impl ::core::convert::From> for UserInfo { - fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self { signaturePubKey: tuple.0 } - } - } - #[automatically_derived] - impl alloy_sol_types::SolValue for UserInfo { - type SolType = Self; - } - #[automatically_derived] - impl alloy_sol_types::private::SolTypeValue for UserInfo { - #[inline] - fn stv_to_tokens(&self) -> ::Token<'_> { - ( - ::tokenize( - &self.signaturePubKey, - ), - ) - } - #[inline] - fn stv_abi_encoded_size(&self) -> usize { - if let Some(size) = ::ENCODED_SIZE { - return size; - } - let tuple = as ::core::convert::From>::from(self.clone()); - as alloy_sol_types::SolType>::abi_encoded_size(&tuple) - } - #[inline] - fn stv_eip712_data_word(&self) -> alloy_sol_types::Word { - ::eip712_hash_struct(self) - } - #[inline] - fn stv_abi_encode_packed_to( - &self, - out: &mut alloy_sol_types::private::Vec, - ) { - let tuple = as ::core::convert::From>::from(self.clone()); - as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out) - } - #[inline] - fn stv_abi_packed_encoded_size(&self) -> usize { - if let Some(size) = ::PACKED_ENCODED_SIZE { - return size; - } - let tuple = as ::core::convert::From>::from(self.clone()); - as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple) - } - } - #[automatically_derived] - impl alloy_sol_types::SolType for UserInfo { - type RustType = Self; - type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SOL_NAME: &'static str = ::NAME; - const ENCODED_SIZE: Option = as alloy_sol_types::SolType>::ENCODED_SIZE; - const PACKED_ENCODED_SIZE: Option = as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE; - #[inline] - fn valid_token(token: &Self::Token<'_>) -> bool { - as alloy_sol_types::SolType>::valid_token(token) - } - #[inline] - fn detokenize(token: Self::Token<'_>) -> Self::RustType { - let tuple = as alloy_sol_types::SolType>::detokenize(token); - >>::from(tuple) - } - } - #[automatically_derived] - impl alloy_sol_types::SolStruct for UserInfo { - const NAME: &'static str = "UserInfo"; - #[inline] - fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> { - alloy_sol_types::private::Cow::Borrowed( - "UserInfo(bytes signaturePubKey)", - ) - } - #[inline] - fn eip712_components() -> alloy_sol_types::private::Vec< - alloy_sol_types::private::Cow<'static, str>, - > { - alloy_sol_types::private::Vec::new() - } - #[inline] - fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> { - ::eip712_root_type() - } - #[inline] - fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec { - ::eip712_data_word( - &self.signaturePubKey, - ) - .0 - .to_vec() - } - } - #[automatically_derived] - impl alloy_sol_types::EventTopic for UserInfo { - #[inline] - fn topic_preimage_length(rust: &Self::RustType) -> usize { - 0usize - + ::topic_preimage_length( - &rust.signaturePubKey, - ) - } - #[inline] - fn encode_topic_preimage( - rust: &Self::RustType, - out: &mut alloy_sol_types::private::Vec, - ) { - out.reserve( - ::topic_preimage_length(rust), - ); - ::encode_topic_preimage( - &rust.signaturePubKey, - out, - ); - } - #[inline] - fn encode_topic( - rust: &Self::RustType, - ) -> alloy_sol_types::abi::token::WordToken { - let mut out = alloy_sol_types::private::Vec::new(); - ::encode_topic_preimage( - rust, - &mut out, - ); - alloy_sol_types::abi::token::WordToken( - alloy_sol_types::private::keccak256(out), - ) - } - } - }; - /**Function with signature `addUser(address,bytes)` and selector `0xe3eccd10`. + /**Function with signature `addUser(address)` and selector `0x421b2d8b`. ```solidity -function addUser(address user, bytes memory signaturePubKey) external; +function addUser(address user) external; ```*/ #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] pub struct addUserCall { pub user: alloy::sol_types::private::Address, - pub signaturePubKey: alloy::sol_types::private::Bytes, } - ///Container type for the return parameters of the [`addUser(address,bytes)`](addUserCall) function. + ///Container type for the return parameters of the [`addUser(address)`](addUserCall) function. #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] pub struct addUserReturn {} @@ -309,15 +99,9 @@ function addUser(address user, bytes memory signaturePubKey) external; use alloy::sol_types as alloy_sol_types; { #[doc(hidden)] - type UnderlyingSolTuple<'a> = ( - alloy::sol_types::sol_data::Address, - alloy::sol_types::sol_data::Bytes, - ); + type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,); #[doc(hidden)] - type UnderlyingRustTuple<'a> = ( - alloy::sol_types::private::Address, - alloy::sol_types::private::Bytes, - ); + type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,); #[cfg(test)] #[allow(dead_code, unreachable_patterns)] fn _type_assertion( @@ -333,17 +117,14 @@ function addUser(address user, bytes memory signaturePubKey) external; #[doc(hidden)] impl ::core::convert::From for UnderlyingRustTuple<'_> { fn from(value: addUserCall) -> Self { - (value.user, value.signaturePubKey) + (value.user,) } } #[automatically_derived] #[doc(hidden)] impl ::core::convert::From> for addUserCall { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self { - user: tuple.0, - signaturePubKey: tuple.1, - } + Self { user: tuple.0 } } } } @@ -380,10 +161,7 @@ function addUser(address user, bytes memory signaturePubKey) external; } #[automatically_derived] impl alloy_sol_types::SolCall for addUserCall { - type Parameters<'a> = ( - alloy::sol_types::sol_data::Address, - alloy::sol_types::sol_data::Bytes, - ); + type Parameters<'a> = (alloy::sol_types::sol_data::Address,); type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; @@ -392,8 +170,8 @@ function addUser(address user, bytes memory signaturePubKey) external; type ReturnToken<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SIGNATURE: &'static str = "addUser(address,bytes)"; - const SELECTOR: [u8; 4] = [227u8, 236u8, 205u8, 16u8]; + const SIGNATURE: &'static str = "addUser(address)"; + const SELECTOR: [u8; 4] = [66u8, 27u8, 45u8, 139u8]; #[inline] fn new<'a>( tuple: as alloy_sol_types::SolType>::RustType, @@ -406,9 +184,6 @@ function addUser(address user, bytes memory signaturePubKey) external; ::tokenize( &self.user, ), - ::tokenize( - &self.signaturePubKey, - ), ) } #[inline] @@ -423,21 +198,19 @@ function addUser(address user, bytes memory signaturePubKey) external; } } }; - /**Function with signature `getUser(address)` and selector `0x6f77926b`. + /**Function with signature `removeUser(address)` and selector `0x98575188`. ```solidity -function getUser(address user) external view returns (UserInfo memory); +function removeUser(address user) external; ```*/ #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct getUserCall { + pub struct removeUserCall { pub user: alloy::sol_types::private::Address, } - ///Container type for the return parameters of the [`getUser(address)`](getUserCall) function. + ///Container type for the return parameters of the [`removeUser(address)`](removeUserCall) function. #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct getUserReturn { - pub _0: ::RustType, - } + pub struct removeUserReturn {} #[allow(non_camel_case_types, non_snake_case, clippy::style)] const _: () = { use alloy::sol_types as alloy_sol_types; @@ -459,14 +232,14 @@ function getUser(address user) external view returns (UserInfo memory); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: getUserCall) -> Self { + impl ::core::convert::From for UnderlyingRustTuple<'_> { + fn from(value: removeUserCall) -> Self { (value.user,) } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> for getUserCall { + impl ::core::convert::From> for removeUserCall { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { Self { user: tuple.0 } } @@ -474,11 +247,9 @@ function getUser(address user) external view returns (UserInfo memory); } { #[doc(hidden)] - type UnderlyingSolTuple<'a> = (UserInfo,); + type UnderlyingSolTuple<'a> = (); #[doc(hidden)] - type UnderlyingRustTuple<'a> = ( - ::RustType, - ); + type UnderlyingRustTuple<'a> = (); #[cfg(test)] #[allow(dead_code, unreachable_patterns)] fn _type_assertion( @@ -492,32 +263,32 @@ function getUser(address user) external view returns (UserInfo memory); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: getUserReturn) -> Self { - (value._0,) + impl ::core::convert::From for UnderlyingRustTuple<'_> { + fn from(value: removeUserReturn) -> Self { + () } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> for getUserReturn { + impl ::core::convert::From> for removeUserReturn { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self { _0: tuple.0 } + Self {} } } } #[automatically_derived] - impl alloy_sol_types::SolCall for getUserCall { + impl alloy_sol_types::SolCall for removeUserCall { type Parameters<'a> = (alloy::sol_types::sol_data::Address,); type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; - type Return = getUserReturn; - type ReturnTuple<'a> = (UserInfo,); + type Return = removeUserReturn; + type ReturnTuple<'a> = (); type ReturnToken<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SIGNATURE: &'static str = "getUser(address)"; - const SELECTOR: [u8; 4] = [111u8, 119u8, 146u8, 107u8]; + const SIGNATURE: &'static str = "removeUser(address)"; + const SELECTOR: [u8; 4] = [152u8, 87u8, 81u8, 136u8]; #[inline] fn new<'a>( tuple: as alloy_sol_types::SolType>::RustType, @@ -666,7 +437,7 @@ function userExists(address user) external view returns (bool); ///Container for all the [`IScKeystore`](self) function calls. pub enum IScKeystoreCalls { addUser(addUserCall), - getUser(getUserCall), + removeUser(removeUserCall), userExists(userExistsCall), } #[automatically_derived] @@ -679,8 +450,8 @@ function userExists(address user) external view returns (bool); /// Prefer using `SolInterface` methods instead. pub const SELECTORS: &'static [[u8; 4usize]] = &[ [14u8, 102u8, 110u8, 73u8], - [111u8, 119u8, 146u8, 107u8], - [227u8, 236u8, 205u8, 16u8], + [66u8, 27u8, 45u8, 139u8], + [152u8, 87u8, 81u8, 136u8], ]; } #[automatically_derived] @@ -692,7 +463,9 @@ function userExists(address user) external view returns (bool); fn selector(&self) -> [u8; 4] { match self { Self::addUser(_) => ::SELECTOR, - Self::getUser(_) => ::SELECTOR, + Self::removeUser(_) => { + ::SELECTOR + } Self::userExists(_) => { ::SELECTOR } @@ -731,30 +504,30 @@ function userExists(address user) external view returns (bool); userExists }, { - fn getUser( + fn addUser( data: &[u8], validate: bool, ) -> alloy_sol_types::Result { - ::abi_decode_raw( + ::abi_decode_raw( data, validate, ) - .map(IScKeystoreCalls::getUser) + .map(IScKeystoreCalls::addUser) } - getUser + addUser }, { - fn addUser( + fn removeUser( data: &[u8], validate: bool, ) -> alloy_sol_types::Result { - ::abi_decode_raw( + ::abi_decode_raw( data, validate, ) - .map(IScKeystoreCalls::addUser) + .map(IScKeystoreCalls::removeUser) } - addUser + removeUser }, ]; let Ok(idx) = Self::SELECTORS.binary_search(&selector) else { @@ -773,8 +546,8 @@ function userExists(address user) external view returns (bool); Self::addUser(inner) => { ::abi_encoded_size(inner) } - Self::getUser(inner) => { - ::abi_encoded_size(inner) + Self::removeUser(inner) => { + ::abi_encoded_size(inner) } Self::userExists(inner) => { ::abi_encoded_size(inner) @@ -787,8 +560,11 @@ function userExists(address user) external view returns (bool); Self::addUser(inner) => { ::abi_encode_raw(inner, out) } - Self::getUser(inner) => { - ::abi_encode_raw(inner, out) + Self::removeUser(inner) => { + ::abi_encode_raw( + inner, + out, + ) } Self::userExists(inner) => { ::abi_encode_raw( @@ -967,21 +743,15 @@ the bytecode concatenated with the constructor's ABI-encoded arguments.*/ pub fn addUser( &self, user: alloy::sol_types::private::Address, - signaturePubKey: alloy::sol_types::private::Bytes, ) -> alloy_contract::SolCallBuilder { - self.call_builder( - &addUserCall { - user, - signaturePubKey, - }, - ) + self.call_builder(&addUserCall { user }) } - ///Creates a new call builder for the [`getUser`] function. - pub fn getUser( + ///Creates a new call builder for the [`removeUser`] function. + pub fn removeUser( &self, user: alloy::sol_types::private::Address, - ) -> alloy_contract::SolCallBuilder { - self.call_builder(&getUserCall { user }) + ) -> alloy_contract::SolCallBuilder { + self.call_builder(&removeUserCall { user }) } ///Creates a new call builder for the [`userExists`] function. pub fn userExists( diff --git a/crates/bindings/src/mockerc20.rs b/crates/bindings/src/mockerc20.rs index f96122c..0306c75 100644 --- a/crates/bindings/src/mockerc20.rs +++ b/crates/bindings/src/mockerc20.rs @@ -357,7 +357,6 @@ pub mod MockERC20 { ///0x608060405234801561001057600080fd5b50611199806100206000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101d2578063a9059cbb146101da578063d505accf146101ed578063dd62ed3e1461020057600080fd5b80633644e5151461017457806370a082311461017c5780637ecebe00146101b257600080fd5b806318160ddd116100bd57806318160ddd1461013a57806323b872dd1461014c578063313ce5671461015f57600080fd5b806306fdde03146100e4578063095ea7b3146101025780631624f6c614610125575b600080fd5b6100ec610246565b6040516100f99190610ba7565b60405180910390f35b610115610110366004610c3d565b6102d8565b60405190151581526020016100f9565b610138610133366004610d52565b610352565b005b6003545b6040519081526020016100f9565b61011561015a366004610dc6565b610451565b60025460405160ff90911681526020016100f9565b61013e6105c5565b61013e61018a366004610e02565b73ffffffffffffffffffffffffffffffffffffffff1660009081526004602052604090205490565b61013e6101c0366004610e02565b60086020526000908152604090205481565b6100ec6105eb565b6101156101e8366004610c3d565b6105fa565b6101386101fb366004610e1d565b6106ab565b61013e61020e366004610e87565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205490565b60606000805461025590610eba565b80601f016020809104026020016040519081016040528092919081815260200182805461028190610eba565b80156102ce5780601f106102a3576101008083540402835291602001916102ce565b820191906000526020600020905b8154815290600101906020018083116102b157829003601f168201915b5050505050905090565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103409086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a45440000000000000000000000000060448201526064015b60405180910390fd5b60006103d08482610f5e565b5060016103dd8382610f5e565b50600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff83161790556104136109f1565b60065561041e610a0a565b6007555050600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146104e5576104b38184610aad565b73ffffffffffffffffffffffffffffffffffffffff861660009081526005602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff85166000908152600460205260409020546105159084610aad565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526004602052604080822093909355908616815220546105519084610b2a565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105b29087815260200190565b60405180910390a3506001949350505050565b60006006546105d26109f1565b146105e4576105df610a0a565b905090565b5060075490565b60606001805461025590610eba565b336000908152600460205260408120546106149083610aad565b336000908152600460205260408082209290925573ffffffffffffffffffffffffffffffffffffffff85168152205461064d9083610b2a565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103409086815260200190565b42841015610715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016103bb565b600060016107216105c5565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061077c836110a7565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161081d9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610899573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061091457508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e455200000000000000000000000000000000000060448201526064016103bb565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b6000610ba380610a0363ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610a3c91906110df565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6610a6d6109f1565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600081831015610b19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f770000000060448201526064016103bb565b610b238284611173565b9392505050565b600080610b378385611186565b905083811015610b23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f77000000000000000060448201526064016103bb565b4690565b60006020808352835180602085015260005b81811015610bd557858101830151858201604001528201610bb9565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c3857600080fd5b919050565b60008060408385031215610c5057600080fd5b610c5983610c14565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610ca757600080fd5b813567ffffffffffffffff80821115610cc257610cc2610c67565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610d0857610d08610c67565b81604052838152866020858801011115610d2157600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff81168114610c3857600080fd5b600080600060608486031215610d6757600080fd5b833567ffffffffffffffff80821115610d7f57600080fd5b610d8b87838801610c96565b94506020860135915080821115610da157600080fd5b50610dae86828701610c96565b925050610dbd60408501610d41565b90509250925092565b600080600060608486031215610ddb57600080fd5b610de484610c14565b9250610df260208501610c14565b9150604084013590509250925092565b600060208284031215610e1457600080fd5b610b2382610c14565b600080600080600080600060e0888a031215610e3857600080fd5b610e4188610c14565b9650610e4f60208901610c14565b95506040880135945060608801359350610e6b60808901610d41565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610e9a57600080fd5b610ea383610c14565b9150610eb160208401610c14565b90509250929050565b600181811c90821680610ece57607f821691505b602082108103610f07577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f59576000816000526020600020601f850160051c81016020861015610f365750805b601f850160051c820191505b81811015610f5557828155600101610f42565b5050505b505050565b815167ffffffffffffffff811115610f7857610f78610c67565b610f8c81610f868454610eba565b84610f0d565b602080601f831160018114610fdf5760008415610fa95750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f55565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561102c5788860151825594840194600190910190840161100d565b508582101561106857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036110d8576110d8611078565b5060010190565b60008083546110ed81610eba565b60018281168015611105576001811461113857611167565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450611167565b8760005260208060002060005b8581101561115e5781548a820152908401908201611145565b50505082870194505b50929695505050505050565b8181038181111561034c5761034c611078565b8082018082111561034c5761034c61107856 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x11\x99\x80a\0 `\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xDFW`\x005`\xE0\x1C\x80c6D\xE5\x15\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x01\xD2W\x80c\xA9\x05\x9C\xBB\x14a\x01\xDAW\x80c\xD5\x05\xAC\xCF\x14a\x01\xEDW\x80c\xDDb\xED>\x14a\x02\0W`\0\x80\xFD[\x80c6D\xE5\x15\x14a\x01tW\x80cp\xA0\x821\x14a\x01|W\x80c~\xCE\xBE\0\x14a\x01\xB2W`\0\x80\xFD[\x80c\x18\x16\r\xDD\x11a\0\xBDW\x80c\x18\x16\r\xDD\x14a\x01:W\x80c#\xB8r\xDD\x14a\x01LW\x80c1<\xE5g\x14a\x01_W`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xE4W\x80c\t^\xA7\xB3\x14a\x01\x02W\x80c\x16$\xF6\xC6\x14a\x01%W[`\0\x80\xFD[a\0\xECa\x02FV[`@Qa\0\xF9\x91\x90a\x0B\xA7V[`@Q\x80\x91\x03\x90\xF3[a\x01\x15a\x01\x106`\x04a\x0C=V[a\x02\xD8V[`@Q\x90\x15\x15\x81R` \x01a\0\xF9V[a\x018a\x0136`\x04a\rRV[a\x03RV[\0[`\x03T[`@Q\x90\x81R` \x01a\0\xF9V[a\x01\x15a\x01Z6`\x04a\r\xC6V[a\x04QV[`\x02T`@Q`\xFF\x90\x91\x16\x81R` \x01a\0\xF9V[a\x01>a\x05\xC5V[a\x01>a\x01\x8A6`\x04a\x0E\x02V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x04` R`@\x90 T\x90V[a\x01>a\x01\xC06`\x04a\x0E\x02V[`\x08` R`\0\x90\x81R`@\x90 T\x81V[a\0\xECa\x05\xEBV[a\x01\x15a\x01\xE86`\x04a\x0C=V[a\x05\xFAV[a\x018a\x01\xFB6`\x04a\x0E\x1DV[a\x06\xABV[a\x01>a\x02\x0E6`\x04a\x0E\x87V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[```\0\x80Ta\x02U\x90a\x0E\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x81\x90a\x0E\xBAV[\x80\x15a\x02\xCEW\x80`\x1F\x10a\x02\xA3Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xCEV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\xB1W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[3`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x92R\x80\x83 \x85\x90UQ\x91\x92\x90\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x90a\x03@\x90\x86\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01[\x92\x91PPV[`\tT`\xFF\x16\x15a\x03\xC4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FALREADY_INITIALIZED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0a\x03\xD0\x84\x82a\x0F^V[P`\x01a\x03\xDD\x83\x82a\x0F^V[P`\x02\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\xFF\x83\x16\x17\x90Ua\x04\x13a\t\xF1V[`\x06Ua\x04\x1Ea\n\nV[`\x07UPP`\t\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x81 T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x04\xE5Wa\x04\xB3\x81\x84a\n\xADV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x90 U[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\0\x90\x81R`\x04` R`@\x90 Ta\x05\x15\x90\x84a\n\xADV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x04` R`@\x80\x82 \x93\x90\x93U\x90\x86\x16\x81R Ta\x05Q\x90\x84a\x0B*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x86\x16`\0\x81\x81R`\x04` R`@\x90\x81\x90 \x93\x90\x93U\x91Q\x90\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x05\xB2\x90\x87\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0`\x06Ta\x05\xD2a\t\xF1V[\x14a\x05\xE4Wa\x05\xDFa\n\nV[\x90P\x90V[P`\x07T\x90V[```\x01\x80Ta\x02U\x90a\x0E\xBAV[3`\0\x90\x81R`\x04` R`@\x81 Ta\x06\x14\x90\x83a\n\xADV[3`\0\x90\x81R`\x04` R`@\x80\x82 \x92\x90\x92Us\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x81R Ta\x06M\x90\x83a\x0B*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x81\x81R`\x04` R`@\x90\x81\x90 \x92\x90\x92U\x90Q3\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x03@\x90\x86\x81R` \x01\x90V[B\x84\x10\x15a\x07\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7FPERMIT_DEADLINE_EXPIRED\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[`\0`\x01a\x07!a\x05\xC5V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x8A\x16`\0\x90\x81R`\x08` R`@\x81 \x80T\x7Fnq\xED\xAE\x12\xB1\xB9\x7FM\x1F`7\x0F\xEF\x10\x10_\xA2\xFA\xAE\x01&\x11J\x16\x9Cd\x84]a&\xC9\x92\x8D\x92\x8D\x92\x8D\x92\x90\x91\x90a\x07|\x83a\x10\xA7V[\x90\x91UP`@\x80Q` \x81\x01\x96\x90\x96Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x94\x85\x16\x90\x86\x01R\x92\x90\x91\x16``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x81\x01\x88\x90R`\xE0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 `@Q` \x01a\x08\x1D\x92\x91\x90\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x02\x81\x01\x92\x90\x92R`\"\x82\x01R`B\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x87\x16\x90\x82\x01R``\x81\x01\x85\x90R`\x80\x81\x01\x84\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x08\x99W=`\0\x80>=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\t\x14WP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\tzW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x8B\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x8A\x90UQ\x89\x81R\x91\x92\x8B\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPPV[`\0a\x0B\xA3\x80a\n\x03c\xFF\xFF\xFF\xFF\x82\x16V[\x92PPP\x90V[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\n<\x91\x90a\x10\xDFV[`@Q\x80\x91\x03\x90 \x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6a\nma\t\xF1V[`@\x80Q` \x81\x01\x95\x90\x95R\x84\x01\x92\x90\x92R``\x83\x01R`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[`\0\x81\x83\x10\x15a\x0B\x19W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7FERC20: subtraction underflow\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[a\x0B#\x82\x84a\x11sV[\x93\x92PPPV[`\0\x80a\x0B7\x83\x85a\x11\x86V[\x90P\x83\x81\x10\x15a\x0B#W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7FERC20: addition overflow\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[F\x90V[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x0B\xD5W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x0B\xB9V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0C8W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0CPW`\0\x80\xFD[a\x0CY\x83a\x0C\x14V[\x94` \x93\x90\x93\x015\x93PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0C\xA7W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0C\xC2Wa\x0C\xC2a\x0CgV[`@Q`\x1F\x83\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\r\x08Wa\r\x08a\x0CgV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\r!W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[\x805`\xFF\x81\x16\x81\x14a\x0C8W`\0\x80\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a\rgW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x7FW`\0\x80\xFD[a\r\x8B\x87\x83\x88\x01a\x0C\x96V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\r\xA1W`\0\x80\xFD[Pa\r\xAE\x86\x82\x87\x01a\x0C\x96V[\x92PPa\r\xBD`@\x85\x01a\rAV[\x90P\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a\r\xDBW`\0\x80\xFD[a\r\xE4\x84a\x0C\x14V[\x92Pa\r\xF2` \x85\x01a\x0C\x14V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x0E\x14W`\0\x80\xFD[a\x0B#\x82a\x0C\x14V[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0E8W`\0\x80\xFD[a\x0EA\x88a\x0C\x14V[\x96Pa\x0EO` \x89\x01a\x0C\x14V[\x95P`@\x88\x015\x94P``\x88\x015\x93Pa\x0Ek`\x80\x89\x01a\rAV[\x92P`\xA0\x88\x015\x91P`\xC0\x88\x015\x90P\x92\x95\x98\x91\x94\x97P\x92\x95PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0E\x9AW`\0\x80\xFD[a\x0E\xA3\x83a\x0C\x14V[\x91Pa\x0E\xB1` \x84\x01a\x0C\x14V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0E\xCEW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0F\x07W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x0FYW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x0F6WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x0FUW\x82\x81U`\x01\x01a\x0FBV[PPP[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0FxWa\x0Fxa\x0CgV[a\x0F\x8C\x81a\x0F\x86\x84Ta\x0E\xBAV[\x84a\x0F\rV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x0F\xDFW`\0\x84\x15a\x0F\xA9WP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x0FUV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x10,W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x10\rV[P\x85\x82\x10\x15a\x10hW\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x10\xD8Wa\x10\xD8a\x10xV[P`\x01\x01\x90V[`\0\x80\x83Ta\x10\xED\x81a\x0E\xBAV[`\x01\x82\x81\x16\x80\x15a\x11\x05W`\x01\x81\x14a\x118Wa\x11gV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pa\x11gV[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15a\x11^W\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01a\x11EV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03LWa\x03La\x10xV[\x80\x82\x01\x80\x82\x11\x15a\x03LWa\x03La\x10xV", ); @@ -367,7 +366,6 @@ pub mod MockERC20 { ///0x608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101d2578063a9059cbb146101da578063d505accf146101ed578063dd62ed3e1461020057600080fd5b80633644e5151461017457806370a082311461017c5780637ecebe00146101b257600080fd5b806318160ddd116100bd57806318160ddd1461013a57806323b872dd1461014c578063313ce5671461015f57600080fd5b806306fdde03146100e4578063095ea7b3146101025780631624f6c614610125575b600080fd5b6100ec610246565b6040516100f99190610ba7565b60405180910390f35b610115610110366004610c3d565b6102d8565b60405190151581526020016100f9565b610138610133366004610d52565b610352565b005b6003545b6040519081526020016100f9565b61011561015a366004610dc6565b610451565b60025460405160ff90911681526020016100f9565b61013e6105c5565b61013e61018a366004610e02565b73ffffffffffffffffffffffffffffffffffffffff1660009081526004602052604090205490565b61013e6101c0366004610e02565b60086020526000908152604090205481565b6100ec6105eb565b6101156101e8366004610c3d565b6105fa565b6101386101fb366004610e1d565b6106ab565b61013e61020e366004610e87565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205490565b60606000805461025590610eba565b80601f016020809104026020016040519081016040528092919081815260200182805461028190610eba565b80156102ce5780601f106102a3576101008083540402835291602001916102ce565b820191906000526020600020905b8154815290600101906020018083116102b157829003601f168201915b5050505050905090565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103409086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a45440000000000000000000000000060448201526064015b60405180910390fd5b60006103d08482610f5e565b5060016103dd8382610f5e565b50600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff83161790556104136109f1565b60065561041e610a0a565b6007555050600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b73ffffffffffffffffffffffffffffffffffffffff831660009081526005602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146104e5576104b38184610aad565b73ffffffffffffffffffffffffffffffffffffffff861660009081526005602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff85166000908152600460205260409020546105159084610aad565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526004602052604080822093909355908616815220546105519084610b2a565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105b29087815260200190565b60405180910390a3506001949350505050565b60006006546105d26109f1565b146105e4576105df610a0a565b905090565b5060075490565b60606001805461025590610eba565b336000908152600460205260408120546106149083610aad565b336000908152600460205260408082209290925573ffffffffffffffffffffffffffffffffffffffff85168152205461064d9083610b2a565b73ffffffffffffffffffffffffffffffffffffffff84166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103409086815260200190565b42841015610715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016103bb565b600060016107216105c5565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061077c836110a7565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161081d9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610899573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061091457508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e455200000000000000000000000000000000000060448201526064016103bb565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b6000610ba380610a0363ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610a3c91906110df565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6610a6d6109f1565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600081831015610b19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f770000000060448201526064016103bb565b610b238284611173565b9392505050565b600080610b378385611186565b905083811015610b23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f77000000000000000060448201526064016103bb565b4690565b60006020808352835180602085015260005b81811015610bd557858101830151858201604001528201610bb9565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c3857600080fd5b919050565b60008060408385031215610c5057600080fd5b610c5983610c14565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610ca757600080fd5b813567ffffffffffffffff80821115610cc257610cc2610c67565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610d0857610d08610c67565b81604052838152866020858801011115610d2157600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff81168114610c3857600080fd5b600080600060608486031215610d6757600080fd5b833567ffffffffffffffff80821115610d7f57600080fd5b610d8b87838801610c96565b94506020860135915080821115610da157600080fd5b50610dae86828701610c96565b925050610dbd60408501610d41565b90509250925092565b600080600060608486031215610ddb57600080fd5b610de484610c14565b9250610df260208501610c14565b9150604084013590509250925092565b600060208284031215610e1457600080fd5b610b2382610c14565b600080600080600080600060e0888a031215610e3857600080fd5b610e4188610c14565b9650610e4f60208901610c14565b95506040880135945060608801359350610e6b60808901610d41565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610e9a57600080fd5b610ea383610c14565b9150610eb160208401610c14565b90509250929050565b600181811c90821680610ece57607f821691505b602082108103610f07577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610f59576000816000526020600020601f850160051c81016020861015610f365750805b601f850160051c820191505b81811015610f5557828155600101610f42565b5050505b505050565b815167ffffffffffffffff811115610f7857610f78610c67565b610f8c81610f868454610eba565b84610f0d565b602080601f831160018114610fdf5760008415610fa95750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610f55565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561102c5788860151825594840194600190910190840161100d565b508582101561106857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036110d8576110d8611078565b5060010190565b60008083546110ed81610eba565b60018281168015611105576001811461113857611167565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450611167565b8760005260208060002060005b8581101561115e5781548a820152908401908201611145565b50505082870194505b50929695505050505050565b8181038181111561034c5761034c611078565b8082018082111561034c5761034c61107856 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xDFW`\x005`\xE0\x1C\x80c6D\xE5\x15\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x01\xD2W\x80c\xA9\x05\x9C\xBB\x14a\x01\xDAW\x80c\xD5\x05\xAC\xCF\x14a\x01\xEDW\x80c\xDDb\xED>\x14a\x02\0W`\0\x80\xFD[\x80c6D\xE5\x15\x14a\x01tW\x80cp\xA0\x821\x14a\x01|W\x80c~\xCE\xBE\0\x14a\x01\xB2W`\0\x80\xFD[\x80c\x18\x16\r\xDD\x11a\0\xBDW\x80c\x18\x16\r\xDD\x14a\x01:W\x80c#\xB8r\xDD\x14a\x01LW\x80c1<\xE5g\x14a\x01_W`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xE4W\x80c\t^\xA7\xB3\x14a\x01\x02W\x80c\x16$\xF6\xC6\x14a\x01%W[`\0\x80\xFD[a\0\xECa\x02FV[`@Qa\0\xF9\x91\x90a\x0B\xA7V[`@Q\x80\x91\x03\x90\xF3[a\x01\x15a\x01\x106`\x04a\x0C=V[a\x02\xD8V[`@Q\x90\x15\x15\x81R` \x01a\0\xF9V[a\x018a\x0136`\x04a\rRV[a\x03RV[\0[`\x03T[`@Q\x90\x81R` \x01a\0\xF9V[a\x01\x15a\x01Z6`\x04a\r\xC6V[a\x04QV[`\x02T`@Q`\xFF\x90\x91\x16\x81R` \x01a\0\xF9V[a\x01>a\x05\xC5V[a\x01>a\x01\x8A6`\x04a\x0E\x02V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x04` R`@\x90 T\x90V[a\x01>a\x01\xC06`\x04a\x0E\x02V[`\x08` R`\0\x90\x81R`@\x90 T\x81V[a\0\xECa\x05\xEBV[a\x01\x15a\x01\xE86`\x04a\x0C=V[a\x05\xFAV[a\x018a\x01\xFB6`\x04a\x0E\x1DV[a\x06\xABV[a\x01>a\x02\x0E6`\x04a\x0E\x87V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[```\0\x80Ta\x02U\x90a\x0E\xBAV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\x81\x90a\x0E\xBAV[\x80\x15a\x02\xCEW\x80`\x1F\x10a\x02\xA3Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\xCEV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x02\xB1W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[3`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x92R\x80\x83 \x85\x90UQ\x91\x92\x90\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x90a\x03@\x90\x86\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01[\x92\x91PPV[`\tT`\xFF\x16\x15a\x03\xC4W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FALREADY_INITIALIZED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01[`@Q\x80\x91\x03\x90\xFD[`\0a\x03\xD0\x84\x82a\x0F^V[P`\x01a\x03\xDD\x83\x82a\x0F^V[P`\x02\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\xFF\x83\x16\x17\x90Ua\x04\x13a\t\xF1V[`\x06Ua\x04\x1Ea\n\nV[`\x07UPP`\t\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x83\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x81 T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x14a\x04\xE5Wa\x04\xB3\x81\x84a\n\xADV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 3\x84R\x90\x91R\x90 U[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16`\0\x90\x81R`\x04` R`@\x90 Ta\x05\x15\x90\x84a\n\xADV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16`\0\x90\x81R`\x04` R`@\x80\x82 \x93\x90\x93U\x90\x86\x16\x81R Ta\x05Q\x90\x84a\x0B*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x86\x16`\0\x81\x81R`\x04` R`@\x90\x81\x90 \x93\x90\x93U\x91Q\x90\x87\x16\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x05\xB2\x90\x87\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3P`\x01\x94\x93PPPPV[`\0`\x06Ta\x05\xD2a\t\xF1V[\x14a\x05\xE4Wa\x05\xDFa\n\nV[\x90P\x90V[P`\x07T\x90V[```\x01\x80Ta\x02U\x90a\x0E\xBAV[3`\0\x90\x81R`\x04` R`@\x81 Ta\x06\x14\x90\x83a\n\xADV[3`\0\x90\x81R`\x04` R`@\x80\x82 \x92\x90\x92Us\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x81R Ta\x06M\x90\x83a\x0B*V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x81\x81R`\x04` R`@\x90\x81\x90 \x92\x90\x92U\x90Q3\x90\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x90a\x03@\x90\x86\x81R` \x01\x90V[B\x84\x10\x15a\x07\x15W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x17`$\x82\x01R\x7FPERMIT_DEADLINE_EXPIRED\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[`\0`\x01a\x07!a\x05\xC5V[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x8A\x16`\0\x90\x81R`\x08` R`@\x81 \x80T\x7Fnq\xED\xAE\x12\xB1\xB9\x7FM\x1F`7\x0F\xEF\x10\x10_\xA2\xFA\xAE\x01&\x11J\x16\x9Cd\x84]a&\xC9\x92\x8D\x92\x8D\x92\x8D\x92\x90\x91\x90a\x07|\x83a\x10\xA7V[\x90\x91UP`@\x80Q` \x81\x01\x96\x90\x96Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x94\x85\x16\x90\x86\x01R\x92\x90\x91\x16``\x84\x01R`\x80\x83\x01R`\xA0\x82\x01R`\xC0\x81\x01\x88\x90R`\xE0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 `@Q` \x01a\x08\x1D\x92\x91\x90\x7F\x19\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x02\x81\x01\x92\x90\x92R`\"\x82\x01R`B\x01\x90V[`@\x80Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x81\x84\x03\x01\x81R\x82\x82R\x80Q` \x91\x82\x01 `\0\x84R\x90\x83\x01\x80\x83RR`\xFF\x87\x16\x90\x82\x01R``\x81\x01\x85\x90R`\x80\x81\x01\x84\x90R`\xA0\x01` `@Q` \x81\x03\x90\x80\x84\x03\x90\x85Z\xFA\x15\x80\x15a\x08\x99W=`\0\x80>=`\0\xFD[PP`@Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x01Q\x91PPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x15\x80\x15\x90a\t\x14WP\x87s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x81s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x14[a\tzW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0E`$\x82\x01R\x7FINVALID_SIGNER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x81\x16`\0\x90\x81R`\x05` \x90\x81R`@\x80\x83 \x8B\x85\x16\x80\x85R\x90\x83R\x92\x81\x90 \x8A\x90UQ\x89\x81R\x91\x92\x8B\x16\x91\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x91\x01`@Q\x80\x91\x03\x90\xA3PPPPPPPPV[`\0a\x0B\xA3\x80a\n\x03c\xFF\xFF\xFF\xFF\x82\x16V[\x92PPP\x90V[`\0\x7F\x8Bs\xC3\xC6\x9B\xB8\xFE=Q.\xCCL\xF7Y\xCCy#\x9F{\x17\x9B\x0F\xFA\xCA\xA9\xA7]R+9@\x0F`\0`@Qa\n<\x91\x90a\x10\xDFV[`@Q\x80\x91\x03\x90 \x7F\xC8\x9E\xFD\xAAT\xC0\xF2\x0Cz\xDFa(\x82\xDF\tP\xF5\xA9Qc~\x03\x07\xCD\xCBLg/)\x8B\x8B\xC6a\nma\t\xF1V[`@\x80Q` \x81\x01\x95\x90\x95R\x84\x01\x92\x90\x92R``\x83\x01R`\x80\x82\x01R0`\xA0\x82\x01R`\xC0\x01`@Q` \x81\x83\x03\x03\x81R\x90`@R\x80Q\x90` \x01 \x90P\x90V[`\0\x81\x83\x10\x15a\x0B\x19W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x1C`$\x82\x01R\x7FERC20: subtraction underflow\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[a\x0B#\x82\x84a\x11sV[\x93\x92PPPV[`\0\x80a\x0B7\x83\x85a\x11\x86V[\x90P\x83\x81\x10\x15a\x0B#W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x18`$\x82\x01R\x7FERC20: addition overflow\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x03\xBBV[F\x90V[`\0` \x80\x83R\x83Q\x80` \x85\x01R`\0[\x81\x81\x10\x15a\x0B\xD5W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x0B\xB9V[P`\0`@\x82\x86\x01\x01R`@\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0C8W`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0CPW`\0\x80\xFD[a\x0CY\x83a\x0C\x14V[\x94` \x93\x90\x93\x015\x93PPPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12a\x0C\xA7W`\0\x80\xFD[\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x0C\xC2Wa\x0C\xC2a\x0CgV[`@Q`\x1F\x83\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\r\x08Wa\r\x08a\x0CgV[\x81`@R\x83\x81R\x86` \x85\x88\x01\x01\x11\x15a\r!W`\0\x80\xFD[\x83` \x87\x01` \x83\x017`\0` \x85\x83\x01\x01R\x80\x94PPPPP\x92\x91PPV[\x805`\xFF\x81\x16\x81\x14a\x0C8W`\0\x80\xFD[`\0\x80`\0``\x84\x86\x03\x12\x15a\rgW`\0\x80\xFD[\x835g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\r\x7FW`\0\x80\xFD[a\r\x8B\x87\x83\x88\x01a\x0C\x96V[\x94P` \x86\x015\x91P\x80\x82\x11\x15a\r\xA1W`\0\x80\xFD[Pa\r\xAE\x86\x82\x87\x01a\x0C\x96V[\x92PPa\r\xBD`@\x85\x01a\rAV[\x90P\x92P\x92P\x92V[`\0\x80`\0``\x84\x86\x03\x12\x15a\r\xDBW`\0\x80\xFD[a\r\xE4\x84a\x0C\x14V[\x92Pa\r\xF2` \x85\x01a\x0C\x14V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0` \x82\x84\x03\x12\x15a\x0E\x14W`\0\x80\xFD[a\x0B#\x82a\x0C\x14V[`\0\x80`\0\x80`\0\x80`\0`\xE0\x88\x8A\x03\x12\x15a\x0E8W`\0\x80\xFD[a\x0EA\x88a\x0C\x14V[\x96Pa\x0EO` \x89\x01a\x0C\x14V[\x95P`@\x88\x015\x94P``\x88\x015\x93Pa\x0Ek`\x80\x89\x01a\rAV[\x92P`\xA0\x88\x015\x91P`\xC0\x88\x015\x90P\x92\x95\x98\x91\x94\x97P\x92\x95PV[`\0\x80`@\x83\x85\x03\x12\x15a\x0E\x9AW`\0\x80\xFD[a\x0E\xA3\x83a\x0C\x14V[\x91Pa\x0E\xB1` \x84\x01a\x0C\x14V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0E\xCEW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0F\x07W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15a\x0FYW`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x0F6WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x0FUW\x82\x81U`\x01\x01a\x0FBV[PPP[PPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x0FxWa\x0Fxa\x0CgV[a\x0F\x8C\x81a\x0F\x86\x84Ta\x0E\xBAV[\x84a\x0F\rV[` \x80`\x1F\x83\x11`\x01\x81\x14a\x0F\xDFW`\0\x84\x15a\x0F\xA9WP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x0FUV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x10,W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x10\rV[P\x85\x82\x10\x15a\x10hW\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x10\xD8Wa\x10\xD8a\x10xV[P`\x01\x01\x90V[`\0\x80\x83Ta\x10\xED\x81a\x0E\xBAV[`\x01\x82\x81\x16\x80\x15a\x11\x05W`\x01\x81\x14a\x118Wa\x11gV[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x84\x16\x87R\x82\x15\x15\x83\x02\x87\x01\x94Pa\x11gV[\x87`\0R` \x80`\0 `\0[\x85\x81\x10\x15a\x11^W\x81T\x8A\x82\x01R\x90\x84\x01\x90\x82\x01a\x11EV[PPP\x82\x87\x01\x94P[P\x92\x96\x95PPPPPPV[\x81\x81\x03\x81\x81\x11\x15a\x03LWa\x03La\x10xV[\x80\x82\x01\x80\x82\x11\x15a\x03LWa\x03La\x10xV", ); @@ -479,20 +477,15 @@ event Approval(address indexed owner, address indexed spender, uint256 value); Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Approval { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Approval> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Approval) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -604,20 +597,15 @@ event Transfer(address indexed from, address indexed to, uint256 value); Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Transfer { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Transfer> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Transfer) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -2815,29 +2803,6 @@ function transferFrom(address from, address to, uint256 amount) external returns } } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for MockERC20Events { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - } - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - } - } - } use alloy::contract as alloy_contract; /**Creates a new wrapper around an on-chain [`MockERC20`](self) contract instance. diff --git a/crates/bindings/src/mockerc721.rs b/crates/bindings/src/mockerc721.rs index 848d158..9cc1402 100644 --- a/crates/bindings/src/mockerc721.rs +++ b/crates/bindings/src/mockerc721.rs @@ -387,7 +387,6 @@ pub mod MockERC721 { ///0x608060405234801561001057600080fd5b50611469806100206000396000f3fe6080604052600436106100dd5760003560e01c80636352211e1161007f578063a22cb46511610059578063a22cb4651461025f578063b88d4fde1461027f578063c87b56dd14610292578063e985e9c5146102b357600080fd5b80636352211e146101fc57806370a082311461021c57806395d89b411461024a57600080fd5b8063095ea7b3116100bb578063095ea7b3146101a157806323b872dd146101b657806342842e0e146101c95780634cd88b76146101dc57600080fd5b806301ffc9a7146100e257806306fdde0314610117578063081812fc14610139575b600080fd5b3480156100ee57600080fd5b506101026100fd366004610e1f565b610309565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b5061012c6103ee565b60405161010e9190610ea7565b34801561014557600080fd5b5061017c610154366004610eba565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b6101b46101af366004610ef7565b610480565b005b6101b46101c4366004610f21565b6105cf565b6101b46101d7366004610f21565b6108c4565b3480156101e857600080fd5b506101b46101f7366004611040565b610a18565b34801561020857600080fd5b5061017c610217366004610eba565b610ace565b34801561022857600080fd5b5061023c6102373660046110a4565b610b5f565b60405190815260200161010e565b34801561025657600080fd5b5061012c610c07565b34801561026b57600080fd5b506101b461027a3660046110bf565b610c16565b6101b461028d3660046110fb565b610cad565b34801561029e57600080fd5b5061012c6102ad366004610eba565b50606090565b3480156102bf57600080fd5b506101026102ce366004611177565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061039c57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806103e857507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103fd906111aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610429906111aa565b80156104765780601f1061044b57610100808354040283529160200191610476565b820191906000526020600020905b81548152906001019060200180831161045957829003601f168201915b5050505050905090565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806104e3575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b61054e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff84811691161461065f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152606401610545565b73ffffffffffffffffffffffffffffffffffffffff82166106dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610545565b3373ffffffffffffffffffffffffffffffffffffffff84161480610730575073ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915290205460ff165b8061075e575060008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b6107c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610545565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081208054916107f58361122c565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080549161082b83611261565b90915550506000818152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108cf8383836105cf565b813b15806109ad57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015610965573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109899190611299565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610545565b505050565b60065460ff1615610a85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a4544000000000000000000000000006044820152606401610545565b6000610a918382611306565b506001610a9e8282611306565b5050600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610b5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e544544000000000000000000000000000000000000000000006044820152606401610545565b919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152606401610545565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103fd906111aa565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb88484846105cf565b823b1580610d8257506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610d1b903390899088908890600401611420565b6020604051808303816000875af1158015610d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5e9190611299565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610de8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610545565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e1c57600080fd5b50565b600060208284031215610e3157600080fd5b8135610e3c81610dee565b9392505050565b6000815180845260005b81811015610e6957602081850181015186830182015201610e4d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610e3c6020830184610e43565b600060208284031215610ecc57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b5a57600080fd5b60008060408385031215610f0a57600080fd5b610f1383610ed3565b946020939093013593505050565b600080600060608486031215610f3657600080fd5b610f3f84610ed3565b9250610f4d60208501610ed3565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115610fa757610fa7610f5d565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610fed57610fed610f5d565b8160405280935085815286868601111561100657600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261103157600080fd5b610e3c83833560208501610f8c565b6000806040838503121561105357600080fd5b823567ffffffffffffffff8082111561106b57600080fd5b61107786838701611020565b9350602085013591508082111561108d57600080fd5b5061109a85828601611020565b9150509250929050565b6000602082840312156110b657600080fd5b610e3c82610ed3565b600080604083850312156110d257600080fd5b6110db83610ed3565b9150602083013580151581146110f057600080fd5b809150509250929050565b6000806000806080858703121561111157600080fd5b61111a85610ed3565b935061112860208601610ed3565b925060408501359150606085013567ffffffffffffffff81111561114b57600080fd5b8501601f8101871361115c57600080fd5b61116b87823560208401610f8c565b91505092959194509250565b6000806040838503121561118a57600080fd5b61119383610ed3565b91506111a160208401610ed3565b90509250929050565b600181811c908216806111be57607f821691505b6020821081036111f7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008161123b5761123b6111fd565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611292576112926111fd565b5060010190565b6000602082840312156112ab57600080fd5b8151610e3c81610dee565b601f821115610a13576000816000526020600020601f850160051c810160208610156112df5750805b601f850160051c820191505b818110156112fe578281556001016112eb565b505050505050565b815167ffffffffffffffff81111561132057611320610f5d565b6113348161132e84546111aa565b846112b6565b602080601f83116001811461138757600084156113515750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556112fe565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156113d4578886015182559484019460019091019084016113b5565b508582101561141057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261145f6080830184610e43565b969550505050505056 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[Pa\x14i\x80a\0 `\09`\0\xF3\xFE`\x80`@R`\x046\x10a\0\xDDW`\x005`\xE0\x1C\x80ccR!\x1E\x11a\0\x7FW\x80c\xA2,\xB4e\x11a\0YW\x80c\xA2,\xB4e\x14a\x02_W\x80c\xB8\x8DO\xDE\x14a\x02\x7FW\x80c\xC8{V\xDD\x14a\x02\x92W\x80c\xE9\x85\xE9\xC5\x14a\x02\xB3W`\0\x80\xFD[\x80ccR!\x1E\x14a\x01\xFCW\x80cp\xA0\x821\x14a\x02\x1CW\x80c\x95\xD8\x9BA\x14a\x02JW`\0\x80\xFD[\x80c\t^\xA7\xB3\x11a\0\xBBW\x80c\t^\xA7\xB3\x14a\x01\xA1W\x80c#\xB8r\xDD\x14a\x01\xB6W\x80cB\x84.\x0E\x14a\x01\xC9W\x80cL\xD8\x8Bv\x14a\x01\xDCW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\xE2W\x80c\x06\xFD\xDE\x03\x14a\x01\x17W\x80c\x08\x18\x12\xFC\x14a\x019W[`\0\x80\xFD[4\x80\x15a\0\xEEW`\0\x80\xFD[Pa\x01\x02a\0\xFD6`\x04a\x0E\x1FV[a\x03\tV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01#W`\0\x80\xFD[Pa\x01,a\x03\xEEV[`@Qa\x01\x0E\x91\x90a\x0E\xA7V[4\x80\x15a\x01EW`\0\x80\xFD[Pa\x01|a\x01T6`\x04a\x0E\xBAV[`\0\x90\x81R`\x04` R`@\x90 Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x0EV[a\x01\xB4a\x01\xAF6`\x04a\x0E\xF7V[a\x04\x80V[\0[a\x01\xB4a\x01\xC46`\x04a\x0F!V[a\x05\xCFV[a\x01\xB4a\x01\xD76`\x04a\x0F!V[a\x08\xC4V[4\x80\x15a\x01\xE8W`\0\x80\xFD[Pa\x01\xB4a\x01\xF76`\x04a\x10@V[a\n\x18V[4\x80\x15a\x02\x08W`\0\x80\xFD[Pa\x01|a\x02\x176`\x04a\x0E\xBAV[a\n\xCEV[4\x80\x15a\x02(W`\0\x80\xFD[Pa\x02=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\x89\x91\x90a\x12\x99V[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14[a\n\x13W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x10`$\x82\x01R\x7FUNSAFE_RECIPIENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[PPPV[`\x06T`\xFF\x16\x15a\n\x85W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FALREADY_INITIALIZED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[`\0a\n\x91\x83\x82a\x13\x06V[P`\x01a\n\x9E\x82\x82a\x13\x06V[PP`\x06\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UPV[`\0\x81\x81R`\x02` R`@\x90 Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x80a\x0BZW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\n`$\x82\x01R\x7FNOT_MINTED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[\x91\x90PV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x0B\xDEW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FZERO_ADDRESS\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x03` R`@\x90 T\x90V[```\x01\x80Ta\x03\xFD\x90a\x11\xAAV[3`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x90\x83R\x92\x81\x90 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x86\x15\x15\x90\x81\x17\x90\x91U\x90Q\x90\x81R\x91\x92\x91\x7F\x170~\xAB9\xABa\x07\xE8\x89\x98E\xAD=Y\xBD\x96S\xF2\0\xF2 \x92\x04\x89\xCA+Y7il1\x91\x01`@Q\x80\x91\x03\x90\xA3PPV[a\x0C\xB8\x84\x84\x84a\x05\xCFV[\x82;\x15\x80a\r\x82WP`@Q\x7F\x15\x0Bz\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x82R\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x15\x0Bz\x02\x90a\r\x1B\x903\x90\x89\x90\x88\x90\x88\x90`\x04\x01a\x14 V[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\r:W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r^\x91\x90a\x12\x99V[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14[a\r\xE8W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x10`$\x82\x01R\x7FUNSAFE_RECIPIENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[PPPPV[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x81\x14a\x0E\x1CW`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x0E1W`\0\x80\xFD[\x815a\x0E<\x81a\r\xEEV[\x93\x92PPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0EiW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0EMV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x81R`\0a\x0E<` \x83\x01\x84a\x0ECV[`\0` \x82\x84\x03\x12\x15a\x0E\xCCW`\0\x80\xFD[P5\x91\x90PV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0BZW`\0\x80\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x0F\nW`\0\x80\xFD[a\x0F\x13\x83a\x0E\xD3V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0F6W`\0\x80\xFD[a\x0F?\x84a\x0E\xD3V[\x92Pa\x0FM` \x85\x01a\x0E\xD3V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x84\x11\x15a\x0F\xA7Wa\x0F\xA7a\x0F]V[`@Q`\x1F\x85\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x0F\xEDWa\x0F\xEDa\x0F]V[\x81`@R\x80\x93P\x85\x81R\x86\x86\x86\x01\x11\x15a\x10\x06W`\0\x80\xFD[\x85\x85` \x83\x017`\0` \x87\x83\x01\x01RPPP\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a\x101W`\0\x80\xFD[a\x0E<\x83\x835` \x85\x01a\x0F\x8CV[`\0\x80`@\x83\x85\x03\x12\x15a\x10SW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x10kW`\0\x80\xFD[a\x10w\x86\x83\x87\x01a\x10 V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x10\x8DW`\0\x80\xFD[Pa\x10\x9A\x85\x82\x86\x01a\x10 V[\x91PP\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a\x10\xB6W`\0\x80\xFD[a\x0E<\x82a\x0E\xD3V[`\0\x80`@\x83\x85\x03\x12\x15a\x10\xD2W`\0\x80\xFD[a\x10\xDB\x83a\x0E\xD3V[\x91P` \x83\x015\x80\x15\x15\x81\x14a\x10\xF0W`\0\x80\xFD[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x11\x11W`\0\x80\xFD[a\x11\x1A\x85a\x0E\xD3V[\x93Pa\x11(` \x86\x01a\x0E\xD3V[\x92P`@\x85\x015\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11KW`\0\x80\xFD[\x85\x01`\x1F\x81\x01\x87\x13a\x11\\W`\0\x80\xFD[a\x11k\x87\x825` \x84\x01a\x0F\x8CV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15a\x11\x8AW`\0\x80\xFD[a\x11\x93\x83a\x0E\xD3V[\x91Pa\x11\xA1` \x84\x01a\x0E\xD3V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x11\xBEW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x11\xF7W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x81a\x12;Wa\x12;a\x11\xFDV[P\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x90V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x12\x92Wa\x12\x92a\x11\xFDV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x12\xABW`\0\x80\xFD[\x81Qa\x0E<\x81a\r\xEEV[`\x1F\x82\x11\x15a\n\x13W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x12\xDFWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x12\xFEW\x82\x81U`\x01\x01a\x12\xEBV[PPPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13 Wa\x13 a\x0F]V[a\x134\x81a\x13.\x84Ta\x11\xAAV[\x84a\x12\xB6V[` \x80`\x1F\x83\x11`\x01\x81\x14a\x13\x87W`\0\x84\x15a\x13QWP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x12\xFEV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x13\xD4W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x13\xB5V[P\x85\x82\x10\x15a\x14\x10W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16\x83R\x80\x86\x16` \x84\x01RP\x83`@\x83\x01R`\x80``\x83\x01Ra\x14_`\x80\x83\x01\x84a\x0ECV[\x96\x95PPPPPPV", ); @@ -397,7 +396,6 @@ pub mod MockERC721 { ///0x6080604052600436106100dd5760003560e01c80636352211e1161007f578063a22cb46511610059578063a22cb4651461025f578063b88d4fde1461027f578063c87b56dd14610292578063e985e9c5146102b357600080fd5b80636352211e146101fc57806370a082311461021c57806395d89b411461024a57600080fd5b8063095ea7b3116100bb578063095ea7b3146101a157806323b872dd146101b657806342842e0e146101c95780634cd88b76146101dc57600080fd5b806301ffc9a7146100e257806306fdde0314610117578063081812fc14610139575b600080fd5b3480156100ee57600080fd5b506101026100fd366004610e1f565b610309565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b5061012c6103ee565b60405161010e9190610ea7565b34801561014557600080fd5b5061017c610154366004610eba565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b6101b46101af366004610ef7565b610480565b005b6101b46101c4366004610f21565b6105cf565b6101b46101d7366004610f21565b6108c4565b3480156101e857600080fd5b506101b46101f7366004611040565b610a18565b34801561020857600080fd5b5061017c610217366004610eba565b610ace565b34801561022857600080fd5b5061023c6102373660046110a4565b610b5f565b60405190815260200161010e565b34801561025657600080fd5b5061012c610c07565b34801561026b57600080fd5b506101b461027a3660046110bf565b610c16565b6101b461028d3660046110fb565b610cad565b34801561029e57600080fd5b5061012c6102ad366004610eba565b50606090565b3480156102bf57600080fd5b506101026102ce366004611177565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061039c57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806103e857507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103fd906111aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610429906111aa565b80156104765780601f1061044b57610100808354040283529160200191610476565b820191906000526020600020905b81548152906001019060200180831161045957829003601f168201915b5050505050905090565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806104e3575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b61054e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff84811691161461065f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152606401610545565b73ffffffffffffffffffffffffffffffffffffffff82166106dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610545565b3373ffffffffffffffffffffffffffffffffffffffff84161480610730575073ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915290205460ff165b8061075e575060008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b6107c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610545565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081208054916107f58361122c565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080549161082b83611261565b90915550506000818152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108cf8383836105cf565b813b15806109ad57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015610965573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109899190611299565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610545565b505050565b60065460ff1615610a85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a4544000000000000000000000000006044820152606401610545565b6000610a918382611306565b506001610a9e8282611306565b5050600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610b5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e544544000000000000000000000000000000000000000000006044820152606401610545565b919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152606401610545565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103fd906111aa565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb88484846105cf565b823b1580610d8257506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610d1b903390899088908890600401611420565b6020604051808303816000875af1158015610d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5e9190611299565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610de8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610545565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e1c57600080fd5b50565b600060208284031215610e3157600080fd5b8135610e3c81610dee565b9392505050565b6000815180845260005b81811015610e6957602081850181015186830182015201610e4d565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610e3c6020830184610e43565b600060208284031215610ecc57600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b5a57600080fd5b60008060408385031215610f0a57600080fd5b610f1383610ed3565b946020939093013593505050565b600080600060608486031215610f3657600080fd5b610f3f84610ed3565b9250610f4d60208501610ed3565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115610fa757610fa7610f5d565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610fed57610fed610f5d565b8160405280935085815286868601111561100657600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261103157600080fd5b610e3c83833560208501610f8c565b6000806040838503121561105357600080fd5b823567ffffffffffffffff8082111561106b57600080fd5b61107786838701611020565b9350602085013591508082111561108d57600080fd5b5061109a85828601611020565b9150509250929050565b6000602082840312156110b657600080fd5b610e3c82610ed3565b600080604083850312156110d257600080fd5b6110db83610ed3565b9150602083013580151581146110f057600080fd5b809150509250929050565b6000806000806080858703121561111157600080fd5b61111a85610ed3565b935061112860208601610ed3565b925060408501359150606085013567ffffffffffffffff81111561114b57600080fd5b8501601f8101871361115c57600080fd5b61116b87823560208401610f8c565b91505092959194509250565b6000806040838503121561118a57600080fd5b61119383610ed3565b91506111a160208401610ed3565b90509250929050565b600181811c908216806111be57607f821691505b6020821081036111f7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008161123b5761123b6111fd565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611292576112926111fd565b5060010190565b6000602082840312156112ab57600080fd5b8151610e3c81610dee565b601f821115610a13576000816000526020600020601f850160051c810160208610156112df5750805b601f850160051c820191505b818110156112fe578281556001016112eb565b505050505050565b815167ffffffffffffffff81111561132057611320610f5d565b6113348161132e84546111aa565b846112b6565b602080601f83116001811461138757600084156113515750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556112fe565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156113d4578886015182559484019460019091019084016113b5565b508582101561141057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261145f6080830184610e43565b969550505050505056 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"`\x80`@R`\x046\x10a\0\xDDW`\x005`\xE0\x1C\x80ccR!\x1E\x11a\0\x7FW\x80c\xA2,\xB4e\x11a\0YW\x80c\xA2,\xB4e\x14a\x02_W\x80c\xB8\x8DO\xDE\x14a\x02\x7FW\x80c\xC8{V\xDD\x14a\x02\x92W\x80c\xE9\x85\xE9\xC5\x14a\x02\xB3W`\0\x80\xFD[\x80ccR!\x1E\x14a\x01\xFCW\x80cp\xA0\x821\x14a\x02\x1CW\x80c\x95\xD8\x9BA\x14a\x02JW`\0\x80\xFD[\x80c\t^\xA7\xB3\x11a\0\xBBW\x80c\t^\xA7\xB3\x14a\x01\xA1W\x80c#\xB8r\xDD\x14a\x01\xB6W\x80cB\x84.\x0E\x14a\x01\xC9W\x80cL\xD8\x8Bv\x14a\x01\xDCW`\0\x80\xFD[\x80c\x01\xFF\xC9\xA7\x14a\0\xE2W\x80c\x06\xFD\xDE\x03\x14a\x01\x17W\x80c\x08\x18\x12\xFC\x14a\x019W[`\0\x80\xFD[4\x80\x15a\0\xEEW`\0\x80\xFD[Pa\x01\x02a\0\xFD6`\x04a\x0E\x1FV[a\x03\tV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[4\x80\x15a\x01#W`\0\x80\xFD[Pa\x01,a\x03\xEEV[`@Qa\x01\x0E\x91\x90a\x0E\xA7V[4\x80\x15a\x01EW`\0\x80\xFD[Pa\x01|a\x01T6`\x04a\x0E\xBAV[`\0\x90\x81R`\x04` R`@\x90 Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x90V[`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x0EV[a\x01\xB4a\x01\xAF6`\x04a\x0E\xF7V[a\x04\x80V[\0[a\x01\xB4a\x01\xC46`\x04a\x0F!V[a\x05\xCFV[a\x01\xB4a\x01\xD76`\x04a\x0F!V[a\x08\xC4V[4\x80\x15a\x01\xE8W`\0\x80\xFD[Pa\x01\xB4a\x01\xF76`\x04a\x10@V[a\n\x18V[4\x80\x15a\x02\x08W`\0\x80\xFD[Pa\x01|a\x02\x176`\x04a\x0E\xBAV[a\n\xCEV[4\x80\x15a\x02(W`\0\x80\xFD[Pa\x02=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\t\x89\x91\x90a\x12\x99V[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14[a\n\x13W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x10`$\x82\x01R\x7FUNSAFE_RECIPIENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[PPPV[`\x06T`\xFF\x16\x15a\n\x85W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x13`$\x82\x01R\x7FALREADY_INITIALIZED\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[`\0a\n\x91\x83\x82a\x13\x06V[P`\x01a\n\x9E\x82\x82a\x13\x06V[PP`\x06\x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16`\x01\x17\x90UPV[`\0\x81\x81R`\x02` R`@\x90 Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16\x80a\x0BZW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\n`$\x82\x01R\x7FNOT_MINTED\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[\x91\x90PV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x16a\x0B\xDEW`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x0C`$\x82\x01R\x7FZERO_ADDRESS\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[Ps\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16`\0\x90\x81R`\x03` R`@\x90 T\x90V[```\x01\x80Ta\x03\xFD\x90a\x11\xAAV[3`\0\x81\x81R`\x05` \x90\x81R`@\x80\x83 s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x87\x16\x80\x85R\x90\x83R\x92\x81\x90 \x80T\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\0\x16\x86\x15\x15\x90\x81\x17\x90\x91U\x90Q\x90\x81R\x91\x92\x91\x7F\x170~\xAB9\xABa\x07\xE8\x89\x98E\xAD=Y\xBD\x96S\xF2\0\xF2 \x92\x04\x89\xCA+Y7il1\x91\x01`@Q\x80\x91\x03\x90\xA3PPV[a\x0C\xB8\x84\x84\x84a\x05\xCFV[\x82;\x15\x80a\r\x82WP`@Q\x7F\x15\x0Bz\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\x82R\x90s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x16\x90c\x15\x0Bz\x02\x90a\r\x1B\x903\x90\x89\x90\x88\x90\x88\x90`\x04\x01a\x14 V[` `@Q\x80\x83\x03\x81`\0\x87Z\xF1\x15\x80\x15a\r:W=`\0\x80>=`\0\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\r^\x91\x90a\x12\x99V[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14[a\r\xE8W`@Q\x7F\x08\xC3y\xA0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R` `\x04\x82\x01R`\x10`$\x82\x01R\x7FUNSAFE_RECIPIENT\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x05EV[PPPPV[\x7F\xFF\xFF\xFF\xFF\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81\x16\x81\x14a\x0E\x1CW`\0\x80\xFD[PV[`\0` \x82\x84\x03\x12\x15a\x0E1W`\0\x80\xFD[\x815a\x0E<\x81a\r\xEEV[\x93\x92PPPV[`\0\x81Q\x80\x84R`\0[\x81\x81\x10\x15a\x0EiW` \x81\x85\x01\x81\x01Q\x86\x83\x01\x82\x01R\x01a\x0EMV[P`\0` \x82\x86\x01\x01R` \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0`\x1F\x83\x01\x16\x85\x01\x01\x91PP\x92\x91PPV[` \x81R`\0a\x0E<` \x83\x01\x84a\x0ECV[`\0` \x82\x84\x03\x12\x15a\x0E\xCCW`\0\x80\xFD[P5\x91\x90PV[\x805s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x0BZW`\0\x80\xFD[`\0\x80`@\x83\x85\x03\x12\x15a\x0F\nW`\0\x80\xFD[a\x0F\x13\x83a\x0E\xD3V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\x0F6W`\0\x80\xFD[a\x0F?\x84a\x0E\xD3V[\x92Pa\x0FM` \x85\x01a\x0E\xD3V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`A`\x04R`$`\0\xFD[`\0g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x84\x11\x15a\x0F\xA7Wa\x0F\xA7a\x0F]V[`@Q`\x1F\x85\x01\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15a\x0F\xEDWa\x0F\xEDa\x0F]V[\x81`@R\x80\x93P\x85\x81R\x86\x86\x86\x01\x11\x15a\x10\x06W`\0\x80\xFD[\x85\x85` \x83\x017`\0` \x87\x83\x01\x01RPPP\x93\x92PPPV[`\0\x82`\x1F\x83\x01\x12a\x101W`\0\x80\xFD[a\x0E<\x83\x835` \x85\x01a\x0F\x8CV[`\0\x80`@\x83\x85\x03\x12\x15a\x10SW`\0\x80\xFD[\x825g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x10kW`\0\x80\xFD[a\x10w\x86\x83\x87\x01a\x10 V[\x93P` \x85\x015\x91P\x80\x82\x11\x15a\x10\x8DW`\0\x80\xFD[Pa\x10\x9A\x85\x82\x86\x01a\x10 V[\x91PP\x92P\x92\x90PV[`\0` \x82\x84\x03\x12\x15a\x10\xB6W`\0\x80\xFD[a\x0E<\x82a\x0E\xD3V[`\0\x80`@\x83\x85\x03\x12\x15a\x10\xD2W`\0\x80\xFD[a\x10\xDB\x83a\x0E\xD3V[\x91P` \x83\x015\x80\x15\x15\x81\x14a\x10\xF0W`\0\x80\xFD[\x80\x91PP\x92P\x92\x90PV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15a\x11\x11W`\0\x80\xFD[a\x11\x1A\x85a\x0E\xD3V[\x93Pa\x11(` \x86\x01a\x0E\xD3V[\x92P`@\x85\x015\x91P``\x85\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x11KW`\0\x80\xFD[\x85\x01`\x1F\x81\x01\x87\x13a\x11\\W`\0\x80\xFD[a\x11k\x87\x825` \x84\x01a\x0F\x8CV[\x91PP\x92\x95\x91\x94P\x92PV[`\0\x80`@\x83\x85\x03\x12\x15a\x11\x8AW`\0\x80\xFD[a\x11\x93\x83a\x0E\xD3V[\x91Pa\x11\xA1` \x84\x01a\x0E\xD3V[\x90P\x92P\x92\x90PV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x11\xBEW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x11\xF7W\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x7FNH{q\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0`\0R`\x11`\x04R`$`\0\xFD[`\0\x81a\x12;Wa\x12;a\x11\xFDV[P\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x01\x90V[`\0\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x82\x03a\x12\x92Wa\x12\x92a\x11\xFDV[P`\x01\x01\x90V[`\0` \x82\x84\x03\x12\x15a\x12\xABW`\0\x80\xFD[\x81Qa\x0E<\x81a\r\xEEV[`\x1F\x82\x11\x15a\n\x13W`\0\x81`\0R` `\0 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15a\x12\xDFWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15a\x12\xFEW\x82\x81U`\x01\x01a\x12\xEBV[PPPPPPV[\x81Qg\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x13 Wa\x13 a\x0F]V[a\x134\x81a\x13.\x84Ta\x11\xAAV[\x84a\x12\xB6V[` \x80`\x1F\x83\x11`\x01\x81\x14a\x13\x87W`\0\x84\x15a\x13QWP\x85\x83\x01Q[\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ua\x12\xFEV[`\0\x85\x81R` \x81 \x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xE0\x86\x16\x91[\x82\x81\x10\x15a\x13\xD4W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01a\x13\xB5V[P\x85\x82\x10\x15a\x14\x10W\x87\x85\x01Q\x7F\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\0s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x87\x16\x83R\x80\x86\x16` \x84\x01RP\x83`@\x83\x01R`\x80``\x83\x01Ra\x14_`\x80\x83\x01\x84a\x0ECV[\x96\x95PPPPPPV", ); @@ -514,20 +512,15 @@ event Approval(address indexed _owner, address indexed _approved, uint256 indexe Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Approval { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Approval> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Approval) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -643,20 +636,15 @@ event ApprovalForAll(address indexed _owner, address indexed _operator, bool _ap Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for ApprovalForAll { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&ApprovalForAll> for alloy_sol_types::private::LogData { #[inline] fn from(this: &ApprovalForAll) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -773,20 +761,15 @@ event Transfer(address indexed _from, address indexed _to, uint256 indexed _toke Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for Transfer { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&Transfer> for alloy_sol_types::private::LogData { #[inline] fn from(this: &Transfer) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -3195,35 +3178,6 @@ function transferFrom(address from, address to, uint256 id) external payable; } } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for MockERC721Events { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::ApprovalForAll(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - } - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - match self { - Self::Approval(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::ApprovalForAll(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::Transfer(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - } - } - } use alloy::contract as alloy_contract; /**Creates a new wrapper around an on-chain [`MockERC721`](self) contract instance. diff --git a/crates/bindings/src/ownable.rs b/crates/bindings/src/ownable.rs index 5ffe5ca..1a83f72 100644 --- a/crates/bindings/src/ownable.rs +++ b/crates/bindings/src/ownable.rs @@ -103,7 +103,6 @@ pub mod Ownable { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -113,7 +112,6 @@ pub mod Ownable { ///0x /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static DEPLOYED_BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( b"", ); @@ -354,20 +352,15 @@ event OwnershipTransferred(address indexed previousOwner, address indexed newOwn Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for OwnershipTransferred { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&OwnershipTransferred> for alloy_sol_types::private::LogData { #[inline] fn from(this: &OwnershipTransferred) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -1071,23 +1064,6 @@ function transferOwnership(address newOwner) external; } } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for OwnableEvents { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - match self { - Self::OwnershipTransferred(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - } - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - match self { - Self::OwnershipTransferred(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - } - } - } use alloy::contract as alloy_contract; /**Creates a new wrapper around an on-chain [`Ownable`](self) contract instance. diff --git a/crates/bindings/src/sckeystore.rs b/crates/bindings/src/sckeystore.rs index a5962ce..49174fc 100644 --- a/crates/bindings/src/sckeystore.rs +++ b/crates/bindings/src/sckeystore.rs @@ -3,23 +3,20 @@ Generated by the following Solidity interface... ```solidity interface ScKeystore { - struct UserInfo { - bytes signaturePubKey; - } - - error MalformedUserInfo(); error OwnableInvalidOwner(address owner); error OwnableUnauthorizedAccount(address account); error UserAlreadyExists(); + error UserDoesNotExist(); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); - event UserAdded(address user, bytes signaturePubKey); + event UserAdded(address user); + event UserRemoved(address user); constructor(address initialOwner); - function addUser(address user, bytes memory signaturePubKey) external; - function getUser(address user) external view returns (UserInfo memory); + function addUser(address user) external; function owner() external view returns (address); + function removeUser(address user) external; function renounceOwnership() external; function transferOwnership(address newOwner) external; function userExists(address user) external view returns (bool); @@ -48,11 +45,6 @@ interface ScKeystore { "name": "user", "type": "address", "internalType": "address" - }, - { - "name": "signaturePubKey", - "type": "bytes", - "internalType": "bytes" } ], "outputs": [], @@ -60,42 +52,29 @@ interface ScKeystore { }, { "type": "function", - "name": "getUser", - "inputs": [ - { - "name": "user", - "type": "address", - "internalType": "address" - } - ], + "name": "owner", + "inputs": [], "outputs": [ { "name": "", - "type": "tuple", - "internalType": "struct UserInfo", - "components": [ - { - "name": "signaturePubKey", - "type": "bytes", - "internalType": "bytes" - } - ] + "type": "address", + "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ + "name": "removeUser", + "inputs": [ { - "name": "", + "name": "user", "type": "address", "internalType": "address" } ], - "stateMutability": "view" + "outputs": [], + "stateMutability": "nonpayable" }, { "type": "function", @@ -164,20 +143,22 @@ interface ScKeystore { "type": "address", "indexed": false, "internalType": "address" - }, - { - "name": "signaturePubKey", - "type": "bytes", - "indexed": false, - "internalType": "bytes" } ], "anonymous": false }, { - "type": "error", - "name": "MalformedUserInfo", - "inputs": [] + "type": "event", + "name": "UserRemoved", + "inputs": [ + { + "name": "user", + "type": "address", + "indexed": false, + "internalType": "address" + } + ], + "anonymous": false }, { "type": "error", @@ -205,6 +186,11 @@ interface ScKeystore { "type": "error", "name": "UserAlreadyExists", "inputs": [] + }, + { + "type": "error", + "name": "UserDoesNotExist", + "inputs": [] } ] ```*/ @@ -215,222 +201,37 @@ pub mod ScKeystore { /// The creation / init bytecode of the contract. /// /// ```text - ///0x608060405234801561001057600080fd5b5060405161093c38038061093c83398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b61083f806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80638da5cb5b116100505780638da5cb5b146100c9578063e3eccd10146100f1578063f2fde38b1461010457600080fd5b80630e666e49146100775780636f77926b1461009f578063715018a6146100bf575b600080fd5b61008a6100853660046104cd565b610117565b60405190151581526020015b60405180910390f35b6100b26100ad3660046104cd565b610154565b60405161009691906104ef565b6100c761022a565b005b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610096565b6100c76100ff366004610565565b61023e565b6100c76101123660046104cd565b610373565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120805482919061014a906105e8565b9050119050919050565b60408051602080820183526060825273ffffffffffffffffffffffffffffffffffffffff84166000908152600182528390208351918201909352825491929091829082906101a1906105e8565b80601f01602080910402602001604051908101604052809291908181526020018280546101cd906105e8565b801561021a5780601f106101ef5761010080835404028352916020019161021a565b820191906000526020600020905b8154815290600101906020018083116101fd57829003601f168201915b5050505050815250509050919050565b6102326103dc565b61023c600061042f565b565b6102466103dc565b6000819003610281576040517ff969dd5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61028a83610117565b156102c1576040517fc344397e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020601f84018190048102820183018352810183815290918291908590859081908501838280828437600092018290525093909452505073ffffffffffffffffffffffffffffffffffffffff861681526001602052604090208251909150819061032f90826106bb565b509050507f3d3d05375966308799f27583173d73adad0e9648aac96d354b0d554a6ea8d574838383604051610366939291906107d5565b60405180910390a1505050565b61037b6103dc565b73ffffffffffffffffffffffffffffffffffffffff81166103d0576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6103d98161042f565b50565b60005473ffffffffffffffffffffffffffffffffffffffff16331461023c576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016103c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b803573ffffffffffffffffffffffffffffffffffffffff811681146104c857600080fd5b919050565b6000602082840312156104df57600080fd5b6104e8826104a4565b9392505050565b600060208083528351602080850152805180604086015260005b8181101561052557828101840151868201606001528301610509565b5060006060828701015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116860101935050505092915050565b60008060006040848603121561057a57600080fd5b610583846104a4565b9250602084013567ffffffffffffffff808211156105a057600080fd5b818601915086601f8301126105b457600080fd5b8135818111156105c357600080fd5b8760208285010111156105d557600080fd5b6020830194508093505050509250925092565b600181811c908216806105fc57607f821691505b602082108103610635577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156106b6576000816000526020600020601f850160051c810160208610156106935750805b601f850160051c820191505b818110156106b25782815560010161069f565b5050505b505050565b815167ffffffffffffffff8111156106d5576106d561063b565b6106e9816106e384546105e8565b8461066a565b602080601f83116001811461073c57600084156107065750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556106b2565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156107895788860151825594840194600190910190840161076a565b50858210156107c557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019291505056 + ///0x608060405234801561001057600080fd5b5060405161055638038061055683398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b610459806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80638da5cb5b116100505780638da5cb5b146100e2578063985751881461010a578063f2fde38b1461011d57600080fd5b80630e666e4914610077578063421b2d8b146100c5578063715018a6146100da575b600080fd5b6100b061008536600461041c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100d86100d336600461041c565b610130565b005b6100d861021f565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100bc565b6100d861011836600461041c565b610233565b6100d861012b36600461041c565b6102eb565b610138610354565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1615610198576040517fc344397e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526001602081815260409283902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690921790915590519182527f19ef9a4877199f89440a26acb26895ec02ed86f2df1aeaa90dc18041b892f71f91015b60405180910390a150565b610227610354565b61023160006103a7565b565b61023b610354565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1661029a576040517f907b361f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000819052600160209081526040519182527fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9101610214565b6102f3610354565b73ffffffffffffffffffffffffffffffffffffffff8116610348576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610351816103a7565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610231576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161033f565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561042e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461045257600080fd5b939250505056 /// ``` #[rustfmt::skip] - #[allow(clippy::all)] pub static BYTECODE: alloy_sol_types::private::Bytes = alloy_sol_types::private::Bytes::from_static( - b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\t<8\x03\x80a\t<\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\xBEV[\x80`\x01`\x01`\xA0\x1B\x03\x81\x16a\0^W`@Qc\x1EO\xBD\xF7`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01`@Q\x80\x91\x03\x90\xFD[a\0g\x81a\0nV[PPa\0\xEEV[`\0\x80T`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\x01`\x01`\xA0\x1B\x03\x19\x83\x16\x81\x17\x84U`@Q\x91\x90\x92\x16\x92\x83\x91\x7F\x8B\xE0\x07\x9CS\x16Y\x14\x13D\xCD\x1F\xD0\xA4\xF2\x84\x19I\x7F\x97\"\xA3\xDA\xAF\xE3\xB4\x18okdW\xE0\x91\x90\xA3PPV[`\0` \x82\x84\x03\x12\x15a\0\xD0W`\0\x80\xFD[\x81Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\0\xE7W`\0\x80\xFD[\x93\x92PPPV[a\x08?\x80a\0\xFD`\09`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0rW`\x005`\xE0\x1C\x80c\x8D\xA5\xCB[\x11a\0PW\x80c\x8D\xA5\xCB[\x14a\0\xC9W\x80c\xE3\xEC\xCD\x10\x14a\0\xF1W\x80c\xF2\xFD\xE3\x8B\x14a\x01\x04W`\0\x80\xFD[\x80c\x0EfnI\x14a\0wW\x80cow\x92k\x14a\0\x9FW\x80cqP\x18\xA6\x14a\0\xBFW[`\0\x80\xFD[a\0\x8Aa\0\x856`\x04a\x04\xCDV[a\x01\x17V[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xF3[a\0\xB2a\0\xAD6`\x04a\x04\xCDV[a\x01TV[`@Qa\0\x96\x91\x90a\x04\xEFV[a\0\xC7a\x02*V[\0[`\0T`@Qs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\0\x96V[a\0\xC7a\0\xFF6`\x04a\x05eV[a\x02>V[a\0\xC7a\x01\x126`\x04a\x04\xCDV[a\x03sV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x81 \x80T\x82\x91\x90a\x01J\x90a\x05\xE8V[\x90P\x11\x90P\x91\x90PV[`@\x80Q` \x80\x82\x01\x83R``\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x90\x81R`\x01\x82R\x83\x90 \x83Q\x91\x82\x01\x90\x93R\x82T\x91\x92\x90\x91\x82\x90\x82\x90a\x01\xA1\x90a\x05\xE8V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xCD\x90a\x05\xE8V[\x80\x15a\x02\x1AW\x80`\x1F\x10a\x01\xEFWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x1AV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xFDW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[a\x022a\x03\xDCV[a\x02<`\0a\x04/V[V[a\x02Fa\x03\xDCV[`\0\x81\x90\x03a\x02\x81W`@Q\x7F\xF9i\xDDY\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02\x8A\x83a\x01\x17V[\x15a\x02\xC1W`@Q\x7F\xC3D9~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q` `\x1F\x84\x01\x81\x90\x04\x81\x02\x82\x01\x83\x01\x83R\x81\x01\x83\x81R\x90\x91\x82\x91\x90\x85\x90\x85\x90\x81\x90\x85\x01\x83\x82\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x81R`\x01` R`@\x90 \x82Q\x90\x91P\x81\x90a\x03/\x90\x82a\x06\xBBV[P\x90PP\x7F==\x057Yf0\x87\x99\xF2u\x83\x17=s\xAD\xAD\x0E\x96H\xAA\xC9m5K\rUJn\xA8\xD5t\x83\x83\x83`@Qa\x03f\x93\x92\x91\x90a\x07\xD5V[`@Q\x80\x91\x03\x90\xA1PPPV[a\x03{a\x03\xDCV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x03\xD0W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[a\x03\xD9\x81a\x04/V[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x02V[a\0\xC7a\x01\x126`\x04a\x04\xCDV[a\x03sV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16`\0\x90\x81R`\x01` R`@\x81 \x80T\x82\x91\x90a\x01J\x90a\x05\xE8V[\x90P\x11\x90P\x91\x90PV[`@\x80Q` \x80\x82\x01\x83R``\x82Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x84\x16`\0\x90\x81R`\x01\x82R\x83\x90 \x83Q\x91\x82\x01\x90\x93R\x82T\x91\x92\x90\x91\x82\x90\x82\x90a\x01\xA1\x90a\x05\xE8V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x01\xCD\x90a\x05\xE8V[\x80\x15a\x02\x1AW\x80`\x1F\x10a\x01\xEFWa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x02\x1AV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x01\xFDW\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x81RPP\x90P\x91\x90PV[a\x022a\x03\xDCV[a\x02<`\0a\x04/V[V[a\x02Fa\x03\xDCV[`\0\x81\x90\x03a\x02\x81W`@Q\x7F\xF9i\xDDY\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[a\x02\x8A\x83a\x01\x17V[\x15a\x02\xC1W`@Q\x7F\xC3D9~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\x04\x01`@Q\x80\x91\x03\x90\xFD[`@\x80Q` `\x1F\x84\x01\x81\x90\x04\x81\x02\x82\x01\x83\x01\x83R\x81\x01\x83\x81R\x90\x91\x82\x91\x90\x85\x90\x85\x90\x81\x90\x85\x01\x83\x82\x80\x82\x847`\0\x92\x01\x82\x90RP\x93\x90\x94RPPs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x81R`\x01` R`@\x90 \x82Q\x90\x91P\x81\x90a\x03/\x90\x82a\x06\xBBV[P\x90PP\x7F==\x057Yf0\x87\x99\xF2u\x83\x17=s\xAD\xAD\x0E\x96H\xAA\xC9m5K\rUJn\xA8\xD5t\x83\x83\x83`@Qa\x03f\x93\x92\x91\x90a\x07\xD5V[`@Q\x80\x91\x03\x90\xA1PPPV[a\x03{a\x03\xDCV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16a\x03\xD0W`@Q\x7F\x1EO\xBD\xF7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81R`\0`\x04\x82\x01R`$\x01[`@Q\x80\x91\x03\x90\xFD[a\x03\xD9\x81a\x04/V[PV[`\0Ts\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x163\x14a\x02 = (alloy::sol_types::sol_data::Bytes,); - #[doc(hidden)] - type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Bytes,); - #[cfg(test)] - #[allow(dead_code, unreachable_patterns)] - fn _type_assertion( - _t: alloy_sol_types::private::AssertTypeEq, - ) { - match _t { - alloy_sol_types::private::AssertTypeEq::< - ::RustType, - >(_) => {} - } - } - #[automatically_derived] - #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: UserInfo) -> Self { - (value.signaturePubKey,) - } - } - #[automatically_derived] - #[doc(hidden)] - impl ::core::convert::From> for UserInfo { - fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self { signaturePubKey: tuple.0 } - } - } - #[automatically_derived] - impl alloy_sol_types::SolValue for UserInfo { - type SolType = Self; - } - #[automatically_derived] - impl alloy_sol_types::private::SolTypeValue for UserInfo { - #[inline] - fn stv_to_tokens(&self) -> ::Token<'_> { - ( - ::tokenize( - &self.signaturePubKey, - ), - ) - } - #[inline] - fn stv_abi_encoded_size(&self) -> usize { - if let Some(size) = ::ENCODED_SIZE { - return size; - } - let tuple = as ::core::convert::From>::from(self.clone()); - as alloy_sol_types::SolType>::abi_encoded_size(&tuple) - } - #[inline] - fn stv_eip712_data_word(&self) -> alloy_sol_types::Word { - ::eip712_hash_struct(self) - } - #[inline] - fn stv_abi_encode_packed_to( - &self, - out: &mut alloy_sol_types::private::Vec, - ) { - let tuple = as ::core::convert::From>::from(self.clone()); - as alloy_sol_types::SolType>::abi_encode_packed_to(&tuple, out) - } - #[inline] - fn stv_abi_packed_encoded_size(&self) -> usize { - if let Some(size) = ::PACKED_ENCODED_SIZE { - return size; - } - let tuple = as ::core::convert::From>::from(self.clone()); - as alloy_sol_types::SolType>::abi_packed_encoded_size(&tuple) - } - } - #[automatically_derived] - impl alloy_sol_types::SolType for UserInfo { - type RustType = Self; - type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SOL_NAME: &'static str = ::NAME; - const ENCODED_SIZE: Option = as alloy_sol_types::SolType>::ENCODED_SIZE; - const PACKED_ENCODED_SIZE: Option = as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE; - #[inline] - fn valid_token(token: &Self::Token<'_>) -> bool { - as alloy_sol_types::SolType>::valid_token(token) - } - #[inline] - fn detokenize(token: Self::Token<'_>) -> Self::RustType { - let tuple = as alloy_sol_types::SolType>::detokenize(token); - >>::from(tuple) - } - } - #[automatically_derived] - impl alloy_sol_types::SolStruct for UserInfo { - const NAME: &'static str = "UserInfo"; - #[inline] - fn eip712_root_type() -> alloy_sol_types::private::Cow<'static, str> { - alloy_sol_types::private::Cow::Borrowed( - "UserInfo(bytes signaturePubKey)", - ) - } - #[inline] - fn eip712_components() -> alloy_sol_types::private::Vec< - alloy_sol_types::private::Cow<'static, str>, - > { - alloy_sol_types::private::Vec::new() - } - #[inline] - fn eip712_encode_type() -> alloy_sol_types::private::Cow<'static, str> { - ::eip712_root_type() - } - #[inline] - fn eip712_encode_data(&self) -> alloy_sol_types::private::Vec { - ::eip712_data_word( - &self.signaturePubKey, - ) - .0 - .to_vec() - } - } - #[automatically_derived] - impl alloy_sol_types::EventTopic for UserInfo { - #[inline] - fn topic_preimage_length(rust: &Self::RustType) -> usize { - 0usize - + ::topic_preimage_length( - &rust.signaturePubKey, - ) - } - #[inline] - fn encode_topic_preimage( - rust: &Self::RustType, - out: &mut alloy_sol_types::private::Vec, - ) { - out.reserve( - ::topic_preimage_length(rust), - ); - ::encode_topic_preimage( - &rust.signaturePubKey, - out, - ); - } - #[inline] - fn encode_topic( - rust: &Self::RustType, - ) -> alloy_sol_types::abi::token::WordToken { - let mut out = alloy_sol_types::private::Vec::new(); - ::encode_topic_preimage( - rust, - &mut out, - ); - alloy_sol_types::abi::token::WordToken( - alloy_sol_types::private::keccak256(out), - ) - } - } - }; - /**Custom error with signature `MalformedUserInfo()` and selector `0xf969dd59`. + /**Custom error with signature `OwnableInvalidOwner(address)` and selector `0x1e4fbdf7`. ```solidity -error MalformedUserInfo(); +error OwnableInvalidOwner(address owner); ```*/ #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct MalformedUserInfo {} + pub struct OwnableInvalidOwner { + pub owner: alloy::sol_types::private::Address, + } #[allow(non_camel_case_types, non_snake_case, clippy::style)] const _: () = { use alloy::sol_types as alloy_sol_types; #[doc(hidden)] - type UnderlyingSolTuple<'a> = (); + type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,); #[doc(hidden)] - type UnderlyingRustTuple<'a> = (); + type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,); #[cfg(test)] #[allow(dead_code, unreachable_patterns)] fn _type_assertion( @@ -444,26 +245,26 @@ error MalformedUserInfo(); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: MalformedUserInfo) -> Self { - () + impl ::core::convert::From for UnderlyingRustTuple<'_> { + fn from(value: OwnableInvalidOwner) -> Self { + (value.owner,) } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> for MalformedUserInfo { + impl ::core::convert::From> for OwnableInvalidOwner { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self {} + Self { owner: tuple.0 } } } #[automatically_derived] - impl alloy_sol_types::SolError for MalformedUserInfo { + impl alloy_sol_types::SolError for OwnableInvalidOwner { type Parameters<'a> = UnderlyingSolTuple<'a>; type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SIGNATURE: &'static str = "MalformedUserInfo()"; - const SELECTOR: [u8; 4] = [249u8, 105u8, 221u8, 89u8]; + const SIGNATURE: &'static str = "OwnableInvalidOwner(address)"; + const SELECTOR: [u8; 4] = [30u8, 79u8, 189u8, 247u8]; #[inline] fn new<'a>( tuple: as alloy_sol_types::SolType>::RustType, @@ -472,18 +273,22 @@ error MalformedUserInfo(); } #[inline] fn tokenize(&self) -> Self::Token<'_> { - () + ( + ::tokenize( + &self.owner, + ), + ) } } }; - /**Custom error with signature `OwnableInvalidOwner(address)` and selector `0x1e4fbdf7`. + /**Custom error with signature `OwnableUnauthorizedAccount(address)` and selector `0x118cdaa7`. ```solidity -error OwnableInvalidOwner(address owner); +error OwnableUnauthorizedAccount(address account); ```*/ #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct OwnableInvalidOwner { - pub owner: alloy::sol_types::private::Address, + pub struct OwnableUnauthorizedAccount { + pub account: alloy::sol_types::private::Address, } #[allow(non_camel_case_types, non_snake_case, clippy::style)] const _: () = { @@ -505,26 +310,28 @@ error OwnableInvalidOwner(address owner); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: OwnableInvalidOwner) -> Self { - (value.owner,) + impl ::core::convert::From + for UnderlyingRustTuple<'_> { + fn from(value: OwnableUnauthorizedAccount) -> Self { + (value.account,) } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> for OwnableInvalidOwner { + impl ::core::convert::From> + for OwnableUnauthorizedAccount { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self { owner: tuple.0 } + Self { account: tuple.0 } } } #[automatically_derived] - impl alloy_sol_types::SolError for OwnableInvalidOwner { + impl alloy_sol_types::SolError for OwnableUnauthorizedAccount { type Parameters<'a> = UnderlyingSolTuple<'a>; type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SIGNATURE: &'static str = "OwnableInvalidOwner(address)"; - const SELECTOR: [u8; 4] = [30u8, 79u8, 189u8, 247u8]; + const SIGNATURE: &'static str = "OwnableUnauthorizedAccount(address)"; + const SELECTOR: [u8; 4] = [17u8, 140u8, 218u8, 167u8]; #[inline] fn new<'a>( tuple: as alloy_sol_types::SolType>::RustType, @@ -535,28 +342,26 @@ error OwnableInvalidOwner(address owner); fn tokenize(&self) -> Self::Token<'_> { ( ::tokenize( - &self.owner, + &self.account, ), ) } } }; - /**Custom error with signature `OwnableUnauthorizedAccount(address)` and selector `0x118cdaa7`. + /**Custom error with signature `UserAlreadyExists()` and selector `0xc344397e`. ```solidity -error OwnableUnauthorizedAccount(address account); +error UserAlreadyExists(); ```*/ #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct OwnableUnauthorizedAccount { - pub account: alloy::sol_types::private::Address, - } + pub struct UserAlreadyExists {} #[allow(non_camel_case_types, non_snake_case, clippy::style)] const _: () = { use alloy::sol_types as alloy_sol_types; #[doc(hidden)] - type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,); + type UnderlyingSolTuple<'a> = (); #[doc(hidden)] - type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,); + type UnderlyingRustTuple<'a> = (); #[cfg(test)] #[allow(dead_code, unreachable_patterns)] fn _type_assertion( @@ -570,28 +375,26 @@ error OwnableUnauthorizedAccount(address account); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From - for UnderlyingRustTuple<'_> { - fn from(value: OwnableUnauthorizedAccount) -> Self { - (value.account,) + impl ::core::convert::From for UnderlyingRustTuple<'_> { + fn from(value: UserAlreadyExists) -> Self { + () } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> - for OwnableUnauthorizedAccount { + impl ::core::convert::From> for UserAlreadyExists { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self { account: tuple.0 } + Self {} } } #[automatically_derived] - impl alloy_sol_types::SolError for OwnableUnauthorizedAccount { + impl alloy_sol_types::SolError for UserAlreadyExists { type Parameters<'a> = UnderlyingSolTuple<'a>; type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SIGNATURE: &'static str = "OwnableUnauthorizedAccount(address)"; - const SELECTOR: [u8; 4] = [17u8, 140u8, 218u8, 167u8]; + const SIGNATURE: &'static str = "UserAlreadyExists()"; + const SELECTOR: [u8; 4] = [195u8, 68u8, 57u8, 126u8]; #[inline] fn new<'a>( tuple: as alloy_sol_types::SolType>::RustType, @@ -600,21 +403,17 @@ error OwnableUnauthorizedAccount(address account); } #[inline] fn tokenize(&self) -> Self::Token<'_> { - ( - ::tokenize( - &self.account, - ), - ) + () } } }; - /**Custom error with signature `UserAlreadyExists()` and selector `0xc344397e`. + /**Custom error with signature `UserDoesNotExist()` and selector `0x907b361f`. ```solidity -error UserAlreadyExists(); +error UserDoesNotExist(); ```*/ #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct UserAlreadyExists {} + pub struct UserDoesNotExist {} #[allow(non_camel_case_types, non_snake_case, clippy::style)] const _: () = { use alloy::sol_types as alloy_sol_types; @@ -635,26 +434,26 @@ error UserAlreadyExists(); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: UserAlreadyExists) -> Self { + impl ::core::convert::From for UnderlyingRustTuple<'_> { + fn from(value: UserDoesNotExist) -> Self { () } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> for UserAlreadyExists { + impl ::core::convert::From> for UserDoesNotExist { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { Self {} } } #[automatically_derived] - impl alloy_sol_types::SolError for UserAlreadyExists { + impl alloy_sol_types::SolError for UserDoesNotExist { type Parameters<'a> = UnderlyingSolTuple<'a>; type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SIGNATURE: &'static str = "UserAlreadyExists()"; - const SELECTOR: [u8; 4] = [195u8, 68u8, 57u8, 126u8]; + const SIGNATURE: &'static str = "UserDoesNotExist()"; + const SELECTOR: [u8; 4] = [144u8, 123u8, 54u8, 31u8]; #[inline] fn new<'a>( tuple: as alloy_sol_types::SolType>::RustType, @@ -772,82 +571,72 @@ event OwnershipTransferred(address indexed previousOwner, address indexed newOwn Ok(()) } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for OwnershipTransferred { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) - } - } - #[automatically_derived] impl From<&OwnershipTransferred> for alloy_sol_types::private::LogData { #[inline] fn from(this: &OwnershipTransferred) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; - /**Event with signature `UserAdded(address,bytes)` and selector `0x3d3d05375966308799f27583173d73adad0e9648aac96d354b0d554a6ea8d574`. + /**Event with signature `UserAdded(address)` and selector `0x19ef9a4877199f89440a26acb26895ec02ed86f2df1aeaa90dc18041b892f71f`. ```solidity -event UserAdded(address user, bytes signaturePubKey); +event UserAdded(address user); ```*/ #[allow(non_camel_case_types, non_snake_case, clippy::style)] #[derive(Clone)] pub struct UserAdded { #[allow(missing_docs)] pub user: alloy::sol_types::private::Address, - #[allow(missing_docs)] - pub signaturePubKey: alloy::sol_types::private::Bytes, } #[allow(non_camel_case_types, non_snake_case, clippy::style)] const _: () = { use alloy::sol_types as alloy_sol_types; #[automatically_derived] impl alloy_sol_types::SolEvent for UserAdded { - type DataTuple<'a> = ( - alloy::sol_types::sol_data::Address, - alloy::sol_types::sol_data::Bytes, - ); + type DataTuple<'a> = (alloy::sol_types::sol_data::Address,); type DataToken<'a> = as alloy_sol_types::SolType>::Token<'a>; type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,); - const SIGNATURE: &'static str = "UserAdded(address,bytes)"; + const SIGNATURE: &'static str = "UserAdded(address)"; const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([ - 61u8, - 61u8, - 5u8, - 55u8, - 89u8, - 102u8, - 48u8, - 135u8, - 153u8, - 242u8, - 117u8, - 131u8, - 23u8, - 61u8, - 115u8, - 173u8, - 173u8, - 14u8, - 150u8, + 25u8, + 239u8, + 154u8, 72u8, - 170u8, - 201u8, - 109u8, - 53u8, - 75u8, + 119u8, + 25u8, + 159u8, + 137u8, + 68u8, + 10u8, + 38u8, + 172u8, + 178u8, + 104u8, + 149u8, + 236u8, + 2u8, + 237u8, + 134u8, + 242u8, + 223u8, + 26u8, + 234u8, + 169u8, 13u8, - 85u8, - 74u8, - 110u8, - 168u8, - 213u8, - 116u8, + 193u8, + 128u8, + 65u8, + 184u8, + 146u8, + 247u8, + 31u8, ]); const ANONYMOUS: bool = false; #[allow(unused_variables)] @@ -856,10 +645,7 @@ event UserAdded(address user, bytes signaturePubKey); topics: ::RustType, data: as alloy_sol_types::SolType>::RustType, ) -> Self { - Self { - user: data.0, - signaturePubKey: data.1, - } + Self { user: data.0 } } #[inline] fn tokenize_body(&self) -> Self::DataToken<'_> { @@ -867,9 +653,6 @@ event UserAdded(address user, bytes signaturePubKey); ::tokenize( &self.user, ), - ::tokenize( - &self.signaturePubKey, - ), ) } #[inline] @@ -890,20 +673,117 @@ event UserAdded(address user, bytes signaturePubKey); Ok(()) } } + impl From<&UserAdded> for alloy_sol_types::private::LogData { + #[inline] + fn from(this: &UserAdded) -> alloy_sol_types::private::LogData { + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) + } + } + }; + /**Event with signature `UserRemoved(address)` and selector `0xe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d`. +```solidity +event UserRemoved(address user); +```*/ + #[allow(non_camel_case_types, non_snake_case, clippy::style)] + #[derive(Clone)] + pub struct UserRemoved { + #[allow(missing_docs)] + pub user: alloy::sol_types::private::Address, + } + #[allow(non_camel_case_types, non_snake_case, clippy::style)] + const _: () = { + use alloy::sol_types as alloy_sol_types; #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for UserAdded { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - From::from(self) + impl alloy_sol_types::SolEvent for UserRemoved { + type DataTuple<'a> = (alloy::sol_types::sol_data::Address,); + type DataToken<'a> = as alloy_sol_types::SolType>::Token<'a>; + type TopicList = (alloy_sol_types::sol_data::FixedBytes<32>,); + const SIGNATURE: &'static str = "UserRemoved(address)"; + const SIGNATURE_HASH: alloy_sol_types::private::B256 = alloy_sol_types::private::B256::new([ + 233u8, + 220u8, + 232u8, + 201u8, + 146u8, + 98u8, + 60u8, + 231u8, + 145u8, + 114u8, + 91u8, + 33u8, + 232u8, + 87u8, + 227u8, + 50u8, + 72u8, + 209u8, + 241u8, + 144u8, + 162u8, + 91u8, + 81u8, + 104u8, + 49u8, + 52u8, + 32u8, + 238u8, + 189u8, + 170u8, + 233u8, + 157u8, + ]); + const ANONYMOUS: bool = false; + #[allow(unused_variables)] + #[inline] + fn new( + topics: ::RustType, + data: as alloy_sol_types::SolType>::RustType, + ) -> Self { + Self { user: data.0 } } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - From::from(&self) + #[inline] + fn tokenize_body(&self) -> Self::DataToken<'_> { + ( + ::tokenize( + &self.user, + ), + ) + } + #[inline] + fn topics(&self) -> ::RustType { + (Self::SIGNATURE_HASH.into(),) + } + #[inline] + fn encode_topics_raw( + &self, + out: &mut [alloy_sol_types::abi::token::WordToken], + ) -> alloy_sol_types::Result<()> { + if out.len() < ::COUNT { + return Err(alloy_sol_types::Error::Overrun); + } + out[0usize] = alloy_sol_types::abi::token::WordToken( + Self::SIGNATURE_HASH, + ); + Ok(()) } } - #[automatically_derived] - impl From<&UserAdded> for alloy_sol_types::private::LogData { + impl From<&UserRemoved> for alloy_sol_types::private::LogData { #[inline] - fn from(this: &UserAdded) -> alloy_sol_types::private::LogData { - alloy_sol_types::SolEvent::encode_log_data(this) + fn from(this: &UserRemoved) -> alloy_sol_types::private::LogData { + let topics = alloy_sol_types::SolEvent::encode_topics(this) + .into_iter() + .map(|t| t.into()) + .collect(); + let data = alloy_sol_types::SolEvent::encode_data(this).into(); + alloy_sol_types::private::LogData::new_unchecked(topics, data) } } }; @@ -971,17 +851,16 @@ constructor(address initialOwner); } } }; - /**Function with signature `addUser(address,bytes)` and selector `0xe3eccd10`. + /**Function with signature `addUser(address)` and selector `0x421b2d8b`. ```solidity -function addUser(address user, bytes memory signaturePubKey) external; +function addUser(address user) external; ```*/ #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] pub struct addUserCall { pub user: alloy::sol_types::private::Address, - pub signaturePubKey: alloy::sol_types::private::Bytes, } - ///Container type for the return parameters of the [`addUser(address,bytes)`](addUserCall) function. + ///Container type for the return parameters of the [`addUser(address)`](addUserCall) function. #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] pub struct addUserReturn {} @@ -990,15 +869,9 @@ function addUser(address user, bytes memory signaturePubKey) external; use alloy::sol_types as alloy_sol_types; { #[doc(hidden)] - type UnderlyingSolTuple<'a> = ( - alloy::sol_types::sol_data::Address, - alloy::sol_types::sol_data::Bytes, - ); + type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,); #[doc(hidden)] - type UnderlyingRustTuple<'a> = ( - alloy::sol_types::private::Address, - alloy::sol_types::private::Bytes, - ); + type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,); #[cfg(test)] #[allow(dead_code, unreachable_patterns)] fn _type_assertion( @@ -1014,17 +887,14 @@ function addUser(address user, bytes memory signaturePubKey) external; #[doc(hidden)] impl ::core::convert::From for UnderlyingRustTuple<'_> { fn from(value: addUserCall) -> Self { - (value.user, value.signaturePubKey) + (value.user,) } } #[automatically_derived] #[doc(hidden)] impl ::core::convert::From> for addUserCall { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self { - user: tuple.0, - signaturePubKey: tuple.1, - } + Self { user: tuple.0 } } } } @@ -1061,10 +931,7 @@ function addUser(address user, bytes memory signaturePubKey) external; } #[automatically_derived] impl alloy_sol_types::SolCall for addUserCall { - type Parameters<'a> = ( - alloy::sol_types::sol_data::Address, - alloy::sol_types::sol_data::Bytes, - ); + type Parameters<'a> = (alloy::sol_types::sol_data::Address,); type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; @@ -1073,8 +940,8 @@ function addUser(address user, bytes memory signaturePubKey) external; type ReturnToken<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SIGNATURE: &'static str = "addUser(address,bytes)"; - const SELECTOR: [u8; 4] = [227u8, 236u8, 205u8, 16u8]; + const SIGNATURE: &'static str = "addUser(address)"; + const SELECTOR: [u8; 4] = [66u8, 27u8, 45u8, 139u8]; #[inline] fn new<'a>( tuple: as alloy_sol_types::SolType>::RustType, @@ -1087,9 +954,6 @@ function addUser(address user, bytes memory signaturePubKey) external; ::tokenize( &self.user, ), - ::tokenize( - &self.signaturePubKey, - ), ) } #[inline] @@ -1104,29 +968,27 @@ function addUser(address user, bytes memory signaturePubKey) external; } } }; - /**Function with signature `getUser(address)` and selector `0x6f77926b`. + /**Function with signature `owner()` and selector `0x8da5cb5b`. ```solidity -function getUser(address user) external view returns (UserInfo memory); +function owner() external view returns (address); ```*/ #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct getUserCall { - pub user: alloy::sol_types::private::Address, - } - ///Container type for the return parameters of the [`getUser(address)`](getUserCall) function. + pub struct ownerCall {} + ///Container type for the return parameters of the [`owner()`](ownerCall) function. #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct getUserReturn { - pub _0: ::RustType, + pub struct ownerReturn { + pub _0: alloy::sol_types::private::Address, } #[allow(non_camel_case_types, non_snake_case, clippy::style)] const _: () = { use alloy::sol_types as alloy_sol_types; { #[doc(hidden)] - type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,); + type UnderlyingSolTuple<'a> = (); #[doc(hidden)] - type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,); + type UnderlyingRustTuple<'a> = (); #[cfg(test)] #[allow(dead_code, unreachable_patterns)] fn _type_assertion( @@ -1140,26 +1002,24 @@ function getUser(address user) external view returns (UserInfo memory); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: getUserCall) -> Self { - (value.user,) + impl ::core::convert::From for UnderlyingRustTuple<'_> { + fn from(value: ownerCall) -> Self { + () } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> for getUserCall { + impl ::core::convert::From> for ownerCall { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self { user: tuple.0 } + Self {} } } } { #[doc(hidden)] - type UnderlyingSolTuple<'a> = (UserInfo,); + type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,); #[doc(hidden)] - type UnderlyingRustTuple<'a> = ( - ::RustType, - ); + type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,); #[cfg(test)] #[allow(dead_code, unreachable_patterns)] fn _type_assertion( @@ -1173,32 +1033,32 @@ function getUser(address user) external view returns (UserInfo memory); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: getUserReturn) -> Self { + impl ::core::convert::From for UnderlyingRustTuple<'_> { + fn from(value: ownerReturn) -> Self { (value._0,) } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> for getUserReturn { + impl ::core::convert::From> for ownerReturn { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { Self { _0: tuple.0 } } } } #[automatically_derived] - impl alloy_sol_types::SolCall for getUserCall { - type Parameters<'a> = (alloy::sol_types::sol_data::Address,); + impl alloy_sol_types::SolCall for ownerCall { + type Parameters<'a> = (); type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; - type Return = getUserReturn; - type ReturnTuple<'a> = (UserInfo,); + type Return = ownerReturn; + type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,); type ReturnToken<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SIGNATURE: &'static str = "getUser(address)"; - const SELECTOR: [u8; 4] = [111u8, 119u8, 146u8, 107u8]; + const SIGNATURE: &'static str = "owner()"; + const SELECTOR: [u8; 4] = [141u8, 165u8, 203u8, 91u8]; #[inline] fn new<'a>( tuple: as alloy_sol_types::SolType>::RustType, @@ -1207,11 +1067,7 @@ function getUser(address user) external view returns (UserInfo memory); } #[inline] fn tokenize(&self) -> Self::Token<'_> { - ( - ::tokenize( - &self.user, - ), - ) + () } #[inline] fn abi_decode_returns( @@ -1225,27 +1081,27 @@ function getUser(address user) external view returns (UserInfo memory); } } }; - /**Function with signature `owner()` and selector `0x8da5cb5b`. + /**Function with signature `removeUser(address)` and selector `0x98575188`. ```solidity -function owner() external view returns (address); +function removeUser(address user) external; ```*/ #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct ownerCall {} - ///Container type for the return parameters of the [`owner()`](ownerCall) function. + pub struct removeUserCall { + pub user: alloy::sol_types::private::Address, + } + ///Container type for the return parameters of the [`removeUser(address)`](removeUserCall) function. #[allow(non_camel_case_types, non_snake_case)] #[derive(Clone)] - pub struct ownerReturn { - pub _0: alloy::sol_types::private::Address, - } + pub struct removeUserReturn {} #[allow(non_camel_case_types, non_snake_case, clippy::style)] const _: () = { use alloy::sol_types as alloy_sol_types; { #[doc(hidden)] - type UnderlyingSolTuple<'a> = (); + type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,); #[doc(hidden)] - type UnderlyingRustTuple<'a> = (); + type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,); #[cfg(test)] #[allow(dead_code, unreachable_patterns)] fn _type_assertion( @@ -1259,24 +1115,24 @@ function owner() external view returns (address); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: ownerCall) -> Self { - () + impl ::core::convert::From for UnderlyingRustTuple<'_> { + fn from(value: removeUserCall) -> Self { + (value.user,) } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> for ownerCall { + impl ::core::convert::From> for removeUserCall { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self {} + Self { user: tuple.0 } } } } { #[doc(hidden)] - type UnderlyingSolTuple<'a> = (alloy::sol_types::sol_data::Address,); + type UnderlyingSolTuple<'a> = (); #[doc(hidden)] - type UnderlyingRustTuple<'a> = (alloy::sol_types::private::Address,); + type UnderlyingRustTuple<'a> = (); #[cfg(test)] #[allow(dead_code, unreachable_patterns)] fn _type_assertion( @@ -1290,32 +1146,32 @@ function owner() external view returns (address); } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From for UnderlyingRustTuple<'_> { - fn from(value: ownerReturn) -> Self { - (value._0,) + impl ::core::convert::From for UnderlyingRustTuple<'_> { + fn from(value: removeUserReturn) -> Self { + () } } #[automatically_derived] #[doc(hidden)] - impl ::core::convert::From> for ownerReturn { + impl ::core::convert::From> for removeUserReturn { fn from(tuple: UnderlyingRustTuple<'_>) -> Self { - Self { _0: tuple.0 } + Self {} } } } #[automatically_derived] - impl alloy_sol_types::SolCall for ownerCall { - type Parameters<'a> = (); + impl alloy_sol_types::SolCall for removeUserCall { + type Parameters<'a> = (alloy::sol_types::sol_data::Address,); type Token<'a> = as alloy_sol_types::SolType>::Token<'a>; - type Return = ownerReturn; - type ReturnTuple<'a> = (alloy::sol_types::sol_data::Address,); + type Return = removeUserReturn; + type ReturnTuple<'a> = (); type ReturnToken<'a> = as alloy_sol_types::SolType>::Token<'a>; - const SIGNATURE: &'static str = "owner()"; - const SELECTOR: [u8; 4] = [141u8, 165u8, 203u8, 91u8]; + const SIGNATURE: &'static str = "removeUser(address)"; + const SELECTOR: [u8; 4] = [152u8, 87u8, 81u8, 136u8]; #[inline] fn new<'a>( tuple: as alloy_sol_types::SolType>::RustType, @@ -1324,7 +1180,11 @@ function owner() external view returns (address); } #[inline] fn tokenize(&self) -> Self::Token<'_> { - () + ( + ::tokenize( + &self.user, + ), + ) } #[inline] fn abi_decode_returns( @@ -1696,8 +1556,8 @@ function userExists(address user) external view returns (bool); ///Container for all the [`ScKeystore`](self) function calls. pub enum ScKeystoreCalls { addUser(addUserCall), - getUser(getUserCall), owner(ownerCall), + removeUser(removeUserCall), renounceOwnership(renounceOwnershipCall), transferOwnership(transferOwnershipCall), userExists(userExistsCall), @@ -1712,10 +1572,10 @@ function userExists(address user) external view returns (bool); /// Prefer using `SolInterface` methods instead. pub const SELECTORS: &'static [[u8; 4usize]] = &[ [14u8, 102u8, 110u8, 73u8], - [111u8, 119u8, 146u8, 107u8], + [66u8, 27u8, 45u8, 139u8], [113u8, 80u8, 24u8, 166u8], [141u8, 165u8, 203u8, 91u8], - [227u8, 236u8, 205u8, 16u8], + [152u8, 87u8, 81u8, 136u8], [242u8, 253u8, 227u8, 139u8], ]; } @@ -1728,8 +1588,10 @@ function userExists(address user) external view returns (bool); fn selector(&self) -> [u8; 4] { match self { Self::addUser(_) => ::SELECTOR, - Self::getUser(_) => ::SELECTOR, Self::owner(_) => ::SELECTOR, + Self::removeUser(_) => { + ::SELECTOR + } Self::renounceOwnership(_) => { ::SELECTOR } @@ -1774,17 +1636,17 @@ function userExists(address user) external view returns (bool); userExists }, { - fn getUser( + fn addUser( data: &[u8], validate: bool, ) -> alloy_sol_types::Result { - ::abi_decode_raw( + ::abi_decode_raw( data, validate, ) - .map(ScKeystoreCalls::getUser) + .map(ScKeystoreCalls::addUser) } - getUser + addUser }, { fn renounceOwnership( @@ -1813,17 +1675,17 @@ function userExists(address user) external view returns (bool); owner }, { - fn addUser( + fn removeUser( data: &[u8], validate: bool, ) -> alloy_sol_types::Result { - ::abi_decode_raw( + ::abi_decode_raw( data, validate, ) - .map(ScKeystoreCalls::addUser) + .map(ScKeystoreCalls::removeUser) } - addUser + removeUser }, { fn transferOwnership( @@ -1855,12 +1717,12 @@ function userExists(address user) external view returns (bool); Self::addUser(inner) => { ::abi_encoded_size(inner) } - Self::getUser(inner) => { - ::abi_encoded_size(inner) - } Self::owner(inner) => { ::abi_encoded_size(inner) } + Self::removeUser(inner) => { + ::abi_encoded_size(inner) + } Self::renounceOwnership(inner) => { ::abi_encoded_size( inner, @@ -1882,12 +1744,15 @@ function userExists(address user) external view returns (bool); Self::addUser(inner) => { ::abi_encode_raw(inner, out) } - Self::getUser(inner) => { - ::abi_encode_raw(inner, out) - } Self::owner(inner) => { ::abi_encode_raw(inner, out) } + Self::removeUser(inner) => { + ::abi_encode_raw( + inner, + out, + ) + } Self::renounceOwnership(inner) => { ::abi_encode_raw( inner, @@ -1911,10 +1776,10 @@ function userExists(address user) external view returns (bool); } ///Container for all the [`ScKeystore`](self) custom errors. pub enum ScKeystoreErrors { - MalformedUserInfo(MalformedUserInfo), OwnableInvalidOwner(OwnableInvalidOwner), OwnableUnauthorizedAccount(OwnableUnauthorizedAccount), UserAlreadyExists(UserAlreadyExists), + UserDoesNotExist(UserDoesNotExist), } #[automatically_derived] impl ScKeystoreErrors { @@ -1927,8 +1792,8 @@ function userExists(address user) external view returns (bool); pub const SELECTORS: &'static [[u8; 4usize]] = &[ [17u8, 140u8, 218u8, 167u8], [30u8, 79u8, 189u8, 247u8], + [144u8, 123u8, 54u8, 31u8], [195u8, 68u8, 57u8, 126u8], - [249u8, 105u8, 221u8, 89u8], ]; } #[automatically_derived] @@ -1939,9 +1804,6 @@ function userExists(address user) external view returns (bool); #[inline] fn selector(&self) -> [u8; 4] { match self { - Self::MalformedUserInfo(_) => { - ::SELECTOR - } Self::OwnableInvalidOwner(_) => { ::SELECTOR } @@ -1951,6 +1813,9 @@ function userExists(address user) external view returns (bool); Self::UserAlreadyExists(_) => { ::SELECTOR } + Self::UserDoesNotExist(_) => { + ::SELECTOR + } } } #[inline] @@ -1999,30 +1864,30 @@ function userExists(address user) external view returns (bool); OwnableInvalidOwner }, { - fn UserAlreadyExists( + fn UserDoesNotExist( data: &[u8], validate: bool, ) -> alloy_sol_types::Result { - ::abi_decode_raw( + ::abi_decode_raw( data, validate, ) - .map(ScKeystoreErrors::UserAlreadyExists) + .map(ScKeystoreErrors::UserDoesNotExist) } - UserAlreadyExists + UserDoesNotExist }, { - fn MalformedUserInfo( + fn UserAlreadyExists( data: &[u8], validate: bool, ) -> alloy_sol_types::Result { - ::abi_decode_raw( + ::abi_decode_raw( data, validate, ) - .map(ScKeystoreErrors::MalformedUserInfo) + .map(ScKeystoreErrors::UserAlreadyExists) } - MalformedUserInfo + UserAlreadyExists }, ]; let Ok(idx) = Self::SELECTORS.binary_search(&selector) else { @@ -2038,11 +1903,6 @@ function userExists(address user) external view returns (bool); #[inline] fn abi_encoded_size(&self) -> usize { match self { - Self::MalformedUserInfo(inner) => { - ::abi_encoded_size( - inner, - ) - } Self::OwnableInvalidOwner(inner) => { ::abi_encoded_size( inner, @@ -2058,17 +1918,16 @@ function userExists(address user) external view returns (bool); inner, ) } + Self::UserDoesNotExist(inner) => { + ::abi_encoded_size( + inner, + ) + } } } #[inline] fn abi_encode_raw(&self, out: &mut alloy_sol_types::private::Vec) { match self { - Self::MalformedUserInfo(inner) => { - ::abi_encode_raw( - inner, - out, - ) - } Self::OwnableInvalidOwner(inner) => { ::abi_encode_raw( inner, @@ -2087,6 +1946,12 @@ function userExists(address user) external view returns (bool); out, ) } + Self::UserDoesNotExist(inner) => { + ::abi_encode_raw( + inner, + out, + ) + } } } } @@ -2094,6 +1959,7 @@ function userExists(address user) external view returns (bool); pub enum ScKeystoreEvents { OwnershipTransferred(OwnershipTransferred), UserAdded(UserAdded), + UserRemoved(UserRemoved), } #[automatically_derived] impl ScKeystoreEvents { @@ -2105,38 +1971,38 @@ function userExists(address user) external view returns (bool); /// Prefer using `SolInterface` methods instead. pub const SELECTORS: &'static [[u8; 32usize]] = &[ [ - 61u8, - 61u8, - 5u8, - 55u8, - 89u8, - 102u8, - 48u8, - 135u8, - 153u8, - 242u8, - 117u8, - 131u8, - 23u8, - 61u8, - 115u8, - 173u8, - 173u8, - 14u8, - 150u8, + 25u8, + 239u8, + 154u8, 72u8, - 170u8, - 201u8, - 109u8, - 53u8, - 75u8, + 119u8, + 25u8, + 159u8, + 137u8, + 68u8, + 10u8, + 38u8, + 172u8, + 178u8, + 104u8, + 149u8, + 236u8, + 2u8, + 237u8, + 134u8, + 242u8, + 223u8, + 26u8, + 234u8, + 169u8, 13u8, - 85u8, - 74u8, - 110u8, - 168u8, - 213u8, - 116u8, + 193u8, + 128u8, + 65u8, + 184u8, + 146u8, + 247u8, + 31u8, ], [ 139u8, @@ -2172,12 +2038,46 @@ function userExists(address user) external view returns (bool); 87u8, 224u8, ], + [ + 233u8, + 220u8, + 232u8, + 201u8, + 146u8, + 98u8, + 60u8, + 231u8, + 145u8, + 114u8, + 91u8, + 33u8, + 232u8, + 87u8, + 227u8, + 50u8, + 72u8, + 209u8, + 241u8, + 144u8, + 162u8, + 91u8, + 81u8, + 104u8, + 49u8, + 52u8, + 32u8, + 238u8, + 189u8, + 170u8, + 233u8, + 157u8, + ], ]; } #[automatically_derived] impl alloy_sol_types::SolEventInterface for ScKeystoreEvents { const NAME: &'static str = "ScKeystoreEvents"; - const COUNT: usize = 2usize; + const COUNT: usize = 3usize; fn decode_raw_log( topics: &[alloy_sol_types::Word], data: &[u8], @@ -2202,6 +2102,14 @@ function userExists(address user) external view returns (bool); ) .map(Self::UserAdded) } + Some(::SIGNATURE_HASH) => { + ::decode_raw_log( + topics, + data, + validate, + ) + .map(Self::UserRemoved) + } _ => { alloy_sol_types::private::Err(alloy_sol_types::Error::InvalidLog { name: ::NAME, @@ -2216,29 +2124,6 @@ function userExists(address user) external view returns (bool); } } } - #[automatically_derived] - impl alloy_sol_types::private::IntoLogData for ScKeystoreEvents { - fn to_log_data(&self) -> alloy_sol_types::private::LogData { - match self { - Self::OwnershipTransferred(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - Self::UserAdded(inner) => { - alloy_sol_types::private::IntoLogData::to_log_data(inner) - } - } - } - fn into_log_data(self) -> alloy_sol_types::private::LogData { - match self { - Self::OwnershipTransferred(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - Self::UserAdded(inner) => { - alloy_sol_types::private::IntoLogData::into_log_data(inner) - } - } - } - } use alloy::contract as alloy_contract; /**Creates a new wrapper around an on-chain [`ScKeystore`](self) contract instance. @@ -2422,26 +2307,20 @@ the bytecode concatenated with the constructor's ABI-encoded arguments.*/ pub fn addUser( &self, user: alloy::sol_types::private::Address, - signaturePubKey: alloy::sol_types::private::Bytes, ) -> alloy_contract::SolCallBuilder { - self.call_builder( - &addUserCall { - user, - signaturePubKey, - }, - ) - } - ///Creates a new call builder for the [`getUser`] function. - pub fn getUser( - &self, - user: alloy::sol_types::private::Address, - ) -> alloy_contract::SolCallBuilder { - self.call_builder(&getUserCall { user }) + self.call_builder(&addUserCall { user }) } ///Creates a new call builder for the [`owner`] function. pub fn owner(&self) -> alloy_contract::SolCallBuilder { self.call_builder(&ownerCall {}) } + ///Creates a new call builder for the [`removeUser`] function. + pub fn removeUser( + &self, + user: alloy::sol_types::private::Address, + ) -> alloy_contract::SolCallBuilder { + self.call_builder(&removeUserCall { user }) + } ///Creates a new call builder for the [`renounceOwnership`] function. pub fn renounceOwnership( &self, @@ -2489,5 +2368,11 @@ the bytecode concatenated with the constructor's ABI-encoded arguments.*/ pub fn UserAdded_filter(&self) -> alloy_contract::Event { self.event_filter::() } + ///Creates a new event filter for the [`UserRemoved`] event. + pub fn UserRemoved_filter( + &self, + ) -> alloy_contract::Event { + self.event_filter::() + } } }