diff --git a/contracts/artifacts/Solver.json b/contracts/artifacts/Solver.json index 4bbb87b4c3..1212bf7652 100644 --- a/contracts/artifacts/Solver.json +++ b/contracts/artifacts/Solver.json @@ -83,8 +83,8 @@ "type": "function" } ], - "bytecode": "0x6080604052348015600e575f5ffd5b50610acb8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633bbb2e1d146100385780638581192b1461004d575b5f5ffd5b61004b610046366004610805565b610077565b005b61006061005b366004610896565b6101e6565b60405161006e929190610997565b60405180910390f35b5f5a90507f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff861614610160576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528616906370a0823190602401602060405180830381865afa158015610137573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015b91906109e4565b610179565b8373ffffffffffffffffffffffffffffffffffffffff16315b81546001810183555f92835260209092209091015581156101e0575a61019f9082610a28565b6101ab9061116c610a41565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b5f8282546101da9190610a41565b90915550505b50505050565b5f60606101f58c8989896102f7565b5f8973ffffffffffffffffffffffffffffffffffffffff165f6040515f6040518083038185875af1925050503d805f811461024b576040519150601f19603f3d011682016040523d82523d5f602084013e610250565b606091505b50509050506102608b8b8e61066f565b61026b858585610739565b91506102788b8b8e61066f565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c8054806020026020016040519081016040528092919081815260200182805480156102e157602002820191905f5260205f20905b8154815260200190600101908083116102cd575b505050505090509a509a98505050505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff16639b552cc26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610341573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103659190610a54565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015280831660248301529192505f9185169063dd62ed3e90604401602060405180830381865afa1580156103dc573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040091906109e4565b905082811015610497576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f74726164657220646964206e6f7420676976652074686520726571756972656460448201527f20617070726f76616c730000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301525f91908616906370a0823190602401602060405180830381865afa158015610504573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052891906109e4565b90508381101561066657731111111111111111111111111111111111111111636a52902687876105588589610a28565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064015f604051808303815f87803b1580156105c9575f5ffd5b505af19250505080156105da575060015b610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f74726164657220646f6573206e6f74206861766520656e6f7567682073656c6c60448201527f20746f6b656e0000000000000000000000000000000000000000000000000000606482015260840161048e565b50505050505050565b5f5b828110156101e05730633bbb2e1d85858481811061069157610691610a76565b90506020020160208101906106a69190610aa3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff918216600482015290851660248201525f60448201526064015f604051808303815f87803b158015610717575f5ffd5b505af1158015610729573d5f5f3e3d5ffd5b5050600190920191506106719050565b5f5f5a90505f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525084519495509384935091505060208401828a5af1610790573d5f5f3e3d5ffd5b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b545a6107bd9084610a28565b6107c79190610a28565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146107f2575f5ffd5b50565b8035610800816107d1565b919050565b5f5f5f60608486031215610817575f5ffd5b8335610822816107d1565b92506020840135610832816107d1565b915060408401358015158114610846575f5ffd5b809150509250925092565b5f5f83601f840112610861575f5ffd5b50813567ffffffffffffffff811115610878575f5ffd5b60208301915083602082850101111561088f575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f5f6101008b8d0312156108b0575f5ffd5b8a356108bb816107d1565b995060208b013567ffffffffffffffff8111156108d6575f5ffd5b8b01601f81018d136108e6575f5ffd5b803567ffffffffffffffff8111156108fc575f5ffd5b8d60208260051b8401011115610910575f5ffd5b6020919091019950975061092660408c016107f5565b965061093460608c016107f5565b955061094260808c016107f5565b945060a08b0135935061095760c08c016107f5565b925060e08b013567ffffffffffffffff811115610972575f5ffd5b61097e8d828e01610851565b915080935050809150509295989b9194979a5092959850565b5f60408201848352604060208401528084518083526060850191506020860192505f5b818110156109d85783518352602093840193909201916001016109ba565b50909695505050505050565b5f602082840312156109f4575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610a3b57610a3b6109fb565b92915050565b80820180821115610a3b57610a3b6109fb565b5f60208284031215610a64575f5ffd5b8151610a6f816107d1565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610ab3575f5ffd5b8135610a6f816107d156fea164736f6c634300081e000a", - "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633bbb2e1d146100385780638581192b1461004d575b5f5ffd5b61004b610046366004610805565b610077565b005b61006061005b366004610896565b6101e6565b60405161006e929190610997565b60405180910390f35b5f5a90507f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff861614610160576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528616906370a0823190602401602060405180830381865afa158015610137573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015b91906109e4565b610179565b8373ffffffffffffffffffffffffffffffffffffffff16315b81546001810183555f92835260209092209091015581156101e0575a61019f9082610a28565b6101ab9061116c610a41565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b5f8282546101da9190610a41565b90915550505b50505050565b5f60606101f58c8989896102f7565b5f8973ffffffffffffffffffffffffffffffffffffffff165f6040515f6040518083038185875af1925050503d805f811461024b576040519150601f19603f3d011682016040523d82523d5f602084013e610250565b606091505b50509050506102608b8b8e61066f565b61026b858585610739565b91506102788b8b8e61066f565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c8054806020026020016040519081016040528092919081815260200182805480156102e157602002820191905f5260205f20905b8154815260200190600101908083116102cd575b505050505090509a509a98505050505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff16639b552cc26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610341573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103659190610a54565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015280831660248301529192505f9185169063dd62ed3e90604401602060405180830381865afa1580156103dc573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040091906109e4565b905082811015610497576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f74726164657220646964206e6f7420676976652074686520726571756972656460448201527f20617070726f76616c730000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301525f91908616906370a0823190602401602060405180830381865afa158015610504573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052891906109e4565b90508381101561066657731111111111111111111111111111111111111111636a52902687876105588589610a28565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064015f604051808303815f87803b1580156105c9575f5ffd5b505af19250505080156105da575060015b610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f74726164657220646f6573206e6f74206861766520656e6f7567682073656c6c60448201527f20746f6b656e0000000000000000000000000000000000000000000000000000606482015260840161048e565b50505050505050565b5f5b828110156101e05730633bbb2e1d85858481811061069157610691610a76565b90506020020160208101906106a69190610aa3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff918216600482015290851660248201525f60448201526064015f604051808303815f87803b158015610717575f5ffd5b505af1158015610729573d5f5f3e3d5ffd5b5050600190920191506106719050565b5f5f5a90505f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525084519495509384935091505060208401828a5af1610790573d5f5f3e3d5ffd5b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b545a6107bd9084610a28565b6107c79190610a28565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146107f2575f5ffd5b50565b8035610800816107d1565b919050565b5f5f5f60608486031215610817575f5ffd5b8335610822816107d1565b92506020840135610832816107d1565b915060408401358015158114610846575f5ffd5b809150509250925092565b5f5f83601f840112610861575f5ffd5b50813567ffffffffffffffff811115610878575f5ffd5b60208301915083602082850101111561088f575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f5f6101008b8d0312156108b0575f5ffd5b8a356108bb816107d1565b995060208b013567ffffffffffffffff8111156108d6575f5ffd5b8b01601f81018d136108e6575f5ffd5b803567ffffffffffffffff8111156108fc575f5ffd5b8d60208260051b8401011115610910575f5ffd5b6020919091019950975061092660408c016107f5565b965061093460608c016107f5565b955061094260808c016107f5565b945060a08b0135935061095760c08c016107f5565b925060e08b013567ffffffffffffffff811115610972575f5ffd5b61097e8d828e01610851565b915080935050809150509295989b9194979a5092959850565b5f60408201848352604060208401528084518083526060850191506020860192505f5b818110156109d85783518352602093840193909201916001016109ba565b50909695505050505050565b5f602082840312156109f4575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610a3b57610a3b6109fb565b92915050565b80820180821115610a3b57610a3b6109fb565b5f60208284031215610a64575f5ffd5b8151610a6f816107d1565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610ab3575f5ffd5b8135610a6f816107d156fea164736f6c634300081e000a", + "bytecode": "0x6080604052348015600e575f5ffd5b50610b4b8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633bbb2e1d146100385780638581192b1461004d575b5f5ffd5b61004b610046366004610885565b610077565b005b61006061005b366004610916565b6101e6565b60405161006e929190610a17565b60405180910390f35b5f5a90507f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff861614610160576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528616906370a0823190602401602060405180830381865afa158015610137573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015b9190610a64565b610179565b8373ffffffffffffffffffffffffffffffffffffffff16315b81546001810183555f92835260209092209091015581156101e0575a61019f9082610aa8565b6101ab9061116c610ac1565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b5f8282546101da9190610ac1565b90915550505b50505050565b5f60606101f58c8989896102f7565b5f8973ffffffffffffffffffffffffffffffffffffffff165f6040515f6040518083038185875af1925050503d805f811461024b576040519150601f19603f3d011682016040523d82523d5f602084013e610250565b606091505b50509050506102608b8b8e61066f565b61026b858585610739565b91506102788b8b8e61066f565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c8054806020026020016040519081016040528092919081815260200182805480156102e157602002820191905f5260205f20905b8154815260200190600101908083116102cd575b505050505090509a509a98505050505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff16639b552cc26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610341573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103659190610ad4565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015280831660248301529192505f9185169063dd62ed3e90604401602060405180830381865afa1580156103dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104009190610a64565b905082811015610497576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f74726164657220646964206e6f7420676976652074686520726571756972656460448201527f20617070726f76616c730000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301525f91908616906370a0823190602401602060405180830381865afa158015610504573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105289190610a64565b90508381101561066657731111111111111111111111111111111111111111636a52902687876105588589610aa8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064015f604051808303815f87803b1580156105c9575f5ffd5b505af19250505080156105da575060015b610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f74726164657220646f6573206e6f74206861766520656e6f7567682073656c6c60448201527f20746f6b656e0000000000000000000000000000000000000000000000000000606482015260840161048e565b50505050505050565b5f5b828110156101e05730633bbb2e1d85858481811061069157610691610af6565b90506020020160208101906106a69190610b23565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff918216600482015290851660248201525f60448201526064015f604051808303815f87803b158015610717575f5ffd5b505af1158015610729573d5f5f3e3d5ffd5b5050600190920191506106719050565b5f5f8473ffffffffffffffffffffffffffffffffffffffff163b116107ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f736574746c652074617267657420686173206e6f20636f646500000000000000604482015260640161048e565b5f5a90505f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525084519495509384935091505060208401828a5af1610810573d5f5f3e3d5ffd5b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b545a61083d9084610aa8565b6108479190610aa8565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610872575f5ffd5b50565b803561088081610851565b919050565b5f5f5f60608486031215610897575f5ffd5b83356108a281610851565b925060208401356108b281610851565b9150604084013580151581146108c6575f5ffd5b809150509250925092565b5f5f83601f8401126108e1575f5ffd5b50813567ffffffffffffffff8111156108f8575f5ffd5b60208301915083602082850101111561090f575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f5f6101008b8d031215610930575f5ffd5b8a3561093b81610851565b995060208b013567ffffffffffffffff811115610956575f5ffd5b8b01601f81018d13610966575f5ffd5b803567ffffffffffffffff81111561097c575f5ffd5b8d60208260051b8401011115610990575f5ffd5b602091909101995097506109a660408c01610875565b96506109b460608c01610875565b95506109c260808c01610875565b945060a08b013593506109d760c08c01610875565b925060e08b013567ffffffffffffffff8111156109f2575f5ffd5b6109fe8d828e016108d1565b915080935050809150509295989b9194979a5092959850565b5f60408201848352604060208401528084518083526060850191506020860192505f5b81811015610a58578351835260209384019390920191600101610a3a565b50909695505050505050565b5f60208284031215610a74575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610abb57610abb610a7b565b92915050565b80820180821115610abb57610abb610a7b565b5f60208284031215610ae4575f5ffd5b8151610aef81610851565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610b33575f5ffd5b8135610aef8161085156fea164736f6c634300081e000a", + "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633bbb2e1d146100385780638581192b1461004d575b5f5ffd5b61004b610046366004610885565b610077565b005b61006061005b366004610916565b6101e6565b60405161006e929190610a17565b60405180910390f35b5f5a90507f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff861614610160576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528616906370a0823190602401602060405180830381865afa158015610137573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015b9190610a64565b610179565b8373ffffffffffffffffffffffffffffffffffffffff16315b81546001810183555f92835260209092209091015581156101e0575a61019f9082610aa8565b6101ab9061116c610ac1565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b5f8282546101da9190610ac1565b90915550505b50505050565b5f60606101f58c8989896102f7565b5f8973ffffffffffffffffffffffffffffffffffffffff165f6040515f6040518083038185875af1925050503d805f811461024b576040519150601f19603f3d011682016040523d82523d5f602084013e610250565b606091505b50509050506102608b8b8e61066f565b61026b858585610739565b91506102788b8b8e61066f565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c8054806020026020016040519081016040528092919081815260200182805480156102e157602002820191905f5260205f20905b8154815260200190600101908083116102cd575b505050505090509a509a98505050505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff16639b552cc26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610341573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103659190610ad4565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015280831660248301529192505f9185169063dd62ed3e90604401602060405180830381865afa1580156103dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104009190610a64565b905082811015610497576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f74726164657220646964206e6f7420676976652074686520726571756972656460448201527f20617070726f76616c730000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301525f91908616906370a0823190602401602060405180830381865afa158015610504573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105289190610a64565b90508381101561066657731111111111111111111111111111111111111111636a52902687876105588589610aa8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064015f604051808303815f87803b1580156105c9575f5ffd5b505af19250505080156105da575060015b610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f74726164657220646f6573206e6f74206861766520656e6f7567682073656c6c60448201527f20746f6b656e0000000000000000000000000000000000000000000000000000606482015260840161048e565b50505050505050565b5f5b828110156101e05730633bbb2e1d85858481811061069157610691610af6565b90506020020160208101906106a69190610b23565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff918216600482015290851660248201525f60448201526064015f604051808303815f87803b158015610717575f5ffd5b505af1158015610729573d5f5f3e3d5ffd5b5050600190920191506106719050565b5f5f8473ffffffffffffffffffffffffffffffffffffffff163b116107ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f736574746c652074617267657420686173206e6f20636f646500000000000000604482015260640161048e565b5f5a90505f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525084519495509384935091505060208401828a5af1610810573d5f5f3e3d5ffd5b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b545a61083d9084610aa8565b6108479190610aa8565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610872575f5ffd5b50565b803561088081610851565b919050565b5f5f5f60608486031215610897575f5ffd5b83356108a281610851565b925060208401356108b281610851565b9150604084013580151581146108c6575f5ffd5b809150509250925092565b5f5f83601f8401126108e1575f5ffd5b50813567ffffffffffffffff8111156108f8575f5ffd5b60208301915083602082850101111561090f575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f5f6101008b8d031215610930575f5ffd5b8a3561093b81610851565b995060208b013567ffffffffffffffff811115610956575f5ffd5b8b01601f81018d13610966575f5ffd5b803567ffffffffffffffff81111561097c575f5ffd5b8d60208260051b8401011115610990575f5ffd5b602091909101995097506109a660408c01610875565b96506109b460608c01610875565b95506109c260808c01610875565b945060a08b013593506109d760c08c01610875565b925060e08b013567ffffffffffffffff8111156109f2575f5ffd5b6109fe8d828e016108d1565b915080935050809150509295989b9194979a5092959850565b5f60408201848352604060208401528084518083526060850191506020860192505f5b81811015610a58578351835260209384019390920191600101610a3a565b50909695505050505050565b5f60208284031215610a74575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610abb57610abb610a7b565b92915050565b80820180821115610abb57610abb610a7b565b5f60208284031215610ae4575f5ffd5b8151610aef81610851565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610b33575f5ffd5b8135610aef8161085156fea164736f6c634300081e000a", "devdoc": { "methods": {} }, diff --git a/contracts/generated/contracts-generated/solver/src/lib.rs b/contracts/generated/contracts-generated/solver/src/lib.rs index 5985799cf8..66655d45ec 100644 --- a/contracts/generated/contracts-generated/solver/src/lib.rs +++ b/contracts/generated/contracts-generated/solver/src/lib.rs @@ -115,22 +115,22 @@ pub mod Solver { /// The creation / init bytecode of the contract. /// /// ```text - ///0x6080604052348015600e575f5ffd5b50610acb8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633bbb2e1d146100385780638581192b1461004d575b5f5ffd5b61004b610046366004610805565b610077565b005b61006061005b366004610896565b6101e6565b60405161006e929190610997565b60405180910390f35b5f5a90507f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff861614610160576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528616906370a0823190602401602060405180830381865afa158015610137573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015b91906109e4565b610179565b8373ffffffffffffffffffffffffffffffffffffffff16315b81546001810183555f92835260209092209091015581156101e0575a61019f9082610a28565b6101ab9061116c610a41565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b5f8282546101da9190610a41565b90915550505b50505050565b5f60606101f58c8989896102f7565b5f8973ffffffffffffffffffffffffffffffffffffffff165f6040515f6040518083038185875af1925050503d805f811461024b576040519150601f19603f3d011682016040523d82523d5f602084013e610250565b606091505b50509050506102608b8b8e61066f565b61026b858585610739565b91506102788b8b8e61066f565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c8054806020026020016040519081016040528092919081815260200182805480156102e157602002820191905f5260205f20905b8154815260200190600101908083116102cd575b505050505090509a509a98505050505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff16639b552cc26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610341573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103659190610a54565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015280831660248301529192505f9185169063dd62ed3e90604401602060405180830381865afa1580156103dc573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040091906109e4565b905082811015610497576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f74726164657220646964206e6f7420676976652074686520726571756972656460448201527f20617070726f76616c730000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301525f91908616906370a0823190602401602060405180830381865afa158015610504573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052891906109e4565b90508381101561066657731111111111111111111111111111111111111111636a52902687876105588589610a28565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064015f604051808303815f87803b1580156105c9575f5ffd5b505af19250505080156105da575060015b610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f74726164657220646f6573206e6f74206861766520656e6f7567682073656c6c60448201527f20746f6b656e0000000000000000000000000000000000000000000000000000606482015260840161048e565b50505050505050565b5f5b828110156101e05730633bbb2e1d85858481811061069157610691610a76565b90506020020160208101906106a69190610aa3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff918216600482015290851660248201525f60448201526064015f604051808303815f87803b158015610717575f5ffd5b505af1158015610729573d5f5f3e3d5ffd5b5050600190920191506106719050565b5f5f5a90505f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525084519495509384935091505060208401828a5af1610790573d5f5f3e3d5ffd5b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b545a6107bd9084610a28565b6107c79190610a28565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146107f2575f5ffd5b50565b8035610800816107d1565b919050565b5f5f5f60608486031215610817575f5ffd5b8335610822816107d1565b92506020840135610832816107d1565b915060408401358015158114610846575f5ffd5b809150509250925092565b5f5f83601f840112610861575f5ffd5b50813567ffffffffffffffff811115610878575f5ffd5b60208301915083602082850101111561088f575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f5f6101008b8d0312156108b0575f5ffd5b8a356108bb816107d1565b995060208b013567ffffffffffffffff8111156108d6575f5ffd5b8b01601f81018d136108e6575f5ffd5b803567ffffffffffffffff8111156108fc575f5ffd5b8d60208260051b8401011115610910575f5ffd5b6020919091019950975061092660408c016107f5565b965061093460608c016107f5565b955061094260808c016107f5565b945060a08b0135935061095760c08c016107f5565b925060e08b013567ffffffffffffffff811115610972575f5ffd5b61097e8d828e01610851565b915080935050809150509295989b9194979a5092959850565b5f60408201848352604060208401528084518083526060850191506020860192505f5b818110156109d85783518352602093840193909201916001016109ba565b50909695505050505050565b5f602082840312156109f4575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610a3b57610a3b6109fb565b92915050565b80820180821115610a3b57610a3b6109fb565b5f60208284031215610a64575f5ffd5b8151610a6f816107d1565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610ab3575f5ffd5b8135610a6f816107d156fea164736f6c634300081e000a + ///0x6080604052348015600e575f5ffd5b50610b4b8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633bbb2e1d146100385780638581192b1461004d575b5f5ffd5b61004b610046366004610885565b610077565b005b61006061005b366004610916565b6101e6565b60405161006e929190610a17565b60405180910390f35b5f5a90507f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff861614610160576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528616906370a0823190602401602060405180830381865afa158015610137573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015b9190610a64565b610179565b8373ffffffffffffffffffffffffffffffffffffffff16315b81546001810183555f92835260209092209091015581156101e0575a61019f9082610aa8565b6101ab9061116c610ac1565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b5f8282546101da9190610ac1565b90915550505b50505050565b5f60606101f58c8989896102f7565b5f8973ffffffffffffffffffffffffffffffffffffffff165f6040515f6040518083038185875af1925050503d805f811461024b576040519150601f19603f3d011682016040523d82523d5f602084013e610250565b606091505b50509050506102608b8b8e61066f565b61026b858585610739565b91506102788b8b8e61066f565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c8054806020026020016040519081016040528092919081815260200182805480156102e157602002820191905f5260205f20905b8154815260200190600101908083116102cd575b505050505090509a509a98505050505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff16639b552cc26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610341573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103659190610ad4565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015280831660248301529192505f9185169063dd62ed3e90604401602060405180830381865afa1580156103dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104009190610a64565b905082811015610497576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f74726164657220646964206e6f7420676976652074686520726571756972656460448201527f20617070726f76616c730000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301525f91908616906370a0823190602401602060405180830381865afa158015610504573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105289190610a64565b90508381101561066657731111111111111111111111111111111111111111636a52902687876105588589610aa8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064015f604051808303815f87803b1580156105c9575f5ffd5b505af19250505080156105da575060015b610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f74726164657220646f6573206e6f74206861766520656e6f7567682073656c6c60448201527f20746f6b656e0000000000000000000000000000000000000000000000000000606482015260840161048e565b50505050505050565b5f5b828110156101e05730633bbb2e1d85858481811061069157610691610af6565b90506020020160208101906106a69190610b23565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff918216600482015290851660248201525f60448201526064015f604051808303815f87803b158015610717575f5ffd5b505af1158015610729573d5f5f3e3d5ffd5b5050600190920191506106719050565b5f5f8473ffffffffffffffffffffffffffffffffffffffff163b116107ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f736574746c652074617267657420686173206e6f20636f646500000000000000604482015260640161048e565b5f5a90505f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525084519495509384935091505060208401828a5af1610810573d5f5f3e3d5ffd5b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b545a61083d9084610aa8565b6108479190610aa8565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610872575f5ffd5b50565b803561088081610851565b919050565b5f5f5f60608486031215610897575f5ffd5b83356108a281610851565b925060208401356108b281610851565b9150604084013580151581146108c6575f5ffd5b809150509250925092565b5f5f83601f8401126108e1575f5ffd5b50813567ffffffffffffffff8111156108f8575f5ffd5b60208301915083602082850101111561090f575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f5f6101008b8d031215610930575f5ffd5b8a3561093b81610851565b995060208b013567ffffffffffffffff811115610956575f5ffd5b8b01601f81018d13610966575f5ffd5b803567ffffffffffffffff81111561097c575f5ffd5b8d60208260051b8401011115610990575f5ffd5b602091909101995097506109a660408c01610875565b96506109b460608c01610875565b95506109c260808c01610875565b945060a08b013593506109d760c08c01610875565b925060e08b013567ffffffffffffffff8111156109f2575f5ffd5b6109fe8d828e016108d1565b915080935050809150509295989b9194979a5092959850565b5f60408201848352604060208401528084518083526060850191506020860192505f5b81811015610a58578351835260209384019390920191600101610a3a565b50909695505050505050565b5f60208284031215610a74575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610abb57610abb610a7b565b92915050565b80820180821115610abb57610abb610a7b565b5f60208284031215610ae4575f5ffd5b8151610aef81610851565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610b33575f5ffd5b8135610aef8161085156fea164736f6c634300081e000a /// ``` #[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`\x0EW__\xFD[Pa\n\xCB\x80a\0\x1C_9_\xF3\xFE`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`\x046\x10a\x004W_5`\xE0\x1C\x80c;\xBB.\x1D\x14a\08W\x80c\x85\x81\x19+\x14a\0MW[__\xFD[a\0Ka\0F6`\x04a\x08\x05V[a\0wV[\0[a\0`a\0[6`\x04a\x08\x96V[a\x01\xE6V[`@Qa\0n\x92\x91\x90a\t\x97V[`@Q\x80\x91\x03\x90\xF3[_Z\x90P\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r,s\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEEs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x14a\x01`W`@Q\x7Fp\xA0\x821\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x81\x16`\x04\x83\x01R\x86\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x017W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01[\x91\x90a\t\xE4V[a\x01yV[\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x161[\x81T`\x01\x81\x01\x83U_\x92\x83R` \x90\x92 \x90\x91\x01U\x81\x15a\x01\xE0WZa\x01\x9F\x90\x82a\n(V[a\x01\xAB\x90a\x11la\nAV[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r+_\x82\x82Ta\x01\xDA\x91\x90a\nAV[\x90\x91UPP[PPPPV[_``a\x01\xF5\x8C\x89\x89\x89a\x02\xF7V[_\x89s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_`@Q_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a\x02KW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x02PV[``\x91P[PP\x90PPa\x02`\x8B\x8B\x8Ea\x06oV[a\x02k\x85\x85\x85a\x079V[\x91Pa\x02x\x8B\x8B\x8Ea\x06oV[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r,\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02\xE1W` \x02\x82\x01\x91\x90_R` _ \x90[\x81T\x81R` \x01\x90`\x01\x01\x90\x80\x83\x11a\x02\xCDW[PPPPP\x90P\x9AP\x9A\x98PPPPPPPPPV[_\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x9BU,\xC2`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03AW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03e\x91\x90a\nTV[`@Q\x7F\xDDb\xED>\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x81\x16`\x04\x83\x01R\x80\x83\x16`$\x83\x01R\x91\x92P_\x91\x85\x16\x90c\xDDb\xED>\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\xDCW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\0\x91\x90a\t\xE4V[\x90P\x82\x81\x10\x15a\x04\x97W`@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`*`$\x82\x01R\x7Ftrader did not give the required`D\x82\x01R\x7F approvals\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`\x84\x01[`@Q\x80\x91\x03\x90\xFD[`@Q\x7Fp\xA0\x821\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x81\x16`\x04\x83\x01R_\x91\x90\x86\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x05\x04W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05(\x91\x90a\t\xE4V[\x90P\x83\x81\x10\x15a\x06fWs\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11cjR\x90&\x87\x87a\x05X\x85\x89a\n(V[`@Q\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`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x92\x90\x91\x16`$\x83\x01R`D\x82\x01R`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x05\xC9W__\xFD[PZ\xF1\x92PPP\x80\x15a\x05\xDAWP`\x01[a\x06fW`@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`&`$\x82\x01R\x7Ftrader does not have enough sell`D\x82\x01R\x7F token\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`d\x82\x01R`\x84\x01a\x04\x8EV[PPPPPPPV[_[\x82\x81\x10\x15a\x01\xE0W0c;\xBB.\x1D\x85\x85\x84\x81\x81\x10a\x06\x91Wa\x06\x91a\nvV[\x90P` \x02\x01` \x81\x01\x90a\x06\xA6\x91\x90a\n\xA3V[`@Q\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`\xE0\x84\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01R\x90\x85\x16`$\x82\x01R_`D\x82\x01R`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x07\x17W__\xFD[PZ\xF1\x15\x80\x15a\x07)W=__>=_\xFD[PP`\x01\x90\x92\x01\x91Pa\x06q\x90PV[__Z\x90P_\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x82\x90RP\x84Q\x94\x95P\x93\x84\x93P\x91PP` \x84\x01\x82\x8AZ\xF1a\x07\x90W=__>=_\xFD[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r+TZa\x07\xBD\x90\x84a\n(V[a\x07\xC7\x91\x90a\n(V[\x96\x95PPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x07\xF2W__\xFD[PV[\x805a\x08\0\x81a\x07\xD1V[\x91\x90PV[___``\x84\x86\x03\x12\x15a\x08\x17W__\xFD[\x835a\x08\"\x81a\x07\xD1V[\x92P` \x84\x015a\x082\x81a\x07\xD1V[\x91P`@\x84\x015\x80\x15\x15\x81\x14a\x08FW__\xFD[\x80\x91PP\x92P\x92P\x92V[__\x83`\x1F\x84\x01\x12a\x08aW__\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08xW__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x08\x8FW__\xFD[\x92P\x92\x90PV[__________a\x01\0\x8B\x8D\x03\x12\x15a\x08\xB0W__\xFD[\x8A5a\x08\xBB\x81a\x07\xD1V[\x99P` \x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08\xD6W__\xFD[\x8B\x01`\x1F\x81\x01\x8D\x13a\x08\xE6W__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08\xFCW__\xFD[\x8D` \x82`\x05\x1B\x84\x01\x01\x11\x15a\t\x10W__\xFD[` \x91\x90\x91\x01\x99P\x97Pa\t&`@\x8C\x01a\x07\xF5V[\x96Pa\t4``\x8C\x01a\x07\xF5V[\x95Pa\tB`\x80\x8C\x01a\x07\xF5V[\x94P`\xA0\x8B\x015\x93Pa\tW`\xC0\x8C\x01a\x07\xF5V[\x92P`\xE0\x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\trW__\xFD[a\t~\x8D\x82\x8E\x01a\x08QV[\x91P\x80\x93PP\x80\x91PP\x92\x95\x98\x9B\x91\x94\x97\x9AP\x92\x95\x98PV[_`@\x82\x01\x84\x83R`@` \x84\x01R\x80\x84Q\x80\x83R``\x85\x01\x91P` \x86\x01\x92P_[\x81\x81\x10\x15a\t\xD8W\x83Q\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a\t\xBAV[P\x90\x96\x95PPPPPPV[_` \x82\x84\x03\x12\x15a\t\xF4W__\xFD[PQ\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_R`\x11`\x04R`$_\xFD[\x81\x81\x03\x81\x81\x11\x15a\n;Wa\n;a\t\xFBV[\x92\x91PPV[\x80\x82\x01\x80\x82\x11\x15a\n;Wa\n;a\t\xFBV[_` \x82\x84\x03\x12\x15a\ndW__\xFD[\x81Qa\no\x81a\x07\xD1V[\x93\x92PPPV[\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_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a\n\xB3W__\xFD[\x815a\no\x81a\x07\xD1V\xFE\xA1dsolcC\0\x08\x1E\0\n", + b"`\x80`@R4\x80\x15`\x0EW__\xFD[Pa\x0BK\x80a\0\x1C_9_\xF3\xFE`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`\x046\x10a\x004W_5`\xE0\x1C\x80c;\xBB.\x1D\x14a\08W\x80c\x85\x81\x19+\x14a\0MW[__\xFD[a\0Ka\0F6`\x04a\x08\x85V[a\0wV[\0[a\0`a\0[6`\x04a\t\x16V[a\x01\xE6V[`@Qa\0n\x92\x91\x90a\n\x17V[`@Q\x80\x91\x03\x90\xF3[_Z\x90P\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r,s\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEEs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x14a\x01`W`@Q\x7Fp\xA0\x821\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x81\x16`\x04\x83\x01R\x86\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x017W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01[\x91\x90a\ndV[a\x01yV[\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x161[\x81T`\x01\x81\x01\x83U_\x92\x83R` \x90\x92 \x90\x91\x01U\x81\x15a\x01\xE0WZa\x01\x9F\x90\x82a\n\xA8V[a\x01\xAB\x90a\x11la\n\xC1V[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r+_\x82\x82Ta\x01\xDA\x91\x90a\n\xC1V[\x90\x91UPP[PPPPV[_``a\x01\xF5\x8C\x89\x89\x89a\x02\xF7V[_\x89s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_`@Q_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a\x02KW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x02PV[``\x91P[PP\x90PPa\x02`\x8B\x8B\x8Ea\x06oV[a\x02k\x85\x85\x85a\x079V[\x91Pa\x02x\x8B\x8B\x8Ea\x06oV[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r,\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02\xE1W` \x02\x82\x01\x91\x90_R` _ \x90[\x81T\x81R` \x01\x90`\x01\x01\x90\x80\x83\x11a\x02\xCDW[PPPPP\x90P\x9AP\x9A\x98PPPPPPPPPV[_\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x9BU,\xC2`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03AW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03e\x91\x90a\n\xD4V[`@Q\x7F\xDDb\xED>\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x81\x16`\x04\x83\x01R\x80\x83\x16`$\x83\x01R\x91\x92P_\x91\x85\x16\x90c\xDDb\xED>\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\xDCW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\0\x91\x90a\ndV[\x90P\x82\x81\x10\x15a\x04\x97W`@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`*`$\x82\x01R\x7Ftrader did not give the required`D\x82\x01R\x7F approvals\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`\x84\x01[`@Q\x80\x91\x03\x90\xFD[`@Q\x7Fp\xA0\x821\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x81\x16`\x04\x83\x01R_\x91\x90\x86\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x05\x04W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05(\x91\x90a\ndV[\x90P\x83\x81\x10\x15a\x06fWs\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11cjR\x90&\x87\x87a\x05X\x85\x89a\n\xA8V[`@Q\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`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x92\x90\x91\x16`$\x83\x01R`D\x82\x01R`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x05\xC9W__\xFD[PZ\xF1\x92PPP\x80\x15a\x05\xDAWP`\x01[a\x06fW`@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`&`$\x82\x01R\x7Ftrader does not have enough sell`D\x82\x01R\x7F token\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`d\x82\x01R`\x84\x01a\x04\x8EV[PPPPPPPV[_[\x82\x81\x10\x15a\x01\xE0W0c;\xBB.\x1D\x85\x85\x84\x81\x81\x10a\x06\x91Wa\x06\x91a\n\xF6V[\x90P` \x02\x01` \x81\x01\x90a\x06\xA6\x91\x90a\x0B#V[`@Q\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`\xE0\x84\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01R\x90\x85\x16`$\x82\x01R_`D\x82\x01R`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x07\x17W__\xFD[PZ\xF1\x15\x80\x15a\x07)W=__>=_\xFD[PP`\x01\x90\x92\x01\x91Pa\x06q\x90PV[__\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16;\x11a\x07\xBAW`@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`\x19`$\x82\x01R\x7Fsettle target has no code\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\x8EV[_Z\x90P_\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x82\x90RP\x84Q\x94\x95P\x93\x84\x93P\x91PP` \x84\x01\x82\x8AZ\xF1a\x08\x10W=__>=_\xFD[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r+TZa\x08=\x90\x84a\n\xA8V[a\x08G\x91\x90a\n\xA8V[\x96\x95PPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08rW__\xFD[PV[\x805a\x08\x80\x81a\x08QV[\x91\x90PV[___``\x84\x86\x03\x12\x15a\x08\x97W__\xFD[\x835a\x08\xA2\x81a\x08QV[\x92P` \x84\x015a\x08\xB2\x81a\x08QV[\x91P`@\x84\x015\x80\x15\x15\x81\x14a\x08\xC6W__\xFD[\x80\x91PP\x92P\x92P\x92V[__\x83`\x1F\x84\x01\x12a\x08\xE1W__\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08\xF8W__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t\x0FW__\xFD[\x92P\x92\x90PV[__________a\x01\0\x8B\x8D\x03\x12\x15a\t0W__\xFD[\x8A5a\t;\x81a\x08QV[\x99P` \x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tVW__\xFD[\x8B\x01`\x1F\x81\x01\x8D\x13a\tfW__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t|W__\xFD[\x8D` \x82`\x05\x1B\x84\x01\x01\x11\x15a\t\x90W__\xFD[` \x91\x90\x91\x01\x99P\x97Pa\t\xA6`@\x8C\x01a\x08uV[\x96Pa\t\xB4``\x8C\x01a\x08uV[\x95Pa\t\xC2`\x80\x8C\x01a\x08uV[\x94P`\xA0\x8B\x015\x93Pa\t\xD7`\xC0\x8C\x01a\x08uV[\x92P`\xE0\x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\xF2W__\xFD[a\t\xFE\x8D\x82\x8E\x01a\x08\xD1V[\x91P\x80\x93PP\x80\x91PP\x92\x95\x98\x9B\x91\x94\x97\x9AP\x92\x95\x98PV[_`@\x82\x01\x84\x83R`@` \x84\x01R\x80\x84Q\x80\x83R``\x85\x01\x91P` \x86\x01\x92P_[\x81\x81\x10\x15a\nXW\x83Q\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a\n:V[P\x90\x96\x95PPPPPPV[_` \x82\x84\x03\x12\x15a\ntW__\xFD[PQ\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_R`\x11`\x04R`$_\xFD[\x81\x81\x03\x81\x81\x11\x15a\n\xBBWa\n\xBBa\n{V[\x92\x91PPV[\x80\x82\x01\x80\x82\x11\x15a\n\xBBWa\n\xBBa\n{V[_` \x82\x84\x03\x12\x15a\n\xE4W__\xFD[\x81Qa\n\xEF\x81a\x08QV[\x93\x92PPPV[\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_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a\x0B3W__\xFD[\x815a\n\xEF\x81a\x08QV\xFE\xA1dsolcC\0\x08\x1E\0\n", ); /// The runtime bytecode of the contract, as deployed on the network. /// /// ```text - ///0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633bbb2e1d146100385780638581192b1461004d575b5f5ffd5b61004b610046366004610805565b610077565b005b61006061005b366004610896565b6101e6565b60405161006e929190610997565b60405180910390f35b5f5a90507f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff861614610160576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528616906370a0823190602401602060405180830381865afa158015610137573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015b91906109e4565b610179565b8373ffffffffffffffffffffffffffffffffffffffff16315b81546001810183555f92835260209092209091015581156101e0575a61019f9082610a28565b6101ab9061116c610a41565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b5f8282546101da9190610a41565b90915550505b50505050565b5f60606101f58c8989896102f7565b5f8973ffffffffffffffffffffffffffffffffffffffff165f6040515f6040518083038185875af1925050503d805f811461024b576040519150601f19603f3d011682016040523d82523d5f602084013e610250565b606091505b50509050506102608b8b8e61066f565b61026b858585610739565b91506102788b8b8e61066f565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c8054806020026020016040519081016040528092919081815260200182805480156102e157602002820191905f5260205f20905b8154815260200190600101908083116102cd575b505050505090509a509a98505050505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff16639b552cc26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610341573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103659190610a54565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015280831660248301529192505f9185169063dd62ed3e90604401602060405180830381865afa1580156103dc573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040091906109e4565b905082811015610497576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f74726164657220646964206e6f7420676976652074686520726571756972656460448201527f20617070726f76616c730000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301525f91908616906370a0823190602401602060405180830381865afa158015610504573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061052891906109e4565b90508381101561066657731111111111111111111111111111111111111111636a52902687876105588589610a28565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064015f604051808303815f87803b1580156105c9575f5ffd5b505af19250505080156105da575060015b610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f74726164657220646f6573206e6f74206861766520656e6f7567682073656c6c60448201527f20746f6b656e0000000000000000000000000000000000000000000000000000606482015260840161048e565b50505050505050565b5f5b828110156101e05730633bbb2e1d85858481811061069157610691610a76565b90506020020160208101906106a69190610aa3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff918216600482015290851660248201525f60448201526064015f604051808303815f87803b158015610717575f5ffd5b505af1158015610729573d5f5f3e3d5ffd5b5050600190920191506106719050565b5f5f5a90505f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525084519495509384935091505060208401828a5af1610790573d5f5f3e3d5ffd5b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b545a6107bd9084610a28565b6107c79190610a28565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146107f2575f5ffd5b50565b8035610800816107d1565b919050565b5f5f5f60608486031215610817575f5ffd5b8335610822816107d1565b92506020840135610832816107d1565b915060408401358015158114610846575f5ffd5b809150509250925092565b5f5f83601f840112610861575f5ffd5b50813567ffffffffffffffff811115610878575f5ffd5b60208301915083602082850101111561088f575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f5f6101008b8d0312156108b0575f5ffd5b8a356108bb816107d1565b995060208b013567ffffffffffffffff8111156108d6575f5ffd5b8b01601f81018d136108e6575f5ffd5b803567ffffffffffffffff8111156108fc575f5ffd5b8d60208260051b8401011115610910575f5ffd5b6020919091019950975061092660408c016107f5565b965061093460608c016107f5565b955061094260808c016107f5565b945060a08b0135935061095760c08c016107f5565b925060e08b013567ffffffffffffffff811115610972575f5ffd5b61097e8d828e01610851565b915080935050809150509295989b9194979a5092959850565b5f60408201848352604060208401528084518083526060850191506020860192505f5b818110156109d85783518352602093840193909201916001016109ba565b50909695505050505050565b5f602082840312156109f4575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610a3b57610a3b6109fb565b92915050565b80820180821115610a3b57610a3b6109fb565b5f60208284031215610a64575f5ffd5b8151610a6f816107d1565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610ab3575f5ffd5b8135610a6f816107d156fea164736f6c634300081e000a + ///0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633bbb2e1d146100385780638581192b1461004d575b5f5ffd5b61004b610046366004610885565b610077565b005b61006061005b366004610916565b6101e6565b60405161006e929190610a17565b60405180910390f35b5f5a90507f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff861614610160576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528616906370a0823190602401602060405180830381865afa158015610137573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015b9190610a64565b610179565b8373ffffffffffffffffffffffffffffffffffffffff16315b81546001810183555f92835260209092209091015581156101e0575a61019f9082610aa8565b6101ab9061116c610ac1565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b5f8282546101da9190610ac1565b90915550505b50505050565b5f60606101f58c8989896102f7565b5f8973ffffffffffffffffffffffffffffffffffffffff165f6040515f6040518083038185875af1925050503d805f811461024b576040519150601f19603f3d011682016040523d82523d5f602084013e610250565b606091505b50509050506102608b8b8e61066f565b61026b858585610739565b91506102788b8b8e61066f565b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722c8054806020026020016040519081016040528092919081815260200182805480156102e157602002820191905f5260205f20905b8154815260200190600101908083116102cd575b505050505090509a509a98505050505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff16639b552cc26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610341573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103659190610ad4565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015280831660248301529192505f9185169063dd62ed3e90604401602060405180830381865afa1580156103dc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104009190610a64565b905082811015610497576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f74726164657220646964206e6f7420676976652074686520726571756972656460448201527f20617070726f76616c730000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301525f91908616906370a0823190602401602060405180830381865afa158015610504573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105289190610a64565b90508381101561066657731111111111111111111111111111111111111111636a52902687876105588589610aa8565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064015f604051808303815f87803b1580156105c9575f5ffd5b505af19250505080156105da575060015b610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f74726164657220646f6573206e6f74206861766520656e6f7567682073656c6c60448201527f20746f6b656e0000000000000000000000000000000000000000000000000000606482015260840161048e565b50505050505050565b5f5b828110156101e05730633bbb2e1d85858481811061069157610691610af6565b90506020020160208101906106a69190610b23565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff918216600482015290851660248201525f60448201526064015f604051808303815f87803b158015610717575f5ffd5b505af1158015610729573d5f5f3e3d5ffd5b5050600190920191506106719050565b5f5f8473ffffffffffffffffffffffffffffffffffffffff163b116107ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f736574746c652074617267657420686173206e6f20636f646500000000000000604482015260640161048e565b5f5a90505f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525084519495509384935091505060208401828a5af1610810573d5f5f3e3d5ffd5b7f14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff18c9a173a722b545a61083d9084610aa8565b6108479190610aa8565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610872575f5ffd5b50565b803561088081610851565b919050565b5f5f5f60608486031215610897575f5ffd5b83356108a281610851565b925060208401356108b281610851565b9150604084013580151581146108c6575f5ffd5b809150509250925092565b5f5f83601f8401126108e1575f5ffd5b50813567ffffffffffffffff8111156108f8575f5ffd5b60208301915083602082850101111561090f575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f5f6101008b8d031215610930575f5ffd5b8a3561093b81610851565b995060208b013567ffffffffffffffff811115610956575f5ffd5b8b01601f81018d13610966575f5ffd5b803567ffffffffffffffff81111561097c575f5ffd5b8d60208260051b8401011115610990575f5ffd5b602091909101995097506109a660408c01610875565b96506109b460608c01610875565b95506109c260808c01610875565b945060a08b013593506109d760c08c01610875565b925060e08b013567ffffffffffffffff8111156109f2575f5ffd5b6109fe8d828e016108d1565b915080935050809150509295989b9194979a5092959850565b5f60408201848352604060208401528084518083526060850191506020860192505f5b81811015610a58578351835260209384019390920191600101610a3a565b50909695505050505050565b5f60208284031215610a74575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115610abb57610abb610a7b565b92915050565b80820180821115610abb57610abb610a7b565b5f60208284031215610ae4575f5ffd5b8151610aef81610851565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215610b33575f5ffd5b8135610aef8161085156fea164736f6c634300081e000a /// ``` #[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\x0FW__\xFD[P`\x046\x10a\x004W_5`\xE0\x1C\x80c;\xBB.\x1D\x14a\08W\x80c\x85\x81\x19+\x14a\0MW[__\xFD[a\0Ka\0F6`\x04a\x08\x05V[a\0wV[\0[a\0`a\0[6`\x04a\x08\x96V[a\x01\xE6V[`@Qa\0n\x92\x91\x90a\t\x97V[`@Q\x80\x91\x03\x90\xF3[_Z\x90P\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r,s\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEEs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x14a\x01`W`@Q\x7Fp\xA0\x821\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x81\x16`\x04\x83\x01R\x86\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x017W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01[\x91\x90a\t\xE4V[a\x01yV[\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x161[\x81T`\x01\x81\x01\x83U_\x92\x83R` \x90\x92 \x90\x91\x01U\x81\x15a\x01\xE0WZa\x01\x9F\x90\x82a\n(V[a\x01\xAB\x90a\x11la\nAV[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r+_\x82\x82Ta\x01\xDA\x91\x90a\nAV[\x90\x91UPP[PPPPV[_``a\x01\xF5\x8C\x89\x89\x89a\x02\xF7V[_\x89s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_`@Q_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a\x02KW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x02PV[``\x91P[PP\x90PPa\x02`\x8B\x8B\x8Ea\x06oV[a\x02k\x85\x85\x85a\x079V[\x91Pa\x02x\x8B\x8B\x8Ea\x06oV[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r,\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02\xE1W` \x02\x82\x01\x91\x90_R` _ \x90[\x81T\x81R` \x01\x90`\x01\x01\x90\x80\x83\x11a\x02\xCDW[PPPPP\x90P\x9AP\x9A\x98PPPPPPPPPV[_\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x9BU,\xC2`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03AW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03e\x91\x90a\nTV[`@Q\x7F\xDDb\xED>\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x81\x16`\x04\x83\x01R\x80\x83\x16`$\x83\x01R\x91\x92P_\x91\x85\x16\x90c\xDDb\xED>\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\xDCW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\0\x91\x90a\t\xE4V[\x90P\x82\x81\x10\x15a\x04\x97W`@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`*`$\x82\x01R\x7Ftrader did not give the required`D\x82\x01R\x7F approvals\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`\x84\x01[`@Q\x80\x91\x03\x90\xFD[`@Q\x7Fp\xA0\x821\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x81\x16`\x04\x83\x01R_\x91\x90\x86\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x05\x04W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05(\x91\x90a\t\xE4V[\x90P\x83\x81\x10\x15a\x06fWs\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11cjR\x90&\x87\x87a\x05X\x85\x89a\n(V[`@Q\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`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x92\x90\x91\x16`$\x83\x01R`D\x82\x01R`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x05\xC9W__\xFD[PZ\xF1\x92PPP\x80\x15a\x05\xDAWP`\x01[a\x06fW`@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`&`$\x82\x01R\x7Ftrader does not have enough sell`D\x82\x01R\x7F token\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`d\x82\x01R`\x84\x01a\x04\x8EV[PPPPPPPV[_[\x82\x81\x10\x15a\x01\xE0W0c;\xBB.\x1D\x85\x85\x84\x81\x81\x10a\x06\x91Wa\x06\x91a\nvV[\x90P` \x02\x01` \x81\x01\x90a\x06\xA6\x91\x90a\n\xA3V[`@Q\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`\xE0\x84\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01R\x90\x85\x16`$\x82\x01R_`D\x82\x01R`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x07\x17W__\xFD[PZ\xF1\x15\x80\x15a\x07)W=__>=_\xFD[PP`\x01\x90\x92\x01\x91Pa\x06q\x90PV[__Z\x90P_\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x82\x90RP\x84Q\x94\x95P\x93\x84\x93P\x91PP` \x84\x01\x82\x8AZ\xF1a\x07\x90W=__>=_\xFD[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r+TZa\x07\xBD\x90\x84a\n(V[a\x07\xC7\x91\x90a\n(V[\x96\x95PPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x07\xF2W__\xFD[PV[\x805a\x08\0\x81a\x07\xD1V[\x91\x90PV[___``\x84\x86\x03\x12\x15a\x08\x17W__\xFD[\x835a\x08\"\x81a\x07\xD1V[\x92P` \x84\x015a\x082\x81a\x07\xD1V[\x91P`@\x84\x015\x80\x15\x15\x81\x14a\x08FW__\xFD[\x80\x91PP\x92P\x92P\x92V[__\x83`\x1F\x84\x01\x12a\x08aW__\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08xW__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x08\x8FW__\xFD[\x92P\x92\x90PV[__________a\x01\0\x8B\x8D\x03\x12\x15a\x08\xB0W__\xFD[\x8A5a\x08\xBB\x81a\x07\xD1V[\x99P` \x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08\xD6W__\xFD[\x8B\x01`\x1F\x81\x01\x8D\x13a\x08\xE6W__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08\xFCW__\xFD[\x8D` \x82`\x05\x1B\x84\x01\x01\x11\x15a\t\x10W__\xFD[` \x91\x90\x91\x01\x99P\x97Pa\t&`@\x8C\x01a\x07\xF5V[\x96Pa\t4``\x8C\x01a\x07\xF5V[\x95Pa\tB`\x80\x8C\x01a\x07\xF5V[\x94P`\xA0\x8B\x015\x93Pa\tW`\xC0\x8C\x01a\x07\xF5V[\x92P`\xE0\x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\trW__\xFD[a\t~\x8D\x82\x8E\x01a\x08QV[\x91P\x80\x93PP\x80\x91PP\x92\x95\x98\x9B\x91\x94\x97\x9AP\x92\x95\x98PV[_`@\x82\x01\x84\x83R`@` \x84\x01R\x80\x84Q\x80\x83R``\x85\x01\x91P` \x86\x01\x92P_[\x81\x81\x10\x15a\t\xD8W\x83Q\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a\t\xBAV[P\x90\x96\x95PPPPPPV[_` \x82\x84\x03\x12\x15a\t\xF4W__\xFD[PQ\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_R`\x11`\x04R`$_\xFD[\x81\x81\x03\x81\x81\x11\x15a\n;Wa\n;a\t\xFBV[\x92\x91PPV[\x80\x82\x01\x80\x82\x11\x15a\n;Wa\n;a\t\xFBV[_` \x82\x84\x03\x12\x15a\ndW__\xFD[\x81Qa\no\x81a\x07\xD1V[\x93\x92PPPV[\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_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a\n\xB3W__\xFD[\x815a\no\x81a\x07\xD1V\xFE\xA1dsolcC\0\x08\x1E\0\n", + b"`\x80`@R4\x80\x15a\0\x0FW__\xFD[P`\x046\x10a\x004W_5`\xE0\x1C\x80c;\xBB.\x1D\x14a\08W\x80c\x85\x81\x19+\x14a\0MW[__\xFD[a\0Ka\0F6`\x04a\x08\x85V[a\0wV[\0[a\0`a\0[6`\x04a\t\x16V[a\x01\xE6V[`@Qa\0n\x92\x91\x90a\n\x17V[`@Q\x80\x91\x03\x90\xF3[_Z\x90P\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r,s\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEE\xEEs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x16\x14a\x01`W`@Q\x7Fp\xA0\x821\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x85\x81\x16`\x04\x83\x01R\x86\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x017W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x01[\x91\x90a\ndV[a\x01yV[\x83s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x161[\x81T`\x01\x81\x01\x83U_\x92\x83R` \x90\x92 \x90\x91\x01U\x81\x15a\x01\xE0WZa\x01\x9F\x90\x82a\n\xA8V[a\x01\xAB\x90a\x11la\n\xC1V[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r+_\x82\x82Ta\x01\xDA\x91\x90a\n\xC1V[\x90\x91UPP[PPPPV[_``a\x01\xF5\x8C\x89\x89\x89a\x02\xF7V[_\x89s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16_`@Q_`@Q\x80\x83\x03\x81\x85\x87Z\xF1\x92PPP=\x80_\x81\x14a\x02KW`@Q\x91P`\x1F\x19`?=\x01\x16\x82\x01`@R=\x82R=_` \x84\x01>a\x02PV[``\x91P[PP\x90PPa\x02`\x8B\x8B\x8Ea\x06oV[a\x02k\x85\x85\x85a\x079V[\x91Pa\x02x\x8B\x8B\x8Ea\x06oV[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r,\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x02\xE1W` \x02\x82\x01\x91\x90_R` _ \x90[\x81T\x81R` \x01\x90`\x01\x01\x90\x80\x83\x11a\x02\xCDW[PPPPP\x90P\x9AP\x9A\x98PPPPPPPPPV[_\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16c\x9BU,\xC2`@Q\x81c\xFF\xFF\xFF\xFF\x16`\xE0\x1B\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03AW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03e\x91\x90a\n\xD4V[`@Q\x7F\xDDb\xED>\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x81\x16`\x04\x83\x01R\x80\x83\x16`$\x83\x01R\x91\x92P_\x91\x85\x16\x90c\xDDb\xED>\x90`D\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x03\xDCW=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04\0\x91\x90a\ndV[\x90P\x82\x81\x10\x15a\x04\x97W`@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`*`$\x82\x01R\x7Ftrader did not give the required`D\x82\x01R\x7F approvals\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`\x84\x01[`@Q\x80\x91\x03\x90\xFD[`@Q\x7Fp\xA0\x821\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\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x86\x81\x16`\x04\x83\x01R_\x91\x90\x86\x16\x90cp\xA0\x821\x90`$\x01` `@Q\x80\x83\x03\x81\x86Z\xFA\x15\x80\x15a\x05\x04W=__>=_\xFD[PPPP`@Q=`\x1F\x19`\x1F\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x05(\x91\x90a\ndV[\x90P\x83\x81\x10\x15a\x06fWs\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11cjR\x90&\x87\x87a\x05X\x85\x89a\n\xA8V[`@Q\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`\xE0\x86\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x93\x84\x16`\x04\x82\x01R\x92\x90\x91\x16`$\x83\x01R`D\x82\x01R`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x05\xC9W__\xFD[PZ\xF1\x92PPP\x80\x15a\x05\xDAWP`\x01[a\x06fW`@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`&`$\x82\x01R\x7Ftrader does not have enough sell`D\x82\x01R\x7F token\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`d\x82\x01R`\x84\x01a\x04\x8EV[PPPPPPPV[_[\x82\x81\x10\x15a\x01\xE0W0c;\xBB.\x1D\x85\x85\x84\x81\x81\x10a\x06\x91Wa\x06\x91a\n\xF6V[\x90P` \x02\x01` \x81\x01\x90a\x06\xA6\x91\x90a\x0B#V[`@Q\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`\xE0\x84\x90\x1B\x16\x81Rs\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x91\x82\x16`\x04\x82\x01R\x90\x85\x16`$\x82\x01R_`D\x82\x01R`d\x01_`@Q\x80\x83\x03\x81_\x87\x80;\x15\x80\x15a\x07\x17W__\xFD[PZ\xF1\x15\x80\x15a\x07)W=__>=_\xFD[PP`\x01\x90\x92\x01\x91Pa\x06q\x90PV[__\x84s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x16;\x11a\x07\xBAW`@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`\x19`$\x82\x01R\x7Fsettle target has no code\0\0\0\0\0\0\0`D\x82\x01R`d\x01a\x04\x8EV[_Z\x90P_\x84\x84\x80\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x93\x92\x91\x90\x81\x81R` \x01\x83\x83\x80\x82\x847_\x92\x01\x82\x90RP\x84Q\x94\x95P\x93\x84\x93P\x91PP` \x84\x01\x82\x8AZ\xF1a\x08\x10W=__>=_\xFD[\x7F\x14\xF5\xB2\xC1\x85\xFC\x03\xC7\\x}\x1F\x0E\x10\xEA\x13|\xC6\xD25\xA0\x04tH\xEF\xF1\x8C\x9A\x17:r+TZa\x08=\x90\x84a\n\xA8V[a\x08G\x91\x90a\n\xA8V[\x96\x95PPPPPPV[s\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\x08rW__\xFD[PV[\x805a\x08\x80\x81a\x08QV[\x91\x90PV[___``\x84\x86\x03\x12\x15a\x08\x97W__\xFD[\x835a\x08\xA2\x81a\x08QV[\x92P` \x84\x015a\x08\xB2\x81a\x08QV[\x91P`@\x84\x015\x80\x15\x15\x81\x14a\x08\xC6W__\xFD[\x80\x91PP\x92P\x92P\x92V[__\x83`\x1F\x84\x01\x12a\x08\xE1W__\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x08\xF8W__\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t\x0FW__\xFD[\x92P\x92\x90PV[__________a\x01\0\x8B\x8D\x03\x12\x15a\t0W__\xFD[\x8A5a\t;\x81a\x08QV[\x99P` \x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tVW__\xFD[\x8B\x01`\x1F\x81\x01\x8D\x13a\tfW__\xFD[\x805g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t|W__\xFD[\x8D` \x82`\x05\x1B\x84\x01\x01\x11\x15a\t\x90W__\xFD[` \x91\x90\x91\x01\x99P\x97Pa\t\xA6`@\x8C\x01a\x08uV[\x96Pa\t\xB4``\x8C\x01a\x08uV[\x95Pa\t\xC2`\x80\x8C\x01a\x08uV[\x94P`\xA0\x8B\x015\x93Pa\t\xD7`\xC0\x8C\x01a\x08uV[\x92P`\xE0\x8B\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\xF2W__\xFD[a\t\xFE\x8D\x82\x8E\x01a\x08\xD1V[\x91P\x80\x93PP\x80\x91PP\x92\x95\x98\x9B\x91\x94\x97\x9AP\x92\x95\x98PV[_`@\x82\x01\x84\x83R`@` \x84\x01R\x80\x84Q\x80\x83R``\x85\x01\x91P` \x86\x01\x92P_[\x81\x81\x10\x15a\nXW\x83Q\x83R` \x93\x84\x01\x93\x90\x92\x01\x91`\x01\x01a\n:V[P\x90\x96\x95PPPPPPV[_` \x82\x84\x03\x12\x15a\ntW__\xFD[PQ\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_R`\x11`\x04R`$_\xFD[\x81\x81\x03\x81\x81\x11\x15a\n\xBBWa\n\xBBa\n{V[\x92\x91PPV[\x80\x82\x01\x80\x82\x11\x15a\n\xBBWa\n\xBBa\n{V[_` \x82\x84\x03\x12\x15a\n\xE4W__\xFD[\x81Qa\n\xEF\x81a\x08QV[\x93\x92PPPV[\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_R`2`\x04R`$_\xFD[_` \x82\x84\x03\x12\x15a\x0B3W__\xFD[\x815a\n\xEF\x81a\x08QV\xFE\xA1dsolcC\0\x08\x1E\0\n", ); #[derive(Default, Debug, PartialEq, Eq, Hash)] /**Function with signature `storeBalance(address,address,bool)` and selector `0x3bbb2e1d`. diff --git a/contracts/solidity/Solver.sol b/contracts/solidity/Solver.sol index f4f367abd4..e8848be004 100644 --- a/contracts/solidity/Solver.sol +++ b/contracts/solidity/Solver.sol @@ -83,6 +83,15 @@ contract Solver layout at 0x14f5b2c185fc03c75c787d1f0e10ea137cc6d235a0047448eff1 address settleCallTarget, bytes calldata settlementCall ) internal returns (uint256 gasUsed) { + // EVM `call` to an EOA returns success with empty output, so the inner + // settle (including the `storeBalance` interactions that record trader + // balances) would silently no-op. The caller would then see a + // `queriedBalances` array with only the pre/post settlement contract + // balances and a missing pair of trader balances, breaking the layout + // documented in `SettleOutput::from_swap`. Reject the EOA case up + // front so the Rust side treats this as a normal simulation failure. + require(settleCallTarget.code.length > 0, "settle target has no code"); + uint256 gasStart = gasleft(); // In order to call a function we need to copy the arguments into memory. // In a regular transaction that would actually not happen because the arguments