From 0696702508b8906d6aafa9985a15ee3ef1e38f99 Mon Sep 17 00:00:00 2001 From: donosonaumczuk Date: Wed, 28 Feb 2024 16:11:45 -0300 Subject: [PATCH 1/2] feat: Credit providers can mint less than 5-char length and have infinite credits Co-authored-by: Victor Naumik --- contracts/misc/PermissionlessCreator.sol | 6 +- test/misc/PermissionlessCreatorTest.t.sol | 68 +++++++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/contracts/misc/PermissionlessCreator.sol b/contracts/misc/PermissionlessCreator.sol index e25de5c..63e603f 100644 --- a/contracts/misc/PermissionlessCreator.sol +++ b/contracts/misc/PermissionlessCreator.sol @@ -218,7 +218,7 @@ contract PermissionlessCreator is ImmutableOwnable { } function _validateHandleLength(string calldata handle) private view { - if (bytes(handle).length < _handleLengthMin) { + if (!_isCreditProvider[msg.sender] && bytes(handle).length < _handleLengthMin) { revert HandleLengthNotAllowed(); } } @@ -230,6 +230,10 @@ contract PermissionlessCreator is ImmutableOwnable { } function _spendCredit(address account) private { + if (_isCreditProvider[msg.sender]) { + // Credit providers do not need credits. + return; + } _credits[account] -= 1; emit CreditBalanceChanged(account, _credits[account], block.timestamp); } diff --git a/test/misc/PermissionlessCreatorTest.t.sol b/test/misc/PermissionlessCreatorTest.t.sol index e8c0d28..0dad269 100644 --- a/test/misc/PermissionlessCreatorTest.t.sol +++ b/test/misc/PermissionlessCreatorTest.t.sol @@ -1011,3 +1011,71 @@ contract PermissionlessCreatorTest_Credits is PermissionlessCreatorTestBase { assertEq(permissionlessCreator.getCreditBalance(targetAddress), balanceBefore + addBalance - subBalance); } } + +contract PermissionlessCreatorTest_CreditProviders is PermissionlessCreatorTestBase { + address creditProvider = makeAddr('CREDIT_PROVIDER'); + + function setUp() public override { + super.setUp(); + + vm.prank(permissionlessCreatorOwner); + permissionlessCreator.addCreditProvider(creditProvider); + } + + // Scenarios + + function testCreateProfile_byCreditProvider(address to) public { + vm.assume(to != address(0)); + + Types.CreateProfileParams memory createProfileParams = Types.CreateProfileParams({ + to: to, + followModule: address(0), + followModuleInitData: '' + }); + + address[] memory delegates = new address[](1); + delegates[0] = makeAddr('DE0'); + + vm.prank(creditProvider); + uint256 profileId = permissionlessCreator.createProfileUsingCredits(createProfileParams, delegates); + + assertEq(hub.ownerOf(profileId), to); + assertTrue(hub.isDelegatedExecutorApproved(profileId, delegates[0])); + } + + function testCreateHandle_byCreditProvider(address to) public { + vm.assume(to != address(0)); + + string memory handle = 'q4w'; + + vm.prank(creditProvider); + uint256 handleId = permissionlessCreator.createHandleUsingCredits(to, handle); + + assertEq(lensHandles.ownerOf(handleId), to); + } + + function testCreateProfileWithHandle_byCreditProvider(address to) public { + vm.assume(to != address(0)); + + Types.CreateProfileParams memory createProfileParams = Types.CreateProfileParams({ + to: to, + followModule: address(0), + followModuleInitData: '' + }); + + string memory handle = 'q4w'; + address[] memory delegates = new address[](1); + delegates[0] = makeAddr('DE0'); + + vm.prank(creditProvider); + (uint256 profileId, uint256 handleId) = permissionlessCreator.createProfileWithHandleUsingCredits( + createProfileParams, + handle, + delegates + ); + + assertEq(hub.ownerOf(profileId), to); + assertTrue(hub.isDelegatedExecutorApproved(profileId, delegates[0])); + assertEq(lensHandles.ownerOf(handleId), to); + } +} From c6742df591525a5e6e0bf5059ca83a1f8f7dfbed Mon Sep 17 00:00:00 2001 From: donosonaumczuk Date: Wed, 28 Feb 2024 16:31:30 -0300 Subject: [PATCH 2/2] deploy: PermissionlessCreator upgraded to allow credit providers privileged minting Co-authored-by: Victor Naumik --- addresses.json | 2 +- .../137/9352fad2-latest.json | 46 ++++++------- .../137/run-1709147827.json | 69 +++++++++++++++++++ 3 files changed, 93 insertions(+), 24 deletions(-) create mode 100644 broadcast/DeployPermissionlessCreator.s.sol/137/run-1709147827.json diff --git a/addresses.json b/addresses.json index 45dacf4..15933da 100644 --- a/addresses.json +++ b/addresses.json @@ -149,7 +149,7 @@ "ProfileTokenURI": "0xE01e1017Eb1D49Aa7034628cd2e3021536cdeBE5", "HandleTokenURI": "0x9632dC8eb31CEC8fcd166a99C1Da179716aE2E48", "FollowTokenURI": "0x07D8a9FEdef6DC7004b9ae0935eA178bFa8bBdF1", - "PermissionlessCreatorImpl": "0x9f077d03DBf4aB8c68e181baA3308F3B12C52Ae8", + "PermissionlessCreatorImpl": "0x80a4D78179Cf8C1B0a0621Ba5b33A55Fba469688", "PermissionlessCreator": "0x0b5e6100243f793e480DE6088dE6bA70aA9f3872" }, "testnet": { diff --git a/broadcast/DeployPermissionlessCreator.s.sol/137/9352fad2-latest.json b/broadcast/DeployPermissionlessCreator.s.sol/137/9352fad2-latest.json index 6f35e1b..644d2fd 100644 --- a/broadcast/DeployPermissionlessCreator.s.sol/137/9352fad2-latest.json +++ b/broadcast/DeployPermissionlessCreator.s.sol/137/9352fad2-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xb255b07d2d7f2685228f6db5050e01e947d6a2e2b541ad40b954eeb691ae61f3", + "hash": "0xa82f3f974004e83a51e2bc6e7068ccac839776805d47c5231a2036a6ea861669", "transactionType": "CREATE", "contractName": "PermissionlessCreator", - "contractAddress": "0x9f077d03DBf4aB8c68e181baA3308F3B12C52Ae8", + "contractAddress": "0x80a4D78179Cf8C1B0a0621Ba5b33A55Fba469688", "function": null, "arguments": [ "0xf94b90BbEee30996019bABD12cEcdDCcf68331DE", @@ -15,10 +15,10 @@ "transaction": { "type": "0x00", "from": "0x7209a322227e6906e73721b4e0bfa92e6c1b9447", - "gas": "0x23c4d9", + "gas": "0x240120", "value": "0x0", - "data": "0x6101006040523480156200001257600080fd5b506040516200214638038062002146833981016040819052620000359162000075565b6001600160a01b0393841660805291831660a052821660c0521660e052620000d2565b80516001600160a01b03811681146200007057600080fd5b919050565b600080600080608085870312156200008c57600080fd5b620000978562000058565b9350620000a76020860162000058565b9250620000b76040860162000058565b9150620000c76060860162000058565b905092959194509250565b60805160a05160c05160e051611fae6200019860003960008181610237015261153b01526000818161047d01528181610725015281816107d00152818161149001526115c50152600081816103d601528181610def0152818161118c0152818161123c015281816112df0152818161140a01528181611645015261176a01526000818161015e01528181610594015281816105d60152818161089501528181610a1401528181610aab01528181610c2d01528181610f8201526110bf0152611fae6000f3fe6080604052600436106101475760003560e01c8063117803e31461014c5780631d1dc0671461019d57806322018cd7146101c557806324600fc31461020e57806344b5b8e01461022557806351ea25e1146102595780635248b1cc1461028f5780635794ea7d146102a25780635a1028bf146102b55780635bc8b9fd146102ee5780635d240b611461030e5780635dd4e9631461032e5780636add1b3f1461034e5780636dc47473146103845780637a256832146103a45780637bb9c89b146103c45780639033c66a146103f8578063947cac7c14610426578063a612e5f714610446578063b135a6f01461046b578063b9d2d7ed1461049f578063bbb22f09146104b2578063c49ac90e146104d2578063c7feace6146104e7578063ca460ab214610507578063cb1977f214610527578063efc5ebcc14610547578063f41bad2f14610569575b600080fd5b34801561015857600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101a957600080fd5b506000546001600160801b03165b604051908152602001610194565b3480156101d157600080fd5b506101fe6101e03660046117bf565b6001600160a01b031660009081526004602052604090205460ff1690565b6040519015158152602001610194565b34801561021a57600080fd5b50610223610589565b005b34801561023157600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b34801561026557600080fd5b506101806102743660046117e1565b6000908152600560205260409020546001600160a01b031690565b6101b761029d36600461185d565b61064a565b6101b76102b0366004611906565b6106e7565b3480156102c157600080fd5b506101fe6102d03660046117bf565b6001600160a01b031660009081526003602052604090205460ff1690565b3480156102fa57600080fd5b506101b7610309366004611906565b6107a1565b34801561031a57600080fd5b506102236103293660046117bf565b61088a565b34801561033a57600080fd5b5061022361034936600461194b565b61092e565b34801561035a57600080fd5b506101b76103693660046117bf565b6001600160a01b031660009081526002602052604090205490565b34801561039057600080fd5b5061022361039f366004611975565b610a09565b3480156103b057600080fd5b506102236103bf366004611998565b610aa0565b3480156103d057600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b34801561040457600080fd5b506104186104133660046119c1565b610b35565b604051610194929190611a55565b34801561043257600080fd5b50610223610441366004611998565b610c22565b34801561045257600080fd5b50600054600160801b90046001600160801b03166101b7565b34801561047757600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b6104186104ad3660046119c1565b610cb8565b3480156104be57600080fd5b506102236104cd366004611a63565b610d85565b3480156104de57600080fd5b506101b7610e5f565b3480156104f357600080fd5b5061022361050236600461194b565b610e8d565b34801561051357600080fd5b506101b761052236600461185d565b610ee5565b34801561053357600080fd5b50610223610542366004611a9f565b610f77565b34801561055357600080fd5b5060015460405160ff9091168152602001610194565b34801561057557600080fd5b506102236105843660046117bf565b6110b4565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105d257604051635fc483c560e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03164760405160006040518083038185875af1925050503d806000811461063f576040519150601f19603f3d011682016040523d82523d6000602084013e610644565b606091505b50505050565b60008054610660906001600160801b0316611145565b811580159061068457503361067860208601866117bf565b6001600160a01b031614155b156106a257604051631eb49d6d60e11b815260040160405180910390fd5b6106df8484848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b949350505050565b6000805461070490600160801b90046001600160801b0316611145565b61070e8383611356565b60405163784747af60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f08e8f5e9061075e90879087908790600401611b04565b6020604051808303816000875af115801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df9190611b32565b60006107ac3361137c565b6107b68383611356565b60405163784747af60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f08e8f5e9061080990889088908890600401611b04565b6020604051808303816000875af1158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190611b32565b9050336001600160a01b031681600080516020611ef983398151915286864260405161087a93929190611b4b565b60405180910390a3949350505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108d357604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b03811660008181526003602052604090819020805460ff191660019081179091559051600080516020611f19833981519152916109239142909115158252602082015260400190565b60405180910390a250565b3360009081526003602052604090205460ff1661095e57604051633f9d5b5b60e01b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205460ff161561099857604051631eb49d6d60e11b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040812080548392906109c0908490611b85565b90915550506001600160a01b03821660008181526002602052604090819020549051600080516020611f39833981519152916109fd914290611a55565b60405180910390a25050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a5257604051635fc483c560e01b815260040160405180910390fd5b6001805460ff191660ff8316908117909155604080519182524260208301527f67a7941d6673fb4b757be99ecd9bcc496a1a6deb94514395f67dc11639b81a1391015b60405180910390a150565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ae957604051635fc483c560e01b815260040160405180910390fd5b600080546001600160801b03808416600160801b0291161790556040517fbf56dca0eba43d40a3c109ed442ec492a4829bac441fd9f22c55aa5c51c50ae990610a959083904290611b98565b600080610b413361137c565b610b4b8686611356565b600080610b8d8989898989808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506113e292505050565b6000828152600560205260409081902080546001600160a01b031916339081179091559051929450909250908390600080516020611f5983398151915290610bd89042815260200190565b60405180910390a3336001600160a01b031681600080516020611ef98339815191528a8a42604051610c0c93929190611b4b565b60405180910390a3909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c6b57604051635fc483c560e01b815260040160405180910390fd5b600080546001600160801b0319166001600160801b0383161790556040517fc770d9f67e0cab8db721f86457dffef1c4e7d6671e33147c97c46908ddead0bc90610a959083904290611b98565b600080548190610cec90610cde906001600160801b03600160801b820481169116611bb1565b6001600160801b0316611145565b610cf68686611356565b8215801590610d1a575033610d0e60208901896117bf565b6001600160a01b031614155b15610d3857604051631eb49d6d60e11b815260040160405180910390fd5b610d778787878787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506113e292505050565b915091509550959350505050565b3360009081526004602052604090205460ff1680610dba57506000818152600560205260409020546001600160a01b03163314155b15610dd857604051631eb49d6d60e11b815260040160405180910390fd5b60405163bbb22f0960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bbb22f0990610e2890869086908690600401611bd8565b600060405180830381600087803b158015610e4257600080fd5b505af1158015610e56573d6000803e3d6000fd5b50505050505050565b60008054610e7f906001600160801b03600160801b820481169116611bb1565b6001600160801b0316905090565b3360009081526003602052604090205460ff16610ebd57604051633f9d5b5b60e01b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040812080548392906109c0908490611bfc565b6000610ef03361137c565b6000610f2f8585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b6000818152600560205260409081902080546001600160a01b031916339081179091559051919250908290600080516020611f598339815191529061087a9042815260200190565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fc057604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205460ff161515811515146110b05780801561100a57506001600160a01b03821660009081526002602052604090205415155b15611050576001600160a01b03821660008181526002602052604080822082905551600080516020611f3983398151915291611047914290611a55565b60405180910390a25b6001600160a01b038216600081815260046020908152604091829020805460ff1916851515908117909155825190815242918101919091527fa7029e315e87e303e385651da3602f749da2b01a748028230123a976e3b7e83b91016109fd565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110fd57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b038116600081815260036020526040808220805460ff1916905551600080516020611f19833981519152916109239142909115158252602082015260400190565b80341015611166576040516394b5970f60e01b815260040160405180910390fd5b50565b600080825160000361120b5760405163560a4db160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063560a4db1906111c1908790600401611c0f565b6020604051808303816000875af11580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112049190611b32565b905061134d565b600061121a60208601866117bf565b9050600061122786611d05565b30815260405163560a4db160e01b81529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063560a4db190611279908490600401611dc2565b6020604051808303816000875af1158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190611b32565b92506112c883866116c2565b60405163bbb22f0960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bbb22f099061131890309086908890600401611bd8565b600060405180830381600087803b15801561133257600080fd5b505af1158015611346573d6000803e3d6000fd5b5050505050505b90505b92915050565b60015460ff168110156110b0576040516312ee3b3960e11b815260040160405180910390fd5b6001600160a01b03811660009081526002602052604081208054600192906113a5908490611bfc565b90915550506001600160a01b03811660008181526002602052604090819020549051600080516020611f3983398151915291610923914290611a55565b600080806113ef87611d05565b805130825260405163560a4db160e01b8152919250906000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063560a4db190611447908690600401611dc2565b6020604051808303816000875af1158015611466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148a9190611b32565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f08e8f5e308b8b6040518463ffffffff1660e01b81526004016114de93929190611b04565b6020604051808303816000875af11580156114fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115219190611b32565b6040516386cf48e760e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906386cf48e7906115729084908690600401611a55565b600060405180830381600087803b15801561158c57600080fd5b505af11580156115a0573d6000803e3d6000fd5b505050506115ae82886116c2565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906115fe90309087908690600401611bd8565b600060405180830381600087803b15801561161857600080fd5b505af115801561162c573d6000803e3d6000fd5b505060405163bbb22f0960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016925063bbb22f09915061168090309087908790600401611bd8565b600060405180830381600087803b15801561169a57600080fd5b505af11580156116ae573d6000803e3d6000fd5b50939c929b50919950505050505050505050565b8051156110b057600081516001600160401b038111156116e4576116e4611c97565b60405190808252806020026020018201604052801561170d578160200160208202803683370190505b50905060005b825181101561175257600182828151811061173057611730611e38565b911515602092830291909101909101528061174a81611e4e565b915050611713565b506040516360fa5a0560e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c1f4b40a90610e2890869086908690600401611e67565b80356001600160a01b03811681146117ba57600080fd5b919050565b6000602082840312156117d157600080fd5b6117da826117a3565b9392505050565b6000602082840312156117f357600080fd5b5035919050565b60006060828403121561180c57600080fd5b50919050565b60008083601f84011261182457600080fd5b5081356001600160401b0381111561183b57600080fd5b6020830191508360208260051b850101111561185657600080fd5b9250929050565b60008060006040848603121561187257600080fd5b83356001600160401b038082111561188957600080fd5b611895878388016117fa565b945060208601359150808211156118ab57600080fd5b506118b886828701611812565b9497909650939450505050565b60008083601f8401126118d757600080fd5b5081356001600160401b038111156118ee57600080fd5b60208301915083602082850101111561185657600080fd5b60008060006040848603121561191b57600080fd5b611924846117a3565b925060208401356001600160401b0381111561193f57600080fd5b6118b8868287016118c5565b6000806040838503121561195e57600080fd5b611967836117a3565b946020939093013593505050565b60006020828403121561198757600080fd5b813560ff8116811461134d57600080fd5b6000602082840312156119aa57600080fd5b81356001600160801b038116811461134d57600080fd5b6000806000806000606086880312156119d957600080fd5b85356001600160401b03808211156119f057600080fd5b6119fc89838a016117fa565b96506020880135915080821115611a1257600080fd5b611a1e89838a016118c5565b90965094506040880135915080821115611a3757600080fd5b50611a4488828901611812565b969995985093965092949392505050565b918252602082015260400190565b600080600060608486031215611a7857600080fd5b611a81846117a3565b9250611a8f602085016117a3565b9150604084013590509250925092565b60008060408385031215611ab257600080fd5b611abb836117a3565b915060208301358015158114611ad057600080fd5b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0384168152604060208201819052600090611b299083018486611adb565b95945050505050565b600060208284031215611b4457600080fd5b5051919050565b604081526000611b5f604083018587611adb565b9050826020830152949350505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561135057611350611b6f565b6001600160801b03929092168252602082015260400190565b6001600160801b03818116838216019080821115611bd157611bd1611b6f565b5092915050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8181038181111561135057611350611b6f565b6020815260006001600160a01b0380611c27856117a3565b16602084015280611c3a602086016117a3565b166040840152506040830135601e19843603018112611c5857600080fd5b83016020810190356001600160401b03811115611c7457600080fd5b803603821315611c8357600080fd5b606080850152611b29608085018284611adb565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611ccf57611ccf611c97565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611cfd57611cfd611c97565b604052919050565b600060608236031215611d1757600080fd5b611d1f611cad565b611d28836117a3565b81526020611d378185016117a3565b8282015260408401356001600160401b0380821115611d5557600080fd5b9085019036601f830112611d6857600080fd5b813581811115611d7a57611d7a611c97565b611d8c601f8201601f19168501611cd5565b91508082523684828501011115611da257600080fd5b808484018584013760009082019093019290925250604082015292915050565b6000602080835260018060a01b0380855116828501528082860151166040850152506040840151606080850152805180608086015260005b81811015611e165782810184015186820160a001528301611dfa565b50600060a0828701015260a0601f19601f830116860101935050505092915050565b634e487b7160e01b600052603260045260246000fd5b600060018201611e6057611e60611b6f565b5060010190565b6000606082018583526020606081850152818651808452608086019150828801935060005b81811015611eb15784516001600160a01b031683529383019391830191600101611e8c565b50508481036040860152855180825290820192508186019060005b81811015611eea578251151585529383019391830191600101611ecc565b50929897505050505050505056fe1b0440ce65fc16884de19dae7c900252811fb32deeaa72be4410324fb14e42207efe36d691dbdf1ad57aca5eecfd1540d1d10b605acbee7984050ef5efb733cf6248ce7c4f0e41b8b1f8952e1d8f10ebae30dc94ae8bceb1c06d0feba4f89b6f668fcd51d7777a07744c2390cd59b09e9e11b3f64ba36728017577aa25cab341a264697066735822122050b18bd63476c8a573c16744935ea248cd2ba6de2342830408efdc8638f9292d64736f6c63430008150033000000000000000000000000f94b90bbeee30996019babd12cecddccf68331de000000000000000000000000db46d1dc155634fbc732f92e853b10b288ad5a1d000000000000000000000000e7e7ead361f3aacd73a61a9bd6c10ca17f38e945000000000000000000000000d4f2f33680fccb36748fa9831851643781608844", - "nonce": "0x35" + "data": "0x6101006040523480156200001257600080fd5b506040516200217d3803806200217d833981016040819052620000359162000075565b6001600160a01b0393841660805291831660a052821660c0521660e052620000d2565b80516001600160a01b03811681146200007057600080fd5b919050565b600080600080608085870312156200008c57600080fd5b620000978562000058565b9350620000a76020860162000058565b9250620000b76040860162000058565b9150620000c76060860162000058565b905092959194509250565b60805160a05160c05160e051611fe56200019860003960008181610237015261157201526000818161047d01528181610725015281816107d0015281816114c701526115fc0152600081816103d601528181610def0152818161118c0152818161123c015281816112df015281816114410152818161167c01526117a101526000818161015e01528181610594015281816105d60152818161089501528181610a1401528181610aab01528181610c2d01528181610f8201526110bf0152611fe56000f3fe6080604052600436106101475760003560e01c8063117803e31461014c5780631d1dc0671461019d57806322018cd7146101c557806324600fc31461020e57806344b5b8e01461022557806351ea25e1146102595780635248b1cc1461028f5780635794ea7d146102a25780635a1028bf146102b55780635bc8b9fd146102ee5780635d240b611461030e5780635dd4e9631461032e5780636add1b3f1461034e5780636dc47473146103845780637a256832146103a45780637bb9c89b146103c45780639033c66a146103f8578063947cac7c14610426578063a612e5f714610446578063b135a6f01461046b578063b9d2d7ed1461049f578063bbb22f09146104b2578063c49ac90e146104d2578063c7feace6146104e7578063ca460ab214610507578063cb1977f214610527578063efc5ebcc14610547578063f41bad2f14610569575b600080fd5b34801561015857600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101a957600080fd5b506000546001600160801b03165b604051908152602001610194565b3480156101d157600080fd5b506101fe6101e03660046117f6565b6001600160a01b031660009081526004602052604090205460ff1690565b6040519015158152602001610194565b34801561021a57600080fd5b50610223610589565b005b34801561023157600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b34801561026557600080fd5b50610180610274366004611818565b6000908152600560205260409020546001600160a01b031690565b6101b761029d366004611894565b61064a565b6101b76102b036600461193d565b6106e7565b3480156102c157600080fd5b506101fe6102d03660046117f6565b6001600160a01b031660009081526003602052604090205460ff1690565b3480156102fa57600080fd5b506101b761030936600461193d565b6107a1565b34801561031a57600080fd5b506102236103293660046117f6565b61088a565b34801561033a57600080fd5b50610223610349366004611982565b61092e565b34801561035a57600080fd5b506101b76103693660046117f6565b6001600160a01b031660009081526002602052604090205490565b34801561039057600080fd5b5061022361039f3660046119ac565b610a09565b3480156103b057600080fd5b506102236103bf3660046119cf565b610aa0565b3480156103d057600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b34801561040457600080fd5b506104186104133660046119f8565b610b35565b604051610194929190611a8c565b34801561043257600080fd5b506102236104413660046119cf565b610c22565b34801561045257600080fd5b50600054600160801b90046001600160801b03166101b7565b34801561047757600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b6104186104ad3660046119f8565b610cb8565b3480156104be57600080fd5b506102236104cd366004611a9a565b610d85565b3480156104de57600080fd5b506101b7610e5f565b3480156104f357600080fd5b50610223610502366004611982565b610e8d565b34801561051357600080fd5b506101b7610522366004611894565b610ee5565b34801561053357600080fd5b50610223610542366004611ad6565b610f77565b34801561055357600080fd5b5060015460405160ff9091168152602001610194565b34801561057557600080fd5b506102236105843660046117f6565b6110b4565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105d257604051635fc483c560e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03164760405160006040518083038185875af1925050503d806000811461063f576040519150601f19603f3d011682016040523d82523d6000602084013e610644565b606091505b50505050565b60008054610660906001600160801b0316611145565b811580159061068457503361067860208601866117f6565b6001600160a01b031614155b156106a257604051631eb49d6d60e11b815260040160405180910390fd5b6106df8484848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b949350505050565b6000805461070490600160801b90046001600160801b0316611145565b61070e8383611356565b60405163784747af60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f08e8f5e9061075e90879087908790600401611b3b565b6020604051808303816000875af115801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df9190611b69565b60006107ac33611398565b6107b68383611356565b60405163784747af60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f08e8f5e9061080990889088908890600401611b3b565b6020604051808303816000875af1158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190611b69565b9050336001600160a01b031681600080516020611f3083398151915286864260405161087a93929190611b82565b60405180910390a3949350505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108d357604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b03811660008181526003602052604090819020805460ff191660019081179091559051600080516020611f50833981519152916109239142909115158252602082015260400190565b60405180910390a250565b3360009081526003602052604090205460ff1661095e57604051633f9d5b5b60e01b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205460ff161561099857604051631eb49d6d60e11b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040812080548392906109c0908490611bbc565b90915550506001600160a01b03821660008181526002602052604090819020549051600080516020611f70833981519152916109fd914290611a8c565b60405180910390a25050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a5257604051635fc483c560e01b815260040160405180910390fd5b6001805460ff191660ff8316908117909155604080519182524260208301527f67a7941d6673fb4b757be99ecd9bcc496a1a6deb94514395f67dc11639b81a1391015b60405180910390a150565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ae957604051635fc483c560e01b815260040160405180910390fd5b600080546001600160801b03808416600160801b0291161790556040517fbf56dca0eba43d40a3c109ed442ec492a4829bac441fd9f22c55aa5c51c50ae990610a959083904290611bcf565b600080610b4133611398565b610b4b8686611356565b600080610b8d89898989898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061141992505050565b6000828152600560205260409081902080546001600160a01b031916339081179091559051929450909250908390600080516020611f9083398151915290610bd89042815260200190565b60405180910390a3336001600160a01b031681600080516020611f308339815191528a8a42604051610c0c93929190611b82565b60405180910390a3909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c6b57604051635fc483c560e01b815260040160405180910390fd5b600080546001600160801b0319166001600160801b0383161790556040517fc770d9f67e0cab8db721f86457dffef1c4e7d6671e33147c97c46908ddead0bc90610a959083904290611bcf565b600080548190610cec90610cde906001600160801b03600160801b820481169116611be8565b6001600160801b0316611145565b610cf68686611356565b8215801590610d1a575033610d0e60208901896117f6565b6001600160a01b031614155b15610d3857604051631eb49d6d60e11b815260040160405180910390fd5b610d7787878787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061141992505050565b915091509550959350505050565b3360009081526004602052604090205460ff1680610dba57506000818152600560205260409020546001600160a01b03163314155b15610dd857604051631eb49d6d60e11b815260040160405180910390fd5b60405163bbb22f0960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bbb22f0990610e2890869086908690600401611c0f565b600060405180830381600087803b158015610e4257600080fd5b505af1158015610e56573d6000803e3d6000fd5b50505050505050565b60008054610e7f906001600160801b03600160801b820481169116611be8565b6001600160801b0316905090565b3360009081526003602052604090205460ff16610ebd57604051633f9d5b5b60e01b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040812080548392906109c0908490611c33565b6000610ef033611398565b6000610f2f8585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b6000818152600560205260409081902080546001600160a01b031916339081179091559051919250908290600080516020611f908339815191529061087a9042815260200190565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fc057604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205460ff161515811515146110b05780801561100a57506001600160a01b03821660009081526002602052604090205415155b15611050576001600160a01b03821660008181526002602052604080822082905551600080516020611f7083398151915291611047914290611a8c565b60405180910390a25b6001600160a01b038216600081815260046020908152604091829020805460ff1916851515908117909155825190815242918101919091527fa7029e315e87e303e385651da3602f749da2b01a748028230123a976e3b7e83b91016109fd565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110fd57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b038116600081815260036020526040808220805460ff1916905551600080516020611f50833981519152916109239142909115158252602082015260400190565b80341015611166576040516394b5970f60e01b815260040160405180910390fd5b50565b600080825160000361120b5760405163560a4db160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063560a4db1906111c1908790600401611c46565b6020604051808303816000875af11580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112049190611b69565b905061134d565b600061121a60208601866117f6565b9050600061122786611d3c565b30815260405163560a4db160e01b81529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063560a4db190611279908490600401611df9565b6020604051808303816000875af1158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190611b69565b92506112c883866116f9565b60405163bbb22f0960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bbb22f099061131890309086908890600401611c0f565b600060405180830381600087803b15801561133257600080fd5b505af1158015611346573d6000803e3d6000fd5b5050505050505b90505b92915050565b3360009081526003602052604090205460ff1615801561137a575060015460ff1681105b156110b0576040516312ee3b3960e11b815260040160405180910390fd5b3360009081526003602052604090205460ff16156113b35750565b6001600160a01b03811660009081526002602052604081208054600192906113dc908490611c33565b90915550506001600160a01b03811660008181526002602052604090819020549051600080516020611f7083398151915291610923914290611a8c565b6000808061142687611d3c565b805130825260405163560a4db160e01b8152919250906000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063560a4db19061147e908690600401611df9565b6020604051808303816000875af115801561149d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c19190611b69565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f08e8f5e308b8b6040518463ffffffff1660e01b815260040161151593929190611b3b565b6020604051808303816000875af1158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190611b69565b6040516386cf48e760e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906386cf48e7906115a99084908690600401611a8c565b600060405180830381600087803b1580156115c357600080fd5b505af11580156115d7573d6000803e3d6000fd5b505050506115e582886116f9565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd9061163590309087908690600401611c0f565b600060405180830381600087803b15801561164f57600080fd5b505af1158015611663573d6000803e3d6000fd5b505060405163bbb22f0960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016925063bbb22f0991506116b790309087908790600401611c0f565b600060405180830381600087803b1580156116d157600080fd5b505af11580156116e5573d6000803e3d6000fd5b50939c929b50919950505050505050505050565b8051156110b057600081516001600160401b0381111561171b5761171b611cce565b604051908082528060200260200182016040528015611744578160200160208202803683370190505b50905060005b825181101561178957600182828151811061176757611767611e6f565b911515602092830291909101909101528061178181611e85565b91505061174a565b506040516360fa5a0560e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c1f4b40a90610e2890869086908690600401611e9e565b80356001600160a01b03811681146117f157600080fd5b919050565b60006020828403121561180857600080fd5b611811826117da565b9392505050565b60006020828403121561182a57600080fd5b5035919050565b60006060828403121561184357600080fd5b50919050565b60008083601f84011261185b57600080fd5b5081356001600160401b0381111561187257600080fd5b6020830191508360208260051b850101111561188d57600080fd5b9250929050565b6000806000604084860312156118a957600080fd5b83356001600160401b03808211156118c057600080fd5b6118cc87838801611831565b945060208601359150808211156118e257600080fd5b506118ef86828701611849565b9497909650939450505050565b60008083601f84011261190e57600080fd5b5081356001600160401b0381111561192557600080fd5b60208301915083602082850101111561188d57600080fd5b60008060006040848603121561195257600080fd5b61195b846117da565b925060208401356001600160401b0381111561197657600080fd5b6118ef868287016118fc565b6000806040838503121561199557600080fd5b61199e836117da565b946020939093013593505050565b6000602082840312156119be57600080fd5b813560ff8116811461134d57600080fd5b6000602082840312156119e157600080fd5b81356001600160801b038116811461134d57600080fd5b600080600080600060608688031215611a1057600080fd5b85356001600160401b0380821115611a2757600080fd5b611a3389838a01611831565b96506020880135915080821115611a4957600080fd5b611a5589838a016118fc565b90965094506040880135915080821115611a6e57600080fd5b50611a7b88828901611849565b969995985093965092949392505050565b918252602082015260400190565b600080600060608486031215611aaf57600080fd5b611ab8846117da565b9250611ac6602085016117da565b9150604084013590509250925092565b60008060408385031215611ae957600080fd5b611af2836117da565b915060208301358015158114611b0757600080fd5b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0384168152604060208201819052600090611b609083018486611b12565b95945050505050565b600060208284031215611b7b57600080fd5b5051919050565b604081526000611b96604083018587611b12565b9050826020830152949350505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561135057611350611ba6565b6001600160801b03929092168252602082015260400190565b6001600160801b03818116838216019080821115611c0857611c08611ba6565b5092915050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8181038181111561135057611350611ba6565b6020815260006001600160a01b0380611c5e856117da565b16602084015280611c71602086016117da565b166040840152506040830135601e19843603018112611c8f57600080fd5b83016020810190356001600160401b03811115611cab57600080fd5b803603821315611cba57600080fd5b606080850152611b60608085018284611b12565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611d0657611d06611cce565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611d3457611d34611cce565b604052919050565b600060608236031215611d4e57600080fd5b611d56611ce4565b611d5f836117da565b81526020611d6e8185016117da565b8282015260408401356001600160401b0380821115611d8c57600080fd5b9085019036601f830112611d9f57600080fd5b813581811115611db157611db1611cce565b611dc3601f8201601f19168501611d0c565b91508082523684828501011115611dd957600080fd5b808484018584013760009082019093019290925250604082015292915050565b6000602080835260018060a01b0380855116828501528082860151166040850152506040840151606080850152805180608086015260005b81811015611e4d5782810184015186820160a001528301611e31565b50600060a0828701015260a0601f19601f830116860101935050505092915050565b634e487b7160e01b600052603260045260246000fd5b600060018201611e9757611e97611ba6565b5060010190565b6000606082018583526020606081850152818651808452608086019150828801935060005b81811015611ee85784516001600160a01b031683529383019391830191600101611ec3565b50508481036040860152855180825290820192508186019060005b81811015611f21578251151585529383019391830191600101611f03565b50929897505050505050505056fe1b0440ce65fc16884de19dae7c900252811fb32deeaa72be4410324fb14e42207efe36d691dbdf1ad57aca5eecfd1540d1d10b605acbee7984050ef5efb733cf6248ce7c4f0e41b8b1f8952e1d8f10ebae30dc94ae8bceb1c06d0feba4f89b6f668fcd51d7777a07744c2390cd59b09e9e11b3f64ba36728017577aa25cab341a2646970667358221220601f462790cd24020a177bd256887c0bc2cba127494297febd0c30eb78bfbfd564736f6c63430008150033000000000000000000000000f94b90bbeee30996019babd12cecddccf68331de000000000000000000000000db46d1dc155634fbc732f92e853b10b288ad5a1d000000000000000000000000e7e7ead361f3aacd73a61a9bd6c10ca17f38e945000000000000000000000000d4f2f33680fccb36748fa9831851643781608844", + "nonce": "0x36" }, "additionalContracts": [], "isFixedGasLimit": false @@ -26,15 +26,15 @@ ], "receipts": [ { - "transactionHash": "0xb255b07d2d7f2685228f6db5050e01e947d6a2e2b541ad40b954eeb691ae61f3", - "transactionIndex": "0x2d", - "blockHash": "0x0f40f342bf5c9431af26ce24056d1194ee4c7ddda53c3cd49ab8ec4a171adb95", - "blockNumber": "0x3302afa", + "transactionHash": "0xa82f3f974004e83a51e2bc6e7068ccac839776805d47c5231a2036a6ea861669", + "transactionIndex": "0x48", + "blockHash": "0x23911a5aaff1106977c987628334b194433eefc38893ad33c8464ef9540d78eb", + "blockNumber": "0x339086d", "from": "0x7209a322227E6906E73721B4E0BFA92E6C1B9447", "to": null, - "cumulativeGasUsed": "0x79aa2c", - "gasUsed": "0x1b85d9", - "contractAddress": "0x9f077d03DBf4aB8c68e181baA3308F3B12C52Ae8", + "cumulativeGasUsed": "0xd1501d", + "gasUsed": "0x1bb439", + "contractAddress": "0x80a4D78179Cf8C1B0a0621Ba5b33A55Fba469688", "logs": [ { "address": "0x0000000000000000000000000000000000001010", @@ -42,28 +42,28 @@ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", "0x0000000000000000000000007209a322227e6906e73721b4e0bfa92e6c1b9447", - "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + "0x0000000000000000000000009ead03f7136fc6b4bdb0780b00a1c14ae5a8b6d0" ], - "data": "0x00000000000000000000000000000000000000000000000000c051c1b31116dd00000000000000000000000000000000000000000000000094571260feef059f0000000000000000000000000000000000000000000010324e8fae873f91db070000000000000000000000000000000000000000000000009396c09f4bddeec20000000000000000000000000000000000000000000010324f500048f2a2f1e4", - "blockHash": "0x0f40f342bf5c9431af26ce24056d1194ee4c7ddda53c3cd49ab8ec4a171adb95", - "blockNumber": "0x3302afa", - "transactionHash": "0xb255b07d2d7f2685228f6db5050e01e947d6a2e2b541ad40b954eeb691ae61f3", - "transactionIndex": "0x2d", - "logIndex": "0x9e", + "data": "0x00000000000000000000000000000000000000000000000000cca23c19fec13e0000000000000000000000000000000000000000000000009393228b02beef480000000000000000000000000000000000000000000003a5b52e0138f97f154500000000000000000000000000000000000000000000000092c6804ee8c02e0a0000000000000000000000000000000000000000000003a5b5faa375137dd683", + "blockHash": "0x23911a5aaff1106977c987628334b194433eefc38893ad33c8464ef9540d78eb", + "blockNumber": "0x339086d", + "transactionHash": "0xa82f3f974004e83a51e2bc6e7068ccac839776805d47c5231a2036a6ea861669", + "transactionIndex": "0x48", + "logIndex": "0xee", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000010000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000800000000000000001000100008000000000000000000000100000000000000000020800000000000000000000000000000000000000000000000000100000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000010000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000000000000080000000000000000040000000040000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000100000000000000000000000000120000000000000000000800000000000000000000000000000000000000000000000000100000", "type": "0x0", - "effectiveGasPrice": "0x71e7aefaf" + "effectiveGasPrice": "0x160807d4db" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1707862322, + "timestamp": 1709147827, "chain": 137, "multi": false, - "commit": "d23f9ac" + "commit": "0696702" } \ No newline at end of file diff --git a/broadcast/DeployPermissionlessCreator.s.sol/137/run-1709147827.json b/broadcast/DeployPermissionlessCreator.s.sol/137/run-1709147827.json new file mode 100644 index 0000000..644d2fd --- /dev/null +++ b/broadcast/DeployPermissionlessCreator.s.sol/137/run-1709147827.json @@ -0,0 +1,69 @@ +{ + "transactions": [ + { + "hash": "0xa82f3f974004e83a51e2bc6e7068ccac839776805d47c5231a2036a6ea861669", + "transactionType": "CREATE", + "contractName": "PermissionlessCreator", + "contractAddress": "0x80a4D78179Cf8C1B0a0621Ba5b33A55Fba469688", + "function": null, + "arguments": [ + "0xf94b90BbEee30996019bABD12cEcdDCcf68331DE", + "0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d", + "0xe7E7EaD361f3AaCD73A61A9bD6C10cA17F38E945", + "0xD4F2F33680FCCb36748FA9831851643781608844" + ], + "transaction": { + "type": "0x00", + "from": "0x7209a322227e6906e73721b4e0bfa92e6c1b9447", + "gas": "0x240120", + "value": "0x0", + "data": "0x6101006040523480156200001257600080fd5b506040516200217d3803806200217d833981016040819052620000359162000075565b6001600160a01b0393841660805291831660a052821660c0521660e052620000d2565b80516001600160a01b03811681146200007057600080fd5b919050565b600080600080608085870312156200008c57600080fd5b620000978562000058565b9350620000a76020860162000058565b9250620000b76040860162000058565b9150620000c76060860162000058565b905092959194509250565b60805160a05160c05160e051611fe56200019860003960008181610237015261157201526000818161047d01528181610725015281816107d0015281816114c701526115fc0152600081816103d601528181610def0152818161118c0152818161123c015281816112df015281816114410152818161167c01526117a101526000818161015e01528181610594015281816105d60152818161089501528181610a1401528181610aab01528181610c2d01528181610f8201526110bf0152611fe56000f3fe6080604052600436106101475760003560e01c8063117803e31461014c5780631d1dc0671461019d57806322018cd7146101c557806324600fc31461020e57806344b5b8e01461022557806351ea25e1146102595780635248b1cc1461028f5780635794ea7d146102a25780635a1028bf146102b55780635bc8b9fd146102ee5780635d240b611461030e5780635dd4e9631461032e5780636add1b3f1461034e5780636dc47473146103845780637a256832146103a45780637bb9c89b146103c45780639033c66a146103f8578063947cac7c14610426578063a612e5f714610446578063b135a6f01461046b578063b9d2d7ed1461049f578063bbb22f09146104b2578063c49ac90e146104d2578063c7feace6146104e7578063ca460ab214610507578063cb1977f214610527578063efc5ebcc14610547578063f41bad2f14610569575b600080fd5b34801561015857600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101a957600080fd5b506000546001600160801b03165b604051908152602001610194565b3480156101d157600080fd5b506101fe6101e03660046117f6565b6001600160a01b031660009081526004602052604090205460ff1690565b6040519015158152602001610194565b34801561021a57600080fd5b50610223610589565b005b34801561023157600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b34801561026557600080fd5b50610180610274366004611818565b6000908152600560205260409020546001600160a01b031690565b6101b761029d366004611894565b61064a565b6101b76102b036600461193d565b6106e7565b3480156102c157600080fd5b506101fe6102d03660046117f6565b6001600160a01b031660009081526003602052604090205460ff1690565b3480156102fa57600080fd5b506101b761030936600461193d565b6107a1565b34801561031a57600080fd5b506102236103293660046117f6565b61088a565b34801561033a57600080fd5b50610223610349366004611982565b61092e565b34801561035a57600080fd5b506101b76103693660046117f6565b6001600160a01b031660009081526002602052604090205490565b34801561039057600080fd5b5061022361039f3660046119ac565b610a09565b3480156103b057600080fd5b506102236103bf3660046119cf565b610aa0565b3480156103d057600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b34801561040457600080fd5b506104186104133660046119f8565b610b35565b604051610194929190611a8c565b34801561043257600080fd5b506102236104413660046119cf565b610c22565b34801561045257600080fd5b50600054600160801b90046001600160801b03166101b7565b34801561047757600080fd5b506101807f000000000000000000000000000000000000000000000000000000000000000081565b6104186104ad3660046119f8565b610cb8565b3480156104be57600080fd5b506102236104cd366004611a9a565b610d85565b3480156104de57600080fd5b506101b7610e5f565b3480156104f357600080fd5b50610223610502366004611982565b610e8d565b34801561051357600080fd5b506101b7610522366004611894565b610ee5565b34801561053357600080fd5b50610223610542366004611ad6565b610f77565b34801561055357600080fd5b5060015460405160ff9091168152602001610194565b34801561057557600080fd5b506102236105843660046117f6565b6110b4565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105d257604051635fc483c560e01b815260040160405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03164760405160006040518083038185875af1925050503d806000811461063f576040519150601f19603f3d011682016040523d82523d6000602084013e610644565b606091505b50505050565b60008054610660906001600160801b0316611145565b811580159061068457503361067860208601866117f6565b6001600160a01b031614155b156106a257604051631eb49d6d60e11b815260040160405180910390fd5b6106df8484848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b949350505050565b6000805461070490600160801b90046001600160801b0316611145565b61070e8383611356565b60405163784747af60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f08e8f5e9061075e90879087908790600401611b3b565b6020604051808303816000875af115801561077d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106df9190611b69565b60006107ac33611398565b6107b68383611356565b60405163784747af60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f08e8f5e9061080990889088908890600401611b3b565b6020604051808303816000875af1158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c9190611b69565b9050336001600160a01b031681600080516020611f3083398151915286864260405161087a93929190611b82565b60405180910390a3949350505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108d357604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b03811660008181526003602052604090819020805460ff191660019081179091559051600080516020611f50833981519152916109239142909115158252602082015260400190565b60405180910390a250565b3360009081526003602052604090205460ff1661095e57604051633f9d5b5b60e01b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205460ff161561099857604051631eb49d6d60e11b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040812080548392906109c0908490611bbc565b90915550506001600160a01b03821660008181526002602052604090819020549051600080516020611f70833981519152916109fd914290611a8c565b60405180910390a25050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a5257604051635fc483c560e01b815260040160405180910390fd5b6001805460ff191660ff8316908117909155604080519182524260208301527f67a7941d6673fb4b757be99ecd9bcc496a1a6deb94514395f67dc11639b81a1391015b60405180910390a150565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ae957604051635fc483c560e01b815260040160405180910390fd5b600080546001600160801b03808416600160801b0291161790556040517fbf56dca0eba43d40a3c109ed442ec492a4829bac441fd9f22c55aa5c51c50ae990610a959083904290611bcf565b600080610b4133611398565b610b4b8686611356565b600080610b8d89898989898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061141992505050565b6000828152600560205260409081902080546001600160a01b031916339081179091559051929450909250908390600080516020611f9083398151915290610bd89042815260200190565b60405180910390a3336001600160a01b031681600080516020611f308339815191528a8a42604051610c0c93929190611b82565b60405180910390a3909890975095505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c6b57604051635fc483c560e01b815260040160405180910390fd5b600080546001600160801b0319166001600160801b0383161790556040517fc770d9f67e0cab8db721f86457dffef1c4e7d6671e33147c97c46908ddead0bc90610a959083904290611bcf565b600080548190610cec90610cde906001600160801b03600160801b820481169116611be8565b6001600160801b0316611145565b610cf68686611356565b8215801590610d1a575033610d0e60208901896117f6565b6001600160a01b031614155b15610d3857604051631eb49d6d60e11b815260040160405180910390fd5b610d7787878787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061141992505050565b915091509550959350505050565b3360009081526004602052604090205460ff1680610dba57506000818152600560205260409020546001600160a01b03163314155b15610dd857604051631eb49d6d60e11b815260040160405180910390fd5b60405163bbb22f0960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bbb22f0990610e2890869086908690600401611c0f565b600060405180830381600087803b158015610e4257600080fd5b505af1158015610e56573d6000803e3d6000fd5b50505050505050565b60008054610e7f906001600160801b03600160801b820481169116611be8565b6001600160801b0316905090565b3360009081526003602052604090205460ff16610ebd57604051633f9d5b5b60e01b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040812080548392906109c0908490611c33565b6000610ef033611398565b6000610f2f8585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061116992505050565b6000818152600560205260409081902080546001600160a01b031916339081179091559051919250908290600080516020611f908339815191529061087a9042815260200190565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fc057604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205460ff161515811515146110b05780801561100a57506001600160a01b03821660009081526002602052604090205415155b15611050576001600160a01b03821660008181526002602052604080822082905551600080516020611f7083398151915291611047914290611a8c565b60405180910390a25b6001600160a01b038216600081815260046020908152604091829020805460ff1916851515908117909155825190815242918101919091527fa7029e315e87e303e385651da3602f749da2b01a748028230123a976e3b7e83b91016109fd565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110fd57604051635fc483c560e01b815260040160405180910390fd5b6001600160a01b038116600081815260036020526040808220805460ff1916905551600080516020611f50833981519152916109239142909115158252602082015260400190565b80341015611166576040516394b5970f60e01b815260040160405180910390fd5b50565b600080825160000361120b5760405163560a4db160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063560a4db1906111c1908790600401611c46565b6020604051808303816000875af11580156111e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112049190611b69565b905061134d565b600061121a60208601866117f6565b9050600061122786611d3c565b30815260405163560a4db160e01b81529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063560a4db190611279908490600401611df9565b6020604051808303816000875af1158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190611b69565b92506112c883866116f9565b60405163bbb22f0960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bbb22f099061131890309086908890600401611c0f565b600060405180830381600087803b15801561133257600080fd5b505af1158015611346573d6000803e3d6000fd5b5050505050505b90505b92915050565b3360009081526003602052604090205460ff1615801561137a575060015460ff1681105b156110b0576040516312ee3b3960e11b815260040160405180910390fd5b3360009081526003602052604090205460ff16156113b35750565b6001600160a01b03811660009081526002602052604081208054600192906113dc908490611c33565b90915550506001600160a01b03811660008181526002602052604090819020549051600080516020611f7083398151915291610923914290611a8c565b6000808061142687611d3c565b805130825260405163560a4db160e01b8152919250906000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063560a4db19061147e908690600401611df9565b6020604051808303816000875af115801561149d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c19190611b69565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f08e8f5e308b8b6040518463ffffffff1660e01b815260040161151593929190611b3b565b6020604051808303816000875af1158015611534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115589190611b69565b6040516386cf48e760e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906386cf48e7906115a99084908690600401611a8c565b600060405180830381600087803b1580156115c357600080fd5b505af11580156115d7573d6000803e3d6000fd5b505050506115e582886116f9565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd9061163590309087908690600401611c0f565b600060405180830381600087803b15801561164f57600080fd5b505af1158015611663573d6000803e3d6000fd5b505060405163bbb22f0960e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016925063bbb22f0991506116b790309087908790600401611c0f565b600060405180830381600087803b1580156116d157600080fd5b505af11580156116e5573d6000803e3d6000fd5b50939c929b50919950505050505050505050565b8051156110b057600081516001600160401b0381111561171b5761171b611cce565b604051908082528060200260200182016040528015611744578160200160208202803683370190505b50905060005b825181101561178957600182828151811061176757611767611e6f565b911515602092830291909101909101528061178181611e85565b91505061174a565b506040516360fa5a0560e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c1f4b40a90610e2890869086908690600401611e9e565b80356001600160a01b03811681146117f157600080fd5b919050565b60006020828403121561180857600080fd5b611811826117da565b9392505050565b60006020828403121561182a57600080fd5b5035919050565b60006060828403121561184357600080fd5b50919050565b60008083601f84011261185b57600080fd5b5081356001600160401b0381111561187257600080fd5b6020830191508360208260051b850101111561188d57600080fd5b9250929050565b6000806000604084860312156118a957600080fd5b83356001600160401b03808211156118c057600080fd5b6118cc87838801611831565b945060208601359150808211156118e257600080fd5b506118ef86828701611849565b9497909650939450505050565b60008083601f84011261190e57600080fd5b5081356001600160401b0381111561192557600080fd5b60208301915083602082850101111561188d57600080fd5b60008060006040848603121561195257600080fd5b61195b846117da565b925060208401356001600160401b0381111561197657600080fd5b6118ef868287016118fc565b6000806040838503121561199557600080fd5b61199e836117da565b946020939093013593505050565b6000602082840312156119be57600080fd5b813560ff8116811461134d57600080fd5b6000602082840312156119e157600080fd5b81356001600160801b038116811461134d57600080fd5b600080600080600060608688031215611a1057600080fd5b85356001600160401b0380821115611a2757600080fd5b611a3389838a01611831565b96506020880135915080821115611a4957600080fd5b611a5589838a016118fc565b90965094506040880135915080821115611a6e57600080fd5b50611a7b88828901611849565b969995985093965092949392505050565b918252602082015260400190565b600080600060608486031215611aaf57600080fd5b611ab8846117da565b9250611ac6602085016117da565b9150604084013590509250925092565b60008060408385031215611ae957600080fd5b611af2836117da565b915060208301358015158114611b0757600080fd5b809150509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0384168152604060208201819052600090611b609083018486611b12565b95945050505050565b600060208284031215611b7b57600080fd5b5051919050565b604081526000611b96604083018587611b12565b9050826020830152949350505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561135057611350611ba6565b6001600160801b03929092168252602082015260400190565b6001600160801b03818116838216019080821115611c0857611c08611ba6565b5092915050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8181038181111561135057611350611ba6565b6020815260006001600160a01b0380611c5e856117da565b16602084015280611c71602086016117da565b166040840152506040830135601e19843603018112611c8f57600080fd5b83016020810190356001600160401b03811115611cab57600080fd5b803603821315611cba57600080fd5b606080850152611b60608085018284611b12565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611d0657611d06611cce565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611d3457611d34611cce565b604052919050565b600060608236031215611d4e57600080fd5b611d56611ce4565b611d5f836117da565b81526020611d6e8185016117da565b8282015260408401356001600160401b0380821115611d8c57600080fd5b9085019036601f830112611d9f57600080fd5b813581811115611db157611db1611cce565b611dc3601f8201601f19168501611d0c565b91508082523684828501011115611dd957600080fd5b808484018584013760009082019093019290925250604082015292915050565b6000602080835260018060a01b0380855116828501528082860151166040850152506040840151606080850152805180608086015260005b81811015611e4d5782810184015186820160a001528301611e31565b50600060a0828701015260a0601f19601f830116860101935050505092915050565b634e487b7160e01b600052603260045260246000fd5b600060018201611e9757611e97611ba6565b5060010190565b6000606082018583526020606081850152818651808452608086019150828801935060005b81811015611ee85784516001600160a01b031683529383019391830191600101611ec3565b50508481036040860152855180825290820192508186019060005b81811015611f21578251151585529383019391830191600101611f03565b50929897505050505050505056fe1b0440ce65fc16884de19dae7c900252811fb32deeaa72be4410324fb14e42207efe36d691dbdf1ad57aca5eecfd1540d1d10b605acbee7984050ef5efb733cf6248ce7c4f0e41b8b1f8952e1d8f10ebae30dc94ae8bceb1c06d0feba4f89b6f668fcd51d7777a07744c2390cd59b09e9e11b3f64ba36728017577aa25cab341a2646970667358221220601f462790cd24020a177bd256887c0bc2cba127494297febd0c30eb78bfbfd564736f6c63430008150033000000000000000000000000f94b90bbeee30996019babd12cecddccf68331de000000000000000000000000db46d1dc155634fbc732f92e853b10b288ad5a1d000000000000000000000000e7e7ead361f3aacd73a61a9bd6c10ca17f38e945000000000000000000000000d4f2f33680fccb36748fa9831851643781608844", + "nonce": "0x36" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa82f3f974004e83a51e2bc6e7068ccac839776805d47c5231a2036a6ea861669", + "transactionIndex": "0x48", + "blockHash": "0x23911a5aaff1106977c987628334b194433eefc38893ad33c8464ef9540d78eb", + "blockNumber": "0x339086d", + "from": "0x7209a322227E6906E73721B4E0BFA92E6C1B9447", + "to": null, + "cumulativeGasUsed": "0xd1501d", + "gasUsed": "0x1bb439", + "contractAddress": "0x80a4D78179Cf8C1B0a0621Ba5b33A55Fba469688", + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000007209a322227e6906e73721b4e0bfa92e6c1b9447", + "0x0000000000000000000000009ead03f7136fc6b4bdb0780b00a1c14ae5a8b6d0" + ], + "data": "0x00000000000000000000000000000000000000000000000000cca23c19fec13e0000000000000000000000000000000000000000000000009393228b02beef480000000000000000000000000000000000000000000003a5b52e0138f97f154500000000000000000000000000000000000000000000000092c6804ee8c02e0a0000000000000000000000000000000000000000000003a5b5faa375137dd683", + "blockHash": "0x23911a5aaff1106977c987628334b194433eefc38893ad33c8464ef9540d78eb", + "blockNumber": "0x339086d", + "transactionHash": "0xa82f3f974004e83a51e2bc6e7068ccac839776805d47c5231a2036a6ea861669", + "transactionIndex": "0x48", + "logIndex": "0xee", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000010000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000000000000080000000000000000040000000040000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000100000000000000000000000000120000000000000000000800000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x160807d4db" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1709147827, + "chain": 137, + "multi": false, + "commit": "0696702" +} \ No newline at end of file