diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 696411e..610a311 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: run: | cd contracts forge --version - forge build --sizes + forge build --via-ir --sizes id: build - name: Run Forge tests diff --git a/contracts/Makefile b/contracts/Makefile index 2c0c9b5..d7496fe 100644 --- a/contracts/Makefile +++ b/contracts/Makefile @@ -11,8 +11,14 @@ build:; forge build deploy-anvil:; forge script script/TankGameDeployer.s.sol:TankGameDeployerScript --rpc-url http://localhost:8545 \ - --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --broadcast + --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --via-ir --broadcast fill-game:; forge script script/FillGame.s.sol:FillGameScript --rpc-url http://localhost:8545 --broadcast \ --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 + +deploy-factory:; + forge script script/00_DeployGameImpl.s.sol --rpc-url http://localhost:8545 --private-key \ + 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --via-ir --broadcast + forge script script/01_DeployFactories.s.sol --rpc-url http://localhost:8545 --private-key \ + 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --via-ir --broadcast diff --git a/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-1698109964.json b/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-1698109964.json new file mode 100644 index 0000000..402c19f --- /dev/null +++ b/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-1698109964.json @@ -0,0 +1,919 @@ +{ + "transactions": [ + { + "hash": "0x031e2e1a4e5c9432d433a3450ca0d00c7761ea1d5b95080e3bac1c085b37660a", + "transactionType": "CREATE", + "contractName": "GiveLib", + "contractAddress": "0xfa109ab9C85c5F0181e6548F83c25ef37b3FFEc9", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x763ef", + "data": "0x6105d161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80631c49198f1461004557806394cbfbff14610080575b600080fd5b81801561005157600080fd5b50610065610060366004610487565b610095565b60408051921515835290151560208301520160405180910390f35b61009361008e3660046104cb565b6101c6565b005b604080860151606087015187516020808a01516000838152918a90529481206001018054919586959493929091859187906100d1908490610554565b9091555050600082815260208b90526040812060020180548592906100f7908490610554565b9091555050600081815260208b90526040902060010154610158576001890180549060006101248361056d565b91905055508089600401600082825461013d91906105a5565b90915550506000818152602089905260409020879055600194505b600081815260208b90526040812060010180548692906101799084906105a5565b9091555050600081815260208b905260408120600201805485929061019f9084906105a5565b90915550505060009081526020989098525050604090952060010154159694955050505050565b60408084015160608501518551602080880151600083815291889052949020600101549293919290919084111561025e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f7420656e6f7567682068656172747300000000000000000000000000000060448201526064015b60405180910390fd5b6000828152602087905260409020600201548311156102d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610255565b6040517face6b1c5000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260009073ffffffffffffffffffffffffffffffffffffffff87169063ace6b1c590604401602060405180830381865afa15801561034e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037291906105b8565b6000848152602089905260409020600301549091508111156103f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f746172676574206f7574206f662072616e6765000000000000000000000000006044820152606401610255565b5050505050505050565b60006080828403121561040c57600080fd5b6040516080810181811067ffffffffffffffff82111715610456577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b600080600080600061010086880312156104a057600080fd5b6104aa87876103fa565b976080870135975060a08701359660c0810135965060e00135945092505050565b600080600060c084860312156104e057600080fd5b6104ea85856103fa565b92506080840135915060a084013573ffffffffffffffffffffffffffffffffffffffff8116811461051a57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561056757610567610525565b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361059e5761059e610525565b5060010190565b8082018082111561056757610567610525565b6000602082840312156105ca57600080fd5b505191905056", + "nonce": "0x278", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionType": "CREATE", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": null, + "arguments": [ + "(5, 21, 1, 3, 3, 30, 0, 5, 0x0000000000000000000000000000000000000000000000000000000000000000)", + "0x3c5CD6c3A8f47443f739597A89A630868F805e2e" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x6e3f00", + "value": "0x0", + "data": "0x6080604052604051620062cb380380620062cb8339810160408190526200002691620002e6565b600382602001516200003991906200038a565b15620000805760405162461bcd60e51b8152602060048201526012602482015271696e76616c696420626f6172642073697a6560701b604482015260640160405180910390fd5b6040805183518152602080850151908201528382015181830152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e08085015190820152610100808501519082015290517fd238cf491e3dd71f67796a95afc0def045cac20be422b1bb24d9dc52aa5647b3918190036101200190a181516018556020808301516019819055604080850151601a556060850151601b556080850151601c5560a0850151601d5560c0850151601e5560e0850151601f556101008501519092556017805460ff60a01b191690559051620001689062000283565b908152602001604051809103906000f0801580156200018b573d6000803e3d6000fd5b50602980546001600160a01b0319166001600160a01b039290921691909117905560e0820151620001bd9043620003ad565b601555601780546001600160a01b0319166001600160a01b038316179055620001e56200022a565b6015546040805133815260208101929092527f5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed7910160405180910390a15050620003d5565b34600e60008282546200023e9190620003ad565b909155505060408051338152346020820152478183015290517fde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b69181900360600190a1565b610da4806200552783390190565b60405161012081016001600160401b0381118282101715620002c357634e487b7160e01b600052604160045260246000fd5b60405290565b80516001600160a01b0381168114620002e157600080fd5b919050565b600080828403610140811215620002fc57600080fd5b610120808212156200030d57600080fd5b6200031762000291565b9150845182526020850151602083015260408501516040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152508193506200037f818601620002c9565b925050509250929050565b600082620003a857634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115620003cf57634e487b7160e01b600052601160045260246000fd5b92915050565b61514280620003e56000396000f3fe6080604052600436106103345760003560e01c8063a475b5dd116101b0578063dbe7e3bd116100ec578063ed28a70811610095578063f1da90b61161006f578063f1da90b614610b5a578063f3c61e5b14610b7a578063fd9929ab14610ba7578063ff329e7c14610bc757600080fd5b8063ed28a70814610b0f578063ed88c68e14610b25578063ef98d5be14610b2d57600080fd5b8063e06174e4116100c6578063e06174e414610a47578063e0c3e68514610ac2578063e2eb41ff14610ae257600080fd5b8063dbe7e3bd146109d7578063df46067c14610a07578063e023915b14610a2757600080fd5b8063be9a655511610159578063c2de609411610133578063c2de60941461093a578063c2e522061461095a578063c47e02521461096f578063db69f8a2146109aa57600080fd5b8063be9a6555146108d3578063c125c06f146108e8578063c19d93fb1461090857600080fd5b8063ade3eca31161018a578063ade3eca31461086d578063bb2b1bf41461088d578063bd3eb826146108a357600080fd5b8063a475b5dd146107e2578063a5bbee79146107f7578063aabbe8931461081757600080fd5b806366bb81c71161027f57806385b4bb531161022857806396dc23771161020257806396dc2377146107545780639b233a41146107745780639da7d02e146107ac578063a3f67d6d146107cc57600080fd5b806385b4bb531461069257806389b3d1b1146107145780638da5cb5b1461073457600080fd5b8063757991a811610259578063757991a81461061257806376044bd1146106275780637cd3229a1461067257600080fd5b806366bb81c7146105d35780636d4175e2146105e9578063719ce73e146105fc57600080fd5b80631e8fb36a116102e15780634b5ede09116102bb5780634b5ede09146104e85780634d5e9695146104fe57806351cdc8c61461057757600080fd5b80631e8fb36a1461042a5780633264a34b146104aa5780634a03e0ef146104c857600080fd5b806315cf5d781161031257806315cf5d78146103bb57806315e5a1e5146103db5780631865c57d146103f157600080fd5b8063019712f41461033957806309c432941461037657806313af403514610399575b600080fd5b34801561034557600080fd5b5061035961035436600461457f565b610be7565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561038257600080fd5b5061038b610c1f565b60405190815260200161036d565b3480156103a557600080fd5b506103b96103b43660046145b9565b610c76565b005b3480156103c757600080fd5b506103b96103d63660046145ee565b610d0f565b3480156103e757600080fd5b5061038b600f5481565b3480156103fd57600080fd5b5060175474010000000000000000000000000000000000000000900460ff165b60405161036d9190614639565b34801561043657600080fd5b5060215460225460235460245460255460265460275460285461046697969594939291906001600160a01b031688565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c08301526001600160a01b031660e08201526101000161036d565b3480156104b657600080fd5b506029546001600160a01b0316610359565b3480156104d457600080fd5b506103b96104e336600461467a565b610fef565b3480156104f457600080fd5b5061038b60145481565b34801561050a57600080fd5b5061054d6105193660046146aa565b600160208190526000918252604090912080549181015460028201546003909201546001600160a01b039093169290919084565b604080516001600160a01b039095168552602085019390935291830152606082015260800161036d565b34801561058357600080fd5b506105976105923660046146aa565b6110d9565b60405161036d919081516001600160a01b0316815260208083015190820152604080830151908201526060918201519181019190915260800190565b3480156105df57600080fd5b5061038b60155481565b6103b96105f73660046146d5565b61115a565b34801561060857600080fd5b5061038b600e5481565b34801561061e57600080fd5b5061038b611442565b34801561063357600080fd5b5061066261064236600461457f565b600960209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161036d565b34801561067e57600080fd5b50602954610359906001600160a01b031681565b34801561069e57600080fd5b506106a761144c565b60405161036d9190600061012082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525092915050565b34801561072057600080fd5b506103b961072f366004614724565b6114f8565b34801561074057600080fd5b50601754610359906001600160a01b031681565b34801561076057600080fd5b506103b961076f366004614752565b61189e565b34801561078057600080fd5b5061038b61078f36600461457f565b600760209081526000928352604080842090915290825290205481565b3480156107b857600080fd5b506103b96107c7366004614724565b611ae6565b3480156107d857600080fd5b5061038b600c5481565b3480156107ee57600080fd5b506103b96120e7565b34801561080357600080fd5b506103b96108123660046145ee565b6121e3565b34801561082357600080fd5b506108526108323660046146aa565b600260208190526000918252604090912080546001820154919092015483565b6040805193845260208401929092529082015260600161036d565b34801561087957600080fd5b5061038b6108883660046146aa565b6125fc565b34801561089957600080fd5b5061038b60165481565b3480156108af57600080fd5b506106626108be3660046146aa565b60086020526000908152604090205460ff1681565b3480156108df57600080fd5b506103b961261d565b3480156108f457600080fd5b5061038b6109033660046146aa565b6126e6565b34801561091457600080fd5b5060175461041d9074010000000000000000000000000000000000000000900460ff1681565b34801561094657600080fd5b506103b96109553660046145ee565b6126f7565b34801561096657600080fd5b50600c5461038b565b34801561097b57600080fd5b5061066261098a36600461467a565b600660209081526000928352604080842090915290825290205460ff1681565b3480156109b657600080fd5b5061038b6109c53660046146aa565b60036020526000908152604090205481565b3480156109e357600080fd5b506106626109f23660046146aa565b600a6020526000908152604090205460ff1681565b348015610a1357600080fd5b50610662610a2236600461467a565b612b55565b348015610a3357600080fd5b506103b9610a4236600461467a565b612ba6565b348015610a5357600080fd5b50601854601954601a54601b54601c54601d54601e54601f54602054610a7e98979695949392919089565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200161036d565b348015610ace57600080fd5b5061038b610add3660046146aa565b612d9d565b348015610aee57600080fd5b5061038b610afd3660046145b9565b60006020819052908152604090205481565b348015610b1b57600080fd5b5061038b600d5481565b6103b9612db4565b348015610b3957600080fd5b5061038b610b483660046146aa565b60056020526000908152604090205481565b348015610b6657600080fd5b506103b9610b7536600461476e565b612e0e565b348015610b8657600080fd5b5061038b610b953660046146aa565b60046020526000908152604090205481565b348015610bb357600080fd5b506103b9610bc2366004614752565b6133ed565b348015610bd357600080fd5b5061038b610be23660046146aa565b61361b565b600b6020528160005260406000208181548110610c0357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008060175474010000000000000000000000000000000000000000900460ff166002811115610c5157610c5161460a565b03610c5c5750600090565b600f54610c676136c3565b610c7191906147b9565b905090565b6017546001600160a01b03163314610cd55760405162461bcd60e51b815260206004820152600960248201527f6e6f74206f776e6572000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b601780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8035610d1b8133612b55565b610d675760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b81356000610d7b60408501602086016145b9565b9050600260175474010000000000000000000000000000000000000000900460ff166002811115610dae57610dae61460a565b14610dfb5760405162461bcd60e51b815260206004820152600e60248201527f67616d65206e6f7420656e6465640000000000000000000000000000000000006044820152606401610ccc565b6000828152600a602052604090205460ff1615610e5a5760405162461bcd60e51b815260206004820152600f60248201527f616c726561647920636c61696d656400000000000000000000000000000000006044820152606401610ccc565b6000828152600a6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805b6003811015610f9a578360108260038110610eb057610eb06147cc565b015403610f885760008115610ed55781600114610ece57600a610ed8565b601e610ed8565b603c5b60ff1690506000606482600e54610eef91906147fb565b610ef99190614812565b6040519091506001600160a01b0386169082156108fc029083906000818181858888f19350505050158015610f32573d6000803e3d6000fd5b50604080516001600160a01b0387168152602081018890529081018290527f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf79060600160405180910390a1600193505050610f9a565b80610f928161484d565b915050610e93565b5080610fe85760405162461bcd60e51b815260206004820152600d60248201527f6e6f74206f6e20706f6469756d000000000000000000000000000000000000006044820152606401610ccc565b5050505050565b6017546001600160a01b031633146110495760405162461bcd60e51b815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610ccc565b6000828152600b6020908152604080832080546001810182559084529282902090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385169081179091558251858152918201527f37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e91015b60405180910390a15050565b61110d604051806080016040528060006001600160a01b031681526020016000815260200160008152602001600081525090565b50600090815260016020818152604092839020835160808101855281546001600160a01b031681529281015491830191909152600281015492820192909252600390910154606082015290565b60408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e08201529054610100820152600c546111cb916000916111c3856149a1565b9291906136d3565b60295460408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e08201529054610100820152600091611251916001600160a01b039091169060019084906021611247886149a1565b949392919061389b565b602154600c55602554601455602254600d5590507f8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd661129360208401846145b9565b600c54836112a46040870187614a87565b6040516112b5959493929190614b1e565b60405180910390a160005b600c546000908152600b602052604090205481101561143d57600c546000908152600b602052604081208054839081106112fc576112fc6147cc565b60009182526020822001546040517f6e0676da0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290636e0676da906113529030908990600401614c22565b6020604051808303816000875af1158015611371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113959190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f6e0676da00000000000000000000000000000000000000000000000000000000146114285760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806114359061484d565b9150506112c0565b505050565b6000610c716136c3565b61149e6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b5060408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e0820152905461010082015290565b600160175474010000000000000000000000000000000000000000900460ff1660028111156115295761152961460a565b146115765760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b80356115828133612b55565b6115ce5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b81356000818152600160208190526040909120015461162f5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b8235602084013561164536869003860186614d6d565b602954604080517f94cbfbff00000000000000000000000000000000000000000000000000000000815283516004820152602084015160248201529083015160448201526060909201516064830152600160848301526001600160a01b031660a482015273fa109ab9c85c5f0181e6548f83c25ef37b3ffec9906394cbfbff9060c40160006040518083038186803b1580156116e057600080fd5b505af41580156116f4573d6000803e3d6000fd5b505050506000808680360381019061170c9190614d6d565b73fa109ab9c85c5f0181e6548f83c25ef37b3ffec9631c49198f90916001602160056117366136c3565b604080517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815286516004820152602087015160248201529086015160448201526060909501516064860152608485019390935260a484019190915260c483015260e4820152610104016040805180830381865af41580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e69190614de8565b602254600d5560255460145560408051878152602081018790528a820135818301526060808c01359082015290519294509092507f654b04c5c30ce4656189a7398b7ed5489f63defa1cf3ae9ecc0a649e33910467919081900360800190a18115611855576118558485613b47565b80156118955760408051858152602081018590527fa78677222d515efffcb323b960622c3e2bff3331916798f375b592c2a07f6c5a910160405180910390a15b50505050505050565b600160175474010000000000000000000000000000000000000000900460ff1660028111156118cf576118cf61460a565b1461191c5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b80356119288133612b55565b6119745760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b8135600081815260016020819052604090912001546119d55760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b823560006119e28261361b565b600083815260016020526040902060020154909150811115611a465760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b60008281526001602052604081206002018054839290611a679084906147b9565b909155505060008281526001602081905260408220600301805491929091611a90908490614e1b565b9091555050600082815260016020908152604091829020600301548251858152918201527feb0ebb51128928d7b1a6419c52128a9319bfcb55f0adafea75afbf75f9f2f3e9910160405180910390a15050505050565b600160175474010000000000000000000000000000000000000000900460ff166002811115611b1757611b1761460a565b14611b645760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035611b708133612b55565b611bbc5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b813560008181526001602081905260409091200154611c1d5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b82356000611c3336869003860160208701614e68565b6029546040517fe440908c0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063e440908c90611c82908590600401614e84565b6040805180830381865afa158015611c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc29190614ea5565b6029546040517fff324dbe0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063ff324dbe90611d139087908790600401614ed7565b602060405180830381865afa158015611d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d549190614eff565b602954909150611d83906001600160a01b031660018484611d7a368d90038d018d614f18565b93929190613d15565b60005b6000858152600b6020526040902054811015611efd576000858152600b60205260408120805483908110611dbc57611dbc6147cc565b60009182526020822001546040517f6ba9d5150000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290636ba9d51590611e129030908e90600401614f4f565b6020604051808303816000875af1158015611e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e559190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f6ba9d5150000000000000000000000000000000000000000000000000000000014611ee85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b50508080611ef59061484d565b915050611d86565b50602954611f2a906001600160a01b031660018484611f21368d90038d018d614f18565b93929190613e9e565b7f0b34be83310da514ceef99b4c1f7204a5c5a824070290c9820789bac3d88b6368484604051611f5b929190614ed7565b60405180910390a160005b6000858152600b60205260409020548110156120dd576000858152600b60205260408120805483908110611f9c57611f9c6147cc565b60009182526020822001546040517f200a25520000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063200a255290611ff29030908e90600401614f4f565b6020604051808303816000875af1158015612011573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120359190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f200a255200000000000000000000000000000000000000000000000000000000146120c85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806120d59061484d565b915050611f66565b5050505050505050565b6015544310156121395760405162461bcd60e51b815260206004820152601360248201527f6e6f7420726561647920746f2072657665616c000000000000000000000000006044820152606401610ccc565b6015546040805133815260208101929092527ff254aace0ef98d6ac1a0d84c95648f8e3f7a1881dbb43393709ecd004b00f103910160405180910390a16101006015544361218791906147b9565b11612194576121946140d9565b601f546121a19043614e1b565b60158190556040805133815260208101929092527f5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed791015b60405180910390a1565b80356000818152600160205260409020546001600160a01b0316331461224b5760405162461bcd60e51b815260206004820152600e60248201527f6e6f742074616e6b206f776e65720000000000000000000000000000000000006044820152606401610ccc565b813560005b6000828152600b60205260409020548110156123c7576000828152600b60205260408120805483908110612286576122866147cc565b60009182526020822001546040517f230ad3b30000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063230ad3b3906122dc9030908a90600401614f9e565b6020604051808303816000875af11580156122fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231f9190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f230ad3b300000000000000000000000000000000000000000000000000000000146123b25760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806123bf9061484d565b915050612250565b5060006123da60408501602086016145b9565b60008381526006602090815260408083206001600160a01b03858116808652918452828520805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009091168117909155858552838620899055888652845293829020548251888152938401919091529092168183015290519192507f4aae9d98faa4137df04104122f887002256b47f839145564826f6551f20df117919081900360600190a160005b6000838152600b6020526040902054811015610fe8576000838152600b602052604081208054839081106124bb576124bb6147cc565b60009182526020822001546040517fc08255130000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063c0825513906125119030908b90600401614f9e565b6020604051808303816000875af1158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125549190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fc082551300000000000000000000000000000000000000000000000000000000146125e75760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806125f49061484d565b915050612485565b6013818154811061260c57600080fd5b600091825260209091200154905081565b601854600c5410156126715760405162461bcd60e51b815260206004820152601260248201527f6e6f7420656e6f75676820706c617965727300000000000000000000000000006044820152606401610ccc565b6126796136c3565b600f55601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f762f260439bb4be3ef6e4dc2786e2e7bd187d3d80b79057d7a424fe98563e33590600090a1565b60006126f182614244565b92915050565b600160175474010000000000000000000000000000000000000000900460ff1660028111156127285761272861460a565b146127755760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b803560008181526001602081905260409091200154156127d75760405162461bcd60e51b815260206004820152600d60248201527f74616e6b20697320616c697665000000000000000000000000000000000000006044820152606401610ccc565b816020013560006001600083815260200190815260200160002060010154116128425760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b823561284e8133612b55565b61289a5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b8335602085013560006128ab6136c3565b600081815260096020908152604080832087845290915290205490915060ff16156129185760405162461bcd60e51b815260206004820152600d60248201527f616c726561647920766f746564000000000000000000000000000000000000006044820152606401610ccc565b60008181526008602052604090205460ff16156129775760405162461bcd60e51b815260206004820152600d60248201527f766f74696e6720636c6f736564000000000000000000000000000000000000006044820152606401610ccc565b600081815260076020908152604080832085845290915281208054600192906129a1908490614e1b565b909155505060408051848152602081018490529081018290527f6bbb2afba842b206b06bf91942742fa3dc08583f4653646faadfcffea72402ba9060600160405180910390a16013546129f690600290614812565b612a01906001614e1b565b600082815260076020908152604080832086845290915290205410612b0a576000828152600160208190526040909120600201541115612a6c5760018060008481526020019081526020016000206002016000828254612a6191906147b9565b90915550612a909050565b612a7582614244565b612a80906001614e1b565b6000838152600560205260409020555b60008181526008602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905581518481529081018590529081018290527fe779371387c4bde679554053dbca7c569f72e2dcc4bf6c28465bb5b77b4a2f4b9060600160405180910390a15b60009081526009602090815260408083209483529390529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050565b6000828152600160205260408120546001600160a01b0383811691161480612b9f575060008381526006602090815260408083206001600160a01b038616845290915290205460ff165b9392505050565b81612bb18133612b55565b612bfd5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b6001600160a01b038216612c535760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964206164647265737300000000000000000000000000000000006044820152606401610ccc565b60005b6000848152600b6020526040902054811015612d0c576000848152600b6020526040902080546001600160a01b038516919083908110612c9857612c986147cc565b6000918252602090912001546001600160a01b031603612cfa5760405162461bcd60e51b815260206004820152601260248201527f686f6f6b20616c726561647920616464656400000000000000000000000000006044820152606401610ccc565b80612d048161484d565b915050612c56565b506000838152600b6020908152604080832080546001810182559084529282902090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0386169081179091558251868152918201527f37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e910160405180910390a1505050565b60108160038110612dad57600080fd5b0154905081565b60003411612e045760405162461bcd60e51b815260206004820152600d60248201527f6e6f2076616c75652073656e74000000000000000000000000000000000000006044820152606401610ccc565b612e0c614260565b565b600160175474010000000000000000000000000000000000000000900460ff166002811115612e3f57612e3f61460a565b14612e8c5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035612e988133612b55565b612ee45760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b813560008181526001602081905260409091200154612f455760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b82602001356000600160008381526020019081526020016000206001015411612fb05760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b602954843590602086013590612fe2906001906001600160a01b0316612fdb368a90038a018a614e68565b91906142b6565b60005b6000838152600b602052604090205481101561315c576000838152600b6020526040812080548390811061301b5761301b6147cc565b60009182526020822001546040517f4d2c8f640000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634d2c8f64906130719030908d90600401614fe1565b6020604051808303816000875af1158015613090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b49190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f4d2c8f6400000000000000000000000000000000000000000000000000000000146131475760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806131549061484d565b915050612fe5565b5060408051838152602081018390527f33e6f0759676874e0bacdeb489e6b9add26a0e630e36a11436f28473a606eb6a910160405180910390a16131b060016131aa36899003890189614e68565b90614474565b15613273576000818152600160205260408120600201546131d390600590614812565b9050806001600085815260200190815260200160002060020160008282546131fb9190614e1b565b9091555050600082815260016020526040812060020180548392906132219084906147b9565b909155505060408051848152602081018490529081018290527f51e8d4f8aaf9c60ffae4405a481bb91e06484535112745e154a147feb6a303039060600160405180910390a16132718383613b47565b505b60005b6000838152600b6020526040902054811015611895576000838152600b602052604081208054839081106132ac576132ac6147cc565b60009182526020822001546040517fec7b4f780000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063ec7b4f78906133029030908d90600401614fe1565b6020604051808303816000875af1158015613321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133459190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fec7b4f7800000000000000000000000000000000000000000000000000000000146133d85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806133e59061484d565b915050613276565b600160175474010000000000000000000000000000000000000000900460ff16600281111561341e5761341e61460a565b1461346b5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035600081815260016020819052604090912001546134cc5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b813560006134d86136c3565b9050600f54810361352b5760405162461bcd60e51b815260206004820152601160248201527f746f6f206561726c7920746f20647269700000000000000000000000000000006044820152606401610ccc565b600061353683614244565b90508082116135875760405162461bcd60e51b815260206004820152600f60248201527f616c7265616479206472697070656400000000000000000000000000000000006044820152606401610ccc565b600061359382846147b9565b9050806001600086815260200190815260200160002060020160008282546135bb9190614e1b565b909155505060008481526005602090815260409182902085905581518681529081018390529081018490527fff4a002cd7ab9a8905cffd8b8df193a7526645df5584f9f3b9b6fe5b306523bf9060600160405180910390a1505050505050565b6029546000828152600160205260408082206003015490517fa613fcd4000000000000000000000000000000000000000000000000000000008152600481019190915290916006916001600160a01b039091169063a613fcd490602401602060405180830381865afa158015613695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136b99190614eff565b6126f191906147b9565b601d54600090610c719042614812565b83516001600160a01b03166000908152602084905260409020541561373a5760405162461bcd60e51b815260206004820152600e60248201527f616c7265616479206a6f696e65640000000000000000000000000000000000006044820152606401610ccc565b8151811061378a5760405162461bcd60e51b815260206004820152600c60248201527f67616d652069732066756c6c00000000000000000000000000000000000000006044820152606401610ccc565b8160c001513410156137de5760405162461bcd60e51b815260206004820152601360248201527f696e73756666696369656e742062757920696e000000000000000000000000006044820152606401610ccc565b6000846000015185604001516040516020016137fb929190615026565b60408051808303601f190181528282528051602091820120818401528151808403820181529282019091528151910120610100840151909150158061384f575061384f8560200151846101000151836144ed565b610fe85760405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642070726f6f66000000000000000000000000000000000000006044820152606401610ccc565b6138bf60405180606001604052806000815260200160008152602001600081525090565b865160405160009161390d9142914491602001928352602083019190915260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016604082015260540190565b60408051808303601f190181529082905280516020909101207fd7476f7e0000000000000000000000000000000000000000000000000000000082526004820181905291506000906001600160a01b0389169063d7476f7e90602401606060405180830381865afa158015613986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139aa9190615085565b60408051608080820183528c516001600160a01b031682526060808a015160208401528984015193830193909352880151918101919091528554919250908560006139f48361484d565b90915550508454600186018054906000613a0d8361484d565b919050555080866004016000828254613a269190614e1b565b9091555050600081815260208a81526040808320855181547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0391821617825586840151600183015586830151600283015560608701516003909201919091558e51811684528b83528184208590558151808301835285815280840194855282517f8877858e000000000000000000000000000000000000000000000000000000008152885160048201529388015160248501529187015160448401529051606483015291516084820152908b1690638877858e9060a401600060405180830381600087803b158015613b2057600080fd5b505af1158015613b34573d6000803e3d6000fd5b50949d9c50505050505050505050505050565b600d8054906000613b57836150c1565b909155505060228054906000613b6c836150c1565b91905055508060216004016000828254613b8691906147b9565b925050819055508060146000828254613b9f91906147b9565b9091555050601380546001810182556000919091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900181905560408051838152602081018390527fd02b8bdc1eb9eb4a85fe2b27c68fbe1eec04f697f660cc4cf3bb2cee4456f490910160405180910390a1600d54600103613d115760138054613c2c906001906147b9565b81548110613c3c57613c3c6147cc565b60009182526020909120015460115560138054613c5b906002906147b9565b81548110613c6b57613c6b6147cc565b6000918252602091829020015460128190556014546010819055601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055601154600e5460408051938452948301919091529281019190915260608101919091527f2138eea544e46359acf616a3cea69daedd6984f74feb71820c6c28e5cd25434c906080016110cd565b5050565b845160208601516040517f441a94420000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063441a944290613d61908490600401614e84565b602060405180830381865afa158015613d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613da291906150f6565b613dee5760405162461bcd60e51b815260206004820152600d60248201527f696e76616c696420706f696e74000000000000000000000000000000000000006044820152606401610ccc565b835115613e3d5760405162461bcd60e51b815260206004820152601160248201527f706f736974696f6e206f636375706965640000000000000000000000000000006044820152606401610ccc565b6000828152602086905260409020600201548311156118955760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b84516020808701518482015160008481529287905260408320600101805492939192909190613ece908490614e1b565b909155505060008281526020869052604081206002018054859290613ef49084906147b9565b90915550506040517fdc064ea8000000000000000000000000000000000000000000000000000000008152600481018390526000906001600160a01b0388169063dc064ea890602401606060405180830381865afa158015613f5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f7e9190615085565b6040805180820182528581526000602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815287516004820152908701516024820152928601516044840152905160648301525160848201529091506001600160a01b03881690638877858e9060a401600060405180830381600087803b15801561401057600080fd5b505af1158015614024573d6000803e3d6000fd5b50506040805180820182526000808252602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815287516004820152908701516024820152928601516044840152905160648301525160848201526001600160a01b038a169250638877858e915060a401600060405180830381600087803b1580156140b757600080fd5b505af11580156140cb573d6000803e3d6000fd5b505050505050505050505050565b6015546029546040517fd7476f7e000000000000000000000000000000000000000000000000000000008152914060048301819052916000916001600160a01b03169063d7476f7e90602401606060405180830381865afa158015614142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141669190615085565b602954604080518082018252600081526001602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815286516004820152908601516024820152928501516044840152905160648301525160848201529192506001600160a01b031690638877858e9060a401600060405180830381600087803b1580156141fb57600080fd5b505af115801561420f573d6000803e3d6000fd5b505050507fea248ff12af64e9d95abfbda1754fe5de18cb1dec8d6a9ede8f8b1006ec0898633826040516110cd929190615111565b600081815260056020526040812054806126f157600f54612b9f565b34600e60008282546142729190614e1b565b90915550506040805133815234602082015247918101919091527fde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b6906060016121d9565b8251602084015160408086015190517face6b1c500000000000000000000000000000000000000000000000000000000815260048101849052602481018390526000906001600160a01b0386169063ace6b1c590604401602060405180830381865afa15801561432a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061434e9190614eff565b6000858152602088905260409020600301549091508111156143b25760405162461bcd60e51b815260206004820152601360248201527f746172676574206f7574206f662072616e6765000000000000000000000000006044820152606401610ccc565b6000848152602087905260409020600201548211156144135760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b6000838152602087905260409020600101548211156118955760405162461bcd60e51b815260206004820152600e60248201527f746f6f206d616e792073686f74730000000000000000000000000000000000006044820152606401610ccc565b8151602080840151604080860151600085815293869052908320600201805493949382919086906144a69084906147b9565b9091555050600082815260208690526040812060010180548392906144cc9084906147b9565b90915550505060009081526020939093525050604090206001015415919050565b6000826144fa8584614503565b14949350505050565b600081815b84518110156145485761453482868381518110614527576145276147cc565b6020026020010151614550565b9150806145408161484d565b915050614508565b509392505050565b600081831061456c576000828152602084905260409020612b9f565b6000838152602083905260409020612b9f565b6000806040838503121561459257600080fd5b50508035926020909101359150565b6001600160a01b03811681146145b657600080fd5b50565b6000602082840312156145cb57600080fd5b8135612b9f816145a1565b6000604082840312156145e857600080fd5b50919050565b60006040828403121561460057600080fd5b612b9f83836145d6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310614674577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561468d57600080fd5b82359150602083013561469f816145a1565b809150509250929050565b6000602082840312156146bc57600080fd5b5035919050565b6000606082840312156145e857600080fd5b6000602082840312156146e757600080fd5b813567ffffffffffffffff8111156146fe57600080fd5b61470a848285016146c3565b949350505050565b6000608082840312156145e857600080fd5b60006080828403121561473657600080fd5b612b9f8383614712565b6000602082840312156145e857600080fd5b60006020828403121561476457600080fd5b612b9f8383614740565b60006060828403121561478057600080fd5b612b9f83836146c3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156126f1576126f161478a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820281158282048414176126f1576126f161478a565b600082614848577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361487e5761487e61478a565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156148d7576148d7614885565b60405290565b6040805190810167ffffffffffffffff811182821017156148d7576148d7614885565b604051601f8201601f1916810167ffffffffffffffff8111828210171561492957614929614885565b604052919050565b600082601f83011261494257600080fd5b813567ffffffffffffffff81111561495c5761495c614885565b61496f6020601f19601f84011601614900565b81815284602083860101111561498457600080fd5b816020850160208301376000918101602001919091529392505050565b6000606082360312156149b357600080fd5b6149bb6148b4565b82356149c6816145a1565b815260208381013567ffffffffffffffff808211156149e457600080fd5b9085019036601f8301126149f757600080fd5b813581811115614a0957614a09614885565b8060051b614a18858201614900565b9182528381018501918581019036841115614a3257600080fd5b948601945b83861015614a5057853582529486019490860190614a37565b8087890152505050506040860135925080831115614a6d57600080fd5b5050614a7b36828601614931565b60408301525092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614abc57600080fd5b83018035915067ffffffffffffffff821115614ad757600080fd5b602001915036819003821315614aec57600080fd5b9250929050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6001600160a01b0386168152846020820152614b5160408201858051825260208082015190830152604090810151910152565b60c060a08201526000614b6860c083018486614af3565b979650505050505050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614ba557600080fd5b8260051b80836020870137939093016020019392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614bf357600080fd5b830160208101925035905067ffffffffffffffff811115614c1357600080fd5b803603821315614aec57600080fd5b60006001600160a01b038085168352606060208401528335614c43816145a1565b1660608301526020830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614c7f57600080fd5b830160208101903567ffffffffffffffff811115614c9c57600080fd5b8060051b3603821315614cae57600080fd5b60606080850152614cc360c085018284614b73565b915050614cd36040850185614bbe565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08584030160a0860152614d08838284614af3565b925050508281036040840152614d22816000815260200190565b95945050505050565b600060208284031215614d3d57600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114612b9f57600080fd5b600060808284031215614d7f57600080fd5b6040516080810181811067ffffffffffffffff82111715614da257614da2614885565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b80518015158114614de357600080fd5b919050565b60008060408385031215614dfb57600080fd5b614e0483614dd3565b9150614e1260208401614dd3565b90509250929050565b808201808211156126f1576126f161478a565b600060608284031215614e4057600080fd5b614e486148b4565b905081358152602082013560208201526040820135604082015292915050565b600060608284031215614e7a57600080fd5b612b9f8383614e2e565b815181526020808301519082015260408083015190820152606081016126f1565b600060408284031215614eb757600080fd5b614ebf6148dd565b82518152602083015160208201528091505092915050565b82815260808101612b9f60208301848051825260208082015190830152604090810151910152565b600060208284031215614f1157600080fd5b5051919050565b600060808284031215614f2a57600080fd5b614f326148dd565b82358152614f438460208501614e2e565b60208201529392505050565b6001600160a01b038316815281356020820152614f8660408201602084018035825260208082013590830152604090810135910152565b60c060a0820181905260009082015260e00192915050565b60006001600160a01b038085168352833560208401526020840135614fc2816145a1565b1660408301525060806060820181905260009082015260a00192915050565b6001600160a01b038316815261500e60208201838035825260208082013590830152604090810135910152565b60a06080820181905260009082015260c00192915050565b6001600160a01b038316815260006020604081840152835180604085015260005b8181101561506357858101830151858201606001528201615047565b506000606082860101526060601f19601f830116850101925050509392505050565b60006060828403121561509757600080fd5b61509f6148b4565b8251815260208301516020820152604083015160408201528091505092915050565b6000816150d0576150d061478a565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561510857600080fd5b612b9f82614dd3565b6001600160a01b038316815260808101612b9f6020830184805182526020808201519083015260409081015191015256608060405234801561001057600080fd5b50604051610da4380380610da483398101604081905261002f91610037565b600055610050565b60006020828403121561004957600080fd5b5051919050565b610d458061005f6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063c51d69f4116100b2578063e440908c11610081578063f3c61e5b11610066578063f3c61e5b14610375578063fcdb667014610395578063ff324dbe146103a857600080fd5b8063e440908c1461033f578063f0b361561461036d57600080fd5b8063c51d69f4146102f0578063d7476f7e146102f9578063db69f8a21461030c578063dc064ea81461032c57600080fd5b8063a613fcd4116100ee578063a613fcd41461026e578063aabbe89314610281578063ace6b1c5146102ca578063c2fd42cf146102dd57600080fd5b8063398771cc14610120578063441a94421461015a57806372f68a6e1461017d5780638877858e146101dc575b600080fd5b61013361012e366004610a60565b6103bb565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b61016d610168366004610afc565b610534565b6040519015158152602001610151565b6101ce61018b366004610afc565b6040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b604051908152602001610151565b61026c6101ea366004610b18565b6040805183516020808301919091528085018051838501528584018051606080860191909152855180860390910181526080909401855283519383019390932085516000908152600180855286822098518955925192880192909255925160029687015584820151928152948152828520919091559151600390925290912055565b005b6101ce61027c366004610a60565b6105a1565b6102af61028f366004610a60565b600160208190526000918252604090912080549181015460029091015483565b60408051938452602084019290925290820152606001610151565b6101ce6102d8366004610bcf565b6105ae565b6101ce6102eb366004610bf1565b610617565b6101ce60005481565b610133610307366004610a60565b61062a565b6101ce61031a366004610a60565b60026020526000908152604090205481565b61013361033a366004610a60565b61076a565b61035261034d366004610afc565b6107c6565b60408051825181526020928301519281019290925201610151565b6101ce6108a8565b6101ce610383366004610a60565b60036020526000908152604090205481565b6101ce6103a3366004610afc565b6108dd565b6101ce6103b6366004610c26565b610940565b6103df60405180606001604052806000815260200160008152602001600081525090565b60008054819081906001905b6103f6816002610c79565b610401906001610c90565b61040b9088610cd2565b945060008186111561041e576000610428565b6104288683610ce6565b9050600086610438846003610c79565b6104429190610ce6565b90508161044f8183610ce6565b60408051602081018d9052016040516020818303038152906040528051906020012060001c61047e9190610cd2565b6104889190610c90565b95508587610497856003610c79565b6104a19190610ce6565b6104ab9190610ce6565b60408051602081018c905290810186905290955060600160408051601f1981840301815291905280516020909101209850836104e681610cf9565b945050505061050e604051806060016040528087815260200186815260200185815250610534565b156103eb5750506040805160608101825293845260208401929092529082015292915050565b60008054610543906003610c79565b6040830151602084015184516105599190610c90565b6105639190610c90565b14801561059b575060005461059883604051806060016040528060005481526020016000548152602001600054815250610984565b11155b92915050565b600061059b826006610c79565b600082815260016020818152604080842081516060808201845282548252828601548286015260029283015482850152878752858552838720845191820185528054825295860154948101949094529301549082015261060e8282610984565b95945050505050565b60006106238383610984565b9392505050565b61064e60405180606001604052806000815260200160008152602001600081525090565b6000610659836103bb565b905060006106a4826040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b905060015b6000828152600260205260409020541515806106d2575060008281526003602052604090205415155b156107615760408051602081018490529081018290526060016040516020818303038152906040528051906020012060001c945061070f856103bb565b604080518251602080830191909152808401518284015282840151606080840191909152835180840390910181526080909201909252805191012090935091508061075981610cf9565b9150506106a9565b50909392505050565b61078e60405180606001604052806000815260200160008152602001600081525090565b506000908152600160208181526040928390208351606081018552815481529281015491830191909152600201549181019190915290565b6040805180820190915260008082526020820152604051806040016040528060036000610830866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b81526020019081526020016000205481526020016002600061088f866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020548152509050919050565b600080546108b7816001610c90565b6108c2826003610c79565b6108cc9190610c79565b6108d7906001610c90565b91505090565b60006002600061092a846040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020549050919050565b600082815260016020818152604080842081516060810183528154815293810154928401929092526002909101549082015261097c8184610984565b949350505050565b805182516000918291116109a557835183516109a09190610ce6565b6109b3565b825184516109b39190610ce6565b9050600083602001518560200151116109df57846020015184602001516109da9190610ce6565b6109f3565b836020015185602001516109f39190610ce6565b905060008460400151866040015111610a1f5785604001518560400151610a1a9190610ce6565b610a33565b84604001518660400151610a339190610ce6565b9050600281610a428486610c90565b610a4c9190610c90565b610a569190610d31565b9695505050505050565b600060208284031215610a7257600080fd5b5035919050565b600060608284031215610a8b57600080fd5b6040516060810181811067ffffffffffffffff82111715610ad5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201525092915050565b600060608284031215610b0e57600080fd5b6106238383610a79565b60008082840360a0811215610b2c57600080fd5b610b368585610a79565b925060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215610b6857600080fd5b506040516040810181811067ffffffffffffffff82111715610bb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040526060840135815260809093013560208401525092909150565b60008060408385031215610be257600080fd5b50508035926020909101359150565b60008060c08385031215610c0457600080fd5b610c0e8484610a79565b9150610c1d8460608501610a79565b90509250929050565b60008060808385031215610c3957600080fd5b82359150610c1d8460208501610a79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761059b5761059b610c4a565b8082018082111561059b5761059b610c4a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610ce157610ce1610ca3565b500690565b8181038181111561059b5761059b610c4a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d2a57610d2a610c4a565b5060010190565b600082610d4057610d40610ca3565b5004905600000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "nonce": "0x279", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x229BD9D27B4775cbeF8e5B116DD48574b80c0442", + "initCode": "0x608060405234801561001057600080fd5b50604051610da4380380610da483398101604081905261002f91610037565b600055610050565b60006020828403121561004957600080fd5b5051919050565b610d458061005f6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063c51d69f4116100b2578063e440908c11610081578063f3c61e5b11610066578063f3c61e5b14610375578063fcdb667014610395578063ff324dbe146103a857600080fd5b8063e440908c1461033f578063f0b361561461036d57600080fd5b8063c51d69f4146102f0578063d7476f7e146102f9578063db69f8a21461030c578063dc064ea81461032c57600080fd5b8063a613fcd4116100ee578063a613fcd41461026e578063aabbe89314610281578063ace6b1c5146102ca578063c2fd42cf146102dd57600080fd5b8063398771cc14610120578063441a94421461015a57806372f68a6e1461017d5780638877858e146101dc575b600080fd5b61013361012e366004610a60565b6103bb565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b61016d610168366004610afc565b610534565b6040519015158152602001610151565b6101ce61018b366004610afc565b6040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b604051908152602001610151565b61026c6101ea366004610b18565b6040805183516020808301919091528085018051838501528584018051606080860191909152855180860390910181526080909401855283519383019390932085516000908152600180855286822098518955925192880192909255925160029687015584820151928152948152828520919091559151600390925290912055565b005b6101ce61027c366004610a60565b6105a1565b6102af61028f366004610a60565b600160208190526000918252604090912080549181015460029091015483565b60408051938452602084019290925290820152606001610151565b6101ce6102d8366004610bcf565b6105ae565b6101ce6102eb366004610bf1565b610617565b6101ce60005481565b610133610307366004610a60565b61062a565b6101ce61031a366004610a60565b60026020526000908152604090205481565b61013361033a366004610a60565b61076a565b61035261034d366004610afc565b6107c6565b60408051825181526020928301519281019290925201610151565b6101ce6108a8565b6101ce610383366004610a60565b60036020526000908152604090205481565b6101ce6103a3366004610afc565b6108dd565b6101ce6103b6366004610c26565b610940565b6103df60405180606001604052806000815260200160008152602001600081525090565b60008054819081906001905b6103f6816002610c79565b610401906001610c90565b61040b9088610cd2565b945060008186111561041e576000610428565b6104288683610ce6565b9050600086610438846003610c79565b6104429190610ce6565b90508161044f8183610ce6565b60408051602081018d9052016040516020818303038152906040528051906020012060001c61047e9190610cd2565b6104889190610c90565b95508587610497856003610c79565b6104a19190610ce6565b6104ab9190610ce6565b60408051602081018c905290810186905290955060600160408051601f1981840301815291905280516020909101209850836104e681610cf9565b945050505061050e604051806060016040528087815260200186815260200185815250610534565b156103eb5750506040805160608101825293845260208401929092529082015292915050565b60008054610543906003610c79565b6040830151602084015184516105599190610c90565b6105639190610c90565b14801561059b575060005461059883604051806060016040528060005481526020016000548152602001600054815250610984565b11155b92915050565b600061059b826006610c79565b600082815260016020818152604080842081516060808201845282548252828601548286015260029283015482850152878752858552838720845191820185528054825295860154948101949094529301549082015261060e8282610984565b95945050505050565b60006106238383610984565b9392505050565b61064e60405180606001604052806000815260200160008152602001600081525090565b6000610659836103bb565b905060006106a4826040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b905060015b6000828152600260205260409020541515806106d2575060008281526003602052604090205415155b156107615760408051602081018490529081018290526060016040516020818303038152906040528051906020012060001c945061070f856103bb565b604080518251602080830191909152808401518284015282840151606080840191909152835180840390910181526080909201909252805191012090935091508061075981610cf9565b9150506106a9565b50909392505050565b61078e60405180606001604052806000815260200160008152602001600081525090565b506000908152600160208181526040928390208351606081018552815481529281015491830191909152600201549181019190915290565b6040805180820190915260008082526020820152604051806040016040528060036000610830866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b81526020019081526020016000205481526020016002600061088f866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020548152509050919050565b600080546108b7816001610c90565b6108c2826003610c79565b6108cc9190610c79565b6108d7906001610c90565b91505090565b60006002600061092a846040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020549050919050565b600082815260016020818152604080842081516060810183528154815293810154928401929092526002909101549082015261097c8184610984565b949350505050565b805182516000918291116109a557835183516109a09190610ce6565b6109b3565b825184516109b39190610ce6565b9050600083602001518560200151116109df57846020015184602001516109da9190610ce6565b6109f3565b836020015185602001516109f39190610ce6565b905060008460400151866040015111610a1f5785604001518560400151610a1a9190610ce6565b610a33565b84604001518660400151610a339190610ce6565b9050600281610a428486610c90565b610a4c9190610c90565b610a569190610d31565b9695505050505050565b600060208284031215610a7257600080fd5b5035919050565b600060608284031215610a8b57600080fd5b6040516060810181811067ffffffffffffffff82111715610ad5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201525092915050565b600060608284031215610b0e57600080fd5b6106238383610a79565b60008082840360a0811215610b2c57600080fd5b610b368585610a79565b925060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215610b6857600080fd5b506040516040810181811067ffffffffffffffff82111715610bb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040526060840135815260809093013560208401525092909150565b60008060408385031215610be257600080fd5b50508035926020909101359150565b60008060c08385031215610c0457600080fd5b610c0e8484610a79565b9150610c1d8460608501610a79565b90509250929050565b60008060808385031215610c3957600080fd5b82359150610c1d8460208501610a79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761059b5761059b610c4a565b8082018082111561059b5761059b610c4a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610ce157610ce1610ca3565b500690565b8181038181111561059b5761059b610c4a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d2a57610d2a610c4a565b5060010190565b600082610d4057610d40610ca3565b500490560000000000000000000000000000000000000000000000000000000000000015" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x493292edbebadfb3b95fee528d0c9a06b3c507e10bb5012af84b67ad3cb2689e", + "transactionType": "CREATE", + "contractName": "GameView", + "contractAddress": "0xAFf0E741b60288110bA7a400Ef6a99917faA593c", + "function": null, + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x100053", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b50604051610dcf380380610dcf83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610d3c806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063260e88bf14610046578063a03d4dd014610064578063c3fe3e2814610079575b600080fd5b61004e6100be565b60405161005b91906108be565b60405180910390f35b61006c6104a4565b60405161005b9190610929565b6000546100999073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161005b565b60606000808060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385b4bb536040518163ffffffff1660e01b815260040161012060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101549190610a4c565b60200151905060006101668280610af6565b67ffffffffffffffff81111561017e5761017e6109cc565b6040519080825280602002602001820160405280156101b757816020015b6101a461082d565b81526020019060019003908161019c5790505b50905060005b6101c8836002610af6565b6101d3906001610b13565b81116103ee576000838211156101ea5760006101f4565b6101f48285610b26565b9050600082610204866003610af6565b61020e9190610b26565b9050815b818110156103d85760008185610229896003610af6565b6102339190610b26565b61023d9190610b26565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633264a34b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d19190610b5e565b73ffffffffffffffffffffffffffffffffffffffff1663fcdb66706040518060600160405280898152602001868152602001858152506040518263ffffffff1660e01b81526004016103239190610b82565b602060405180830381865afa158015610340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103649190610ba3565b905080156103c3576040805160a08101825290810187815260608201859052608082018490528152602081018290528751819089908c9081106103a9576103a9610bbc565b60209081029190910101526103bf60018b610b13565b9950505b505080806103d090610beb565b915050610212565b50505080806103e690610beb565b9150506101bd565b5060008367ffffffffffffffff81111561040a5761040a6109cc565b60405190808252806020026020018201604052801561044357816020015b61043061082d565b8152602001906001900390816104285790505b50905060005b8481101561049b5782818151811061046357610463610bbc565b602002602001015182828151811061047d5761047d610bbc565b6020026020010181905250808061049390610beb565b915050610449565b50949350505050565b60008054604080517fc2e5220600000000000000000000000000000000000000000000000000000000815290516060939273ffffffffffffffffffffffffffffffffffffffff169163c2e522069160048083019260209291908290030181865afa158015610516573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053a9190610ba3565b67ffffffffffffffff811115610552576105526109cc565b60405190808252806020026020018201604052801561058b57816020015b610578610869565b8152602001906001900390816105705790505b50905060015b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c2e522066040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106209190610ba3565b81116108275760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633264a34b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b89190610b5e565b73ffffffffffffffffffffffffffffffffffffffff1663dc064ea8836040518263ffffffff1660e01b81526004016106f291815260200190565b606060405180830381865afa15801561070f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107339190610c23565b600080546040517f51cdc8c600000000000000000000000000000000000000000000000000000000815260048101869052929350909173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa1580156107a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cc9190610ca6565b9050604051806060016040528082815260200183815260200184815250846001856107f79190610b26565b8151811061080757610807610bbc565b60200260200101819052505050808061081f90610beb565b915050610591565b50919050565b604051806040016040528061085c60405180606001604052806000815260200160008152602001600081525090565b8152602001600081525090565b6040805160e081019091526000606082018181526080830182905260a0830182905260c08301919091528190815260200161085c60405180606001604052806000815260200160008152602001600081525090565b6020808252825182820181905260009190848201906040850190845b8181101561091d5783516109038482518051825260208082015190830152604090810151910152565b8501516060840152928401926080909201916001016108da565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b828110156109bf5781518051805173ffffffffffffffffffffffffffffffffffffffff16865287810151888701528681015187870152606090810151908601528681015180516080870152602081015160a08701526040015160c086015285015160e08501526101009093019290850190600101610946565b5091979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715610a46577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b60006101208284031215610a5f57600080fd5b610a676109fb565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610b0d57610b0d610ac7565b92915050565b80820180821115610b0d57610b0d610ac7565b81810381811115610b0d57610b0d610ac7565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5b57600080fd5b50565b600060208284031215610b7057600080fd5b8151610b7b81610b39565b9392505050565b81518152602080830151908201526040808301519082015260608101610b0d565b600060208284031215610bb557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610c1c57610c1c610ac7565b5060010190565b600060608284031215610c3557600080fd5b6040516060810181811067ffffffffffffffff82111715610c7f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508251815260208301516020820152604083015160408201528091505092915050565b600060808284031215610cb857600080fd5b6040516080810181811067ffffffffffffffff82111715610d02577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040528251610d1081610b39565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "nonce": "0x27a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9553b3ea1610cef990fb320170cb646b27df10b31277ddf060c886880def845b", + "transactionType": "CREATE", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x3d95dd", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506137af806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806394c58cfe14610030575b600080fd5b61004361003e3660046101e2565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60008082600181111561008157610081610241565b036101325760008484604051610096906101c8565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103906000f0801580156100d4573d6000803e3d6000fd5b5090508473ffffffffffffffffffffffffffffffffffffffff167ff5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624848387336040516101239493929190610270565b60405180910390a290506101c1565b600182600181111561014657610146610241565b0361015b5760008484604051610096906101d5565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f486f6f6b466163746f72793a20696e76616c696420686f6f6b20747970650000604482015260640160405180910390fd5b9392505050565b6119fa806102e083390190565b611ad580611cda83390190565b6000806000606084860312156101f757600080fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461021b57600080fd5b92506020840135915060408401356002811061023657600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60808101600286106102ab577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b94815273ffffffffffffffffffffffffffffffffffffffff938416602082015260408101929092529091166060909101529056fe608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b939250505056608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b506001019056", + "nonce": "0x27b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x5337122c6b5ce24D970Ce771510D22Aeaf038C44, [], ryan)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x8edfe", + "value": "0x0", + "data": "0x6d4175e200000000000000000000000000000000000000000000000000000000000000200000000000000000000000005337122c6b5ce24d970ce771510d22aeaf038c4400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047279616e00000000000000000000000000000000000000000000000000000000", + "nonce": "0x27c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "1", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x27d", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000001" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "1", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x27e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000001" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "1", + "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b008", + "nonce": "0x27f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "1", + "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f9", + "nonce": "0x280", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4624e1da8593e14255ca94e5073f38eac203b4596e3d71077cf78ba49971152f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5337122c6b5ce24d970ce771510d22aeaf038c44", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x281", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x9Ada897d963028923B645d72D01c3beB1343e072, [], sam)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x645bd", + "value": "0x0", + "data": "0x6d4175e200000000000000000000000000000000000000000000000000000000000000200000000000000000000000009ada897d963028923b645d72d01c3beb1343e072000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000373616d0000000000000000000000000000000000000000000000000000000000", + "nonce": "0x282", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "2", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x283", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000002" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "2", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x284", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000002" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "2", + "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed", + "nonce": "0x285", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "2", + "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000020000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d9781", + "nonce": "0x286", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf5e6eb0f61d98b779b8c381fa9a7fe512f6e6df30b7d476ecf2e80038fc8fd50", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x9ada897d963028923b645d72d01c3beb1343e072", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x287", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x60de91d489D41FAF4C42F5734fF5E8c95A0990F9, [], hopper)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x6459a", + "value": "0x0", + "data": "0x6d4175e2000000000000000000000000000000000000000000000000000000000000002000000000000000000000000060de91d489d41faf4c42f5734ff5e8c95a0990f90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006686f707065720000000000000000000000000000000000000000000000000000", + "nonce": "0x288", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "3", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x289", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x109fd81E3d772B308b7c64213185865070eC7143", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000003" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "3", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x28a", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000003" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "3", + "0x109fd81E3d772B308b7c64213185865070eC7143" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000109fd81e3d772b308b7c64213185865070ec7143", + "nonce": "0x28b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "3", + "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e22171154", + "nonce": "0x28c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf1b4cb9a00e394adc1e59cdcc0af24174c249ffeb4782c0b7414cd56a9958db8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x60de91d489d41faf4c42f5734ff5e8c95a0990f9", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x28d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0xA288d0BF9fe24773350394b011f6315Ff04a1025, [], emily)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x645dd", + "value": "0x0", + "data": "0x6d4175e20000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a288d0bf9fe24773350394b011f6315ff04a10250000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005656d696c79000000000000000000000000000000000000000000000000000000", + "nonce": "0x28e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "4", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x28f", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000004" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "4", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x290", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000004" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "4", + "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c9", + "nonce": "0x291", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "4", + "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d", + "nonce": "0x292", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9417705bd264f25b7098120b661c6ad2e4fbae4f263e84ab20869ebb98906d46", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0xa288d0bf9fe24773350394b011f6315ff04a1025", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x293", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0xD9Fd9E6C91e984F8461e4d15468b77fdff1B1bcd, [], aidan)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x6457a", + "value": "0x0", + "data": "0x6d4175e20000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d9fd9e6c91e984f8461e4d15468b77fdff1b1bcd0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005616964616e000000000000000000000000000000000000000000000000000000", + "nonce": "0x294", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "5", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x295", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xE637A68f7026c68713856cF66D9Cbd5C05102e80", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000005" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "5", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x296", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000005" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "5", + "0xE637A68f7026c68713856cF66D9Cbd5C05102e80" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e80", + "nonce": "0x297", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "5", + "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000050000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d0", + "nonce": "0x298", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe92f76dd24818505b3045cf9bb24bfc69ca17296249cb8786335ec0b67254ff5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0xd9fd9e6c91e984f8461e4d15468b77fdff1b1bcd", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x299", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7220ca801c8281bf3e86a69241772d841b29520c7f33d49dcf080fc1a8c6cf24", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "setOwner(address)", + "arguments": [ + "0x0000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x76ad", + "value": "0x0", + "data": "0x13af40350000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x29a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "start()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18838", + "value": "0x0", + "data": "0xbe9a6555", + "nonce": "0x29b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/Give.sol:GiveLib:0xfa109ab9c85c5f0181e6548f83c25ef37b3ffec9" + ], + "pending": [ + "0x031e2e1a4e5c9432d433a3450ca0d00c7761ea1d5b95080e3bac1c085b37660a", + "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "0x493292edbebadfb3b95fee528d0c9a06b3c507e10bb5012af84b67ad3cb2689e", + "0x9553b3ea1610cef990fb320170cb646b27df10b31277ddf060c886880def845b", + "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "0x4624e1da8593e14255ca94e5073f38eac203b4596e3d71077cf78ba49971152f", + "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "0xf5e6eb0f61d98b779b8c381fa9a7fe512f6e6df30b7d476ecf2e80038fc8fd50", + "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "0xf1b4cb9a00e394adc1e59cdcc0af24174c249ffeb4782c0b7414cd56a9958db8", + "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "0x9417705bd264f25b7098120b661c6ad2e4fbae4f263e84ab20869ebb98906d46", + "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "0xe92f76dd24818505b3045cf9bb24bfc69ca17296249cb8786335ec0b67254ff5", + "0x7220ca801c8281bf3e86a69241772d841b29520c7f33d49dcf080fc1a8c6cf24", + "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba" + ], + "returns": {}, + "timestamp": 1698109964, + "chain": 5, + "multi": false, + "commit": "d2ba2ea" +} \ No newline at end of file diff --git a/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-1698109995.json b/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-1698109995.json new file mode 100644 index 0000000..1a2b6ea --- /dev/null +++ b/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-1698109995.json @@ -0,0 +1,2003 @@ +{ + "transactions": [ + { + "hash": "0x031e2e1a4e5c9432d433a3450ca0d00c7761ea1d5b95080e3bac1c085b37660a", + "transactionType": "CREATE", + "contractName": "GiveLib", + "contractAddress": "0xfa109ab9C85c5F0181e6548F83c25ef37b3FFEc9", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x763ef", + "data": "0x6105d161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80631c49198f1461004557806394cbfbff14610080575b600080fd5b81801561005157600080fd5b50610065610060366004610487565b610095565b60408051921515835290151560208301520160405180910390f35b61009361008e3660046104cb565b6101c6565b005b604080860151606087015187516020808a01516000838152918a90529481206001018054919586959493929091859187906100d1908490610554565b9091555050600082815260208b90526040812060020180548592906100f7908490610554565b9091555050600081815260208b90526040902060010154610158576001890180549060006101248361056d565b91905055508089600401600082825461013d91906105a5565b90915550506000818152602089905260409020879055600194505b600081815260208b90526040812060010180548692906101799084906105a5565b9091555050600081815260208b905260408120600201805485929061019f9084906105a5565b90915550505060009081526020989098525050604090952060010154159694955050505050565b60408084015160608501518551602080880151600083815291889052949020600101549293919290919084111561025e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f7420656e6f7567682068656172747300000000000000000000000000000060448201526064015b60405180910390fd5b6000828152602087905260409020600201548311156102d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610255565b6040517face6b1c5000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260009073ffffffffffffffffffffffffffffffffffffffff87169063ace6b1c590604401602060405180830381865afa15801561034e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037291906105b8565b6000848152602089905260409020600301549091508111156103f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f746172676574206f7574206f662072616e6765000000000000000000000000006044820152606401610255565b5050505050505050565b60006080828403121561040c57600080fd5b6040516080810181811067ffffffffffffffff82111715610456577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b600080600080600061010086880312156104a057600080fd5b6104aa87876103fa565b976080870135975060a08701359660c0810135965060e00135945092505050565b600080600060c084860312156104e057600080fd5b6104ea85856103fa565b92506080840135915060a084013573ffffffffffffffffffffffffffffffffffffffff8116811461051a57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561056757610567610525565b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361059e5761059e610525565b5060010190565b8082018082111561056757610567610525565b6000602082840312156105ca57600080fd5b505191905056", + "nonce": "0x278", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionType": "CREATE", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": null, + "arguments": [ + "(5, 21, 1, 3, 3, 30, 0, 5, 0x0000000000000000000000000000000000000000000000000000000000000000)", + "0x3c5CD6c3A8f47443f739597A89A630868F805e2e" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x6e3f00", + "value": "0x0", + "data": "0x6080604052604051620062cb380380620062cb8339810160408190526200002691620002e6565b600382602001516200003991906200038a565b15620000805760405162461bcd60e51b8152602060048201526012602482015271696e76616c696420626f6172642073697a6560701b604482015260640160405180910390fd5b6040805183518152602080850151908201528382015181830152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e08085015190820152610100808501519082015290517fd238cf491e3dd71f67796a95afc0def045cac20be422b1bb24d9dc52aa5647b3918190036101200190a181516018556020808301516019819055604080850151601a556060850151601b556080850151601c5560a0850151601d5560c0850151601e5560e0850151601f556101008501519092556017805460ff60a01b191690559051620001689062000283565b908152602001604051809103906000f0801580156200018b573d6000803e3d6000fd5b50602980546001600160a01b0319166001600160a01b039290921691909117905560e0820151620001bd9043620003ad565b601555601780546001600160a01b0319166001600160a01b038316179055620001e56200022a565b6015546040805133815260208101929092527f5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed7910160405180910390a15050620003d5565b34600e60008282546200023e9190620003ad565b909155505060408051338152346020820152478183015290517fde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b69181900360600190a1565b610da4806200552783390190565b60405161012081016001600160401b0381118282101715620002c357634e487b7160e01b600052604160045260246000fd5b60405290565b80516001600160a01b0381168114620002e157600080fd5b919050565b600080828403610140811215620002fc57600080fd5b610120808212156200030d57600080fd5b6200031762000291565b9150845182526020850151602083015260408501516040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152508193506200037f818601620002c9565b925050509250929050565b600082620003a857634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115620003cf57634e487b7160e01b600052601160045260246000fd5b92915050565b61514280620003e56000396000f3fe6080604052600436106103345760003560e01c8063a475b5dd116101b0578063dbe7e3bd116100ec578063ed28a70811610095578063f1da90b61161006f578063f1da90b614610b5a578063f3c61e5b14610b7a578063fd9929ab14610ba7578063ff329e7c14610bc757600080fd5b8063ed28a70814610b0f578063ed88c68e14610b25578063ef98d5be14610b2d57600080fd5b8063e06174e4116100c6578063e06174e414610a47578063e0c3e68514610ac2578063e2eb41ff14610ae257600080fd5b8063dbe7e3bd146109d7578063df46067c14610a07578063e023915b14610a2757600080fd5b8063be9a655511610159578063c2de609411610133578063c2de60941461093a578063c2e522061461095a578063c47e02521461096f578063db69f8a2146109aa57600080fd5b8063be9a6555146108d3578063c125c06f146108e8578063c19d93fb1461090857600080fd5b8063ade3eca31161018a578063ade3eca31461086d578063bb2b1bf41461088d578063bd3eb826146108a357600080fd5b8063a475b5dd146107e2578063a5bbee79146107f7578063aabbe8931461081757600080fd5b806366bb81c71161027f57806385b4bb531161022857806396dc23771161020257806396dc2377146107545780639b233a41146107745780639da7d02e146107ac578063a3f67d6d146107cc57600080fd5b806385b4bb531461069257806389b3d1b1146107145780638da5cb5b1461073457600080fd5b8063757991a811610259578063757991a81461061257806376044bd1146106275780637cd3229a1461067257600080fd5b806366bb81c7146105d35780636d4175e2146105e9578063719ce73e146105fc57600080fd5b80631e8fb36a116102e15780634b5ede09116102bb5780634b5ede09146104e85780634d5e9695146104fe57806351cdc8c61461057757600080fd5b80631e8fb36a1461042a5780633264a34b146104aa5780634a03e0ef146104c857600080fd5b806315cf5d781161031257806315cf5d78146103bb57806315e5a1e5146103db5780631865c57d146103f157600080fd5b8063019712f41461033957806309c432941461037657806313af403514610399575b600080fd5b34801561034557600080fd5b5061035961035436600461457f565b610be7565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561038257600080fd5b5061038b610c1f565b60405190815260200161036d565b3480156103a557600080fd5b506103b96103b43660046145b9565b610c76565b005b3480156103c757600080fd5b506103b96103d63660046145ee565b610d0f565b3480156103e757600080fd5b5061038b600f5481565b3480156103fd57600080fd5b5060175474010000000000000000000000000000000000000000900460ff165b60405161036d9190614639565b34801561043657600080fd5b5060215460225460235460245460255460265460275460285461046697969594939291906001600160a01b031688565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c08301526001600160a01b031660e08201526101000161036d565b3480156104b657600080fd5b506029546001600160a01b0316610359565b3480156104d457600080fd5b506103b96104e336600461467a565b610fef565b3480156104f457600080fd5b5061038b60145481565b34801561050a57600080fd5b5061054d6105193660046146aa565b600160208190526000918252604090912080549181015460028201546003909201546001600160a01b039093169290919084565b604080516001600160a01b039095168552602085019390935291830152606082015260800161036d565b34801561058357600080fd5b506105976105923660046146aa565b6110d9565b60405161036d919081516001600160a01b0316815260208083015190820152604080830151908201526060918201519181019190915260800190565b3480156105df57600080fd5b5061038b60155481565b6103b96105f73660046146d5565b61115a565b34801561060857600080fd5b5061038b600e5481565b34801561061e57600080fd5b5061038b611442565b34801561063357600080fd5b5061066261064236600461457f565b600960209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161036d565b34801561067e57600080fd5b50602954610359906001600160a01b031681565b34801561069e57600080fd5b506106a761144c565b60405161036d9190600061012082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525092915050565b34801561072057600080fd5b506103b961072f366004614724565b6114f8565b34801561074057600080fd5b50601754610359906001600160a01b031681565b34801561076057600080fd5b506103b961076f366004614752565b61189e565b34801561078057600080fd5b5061038b61078f36600461457f565b600760209081526000928352604080842090915290825290205481565b3480156107b857600080fd5b506103b96107c7366004614724565b611ae6565b3480156107d857600080fd5b5061038b600c5481565b3480156107ee57600080fd5b506103b96120e7565b34801561080357600080fd5b506103b96108123660046145ee565b6121e3565b34801561082357600080fd5b506108526108323660046146aa565b600260208190526000918252604090912080546001820154919092015483565b6040805193845260208401929092529082015260600161036d565b34801561087957600080fd5b5061038b6108883660046146aa565b6125fc565b34801561089957600080fd5b5061038b60165481565b3480156108af57600080fd5b506106626108be3660046146aa565b60086020526000908152604090205460ff1681565b3480156108df57600080fd5b506103b961261d565b3480156108f457600080fd5b5061038b6109033660046146aa565b6126e6565b34801561091457600080fd5b5060175461041d9074010000000000000000000000000000000000000000900460ff1681565b34801561094657600080fd5b506103b96109553660046145ee565b6126f7565b34801561096657600080fd5b50600c5461038b565b34801561097b57600080fd5b5061066261098a36600461467a565b600660209081526000928352604080842090915290825290205460ff1681565b3480156109b657600080fd5b5061038b6109c53660046146aa565b60036020526000908152604090205481565b3480156109e357600080fd5b506106626109f23660046146aa565b600a6020526000908152604090205460ff1681565b348015610a1357600080fd5b50610662610a2236600461467a565b612b55565b348015610a3357600080fd5b506103b9610a4236600461467a565b612ba6565b348015610a5357600080fd5b50601854601954601a54601b54601c54601d54601e54601f54602054610a7e98979695949392919089565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200161036d565b348015610ace57600080fd5b5061038b610add3660046146aa565b612d9d565b348015610aee57600080fd5b5061038b610afd3660046145b9565b60006020819052908152604090205481565b348015610b1b57600080fd5b5061038b600d5481565b6103b9612db4565b348015610b3957600080fd5b5061038b610b483660046146aa565b60056020526000908152604090205481565b348015610b6657600080fd5b506103b9610b7536600461476e565b612e0e565b348015610b8657600080fd5b5061038b610b953660046146aa565b60046020526000908152604090205481565b348015610bb357600080fd5b506103b9610bc2366004614752565b6133ed565b348015610bd357600080fd5b5061038b610be23660046146aa565b61361b565b600b6020528160005260406000208181548110610c0357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008060175474010000000000000000000000000000000000000000900460ff166002811115610c5157610c5161460a565b03610c5c5750600090565b600f54610c676136c3565b610c7191906147b9565b905090565b6017546001600160a01b03163314610cd55760405162461bcd60e51b815260206004820152600960248201527f6e6f74206f776e6572000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b601780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8035610d1b8133612b55565b610d675760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b81356000610d7b60408501602086016145b9565b9050600260175474010000000000000000000000000000000000000000900460ff166002811115610dae57610dae61460a565b14610dfb5760405162461bcd60e51b815260206004820152600e60248201527f67616d65206e6f7420656e6465640000000000000000000000000000000000006044820152606401610ccc565b6000828152600a602052604090205460ff1615610e5a5760405162461bcd60e51b815260206004820152600f60248201527f616c726561647920636c61696d656400000000000000000000000000000000006044820152606401610ccc565b6000828152600a6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805b6003811015610f9a578360108260038110610eb057610eb06147cc565b015403610f885760008115610ed55781600114610ece57600a610ed8565b601e610ed8565b603c5b60ff1690506000606482600e54610eef91906147fb565b610ef99190614812565b6040519091506001600160a01b0386169082156108fc029083906000818181858888f19350505050158015610f32573d6000803e3d6000fd5b50604080516001600160a01b0387168152602081018890529081018290527f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf79060600160405180910390a1600193505050610f9a565b80610f928161484d565b915050610e93565b5080610fe85760405162461bcd60e51b815260206004820152600d60248201527f6e6f74206f6e20706f6469756d000000000000000000000000000000000000006044820152606401610ccc565b5050505050565b6017546001600160a01b031633146110495760405162461bcd60e51b815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610ccc565b6000828152600b6020908152604080832080546001810182559084529282902090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385169081179091558251858152918201527f37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e91015b60405180910390a15050565b61110d604051806080016040528060006001600160a01b031681526020016000815260200160008152602001600081525090565b50600090815260016020818152604092839020835160808101855281546001600160a01b031681529281015491830191909152600281015492820192909252600390910154606082015290565b60408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e08201529054610100820152600c546111cb916000916111c3856149a1565b9291906136d3565b60295460408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e08201529054610100820152600091611251916001600160a01b039091169060019084906021611247886149a1565b949392919061389b565b602154600c55602554601455602254600d5590507f8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd661129360208401846145b9565b600c54836112a46040870187614a87565b6040516112b5959493929190614b1e565b60405180910390a160005b600c546000908152600b602052604090205481101561143d57600c546000908152600b602052604081208054839081106112fc576112fc6147cc565b60009182526020822001546040517f6e0676da0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290636e0676da906113529030908990600401614c22565b6020604051808303816000875af1158015611371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113959190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f6e0676da00000000000000000000000000000000000000000000000000000000146114285760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806114359061484d565b9150506112c0565b505050565b6000610c716136c3565b61149e6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b5060408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e0820152905461010082015290565b600160175474010000000000000000000000000000000000000000900460ff1660028111156115295761152961460a565b146115765760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b80356115828133612b55565b6115ce5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b81356000818152600160208190526040909120015461162f5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b8235602084013561164536869003860186614d6d565b602954604080517f94cbfbff00000000000000000000000000000000000000000000000000000000815283516004820152602084015160248201529083015160448201526060909201516064830152600160848301526001600160a01b031660a482015273fa109ab9c85c5f0181e6548f83c25ef37b3ffec9906394cbfbff9060c40160006040518083038186803b1580156116e057600080fd5b505af41580156116f4573d6000803e3d6000fd5b505050506000808680360381019061170c9190614d6d565b73fa109ab9c85c5f0181e6548f83c25ef37b3ffec9631c49198f90916001602160056117366136c3565b604080517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815286516004820152602087015160248201529086015160448201526060909501516064860152608485019390935260a484019190915260c483015260e4820152610104016040805180830381865af41580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e69190614de8565b602254600d5560255460145560408051878152602081018790528a820135818301526060808c01359082015290519294509092507f654b04c5c30ce4656189a7398b7ed5489f63defa1cf3ae9ecc0a649e33910467919081900360800190a18115611855576118558485613b47565b80156118955760408051858152602081018590527fa78677222d515efffcb323b960622c3e2bff3331916798f375b592c2a07f6c5a910160405180910390a15b50505050505050565b600160175474010000000000000000000000000000000000000000900460ff1660028111156118cf576118cf61460a565b1461191c5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b80356119288133612b55565b6119745760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b8135600081815260016020819052604090912001546119d55760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b823560006119e28261361b565b600083815260016020526040902060020154909150811115611a465760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b60008281526001602052604081206002018054839290611a679084906147b9565b909155505060008281526001602081905260408220600301805491929091611a90908490614e1b565b9091555050600082815260016020908152604091829020600301548251858152918201527feb0ebb51128928d7b1a6419c52128a9319bfcb55f0adafea75afbf75f9f2f3e9910160405180910390a15050505050565b600160175474010000000000000000000000000000000000000000900460ff166002811115611b1757611b1761460a565b14611b645760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035611b708133612b55565b611bbc5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b813560008181526001602081905260409091200154611c1d5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b82356000611c3336869003860160208701614e68565b6029546040517fe440908c0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063e440908c90611c82908590600401614e84565b6040805180830381865afa158015611c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc29190614ea5565b6029546040517fff324dbe0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063ff324dbe90611d139087908790600401614ed7565b602060405180830381865afa158015611d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d549190614eff565b602954909150611d83906001600160a01b031660018484611d7a368d90038d018d614f18565b93929190613d15565b60005b6000858152600b6020526040902054811015611efd576000858152600b60205260408120805483908110611dbc57611dbc6147cc565b60009182526020822001546040517f6ba9d5150000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290636ba9d51590611e129030908e90600401614f4f565b6020604051808303816000875af1158015611e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e559190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f6ba9d5150000000000000000000000000000000000000000000000000000000014611ee85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b50508080611ef59061484d565b915050611d86565b50602954611f2a906001600160a01b031660018484611f21368d90038d018d614f18565b93929190613e9e565b7f0b34be83310da514ceef99b4c1f7204a5c5a824070290c9820789bac3d88b6368484604051611f5b929190614ed7565b60405180910390a160005b6000858152600b60205260409020548110156120dd576000858152600b60205260408120805483908110611f9c57611f9c6147cc565b60009182526020822001546040517f200a25520000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063200a255290611ff29030908e90600401614f4f565b6020604051808303816000875af1158015612011573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120359190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f200a255200000000000000000000000000000000000000000000000000000000146120c85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806120d59061484d565b915050611f66565b5050505050505050565b6015544310156121395760405162461bcd60e51b815260206004820152601360248201527f6e6f7420726561647920746f2072657665616c000000000000000000000000006044820152606401610ccc565b6015546040805133815260208101929092527ff254aace0ef98d6ac1a0d84c95648f8e3f7a1881dbb43393709ecd004b00f103910160405180910390a16101006015544361218791906147b9565b11612194576121946140d9565b601f546121a19043614e1b565b60158190556040805133815260208101929092527f5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed791015b60405180910390a1565b80356000818152600160205260409020546001600160a01b0316331461224b5760405162461bcd60e51b815260206004820152600e60248201527f6e6f742074616e6b206f776e65720000000000000000000000000000000000006044820152606401610ccc565b813560005b6000828152600b60205260409020548110156123c7576000828152600b60205260408120805483908110612286576122866147cc565b60009182526020822001546040517f230ad3b30000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063230ad3b3906122dc9030908a90600401614f9e565b6020604051808303816000875af11580156122fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231f9190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f230ad3b300000000000000000000000000000000000000000000000000000000146123b25760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806123bf9061484d565b915050612250565b5060006123da60408501602086016145b9565b60008381526006602090815260408083206001600160a01b03858116808652918452828520805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009091168117909155858552838620899055888652845293829020548251888152938401919091529092168183015290519192507f4aae9d98faa4137df04104122f887002256b47f839145564826f6551f20df117919081900360600190a160005b6000838152600b6020526040902054811015610fe8576000838152600b602052604081208054839081106124bb576124bb6147cc565b60009182526020822001546040517fc08255130000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063c0825513906125119030908b90600401614f9e565b6020604051808303816000875af1158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125549190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fc082551300000000000000000000000000000000000000000000000000000000146125e75760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806125f49061484d565b915050612485565b6013818154811061260c57600080fd5b600091825260209091200154905081565b601854600c5410156126715760405162461bcd60e51b815260206004820152601260248201527f6e6f7420656e6f75676820706c617965727300000000000000000000000000006044820152606401610ccc565b6126796136c3565b600f55601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f762f260439bb4be3ef6e4dc2786e2e7bd187d3d80b79057d7a424fe98563e33590600090a1565b60006126f182614244565b92915050565b600160175474010000000000000000000000000000000000000000900460ff1660028111156127285761272861460a565b146127755760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b803560008181526001602081905260409091200154156127d75760405162461bcd60e51b815260206004820152600d60248201527f74616e6b20697320616c697665000000000000000000000000000000000000006044820152606401610ccc565b816020013560006001600083815260200190815260200160002060010154116128425760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b823561284e8133612b55565b61289a5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b8335602085013560006128ab6136c3565b600081815260096020908152604080832087845290915290205490915060ff16156129185760405162461bcd60e51b815260206004820152600d60248201527f616c726561647920766f746564000000000000000000000000000000000000006044820152606401610ccc565b60008181526008602052604090205460ff16156129775760405162461bcd60e51b815260206004820152600d60248201527f766f74696e6720636c6f736564000000000000000000000000000000000000006044820152606401610ccc565b600081815260076020908152604080832085845290915281208054600192906129a1908490614e1b565b909155505060408051848152602081018490529081018290527f6bbb2afba842b206b06bf91942742fa3dc08583f4653646faadfcffea72402ba9060600160405180910390a16013546129f690600290614812565b612a01906001614e1b565b600082815260076020908152604080832086845290915290205410612b0a576000828152600160208190526040909120600201541115612a6c5760018060008481526020019081526020016000206002016000828254612a6191906147b9565b90915550612a909050565b612a7582614244565b612a80906001614e1b565b6000838152600560205260409020555b60008181526008602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905581518481529081018590529081018290527fe779371387c4bde679554053dbca7c569f72e2dcc4bf6c28465bb5b77b4a2f4b9060600160405180910390a15b60009081526009602090815260408083209483529390529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050565b6000828152600160205260408120546001600160a01b0383811691161480612b9f575060008381526006602090815260408083206001600160a01b038616845290915290205460ff165b9392505050565b81612bb18133612b55565b612bfd5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b6001600160a01b038216612c535760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964206164647265737300000000000000000000000000000000006044820152606401610ccc565b60005b6000848152600b6020526040902054811015612d0c576000848152600b6020526040902080546001600160a01b038516919083908110612c9857612c986147cc565b6000918252602090912001546001600160a01b031603612cfa5760405162461bcd60e51b815260206004820152601260248201527f686f6f6b20616c726561647920616464656400000000000000000000000000006044820152606401610ccc565b80612d048161484d565b915050612c56565b506000838152600b6020908152604080832080546001810182559084529282902090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0386169081179091558251868152918201527f37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e910160405180910390a1505050565b60108160038110612dad57600080fd5b0154905081565b60003411612e045760405162461bcd60e51b815260206004820152600d60248201527f6e6f2076616c75652073656e74000000000000000000000000000000000000006044820152606401610ccc565b612e0c614260565b565b600160175474010000000000000000000000000000000000000000900460ff166002811115612e3f57612e3f61460a565b14612e8c5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035612e988133612b55565b612ee45760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b813560008181526001602081905260409091200154612f455760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b82602001356000600160008381526020019081526020016000206001015411612fb05760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b602954843590602086013590612fe2906001906001600160a01b0316612fdb368a90038a018a614e68565b91906142b6565b60005b6000838152600b602052604090205481101561315c576000838152600b6020526040812080548390811061301b5761301b6147cc565b60009182526020822001546040517f4d2c8f640000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634d2c8f64906130719030908d90600401614fe1565b6020604051808303816000875af1158015613090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b49190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f4d2c8f6400000000000000000000000000000000000000000000000000000000146131475760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806131549061484d565b915050612fe5565b5060408051838152602081018390527f33e6f0759676874e0bacdeb489e6b9add26a0e630e36a11436f28473a606eb6a910160405180910390a16131b060016131aa36899003890189614e68565b90614474565b15613273576000818152600160205260408120600201546131d390600590614812565b9050806001600085815260200190815260200160002060020160008282546131fb9190614e1b565b9091555050600082815260016020526040812060020180548392906132219084906147b9565b909155505060408051848152602081018490529081018290527f51e8d4f8aaf9c60ffae4405a481bb91e06484535112745e154a147feb6a303039060600160405180910390a16132718383613b47565b505b60005b6000838152600b6020526040902054811015611895576000838152600b602052604081208054839081106132ac576132ac6147cc565b60009182526020822001546040517fec7b4f780000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063ec7b4f78906133029030908d90600401614fe1565b6020604051808303816000875af1158015613321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133459190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fec7b4f7800000000000000000000000000000000000000000000000000000000146133d85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806133e59061484d565b915050613276565b600160175474010000000000000000000000000000000000000000900460ff16600281111561341e5761341e61460a565b1461346b5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035600081815260016020819052604090912001546134cc5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b813560006134d86136c3565b9050600f54810361352b5760405162461bcd60e51b815260206004820152601160248201527f746f6f206561726c7920746f20647269700000000000000000000000000000006044820152606401610ccc565b600061353683614244565b90508082116135875760405162461bcd60e51b815260206004820152600f60248201527f616c7265616479206472697070656400000000000000000000000000000000006044820152606401610ccc565b600061359382846147b9565b9050806001600086815260200190815260200160002060020160008282546135bb9190614e1b565b909155505060008481526005602090815260409182902085905581518681529081018390529081018490527fff4a002cd7ab9a8905cffd8b8df193a7526645df5584f9f3b9b6fe5b306523bf9060600160405180910390a1505050505050565b6029546000828152600160205260408082206003015490517fa613fcd4000000000000000000000000000000000000000000000000000000008152600481019190915290916006916001600160a01b039091169063a613fcd490602401602060405180830381865afa158015613695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136b99190614eff565b6126f191906147b9565b601d54600090610c719042614812565b83516001600160a01b03166000908152602084905260409020541561373a5760405162461bcd60e51b815260206004820152600e60248201527f616c7265616479206a6f696e65640000000000000000000000000000000000006044820152606401610ccc565b8151811061378a5760405162461bcd60e51b815260206004820152600c60248201527f67616d652069732066756c6c00000000000000000000000000000000000000006044820152606401610ccc565b8160c001513410156137de5760405162461bcd60e51b815260206004820152601360248201527f696e73756666696369656e742062757920696e000000000000000000000000006044820152606401610ccc565b6000846000015185604001516040516020016137fb929190615026565b60408051808303601f190181528282528051602091820120818401528151808403820181529282019091528151910120610100840151909150158061384f575061384f8560200151846101000151836144ed565b610fe85760405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642070726f6f66000000000000000000000000000000000000006044820152606401610ccc565b6138bf60405180606001604052806000815260200160008152602001600081525090565b865160405160009161390d9142914491602001928352602083019190915260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016604082015260540190565b60408051808303601f190181529082905280516020909101207fd7476f7e0000000000000000000000000000000000000000000000000000000082526004820181905291506000906001600160a01b0389169063d7476f7e90602401606060405180830381865afa158015613986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139aa9190615085565b60408051608080820183528c516001600160a01b031682526060808a015160208401528984015193830193909352880151918101919091528554919250908560006139f48361484d565b90915550508454600186018054906000613a0d8361484d565b919050555080866004016000828254613a269190614e1b565b9091555050600081815260208a81526040808320855181547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0391821617825586840151600183015586830151600283015560608701516003909201919091558e51811684528b83528184208590558151808301835285815280840194855282517f8877858e000000000000000000000000000000000000000000000000000000008152885160048201529388015160248501529187015160448401529051606483015291516084820152908b1690638877858e9060a401600060405180830381600087803b158015613b2057600080fd5b505af1158015613b34573d6000803e3d6000fd5b50949d9c50505050505050505050505050565b600d8054906000613b57836150c1565b909155505060228054906000613b6c836150c1565b91905055508060216004016000828254613b8691906147b9565b925050819055508060146000828254613b9f91906147b9565b9091555050601380546001810182556000919091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900181905560408051838152602081018390527fd02b8bdc1eb9eb4a85fe2b27c68fbe1eec04f697f660cc4cf3bb2cee4456f490910160405180910390a1600d54600103613d115760138054613c2c906001906147b9565b81548110613c3c57613c3c6147cc565b60009182526020909120015460115560138054613c5b906002906147b9565b81548110613c6b57613c6b6147cc565b6000918252602091829020015460128190556014546010819055601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055601154600e5460408051938452948301919091529281019190915260608101919091527f2138eea544e46359acf616a3cea69daedd6984f74feb71820c6c28e5cd25434c906080016110cd565b5050565b845160208601516040517f441a94420000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063441a944290613d61908490600401614e84565b602060405180830381865afa158015613d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613da291906150f6565b613dee5760405162461bcd60e51b815260206004820152600d60248201527f696e76616c696420706f696e74000000000000000000000000000000000000006044820152606401610ccc565b835115613e3d5760405162461bcd60e51b815260206004820152601160248201527f706f736974696f6e206f636375706965640000000000000000000000000000006044820152606401610ccc565b6000828152602086905260409020600201548311156118955760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b84516020808701518482015160008481529287905260408320600101805492939192909190613ece908490614e1b565b909155505060008281526020869052604081206002018054859290613ef49084906147b9565b90915550506040517fdc064ea8000000000000000000000000000000000000000000000000000000008152600481018390526000906001600160a01b0388169063dc064ea890602401606060405180830381865afa158015613f5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f7e9190615085565b6040805180820182528581526000602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815287516004820152908701516024820152928601516044840152905160648301525160848201529091506001600160a01b03881690638877858e9060a401600060405180830381600087803b15801561401057600080fd5b505af1158015614024573d6000803e3d6000fd5b50506040805180820182526000808252602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815287516004820152908701516024820152928601516044840152905160648301525160848201526001600160a01b038a169250638877858e915060a401600060405180830381600087803b1580156140b757600080fd5b505af11580156140cb573d6000803e3d6000fd5b505050505050505050505050565b6015546029546040517fd7476f7e000000000000000000000000000000000000000000000000000000008152914060048301819052916000916001600160a01b03169063d7476f7e90602401606060405180830381865afa158015614142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141669190615085565b602954604080518082018252600081526001602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815286516004820152908601516024820152928501516044840152905160648301525160848201529192506001600160a01b031690638877858e9060a401600060405180830381600087803b1580156141fb57600080fd5b505af115801561420f573d6000803e3d6000fd5b505050507fea248ff12af64e9d95abfbda1754fe5de18cb1dec8d6a9ede8f8b1006ec0898633826040516110cd929190615111565b600081815260056020526040812054806126f157600f54612b9f565b34600e60008282546142729190614e1b565b90915550506040805133815234602082015247918101919091527fde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b6906060016121d9565b8251602084015160408086015190517face6b1c500000000000000000000000000000000000000000000000000000000815260048101849052602481018390526000906001600160a01b0386169063ace6b1c590604401602060405180830381865afa15801561432a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061434e9190614eff565b6000858152602088905260409020600301549091508111156143b25760405162461bcd60e51b815260206004820152601360248201527f746172676574206f7574206f662072616e6765000000000000000000000000006044820152606401610ccc565b6000848152602087905260409020600201548211156144135760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b6000838152602087905260409020600101548211156118955760405162461bcd60e51b815260206004820152600e60248201527f746f6f206d616e792073686f74730000000000000000000000000000000000006044820152606401610ccc565b8151602080840151604080860151600085815293869052908320600201805493949382919086906144a69084906147b9565b9091555050600082815260208690526040812060010180548392906144cc9084906147b9565b90915550505060009081526020939093525050604090206001015415919050565b6000826144fa8584614503565b14949350505050565b600081815b84518110156145485761453482868381518110614527576145276147cc565b6020026020010151614550565b9150806145408161484d565b915050614508565b509392505050565b600081831061456c576000828152602084905260409020612b9f565b6000838152602083905260409020612b9f565b6000806040838503121561459257600080fd5b50508035926020909101359150565b6001600160a01b03811681146145b657600080fd5b50565b6000602082840312156145cb57600080fd5b8135612b9f816145a1565b6000604082840312156145e857600080fd5b50919050565b60006040828403121561460057600080fd5b612b9f83836145d6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310614674577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561468d57600080fd5b82359150602083013561469f816145a1565b809150509250929050565b6000602082840312156146bc57600080fd5b5035919050565b6000606082840312156145e857600080fd5b6000602082840312156146e757600080fd5b813567ffffffffffffffff8111156146fe57600080fd5b61470a848285016146c3565b949350505050565b6000608082840312156145e857600080fd5b60006080828403121561473657600080fd5b612b9f8383614712565b6000602082840312156145e857600080fd5b60006020828403121561476457600080fd5b612b9f8383614740565b60006060828403121561478057600080fd5b612b9f83836146c3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156126f1576126f161478a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820281158282048414176126f1576126f161478a565b600082614848577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361487e5761487e61478a565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156148d7576148d7614885565b60405290565b6040805190810167ffffffffffffffff811182821017156148d7576148d7614885565b604051601f8201601f1916810167ffffffffffffffff8111828210171561492957614929614885565b604052919050565b600082601f83011261494257600080fd5b813567ffffffffffffffff81111561495c5761495c614885565b61496f6020601f19601f84011601614900565b81815284602083860101111561498457600080fd5b816020850160208301376000918101602001919091529392505050565b6000606082360312156149b357600080fd5b6149bb6148b4565b82356149c6816145a1565b815260208381013567ffffffffffffffff808211156149e457600080fd5b9085019036601f8301126149f757600080fd5b813581811115614a0957614a09614885565b8060051b614a18858201614900565b9182528381018501918581019036841115614a3257600080fd5b948601945b83861015614a5057853582529486019490860190614a37565b8087890152505050506040860135925080831115614a6d57600080fd5b5050614a7b36828601614931565b60408301525092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614abc57600080fd5b83018035915067ffffffffffffffff821115614ad757600080fd5b602001915036819003821315614aec57600080fd5b9250929050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6001600160a01b0386168152846020820152614b5160408201858051825260208082015190830152604090810151910152565b60c060a08201526000614b6860c083018486614af3565b979650505050505050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614ba557600080fd5b8260051b80836020870137939093016020019392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614bf357600080fd5b830160208101925035905067ffffffffffffffff811115614c1357600080fd5b803603821315614aec57600080fd5b60006001600160a01b038085168352606060208401528335614c43816145a1565b1660608301526020830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614c7f57600080fd5b830160208101903567ffffffffffffffff811115614c9c57600080fd5b8060051b3603821315614cae57600080fd5b60606080850152614cc360c085018284614b73565b915050614cd36040850185614bbe565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08584030160a0860152614d08838284614af3565b925050508281036040840152614d22816000815260200190565b95945050505050565b600060208284031215614d3d57600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114612b9f57600080fd5b600060808284031215614d7f57600080fd5b6040516080810181811067ffffffffffffffff82111715614da257614da2614885565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b80518015158114614de357600080fd5b919050565b60008060408385031215614dfb57600080fd5b614e0483614dd3565b9150614e1260208401614dd3565b90509250929050565b808201808211156126f1576126f161478a565b600060608284031215614e4057600080fd5b614e486148b4565b905081358152602082013560208201526040820135604082015292915050565b600060608284031215614e7a57600080fd5b612b9f8383614e2e565b815181526020808301519082015260408083015190820152606081016126f1565b600060408284031215614eb757600080fd5b614ebf6148dd565b82518152602083015160208201528091505092915050565b82815260808101612b9f60208301848051825260208082015190830152604090810151910152565b600060208284031215614f1157600080fd5b5051919050565b600060808284031215614f2a57600080fd5b614f326148dd565b82358152614f438460208501614e2e565b60208201529392505050565b6001600160a01b038316815281356020820152614f8660408201602084018035825260208082013590830152604090810135910152565b60c060a0820181905260009082015260e00192915050565b60006001600160a01b038085168352833560208401526020840135614fc2816145a1565b1660408301525060806060820181905260009082015260a00192915050565b6001600160a01b038316815261500e60208201838035825260208082013590830152604090810135910152565b60a06080820181905260009082015260c00192915050565b6001600160a01b038316815260006020604081840152835180604085015260005b8181101561506357858101830151858201606001528201615047565b506000606082860101526060601f19601f830116850101925050509392505050565b60006060828403121561509757600080fd5b61509f6148b4565b8251815260208301516020820152604083015160408201528091505092915050565b6000816150d0576150d061478a565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561510857600080fd5b612b9f82614dd3565b6001600160a01b038316815260808101612b9f6020830184805182526020808201519083015260409081015191015256608060405234801561001057600080fd5b50604051610da4380380610da483398101604081905261002f91610037565b600055610050565b60006020828403121561004957600080fd5b5051919050565b610d458061005f6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063c51d69f4116100b2578063e440908c11610081578063f3c61e5b11610066578063f3c61e5b14610375578063fcdb667014610395578063ff324dbe146103a857600080fd5b8063e440908c1461033f578063f0b361561461036d57600080fd5b8063c51d69f4146102f0578063d7476f7e146102f9578063db69f8a21461030c578063dc064ea81461032c57600080fd5b8063a613fcd4116100ee578063a613fcd41461026e578063aabbe89314610281578063ace6b1c5146102ca578063c2fd42cf146102dd57600080fd5b8063398771cc14610120578063441a94421461015a57806372f68a6e1461017d5780638877858e146101dc575b600080fd5b61013361012e366004610a60565b6103bb565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b61016d610168366004610afc565b610534565b6040519015158152602001610151565b6101ce61018b366004610afc565b6040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b604051908152602001610151565b61026c6101ea366004610b18565b6040805183516020808301919091528085018051838501528584018051606080860191909152855180860390910181526080909401855283519383019390932085516000908152600180855286822098518955925192880192909255925160029687015584820151928152948152828520919091559151600390925290912055565b005b6101ce61027c366004610a60565b6105a1565b6102af61028f366004610a60565b600160208190526000918252604090912080549181015460029091015483565b60408051938452602084019290925290820152606001610151565b6101ce6102d8366004610bcf565b6105ae565b6101ce6102eb366004610bf1565b610617565b6101ce60005481565b610133610307366004610a60565b61062a565b6101ce61031a366004610a60565b60026020526000908152604090205481565b61013361033a366004610a60565b61076a565b61035261034d366004610afc565b6107c6565b60408051825181526020928301519281019290925201610151565b6101ce6108a8565b6101ce610383366004610a60565b60036020526000908152604090205481565b6101ce6103a3366004610afc565b6108dd565b6101ce6103b6366004610c26565b610940565b6103df60405180606001604052806000815260200160008152602001600081525090565b60008054819081906001905b6103f6816002610c79565b610401906001610c90565b61040b9088610cd2565b945060008186111561041e576000610428565b6104288683610ce6565b9050600086610438846003610c79565b6104429190610ce6565b90508161044f8183610ce6565b60408051602081018d9052016040516020818303038152906040528051906020012060001c61047e9190610cd2565b6104889190610c90565b95508587610497856003610c79565b6104a19190610ce6565b6104ab9190610ce6565b60408051602081018c905290810186905290955060600160408051601f1981840301815291905280516020909101209850836104e681610cf9565b945050505061050e604051806060016040528087815260200186815260200185815250610534565b156103eb5750506040805160608101825293845260208401929092529082015292915050565b60008054610543906003610c79565b6040830151602084015184516105599190610c90565b6105639190610c90565b14801561059b575060005461059883604051806060016040528060005481526020016000548152602001600054815250610984565b11155b92915050565b600061059b826006610c79565b600082815260016020818152604080842081516060808201845282548252828601548286015260029283015482850152878752858552838720845191820185528054825295860154948101949094529301549082015261060e8282610984565b95945050505050565b60006106238383610984565b9392505050565b61064e60405180606001604052806000815260200160008152602001600081525090565b6000610659836103bb565b905060006106a4826040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b905060015b6000828152600260205260409020541515806106d2575060008281526003602052604090205415155b156107615760408051602081018490529081018290526060016040516020818303038152906040528051906020012060001c945061070f856103bb565b604080518251602080830191909152808401518284015282840151606080840191909152835180840390910181526080909201909252805191012090935091508061075981610cf9565b9150506106a9565b50909392505050565b61078e60405180606001604052806000815260200160008152602001600081525090565b506000908152600160208181526040928390208351606081018552815481529281015491830191909152600201549181019190915290565b6040805180820190915260008082526020820152604051806040016040528060036000610830866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b81526020019081526020016000205481526020016002600061088f866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020548152509050919050565b600080546108b7816001610c90565b6108c2826003610c79565b6108cc9190610c79565b6108d7906001610c90565b91505090565b60006002600061092a846040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020549050919050565b600082815260016020818152604080842081516060810183528154815293810154928401929092526002909101549082015261097c8184610984565b949350505050565b805182516000918291116109a557835183516109a09190610ce6565b6109b3565b825184516109b39190610ce6565b9050600083602001518560200151116109df57846020015184602001516109da9190610ce6565b6109f3565b836020015185602001516109f39190610ce6565b905060008460400151866040015111610a1f5785604001518560400151610a1a9190610ce6565b610a33565b84604001518660400151610a339190610ce6565b9050600281610a428486610c90565b610a4c9190610c90565b610a569190610d31565b9695505050505050565b600060208284031215610a7257600080fd5b5035919050565b600060608284031215610a8b57600080fd5b6040516060810181811067ffffffffffffffff82111715610ad5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201525092915050565b600060608284031215610b0e57600080fd5b6106238383610a79565b60008082840360a0811215610b2c57600080fd5b610b368585610a79565b925060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215610b6857600080fd5b506040516040810181811067ffffffffffffffff82111715610bb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040526060840135815260809093013560208401525092909150565b60008060408385031215610be257600080fd5b50508035926020909101359150565b60008060c08385031215610c0457600080fd5b610c0e8484610a79565b9150610c1d8460608501610a79565b90509250929050565b60008060808385031215610c3957600080fd5b82359150610c1d8460208501610a79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761059b5761059b610c4a565b8082018082111561059b5761059b610c4a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610ce157610ce1610ca3565b500690565b8181038181111561059b5761059b610c4a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d2a57610d2a610c4a565b5060010190565b600082610d4057610d40610ca3565b5004905600000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "nonce": "0x279", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x229BD9D27B4775cbeF8e5B116DD48574b80c0442", + "initCode": "0x608060405234801561001057600080fd5b50604051610da4380380610da483398101604081905261002f91610037565b600055610050565b60006020828403121561004957600080fd5b5051919050565b610d458061005f6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063c51d69f4116100b2578063e440908c11610081578063f3c61e5b11610066578063f3c61e5b14610375578063fcdb667014610395578063ff324dbe146103a857600080fd5b8063e440908c1461033f578063f0b361561461036d57600080fd5b8063c51d69f4146102f0578063d7476f7e146102f9578063db69f8a21461030c578063dc064ea81461032c57600080fd5b8063a613fcd4116100ee578063a613fcd41461026e578063aabbe89314610281578063ace6b1c5146102ca578063c2fd42cf146102dd57600080fd5b8063398771cc14610120578063441a94421461015a57806372f68a6e1461017d5780638877858e146101dc575b600080fd5b61013361012e366004610a60565b6103bb565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b61016d610168366004610afc565b610534565b6040519015158152602001610151565b6101ce61018b366004610afc565b6040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b604051908152602001610151565b61026c6101ea366004610b18565b6040805183516020808301919091528085018051838501528584018051606080860191909152855180860390910181526080909401855283519383019390932085516000908152600180855286822098518955925192880192909255925160029687015584820151928152948152828520919091559151600390925290912055565b005b6101ce61027c366004610a60565b6105a1565b6102af61028f366004610a60565b600160208190526000918252604090912080549181015460029091015483565b60408051938452602084019290925290820152606001610151565b6101ce6102d8366004610bcf565b6105ae565b6101ce6102eb366004610bf1565b610617565b6101ce60005481565b610133610307366004610a60565b61062a565b6101ce61031a366004610a60565b60026020526000908152604090205481565b61013361033a366004610a60565b61076a565b61035261034d366004610afc565b6107c6565b60408051825181526020928301519281019290925201610151565b6101ce6108a8565b6101ce610383366004610a60565b60036020526000908152604090205481565b6101ce6103a3366004610afc565b6108dd565b6101ce6103b6366004610c26565b610940565b6103df60405180606001604052806000815260200160008152602001600081525090565b60008054819081906001905b6103f6816002610c79565b610401906001610c90565b61040b9088610cd2565b945060008186111561041e576000610428565b6104288683610ce6565b9050600086610438846003610c79565b6104429190610ce6565b90508161044f8183610ce6565b60408051602081018d9052016040516020818303038152906040528051906020012060001c61047e9190610cd2565b6104889190610c90565b95508587610497856003610c79565b6104a19190610ce6565b6104ab9190610ce6565b60408051602081018c905290810186905290955060600160408051601f1981840301815291905280516020909101209850836104e681610cf9565b945050505061050e604051806060016040528087815260200186815260200185815250610534565b156103eb5750506040805160608101825293845260208401929092529082015292915050565b60008054610543906003610c79565b6040830151602084015184516105599190610c90565b6105639190610c90565b14801561059b575060005461059883604051806060016040528060005481526020016000548152602001600054815250610984565b11155b92915050565b600061059b826006610c79565b600082815260016020818152604080842081516060808201845282548252828601548286015260029283015482850152878752858552838720845191820185528054825295860154948101949094529301549082015261060e8282610984565b95945050505050565b60006106238383610984565b9392505050565b61064e60405180606001604052806000815260200160008152602001600081525090565b6000610659836103bb565b905060006106a4826040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b905060015b6000828152600260205260409020541515806106d2575060008281526003602052604090205415155b156107615760408051602081018490529081018290526060016040516020818303038152906040528051906020012060001c945061070f856103bb565b604080518251602080830191909152808401518284015282840151606080840191909152835180840390910181526080909201909252805191012090935091508061075981610cf9565b9150506106a9565b50909392505050565b61078e60405180606001604052806000815260200160008152602001600081525090565b506000908152600160208181526040928390208351606081018552815481529281015491830191909152600201549181019190915290565b6040805180820190915260008082526020820152604051806040016040528060036000610830866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b81526020019081526020016000205481526020016002600061088f866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020548152509050919050565b600080546108b7816001610c90565b6108c2826003610c79565b6108cc9190610c79565b6108d7906001610c90565b91505090565b60006002600061092a846040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020549050919050565b600082815260016020818152604080842081516060810183528154815293810154928401929092526002909101549082015261097c8184610984565b949350505050565b805182516000918291116109a557835183516109a09190610ce6565b6109b3565b825184516109b39190610ce6565b9050600083602001518560200151116109df57846020015184602001516109da9190610ce6565b6109f3565b836020015185602001516109f39190610ce6565b905060008460400151866040015111610a1f5785604001518560400151610a1a9190610ce6565b610a33565b84604001518660400151610a339190610ce6565b9050600281610a428486610c90565b610a4c9190610c90565b610a569190610d31565b9695505050505050565b600060208284031215610a7257600080fd5b5035919050565b600060608284031215610a8b57600080fd5b6040516060810181811067ffffffffffffffff82111715610ad5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201525092915050565b600060608284031215610b0e57600080fd5b6106238383610a79565b60008082840360a0811215610b2c57600080fd5b610b368585610a79565b925060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215610b6857600080fd5b506040516040810181811067ffffffffffffffff82111715610bb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040526060840135815260809093013560208401525092909150565b60008060408385031215610be257600080fd5b50508035926020909101359150565b60008060c08385031215610c0457600080fd5b610c0e8484610a79565b9150610c1d8460608501610a79565b90509250929050565b60008060808385031215610c3957600080fd5b82359150610c1d8460208501610a79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761059b5761059b610c4a565b8082018082111561059b5761059b610c4a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610ce157610ce1610ca3565b500690565b8181038181111561059b5761059b610c4a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d2a57610d2a610c4a565b5060010190565b600082610d4057610d40610ca3565b500490560000000000000000000000000000000000000000000000000000000000000015" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x493292edbebadfb3b95fee528d0c9a06b3c507e10bb5012af84b67ad3cb2689e", + "transactionType": "CREATE", + "contractName": "GameView", + "contractAddress": "0xAFf0E741b60288110bA7a400Ef6a99917faA593c", + "function": null, + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x100053", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b50604051610dcf380380610dcf83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610d3c806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063260e88bf14610046578063a03d4dd014610064578063c3fe3e2814610079575b600080fd5b61004e6100be565b60405161005b91906108be565b60405180910390f35b61006c6104a4565b60405161005b9190610929565b6000546100999073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161005b565b60606000808060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385b4bb536040518163ffffffff1660e01b815260040161012060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101549190610a4c565b60200151905060006101668280610af6565b67ffffffffffffffff81111561017e5761017e6109cc565b6040519080825280602002602001820160405280156101b757816020015b6101a461082d565b81526020019060019003908161019c5790505b50905060005b6101c8836002610af6565b6101d3906001610b13565b81116103ee576000838211156101ea5760006101f4565b6101f48285610b26565b9050600082610204866003610af6565b61020e9190610b26565b9050815b818110156103d85760008185610229896003610af6565b6102339190610b26565b61023d9190610b26565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633264a34b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d19190610b5e565b73ffffffffffffffffffffffffffffffffffffffff1663fcdb66706040518060600160405280898152602001868152602001858152506040518263ffffffff1660e01b81526004016103239190610b82565b602060405180830381865afa158015610340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103649190610ba3565b905080156103c3576040805160a08101825290810187815260608201859052608082018490528152602081018290528751819089908c9081106103a9576103a9610bbc565b60209081029190910101526103bf60018b610b13565b9950505b505080806103d090610beb565b915050610212565b50505080806103e690610beb565b9150506101bd565b5060008367ffffffffffffffff81111561040a5761040a6109cc565b60405190808252806020026020018201604052801561044357816020015b61043061082d565b8152602001906001900390816104285790505b50905060005b8481101561049b5782818151811061046357610463610bbc565b602002602001015182828151811061047d5761047d610bbc565b6020026020010181905250808061049390610beb565b915050610449565b50949350505050565b60008054604080517fc2e5220600000000000000000000000000000000000000000000000000000000815290516060939273ffffffffffffffffffffffffffffffffffffffff169163c2e522069160048083019260209291908290030181865afa158015610516573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053a9190610ba3565b67ffffffffffffffff811115610552576105526109cc565b60405190808252806020026020018201604052801561058b57816020015b610578610869565b8152602001906001900390816105705790505b50905060015b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c2e522066040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106209190610ba3565b81116108275760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633264a34b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b89190610b5e565b73ffffffffffffffffffffffffffffffffffffffff1663dc064ea8836040518263ffffffff1660e01b81526004016106f291815260200190565b606060405180830381865afa15801561070f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107339190610c23565b600080546040517f51cdc8c600000000000000000000000000000000000000000000000000000000815260048101869052929350909173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa1580156107a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cc9190610ca6565b9050604051806060016040528082815260200183815260200184815250846001856107f79190610b26565b8151811061080757610807610bbc565b60200260200101819052505050808061081f90610beb565b915050610591565b50919050565b604051806040016040528061085c60405180606001604052806000815260200160008152602001600081525090565b8152602001600081525090565b6040805160e081019091526000606082018181526080830182905260a0830182905260c08301919091528190815260200161085c60405180606001604052806000815260200160008152602001600081525090565b6020808252825182820181905260009190848201906040850190845b8181101561091d5783516109038482518051825260208082015190830152604090810151910152565b8501516060840152928401926080909201916001016108da565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b828110156109bf5781518051805173ffffffffffffffffffffffffffffffffffffffff16865287810151888701528681015187870152606090810151908601528681015180516080870152602081015160a08701526040015160c086015285015160e08501526101009093019290850190600101610946565b5091979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715610a46577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b60006101208284031215610a5f57600080fd5b610a676109fb565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610b0d57610b0d610ac7565b92915050565b80820180821115610b0d57610b0d610ac7565b81810381811115610b0d57610b0d610ac7565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5b57600080fd5b50565b600060208284031215610b7057600080fd5b8151610b7b81610b39565b9392505050565b81518152602080830151908201526040808301519082015260608101610b0d565b600060208284031215610bb557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610c1c57610c1c610ac7565b5060010190565b600060608284031215610c3557600080fd5b6040516060810181811067ffffffffffffffff82111715610c7f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508251815260208301516020820152604083015160408201528091505092915050565b600060808284031215610cb857600080fd5b6040516080810181811067ffffffffffffffff82111715610d02577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040528251610d1081610b39565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "nonce": "0x27a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9553b3ea1610cef990fb320170cb646b27df10b31277ddf060c886880def845b", + "transactionType": "CREATE", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x3d95dd", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506137af806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806394c58cfe14610030575b600080fd5b61004361003e3660046101e2565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60008082600181111561008157610081610241565b036101325760008484604051610096906101c8565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103906000f0801580156100d4573d6000803e3d6000fd5b5090508473ffffffffffffffffffffffffffffffffffffffff167ff5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624848387336040516101239493929190610270565b60405180910390a290506101c1565b600182600181111561014657610146610241565b0361015b5760008484604051610096906101d5565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f486f6f6b466163746f72793a20696e76616c696420686f6f6b20747970650000604482015260640160405180910390fd5b9392505050565b6119fa806102e083390190565b611ad580611cda83390190565b6000806000606084860312156101f757600080fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461021b57600080fd5b92506020840135915060408401356002811061023657600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60808101600286106102ab577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b94815273ffffffffffffffffffffffffffffffffffffffff938416602082015260408101929092529091166060909101529056fe608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b939250505056608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b506001019056", + "nonce": "0x27b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x5337122c6b5ce24D970Ce771510D22Aeaf038C44, [], ryan)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x8edfe", + "value": "0x0", + "data": "0x6d4175e200000000000000000000000000000000000000000000000000000000000000200000000000000000000000005337122c6b5ce24d970ce771510d22aeaf038c4400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047279616e00000000000000000000000000000000000000000000000000000000", + "nonce": "0x27c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "1", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x27d", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000001" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "1", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x27e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000001" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "1", + "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b008", + "nonce": "0x27f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "1", + "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f9", + "nonce": "0x280", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4624e1da8593e14255ca94e5073f38eac203b4596e3d71077cf78ba49971152f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5337122c6b5ce24d970ce771510d22aeaf038c44", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x281", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x9Ada897d963028923B645d72D01c3beB1343e072, [], sam)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x645bd", + "value": "0x0", + "data": "0x6d4175e200000000000000000000000000000000000000000000000000000000000000200000000000000000000000009ada897d963028923b645d72d01c3beb1343e072000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000373616d0000000000000000000000000000000000000000000000000000000000", + "nonce": "0x282", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "2", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x283", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000002" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "2", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x284", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000002" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "2", + "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed", + "nonce": "0x285", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "2", + "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000020000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d9781", + "nonce": "0x286", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf5e6eb0f61d98b779b8c381fa9a7fe512f6e6df30b7d476ecf2e80038fc8fd50", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x9ada897d963028923b645d72d01c3beb1343e072", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x287", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x60de91d489D41FAF4C42F5734fF5E8c95A0990F9, [], hopper)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x6459a", + "value": "0x0", + "data": "0x6d4175e2000000000000000000000000000000000000000000000000000000000000002000000000000000000000000060de91d489d41faf4c42f5734ff5e8c95a0990f90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006686f707065720000000000000000000000000000000000000000000000000000", + "nonce": "0x288", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "3", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x289", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x109fd81E3d772B308b7c64213185865070eC7143", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000003" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "3", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x28a", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000003" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "3", + "0x109fd81E3d772B308b7c64213185865070eC7143" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000109fd81e3d772b308b7c64213185865070ec7143", + "nonce": "0x28b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "3", + "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e22171154", + "nonce": "0x28c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf1b4cb9a00e394adc1e59cdcc0af24174c249ffeb4782c0b7414cd56a9958db8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x60de91d489d41faf4c42f5734ff5e8c95a0990f9", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x28d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0xA288d0BF9fe24773350394b011f6315Ff04a1025, [], emily)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x645dd", + "value": "0x0", + "data": "0x6d4175e20000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a288d0bf9fe24773350394b011f6315ff04a10250000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005656d696c79000000000000000000000000000000000000000000000000000000", + "nonce": "0x28e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "4", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x28f", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000004" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "4", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x290", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000004" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "4", + "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c9", + "nonce": "0x291", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "4", + "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d", + "nonce": "0x292", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9417705bd264f25b7098120b661c6ad2e4fbae4f263e84ab20869ebb98906d46", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0xa288d0bf9fe24773350394b011f6315ff04a1025", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x293", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0xD9Fd9E6C91e984F8461e4d15468b77fdff1B1bcd, [], aidan)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x6457a", + "value": "0x0", + "data": "0x6d4175e20000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d9fd9e6c91e984f8461e4d15468b77fdff1b1bcd0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005616964616e000000000000000000000000000000000000000000000000000000", + "nonce": "0x294", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "5", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x295", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xE637A68f7026c68713856cF66D9Cbd5C05102e80", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000005" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "5", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x296", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000005" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "5", + "0xE637A68f7026c68713856cF66D9Cbd5C05102e80" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e80", + "nonce": "0x297", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "5", + "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000050000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d0", + "nonce": "0x298", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe92f76dd24818505b3045cf9bb24bfc69ca17296249cb8786335ec0b67254ff5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0xd9fd9e6c91e984f8461e4d15468b77fdff1b1bcd", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x299", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7220ca801c8281bf3e86a69241772d841b29520c7f33d49dcf080fc1a8c6cf24", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "setOwner(address)", + "arguments": [ + "0x0000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x76ad", + "value": "0x0", + "data": "0x13af40350000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x29a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "start()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18838", + "value": "0x0", + "data": "0xbe9a6555", + "nonce": "0x29b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x031e2e1a4e5c9432d433a3450ca0d00c7761ea1d5b95080e3bac1c085b37660a", + "transactionIndex": "0x1", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x7557a", + "gasUsed": "0x5afb8", + "contractAddress": "0xfa109ab9C85c5F0181e6548F83c25ef37b3FFEc9", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x5c2a9a", + "gasUsed": "0x54d520", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0xd238cf491e3dd71f67796a95afc0def045cac20be422b1bb24d9dc52aa5647b3" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0xde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b6" + ], + "data": "0x0000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed7" + ], + "data": "0x0000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e0000000000000000000000000000000000000000000000000000000000975ed1", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x0000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000000000002000000000000000000010000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000100000000000000000a000000100000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x493292edbebadfb3b95fee528d0c9a06b3c507e10bb5012af84b67ad3cb2689e", + "transactionIndex": "0x3", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x687a7f", + "gasUsed": "0xc4fe5", + "contractAddress": "0xAFf0E741b60288110bA7a400Ef6a99917faA593c", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x9553b3ea1610cef990fb320170cb646b27df10b31277ddf060c886880def845b", + "transactionIndex": "0x4", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x97dd94", + "gasUsed": "0x2f6315", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionIndex": "0x5", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x9df8ef", + "gasUsed": "0x61b5b", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x0000000000000000000000005337122c6b5ce24d970ce771510d22aeaf038c44000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000047279616e00000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionIndex": "0x5", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionIndex": "0x6", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xb334ae", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionIndex": "0x6", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b00800000000000000000000000000000000000000000000000000000000000000010000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionIndex": "0x6", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000000000000000100000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000020000008000000000080000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionIndex": "0x7", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xc91c30", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionIndex": "0x7", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionIndex": "0x7", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000100000000000000000000000100000000000000000000000000000000000000000000800100100000000000100000000000002000000000000000020000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionIndex": "0x8", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xca2d2b", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b008", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionIndex": "0x8", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionIndex": "0x9", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xcafb5a", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f9", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionIndex": "0x9", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x4624e1da8593e14255ca94e5073f38eac203b4596e3d71077cf78ba49971152f", + "transactionIndex": "0xa", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5337122c6b5ce24D970Ce771510D22Aeaf038C44", + "cumulativeGasUsed": "0xcb4d62", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionIndex": "0xb", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xcfd7e9", + "gasUsed": "0x48a87", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x0000000000000000000000009ada897d963028923b645d72d01c3beb1343e072000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000373616d0000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionIndex": "0xb", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionIndex": "0xc", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xe513a8", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionIndex": "0xc", + "logIndex": "0xd", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed00000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionIndex": "0xc", + "logIndex": "0xe", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000000000000000100000000040000000000000000000108000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000002000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionIndex": "0xd", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xfafb2a", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionIndex": "0xd", + "logIndex": "0xf", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d978100000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionIndex": "0xd", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000001000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000000000000000000000000800100100000000000000000000000000000000000000000020000008000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionIndex": "0xe", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xfc0c25", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionIndex": "0xe", + "logIndex": "0x11", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionIndex": "0xf", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xfcda54", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d9781", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionIndex": "0xf", + "logIndex": "0x12", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xf5e6eb0f61d98b779b8c381fa9a7fe512f6e6df30b7d476ecf2e80038fc8fd50", + "transactionIndex": "0x10", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x9Ada897d963028923B645d72D01c3beB1343e072", + "cumulativeGasUsed": "0xfd2c5c", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionIndex": "0x11", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x101b6bf", + "gasUsed": "0x48a63", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x00000000000000000000000060de91d489d41faf4c42f5734ff5e8c95a0990f9000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006686f707065720000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionIndex": "0x11", + "logIndex": "0x13", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionIndex": "0x12", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x116f27e", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x109fd81E3d772B308b7c64213185865070eC7143", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionIndex": "0x12", + "logIndex": "0x14", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109fd81e3d772b308b7c64213185865070ec714300000000000000000000000000000000000000000000000000000000000000030000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionIndex": "0x12", + "logIndex": "0x15", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000200000000000000020020000000000000000000000000000000000100000000000000000000000000000100000000000000000000000040400040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionIndex": "0x13", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x12cda00", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionIndex": "0x13", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e2217115400000000000000000000000000000000000000000000000000000000000000030000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionIndex": "0x13", + "logIndex": "0x17", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000020000000000000000000000000000000000000000100000000000000000000000000000000000000000000800100100000000000000000000000000000000000000000020000008000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionIndex": "0x14", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x12deafb", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000109fd81e3d772b308b7c64213185865070ec7143", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionIndex": "0x14", + "logIndex": "0x18", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionIndex": "0x15", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x12eb92a", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e22171154", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionIndex": "0x15", + "logIndex": "0x19", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xf1b4cb9a00e394adc1e59cdcc0af24174c249ffeb4782c0b7414cd56a9958db8", + "transactionIndex": "0x16", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x60de91d489D41FAF4C42F5734fF5E8c95A0990F9", + "cumulativeGasUsed": "0x12f0b32", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionIndex": "0x17", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x13395c6", + "gasUsed": "0x48a94", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x000000000000000000000000a288d0bf9fe24773350394b011f6315ff04a1025000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000017000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005656d696c79000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionIndex": "0x17", + "logIndex": "0x1a", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionIndex": "0x18", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x148d185", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionIndex": "0x18", + "logIndex": "0x1b", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c900000000000000000000000000000000000000000000000000000000000000040000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionIndex": "0x18", + "logIndex": "0x1c", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020080000000000000000000000000000000100000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000008000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionIndex": "0x19", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x15eb907", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionIndex": "0x19", + "logIndex": "0x1d", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d00000000000000000000000000000000000000000000000000000000000000040000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionIndex": "0x19", + "logIndex": "0x1e", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000800100100000000000000000200000000000000000000000020000008000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionIndex": "0x1a", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x15fca02", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c9", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionIndex": "0x1a", + "logIndex": "0x1f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionIndex": "0x1b", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1609831", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionIndex": "0x1b", + "logIndex": "0x20", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x9417705bd264f25b7098120b661c6ad2e4fbae4f263e84ab20869ebb98906d46", + "transactionIndex": "0x1c", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0xA288d0BF9fe24773350394b011f6315Ff04a1025", + "cumulativeGasUsed": "0x160ea39", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionIndex": "0x1d", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x16574d8", + "gasUsed": "0x48a9f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x000000000000000000000000d9fd9e6c91e984f8461e4d15468b77fdff1b1bcd000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005616964616e000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionIndex": "0x1d", + "logIndex": "0x21", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionIndex": "0x1e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x17ab097", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0xE637A68f7026c68713856cF66D9Cbd5C05102e80", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionIndex": "0x1e", + "logIndex": "0x22", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e8000000000000000000000000000000000000000000000000000000000000000050000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionIndex": "0x1e", + "logIndex": "0x23", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000000000000000100000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000080100000000000000000000000000000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000002000020000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionIndex": "0x1f", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x1909819", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionIndex": "0x1f", + "logIndex": "0x24", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d000000000000000000000000000000000000000000000000000000000000000050000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionIndex": "0x1f", + "logIndex": "0x25", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000800100100000000000000000000000000000000000000040020000008000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionIndex": "0x20", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x191a914", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e80", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionIndex": "0x20", + "logIndex": "0x26", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionIndex": "0x21", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1927743", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d0", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionIndex": "0x21", + "logIndex": "0x27", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xe92f76dd24818505b3045cf9bb24bfc69ca17296249cb8786335ec0b67254ff5", + "transactionIndex": "0x22", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0xD9Fd9E6C91e984F8461e4d15468b77fdff1B1bcd", + "cumulativeGasUsed": "0x192c94b", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x7220ca801c8281bf3e86a69241772d841b29520c7f33d49dcf080fc1a8c6cf24", + "transactionIndex": "0x23", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1931f37", + "gasUsed": "0x55ec", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionIndex": "0x24", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1943b2d", + "gasUsed": "0x11bf6", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x762f260439bb4be3ef6e4dc2786e2e7bd187d3d80b79057d7a424fe98563e335" + ], + "data": "0x", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionIndex": "0x24", + "logIndex": "0x28", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000400000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + } + ], + "libraries": [ + "src/libraries/Give.sol:GiveLib:0xfa109ab9c85c5f0181e6548f83c25ef37b3ffec9" + ], + "pending": [], + "returns": {}, + "timestamp": 1698109995, + "chain": 5, + "multi": false, + "commit": "d2ba2ea" +} \ No newline at end of file diff --git a/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-1698110089.json b/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-1698110089.json new file mode 100644 index 0000000..af51725 --- /dev/null +++ b/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-1698110089.json @@ -0,0 +1,2003 @@ +{ + "transactions": [ + { + "hash": "0x031e2e1a4e5c9432d433a3450ca0d00c7761ea1d5b95080e3bac1c085b37660a", + "transactionType": "CREATE", + "contractName": "GiveLib", + "contractAddress": "0xfa109ab9C85c5F0181e6548F83c25ef37b3FFEc9", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x763ef", + "data": "0x6105d161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80631c49198f1461004557806394cbfbff14610080575b600080fd5b81801561005157600080fd5b50610065610060366004610487565b610095565b60408051921515835290151560208301520160405180910390f35b61009361008e3660046104cb565b6101c6565b005b604080860151606087015187516020808a01516000838152918a90529481206001018054919586959493929091859187906100d1908490610554565b9091555050600082815260208b90526040812060020180548592906100f7908490610554565b9091555050600081815260208b90526040902060010154610158576001890180549060006101248361056d565b91905055508089600401600082825461013d91906105a5565b90915550506000818152602089905260409020879055600194505b600081815260208b90526040812060010180548692906101799084906105a5565b9091555050600081815260208b905260408120600201805485929061019f9084906105a5565b90915550505060009081526020989098525050604090952060010154159694955050505050565b60408084015160608501518551602080880151600083815291889052949020600101549293919290919084111561025e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f7420656e6f7567682068656172747300000000000000000000000000000060448201526064015b60405180910390fd5b6000828152602087905260409020600201548311156102d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610255565b6040517face6b1c5000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260009073ffffffffffffffffffffffffffffffffffffffff87169063ace6b1c590604401602060405180830381865afa15801561034e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037291906105b8565b6000848152602089905260409020600301549091508111156103f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f746172676574206f7574206f662072616e6765000000000000000000000000006044820152606401610255565b5050505050505050565b60006080828403121561040c57600080fd5b6040516080810181811067ffffffffffffffff82111715610456577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b600080600080600061010086880312156104a057600080fd5b6104aa87876103fa565b976080870135975060a08701359660c0810135965060e00135945092505050565b600080600060c084860312156104e057600080fd5b6104ea85856103fa565b92506080840135915060a084013573ffffffffffffffffffffffffffffffffffffffff8116811461051a57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561056757610567610525565b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361059e5761059e610525565b5060010190565b8082018082111561056757610567610525565b6000602082840312156105ca57600080fd5b505191905056", + "nonce": "0x278", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionType": "CREATE", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": null, + "arguments": [ + "(5, 21, 1, 3, 3, 30, 0, 5, 0x0000000000000000000000000000000000000000000000000000000000000000)", + "0x3c5CD6c3A8f47443f739597A89A630868F805e2e" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x6e3f00", + "value": "0x0", + "data": "0x6080604052604051620062cb380380620062cb8339810160408190526200002691620002e6565b600382602001516200003991906200038a565b15620000805760405162461bcd60e51b8152602060048201526012602482015271696e76616c696420626f6172642073697a6560701b604482015260640160405180910390fd5b6040805183518152602080850151908201528382015181830152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e08085015190820152610100808501519082015290517fd238cf491e3dd71f67796a95afc0def045cac20be422b1bb24d9dc52aa5647b3918190036101200190a181516018556020808301516019819055604080850151601a556060850151601b556080850151601c5560a0850151601d5560c0850151601e5560e0850151601f556101008501519092556017805460ff60a01b191690559051620001689062000283565b908152602001604051809103906000f0801580156200018b573d6000803e3d6000fd5b50602980546001600160a01b0319166001600160a01b039290921691909117905560e0820151620001bd9043620003ad565b601555601780546001600160a01b0319166001600160a01b038316179055620001e56200022a565b6015546040805133815260208101929092527f5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed7910160405180910390a15050620003d5565b34600e60008282546200023e9190620003ad565b909155505060408051338152346020820152478183015290517fde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b69181900360600190a1565b610da4806200552783390190565b60405161012081016001600160401b0381118282101715620002c357634e487b7160e01b600052604160045260246000fd5b60405290565b80516001600160a01b0381168114620002e157600080fd5b919050565b600080828403610140811215620002fc57600080fd5b610120808212156200030d57600080fd5b6200031762000291565b9150845182526020850151602083015260408501516040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152508193506200037f818601620002c9565b925050509250929050565b600082620003a857634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115620003cf57634e487b7160e01b600052601160045260246000fd5b92915050565b61514280620003e56000396000f3fe6080604052600436106103345760003560e01c8063a475b5dd116101b0578063dbe7e3bd116100ec578063ed28a70811610095578063f1da90b61161006f578063f1da90b614610b5a578063f3c61e5b14610b7a578063fd9929ab14610ba7578063ff329e7c14610bc757600080fd5b8063ed28a70814610b0f578063ed88c68e14610b25578063ef98d5be14610b2d57600080fd5b8063e06174e4116100c6578063e06174e414610a47578063e0c3e68514610ac2578063e2eb41ff14610ae257600080fd5b8063dbe7e3bd146109d7578063df46067c14610a07578063e023915b14610a2757600080fd5b8063be9a655511610159578063c2de609411610133578063c2de60941461093a578063c2e522061461095a578063c47e02521461096f578063db69f8a2146109aa57600080fd5b8063be9a6555146108d3578063c125c06f146108e8578063c19d93fb1461090857600080fd5b8063ade3eca31161018a578063ade3eca31461086d578063bb2b1bf41461088d578063bd3eb826146108a357600080fd5b8063a475b5dd146107e2578063a5bbee79146107f7578063aabbe8931461081757600080fd5b806366bb81c71161027f57806385b4bb531161022857806396dc23771161020257806396dc2377146107545780639b233a41146107745780639da7d02e146107ac578063a3f67d6d146107cc57600080fd5b806385b4bb531461069257806389b3d1b1146107145780638da5cb5b1461073457600080fd5b8063757991a811610259578063757991a81461061257806376044bd1146106275780637cd3229a1461067257600080fd5b806366bb81c7146105d35780636d4175e2146105e9578063719ce73e146105fc57600080fd5b80631e8fb36a116102e15780634b5ede09116102bb5780634b5ede09146104e85780634d5e9695146104fe57806351cdc8c61461057757600080fd5b80631e8fb36a1461042a5780633264a34b146104aa5780634a03e0ef146104c857600080fd5b806315cf5d781161031257806315cf5d78146103bb57806315e5a1e5146103db5780631865c57d146103f157600080fd5b8063019712f41461033957806309c432941461037657806313af403514610399575b600080fd5b34801561034557600080fd5b5061035961035436600461457f565b610be7565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561038257600080fd5b5061038b610c1f565b60405190815260200161036d565b3480156103a557600080fd5b506103b96103b43660046145b9565b610c76565b005b3480156103c757600080fd5b506103b96103d63660046145ee565b610d0f565b3480156103e757600080fd5b5061038b600f5481565b3480156103fd57600080fd5b5060175474010000000000000000000000000000000000000000900460ff165b60405161036d9190614639565b34801561043657600080fd5b5060215460225460235460245460255460265460275460285461046697969594939291906001600160a01b031688565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c08301526001600160a01b031660e08201526101000161036d565b3480156104b657600080fd5b506029546001600160a01b0316610359565b3480156104d457600080fd5b506103b96104e336600461467a565b610fef565b3480156104f457600080fd5b5061038b60145481565b34801561050a57600080fd5b5061054d6105193660046146aa565b600160208190526000918252604090912080549181015460028201546003909201546001600160a01b039093169290919084565b604080516001600160a01b039095168552602085019390935291830152606082015260800161036d565b34801561058357600080fd5b506105976105923660046146aa565b6110d9565b60405161036d919081516001600160a01b0316815260208083015190820152604080830151908201526060918201519181019190915260800190565b3480156105df57600080fd5b5061038b60155481565b6103b96105f73660046146d5565b61115a565b34801561060857600080fd5b5061038b600e5481565b34801561061e57600080fd5b5061038b611442565b34801561063357600080fd5b5061066261064236600461457f565b600960209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161036d565b34801561067e57600080fd5b50602954610359906001600160a01b031681565b34801561069e57600080fd5b506106a761144c565b60405161036d9190600061012082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525092915050565b34801561072057600080fd5b506103b961072f366004614724565b6114f8565b34801561074057600080fd5b50601754610359906001600160a01b031681565b34801561076057600080fd5b506103b961076f366004614752565b61189e565b34801561078057600080fd5b5061038b61078f36600461457f565b600760209081526000928352604080842090915290825290205481565b3480156107b857600080fd5b506103b96107c7366004614724565b611ae6565b3480156107d857600080fd5b5061038b600c5481565b3480156107ee57600080fd5b506103b96120e7565b34801561080357600080fd5b506103b96108123660046145ee565b6121e3565b34801561082357600080fd5b506108526108323660046146aa565b600260208190526000918252604090912080546001820154919092015483565b6040805193845260208401929092529082015260600161036d565b34801561087957600080fd5b5061038b6108883660046146aa565b6125fc565b34801561089957600080fd5b5061038b60165481565b3480156108af57600080fd5b506106626108be3660046146aa565b60086020526000908152604090205460ff1681565b3480156108df57600080fd5b506103b961261d565b3480156108f457600080fd5b5061038b6109033660046146aa565b6126e6565b34801561091457600080fd5b5060175461041d9074010000000000000000000000000000000000000000900460ff1681565b34801561094657600080fd5b506103b96109553660046145ee565b6126f7565b34801561096657600080fd5b50600c5461038b565b34801561097b57600080fd5b5061066261098a36600461467a565b600660209081526000928352604080842090915290825290205460ff1681565b3480156109b657600080fd5b5061038b6109c53660046146aa565b60036020526000908152604090205481565b3480156109e357600080fd5b506106626109f23660046146aa565b600a6020526000908152604090205460ff1681565b348015610a1357600080fd5b50610662610a2236600461467a565b612b55565b348015610a3357600080fd5b506103b9610a4236600461467a565b612ba6565b348015610a5357600080fd5b50601854601954601a54601b54601c54601d54601e54601f54602054610a7e98979695949392919089565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200161036d565b348015610ace57600080fd5b5061038b610add3660046146aa565b612d9d565b348015610aee57600080fd5b5061038b610afd3660046145b9565b60006020819052908152604090205481565b348015610b1b57600080fd5b5061038b600d5481565b6103b9612db4565b348015610b3957600080fd5b5061038b610b483660046146aa565b60056020526000908152604090205481565b348015610b6657600080fd5b506103b9610b7536600461476e565b612e0e565b348015610b8657600080fd5b5061038b610b953660046146aa565b60046020526000908152604090205481565b348015610bb357600080fd5b506103b9610bc2366004614752565b6133ed565b348015610bd357600080fd5b5061038b610be23660046146aa565b61361b565b600b6020528160005260406000208181548110610c0357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008060175474010000000000000000000000000000000000000000900460ff166002811115610c5157610c5161460a565b03610c5c5750600090565b600f54610c676136c3565b610c7191906147b9565b905090565b6017546001600160a01b03163314610cd55760405162461bcd60e51b815260206004820152600960248201527f6e6f74206f776e6572000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b601780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8035610d1b8133612b55565b610d675760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b81356000610d7b60408501602086016145b9565b9050600260175474010000000000000000000000000000000000000000900460ff166002811115610dae57610dae61460a565b14610dfb5760405162461bcd60e51b815260206004820152600e60248201527f67616d65206e6f7420656e6465640000000000000000000000000000000000006044820152606401610ccc565b6000828152600a602052604090205460ff1615610e5a5760405162461bcd60e51b815260206004820152600f60248201527f616c726561647920636c61696d656400000000000000000000000000000000006044820152606401610ccc565b6000828152600a6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805b6003811015610f9a578360108260038110610eb057610eb06147cc565b015403610f885760008115610ed55781600114610ece57600a610ed8565b601e610ed8565b603c5b60ff1690506000606482600e54610eef91906147fb565b610ef99190614812565b6040519091506001600160a01b0386169082156108fc029083906000818181858888f19350505050158015610f32573d6000803e3d6000fd5b50604080516001600160a01b0387168152602081018890529081018290527f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf79060600160405180910390a1600193505050610f9a565b80610f928161484d565b915050610e93565b5080610fe85760405162461bcd60e51b815260206004820152600d60248201527f6e6f74206f6e20706f6469756d000000000000000000000000000000000000006044820152606401610ccc565b5050505050565b6017546001600160a01b031633146110495760405162461bcd60e51b815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610ccc565b6000828152600b6020908152604080832080546001810182559084529282902090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385169081179091558251858152918201527f37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e91015b60405180910390a15050565b61110d604051806080016040528060006001600160a01b031681526020016000815260200160008152602001600081525090565b50600090815260016020818152604092839020835160808101855281546001600160a01b031681529281015491830191909152600281015492820192909252600390910154606082015290565b60408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e08201529054610100820152600c546111cb916000916111c3856149a1565b9291906136d3565b60295460408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e08201529054610100820152600091611251916001600160a01b039091169060019084906021611247886149a1565b949392919061389b565b602154600c55602554601455602254600d5590507f8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd661129360208401846145b9565b600c54836112a46040870187614a87565b6040516112b5959493929190614b1e565b60405180910390a160005b600c546000908152600b602052604090205481101561143d57600c546000908152600b602052604081208054839081106112fc576112fc6147cc565b60009182526020822001546040517f6e0676da0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290636e0676da906113529030908990600401614c22565b6020604051808303816000875af1158015611371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113959190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f6e0676da00000000000000000000000000000000000000000000000000000000146114285760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806114359061484d565b9150506112c0565b505050565b6000610c716136c3565b61149e6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b5060408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e0820152905461010082015290565b600160175474010000000000000000000000000000000000000000900460ff1660028111156115295761152961460a565b146115765760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b80356115828133612b55565b6115ce5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b81356000818152600160208190526040909120015461162f5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b8235602084013561164536869003860186614d6d565b602954604080517f94cbfbff00000000000000000000000000000000000000000000000000000000815283516004820152602084015160248201529083015160448201526060909201516064830152600160848301526001600160a01b031660a482015273fa109ab9c85c5f0181e6548f83c25ef37b3ffec9906394cbfbff9060c40160006040518083038186803b1580156116e057600080fd5b505af41580156116f4573d6000803e3d6000fd5b505050506000808680360381019061170c9190614d6d565b73fa109ab9c85c5f0181e6548f83c25ef37b3ffec9631c49198f90916001602160056117366136c3565b604080517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815286516004820152602087015160248201529086015160448201526060909501516064860152608485019390935260a484019190915260c483015260e4820152610104016040805180830381865af41580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e69190614de8565b602254600d5560255460145560408051878152602081018790528a820135818301526060808c01359082015290519294509092507f654b04c5c30ce4656189a7398b7ed5489f63defa1cf3ae9ecc0a649e33910467919081900360800190a18115611855576118558485613b47565b80156118955760408051858152602081018590527fa78677222d515efffcb323b960622c3e2bff3331916798f375b592c2a07f6c5a910160405180910390a15b50505050505050565b600160175474010000000000000000000000000000000000000000900460ff1660028111156118cf576118cf61460a565b1461191c5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b80356119288133612b55565b6119745760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b8135600081815260016020819052604090912001546119d55760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b823560006119e28261361b565b600083815260016020526040902060020154909150811115611a465760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b60008281526001602052604081206002018054839290611a679084906147b9565b909155505060008281526001602081905260408220600301805491929091611a90908490614e1b565b9091555050600082815260016020908152604091829020600301548251858152918201527feb0ebb51128928d7b1a6419c52128a9319bfcb55f0adafea75afbf75f9f2f3e9910160405180910390a15050505050565b600160175474010000000000000000000000000000000000000000900460ff166002811115611b1757611b1761460a565b14611b645760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035611b708133612b55565b611bbc5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b813560008181526001602081905260409091200154611c1d5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b82356000611c3336869003860160208701614e68565b6029546040517fe440908c0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063e440908c90611c82908590600401614e84565b6040805180830381865afa158015611c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc29190614ea5565b6029546040517fff324dbe0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063ff324dbe90611d139087908790600401614ed7565b602060405180830381865afa158015611d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d549190614eff565b602954909150611d83906001600160a01b031660018484611d7a368d90038d018d614f18565b93929190613d15565b60005b6000858152600b6020526040902054811015611efd576000858152600b60205260408120805483908110611dbc57611dbc6147cc565b60009182526020822001546040517f6ba9d5150000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290636ba9d51590611e129030908e90600401614f4f565b6020604051808303816000875af1158015611e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e559190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f6ba9d5150000000000000000000000000000000000000000000000000000000014611ee85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b50508080611ef59061484d565b915050611d86565b50602954611f2a906001600160a01b031660018484611f21368d90038d018d614f18565b93929190613e9e565b7f0b34be83310da514ceef99b4c1f7204a5c5a824070290c9820789bac3d88b6368484604051611f5b929190614ed7565b60405180910390a160005b6000858152600b60205260409020548110156120dd576000858152600b60205260408120805483908110611f9c57611f9c6147cc565b60009182526020822001546040517f200a25520000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063200a255290611ff29030908e90600401614f4f565b6020604051808303816000875af1158015612011573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120359190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f200a255200000000000000000000000000000000000000000000000000000000146120c85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806120d59061484d565b915050611f66565b5050505050505050565b6015544310156121395760405162461bcd60e51b815260206004820152601360248201527f6e6f7420726561647920746f2072657665616c000000000000000000000000006044820152606401610ccc565b6015546040805133815260208101929092527ff254aace0ef98d6ac1a0d84c95648f8e3f7a1881dbb43393709ecd004b00f103910160405180910390a16101006015544361218791906147b9565b11612194576121946140d9565b601f546121a19043614e1b565b60158190556040805133815260208101929092527f5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed791015b60405180910390a1565b80356000818152600160205260409020546001600160a01b0316331461224b5760405162461bcd60e51b815260206004820152600e60248201527f6e6f742074616e6b206f776e65720000000000000000000000000000000000006044820152606401610ccc565b813560005b6000828152600b60205260409020548110156123c7576000828152600b60205260408120805483908110612286576122866147cc565b60009182526020822001546040517f230ad3b30000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063230ad3b3906122dc9030908a90600401614f9e565b6020604051808303816000875af11580156122fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231f9190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f230ad3b300000000000000000000000000000000000000000000000000000000146123b25760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806123bf9061484d565b915050612250565b5060006123da60408501602086016145b9565b60008381526006602090815260408083206001600160a01b03858116808652918452828520805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009091168117909155858552838620899055888652845293829020548251888152938401919091529092168183015290519192507f4aae9d98faa4137df04104122f887002256b47f839145564826f6551f20df117919081900360600190a160005b6000838152600b6020526040902054811015610fe8576000838152600b602052604081208054839081106124bb576124bb6147cc565b60009182526020822001546040517fc08255130000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063c0825513906125119030908b90600401614f9e565b6020604051808303816000875af1158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125549190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fc082551300000000000000000000000000000000000000000000000000000000146125e75760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806125f49061484d565b915050612485565b6013818154811061260c57600080fd5b600091825260209091200154905081565b601854600c5410156126715760405162461bcd60e51b815260206004820152601260248201527f6e6f7420656e6f75676820706c617965727300000000000000000000000000006044820152606401610ccc565b6126796136c3565b600f55601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f762f260439bb4be3ef6e4dc2786e2e7bd187d3d80b79057d7a424fe98563e33590600090a1565b60006126f182614244565b92915050565b600160175474010000000000000000000000000000000000000000900460ff1660028111156127285761272861460a565b146127755760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b803560008181526001602081905260409091200154156127d75760405162461bcd60e51b815260206004820152600d60248201527f74616e6b20697320616c697665000000000000000000000000000000000000006044820152606401610ccc565b816020013560006001600083815260200190815260200160002060010154116128425760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b823561284e8133612b55565b61289a5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b8335602085013560006128ab6136c3565b600081815260096020908152604080832087845290915290205490915060ff16156129185760405162461bcd60e51b815260206004820152600d60248201527f616c726561647920766f746564000000000000000000000000000000000000006044820152606401610ccc565b60008181526008602052604090205460ff16156129775760405162461bcd60e51b815260206004820152600d60248201527f766f74696e6720636c6f736564000000000000000000000000000000000000006044820152606401610ccc565b600081815260076020908152604080832085845290915281208054600192906129a1908490614e1b565b909155505060408051848152602081018490529081018290527f6bbb2afba842b206b06bf91942742fa3dc08583f4653646faadfcffea72402ba9060600160405180910390a16013546129f690600290614812565b612a01906001614e1b565b600082815260076020908152604080832086845290915290205410612b0a576000828152600160208190526040909120600201541115612a6c5760018060008481526020019081526020016000206002016000828254612a6191906147b9565b90915550612a909050565b612a7582614244565b612a80906001614e1b565b6000838152600560205260409020555b60008181526008602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905581518481529081018590529081018290527fe779371387c4bde679554053dbca7c569f72e2dcc4bf6c28465bb5b77b4a2f4b9060600160405180910390a15b60009081526009602090815260408083209483529390529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050565b6000828152600160205260408120546001600160a01b0383811691161480612b9f575060008381526006602090815260408083206001600160a01b038616845290915290205460ff165b9392505050565b81612bb18133612b55565b612bfd5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b6001600160a01b038216612c535760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964206164647265737300000000000000000000000000000000006044820152606401610ccc565b60005b6000848152600b6020526040902054811015612d0c576000848152600b6020526040902080546001600160a01b038516919083908110612c9857612c986147cc565b6000918252602090912001546001600160a01b031603612cfa5760405162461bcd60e51b815260206004820152601260248201527f686f6f6b20616c726561647920616464656400000000000000000000000000006044820152606401610ccc565b80612d048161484d565b915050612c56565b506000838152600b6020908152604080832080546001810182559084529282902090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0386169081179091558251868152918201527f37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e910160405180910390a1505050565b60108160038110612dad57600080fd5b0154905081565b60003411612e045760405162461bcd60e51b815260206004820152600d60248201527f6e6f2076616c75652073656e74000000000000000000000000000000000000006044820152606401610ccc565b612e0c614260565b565b600160175474010000000000000000000000000000000000000000900460ff166002811115612e3f57612e3f61460a565b14612e8c5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035612e988133612b55565b612ee45760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b813560008181526001602081905260409091200154612f455760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b82602001356000600160008381526020019081526020016000206001015411612fb05760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b602954843590602086013590612fe2906001906001600160a01b0316612fdb368a90038a018a614e68565b91906142b6565b60005b6000838152600b602052604090205481101561315c576000838152600b6020526040812080548390811061301b5761301b6147cc565b60009182526020822001546040517f4d2c8f640000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634d2c8f64906130719030908d90600401614fe1565b6020604051808303816000875af1158015613090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b49190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f4d2c8f6400000000000000000000000000000000000000000000000000000000146131475760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806131549061484d565b915050612fe5565b5060408051838152602081018390527f33e6f0759676874e0bacdeb489e6b9add26a0e630e36a11436f28473a606eb6a910160405180910390a16131b060016131aa36899003890189614e68565b90614474565b15613273576000818152600160205260408120600201546131d390600590614812565b9050806001600085815260200190815260200160002060020160008282546131fb9190614e1b565b9091555050600082815260016020526040812060020180548392906132219084906147b9565b909155505060408051848152602081018490529081018290527f51e8d4f8aaf9c60ffae4405a481bb91e06484535112745e154a147feb6a303039060600160405180910390a16132718383613b47565b505b60005b6000838152600b6020526040902054811015611895576000838152600b602052604081208054839081106132ac576132ac6147cc565b60009182526020822001546040517fec7b4f780000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063ec7b4f78906133029030908d90600401614fe1565b6020604051808303816000875af1158015613321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133459190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fec7b4f7800000000000000000000000000000000000000000000000000000000146133d85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806133e59061484d565b915050613276565b600160175474010000000000000000000000000000000000000000900460ff16600281111561341e5761341e61460a565b1461346b5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035600081815260016020819052604090912001546134cc5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b813560006134d86136c3565b9050600f54810361352b5760405162461bcd60e51b815260206004820152601160248201527f746f6f206561726c7920746f20647269700000000000000000000000000000006044820152606401610ccc565b600061353683614244565b90508082116135875760405162461bcd60e51b815260206004820152600f60248201527f616c7265616479206472697070656400000000000000000000000000000000006044820152606401610ccc565b600061359382846147b9565b9050806001600086815260200190815260200160002060020160008282546135bb9190614e1b565b909155505060008481526005602090815260409182902085905581518681529081018390529081018490527fff4a002cd7ab9a8905cffd8b8df193a7526645df5584f9f3b9b6fe5b306523bf9060600160405180910390a1505050505050565b6029546000828152600160205260408082206003015490517fa613fcd4000000000000000000000000000000000000000000000000000000008152600481019190915290916006916001600160a01b039091169063a613fcd490602401602060405180830381865afa158015613695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136b99190614eff565b6126f191906147b9565b601d54600090610c719042614812565b83516001600160a01b03166000908152602084905260409020541561373a5760405162461bcd60e51b815260206004820152600e60248201527f616c7265616479206a6f696e65640000000000000000000000000000000000006044820152606401610ccc565b8151811061378a5760405162461bcd60e51b815260206004820152600c60248201527f67616d652069732066756c6c00000000000000000000000000000000000000006044820152606401610ccc565b8160c001513410156137de5760405162461bcd60e51b815260206004820152601360248201527f696e73756666696369656e742062757920696e000000000000000000000000006044820152606401610ccc565b6000846000015185604001516040516020016137fb929190615026565b60408051808303601f190181528282528051602091820120818401528151808403820181529282019091528151910120610100840151909150158061384f575061384f8560200151846101000151836144ed565b610fe85760405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642070726f6f66000000000000000000000000000000000000006044820152606401610ccc565b6138bf60405180606001604052806000815260200160008152602001600081525090565b865160405160009161390d9142914491602001928352602083019190915260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016604082015260540190565b60408051808303601f190181529082905280516020909101207fd7476f7e0000000000000000000000000000000000000000000000000000000082526004820181905291506000906001600160a01b0389169063d7476f7e90602401606060405180830381865afa158015613986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139aa9190615085565b60408051608080820183528c516001600160a01b031682526060808a015160208401528984015193830193909352880151918101919091528554919250908560006139f48361484d565b90915550508454600186018054906000613a0d8361484d565b919050555080866004016000828254613a269190614e1b565b9091555050600081815260208a81526040808320855181547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0391821617825586840151600183015586830151600283015560608701516003909201919091558e51811684528b83528184208590558151808301835285815280840194855282517f8877858e000000000000000000000000000000000000000000000000000000008152885160048201529388015160248501529187015160448401529051606483015291516084820152908b1690638877858e9060a401600060405180830381600087803b158015613b2057600080fd5b505af1158015613b34573d6000803e3d6000fd5b50949d9c50505050505050505050505050565b600d8054906000613b57836150c1565b909155505060228054906000613b6c836150c1565b91905055508060216004016000828254613b8691906147b9565b925050819055508060146000828254613b9f91906147b9565b9091555050601380546001810182556000919091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900181905560408051838152602081018390527fd02b8bdc1eb9eb4a85fe2b27c68fbe1eec04f697f660cc4cf3bb2cee4456f490910160405180910390a1600d54600103613d115760138054613c2c906001906147b9565b81548110613c3c57613c3c6147cc565b60009182526020909120015460115560138054613c5b906002906147b9565b81548110613c6b57613c6b6147cc565b6000918252602091829020015460128190556014546010819055601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055601154600e5460408051938452948301919091529281019190915260608101919091527f2138eea544e46359acf616a3cea69daedd6984f74feb71820c6c28e5cd25434c906080016110cd565b5050565b845160208601516040517f441a94420000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063441a944290613d61908490600401614e84565b602060405180830381865afa158015613d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613da291906150f6565b613dee5760405162461bcd60e51b815260206004820152600d60248201527f696e76616c696420706f696e74000000000000000000000000000000000000006044820152606401610ccc565b835115613e3d5760405162461bcd60e51b815260206004820152601160248201527f706f736974696f6e206f636375706965640000000000000000000000000000006044820152606401610ccc565b6000828152602086905260409020600201548311156118955760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b84516020808701518482015160008481529287905260408320600101805492939192909190613ece908490614e1b565b909155505060008281526020869052604081206002018054859290613ef49084906147b9565b90915550506040517fdc064ea8000000000000000000000000000000000000000000000000000000008152600481018390526000906001600160a01b0388169063dc064ea890602401606060405180830381865afa158015613f5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f7e9190615085565b6040805180820182528581526000602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815287516004820152908701516024820152928601516044840152905160648301525160848201529091506001600160a01b03881690638877858e9060a401600060405180830381600087803b15801561401057600080fd5b505af1158015614024573d6000803e3d6000fd5b50506040805180820182526000808252602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815287516004820152908701516024820152928601516044840152905160648301525160848201526001600160a01b038a169250638877858e915060a401600060405180830381600087803b1580156140b757600080fd5b505af11580156140cb573d6000803e3d6000fd5b505050505050505050505050565b6015546029546040517fd7476f7e000000000000000000000000000000000000000000000000000000008152914060048301819052916000916001600160a01b03169063d7476f7e90602401606060405180830381865afa158015614142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141669190615085565b602954604080518082018252600081526001602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815286516004820152908601516024820152928501516044840152905160648301525160848201529192506001600160a01b031690638877858e9060a401600060405180830381600087803b1580156141fb57600080fd5b505af115801561420f573d6000803e3d6000fd5b505050507fea248ff12af64e9d95abfbda1754fe5de18cb1dec8d6a9ede8f8b1006ec0898633826040516110cd929190615111565b600081815260056020526040812054806126f157600f54612b9f565b34600e60008282546142729190614e1b565b90915550506040805133815234602082015247918101919091527fde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b6906060016121d9565b8251602084015160408086015190517face6b1c500000000000000000000000000000000000000000000000000000000815260048101849052602481018390526000906001600160a01b0386169063ace6b1c590604401602060405180830381865afa15801561432a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061434e9190614eff565b6000858152602088905260409020600301549091508111156143b25760405162461bcd60e51b815260206004820152601360248201527f746172676574206f7574206f662072616e6765000000000000000000000000006044820152606401610ccc565b6000848152602087905260409020600201548211156144135760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b6000838152602087905260409020600101548211156118955760405162461bcd60e51b815260206004820152600e60248201527f746f6f206d616e792073686f74730000000000000000000000000000000000006044820152606401610ccc565b8151602080840151604080860151600085815293869052908320600201805493949382919086906144a69084906147b9565b9091555050600082815260208690526040812060010180548392906144cc9084906147b9565b90915550505060009081526020939093525050604090206001015415919050565b6000826144fa8584614503565b14949350505050565b600081815b84518110156145485761453482868381518110614527576145276147cc565b6020026020010151614550565b9150806145408161484d565b915050614508565b509392505050565b600081831061456c576000828152602084905260409020612b9f565b6000838152602083905260409020612b9f565b6000806040838503121561459257600080fd5b50508035926020909101359150565b6001600160a01b03811681146145b657600080fd5b50565b6000602082840312156145cb57600080fd5b8135612b9f816145a1565b6000604082840312156145e857600080fd5b50919050565b60006040828403121561460057600080fd5b612b9f83836145d6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310614674577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561468d57600080fd5b82359150602083013561469f816145a1565b809150509250929050565b6000602082840312156146bc57600080fd5b5035919050565b6000606082840312156145e857600080fd5b6000602082840312156146e757600080fd5b813567ffffffffffffffff8111156146fe57600080fd5b61470a848285016146c3565b949350505050565b6000608082840312156145e857600080fd5b60006080828403121561473657600080fd5b612b9f8383614712565b6000602082840312156145e857600080fd5b60006020828403121561476457600080fd5b612b9f8383614740565b60006060828403121561478057600080fd5b612b9f83836146c3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156126f1576126f161478a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820281158282048414176126f1576126f161478a565b600082614848577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361487e5761487e61478a565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156148d7576148d7614885565b60405290565b6040805190810167ffffffffffffffff811182821017156148d7576148d7614885565b604051601f8201601f1916810167ffffffffffffffff8111828210171561492957614929614885565b604052919050565b600082601f83011261494257600080fd5b813567ffffffffffffffff81111561495c5761495c614885565b61496f6020601f19601f84011601614900565b81815284602083860101111561498457600080fd5b816020850160208301376000918101602001919091529392505050565b6000606082360312156149b357600080fd5b6149bb6148b4565b82356149c6816145a1565b815260208381013567ffffffffffffffff808211156149e457600080fd5b9085019036601f8301126149f757600080fd5b813581811115614a0957614a09614885565b8060051b614a18858201614900565b9182528381018501918581019036841115614a3257600080fd5b948601945b83861015614a5057853582529486019490860190614a37565b8087890152505050506040860135925080831115614a6d57600080fd5b5050614a7b36828601614931565b60408301525092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614abc57600080fd5b83018035915067ffffffffffffffff821115614ad757600080fd5b602001915036819003821315614aec57600080fd5b9250929050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6001600160a01b0386168152846020820152614b5160408201858051825260208082015190830152604090810151910152565b60c060a08201526000614b6860c083018486614af3565b979650505050505050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614ba557600080fd5b8260051b80836020870137939093016020019392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614bf357600080fd5b830160208101925035905067ffffffffffffffff811115614c1357600080fd5b803603821315614aec57600080fd5b60006001600160a01b038085168352606060208401528335614c43816145a1565b1660608301526020830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614c7f57600080fd5b830160208101903567ffffffffffffffff811115614c9c57600080fd5b8060051b3603821315614cae57600080fd5b60606080850152614cc360c085018284614b73565b915050614cd36040850185614bbe565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08584030160a0860152614d08838284614af3565b925050508281036040840152614d22816000815260200190565b95945050505050565b600060208284031215614d3d57600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114612b9f57600080fd5b600060808284031215614d7f57600080fd5b6040516080810181811067ffffffffffffffff82111715614da257614da2614885565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b80518015158114614de357600080fd5b919050565b60008060408385031215614dfb57600080fd5b614e0483614dd3565b9150614e1260208401614dd3565b90509250929050565b808201808211156126f1576126f161478a565b600060608284031215614e4057600080fd5b614e486148b4565b905081358152602082013560208201526040820135604082015292915050565b600060608284031215614e7a57600080fd5b612b9f8383614e2e565b815181526020808301519082015260408083015190820152606081016126f1565b600060408284031215614eb757600080fd5b614ebf6148dd565b82518152602083015160208201528091505092915050565b82815260808101612b9f60208301848051825260208082015190830152604090810151910152565b600060208284031215614f1157600080fd5b5051919050565b600060808284031215614f2a57600080fd5b614f326148dd565b82358152614f438460208501614e2e565b60208201529392505050565b6001600160a01b038316815281356020820152614f8660408201602084018035825260208082013590830152604090810135910152565b60c060a0820181905260009082015260e00192915050565b60006001600160a01b038085168352833560208401526020840135614fc2816145a1565b1660408301525060806060820181905260009082015260a00192915050565b6001600160a01b038316815261500e60208201838035825260208082013590830152604090810135910152565b60a06080820181905260009082015260c00192915050565b6001600160a01b038316815260006020604081840152835180604085015260005b8181101561506357858101830151858201606001528201615047565b506000606082860101526060601f19601f830116850101925050509392505050565b60006060828403121561509757600080fd5b61509f6148b4565b8251815260208301516020820152604083015160408201528091505092915050565b6000816150d0576150d061478a565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561510857600080fd5b612b9f82614dd3565b6001600160a01b038316815260808101612b9f6020830184805182526020808201519083015260409081015191015256608060405234801561001057600080fd5b50604051610da4380380610da483398101604081905261002f91610037565b600055610050565b60006020828403121561004957600080fd5b5051919050565b610d458061005f6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063c51d69f4116100b2578063e440908c11610081578063f3c61e5b11610066578063f3c61e5b14610375578063fcdb667014610395578063ff324dbe146103a857600080fd5b8063e440908c1461033f578063f0b361561461036d57600080fd5b8063c51d69f4146102f0578063d7476f7e146102f9578063db69f8a21461030c578063dc064ea81461032c57600080fd5b8063a613fcd4116100ee578063a613fcd41461026e578063aabbe89314610281578063ace6b1c5146102ca578063c2fd42cf146102dd57600080fd5b8063398771cc14610120578063441a94421461015a57806372f68a6e1461017d5780638877858e146101dc575b600080fd5b61013361012e366004610a60565b6103bb565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b61016d610168366004610afc565b610534565b6040519015158152602001610151565b6101ce61018b366004610afc565b6040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b604051908152602001610151565b61026c6101ea366004610b18565b6040805183516020808301919091528085018051838501528584018051606080860191909152855180860390910181526080909401855283519383019390932085516000908152600180855286822098518955925192880192909255925160029687015584820151928152948152828520919091559151600390925290912055565b005b6101ce61027c366004610a60565b6105a1565b6102af61028f366004610a60565b600160208190526000918252604090912080549181015460029091015483565b60408051938452602084019290925290820152606001610151565b6101ce6102d8366004610bcf565b6105ae565b6101ce6102eb366004610bf1565b610617565b6101ce60005481565b610133610307366004610a60565b61062a565b6101ce61031a366004610a60565b60026020526000908152604090205481565b61013361033a366004610a60565b61076a565b61035261034d366004610afc565b6107c6565b60408051825181526020928301519281019290925201610151565b6101ce6108a8565b6101ce610383366004610a60565b60036020526000908152604090205481565b6101ce6103a3366004610afc565b6108dd565b6101ce6103b6366004610c26565b610940565b6103df60405180606001604052806000815260200160008152602001600081525090565b60008054819081906001905b6103f6816002610c79565b610401906001610c90565b61040b9088610cd2565b945060008186111561041e576000610428565b6104288683610ce6565b9050600086610438846003610c79565b6104429190610ce6565b90508161044f8183610ce6565b60408051602081018d9052016040516020818303038152906040528051906020012060001c61047e9190610cd2565b6104889190610c90565b95508587610497856003610c79565b6104a19190610ce6565b6104ab9190610ce6565b60408051602081018c905290810186905290955060600160408051601f1981840301815291905280516020909101209850836104e681610cf9565b945050505061050e604051806060016040528087815260200186815260200185815250610534565b156103eb5750506040805160608101825293845260208401929092529082015292915050565b60008054610543906003610c79565b6040830151602084015184516105599190610c90565b6105639190610c90565b14801561059b575060005461059883604051806060016040528060005481526020016000548152602001600054815250610984565b11155b92915050565b600061059b826006610c79565b600082815260016020818152604080842081516060808201845282548252828601548286015260029283015482850152878752858552838720845191820185528054825295860154948101949094529301549082015261060e8282610984565b95945050505050565b60006106238383610984565b9392505050565b61064e60405180606001604052806000815260200160008152602001600081525090565b6000610659836103bb565b905060006106a4826040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b905060015b6000828152600260205260409020541515806106d2575060008281526003602052604090205415155b156107615760408051602081018490529081018290526060016040516020818303038152906040528051906020012060001c945061070f856103bb565b604080518251602080830191909152808401518284015282840151606080840191909152835180840390910181526080909201909252805191012090935091508061075981610cf9565b9150506106a9565b50909392505050565b61078e60405180606001604052806000815260200160008152602001600081525090565b506000908152600160208181526040928390208351606081018552815481529281015491830191909152600201549181019190915290565b6040805180820190915260008082526020820152604051806040016040528060036000610830866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b81526020019081526020016000205481526020016002600061088f866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020548152509050919050565b600080546108b7816001610c90565b6108c2826003610c79565b6108cc9190610c79565b6108d7906001610c90565b91505090565b60006002600061092a846040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020549050919050565b600082815260016020818152604080842081516060810183528154815293810154928401929092526002909101549082015261097c8184610984565b949350505050565b805182516000918291116109a557835183516109a09190610ce6565b6109b3565b825184516109b39190610ce6565b9050600083602001518560200151116109df57846020015184602001516109da9190610ce6565b6109f3565b836020015185602001516109f39190610ce6565b905060008460400151866040015111610a1f5785604001518560400151610a1a9190610ce6565b610a33565b84604001518660400151610a339190610ce6565b9050600281610a428486610c90565b610a4c9190610c90565b610a569190610d31565b9695505050505050565b600060208284031215610a7257600080fd5b5035919050565b600060608284031215610a8b57600080fd5b6040516060810181811067ffffffffffffffff82111715610ad5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201525092915050565b600060608284031215610b0e57600080fd5b6106238383610a79565b60008082840360a0811215610b2c57600080fd5b610b368585610a79565b925060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215610b6857600080fd5b506040516040810181811067ffffffffffffffff82111715610bb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040526060840135815260809093013560208401525092909150565b60008060408385031215610be257600080fd5b50508035926020909101359150565b60008060c08385031215610c0457600080fd5b610c0e8484610a79565b9150610c1d8460608501610a79565b90509250929050565b60008060808385031215610c3957600080fd5b82359150610c1d8460208501610a79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761059b5761059b610c4a565b8082018082111561059b5761059b610c4a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610ce157610ce1610ca3565b500690565b8181038181111561059b5761059b610c4a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d2a57610d2a610c4a565b5060010190565b600082610d4057610d40610ca3565b5004905600000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "nonce": "0x279", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x229BD9D27B4775cbeF8e5B116DD48574b80c0442", + "initCode": "0x608060405234801561001057600080fd5b50604051610da4380380610da483398101604081905261002f91610037565b600055610050565b60006020828403121561004957600080fd5b5051919050565b610d458061005f6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063c51d69f4116100b2578063e440908c11610081578063f3c61e5b11610066578063f3c61e5b14610375578063fcdb667014610395578063ff324dbe146103a857600080fd5b8063e440908c1461033f578063f0b361561461036d57600080fd5b8063c51d69f4146102f0578063d7476f7e146102f9578063db69f8a21461030c578063dc064ea81461032c57600080fd5b8063a613fcd4116100ee578063a613fcd41461026e578063aabbe89314610281578063ace6b1c5146102ca578063c2fd42cf146102dd57600080fd5b8063398771cc14610120578063441a94421461015a57806372f68a6e1461017d5780638877858e146101dc575b600080fd5b61013361012e366004610a60565b6103bb565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b61016d610168366004610afc565b610534565b6040519015158152602001610151565b6101ce61018b366004610afc565b6040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b604051908152602001610151565b61026c6101ea366004610b18565b6040805183516020808301919091528085018051838501528584018051606080860191909152855180860390910181526080909401855283519383019390932085516000908152600180855286822098518955925192880192909255925160029687015584820151928152948152828520919091559151600390925290912055565b005b6101ce61027c366004610a60565b6105a1565b6102af61028f366004610a60565b600160208190526000918252604090912080549181015460029091015483565b60408051938452602084019290925290820152606001610151565b6101ce6102d8366004610bcf565b6105ae565b6101ce6102eb366004610bf1565b610617565b6101ce60005481565b610133610307366004610a60565b61062a565b6101ce61031a366004610a60565b60026020526000908152604090205481565b61013361033a366004610a60565b61076a565b61035261034d366004610afc565b6107c6565b60408051825181526020928301519281019290925201610151565b6101ce6108a8565b6101ce610383366004610a60565b60036020526000908152604090205481565b6101ce6103a3366004610afc565b6108dd565b6101ce6103b6366004610c26565b610940565b6103df60405180606001604052806000815260200160008152602001600081525090565b60008054819081906001905b6103f6816002610c79565b610401906001610c90565b61040b9088610cd2565b945060008186111561041e576000610428565b6104288683610ce6565b9050600086610438846003610c79565b6104429190610ce6565b90508161044f8183610ce6565b60408051602081018d9052016040516020818303038152906040528051906020012060001c61047e9190610cd2565b6104889190610c90565b95508587610497856003610c79565b6104a19190610ce6565b6104ab9190610ce6565b60408051602081018c905290810186905290955060600160408051601f1981840301815291905280516020909101209850836104e681610cf9565b945050505061050e604051806060016040528087815260200186815260200185815250610534565b156103eb5750506040805160608101825293845260208401929092529082015292915050565b60008054610543906003610c79565b6040830151602084015184516105599190610c90565b6105639190610c90565b14801561059b575060005461059883604051806060016040528060005481526020016000548152602001600054815250610984565b11155b92915050565b600061059b826006610c79565b600082815260016020818152604080842081516060808201845282548252828601548286015260029283015482850152878752858552838720845191820185528054825295860154948101949094529301549082015261060e8282610984565b95945050505050565b60006106238383610984565b9392505050565b61064e60405180606001604052806000815260200160008152602001600081525090565b6000610659836103bb565b905060006106a4826040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b905060015b6000828152600260205260409020541515806106d2575060008281526003602052604090205415155b156107615760408051602081018490529081018290526060016040516020818303038152906040528051906020012060001c945061070f856103bb565b604080518251602080830191909152808401518284015282840151606080840191909152835180840390910181526080909201909252805191012090935091508061075981610cf9565b9150506106a9565b50909392505050565b61078e60405180606001604052806000815260200160008152602001600081525090565b506000908152600160208181526040928390208351606081018552815481529281015491830191909152600201549181019190915290565b6040805180820190915260008082526020820152604051806040016040528060036000610830866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b81526020019081526020016000205481526020016002600061088f866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020548152509050919050565b600080546108b7816001610c90565b6108c2826003610c79565b6108cc9190610c79565b6108d7906001610c90565b91505090565b60006002600061092a846040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020549050919050565b600082815260016020818152604080842081516060810183528154815293810154928401929092526002909101549082015261097c8184610984565b949350505050565b805182516000918291116109a557835183516109a09190610ce6565b6109b3565b825184516109b39190610ce6565b9050600083602001518560200151116109df57846020015184602001516109da9190610ce6565b6109f3565b836020015185602001516109f39190610ce6565b905060008460400151866040015111610a1f5785604001518560400151610a1a9190610ce6565b610a33565b84604001518660400151610a339190610ce6565b9050600281610a428486610c90565b610a4c9190610c90565b610a569190610d31565b9695505050505050565b600060208284031215610a7257600080fd5b5035919050565b600060608284031215610a8b57600080fd5b6040516060810181811067ffffffffffffffff82111715610ad5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201525092915050565b600060608284031215610b0e57600080fd5b6106238383610a79565b60008082840360a0811215610b2c57600080fd5b610b368585610a79565b925060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215610b6857600080fd5b506040516040810181811067ffffffffffffffff82111715610bb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040526060840135815260809093013560208401525092909150565b60008060408385031215610be257600080fd5b50508035926020909101359150565b60008060c08385031215610c0457600080fd5b610c0e8484610a79565b9150610c1d8460608501610a79565b90509250929050565b60008060808385031215610c3957600080fd5b82359150610c1d8460208501610a79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761059b5761059b610c4a565b8082018082111561059b5761059b610c4a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610ce157610ce1610ca3565b500690565b8181038181111561059b5761059b610c4a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d2a57610d2a610c4a565b5060010190565b600082610d4057610d40610ca3565b500490560000000000000000000000000000000000000000000000000000000000000015" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x493292edbebadfb3b95fee528d0c9a06b3c507e10bb5012af84b67ad3cb2689e", + "transactionType": "CREATE", + "contractName": "GameView", + "contractAddress": "0xAFf0E741b60288110bA7a400Ef6a99917faA593c", + "function": null, + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x100053", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b50604051610dcf380380610dcf83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610d3c806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063260e88bf14610046578063a03d4dd014610064578063c3fe3e2814610079575b600080fd5b61004e6100be565b60405161005b91906108be565b60405180910390f35b61006c6104a4565b60405161005b9190610929565b6000546100999073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161005b565b60606000808060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385b4bb536040518163ffffffff1660e01b815260040161012060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101549190610a4c565b60200151905060006101668280610af6565b67ffffffffffffffff81111561017e5761017e6109cc565b6040519080825280602002602001820160405280156101b757816020015b6101a461082d565b81526020019060019003908161019c5790505b50905060005b6101c8836002610af6565b6101d3906001610b13565b81116103ee576000838211156101ea5760006101f4565b6101f48285610b26565b9050600082610204866003610af6565b61020e9190610b26565b9050815b818110156103d85760008185610229896003610af6565b6102339190610b26565b61023d9190610b26565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633264a34b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d19190610b5e565b73ffffffffffffffffffffffffffffffffffffffff1663fcdb66706040518060600160405280898152602001868152602001858152506040518263ffffffff1660e01b81526004016103239190610b82565b602060405180830381865afa158015610340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103649190610ba3565b905080156103c3576040805160a08101825290810187815260608201859052608082018490528152602081018290528751819089908c9081106103a9576103a9610bbc565b60209081029190910101526103bf60018b610b13565b9950505b505080806103d090610beb565b915050610212565b50505080806103e690610beb565b9150506101bd565b5060008367ffffffffffffffff81111561040a5761040a6109cc565b60405190808252806020026020018201604052801561044357816020015b61043061082d565b8152602001906001900390816104285790505b50905060005b8481101561049b5782818151811061046357610463610bbc565b602002602001015182828151811061047d5761047d610bbc565b6020026020010181905250808061049390610beb565b915050610449565b50949350505050565b60008054604080517fc2e5220600000000000000000000000000000000000000000000000000000000815290516060939273ffffffffffffffffffffffffffffffffffffffff169163c2e522069160048083019260209291908290030181865afa158015610516573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053a9190610ba3565b67ffffffffffffffff811115610552576105526109cc565b60405190808252806020026020018201604052801561058b57816020015b610578610869565b8152602001906001900390816105705790505b50905060015b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c2e522066040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106209190610ba3565b81116108275760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633264a34b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b89190610b5e565b73ffffffffffffffffffffffffffffffffffffffff1663dc064ea8836040518263ffffffff1660e01b81526004016106f291815260200190565b606060405180830381865afa15801561070f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107339190610c23565b600080546040517f51cdc8c600000000000000000000000000000000000000000000000000000000815260048101869052929350909173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa1580156107a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cc9190610ca6565b9050604051806060016040528082815260200183815260200184815250846001856107f79190610b26565b8151811061080757610807610bbc565b60200260200101819052505050808061081f90610beb565b915050610591565b50919050565b604051806040016040528061085c60405180606001604052806000815260200160008152602001600081525090565b8152602001600081525090565b6040805160e081019091526000606082018181526080830182905260a0830182905260c08301919091528190815260200161085c60405180606001604052806000815260200160008152602001600081525090565b6020808252825182820181905260009190848201906040850190845b8181101561091d5783516109038482518051825260208082015190830152604090810151910152565b8501516060840152928401926080909201916001016108da565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b828110156109bf5781518051805173ffffffffffffffffffffffffffffffffffffffff16865287810151888701528681015187870152606090810151908601528681015180516080870152602081015160a08701526040015160c086015285015160e08501526101009093019290850190600101610946565b5091979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715610a46577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b60006101208284031215610a5f57600080fd5b610a676109fb565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610b0d57610b0d610ac7565b92915050565b80820180821115610b0d57610b0d610ac7565b81810381811115610b0d57610b0d610ac7565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5b57600080fd5b50565b600060208284031215610b7057600080fd5b8151610b7b81610b39565b9392505050565b81518152602080830151908201526040808301519082015260608101610b0d565b600060208284031215610bb557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610c1c57610c1c610ac7565b5060010190565b600060608284031215610c3557600080fd5b6040516060810181811067ffffffffffffffff82111715610c7f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508251815260208301516020820152604083015160408201528091505092915050565b600060808284031215610cb857600080fd5b6040516080810181811067ffffffffffffffff82111715610d02577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040528251610d1081610b39565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "nonce": "0x27a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9553b3ea1610cef990fb320170cb646b27df10b31277ddf060c886880def845b", + "transactionType": "CREATE", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x3d95dd", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506137af806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806394c58cfe14610030575b600080fd5b61004361003e3660046101e2565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60008082600181111561008157610081610241565b036101325760008484604051610096906101c8565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103906000f0801580156100d4573d6000803e3d6000fd5b5090508473ffffffffffffffffffffffffffffffffffffffff167ff5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624848387336040516101239493929190610270565b60405180910390a290506101c1565b600182600181111561014657610146610241565b0361015b5760008484604051610096906101d5565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f486f6f6b466163746f72793a20696e76616c696420686f6f6b20747970650000604482015260640160405180910390fd5b9392505050565b6119fa806102e083390190565b611ad580611cda83390190565b6000806000606084860312156101f757600080fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461021b57600080fd5b92506020840135915060408401356002811061023657600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60808101600286106102ab577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b94815273ffffffffffffffffffffffffffffffffffffffff938416602082015260408101929092529091166060909101529056fe608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b939250505056608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b506001019056", + "nonce": "0x27b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x5337122c6b5ce24D970Ce771510D22Aeaf038C44, [], ryan)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x8edfe", + "value": "0x0", + "data": "0x6d4175e200000000000000000000000000000000000000000000000000000000000000200000000000000000000000005337122c6b5ce24d970ce771510d22aeaf038c4400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047279616e00000000000000000000000000000000000000000000000000000000", + "nonce": "0x27c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "1", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x27d", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000001" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "1", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x27e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000001" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "1", + "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b008", + "nonce": "0x27f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "1", + "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f9", + "nonce": "0x280", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4624e1da8593e14255ca94e5073f38eac203b4596e3d71077cf78ba49971152f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5337122c6b5ce24d970ce771510d22aeaf038c44", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x281", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x9Ada897d963028923B645d72D01c3beB1343e072, [], sam)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x645bd", + "value": "0x0", + "data": "0x6d4175e200000000000000000000000000000000000000000000000000000000000000200000000000000000000000009ada897d963028923b645d72d01c3beb1343e072000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000373616d0000000000000000000000000000000000000000000000000000000000", + "nonce": "0x282", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "2", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x283", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000002" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "2", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x284", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000002" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "2", + "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed", + "nonce": "0x285", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "2", + "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000020000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d9781", + "nonce": "0x286", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf5e6eb0f61d98b779b8c381fa9a7fe512f6e6df30b7d476ecf2e80038fc8fd50", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x9ada897d963028923b645d72d01c3beb1343e072", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x287", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x60de91d489D41FAF4C42F5734fF5E8c95A0990F9, [], hopper)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x6459a", + "value": "0x0", + "data": "0x6d4175e2000000000000000000000000000000000000000000000000000000000000002000000000000000000000000060de91d489d41faf4c42f5734ff5e8c95a0990f90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006686f707065720000000000000000000000000000000000000000000000000000", + "nonce": "0x288", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "3", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x289", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x109fd81E3d772B308b7c64213185865070eC7143", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000003" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "3", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x28a", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000003" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "3", + "0x109fd81E3d772B308b7c64213185865070eC7143" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000109fd81e3d772b308b7c64213185865070ec7143", + "nonce": "0x28b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "3", + "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e22171154", + "nonce": "0x28c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf1b4cb9a00e394adc1e59cdcc0af24174c249ffeb4782c0b7414cd56a9958db8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x60de91d489d41faf4c42f5734ff5e8c95a0990f9", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x28d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0xA288d0BF9fe24773350394b011f6315Ff04a1025, [], emily)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x645dd", + "value": "0x0", + "data": "0x6d4175e20000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a288d0bf9fe24773350394b011f6315ff04a10250000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005656d696c79000000000000000000000000000000000000000000000000000000", + "nonce": "0x28e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "4", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x28f", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000004" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "4", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x290", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000004" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "4", + "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c9", + "nonce": "0x291", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "4", + "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d", + "nonce": "0x292", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9417705bd264f25b7098120b661c6ad2e4fbae4f263e84ab20869ebb98906d46", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0xa288d0bf9fe24773350394b011f6315ff04a1025", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x293", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0xD9Fd9E6C91e984F8461e4d15468b77fdff1B1bcd, [], aidan)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x6457a", + "value": "0x0", + "data": "0x6d4175e20000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d9fd9e6c91e984f8461e4d15468b77fdff1b1bcd0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005616964616e000000000000000000000000000000000000000000000000000000", + "nonce": "0x294", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "5", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x295", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xE637A68f7026c68713856cF66D9Cbd5C05102e80", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000005" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "5", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x296", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000005" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "5", + "0xE637A68f7026c68713856cF66D9Cbd5C05102e80" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e80", + "nonce": "0x297", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "5", + "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000050000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d0", + "nonce": "0x298", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe92f76dd24818505b3045cf9bb24bfc69ca17296249cb8786335ec0b67254ff5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0xd9fd9e6c91e984f8461e4d15468b77fdff1b1bcd", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x299", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7220ca801c8281bf3e86a69241772d841b29520c7f33d49dcf080fc1a8c6cf24", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "setOwner(address)", + "arguments": [ + "0x0000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x76ad", + "value": "0x0", + "data": "0x13af40350000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x29a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "start()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18838", + "value": "0x0", + "data": "0xbe9a6555", + "nonce": "0x29b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x031e2e1a4e5c9432d433a3450ca0d00c7761ea1d5b95080e3bac1c085b37660a", + "transactionIndex": "0x1", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x7557a", + "gasUsed": "0x5afb8", + "contractAddress": "0xfa109ab9C85c5F0181e6548F83c25ef37b3FFEc9", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x5c2a9a", + "gasUsed": "0x54d520", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0xd238cf491e3dd71f67796a95afc0def045cac20be422b1bb24d9dc52aa5647b3" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0xde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b6" + ], + "data": "0x0000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed7" + ], + "data": "0x0000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e0000000000000000000000000000000000000000000000000000000000975ed1", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x0000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000000000002000000000000000000010000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000100000000000000000a000000100000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x493292edbebadfb3b95fee528d0c9a06b3c507e10bb5012af84b67ad3cb2689e", + "transactionIndex": "0x3", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x687a7f", + "gasUsed": "0xc4fe5", + "contractAddress": "0xAFf0E741b60288110bA7a400Ef6a99917faA593c", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x9553b3ea1610cef990fb320170cb646b27df10b31277ddf060c886880def845b", + "transactionIndex": "0x4", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x97dd94", + "gasUsed": "0x2f6315", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionIndex": "0x5", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x9df8ef", + "gasUsed": "0x61b5b", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x0000000000000000000000005337122c6b5ce24d970ce771510d22aeaf038c44000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000047279616e00000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionIndex": "0x5", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionIndex": "0x6", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xb334ae", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionIndex": "0x6", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b00800000000000000000000000000000000000000000000000000000000000000010000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionIndex": "0x6", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000000000000000100000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000020000008000000000080000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionIndex": "0x7", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xc91c30", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionIndex": "0x7", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionIndex": "0x7", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000100000000000000000000000100000000000000000000000000000000000000000000800100100000000000100000000000002000000000000000020000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionIndex": "0x8", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xca2d2b", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b008", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionIndex": "0x8", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionIndex": "0x9", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xcafb5a", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f9", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionIndex": "0x9", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x4624e1da8593e14255ca94e5073f38eac203b4596e3d71077cf78ba49971152f", + "transactionIndex": "0xa", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5337122c6b5ce24D970Ce771510D22Aeaf038C44", + "cumulativeGasUsed": "0xcb4d62", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionIndex": "0xb", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xcfd7e9", + "gasUsed": "0x48a87", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x0000000000000000000000009ada897d963028923b645d72d01c3beb1343e072000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000373616d0000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionIndex": "0xb", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionIndex": "0xc", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xe513a8", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionIndex": "0xc", + "logIndex": "0xd", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed00000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionIndex": "0xc", + "logIndex": "0xe", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000000000000000100000000040000000000000000000108000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000002000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionIndex": "0xd", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xfafb2a", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionIndex": "0xd", + "logIndex": "0xf", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d978100000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionIndex": "0xd", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000001000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000000000000000000000000800100100000000000000000000000000000000000000000020000008000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionIndex": "0xe", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xfc0c25", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionIndex": "0xe", + "logIndex": "0x11", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionIndex": "0xf", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xfcda54", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d9781", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionIndex": "0xf", + "logIndex": "0x12", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xf5e6eb0f61d98b779b8c381fa9a7fe512f6e6df30b7d476ecf2e80038fc8fd50", + "transactionIndex": "0x10", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x9Ada897d963028923B645d72D01c3beB1343e072", + "cumulativeGasUsed": "0xfd2c5c", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionIndex": "0x11", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x101b6bf", + "gasUsed": "0x48a63", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x00000000000000000000000060de91d489d41faf4c42f5734ff5e8c95a0990f9000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006686f707065720000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionIndex": "0x11", + "logIndex": "0x13", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionIndex": "0x12", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x116f27e", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x109fd81E3d772B308b7c64213185865070eC7143", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionIndex": "0x12", + "logIndex": "0x14", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109fd81e3d772b308b7c64213185865070ec714300000000000000000000000000000000000000000000000000000000000000030000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionIndex": "0x12", + "logIndex": "0x15", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000200000000000000020020000000000000000000000000000000000100000000000000000000000000000100000000000000000000000040400040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionIndex": "0x13", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x12cda00", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionIndex": "0x13", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e2217115400000000000000000000000000000000000000000000000000000000000000030000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionIndex": "0x13", + "logIndex": "0x17", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000020000000000000000000000000000000000000000100000000000000000000000000000000000000000000800100100000000000000000000000000000000000000000020000008000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionIndex": "0x14", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x12deafb", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000109fd81e3d772b308b7c64213185865070ec7143", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionIndex": "0x14", + "logIndex": "0x18", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionIndex": "0x15", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x12eb92a", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e22171154", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionIndex": "0x15", + "logIndex": "0x19", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xf1b4cb9a00e394adc1e59cdcc0af24174c249ffeb4782c0b7414cd56a9958db8", + "transactionIndex": "0x16", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x60de91d489D41FAF4C42F5734fF5E8c95A0990F9", + "cumulativeGasUsed": "0x12f0b32", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionIndex": "0x17", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x13395c6", + "gasUsed": "0x48a94", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x000000000000000000000000a288d0bf9fe24773350394b011f6315ff04a1025000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000017000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005656d696c79000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionIndex": "0x17", + "logIndex": "0x1a", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionIndex": "0x18", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x148d185", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionIndex": "0x18", + "logIndex": "0x1b", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c900000000000000000000000000000000000000000000000000000000000000040000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionIndex": "0x18", + "logIndex": "0x1c", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020080000000000000000000000000000000100000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000008000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionIndex": "0x19", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x15eb907", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionIndex": "0x19", + "logIndex": "0x1d", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d00000000000000000000000000000000000000000000000000000000000000040000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionIndex": "0x19", + "logIndex": "0x1e", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000800100100000000000000000200000000000000000000000020000008000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionIndex": "0x1a", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x15fca02", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c9", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionIndex": "0x1a", + "logIndex": "0x1f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionIndex": "0x1b", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1609831", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionIndex": "0x1b", + "logIndex": "0x20", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x9417705bd264f25b7098120b661c6ad2e4fbae4f263e84ab20869ebb98906d46", + "transactionIndex": "0x1c", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0xA288d0BF9fe24773350394b011f6315Ff04a1025", + "cumulativeGasUsed": "0x160ea39", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionIndex": "0x1d", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x16574d8", + "gasUsed": "0x48a9f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x000000000000000000000000d9fd9e6c91e984f8461e4d15468b77fdff1b1bcd000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005616964616e000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionIndex": "0x1d", + "logIndex": "0x21", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionIndex": "0x1e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x17ab097", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0xE637A68f7026c68713856cF66D9Cbd5C05102e80", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionIndex": "0x1e", + "logIndex": "0x22", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e8000000000000000000000000000000000000000000000000000000000000000050000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionIndex": "0x1e", + "logIndex": "0x23", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000000000000000100000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000080100000000000000000000000000000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000002000020000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionIndex": "0x1f", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x1909819", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionIndex": "0x1f", + "logIndex": "0x24", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d000000000000000000000000000000000000000000000000000000000000000050000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionIndex": "0x1f", + "logIndex": "0x25", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000800100100000000000000000000000000000000000000040020000008000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionIndex": "0x20", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x191a914", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e80", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionIndex": "0x20", + "logIndex": "0x26", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionIndex": "0x21", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1927743", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d0", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionIndex": "0x21", + "logIndex": "0x27", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xe92f76dd24818505b3045cf9bb24bfc69ca17296249cb8786335ec0b67254ff5", + "transactionIndex": "0x22", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0xD9Fd9E6C91e984F8461e4d15468b77fdff1B1bcd", + "cumulativeGasUsed": "0x192c94b", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x7220ca801c8281bf3e86a69241772d841b29520c7f33d49dcf080fc1a8c6cf24", + "transactionIndex": "0x23", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1931f37", + "gasUsed": "0x55ec", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionIndex": "0x24", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1943b2d", + "gasUsed": "0x11bf6", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x762f260439bb4be3ef6e4dc2786e2e7bd187d3d80b79057d7a424fe98563e335" + ], + "data": "0x", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionIndex": "0x24", + "logIndex": "0x28", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000400000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + } + ], + "libraries": [ + "src/libraries/Give.sol:GiveLib:0xfa109ab9c85c5f0181e6548f83c25ef37b3ffec9" + ], + "pending": [], + "returns": {}, + "timestamp": 1698110089, + "chain": 5, + "multi": false, + "commit": "d2ba2ea" +} \ No newline at end of file diff --git a/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-latest.json b/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-latest.json new file mode 100644 index 0000000..af51725 --- /dev/null +++ b/contracts/broadcast/DeployTankGameCustomTemp.s.sol/5/run-latest.json @@ -0,0 +1,2003 @@ +{ + "transactions": [ + { + "hash": "0x031e2e1a4e5c9432d433a3450ca0d00c7761ea1d5b95080e3bac1c085b37660a", + "transactionType": "CREATE", + "contractName": "GiveLib", + "contractAddress": "0xfa109ab9C85c5F0181e6548F83c25ef37b3FFEc9", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x763ef", + "data": "0x6105d161003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c80631c49198f1461004557806394cbfbff14610080575b600080fd5b81801561005157600080fd5b50610065610060366004610487565b610095565b60408051921515835290151560208301520160405180910390f35b61009361008e3660046104cb565b6101c6565b005b604080860151606087015187516020808a01516000838152918a90529481206001018054919586959493929091859187906100d1908490610554565b9091555050600082815260208b90526040812060020180548592906100f7908490610554565b9091555050600081815260208b90526040902060010154610158576001890180549060006101248361056d565b91905055508089600401600082825461013d91906105a5565b90915550506000818152602089905260409020879055600194505b600081815260208b90526040812060010180548692906101799084906105a5565b9091555050600081815260208b905260408120600201805485929061019f9084906105a5565b90915550505060009081526020989098525050604090952060010154159694955050505050565b60408084015160608501518551602080880151600083815291889052949020600101549293919290919084111561025e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f7420656e6f7567682068656172747300000000000000000000000000000060448201526064015b60405180910390fd5b6000828152602087905260409020600201548311156102d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610255565b6040517face6b1c5000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260009073ffffffffffffffffffffffffffffffffffffffff87169063ace6b1c590604401602060405180830381865afa15801561034e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037291906105b8565b6000848152602089905260409020600301549091508111156103f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f746172676574206f7574206f662072616e6765000000000000000000000000006044820152606401610255565b5050505050505050565b60006080828403121561040c57600080fd5b6040516080810181811067ffffffffffffffff82111715610456577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b600080600080600061010086880312156104a057600080fd5b6104aa87876103fa565b976080870135975060a08701359660c0810135965060e00135945092505050565b600080600060c084860312156104e057600080fd5b6104ea85856103fa565b92506080840135915060a084013573ffffffffffffffffffffffffffffffffffffffff8116811461051a57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561056757610567610525565b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361059e5761059e610525565b5060010190565b8082018082111561056757610567610525565b6000602082840312156105ca57600080fd5b505191905056", + "nonce": "0x278", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionType": "CREATE", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": null, + "arguments": [ + "(5, 21, 1, 3, 3, 30, 0, 5, 0x0000000000000000000000000000000000000000000000000000000000000000)", + "0x3c5CD6c3A8f47443f739597A89A630868F805e2e" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x6e3f00", + "value": "0x0", + "data": "0x6080604052604051620062cb380380620062cb8339810160408190526200002691620002e6565b600382602001516200003991906200038a565b15620000805760405162461bcd60e51b8152602060048201526012602482015271696e76616c696420626f6172642073697a6560701b604482015260640160405180910390fd5b6040805183518152602080850151908201528382015181830152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e08085015190820152610100808501519082015290517fd238cf491e3dd71f67796a95afc0def045cac20be422b1bb24d9dc52aa5647b3918190036101200190a181516018556020808301516019819055604080850151601a556060850151601b556080850151601c5560a0850151601d5560c0850151601e5560e0850151601f556101008501519092556017805460ff60a01b191690559051620001689062000283565b908152602001604051809103906000f0801580156200018b573d6000803e3d6000fd5b50602980546001600160a01b0319166001600160a01b039290921691909117905560e0820151620001bd9043620003ad565b601555601780546001600160a01b0319166001600160a01b038316179055620001e56200022a565b6015546040805133815260208101929092527f5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed7910160405180910390a15050620003d5565b34600e60008282546200023e9190620003ad565b909155505060408051338152346020820152478183015290517fde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b69181900360600190a1565b610da4806200552783390190565b60405161012081016001600160401b0381118282101715620002c357634e487b7160e01b600052604160045260246000fd5b60405290565b80516001600160a01b0381168114620002e157600080fd5b919050565b600080828403610140811215620002fc57600080fd5b610120808212156200030d57600080fd5b6200031762000291565b9150845182526020850151602083015260408501516040830152606085015160608301526080850151608083015260a085015160a083015260c085015160c083015260e085015160e08301526101008086015181840152508193506200037f818601620002c9565b925050509250929050565b600082620003a857634e487b7160e01b600052601260045260246000fd5b500690565b80820180821115620003cf57634e487b7160e01b600052601160045260246000fd5b92915050565b61514280620003e56000396000f3fe6080604052600436106103345760003560e01c8063a475b5dd116101b0578063dbe7e3bd116100ec578063ed28a70811610095578063f1da90b61161006f578063f1da90b614610b5a578063f3c61e5b14610b7a578063fd9929ab14610ba7578063ff329e7c14610bc757600080fd5b8063ed28a70814610b0f578063ed88c68e14610b25578063ef98d5be14610b2d57600080fd5b8063e06174e4116100c6578063e06174e414610a47578063e0c3e68514610ac2578063e2eb41ff14610ae257600080fd5b8063dbe7e3bd146109d7578063df46067c14610a07578063e023915b14610a2757600080fd5b8063be9a655511610159578063c2de609411610133578063c2de60941461093a578063c2e522061461095a578063c47e02521461096f578063db69f8a2146109aa57600080fd5b8063be9a6555146108d3578063c125c06f146108e8578063c19d93fb1461090857600080fd5b8063ade3eca31161018a578063ade3eca31461086d578063bb2b1bf41461088d578063bd3eb826146108a357600080fd5b8063a475b5dd146107e2578063a5bbee79146107f7578063aabbe8931461081757600080fd5b806366bb81c71161027f57806385b4bb531161022857806396dc23771161020257806396dc2377146107545780639b233a41146107745780639da7d02e146107ac578063a3f67d6d146107cc57600080fd5b806385b4bb531461069257806389b3d1b1146107145780638da5cb5b1461073457600080fd5b8063757991a811610259578063757991a81461061257806376044bd1146106275780637cd3229a1461067257600080fd5b806366bb81c7146105d35780636d4175e2146105e9578063719ce73e146105fc57600080fd5b80631e8fb36a116102e15780634b5ede09116102bb5780634b5ede09146104e85780634d5e9695146104fe57806351cdc8c61461057757600080fd5b80631e8fb36a1461042a5780633264a34b146104aa5780634a03e0ef146104c857600080fd5b806315cf5d781161031257806315cf5d78146103bb57806315e5a1e5146103db5780631865c57d146103f157600080fd5b8063019712f41461033957806309c432941461037657806313af403514610399575b600080fd5b34801561034557600080fd5b5061035961035436600461457f565b610be7565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561038257600080fd5b5061038b610c1f565b60405190815260200161036d565b3480156103a557600080fd5b506103b96103b43660046145b9565b610c76565b005b3480156103c757600080fd5b506103b96103d63660046145ee565b610d0f565b3480156103e757600080fd5b5061038b600f5481565b3480156103fd57600080fd5b5060175474010000000000000000000000000000000000000000900460ff165b60405161036d9190614639565b34801561043657600080fd5b5060215460225460235460245460255460265460275460285461046697969594939291906001600160a01b031688565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c08301526001600160a01b031660e08201526101000161036d565b3480156104b657600080fd5b506029546001600160a01b0316610359565b3480156104d457600080fd5b506103b96104e336600461467a565b610fef565b3480156104f457600080fd5b5061038b60145481565b34801561050a57600080fd5b5061054d6105193660046146aa565b600160208190526000918252604090912080549181015460028201546003909201546001600160a01b039093169290919084565b604080516001600160a01b039095168552602085019390935291830152606082015260800161036d565b34801561058357600080fd5b506105976105923660046146aa565b6110d9565b60405161036d919081516001600160a01b0316815260208083015190820152604080830151908201526060918201519181019190915260800190565b3480156105df57600080fd5b5061038b60155481565b6103b96105f73660046146d5565b61115a565b34801561060857600080fd5b5061038b600e5481565b34801561061e57600080fd5b5061038b611442565b34801561063357600080fd5b5061066261064236600461457f565b600960209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161036d565b34801561067e57600080fd5b50602954610359906001600160a01b031681565b34801561069e57600080fd5b506106a761144c565b60405161036d9190600061012082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525092915050565b34801561072057600080fd5b506103b961072f366004614724565b6114f8565b34801561074057600080fd5b50601754610359906001600160a01b031681565b34801561076057600080fd5b506103b961076f366004614752565b61189e565b34801561078057600080fd5b5061038b61078f36600461457f565b600760209081526000928352604080842090915290825290205481565b3480156107b857600080fd5b506103b96107c7366004614724565b611ae6565b3480156107d857600080fd5b5061038b600c5481565b3480156107ee57600080fd5b506103b96120e7565b34801561080357600080fd5b506103b96108123660046145ee565b6121e3565b34801561082357600080fd5b506108526108323660046146aa565b600260208190526000918252604090912080546001820154919092015483565b6040805193845260208401929092529082015260600161036d565b34801561087957600080fd5b5061038b6108883660046146aa565b6125fc565b34801561089957600080fd5b5061038b60165481565b3480156108af57600080fd5b506106626108be3660046146aa565b60086020526000908152604090205460ff1681565b3480156108df57600080fd5b506103b961261d565b3480156108f457600080fd5b5061038b6109033660046146aa565b6126e6565b34801561091457600080fd5b5060175461041d9074010000000000000000000000000000000000000000900460ff1681565b34801561094657600080fd5b506103b96109553660046145ee565b6126f7565b34801561096657600080fd5b50600c5461038b565b34801561097b57600080fd5b5061066261098a36600461467a565b600660209081526000928352604080842090915290825290205460ff1681565b3480156109b657600080fd5b5061038b6109c53660046146aa565b60036020526000908152604090205481565b3480156109e357600080fd5b506106626109f23660046146aa565b600a6020526000908152604090205460ff1681565b348015610a1357600080fd5b50610662610a2236600461467a565b612b55565b348015610a3357600080fd5b506103b9610a4236600461467a565b612ba6565b348015610a5357600080fd5b50601854601954601a54601b54601c54601d54601e54601f54602054610a7e98979695949392919089565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200161036d565b348015610ace57600080fd5b5061038b610add3660046146aa565b612d9d565b348015610aee57600080fd5b5061038b610afd3660046145b9565b60006020819052908152604090205481565b348015610b1b57600080fd5b5061038b600d5481565b6103b9612db4565b348015610b3957600080fd5b5061038b610b483660046146aa565b60056020526000908152604090205481565b348015610b6657600080fd5b506103b9610b7536600461476e565b612e0e565b348015610b8657600080fd5b5061038b610b953660046146aa565b60046020526000908152604090205481565b348015610bb357600080fd5b506103b9610bc2366004614752565b6133ed565b348015610bd357600080fd5b5061038b610be23660046146aa565b61361b565b600b6020528160005260406000208181548110610c0357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008060175474010000000000000000000000000000000000000000900460ff166002811115610c5157610c5161460a565b03610c5c5750600090565b600f54610c676136c3565b610c7191906147b9565b905090565b6017546001600160a01b03163314610cd55760405162461bcd60e51b815260206004820152600960248201527f6e6f74206f776e6572000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b601780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8035610d1b8133612b55565b610d675760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b81356000610d7b60408501602086016145b9565b9050600260175474010000000000000000000000000000000000000000900460ff166002811115610dae57610dae61460a565b14610dfb5760405162461bcd60e51b815260206004820152600e60248201527f67616d65206e6f7420656e6465640000000000000000000000000000000000006044820152606401610ccc565b6000828152600a602052604090205460ff1615610e5a5760405162461bcd60e51b815260206004820152600f60248201527f616c726561647920636c61696d656400000000000000000000000000000000006044820152606401610ccc565b6000828152600a6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055805b6003811015610f9a578360108260038110610eb057610eb06147cc565b015403610f885760008115610ed55781600114610ece57600a610ed8565b601e610ed8565b603c5b60ff1690506000606482600e54610eef91906147fb565b610ef99190614812565b6040519091506001600160a01b0386169082156108fc029083906000818181858888f19350505050158015610f32573d6000803e3d6000fd5b50604080516001600160a01b0387168152602081018890529081018290527f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf79060600160405180910390a1600193505050610f9a565b80610f928161484d565b915050610e93565b5080610fe85760405162461bcd60e51b815260206004820152600d60248201527f6e6f74206f6e20706f6469756d000000000000000000000000000000000000006044820152606401610ccc565b5050505050565b6017546001600160a01b031633146110495760405162461bcd60e51b815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610ccc565b6000828152600b6020908152604080832080546001810182559084529282902090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385169081179091558251858152918201527f37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e91015b60405180910390a15050565b61110d604051806080016040528060006001600160a01b031681526020016000815260200160008152602001600081525090565b50600090815260016020818152604092839020835160808101855281546001600160a01b031681529281015491830191909152600281015492820192909252600390910154606082015290565b60408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e08201529054610100820152600c546111cb916000916111c3856149a1565b9291906136d3565b60295460408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e08201529054610100820152600091611251916001600160a01b039091169060019084906021611247886149a1565b949392919061389b565b602154600c55602554601455602254600d5590507f8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd661129360208401846145b9565b600c54836112a46040870187614a87565b6040516112b5959493929190614b1e565b60405180910390a160005b600c546000908152600b602052604090205481101561143d57600c546000908152600b602052604081208054839081106112fc576112fc6147cc565b60009182526020822001546040517f6e0676da0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290636e0676da906113529030908990600401614c22565b6020604051808303816000875af1158015611371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113959190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f6e0676da00000000000000000000000000000000000000000000000000000000146114285760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806114359061484d565b9150506112c0565b505050565b6000610c716136c3565b61149e6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681525090565b5060408051610120810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f5460e0820152905461010082015290565b600160175474010000000000000000000000000000000000000000900460ff1660028111156115295761152961460a565b146115765760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b80356115828133612b55565b6115ce5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b81356000818152600160208190526040909120015461162f5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b8235602084013561164536869003860186614d6d565b602954604080517f94cbfbff00000000000000000000000000000000000000000000000000000000815283516004820152602084015160248201529083015160448201526060909201516064830152600160848301526001600160a01b031660a482015273fa109ab9c85c5f0181e6548f83c25ef37b3ffec9906394cbfbff9060c40160006040518083038186803b1580156116e057600080fd5b505af41580156116f4573d6000803e3d6000fd5b505050506000808680360381019061170c9190614d6d565b73fa109ab9c85c5f0181e6548f83c25ef37b3ffec9631c49198f90916001602160056117366136c3565b604080517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815286516004820152602087015160248201529086015160448201526060909501516064860152608485019390935260a484019190915260c483015260e4820152610104016040805180830381865af41580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e69190614de8565b602254600d5560255460145560408051878152602081018790528a820135818301526060808c01359082015290519294509092507f654b04c5c30ce4656189a7398b7ed5489f63defa1cf3ae9ecc0a649e33910467919081900360800190a18115611855576118558485613b47565b80156118955760408051858152602081018590527fa78677222d515efffcb323b960622c3e2bff3331916798f375b592c2a07f6c5a910160405180910390a15b50505050505050565b600160175474010000000000000000000000000000000000000000900460ff1660028111156118cf576118cf61460a565b1461191c5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b80356119288133612b55565b6119745760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b8135600081815260016020819052604090912001546119d55760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b823560006119e28261361b565b600083815260016020526040902060020154909150811115611a465760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b60008281526001602052604081206002018054839290611a679084906147b9565b909155505060008281526001602081905260408220600301805491929091611a90908490614e1b565b9091555050600082815260016020908152604091829020600301548251858152918201527feb0ebb51128928d7b1a6419c52128a9319bfcb55f0adafea75afbf75f9f2f3e9910160405180910390a15050505050565b600160175474010000000000000000000000000000000000000000900460ff166002811115611b1757611b1761460a565b14611b645760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035611b708133612b55565b611bbc5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b813560008181526001602081905260409091200154611c1d5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b82356000611c3336869003860160208701614e68565b6029546040517fe440908c0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063e440908c90611c82908590600401614e84565b6040805180830381865afa158015611c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc29190614ea5565b6029546040517fff324dbe0000000000000000000000000000000000000000000000000000000081529192506000916001600160a01b039091169063ff324dbe90611d139087908790600401614ed7565b602060405180830381865afa158015611d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d549190614eff565b602954909150611d83906001600160a01b031660018484611d7a368d90038d018d614f18565b93929190613d15565b60005b6000858152600b6020526040902054811015611efd576000858152600b60205260408120805483908110611dbc57611dbc6147cc565b60009182526020822001546040517f6ba9d5150000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290636ba9d51590611e129030908e90600401614f4f565b6020604051808303816000875af1158015611e31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e559190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f6ba9d5150000000000000000000000000000000000000000000000000000000014611ee85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b50508080611ef59061484d565b915050611d86565b50602954611f2a906001600160a01b031660018484611f21368d90038d018d614f18565b93929190613e9e565b7f0b34be83310da514ceef99b4c1f7204a5c5a824070290c9820789bac3d88b6368484604051611f5b929190614ed7565b60405180910390a160005b6000858152600b60205260409020548110156120dd576000858152600b60205260408120805483908110611f9c57611f9c6147cc565b60009182526020822001546040517f200a25520000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063200a255290611ff29030908e90600401614f4f565b6020604051808303816000875af1158015612011573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120359190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f200a255200000000000000000000000000000000000000000000000000000000146120c85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806120d59061484d565b915050611f66565b5050505050505050565b6015544310156121395760405162461bcd60e51b815260206004820152601360248201527f6e6f7420726561647920746f2072657665616c000000000000000000000000006044820152606401610ccc565b6015546040805133815260208101929092527ff254aace0ef98d6ac1a0d84c95648f8e3f7a1881dbb43393709ecd004b00f103910160405180910390a16101006015544361218791906147b9565b11612194576121946140d9565b601f546121a19043614e1b565b60158190556040805133815260208101929092527f5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed791015b60405180910390a1565b80356000818152600160205260409020546001600160a01b0316331461224b5760405162461bcd60e51b815260206004820152600e60248201527f6e6f742074616e6b206f776e65720000000000000000000000000000000000006044820152606401610ccc565b813560005b6000828152600b60205260409020548110156123c7576000828152600b60205260408120805483908110612286576122866147cc565b60009182526020822001546040517f230ad3b30000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063230ad3b3906122dc9030908a90600401614f9e565b6020604051808303816000875af11580156122fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061231f9190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f230ad3b300000000000000000000000000000000000000000000000000000000146123b25760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806123bf9061484d565b915050612250565b5060006123da60408501602086016145b9565b60008381526006602090815260408083206001600160a01b03858116808652918452828520805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009091168117909155858552838620899055888652845293829020548251888152938401919091529092168183015290519192507f4aae9d98faa4137df04104122f887002256b47f839145564826f6551f20df117919081900360600190a160005b6000838152600b6020526040902054811015610fe8576000838152600b602052604081208054839081106124bb576124bb6147cc565b60009182526020822001546040517fc08255130000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063c0825513906125119030908b90600401614f9e565b6020604051808303816000875af1158015612530573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125549190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fc082551300000000000000000000000000000000000000000000000000000000146125e75760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806125f49061484d565b915050612485565b6013818154811061260c57600080fd5b600091825260209091200154905081565b601854600c5410156126715760405162461bcd60e51b815260206004820152601260248201527f6e6f7420656e6f75676820706c617965727300000000000000000000000000006044820152606401610ccc565b6126796136c3565b600f55601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f762f260439bb4be3ef6e4dc2786e2e7bd187d3d80b79057d7a424fe98563e33590600090a1565b60006126f182614244565b92915050565b600160175474010000000000000000000000000000000000000000900460ff1660028111156127285761272861460a565b146127755760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b803560008181526001602081905260409091200154156127d75760405162461bcd60e51b815260206004820152600d60248201527f74616e6b20697320616c697665000000000000000000000000000000000000006044820152606401610ccc565b816020013560006001600083815260200190815260200160002060010154116128425760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b823561284e8133612b55565b61289a5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b8335602085013560006128ab6136c3565b600081815260096020908152604080832087845290915290205490915060ff16156129185760405162461bcd60e51b815260206004820152600d60248201527f616c726561647920766f746564000000000000000000000000000000000000006044820152606401610ccc565b60008181526008602052604090205460ff16156129775760405162461bcd60e51b815260206004820152600d60248201527f766f74696e6720636c6f736564000000000000000000000000000000000000006044820152606401610ccc565b600081815260076020908152604080832085845290915281208054600192906129a1908490614e1b565b909155505060408051848152602081018490529081018290527f6bbb2afba842b206b06bf91942742fa3dc08583f4653646faadfcffea72402ba9060600160405180910390a16013546129f690600290614812565b612a01906001614e1b565b600082815260076020908152604080832086845290915290205410612b0a576000828152600160208190526040909120600201541115612a6c5760018060008481526020019081526020016000206002016000828254612a6191906147b9565b90915550612a909050565b612a7582614244565b612a80906001614e1b565b6000838152600560205260409020555b60008181526008602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905581518481529081018590529081018290527fe779371387c4bde679554053dbca7c569f72e2dcc4bf6c28465bb5b77b4a2f4b9060600160405180910390a15b60009081526009602090815260408083209483529390529190912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050565b6000828152600160205260408120546001600160a01b0383811691161480612b9f575060008381526006602090815260408083206001600160a01b038616845290915290205460ff165b9392505050565b81612bb18133612b55565b612bfd5760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b6001600160a01b038216612c535760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964206164647265737300000000000000000000000000000000006044820152606401610ccc565b60005b6000848152600b6020526040902054811015612d0c576000848152600b6020526040902080546001600160a01b038516919083908110612c9857612c986147cc565b6000918252602090912001546001600160a01b031603612cfa5760405162461bcd60e51b815260206004820152601260248201527f686f6f6b20616c726561647920616464656400000000000000000000000000006044820152606401610ccc565b80612d048161484d565b915050612c56565b506000838152600b6020908152604080832080546001810182559084529282902090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0386169081179091558251868152918201527f37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e910160405180910390a1505050565b60108160038110612dad57600080fd5b0154905081565b60003411612e045760405162461bcd60e51b815260206004820152600d60248201527f6e6f2076616c75652073656e74000000000000000000000000000000000000006044820152606401610ccc565b612e0c614260565b565b600160175474010000000000000000000000000000000000000000900460ff166002811115612e3f57612e3f61460a565b14612e8c5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035612e988133612b55565b612ee45760405162461bcd60e51b815260206004820152601a60248201527f6e6f742074616e6b206f776e6572206f722064656c65676174650000000000006044820152606401610ccc565b813560008181526001602081905260409091200154612f455760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b82602001356000600160008381526020019081526020016000206001015411612fb05760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b602954843590602086013590612fe2906001906001600160a01b0316612fdb368a90038a018a614e68565b91906142b6565b60005b6000838152600b602052604090205481101561315c576000838152600b6020526040812080548390811061301b5761301b6147cc565b60009182526020822001546040517f4d2c8f640000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634d2c8f64906130719030908d90600401614fe1565b6020604051808303816000875af1158015613090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130b49190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f4d2c8f6400000000000000000000000000000000000000000000000000000000146131475760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806131549061484d565b915050612fe5565b5060408051838152602081018390527f33e6f0759676874e0bacdeb489e6b9add26a0e630e36a11436f28473a606eb6a910160405180910390a16131b060016131aa36899003890189614e68565b90614474565b15613273576000818152600160205260408120600201546131d390600590614812565b9050806001600085815260200190815260200160002060020160008282546131fb9190614e1b565b9091555050600082815260016020526040812060020180548392906132219084906147b9565b909155505060408051848152602081018490529081018290527f51e8d4f8aaf9c60ffae4405a481bb91e06484535112745e154a147feb6a303039060600160405180910390a16132718383613b47565b505b60005b6000838152600b6020526040902054811015611895576000838152600b602052604081208054839081106132ac576132ac6147cc565b60009182526020822001546040517fec7b4f780000000000000000000000000000000000000000000000000000000081526001600160a01b039091169250829063ec7b4f78906133029030908d90600401614fe1565b6020604051808303816000875af1158015613321573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133459190614d2b565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fec7b4f7800000000000000000000000000000000000000000000000000000000146133d85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c696420686f6f6b00000000000000000000000000000000000000006044820152606401610ccc565b505080806133e59061484d565b915050613276565b600160175474010000000000000000000000000000000000000000900460ff16600281111561341e5761341e61460a565b1461346b5760405162461bcd60e51b815260206004820152601060248201527f67616d65206e6f742073746172746564000000000000000000000000000000006044820152606401610ccc565b8035600081815260016020819052604090912001546134cc5760405162461bcd60e51b815260206004820152600c60248201527f74616e6b206973206465616400000000000000000000000000000000000000006044820152606401610ccc565b813560006134d86136c3565b9050600f54810361352b5760405162461bcd60e51b815260206004820152601160248201527f746f6f206561726c7920746f20647269700000000000000000000000000000006044820152606401610ccc565b600061353683614244565b90508082116135875760405162461bcd60e51b815260206004820152600f60248201527f616c7265616479206472697070656400000000000000000000000000000000006044820152606401610ccc565b600061359382846147b9565b9050806001600086815260200190815260200160002060020160008282546135bb9190614e1b565b909155505060008481526005602090815260409182902085905581518681529081018390529081018490527fff4a002cd7ab9a8905cffd8b8df193a7526645df5584f9f3b9b6fe5b306523bf9060600160405180910390a1505050505050565b6029546000828152600160205260408082206003015490517fa613fcd4000000000000000000000000000000000000000000000000000000008152600481019190915290916006916001600160a01b039091169063a613fcd490602401602060405180830381865afa158015613695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136b99190614eff565b6126f191906147b9565b601d54600090610c719042614812565b83516001600160a01b03166000908152602084905260409020541561373a5760405162461bcd60e51b815260206004820152600e60248201527f616c7265616479206a6f696e65640000000000000000000000000000000000006044820152606401610ccc565b8151811061378a5760405162461bcd60e51b815260206004820152600c60248201527f67616d652069732066756c6c00000000000000000000000000000000000000006044820152606401610ccc565b8160c001513410156137de5760405162461bcd60e51b815260206004820152601360248201527f696e73756666696369656e742062757920696e000000000000000000000000006044820152606401610ccc565b6000846000015185604001516040516020016137fb929190615026565b60408051808303601f190181528282528051602091820120818401528151808403820181529282019091528151910120610100840151909150158061384f575061384f8560200151846101000151836144ed565b610fe85760405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642070726f6f66000000000000000000000000000000000000006044820152606401610ccc565b6138bf60405180606001604052806000815260200160008152602001600081525090565b865160405160009161390d9142914491602001928352602083019190915260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016604082015260540190565b60408051808303601f190181529082905280516020909101207fd7476f7e0000000000000000000000000000000000000000000000000000000082526004820181905291506000906001600160a01b0389169063d7476f7e90602401606060405180830381865afa158015613986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139aa9190615085565b60408051608080820183528c516001600160a01b031682526060808a015160208401528984015193830193909352880151918101919091528554919250908560006139f48361484d565b90915550508454600186018054906000613a0d8361484d565b919050555080866004016000828254613a269190614e1b565b9091555050600081815260208a81526040808320855181547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0391821617825586840151600183015586830151600283015560608701516003909201919091558e51811684528b83528184208590558151808301835285815280840194855282517f8877858e000000000000000000000000000000000000000000000000000000008152885160048201529388015160248501529187015160448401529051606483015291516084820152908b1690638877858e9060a401600060405180830381600087803b158015613b2057600080fd5b505af1158015613b34573d6000803e3d6000fd5b50949d9c50505050505050505050505050565b600d8054906000613b57836150c1565b909155505060228054906000613b6c836150c1565b91905055508060216004016000828254613b8691906147b9565b925050819055508060146000828254613b9f91906147b9565b9091555050601380546001810182556000919091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900181905560408051838152602081018390527fd02b8bdc1eb9eb4a85fe2b27c68fbe1eec04f697f660cc4cf3bb2cee4456f490910160405180910390a1600d54600103613d115760138054613c2c906001906147b9565b81548110613c3c57613c3c6147cc565b60009182526020909120015460115560138054613c5b906002906147b9565b81548110613c6b57613c6b6147cc565b6000918252602091829020015460128190556014546010819055601780547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055601154600e5460408051938452948301919091529281019190915260608101919091527f2138eea544e46359acf616a3cea69daedd6984f74feb71820c6c28e5cd25434c906080016110cd565b5050565b845160208601516040517f441a94420000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063441a944290613d61908490600401614e84565b602060405180830381865afa158015613d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613da291906150f6565b613dee5760405162461bcd60e51b815260206004820152600d60248201527f696e76616c696420706f696e74000000000000000000000000000000000000006044820152606401610ccc565b835115613e3d5760405162461bcd60e51b815260206004820152601160248201527f706f736974696f6e206f636375706965640000000000000000000000000000006044820152606401610ccc565b6000828152602086905260409020600201548311156118955760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b84516020808701518482015160008481529287905260408320600101805492939192909190613ece908490614e1b565b909155505060008281526020869052604081206002018054859290613ef49084906147b9565b90915550506040517fdc064ea8000000000000000000000000000000000000000000000000000000008152600481018390526000906001600160a01b0388169063dc064ea890602401606060405180830381865afa158015613f5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f7e9190615085565b6040805180820182528581526000602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815287516004820152908701516024820152928601516044840152905160648301525160848201529091506001600160a01b03881690638877858e9060a401600060405180830381600087803b15801561401057600080fd5b505af1158015614024573d6000803e3d6000fd5b50506040805180820182526000808252602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815287516004820152908701516024820152928601516044840152905160648301525160848201526001600160a01b038a169250638877858e915060a401600060405180830381600087803b1580156140b757600080fd5b505af11580156140cb573d6000803e3d6000fd5b505050505050505050505050565b6015546029546040517fd7476f7e000000000000000000000000000000000000000000000000000000008152914060048301819052916000916001600160a01b03169063d7476f7e90602401606060405180830381865afa158015614142573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141669190615085565b602954604080518082018252600081526001602080830191825283517f8877858e00000000000000000000000000000000000000000000000000000000815286516004820152908601516024820152928501516044840152905160648301525160848201529192506001600160a01b031690638877858e9060a401600060405180830381600087803b1580156141fb57600080fd5b505af115801561420f573d6000803e3d6000fd5b505050507fea248ff12af64e9d95abfbda1754fe5de18cb1dec8d6a9ede8f8b1006ec0898633826040516110cd929190615111565b600081815260056020526040812054806126f157600f54612b9f565b34600e60008282546142729190614e1b565b90915550506040805133815234602082015247918101919091527fde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b6906060016121d9565b8251602084015160408086015190517face6b1c500000000000000000000000000000000000000000000000000000000815260048101849052602481018390526000906001600160a01b0386169063ace6b1c590604401602060405180830381865afa15801561432a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061434e9190614eff565b6000858152602088905260409020600301549091508111156143b25760405162461bcd60e51b815260206004820152601360248201527f746172676574206f7574206f662072616e6765000000000000000000000000006044820152606401610ccc565b6000848152602087905260409020600201548211156144135760405162461bcd60e51b815260206004820152601860248201527f6e6f7420656e6f75676820616374696f6e20706f696e747300000000000000006044820152606401610ccc565b6000838152602087905260409020600101548211156118955760405162461bcd60e51b815260206004820152600e60248201527f746f6f206d616e792073686f74730000000000000000000000000000000000006044820152606401610ccc565b8151602080840151604080860151600085815293869052908320600201805493949382919086906144a69084906147b9565b9091555050600082815260208690526040812060010180548392906144cc9084906147b9565b90915550505060009081526020939093525050604090206001015415919050565b6000826144fa8584614503565b14949350505050565b600081815b84518110156145485761453482868381518110614527576145276147cc565b6020026020010151614550565b9150806145408161484d565b915050614508565b509392505050565b600081831061456c576000828152602084905260409020612b9f565b6000838152602083905260409020612b9f565b6000806040838503121561459257600080fd5b50508035926020909101359150565b6001600160a01b03811681146145b657600080fd5b50565b6000602082840312156145cb57600080fd5b8135612b9f816145a1565b6000604082840312156145e857600080fd5b50919050565b60006040828403121561460057600080fd5b612b9f83836145d6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310614674577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561468d57600080fd5b82359150602083013561469f816145a1565b809150509250929050565b6000602082840312156146bc57600080fd5b5035919050565b6000606082840312156145e857600080fd5b6000602082840312156146e757600080fd5b813567ffffffffffffffff8111156146fe57600080fd5b61470a848285016146c3565b949350505050565b6000608082840312156145e857600080fd5b60006080828403121561473657600080fd5b612b9f8383614712565b6000602082840312156145e857600080fd5b60006020828403121561476457600080fd5b612b9f8383614740565b60006060828403121561478057600080fd5b612b9f83836146c3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156126f1576126f161478a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820281158282048414176126f1576126f161478a565b600082614848577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361487e5761487e61478a565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156148d7576148d7614885565b60405290565b6040805190810167ffffffffffffffff811182821017156148d7576148d7614885565b604051601f8201601f1916810167ffffffffffffffff8111828210171561492957614929614885565b604052919050565b600082601f83011261494257600080fd5b813567ffffffffffffffff81111561495c5761495c614885565b61496f6020601f19601f84011601614900565b81815284602083860101111561498457600080fd5b816020850160208301376000918101602001919091529392505050565b6000606082360312156149b357600080fd5b6149bb6148b4565b82356149c6816145a1565b815260208381013567ffffffffffffffff808211156149e457600080fd5b9085019036601f8301126149f757600080fd5b813581811115614a0957614a09614885565b8060051b614a18858201614900565b9182528381018501918581019036841115614a3257600080fd5b948601945b83861015614a5057853582529486019490860190614a37565b8087890152505050506040860135925080831115614a6d57600080fd5b5050614a7b36828601614931565b60408301525092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614abc57600080fd5b83018035915067ffffffffffffffff821115614ad757600080fd5b602001915036819003821315614aec57600080fd5b9250929050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6001600160a01b0386168152846020820152614b5160408201858051825260208082015190830152604090810151910152565b60c060a08201526000614b6860c083018486614af3565b979650505050505050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614ba557600080fd5b8260051b80836020870137939093016020019392505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614bf357600080fd5b830160208101925035905067ffffffffffffffff811115614c1357600080fd5b803603821315614aec57600080fd5b60006001600160a01b038085168352606060208401528335614c43816145a1565b1660608301526020830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614c7f57600080fd5b830160208101903567ffffffffffffffff811115614c9c57600080fd5b8060051b3603821315614cae57600080fd5b60606080850152614cc360c085018284614b73565b915050614cd36040850185614bbe565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08584030160a0860152614d08838284614af3565b925050508281036040840152614d22816000815260200190565b95945050505050565b600060208284031215614d3d57600080fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114612b9f57600080fd5b600060808284031215614d7f57600080fd5b6040516080810181811067ffffffffffffffff82111715614da257614da2614885565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b80518015158114614de357600080fd5b919050565b60008060408385031215614dfb57600080fd5b614e0483614dd3565b9150614e1260208401614dd3565b90509250929050565b808201808211156126f1576126f161478a565b600060608284031215614e4057600080fd5b614e486148b4565b905081358152602082013560208201526040820135604082015292915050565b600060608284031215614e7a57600080fd5b612b9f8383614e2e565b815181526020808301519082015260408083015190820152606081016126f1565b600060408284031215614eb757600080fd5b614ebf6148dd565b82518152602083015160208201528091505092915050565b82815260808101612b9f60208301848051825260208082015190830152604090810151910152565b600060208284031215614f1157600080fd5b5051919050565b600060808284031215614f2a57600080fd5b614f326148dd565b82358152614f438460208501614e2e565b60208201529392505050565b6001600160a01b038316815281356020820152614f8660408201602084018035825260208082013590830152604090810135910152565b60c060a0820181905260009082015260e00192915050565b60006001600160a01b038085168352833560208401526020840135614fc2816145a1565b1660408301525060806060820181905260009082015260a00192915050565b6001600160a01b038316815261500e60208201838035825260208082013590830152604090810135910152565b60a06080820181905260009082015260c00192915050565b6001600160a01b038316815260006020604081840152835180604085015260005b8181101561506357858101830151858201606001528201615047565b506000606082860101526060601f19601f830116850101925050509392505050565b60006060828403121561509757600080fd5b61509f6148b4565b8251815260208301516020820152604083015160408201528091505092915050565b6000816150d0576150d061478a565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561510857600080fd5b612b9f82614dd3565b6001600160a01b038316815260808101612b9f6020830184805182526020808201519083015260409081015191015256608060405234801561001057600080fd5b50604051610da4380380610da483398101604081905261002f91610037565b600055610050565b60006020828403121561004957600080fd5b5051919050565b610d458061005f6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063c51d69f4116100b2578063e440908c11610081578063f3c61e5b11610066578063f3c61e5b14610375578063fcdb667014610395578063ff324dbe146103a857600080fd5b8063e440908c1461033f578063f0b361561461036d57600080fd5b8063c51d69f4146102f0578063d7476f7e146102f9578063db69f8a21461030c578063dc064ea81461032c57600080fd5b8063a613fcd4116100ee578063a613fcd41461026e578063aabbe89314610281578063ace6b1c5146102ca578063c2fd42cf146102dd57600080fd5b8063398771cc14610120578063441a94421461015a57806372f68a6e1461017d5780638877858e146101dc575b600080fd5b61013361012e366004610a60565b6103bb565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b61016d610168366004610afc565b610534565b6040519015158152602001610151565b6101ce61018b366004610afc565b6040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b604051908152602001610151565b61026c6101ea366004610b18565b6040805183516020808301919091528085018051838501528584018051606080860191909152855180860390910181526080909401855283519383019390932085516000908152600180855286822098518955925192880192909255925160029687015584820151928152948152828520919091559151600390925290912055565b005b6101ce61027c366004610a60565b6105a1565b6102af61028f366004610a60565b600160208190526000918252604090912080549181015460029091015483565b60408051938452602084019290925290820152606001610151565b6101ce6102d8366004610bcf565b6105ae565b6101ce6102eb366004610bf1565b610617565b6101ce60005481565b610133610307366004610a60565b61062a565b6101ce61031a366004610a60565b60026020526000908152604090205481565b61013361033a366004610a60565b61076a565b61035261034d366004610afc565b6107c6565b60408051825181526020928301519281019290925201610151565b6101ce6108a8565b6101ce610383366004610a60565b60036020526000908152604090205481565b6101ce6103a3366004610afc565b6108dd565b6101ce6103b6366004610c26565b610940565b6103df60405180606001604052806000815260200160008152602001600081525090565b60008054819081906001905b6103f6816002610c79565b610401906001610c90565b61040b9088610cd2565b945060008186111561041e576000610428565b6104288683610ce6565b9050600086610438846003610c79565b6104429190610ce6565b90508161044f8183610ce6565b60408051602081018d9052016040516020818303038152906040528051906020012060001c61047e9190610cd2565b6104889190610c90565b95508587610497856003610c79565b6104a19190610ce6565b6104ab9190610ce6565b60408051602081018c905290810186905290955060600160408051601f1981840301815291905280516020909101209850836104e681610cf9565b945050505061050e604051806060016040528087815260200186815260200185815250610534565b156103eb5750506040805160608101825293845260208401929092529082015292915050565b60008054610543906003610c79565b6040830151602084015184516105599190610c90565b6105639190610c90565b14801561059b575060005461059883604051806060016040528060005481526020016000548152602001600054815250610984565b11155b92915050565b600061059b826006610c79565b600082815260016020818152604080842081516060808201845282548252828601548286015260029283015482850152878752858552838720845191820185528054825295860154948101949094529301549082015261060e8282610984565b95945050505050565b60006106238383610984565b9392505050565b61064e60405180606001604052806000815260200160008152602001600081525090565b6000610659836103bb565b905060006106a4826040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b905060015b6000828152600260205260409020541515806106d2575060008281526003602052604090205415155b156107615760408051602081018490529081018290526060016040516020818303038152906040528051906020012060001c945061070f856103bb565b604080518251602080830191909152808401518284015282840151606080840191909152835180840390910181526080909201909252805191012090935091508061075981610cf9565b9150506106a9565b50909392505050565b61078e60405180606001604052806000815260200160008152602001600081525090565b506000908152600160208181526040928390208351606081018552815481529281015491830191909152600201549181019190915290565b6040805180820190915260008082526020820152604051806040016040528060036000610830866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b81526020019081526020016000205481526020016002600061088f866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020548152509050919050565b600080546108b7816001610c90565b6108c2826003610c79565b6108cc9190610c79565b6108d7906001610c90565b91505090565b60006002600061092a846040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020549050919050565b600082815260016020818152604080842081516060810183528154815293810154928401929092526002909101549082015261097c8184610984565b949350505050565b805182516000918291116109a557835183516109a09190610ce6565b6109b3565b825184516109b39190610ce6565b9050600083602001518560200151116109df57846020015184602001516109da9190610ce6565b6109f3565b836020015185602001516109f39190610ce6565b905060008460400151866040015111610a1f5785604001518560400151610a1a9190610ce6565b610a33565b84604001518660400151610a339190610ce6565b9050600281610a428486610c90565b610a4c9190610c90565b610a569190610d31565b9695505050505050565b600060208284031215610a7257600080fd5b5035919050565b600060608284031215610a8b57600080fd5b6040516060810181811067ffffffffffffffff82111715610ad5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201525092915050565b600060608284031215610b0e57600080fd5b6106238383610a79565b60008082840360a0811215610b2c57600080fd5b610b368585610a79565b925060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215610b6857600080fd5b506040516040810181811067ffffffffffffffff82111715610bb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040526060840135815260809093013560208401525092909150565b60008060408385031215610be257600080fd5b50508035926020909101359150565b60008060c08385031215610c0457600080fd5b610c0e8484610a79565b9150610c1d8460608501610a79565b90509250929050565b60008060808385031215610c3957600080fd5b82359150610c1d8460208501610a79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761059b5761059b610c4a565b8082018082111561059b5761059b610c4a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610ce157610ce1610ca3565b500690565b8181038181111561059b5761059b610c4a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d2a57610d2a610c4a565b5060010190565b600082610d4057610d40610ca3565b5004905600000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "nonce": "0x279", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x229BD9D27B4775cbeF8e5B116DD48574b80c0442", + "initCode": "0x608060405234801561001057600080fd5b50604051610da4380380610da483398101604081905261002f91610037565b600055610050565b60006020828403121561004957600080fd5b5051919050565b610d458061005f6000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c8063c51d69f4116100b2578063e440908c11610081578063f3c61e5b11610066578063f3c61e5b14610375578063fcdb667014610395578063ff324dbe146103a857600080fd5b8063e440908c1461033f578063f0b361561461036d57600080fd5b8063c51d69f4146102f0578063d7476f7e146102f9578063db69f8a21461030c578063dc064ea81461032c57600080fd5b8063a613fcd4116100ee578063a613fcd41461026e578063aabbe89314610281578063ace6b1c5146102ca578063c2fd42cf146102dd57600080fd5b8063398771cc14610120578063441a94421461015a57806372f68a6e1461017d5780638877858e146101dc575b600080fd5b61013361012e366004610a60565b6103bb565b60408051825181526020808401519082015291810151908201526060015b60405180910390f35b61016d610168366004610afc565b610534565b6040519015158152602001610151565b6101ce61018b366004610afc565b6040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b604051908152602001610151565b61026c6101ea366004610b18565b6040805183516020808301919091528085018051838501528584018051606080860191909152855180860390910181526080909401855283519383019390932085516000908152600180855286822098518955925192880192909255925160029687015584820151928152948152828520919091559151600390925290912055565b005b6101ce61027c366004610a60565b6105a1565b6102af61028f366004610a60565b600160208190526000918252604090912080549181015460029091015483565b60408051938452602084019290925290820152606001610151565b6101ce6102d8366004610bcf565b6105ae565b6101ce6102eb366004610bf1565b610617565b6101ce60005481565b610133610307366004610a60565b61062a565b6101ce61031a366004610a60565b60026020526000908152604090205481565b61013361033a366004610a60565b61076a565b61035261034d366004610afc565b6107c6565b60408051825181526020928301519281019290925201610151565b6101ce6108a8565b6101ce610383366004610a60565b60036020526000908152604090205481565b6101ce6103a3366004610afc565b6108dd565b6101ce6103b6366004610c26565b610940565b6103df60405180606001604052806000815260200160008152602001600081525090565b60008054819081906001905b6103f6816002610c79565b610401906001610c90565b61040b9088610cd2565b945060008186111561041e576000610428565b6104288683610ce6565b9050600086610438846003610c79565b6104429190610ce6565b90508161044f8183610ce6565b60408051602081018d9052016040516020818303038152906040528051906020012060001c61047e9190610cd2565b6104889190610c90565b95508587610497856003610c79565b6104a19190610ce6565b6104ab9190610ce6565b60408051602081018c905290810186905290955060600160408051601f1981840301815291905280516020909101209850836104e681610cf9565b945050505061050e604051806060016040528087815260200186815260200185815250610534565b156103eb5750506040805160608101825293845260208401929092529082015292915050565b60008054610543906003610c79565b6040830151602084015184516105599190610c90565b6105639190610c90565b14801561059b575060005461059883604051806060016040528060005481526020016000548152602001600054815250610984565b11155b92915050565b600061059b826006610c79565b600082815260016020818152604080842081516060808201845282548252828601548286015260029283015482850152878752858552838720845191820185528054825295860154948101949094529301549082015261060e8282610984565b95945050505050565b60006106238383610984565b9392505050565b61064e60405180606001604052806000815260200160008152602001600081525090565b6000610659836103bb565b905060006106a4826040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b905060015b6000828152600260205260409020541515806106d2575060008281526003602052604090205415155b156107615760408051602081018490529081018290526060016040516020818303038152906040528051906020012060001c945061070f856103bb565b604080518251602080830191909152808401518284015282840151606080840191909152835180840390910181526080909201909252805191012090935091508061075981610cf9565b9150506106a9565b50909392505050565b61078e60405180606001604052806000815260200160008152602001600081525090565b506000908152600160208181526040928390208351606081018552815481529281015491830191909152600201549181019190915290565b6040805180820190915260008082526020820152604051806040016040528060036000610830866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b81526020019081526020016000205481526020016002600061088f866040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020548152509050919050565b600080546108b7816001610c90565b6108c2826003610c79565b6108cc9190610c79565b6108d7906001610c90565b91505090565b60006002600061092a846040805182516020808301919091528301518183015290820151606082015260009060800160408051601f19818403018152919052805160209091012092915050565b8152602001908152602001600020549050919050565b600082815260016020818152604080842081516060810183528154815293810154928401929092526002909101549082015261097c8184610984565b949350505050565b805182516000918291116109a557835183516109a09190610ce6565b6109b3565b825184516109b39190610ce6565b9050600083602001518560200151116109df57846020015184602001516109da9190610ce6565b6109f3565b836020015185602001516109f39190610ce6565b905060008460400151866040015111610a1f5785604001518560400151610a1a9190610ce6565b610a33565b84604001518660400151610a339190610ce6565b9050600281610a428486610c90565b610a4c9190610c90565b610a569190610d31565b9695505050505050565b600060208284031215610a7257600080fd5b5035919050565b600060608284031215610a8b57600080fd5b6040516060810181811067ffffffffffffffff82111715610ad5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201525092915050565b600060608284031215610b0e57600080fd5b6106238383610a79565b60008082840360a0811215610b2c57600080fd5b610b368585610a79565b925060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215610b6857600080fd5b506040516040810181811067ffffffffffffffff82111715610bb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040526060840135815260809093013560208401525092909150565b60008060408385031215610be257600080fd5b50508035926020909101359150565b60008060c08385031215610c0457600080fd5b610c0e8484610a79565b9150610c1d8460608501610a79565b90509250929050565b60008060808385031215610c3957600080fd5b82359150610c1d8460208501610a79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761059b5761059b610c4a565b8082018082111561059b5761059b610c4a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610ce157610ce1610ca3565b500690565b8181038181111561059b5761059b610c4a565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610d2a57610d2a610c4a565b5060010190565b600082610d4057610d40610ca3565b500490560000000000000000000000000000000000000000000000000000000000000015" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x493292edbebadfb3b95fee528d0c9a06b3c507e10bb5012af84b67ad3cb2689e", + "transactionType": "CREATE", + "contractName": "GameView", + "contractAddress": "0xAFf0E741b60288110bA7a400Ef6a99917faA593c", + "function": null, + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x100053", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b50604051610dcf380380610dcf83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610d3c806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063260e88bf14610046578063a03d4dd014610064578063c3fe3e2814610079575b600080fd5b61004e6100be565b60405161005b91906108be565b60405180910390f35b61006c6104a4565b60405161005b9190610929565b6000546100999073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161005b565b60606000808060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385b4bb536040518163ffffffff1660e01b815260040161012060405180830381865afa158015610130573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101549190610a4c565b60200151905060006101668280610af6565b67ffffffffffffffff81111561017e5761017e6109cc565b6040519080825280602002602001820160405280156101b757816020015b6101a461082d565b81526020019060019003908161019c5790505b50905060005b6101c8836002610af6565b6101d3906001610b13565b81116103ee576000838211156101ea5760006101f4565b6101f48285610b26565b9050600082610204866003610af6565b61020e9190610b26565b9050815b818110156103d85760008185610229896003610af6565b6102339190610b26565b61023d9190610b26565b905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633264a34b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d19190610b5e565b73ffffffffffffffffffffffffffffffffffffffff1663fcdb66706040518060600160405280898152602001868152602001858152506040518263ffffffff1660e01b81526004016103239190610b82565b602060405180830381865afa158015610340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103649190610ba3565b905080156103c3576040805160a08101825290810187815260608201859052608082018490528152602081018290528751819089908c9081106103a9576103a9610bbc565b60209081029190910101526103bf60018b610b13565b9950505b505080806103d090610beb565b915050610212565b50505080806103e690610beb565b9150506101bd565b5060008367ffffffffffffffff81111561040a5761040a6109cc565b60405190808252806020026020018201604052801561044357816020015b61043061082d565b8152602001906001900390816104285790505b50905060005b8481101561049b5782818151811061046357610463610bbc565b602002602001015182828151811061047d5761047d610bbc565b6020026020010181905250808061049390610beb565b915050610449565b50949350505050565b60008054604080517fc2e5220600000000000000000000000000000000000000000000000000000000815290516060939273ffffffffffffffffffffffffffffffffffffffff169163c2e522069160048083019260209291908290030181865afa158015610516573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053a9190610ba3565b67ffffffffffffffff811115610552576105526109cc565b60405190808252806020026020018201604052801561058b57816020015b610578610869565b8152602001906001900390816105705790505b50905060015b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c2e522066040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106209190610ba3565b81116108275760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633264a34b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b89190610b5e565b73ffffffffffffffffffffffffffffffffffffffff1663dc064ea8836040518263ffffffff1660e01b81526004016106f291815260200190565b606060405180830381865afa15801561070f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107339190610c23565b600080546040517f51cdc8c600000000000000000000000000000000000000000000000000000000815260048101869052929350909173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa1580156107a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cc9190610ca6565b9050604051806060016040528082815260200183815260200184815250846001856107f79190610b26565b8151811061080757610807610bbc565b60200260200101819052505050808061081f90610beb565b915050610591565b50919050565b604051806040016040528061085c60405180606001604052806000815260200160008152602001600081525090565b8152602001600081525090565b6040805160e081019091526000606082018181526080830182905260a0830182905260c08301919091528190815260200161085c60405180606001604052806000815260200160008152602001600081525090565b6020808252825182820181905260009190848201906040850190845b8181101561091d5783516109038482518051825260208082015190830152604090810151910152565b8501516060840152928401926080909201916001016108da565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b828110156109bf5781518051805173ffffffffffffffffffffffffffffffffffffffff16865287810151888701528681015187870152606090810151908601528681015180516080870152602081015160a08701526040015160c086015285015160e08501526101009093019290850190600101610946565b5091979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715610a46577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b60006101208284031215610a5f57600080fd5b610a676109fb565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152508091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610b0d57610b0d610ac7565b92915050565b80820180821115610b0d57610b0d610ac7565b81810381811115610b0d57610b0d610ac7565b73ffffffffffffffffffffffffffffffffffffffff81168114610b5b57600080fd5b50565b600060208284031215610b7057600080fd5b8151610b7b81610b39565b9392505050565b81518152602080830151908201526040808301519082015260608101610b0d565b600060208284031215610bb557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610c1c57610c1c610ac7565b5060010190565b600060608284031215610c3557600080fd5b6040516060810181811067ffffffffffffffff82111715610c7f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508251815260208301516020820152604083015160408201528091505092915050565b600060808284031215610cb857600080fd5b6040516080810181811067ffffffffffffffff82111715610d02577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040528251610d1081610b39565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "nonce": "0x27a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9553b3ea1610cef990fb320170cb646b27df10b31277ddf060c886880def845b", + "transactionType": "CREATE", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "gas": "0x3d95dd", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506137af806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806394c58cfe14610030575b600080fd5b61004361003e3660046101e2565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b60008082600181111561008157610081610241565b036101325760008484604051610096906101c8565b73ffffffffffffffffffffffffffffffffffffffff90921682526020820152604001604051809103906000f0801580156100d4573d6000803e3d6000fd5b5090508473ffffffffffffffffffffffffffffffffffffffff167ff5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624848387336040516101239493929190610270565b60405180910390a290506101c1565b600182600181111561014657610146610241565b0361015b5760008484604051610096906101d5565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f486f6f6b466163746f72793a20696e76616c696420686f6f6b20747970650000604482015260640160405180910390fd5b9392505050565b6119fa806102e083390190565b611ad580611cda83390190565b6000806000606084860312156101f757600080fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461021b57600080fd5b92506020840135915060408401356002811061023657600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60808101600286106102ab577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b94815273ffffffffffffffffffffffffffffffffffffffff938416602082015260408101929092529091166060909101529056fe608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b939250505056608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b506001019056", + "nonce": "0x27b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x5337122c6b5ce24D970Ce771510D22Aeaf038C44, [], ryan)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x8edfe", + "value": "0x0", + "data": "0x6d4175e200000000000000000000000000000000000000000000000000000000000000200000000000000000000000005337122c6b5ce24d970ce771510d22aeaf038c4400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047279616e00000000000000000000000000000000000000000000000000000000", + "nonce": "0x27c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "1", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x27d", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000001" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "1", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x27e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000001" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "1", + "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b008", + "nonce": "0x27f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "1", + "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f9", + "nonce": "0x280", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4624e1da8593e14255ca94e5073f38eac203b4596e3d71077cf78ba49971152f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5337122c6b5ce24d970ce771510d22aeaf038c44", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x281", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x9Ada897d963028923B645d72D01c3beB1343e072, [], sam)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x645bd", + "value": "0x0", + "data": "0x6d4175e200000000000000000000000000000000000000000000000000000000000000200000000000000000000000009ada897d963028923b645d72d01c3beb1343e072000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000373616d0000000000000000000000000000000000000000000000000000000000", + "nonce": "0x282", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "2", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x283", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000002" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "2", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x284", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000002" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "2", + "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed", + "nonce": "0x285", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "2", + "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000020000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d9781", + "nonce": "0x286", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf5e6eb0f61d98b779b8c381fa9a7fe512f6e6df30b7d476ecf2e80038fc8fd50", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x9ada897d963028923b645d72d01c3beb1343e072", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x287", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0x60de91d489D41FAF4C42F5734fF5E8c95A0990F9, [], hopper)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x6459a", + "value": "0x0", + "data": "0x6d4175e2000000000000000000000000000000000000000000000000000000000000002000000000000000000000000060de91d489d41faf4c42f5734ff5e8c95a0990f90000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006686f707065720000000000000000000000000000000000000000000000000000", + "nonce": "0x288", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "3", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x289", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x109fd81E3d772B308b7c64213185865070eC7143", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000003" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "3", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x28a", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000003" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "3", + "0x109fd81E3d772B308b7c64213185865070eC7143" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000109fd81e3d772b308b7c64213185865070ec7143", + "nonce": "0x28b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "3", + "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e22171154", + "nonce": "0x28c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf1b4cb9a00e394adc1e59cdcc0af24174c249ffeb4782c0b7414cd56a9958db8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x60de91d489d41faf4c42f5734ff5e8c95a0990f9", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x28d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0xA288d0BF9fe24773350394b011f6315Ff04a1025, [], emily)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x645dd", + "value": "0x0", + "data": "0x6d4175e20000000000000000000000000000000000000000000000000000000000000020000000000000000000000000a288d0bf9fe24773350394b011f6315ff04a10250000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005656d696c79000000000000000000000000000000000000000000000000000000", + "nonce": "0x28e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "4", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x28f", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000004" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "4", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x290", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000004" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "4", + "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c9", + "nonce": "0x291", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "4", + "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d", + "nonce": "0x292", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9417705bd264f25b7098120b661c6ad2e4fbae4f263e84ab20869ebb98906d46", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0xa288d0bf9fe24773350394b011f6315ff04a1025", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x293", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "join((address,bytes32[],string))", + "arguments": [ + "(0xD9Fd9E6C91e984F8461e4d15468b77fdff1B1bcd, [], aidan)" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x6457a", + "value": "0x0", + "data": "0x6d4175e20000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d9fd9e6c91e984f8461e4d15468b77fdff1b1bcd0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005616964616e000000000000000000000000000000000000000000000000000000", + "nonce": "0x294", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "5", + "0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1f0b60", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x295", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xE637A68f7026c68713856cF66D9Cbd5C05102e80", + "initCode": "0x608060405234801561001057600080fd5b506040516119fa3803806119fa83398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b61191e806100dc6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379c321ab116100ee578063c04375b111610097578063e612884a11610071578063e612884a146105e8578063ec7b4f781461061e578063f555738a14610654578063fcdfa12d1461068a57600080fd5b8063c04375b114610573578063c0825513146105a9578063de31f69e146105df57600080fd5b8063a2962e32116100c8578063a2962e32146104c2578063aadc120a146104f8578063bd1edffc1461053d57600080fd5b806379c321ab1461042157806386ff6b61146104575780638c7deb6c1461048d57600080fd5b80634d2c8f641161015b57806367d974571161013557806367d974571461035f5780636ba9d5151461037f5780636dc5a672146103b55780636e0676da146103eb57600080fd5b80634d2c8f641461032457806350ace9c2146103375780635b4c9c591461034c57600080fd5b806314aa570c1161018c57806314aa570c14610282578063200a2552146102b8578063230ad3b3146102ee57600080fd5b8063013cf08b146101b35780630a895f2d146101e6578063129f56a11461024c575b600080fd5b6101d36101c1366004611203565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b61021b6101f436600461139d565b7f0a895f2d0000000000000000000000000000000000000000000000000000000092915050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101dd565b61021b61025a36600461142d565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b61021b61029036600461148c565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b61021b6102c636600461158a565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b61021b6102fc366004611650565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b61021b610332366004611699565b6106c0565b61034a6103453660046116e2565b610805565b005b61034a61035a36600461170e565b610f7f565b6101d361036d366004611203565b60036020526000908152604090205481565b61021b61038d36600461158a565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b61021b6103c3366004611730565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b61021b6103f9366004611730565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b61021b61042f366004611650565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b61021b610465366004611855565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b61021b61049b36600461139d565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b61021b6104d036600461142d565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b6001546105189073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dd565b61021b61054b36600461142d565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b61021b610581366004611650565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b61021b6105b7366004611650565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b6101d360005481565b61021b6105f636600461148c565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b61021b61062c366004611699565b7fec7b4f78000000000000000000000000000000000000000000000000000000009392505050565b61021b610662366004611855565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b61021b61069836600461142d565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309c432946040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075491906118dc565b905060036000856020015181526020019081526020016000205481116107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e6f6e41676772657373696f6e3a2063616e6e6f742073686f6f7420616c6c7960448201526064015b60405180910390fd5b507f4d2c8f6400000000000000000000000000000000000000000000000000000000949350505050565b600080546040517f013cf08b000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff83169063013cf08b90602401602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089991906118dc565b905060008273ffffffffffffffffffffffffffffffffffffffff166367d974576000546040518263ffffffff1660e01b81526004016108da91815260200190565b602060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b91906118dc565b600085815260026020908152604080832054600383528184205460015483517f09c432940000000000000000000000000000000000000000000000000000000081529351969750919590949373ffffffffffffffffffffffffffffffffffffffff909216926309c432949260048083019391928290030181865afa1580156109a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109cb91906118dc565b9050848110610a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b848303610ac1573373ffffffffffffffffffffffffffffffffffffffff871614610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a20696e76616c69642063616c6c6261636b0060448201526064016107d2565b610c2d565b848310610b2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4e6f6e41676772657373696f6e3a2070726f706f73616c20657870697265640060448201526064016107d2565b6001546000546040517fdf46067c000000000000000000000000000000000000000000000000000000008152600481019190915233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc791906118f5565b610c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b610c39858486856111df565b15610ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e6f6e41676772657373696f6e3a20416c726561647920616c6c69657300000060448201526064016107d2565b60008781526002602090815260408083208890556003825280832088905591548251908152908101899052308183015273ffffffffffffffffffffffffffffffffffffffff881660608201526080810187905290517fa1238ac52749d389c631884693de8b3e2201718dd3ddca9d06ee8e42a62f037f9181900360a00190a16000878152600360205260409020548414610dbf576000546040517f50ace9c2000000000000000000000000000000000000000000000000000000008152600481019190915230602482015273ffffffffffffffffffffffffffffffffffffffff8716906350ace9c290604401600060405180830381600087803b158015610da657600080fd5b505af1158015610dba573d6000803e3d6000fd5b505050505b6000546040517f013cf08b000000000000000000000000000000000000000000000000000000008152610f109173ffffffffffffffffffffffffffffffffffffffff89169163013cf08b91610e1a9160040190815260200190565b602060405180830381865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906118dc565b60008981526002602052604080822054915490517f67d97457000000000000000000000000000000000000000000000000000000008152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a16906367d9745790602401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc91906118dc565b60008b8152600360205260409020546111df565b610f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f6e41676772657373696f6e3a204e6f7420616c6c6965730000000000000060448201526064016107d2565b50505050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906118f5565b611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f6e41676772657373696f6e3a206e6f74206f776e6572000000000000000060448201526064016107d2565b600154604080517f09c43294000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916309c432949160048083019260209291908290030181865afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111591906118dc565b9050828110611180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f6e41676772657373696f6e3a20706173742065787069727900000000000060448201526064016107d2565b60008481526002602090815260408083208690559154825190815290810186905230818301526060810185905290517fe9835920248ce82e2a832c850a8f1b90e63a01c6bfe2fb55858857af16d573079181900360800190a150505050565b600083851480156111ef57508183145b80156111fa57508285145b95945050505050565b60006020828403121561121557600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461124057600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561129757611297611245565b60405290565b6040805190810167ffffffffffffffff8111828210171561129757611297611245565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561130757611307611245565b604052919050565b600082601f83011261132057600080fd5b813567ffffffffffffffff81111561133a5761133a611245565b61136b60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112c0565b81815284602083860101111561138057600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113b057600080fd5b6113b98361121c565b9150602083013567ffffffffffffffff8111156113d557600080fd5b6113e18582860161130f565b9150509250929050565b6000602082840312156113fd57600080fd5b6040516020810181811067ffffffffffffffff8211171561142057611420611245565b6040529135825250919050565b60008060006060848603121561144257600080fd5b61144b8461121c565b925061145a85602086016113eb565b9150604084013567ffffffffffffffff81111561147657600080fd5b6114828682870161130f565b9150509250925092565b600080600083850360c08112156114a257600080fd5b6114ab8561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114dd57600080fd5b506040516080810167ffffffffffffffff828210818311171561150257611502611245565b816040526020870135835260408701356020840152606087013560408401526080870135606084015282945060a087013592508083111561154257600080fd5b50506114828682870161130f565b60006060828403121561156257600080fd5b61156a611274565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c08112156115a057600080fd5b6115a98561121c565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115db57600080fd5b506115e461129d565b602085013581526115f88660408701611550565b6020820152915060a084013567ffffffffffffffff81111561147657600080fd5b60006040828403121561162b57600080fd5b61163361129d565b9050813581526116456020830161121c565b602082015292915050565b60008060006080848603121561166557600080fd5b61166e8461121c565b925061167d8560208601611619565b9150606084013567ffffffffffffffff81111561147657600080fd5b600080600060a084860312156116ae57600080fd5b6116b78461121c565b92506116c68560208601611550565b9150608084013567ffffffffffffffff81111561147657600080fd5b600080604083850312156116f557600080fd5b823591506117056020840161121c565b90509250929050565b6000806040838503121561172157600080fd5b50508035926020909101359150565b60008060006060848603121561174557600080fd5b61174e8461121c565b925060208085013567ffffffffffffffff8082111561176c57600080fd5b908601906060828903121561178057600080fd5b611788611274565b6117918361121c565b815283830135828111156117a457600080fd5b8301601f81018a136117b557600080fd5b8035838111156117c7576117c7611245565b8060051b6117d68782016112c0565b918252828101870191878101908d8411156117f057600080fd5b938801935b8385101561180e578435825293880193908801906117f5565b80898701525050505050604083013593508184111561182c57600080fd5b6118388985850161130f565b604082015280955050604087013592508083111561154257600080fd5b6000806000838503608081121561186b57600080fd5b6118748561121c565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156118a657600080fd5b506118af61129d565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561147657600080fd5b6000602082840312156118ee57600080fd5b5051919050565b60006020828403121561190757600080fd5b8151801515811461191757600080fd5b9392505050560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000005" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionType": "CALL", + "contractName": "HookFactory", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "function": "createHook(address,uint256,uint8):(address)", + "arguments": [ + "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "5", + "1" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x1397a0540f1ca3604518483f534e83fbeb60bef6", + "gas": "0x1e3f07", + "value": "0x0", + "data": "0x94c58cfe0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b74300000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x296", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0", + "initCode": "0x608060405234801561001057600080fd5b50604051611ad5380380611ad583398101604081905261002f91610093565b600180546001600160a01b0319166001600160a01b03841690811790915560008290556040805183815260208101929092527fa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d910160405180910390a150506100cd565b600080604083850312156100a657600080fd5b82516001600160a01b03811681146100bd57600080fd5b6020939093015192949293505050565b6119f9806100dc6000396000f3fe6080604052600436106101c15760003560e01c806379c321ab116100f7578063c04375b111610095578063e612884a11610064578063e612884a1461079f578063ec7b4f78146107e2578063f555738a14610802578063fcdfa12d1461084557600080fd5b8063c04375b1146106d6578063c082551314610719578063dc2f87441461075c578063de31f69e1461078957600080fd5b8063a01b60b9116100d1578063a01b60b9146105a2578063a2962e32146105fe578063aadc120a14610641578063bd1edffc1461069357600080fd5b806379c321ab146104da57806386ff6b611461051d5780638c7deb6c1461056057600080fd5b806340e58ee5116101645780636ba9d5151161013e5780636ba9d515146103fe5780636dc5a672146104415780636e0676da14610484578063780900dc146104c757600080fd5b806340e58ee51461036e5780634d2c8f641461038e5780635cc07076146103d157600080fd5b806314aa570c116101a057806314aa570c14610281578063200a2552146102c4578063230ad3b3146103075780633e362c961461034a57600080fd5b8062f714ce146101c65780630a895f2d146101e8578063129f56a11461023e575b600080fd5b3480156101d257600080fd5b506101e66101e1366004611205565b610888565b005b3480156101f457600080fd5b506102086102033660046113b0565b6109af565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024a57600080fd5b50610208610259366004611442565b7f129f56a1000000000000000000000000000000000000000000000000000000009392505050565b34801561028d57600080fd5b5061020861029c3660046114a3565b7f14aa570c000000000000000000000000000000000000000000000000000000009392505050565b3480156102d057600080fd5b506102086102df36600461157c565b7f200a2552000000000000000000000000000000000000000000000000000000009392505050565b34801561031357600080fd5b50610208610322366004611646565b7f230ad3b3000000000000000000000000000000000000000000000000000000009392505050565b34801561035657600080fd5b5061036060055481565b604051908152602001610235565b34801561037a57600080fd5b506101e6610389366004611691565b6109d7565b34801561039a57600080fd5b506102086103a93660046116aa565b7f4d2c8f64000000000000000000000000000000000000000000000000000000009392505050565b3480156103dd57600080fd5b506103606103ec366004611691565b60046020526000908152604090205481565b34801561040a57600080fd5b5061020861041936600461157c565b7f6ba9d515000000000000000000000000000000000000000000000000000000009392505050565b34801561044d57600080fd5b5061020861045c3660046116f5565b7f6dc5a672000000000000000000000000000000000000000000000000000000009392505050565b34801561049057600080fd5b5061020861049f3660046116f5565b7f6e0676da000000000000000000000000000000000000000000000000000000009392505050565b6101e66104d5366004611691565b610c3f565b3480156104e657600080fd5b506102086104f5366004611646565b7f79c321ab000000000000000000000000000000000000000000000000000000009392505050565b34801561052957600080fd5b5061020861053836600461182c565b7f86ff6b61000000000000000000000000000000000000000000000000000000009392505050565b34801561056c57600080fd5b5061020861057b3660046113b0565b7f8c7deb6c0000000000000000000000000000000000000000000000000000000092915050565b3480156105ae57600080fd5b506105e16105bd366004611691565b60036020526000908152604090208054600182015460029092015490919060ff1683565b604080519384526020840192909252151590820152606001610235565b34801561060a57600080fd5b50610208610619366004611442565b7fa2962e32000000000000000000000000000000000000000000000000000000009392505050565b34801561064d57600080fd5b5060015461066e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610235565b34801561069f57600080fd5b506102086106ae366004611442565b7fbd1edffc000000000000000000000000000000000000000000000000000000009392505050565b3480156106e257600080fd5b506102086106f1366004611646565b7fc04375b1000000000000000000000000000000000000000000000000000000009392505050565b34801561072557600080fd5b50610208610734366004611646565b7fc0825513000000000000000000000000000000000000000000000000000000009392505050565b34801561076857600080fd5b50610360610777366004611691565b60026020526000908152604090205481565b34801561079557600080fd5b5061036060005481565b3480156107ab57600080fd5b506102086107ba3660046114a3565b7fe612884a000000000000000000000000000000000000000000000000000000009392505050565b3480156107ee57600080fd5b506102086107fd3660046116aa565b610ff6565b34801561080e57600080fd5b5061020861081d36600461182c565b7ff555738a000000000000000000000000000000000000000000000000000000009392505050565b34801561085157600080fd5b50610208610860366004611442565b7ffcdfa12d000000000000000000000000000000000000000000000000000000009392505050565b60008281526004602052604090205480610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f426f756e74793a206e6f20626f756e747920746f20776974686472617700000060448201526064015b60405180910390fd5b6000838152600460205260408082208290555173ffffffffffffffffffffffffffffffffffffffff84169183156108fc02918491818181858888f19350505050158015610954573d6000803e3d6000fd5b50604080518481526020810183905273ffffffffffffffffffffffffffffffffffffffff84168183015290517f71ef96c43343734b1d843bb85d52ef329f5e9143e4d35827771e3b0dd90c5f849181900360600190a1505050565b7f0a895f2d000000000000000000000000000000000000000000000000000000005b92915050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906118b5565b610ad9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b600154604080517f1865c57d000000000000000000000000000000000000000000000000000000008152905160029273ffffffffffffffffffffffffffffffffffffffff1691631865c57d9160048083019260209291908290030181865afa158015610b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6d919061190d565b6002811115610b7e57610b7e6118de565b14610be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f426f756e74793a2067616d65206e6f74206f766572000000000000000000000060448201526064016108fa565b600082815260036020908152604080832081516060810183528154815260019182015481850181905281840192909252845485526004909352908320805492939192909190610c3590849061195d565b9091555050505050565b6000546001546040517fdf46067c0000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063df46067c90604401602060405180830381865afa158015610cb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdb91906118b5565b610d41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f426f756e74793a206e6f74206f776e657200000000000000000000000000000060448201526064016108fa565b60003411610dab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f426f756e74793a206e6f20626f756e747920746f20706f73740000000000000060448201526064016108fa565b6001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810184905260009173ffffffffffffffffffffffffffffffffffffffff16906351cdc8c690602401608060405180830381865afa158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611970565b5173ffffffffffffffffffffffffffffffffffffffff1603610ebd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f426f756e74793a2074616e6b206d75737420657869737400000000000000000060448201526064016108fa565b60058054906000610ecd836119c1565b90915550506000828152600260208181526040808420548085526003909252832091820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001908117909155820154909290610f2e90349061195d565b6005805460008881526002602081815260408084208590558051606080820183528d825281840189815282840187815297875260038552838720925183555160018301559551930180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016931515939093179092559354915481519283529382019390935291820188905281018290529091507f56edc1f1355253c9f9ba7408d54d22ba270c51df03ed38663f442682d8db3b449060800160405180910390a15050505050565b60208201516001546040517f51cdc8c60000000000000000000000000000000000000000000000000000000081526004810183905260009291839173ffffffffffffffffffffffffffffffffffffffff909116906351cdc8c690602401608060405180830381865afa158015611070573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110949190611970565b60200151116111b65760008181526002602090815260408083205480845260039092529091206001810154158015906110d25750600281015460ff16155b156111b3576002818101805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091821681178355600086815260036020908152604080832088548155848901805495820195909555955495909601805490941660ff9095161515949094179092555489518252600490925291822080549192909161116090849061195d565b909155505085516001820154604080518581526020810193909352820185905260608201527fcf77ebc69016831116a31fb9cca391e0cd685c6c5c6a6925f0755cfd9871061f9060800160405180910390a15b50505b507fec7b4f7800000000000000000000000000000000000000000000000000000000949350505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461120257600080fd5b50565b6000806040838503121561121857600080fd5b82359150602083013561122a816111e0565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561128757611287611235565b60405290565b6040516060810167ffffffffffffffff8111828210171561128757611287611235565b6040805190810167ffffffffffffffff8111828210171561128757611287611235565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561131a5761131a611235565b604052919050565b600082601f83011261133357600080fd5b813567ffffffffffffffff81111561134d5761134d611235565b61137e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016112d3565b81815284602083860101111561139357600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156113c357600080fd5b82356113ce816111e0565b9150602083013567ffffffffffffffff8111156113ea57600080fd5b6113f685828601611322565b9150509250929050565b60006020828403121561141257600080fd5b6040516020810181811067ffffffffffffffff8211171561143557611435611235565b6040529135825250919050565b60008060006060848603121561145757600080fd5b8335611462816111e0565b92506114718560208601611400565b9150604084013567ffffffffffffffff81111561148d57600080fd5b61149986828701611322565b9150509250925092565b600080600083850360c08112156114b957600080fd5b84356114c4816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156114f657600080fd5b506114ff611264565b602085013581526040850135602082015260608501356040820152608085013560608201528092505060a084013567ffffffffffffffff81111561148d57600080fd5b60006060828403121561155457600080fd5b61155c61128d565b905081358152602082013560208201526040820135604082015292915050565b600080600083850360c081121561159257600080fd5b843561159d816111e0565b935060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820112156115cf57600080fd5b506115d86112b0565b602085013581526115ec8660408701611542565b6020820152915060a084013567ffffffffffffffff81111561148d57600080fd5b60006040828403121561161f57600080fd5b6116276112b0565b905081358152602082013561163b816111e0565b602082015292915050565b60008060006080848603121561165b57600080fd5b8335611666816111e0565b9250611675856020860161160d565b9150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156116a357600080fd5b5035919050565b600080600060a084860312156116bf57600080fd5b83356116ca816111e0565b92506116d98560208601611542565b9150608084013567ffffffffffffffff81111561148d57600080fd5b60008060006060848603121561170a57600080fd5b8335611715816111e0565b925060208481013567ffffffffffffffff8082111561173357600080fd5b908601906060828903121561174757600080fd5b61174f61128d565b823561175a816111e0565b8152828401358281111561176d57600080fd5b8301601f81018a1361177e57600080fd5b80358381111561179057611790611235565b8060051b61179f8782016112d3565b918252828101870191878101908d8411156117b957600080fd5b938801935b838510156117d7578435825293880193908801906117be565b8089870152505050505060408301359350818411156117f557600080fd5b61180189858501611322565b604082015280955050604087013592508083111561181e57600080fd5b505061149986828701611322565b6000806000838503608081121561184257600080fd5b843561184d816111e0565b935060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201121561187f57600080fd5b506118886112b0565b60208581013582526040860135908201529150606084013567ffffffffffffffff81111561148d57600080fd5b6000602082840312156118c757600080fd5b815180151581146118d757600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561191f57600080fd5b8151600381106118d757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156109d1576109d161192e565b60006080828403121561198257600080fd5b61198a611264565b8251611995816111e0565b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119f2576119f261192e565b5060010190560000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b7430000000000000000000000000000000000000000000000000000000000000005" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "5", + "0xE637A68f7026c68713856cF66D9Cbd5C05102e80" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18f3b", + "value": "0x0", + "data": "0x4a03e0ef0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e80", + "nonce": "0x297", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "forceAddDefaultHook(uint256,address)", + "arguments": [ + "5", + "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x11cc9", + "value": "0x0", + "data": "0x4a03e0ef00000000000000000000000000000000000000000000000000000000000000050000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d0", + "nonce": "0x298", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe92f76dd24818505b3045cf9bb24bfc69ca17296249cb8786335ec0b67254ff5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": null, + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0xd9fd9e6c91e984f8461e4d15468b77fdff1b1bcd", + "gas": "0x714d", + "value": "0x16345785d8a0000", + "data": "0x", + "nonce": "0x299", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7220ca801c8281bf3e86a69241772d841b29520c7f33d49dcf080fc1a8c6cf24", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "setOwner(address)", + "arguments": [ + "0x0000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x76ad", + "value": "0x0", + "data": "0x13af40350000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x29a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionType": "CALL", + "contractName": "TankGame", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "function": "start()", + "arguments": [], + "transaction": { + "type": "0x02", + "from": "0x3c5cd6c3a8f47443f739597a89a630868f805e2e", + "to": "0x5df10751352b7ba7b0cea02c12d1a0b101f7b743", + "gas": "0x18838", + "value": "0x0", + "data": "0xbe9a6555", + "nonce": "0x29b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x031e2e1a4e5c9432d433a3450ca0d00c7761ea1d5b95080e3bac1c085b37660a", + "transactionIndex": "0x1", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x7557a", + "gasUsed": "0x5afb8", + "contractAddress": "0xfa109ab9C85c5F0181e6548F83c25ef37b3FFEc9", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x5c2a9a", + "gasUsed": "0x54d520", + "contractAddress": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0xd238cf491e3dd71f67796a95afc0def045cac20be422b1bb24d9dc52aa5647b3" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0xde738c1fed118557f271090e7e6079757a3f381282e028a9e2ad9c41560d10b6" + ], + "data": "0x0000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x5e1dd8c4451717d5ca4ffbefdada35e22e0871220b9ed9dd03a351f0938c5ed7" + ], + "data": "0x0000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e0000000000000000000000000000000000000000000000000000000000975ed1", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x878e4c2b406565071d38c926e7c5106084b0d465a8f1c4605d7b31447aea50cb", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x0000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000008000000000000020000000000000000000000000000002000000000000000000010000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000100000000000000000a000000100000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x493292edbebadfb3b95fee528d0c9a06b3c507e10bb5012af84b67ad3cb2689e", + "transactionIndex": "0x3", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x687a7f", + "gasUsed": "0xc4fe5", + "contractAddress": "0xAFf0E741b60288110bA7a400Ef6a99917faA593c", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x9553b3ea1610cef990fb320170cb646b27df10b31277ddf060c886880def845b", + "transactionIndex": "0x4", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": null, + "cumulativeGasUsed": "0x97dd94", + "gasUsed": "0x2f6315", + "contractAddress": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionIndex": "0x5", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x9df8ef", + "gasUsed": "0x61b5b", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x0000000000000000000000005337122c6b5ce24d970ce771510d22aeaf038c44000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000013000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000047279616e00000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x15b8e7c1911297f574f2d5df4e3a4b920ce274fd0e081f9ca1b3550f8c52b244", + "transactionIndex": "0x5", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionIndex": "0x6", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xb334ae", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x6c7D679f28B82D57Db613Fb2A3e13082aBc2b008", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionIndex": "0x6", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b00800000000000000000000000000000000000000000000000000000000000000010000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x5501528e48b5132b2f0dc72ab5b845221f07141b3854b814797dbfc19f9957d7", + "transactionIndex": "0x6", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000000000000000100000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000000000000000000000000100000000000000000000000000000000000000000000020000008000000000080000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionIndex": "0x7", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xc91c30", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x0a0b1401Bb942542700c4B28FbBEb9A489a8e2f9", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionIndex": "0x7", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f900000000000000000000000000000000000000000000000000000000000000010000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0196a99ea50974cd599c19844551ec26ad11d5fcda309b584ed0d940d9008e2c", + "transactionIndex": "0x7", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000100000000000000000000000100000000000000000000000000000000000000000000800100100000000000100000000000002000000000000000020000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionIndex": "0x8", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xca2d2b", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c7d679f28b82d57db613fb2a3e13082abc2b008", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x4fdb097ddbd58bf86b15393c7b42424c2a0d3e9f31a33ac4cd9ba30d57fae82b", + "transactionIndex": "0x8", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionIndex": "0x9", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xcafb5a", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000a0b1401bb942542700c4b28fbbeb9a489a8e2f9", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xc6b7d511a7179a9e0ede66dc6c821abde8cceeacf8fcc808b37adca229274d29", + "transactionIndex": "0x9", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x4624e1da8593e14255ca94e5073f38eac203b4596e3d71077cf78ba49971152f", + "transactionIndex": "0xa", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5337122c6b5ce24D970Ce771510D22Aeaf038C44", + "cumulativeGasUsed": "0xcb4d62", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionIndex": "0xb", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xcfd7e9", + "gasUsed": "0x48a87", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x0000000000000000000000009ada897d963028923b645d72d01c3beb1343e072000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000373616d0000000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x6460994bc9294e26e379ce8c83a3ef8dae42abed271efca508fd4c720e7b4638", + "transactionIndex": "0xb", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionIndex": "0xc", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xe513a8", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x481aFE8F99bF2F3873B7fa859826a660A92598Ed", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionIndex": "0xc", + "logIndex": "0xd", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed00000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x04dd5916fe6f8038e9d1db3a4a45ab9eb020dea1b548ce2fa1dea066322008bf", + "transactionIndex": "0xc", + "logIndex": "0xe", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000000000000000100000000040000000000000000000108000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000002000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionIndex": "0xd", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0xfafb2a", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x9F4e582B9e6d74D9eb8f37F4ce82C576719d9781", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionIndex": "0xd", + "logIndex": "0xf", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d978100000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2014cbf97b97fc99d2cc89486a5b05a5e4ca4ee520b568fac7b61c8b9afdd425", + "transactionIndex": "0xd", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000001000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000000000000000000000000000000800100100000000000000000000000000000000000000000020000008000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionIndex": "0xe", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xfc0c25", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000481afe8f99bf2f3873b7fa859826a660a92598ed", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xdc7d80a3d604186b08175814709a16aaf3d7e69d3b529bc0f1d16c15e8d73dd0", + "transactionIndex": "0xe", + "logIndex": "0x11", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionIndex": "0xf", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0xfcda54", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000009f4e582b9e6d74d9eb8f37f4ce82c576719d9781", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x956a77c71e15d31d04aa0f052f89ecd0351b5da281cd932588548cec41856718", + "transactionIndex": "0xf", + "logIndex": "0x12", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xf5e6eb0f61d98b779b8c381fa9a7fe512f6e6df30b7d476ecf2e80038fc8fd50", + "transactionIndex": "0x10", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x9Ada897d963028923B645d72D01c3beB1343e072", + "cumulativeGasUsed": "0xfd2c5c", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionIndex": "0x11", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x101b6bf", + "gasUsed": "0x48a63", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x00000000000000000000000060de91d489d41faf4c42f5734ff5e8c95a0990f9000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006686f707065720000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xfc9795899cb3873428c472b750e80363a6331c28cba2fae345f752cb7834945b", + "transactionIndex": "0x11", + "logIndex": "0x13", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionIndex": "0x12", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x116f27e", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x109fd81E3d772B308b7c64213185865070eC7143", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionIndex": "0x12", + "logIndex": "0x14", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000109fd81e3d772b308b7c64213185865070ec714300000000000000000000000000000000000000000000000000000000000000030000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x6eca6cc277fcc227188a48f0372b9d0bc1944df5f89ba1f04941480a229eac12", + "transactionIndex": "0x12", + "logIndex": "0x15", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000200000000000000020020000000000000000000000000000000000100000000000000000000000000000100000000000000000000000040400040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionIndex": "0x13", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x12cda00", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0xDAacA7043647Be0AD8c8AFdf79eBF34e22171154", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000030000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionIndex": "0x13", + "logIndex": "0x16", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e2217115400000000000000000000000000000000000000000000000000000000000000030000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0b8da5dd6a6fbf83b49a6404bd2fd51558ffbdc8b8155f989c0c5f0396b3fb85", + "transactionIndex": "0x13", + "logIndex": "0x17", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000020000000000000000000000000000000000000000100000000000000000000000000000000000000000000800100100000000000000000000000000000000000000000020000008000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionIndex": "0x14", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x12deafb", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000109fd81e3d772b308b7c64213185865070ec7143", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xfcd9f73d88f2c966c1c15cca2894df339848d48e606373cffb8d225e743efe46", + "transactionIndex": "0x14", + "logIndex": "0x18", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionIndex": "0x15", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x12eb92a", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000daaca7043647be0ad8c8afdf79ebf34e22171154", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x0b9dfec45b33f973d07bc8777e829d5bbe6e12383981d1f15df2460f1122e4e5", + "transactionIndex": "0x15", + "logIndex": "0x19", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xf1b4cb9a00e394adc1e59cdcc0af24174c249ffeb4782c0b7414cd56a9958db8", + "transactionIndex": "0x16", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x60de91d489D41FAF4C42F5734fF5E8c95A0990F9", + "cumulativeGasUsed": "0x12f0b32", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionIndex": "0x17", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x13395c6", + "gasUsed": "0x48a94", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x000000000000000000000000a288d0bf9fe24773350394b011f6315ff04a1025000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000017000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005656d696c79000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xaf0e9229ff647104c68997fa11c81970e2fe4520dc9ed3d1be5767fd016713b7", + "transactionIndex": "0x17", + "logIndex": "0x1a", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionIndex": "0x18", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x148d185", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0x6791D8aE510748deFC1BE42CD262AC08Cc7682c9", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionIndex": "0x18", + "logIndex": "0x1b", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c900000000000000000000000000000000000000000000000000000000000000040000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x7c37d5a45c0d17b1ef4fc9c7dc42f9c4bde07719200ea54e41caa684f3f78482", + "transactionIndex": "0x18", + "logIndex": "0x1c", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020080000000000000000000000000000000100000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000008000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionIndex": "0x19", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x15eb907", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x6c5B73aD0C3cC25Ebf4DE0b31ED592428245285D", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionIndex": "0x19", + "logIndex": "0x1d", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d00000000000000000000000000000000000000000000000000000000000000040000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2dd26e27feadcbf54e01f214d52ddde90d4a6b303daa2826caf4957ce7600412", + "transactionIndex": "0x19", + "logIndex": "0x1e", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000800100100000000000000000200000000000000000000000020000008000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionIndex": "0x1a", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x15fca02", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006791d8ae510748defc1be42cd262ac08cc7682c9", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x336e6d5eb05ecfb11d83fed8ebb2dc6e1ad1565801764f09c01a735e8d040748", + "transactionIndex": "0x1a", + "logIndex": "0x1f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionIndex": "0x1b", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1609831", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000040000000000000000000000006c5b73ad0c3cc25ebf4de0b31ed592428245285d", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x86b8c29d80186dbcdc3c74614895185862026ab974469747f2b505eb730555f4", + "transactionIndex": "0x1b", + "logIndex": "0x20", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x9417705bd264f25b7098120b661c6ad2e4fbae4f263e84ab20869ebb98906d46", + "transactionIndex": "0x1c", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0xA288d0BF9fe24773350394b011f6315Ff04a1025", + "cumulativeGasUsed": "0x160ea39", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionIndex": "0x1d", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x16574d8", + "gasUsed": "0x48a9f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x8e95be6025ae315c8285ee0fd2bdb56aed23376c392f397704184f0031f6fdd6" + ], + "data": "0x000000000000000000000000d9fd9e6c91e984f8461e4d15468b77fdff1b1bcd000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000005616964616e000000000000000000000000000000000000000000000000000000", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x946adef0e4ee50a6ba26c5dbf14e4a3bc8e08fcc057e8b2cb4392b438e5a4c14", + "transactionIndex": "0x1d", + "logIndex": "0x21", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionIndex": "0x1e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x17ab097", + "gasUsed": "0x153bbf", + "contractAddress": null, + "logs": [ + { + "address": "0xE637A68f7026c68713856cF66D9Cbd5C05102e80", + "topics": [ + "0xec1ff53edb94685ed0b9ba57e5acf457364063e77e1fa44db87f8b6cf98efbcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionIndex": "0x1e", + "logIndex": "0x22", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e8000000000000000000000000000000000000000000000000000000000000000050000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xc7a1478e9908248a2597469d80690f407554ac3e65ecd56c3f30e315dadc2291", + "transactionIndex": "0x1e", + "logIndex": "0x23", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000020000000000000000000000000000000000100000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000080100000000000000000000000000000000000000000000020000008000000000080000000000000000000000000000000000000000000000000000000000000000000000002000020000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionIndex": "0x1f", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "cumulativeGasUsed": "0x1909819", + "gasUsed": "0x15e782", + "contractAddress": null, + "logs": [ + { + "address": "0x6f7857b92d0F9dDdbF6379Ee84Ed7854113616D0", + "topics": [ + "0xa0a2061dcbef3d4c91966c27b89cb0e8ef4d73d151459edf5079082bd629150d" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionIndex": "0x1f", + "logIndex": "0x24", + "removed": false + }, + { + "address": "0x1397a0540F1CA3604518483F534E83fbeB60beF6", + "topics": [ + "0xf5dbad0a2ca13ec538a8be357c78494ee5bdd16532053c8dbca17b164cde4624", + "0x0000000000000000000000005df10751352b7ba7b0cea02c12d1a0b101f7b743" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d000000000000000000000000000000000000000000000000000000000000000050000000000000000000000003c5cd6c3a8f47443f739597a89a630868f805e2e", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0xe71c3ec765bdbc3f06918997bc5af85388e40d7bf6a5f27a7bc53ef6c2da2c32", + "transactionIndex": "0x1f", + "logIndex": "0x25", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000100000000000000000000000040000040000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000800100100000000000000000000000000000000000000040020000008000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionIndex": "0x20", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x191a914", + "gasUsed": "0x110fb", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000e637a68f7026c68713856cf66d9cbd5c05102e80", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x658be88b20a033c9b6e759e2e19a84ee1128ef02f45ad510448efabbf49bc9cd", + "transactionIndex": "0x20", + "logIndex": "0x26", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionIndex": "0x21", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1927743", + "gasUsed": "0xce2f", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x37fcdeb011fa470763e1d2cc380ee221ae5f645bfc92fb1d3350592dfd32b62e" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000050000000000000000000000006f7857b92d0f9dddbf6379ee84ed7854113616d0", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x2dee15a840f460b479b805e1ef09e2433705d1b2c7965ab715a41d8e58d9439b", + "transactionIndex": "0x21", + "logIndex": "0x27", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xe92f76dd24818505b3045cf9bb24bfc69ca17296249cb8786335ec0b67254ff5", + "transactionIndex": "0x22", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0xD9Fd9E6C91e984F8461e4d15468b77fdff1B1bcd", + "cumulativeGasUsed": "0x192c94b", + "gasUsed": "0x5208", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x7220ca801c8281bf3e86a69241772d841b29520c7f33d49dcf080fc1a8c6cf24", + "transactionIndex": "0x23", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1931f37", + "gasUsed": "0x55ec", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionIndex": "0x24", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "from": "0x3c5CD6c3A8f47443f739597A89A630868F805e2e", + "to": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "cumulativeGasUsed": "0x1943b2d", + "gasUsed": "0x11bf6", + "contractAddress": null, + "logs": [ + { + "address": "0x5Df10751352b7bA7b0Cea02c12d1a0b101F7b743", + "topics": [ + "0x762f260439bb4be3ef6e4dc2786e2e7bd187d3d80b79057d7a424fe98563e335" + ], + "data": "0x", + "blockHash": "0x168f6a3e8d9bf26730933f3e17c3132656f2222ade31e2f751587e1aa2ea0a92", + "blockNumber": "0x975ecc", + "transactionHash": "0x81a046e29d957f9d504b0e1e76439a649bce333064866b1cf7cb74c987f623ba", + "transactionIndex": "0x24", + "logIndex": "0x28", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000400000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + } + ], + "libraries": [ + "src/libraries/Give.sol:GiveLib:0xfa109ab9c85c5f0181e6548f83c25ef37b3ffec9" + ], + "pending": [], + "returns": {}, + "timestamp": 1698110089, + "chain": 5, + "multi": false, + "commit": "d2ba2ea" +} \ No newline at end of file diff --git a/contracts/bun.lockb b/contracts/bun.lockb new file mode 100755 index 0000000..6cdf213 Binary files /dev/null and b/contracts/bun.lockb differ diff --git a/contracts/pnpm-lock.yaml b/contracts/pnpm-lock.yaml deleted file mode 100644 index b321fbd..0000000 --- a/contracts/pnpm-lock.yaml +++ /dev/null @@ -1,461 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -dependencies: - '@openzeppelin/merkle-tree': - specifier: ^1.0.5 - version: 1.0.5 - dotenv: - specifier: ^16.0.0 - version: 16.3.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@20.4.5)(typescript@5.1.6) - typescript: - specifier: ^5.0.3 - version: 5.1.6 - -devDependencies: - '@types/node': - specifier: ^20.4.5 - version: 20.4.5 - prettier: - specifier: ^2.6.0 - version: 2.8.8 - prettier-plugin-solidity: - specifier: ^1.0.0-beta.19 - version: 1.1.3(prettier@2.8.8) - -packages: - - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: false - - /@ethersproject/abi@5.7.0: - resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} - dependencies: - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - dev: false - - /@ethersproject/abstract-provider@5.7.0: - resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/networks': 5.7.1 - '@ethersproject/properties': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/web': 5.7.1 - dev: false - - /@ethersproject/abstract-signer@5.7.0: - resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} - dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - dev: false - - /@ethersproject/address@5.7.0: - resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/rlp': 5.7.0 - dev: false - - /@ethersproject/base64@5.7.0: - resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} - dependencies: - '@ethersproject/bytes': 5.7.0 - dev: false - - /@ethersproject/bignumber@5.7.0: - resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - bn.js: 5.2.1 - dev: false - - /@ethersproject/bytes@5.7.0: - resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} - dependencies: - '@ethersproject/logger': 5.7.0 - dev: false - - /@ethersproject/constants@5.7.0: - resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} - dependencies: - '@ethersproject/bignumber': 5.7.0 - dev: false - - /@ethersproject/hash@5.7.0: - resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} - dependencies: - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/base64': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - dev: false - - /@ethersproject/keccak256@5.7.0: - resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} - dependencies: - '@ethersproject/bytes': 5.7.0 - js-sha3: 0.8.0 - dev: false - - /@ethersproject/logger@5.7.0: - resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} - dev: false - - /@ethersproject/networks@5.7.1: - resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} - dependencies: - '@ethersproject/logger': 5.7.0 - dev: false - - /@ethersproject/properties@5.7.0: - resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} - dependencies: - '@ethersproject/logger': 5.7.0 - dev: false - - /@ethersproject/rlp@5.7.0: - resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - dev: false - - /@ethersproject/signing-key@5.7.0: - resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - bn.js: 5.2.1 - elliptic: 6.5.4 - hash.js: 1.1.7 - dev: false - - /@ethersproject/strings@5.7.0: - resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 - dev: false - - /@ethersproject/transactions@5.7.0: - resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} - dependencies: - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/rlp': 5.7.0 - '@ethersproject/signing-key': 5.7.0 - dev: false - - /@ethersproject/web@5.7.1: - resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} - dependencies: - '@ethersproject/base64': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - dev: false - - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} - dev: false - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: false - - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - - /@noble/hashes@1.2.0: - resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} - dev: false - - /@noble/secp256k1@1.7.1: - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} - dev: false - - /@openzeppelin/merkle-tree@1.0.5: - resolution: {integrity: sha512-JkwG2ysdHeIphrScNxYagPy6jZeNONgDRyqU6lbFgE8HKCZFSkcP8r6AjZs+3HZk4uRNV0kNBBzuWhKQ3YV7Kw==} - dependencies: - '@ethersproject/abi': 5.7.0 - ethereum-cryptography: 1.2.0 - dev: false - - /@scure/base@1.1.1: - resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} - dev: false - - /@scure/bip32@1.1.5: - resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} - dependencies: - '@noble/hashes': 1.2.0 - '@noble/secp256k1': 1.7.1 - '@scure/base': 1.1.1 - dev: false - - /@scure/bip39@1.1.1: - resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} - dependencies: - '@noble/hashes': 1.2.0 - '@scure/base': 1.1.1 - dev: false - - /@solidity-parser/parser@0.16.1: - resolution: {integrity: sha512-PdhRFNhbTtu3x8Axm0uYpqOy/lODYQK+MlYSgqIsq2L8SFYEHJPHNUiOTAJbDGzNjjr1/n9AcIayxafR/fWmYw==} - dependencies: - antlr4ts: 0.5.0-alpha.4 - dev: true - - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: false - - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: false - - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: false - - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: false - - /@types/node@20.4.5: - resolution: {integrity: sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==} - - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: false - - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: false - - /antlr4ts@0.5.0-alpha.4: - resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} - dev: true - - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: false - - /bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} - dev: false - - /bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - dev: false - - /brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - dev: false - - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: false - - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: false - - /dotenv@16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} - engines: {node: '>=12'} - dev: false - - /elliptic@6.5.4: - resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} - dependencies: - bn.js: 4.12.0 - brorand: 1.1.0 - hash.js: 1.1.7 - hmac-drbg: 1.0.1 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - dev: false - - /ethereum-cryptography@1.2.0: - resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} - dependencies: - '@noble/hashes': 1.2.0 - '@noble/secp256k1': 1.7.1 - '@scure/bip32': 1.1.5 - '@scure/bip39': 1.1.1 - dev: false - - /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - dev: false - - /hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - dependencies: - hash.js: 1.1.7 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - dev: false - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: false - - /js-sha3@0.8.0: - resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} - dev: false - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: false - - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - dev: false - - /minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - dev: false - - /prettier-plugin-solidity@1.1.3(prettier@2.8.8): - resolution: {integrity: sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg==} - engines: {node: '>=12'} - peerDependencies: - prettier: '>=2.3.0 || >=3.0.0-alpha.0' - dependencies: - '@solidity-parser/parser': 0.16.1 - prettier: 2.8.8 - semver: 7.5.4 - solidity-comments-extractor: 0.0.7 - dev: true - - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /solidity-comments-extractor@0.0.7: - resolution: {integrity: sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==} - dev: true - - /ts-node@10.9.1(@types/node@20.4.5)(typescript@5.1.6): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.4.5 - acorn: 8.10.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.1.6 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: false - - /typescript@5.1.6: - resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} - engines: {node: '>=14.17'} - hasBin: true - dev: false - - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: false - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: false diff --git a/contracts/script/00_DeployGameImpl.s.sol b/contracts/script/00_DeployGameImpl.s.sol new file mode 100644 index 0000000..c96c9c4 --- /dev/null +++ b/contracts/script/00_DeployGameImpl.s.sol @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { Script, console } from "forge-std/Script.sol"; +import { TankGame } from "src/base/TankGameV2.sol"; + +contract DeployGameImpl is Script { + function run() public { + vm.startBroadcast(); + console.log("TankGameImpl deployed at address: %s", address(new TankGame())); + } +} diff --git a/contracts/script/01_DeployFactories.s.sol b/contracts/script/01_DeployFactories.s.sol new file mode 100644 index 0000000..67f9245 --- /dev/null +++ b/contracts/script/01_DeployFactories.s.sol @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { Script, console } from "forge-std/Script.sol"; +import { TankGameFactory } from "src/base/TankGameFactory.sol"; +import { HookFactory } from "src/base/HookFactory.sol"; +import { GameView } from "src/view/GameView.sol"; + +contract DeployTankGameFactories is Script { + function run() public { + vm.startBroadcast(); + HookFactory hookFactory = new HookFactory(); + GameView gameView = new GameView(); + console.log("HookFactory deployed at address: %s", address(hookFactory)); + console.log("View contract deployed at address: %s", address(gameView)); + console.log("TankGameFactory deployed at address: %s", address(new TankGameFactory(gameView, hookFactory))); + } +} diff --git a/contracts/script/TankGameDeployer.s.sol b/contracts/script/TankGameDeployer.s.sol index b181c8d..44f12d8 100644 --- a/contracts/script/TankGameDeployer.s.sol +++ b/contracts/script/TankGameDeployer.s.sol @@ -51,11 +51,13 @@ contract TankGameDeployerScript is Script { epochSeconds: 15 minutes, buyInMinimum: 0, revealWaitBlocks: (45 minutes) / 12, + autoStart: false, root: bytes32(0x0) }); - tankGame = new TankGame(gs, msg.sender); + tankGame = new TankGame(); + tankGame.initialize(gs, msg.sender); - GameView gameView = new GameView(tankGame); + GameView gameView = new GameView(); HookFactory hookFactory = new HookFactory(); console.log("TankGame deployed at address: %s", address(tankGame)); console.log("TankGameView at address: %s", address(gameView)); @@ -68,8 +70,8 @@ contract TankGameDeployerScript is Script { // for every player give them a default hook for NonAggression and Bounties // this wont be allowed because hooks only added by owner // can get around this by allownig the admin to at the beginning - IHooks nonAggro = hookFactory.createHook(tankGame, i + 1, HookFactory.HookRegistry.NonAggression); - IHooks bounty = hookFactory.createHook(tankGame, i + 1, HookFactory.HookRegistry.Bounty); + IHooks nonAggro = hookFactory.createHook(tankGame, gameView, i + 1, HookFactory.HookRegistry.NonAggression); + IHooks bounty = hookFactory.createHook(tankGame, gameView, i + 1, HookFactory.HookRegistry.Bounty); console.log("Adding bounty hook for %s at address %s", np.name, address(bounty)); console.log("Adding nonaggression hook for %s at address %s", np.name, address(nonAggro)); diff --git a/contracts/script/TankGameDeployerSim.s.sol b/contracts/script/TankGameDeployerSim.s.sol index 23dd6b6..6716d2f 100644 --- a/contracts/script/TankGameDeployerSim.s.sol +++ b/contracts/script/TankGameDeployerSim.s.sol @@ -33,11 +33,13 @@ contract TankGameDeployerScript is Script { epochSeconds: 1 seconds, buyInMinimum: 0, revealWaitBlocks: 45 seconds, + autoStart: false, root: bytes32(0x0) }); - tankGame = new TankGame(gs, msg.sender); + tankGame = new TankGame(); + tankGame.initialize(gs, msg.sender); - GameView gameView = new GameView(tankGame); + GameView gameView = new GameView(); HookFactory hookFactory = new HookFactory(); console.log("TankGame at address: %s", address(tankGame)); console.log("TankGameView at address: %s", address(gameView)); @@ -50,8 +52,8 @@ contract TankGameDeployerScript is Script { // for every player give them a default hook for NonAggression and Bounties // this wont be allowed because hooks only added by owner // can get around this by allownig the admin to at the beginning - IHooks nonAggro = hookFactory.createHook(tankGame, i + 1, HookFactory.HookRegistry.NonAggression); - IHooks bounty = hookFactory.createHook(tankGame, i + 1, HookFactory.HookRegistry.Bounty); + IHooks nonAggro = hookFactory.createHook(tankGame, gameView, i + 1, HookFactory.HookRegistry.NonAggression); + IHooks bounty = hookFactory.createHook(tankGame, gameView, i + 1, HookFactory.HookRegistry.Bounty); console.log("Adding bounty hook for %s at address %s", np.name, address(bounty)); console.log("Adding nonaggression hook for %s at address %s", np.name, address(nonAggro)); diff --git a/contracts/src/base/HookFactory.sol b/contracts/src/base/HookFactory.sol index 2f3e3ae..4e5375f 100644 --- a/contracts/src/base/HookFactory.sol +++ b/contracts/src/base/HookFactory.sol @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -import { TankGame } from "src/base/TankGameV2.sol"; import { ITankGame } from "src/interfaces/ITankGame.sol"; +import { IGameView } from "src/view/IGameView.sol"; import { IHooks } from "src/interfaces/IHooks.sol"; import { NonAggression } from "src/hooks/NonAggression.sol"; import { Bounty } from "src/hooks/Bounty.sol"; @@ -17,13 +17,21 @@ contract HookFactory { ITankGame indexed tankGame, HookRegistry _type, address hookAddress, uint256 tankId, address creator ); - function createHook(ITankGame tankGame, uint256 tankId, HookRegistry hookType) external returns (IHooks) { + function createHook( + ITankGame tankGame, + IGameView gameView, + uint256 tankId, + HookRegistry hookType + ) + external + returns (IHooks) + { if (hookType == HookRegistry.NonAggression) { - NonAggression na = new NonAggression(tankGame, tankId); + NonAggression na = new NonAggression(address(tankGame), address(gameView), tankId); emit HookCreated(tankGame, hookType, address(na), tankId, msg.sender); return na; } else if (hookType == HookRegistry.Bounty) { - Bounty b = new Bounty(tankGame, tankId); + Bounty b = new Bounty(address(tankGame), address(gameView), tankId); emit HookCreated(tankGame, hookType, address(b), tankId, msg.sender); return b; } else { diff --git a/contracts/src/base/TankGameFactory.sol b/contracts/src/base/TankGameFactory.sol index 4aabfe3..1d540f9 100644 --- a/contracts/src/base/TankGameFactory.sol +++ b/contracts/src/base/TankGameFactory.sol @@ -1,15 +1,47 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -// import { TankGame } from "src/base/TankGameV2.sol"; -// import { ITankGame } from "src/interfaces/ITankGame.sol"; - -// contract TankGameFactory { -// event GameCreated(address game, ITankGame.GameSettings settings); - -// function createGame(ITankGame.GameSettings calldata settings, address _owner) external returns (TankGame game) { -// game = new TankGame(settings, _owner); -// address gameAddress = address(game); -// emit GameCreated(gameAddress, settings); -// } -// } +import { Clones } from "@openzeppelin/contracts/proxy/Clones.sol"; +import { ITankGame } from "src/interfaces/ITankGame.sol"; +import { GameView } from "src/view/GameView.sol"; +import { HookFactory } from "src/base/HookFactory.sol"; +import { IHooks } from "src/interfaces/IHooks.sol"; + +contract TankGameFactory { + using Clones for address; + + GameView public gameView; + HookFactory public hookFactory; + + constructor(GameView _gameView, HookFactory _hookFactory) { + gameView = _gameView; + hookFactory = _hookFactory; + } + + event GameCreated(address game, ITankGame.GameSettings settings); + + function createGame( + address _implementation, + ITankGame.GameSettings calldata settings, + address _owner + ) + external + returns (ITankGame game) + { + game = ITankGame(_implementation.clone()); + game.initialize(settings, _owner); + for (uint256 i = 0; i < settings.playerCount; i++) { + // for every player give them a default hook for NonAggression and Bounties + // this wont be allowed because hooks only added by owner + // can get around this by allowing the admin to at the beginning + IHooks nonAggro = hookFactory.createHook(game, gameView, i + 1, HookFactory.HookRegistry.NonAggression); + IHooks bounty = hookFactory.createHook(game, gameView, i + 1, HookFactory.HookRegistry.Bounty); + + game.forceAddDefaultHook(i + 1, nonAggro); + game.forceAddDefaultHook(i + 1, bounty); + } + + address gameAddress = address(game); + emit GameCreated(gameAddress, settings); + } +} diff --git a/contracts/src/base/TankGameV2.sol b/contracts/src/base/TankGameV2.sol index 9abb3e9..ffede1b 100644 --- a/contracts/src/base/TankGameV2.sol +++ b/contracts/src/base/TankGameV2.sol @@ -17,24 +17,39 @@ contract TankGame is ITankGame, TankGameV2Storage { using ShootLib for ITankGame.ShootParams; using GiveLib for ITankGame.GiveParams; - constructor(ITankGame.GameSettings memory gs, address _owner) payable { - require(gs.boardSize % 3 == 0, "invalid board size"); + address public factory; + + function initialize(ITankGame.GameSettings memory gs, address _owner) public payable override { + require(gs.boardSize > 0 && gs.boardSize % 3 == 0, "invalid board size"); + require(gs.playerCount > 1, "invalid player count"); + require(gs.epochSeconds > 0, "invalid epoch seconds"); + require(gs.revealWaitBlocks > 0, "invalid reveal wait blocks"); + require(gs.initHearts > 0, "invalid init hearts"); emit GameInit(gs); settings = gs; state = GameState.WaitingForPlayers; board = new HexBoard(gs.boardSize); revealBlock = block.number + gs.revealWaitBlocks; owner = _owner; + factory = msg.sender; _handleDonation(); emit Commit(msg.sender, revealBlock); } + function start() public { + require(playersCount >= settings.playerCount, "not enough players"); + epochStart = _getEpoch(); + state = GameState.Started; + emit GameStarted(); + } + // should do some sort of commit reveal thing for the randomness instead of this // random point thing. function join(ITankGame.JoinParams calldata params) external payable override { // verify join params.verifyJoin(players, settings, playersCount); + // runHooks(IHooks.beforeJoin.selector, playersCount, params); Board.Point memory emptyPoint = params.doJoin(board, tanks, players, settings, stateData); ///// REMOVE THIS playersCount = stateData.playersCount; @@ -44,20 +59,11 @@ contract TankGame is ITankGame, TankGameV2Storage { playersCount = stateData.playersCount; emit PlayerJoined(params.joiner, playersCount, emptyPoint, params.playerName); - // after join - // before join hooks run here - for (uint256 i = 0; i < tankHooks[playersCount].length; i++) { - IHooks hook = tankHooks[playersCount][i]; - bytes4 selector = IHooks(hook).afterJoin(address(this), params, ""); - require(selector == IHooks.afterJoin.selector, "invalid hook"); - } - } + // runHooks(IHooks.afterJoin.selector, playersCount, abi.encode(params)); - function start() external { - require(playersCount >= settings.playerCount, "not enough players"); - epochStart = _getEpoch(); - state = GameState.Started; - emit GameStarted(); + if (settings.autoStart && playersCount == settings.playerCount) { + start(); + } } function move(ITankGame.MoveParams calldata params) @@ -74,24 +80,13 @@ contract TankGame is ITankGame, TankGameV2Storage { // verify move params.verifyMove(board, tanks, tile, apsRequired); - - // before move hooks run here - for (uint256 i = 0; i < tankHooks[tankId].length; i++) { - IHooks hook = tankHooks[tankId][i]; - bytes4 selector = IHooks(hook).beforeMove(address(this), params, ""); - require(selector == IHooks.beforeMove.selector, "invalid hook"); - } + runHooks(IHooks.beforeMove.selector, tankId, abi.encode(params)); // core logic params.doMove(board, tanks, tile, apsRequired); emit Move(tankId, to); - // after ove hooks run here - for (uint256 i = 0; i < tankHooks[tankId].length; i++) { - IHooks hook = tankHooks[tankId][i]; - bytes4 selector = IHooks(hook).afterMove(address(this), params, ""); - require(selector == IHooks.afterMove.selector, "invalid hook"); - } + runHooks(IHooks.afterMove.selector, tankId, abi.encode(params)); } function shoot(ITankGame.ShootParams calldata params) @@ -106,12 +101,7 @@ contract TankGame is ITankGame, TankGameV2Storage { uint256 toId = params.toId; params.verifyShoot(tanks, board); - // before shoot hooks run here - for (uint256 i = 0; i < tankHooks[fromId].length; i++) { - IHooks hook = tankHooks[fromId][i]; - bytes4 selector = IHooks(hook).beforeShoot(address(this), params, ""); - require(selector == IHooks.beforeShoot.selector, "invalid hook"); - } + runHooks(IHooks.beforeShoot.selector, fromId, abi.encode(params)); emit Shoot(fromId, toId); if (params.doShoot(tanks)) { @@ -125,11 +115,7 @@ contract TankGame is ITankGame, TankGameV2Storage { } // after shoot hooks run here - for (uint256 i = 0; i < tankHooks[fromId].length; i++) { - IHooks hook = tankHooks[fromId][i]; - bytes4 selector = hook.afterShoot(address(this), params, ""); - require(selector == IHooks.afterShoot.selector, "invalid hook"); - } + runHooks(IHooks.afterShoot.selector, fromId, abi.encode(params)); } function give(ITankGame.GiveParams calldata params) @@ -142,15 +128,10 @@ contract TankGame is ITankGame, TankGameV2Storage { uint256 fromId = params.fromId; uint256 toId = params.toId; params.verifyGive(tanks, board); - // before give hooks run here - // for (uint256 i = 0; i < tankHooks[fromId].length; i++) { - // IHooks hook = tankHooks[fromId][i]; - // bytes4 selector = IHooks(hook).beforeGive(address(this), params, ""); - // require(selector == IHooks.beforeGive.selector, "invalid hook"); - // } + runHooks(IHooks.beforeGive.selector, fromId, abi.encode(params)); (bool fromDead, bool toRevive) = params.doGive(tanks, stateData, lastDripEpoch, _getEpoch()); - // DELETE THIS LATER + // DELETE THIS LATER when all using library numTanksAlive = stateData.numTanksAlive; aliveTanksIdSum = stateData.aliveTanksIdSum; ////// @@ -162,12 +143,7 @@ contract TankGame is ITankGame, TankGameV2Storage { emit Revive(fromId, toId); } - // after give hooks run here - // for (uint256 i = 0; i < tankHooks[fromId].length; i++) { - // IHooks hook = tankHooks[fromId][i]; - // bytes4 selector = IHooks(hook).afterGive(address(this), params, ""); - // require(selector == IHooks.afterGive.selector, "invalid hook"); - // } + runHooks(IHooks.afterGive.selector, fromId, abi.encode(params)); } function upgrade(ITankGame.UpgradeParams calldata params) @@ -181,21 +157,13 @@ contract TankGame is ITankGame, TankGameV2Storage { uint256 upgradeCost = getUpgradeCost(tankId); require(upgradeCost <= tanks[tankId].aps, "not enough action points"); - // for (uint256 i = 0; i < tankHooks[tankId].length; i++) { - // IHooks hook = tankHooks[tankId][i]; - // bytes4 selector = IHooks(hook).beforeUpgrade(address(this), params, ""); - // require(selector == IHooks.beforeUpgrade.selector, "invalid hook"); - // } + runHooks(IHooks.beforeUpgrade.selector, tankId, abi.encode(params)); tanks[tankId].aps -= upgradeCost; tanks[tankId].range += 1; emit Upgrade(tankId, tanks[tankId].range); - // for (uint256 i = 0; i < tankHooks[tankId].length; i++) { - // IHooks hook = tankHooks[tankId][i]; - // bytes4 selector = IHooks(hook).afterUpgrade(address(this), params, ""); - // require(selector == IHooks.afterUpgrade.selector, "invalid hook"); - // } + runHooks(IHooks.afterUpgrade.selector, tankId, abi.encode(params)); } function vote(ITankGame.VoteParams calldata params) @@ -212,11 +180,7 @@ contract TankGame is ITankGame, TankGameV2Storage { require(!votedThisEpoch[epoch][voter], "already voted"); require(votingClosed[epoch] == false, "voting closed"); - // for (uint256 i = 0; i < tankHooks[voter].length; i++) { - // IHooks hook = tankHooks[voter][i]; - // bytes4 selector = IHooks(hook).beforeVote(address(this), params, ""); - // require(selector == IHooks.beforeVote.selector, "invalid hook"); - // } + runHooks(IHooks.beforeVote.selector, voter, abi.encode(params)); votesPerEpoch[epoch][cursed] += 1; emit Vote(voter, cursed, epoch); @@ -231,11 +195,7 @@ contract TankGame is ITankGame, TankGameV2Storage { } votedThisEpoch[epoch][voter] = true; - // for (uint256 i = 0; i < tankHooks[voter].length; i++) { - // IHooks hook = tankHooks[voter][i]; - // bytes4 selector = IHooks(hook).afterVote(address(this), params, ""); - // require(selector == IHooks.afterVote.selector, "invalid hook"); - // } + runHooks(IHooks.afterVote.selector, voter, abi.encode(params)); } function drip(ITankGame.DripParams calldata params) external override gameStarted isTankAlive(params.tankId) { @@ -245,22 +205,13 @@ contract TankGame is ITankGame, TankGameV2Storage { uint256 lastDrippedEpoch = _getLastDrip(tankId); require(epoch > lastDrippedEpoch, "already dripped"); - // for (uint256 i = 0; i < tankHooks[tankId].length; i++) { - // IHooks hook = tankHooks[tankId][i]; - // bytes4 selector = IHooks(hook).beforeDrip(address(this), params, ""); - // require(selector == IHooks.beforeDrip.selector, "invalid hook"); - // } - + runHooks(IHooks.beforeDrip.selector, tankId, abi.encode(params)); uint256 amount = epoch - lastDrippedEpoch; tanks[tankId].aps += amount; lastDripEpoch[tankId] = epoch; emit Drip(tankId, amount, epoch); - // for (uint256 i = 0; i < tankHooks[tankId].length; i++) { - // IHooks hook = tankHooks[tankId][i]; - // bytes4 selector = IHooks(hook).afterDrip(address(this), params, ""); - // require(selector == IHooks.afterDrip.selector, "invalid hook"); - // } + runHooks(IHooks.afterDrip.selector, tankId, abi.encode(params)); } function claim(ITankGame.ClaimParams calldata params) external override isTankOwnerOrDelegate(params.tankId) { @@ -269,11 +220,7 @@ contract TankGame is ITankGame, TankGameV2Storage { require(state == GameState.Ended, "game not ended"); require(!claimed[tankId], "already claimed"); - // for (uint256 i = 0; i < tankHooks[tankId].length; i++) { - // IHooks hook = tankHooks[tankId][i]; - // bytes4 selector = IHooks(hook).beforeClaim(address(this), params, ""); - // require(selector == IHooks.beforeClaim.selector, "invalid hook"); - // } + runHooks(IHooks.beforeClaim.selector, tankId, abi.encode(params)); claimed[tankId] = true; // loop is a bit gross, could do a mapping of tank to position on podium @@ -292,33 +239,84 @@ contract TankGame is ITankGame, TankGameV2Storage { if (!isOnPodium) { revert("not on podium"); } - - // for (uint256 i = 0; i < tankHooks[tankId].length; i++) { - // IHooks hook = tankHooks[tankId][i]; - // bytes4 selector = IHooks(hook).afterClaim(address(this), params, ""); - // require(selector == IHooks.afterClaim.selector, "invalid hook"); - // } } function delegate(DelegateParams calldata params) public override isTankOwner(params.tankId) { uint256 tankId = params.tankId; - for (uint256 i = 0; i < tankHooks[tankId].length; i++) { - IHooks hook = tankHooks[tankId][i]; - bytes4 selector = IHooks(hook).beforeDelegate(address(this), params, ""); - require(selector == IHooks.beforeDelegate.selector, "invalid hook"); - } + runHooks(IHooks.beforeDelegate.selector, tankId, abi.encode(params)); address delegatee = params.delegatee; delegates[tankId][delegatee] = true; players[delegatee] = tankId; emit Delegate(tankId, delegatee, tanks[tankId].owner); + runHooks(IHooks.afterDelegate.selector, tankId, abi.encode(params)); + } + + function runHooks(bytes4 hookFunction, uint256 tankId, bytes memory params) private { for (uint256 i = 0; i < tankHooks[tankId].length; i++) { IHooks hook = tankHooks[tankId][i]; - bytes4 selector = IHooks(hook).afterDelegate(address(this), params, ""); - require(selector == IHooks.afterDelegate.selector, "invalid hook"); + bytes4 selector; + if (hookFunction == IHooks.beforeDelegate.selector) { + DelegateParams memory decodedParams = abi.decode(params, (DelegateParams)); + selector = IHooks(hook).beforeDelegate(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.afterDelegate.selector) { + DelegateParams memory decodedParams = abi.decode(params, (DelegateParams)); + selector = IHooks(hook).afterDelegate(address(this), decodedParams, ""); + // } else if (hookFunction == IHooks.afterJoin.selector) { + // JoinParams memory decodedParams = abi.decode(params, (JoinParams)); + // selector = IHooks(hook).afterJoin(address(this), decodedParams, ""); + // } else if (hookFunction == IHooks.beforeJoin.selector) { + // JoinParams memory decodedParams = abi.decode(params, (JoinParams)); + // selector = IHooks(hook).beforeJoin(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.beforeMove.selector) { + MoveParams memory decodedParams = abi.decode(params, (MoveParams)); + selector = IHooks(hook).beforeMove(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.afterMove.selector) { + MoveParams memory decodedParams = abi.decode(params, (MoveParams)); + selector = IHooks(hook).afterMove(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.beforeShoot.selector) { + ShootParams memory decodedParams = abi.decode(params, (ShootParams)); + selector = IHooks(hook).beforeShoot(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.afterShoot.selector) { + ShootParams memory decodedParams = abi.decode(params, (ShootParams)); + selector = IHooks(hook).afterShoot(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.beforeGive.selector) { + GiveParams memory decodedParams = abi.decode(params, (GiveParams)); + selector = IHooks(hook).beforeGive(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.afterGive.selector) { + GiveParams memory decodedParams = abi.decode(params, (GiveParams)); + selector = IHooks(hook).afterGive(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.beforeUpgrade.selector) { + UpgradeParams memory decodedParams = abi.decode(params, (UpgradeParams)); + selector = IHooks(hook).beforeUpgrade(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.afterUpgrade.selector) { + UpgradeParams memory decodedParams = abi.decode(params, (UpgradeParams)); + selector = IHooks(hook).afterUpgrade(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.beforeVote.selector) { + VoteParams memory decodedParams = abi.decode(params, (VoteParams)); + selector = IHooks(hook).beforeVote(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.afterVote.selector) { + VoteParams memory decodedParams = abi.decode(params, (VoteParams)); + selector = IHooks(hook).afterVote(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.beforeDrip.selector) { + DripParams memory decodedParams = abi.decode(params, (DripParams)); + selector = IHooks(hook).beforeDrip(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.afterDrip.selector) { + DripParams memory decodedParams = abi.decode(params, (DripParams)); + selector = IHooks(hook).afterDrip(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.beforeClaim.selector) { + ClaimParams memory decodedParams = abi.decode(params, (ClaimParams)); + selector = IHooks(hook).beforeClaim(address(this), decodedParams, ""); + } else if (hookFunction == IHooks.afterClaim.selector) { + ClaimParams memory decodedParams = abi.decode(params, (ClaimParams)); + selector = IHooks(hook).afterClaim(address(this), decodedParams, ""); + } else { + revert("Invalid hook function"); + } + require(selector == hookFunction, "invalid hook"); } } - function reveal() public override { + function reveal() public override gameStarted { require(block.number >= revealBlock, "not ready to reveal"); emit Reveal(msg.sender, revealBlock); // as long as we are within 256 blocks, we can reveal @@ -345,7 +343,7 @@ contract TankGame is ITankGame, TankGameV2Storage { } function forceAddDefaultHook(uint256 tankId, IHooks hooks) external { - require(msg.sender == owner, "not owner"); + require(msg.sender == owner || msg.sender == factory, "not owner"); tankHooks[tankId].push(hooks); emit HooksAdded(tankId, address(hooks)); } @@ -362,7 +360,9 @@ contract TankGame is ITankGame, TankGameV2Storage { emit Death(killer, tankId); if (numTanksAlive == 1) { podium[1] = deadTanks[deadTanks.length - 1]; - podium[2] = deadTanks[deadTanks.length - 2]; + if (deadTanks.length > 1) { + podium[2] = deadTanks[deadTanks.length - 2]; + } // since we know that there is only 1 remaining tank // we can set the first podium position to the sum of all alive tanks // can't trust the `from` because you can kill yourself @@ -379,7 +379,7 @@ contract TankGame is ITankGame, TankGameV2Storage { emit SpawnHeart(msg.sender, randomTile); } - function _getEpoch() internal view returns (uint256) { + function _getEpoch() public view returns (uint256) { return block.timestamp / settings.epochSeconds; } @@ -421,41 +421,10 @@ contract TankGame is ITankGame, TankGameV2Storage { _; } - function isAuth(uint256 tankId, address _owner) public view override returns (bool) { + function isAuth(uint256 tankId, address _owner) public view returns (bool) { return tanks[tankId].owner == _owner || delegates[tankId][_owner]; } - function getState() external view override returns (ITankGame.GameState) { - return state; - } - - function getEpoch() external view override returns (uint256) { - return _getEpoch(); - } - - function getGameEpoch() external view override returns (uint256) { - if (state == GameState.WaitingForPlayers) { - return 0; // this is cuz epoch start would be 0 - } - return _getEpoch() - epochStart; - } - - function getTank(uint256 tankId) external view returns (Tank memory) { - return tanks[tankId]; - } - - function getPlayerCount() external view returns (uint256) { - return playersCount; - } - - function getBoard() external view returns (Board) { - return board; - } - - function getSettings() external view returns (ITankGame.GameSettings memory) { - return settings; - } - function _getLastDrip(uint256 tankId) internal view returns (uint256) { uint256 lastDrippedEpoch = lastDripEpoch[tankId]; return lastDrippedEpoch = lastDrippedEpoch > 0 ? lastDrippedEpoch : epochStart; diff --git a/contracts/src/hooks/Bounty.sol b/contracts/src/hooks/Bounty.sol index c6c7d28..178c880 100644 --- a/contracts/src/hooks/Bounty.sol +++ b/contracts/src/hooks/Bounty.sol @@ -5,10 +5,12 @@ import { DefaultEmptyHooks } from "src/hooks/DefaultEmptyHooks.sol"; import { IHooks } from "src/interfaces/IHooks.sol"; import { ITreaty } from "src/interfaces/ITreaty.sol"; import { ITankGame } from "src/interfaces/ITankGame.sol"; +import { IGameView } from "src/view/IGameView.sol"; contract Bounty is DefaultEmptyHooks { uint256 public ownerTank; - ITankGame public tankGame; + address public tankGame; + IGameView public tankGameView; mapping(uint256 tankId => uint256 bountyId) public bounties; mapping(uint256 bountyId => BountyData bountyData) public bountiesData; mapping(uint256 tankId => uint256 amount) public withdrawals; @@ -20,21 +22,23 @@ contract Bounty is DefaultEmptyHooks { bool closed; } - event BountyHookCreated(uint256 ownerTank, ITankGame tankGame); + event BountyHookCreated(uint256 ownerTank, address tankGame); event BountyPosted(uint256 bountyId, uint256 tankId, uint256 target, uint256 amount); event BountyWon(uint256 bountyId, uint256 winner, uint256 victim, uint256 amount); event Withdraw(uint256 tankId, uint256 amount, address reciever); modifier hasTankAuth(uint256 tankId) { - require(tankGame.isAuth(tankId, msg.sender), "Bounty: not owner"); + // TODO: pass the address, do the casting in the view contract + require(tankGameView.isAuth(tankGame, tankId, msg.sender), "Bounty: not owner"); _; } - constructor(ITankGame _tankGame, uint256 _ownerTank) { + constructor(address _tankGame, address _tankGameView, uint256 _ownerTank) { tankGame = _tankGame; // this should only be deployable by the guy that actually has auth on the tank // require(_tankGame.isAuth(_ownerTank, msg.sender), "Bounty: not owner"); ownerTank = _ownerTank; + tankGameView = IGameView(_tankGameView); emit BountyHookCreated(_ownerTank, tankGame); } @@ -48,7 +52,7 @@ contract Bounty is DefaultEmptyHooks { returns (bytes4) { uint256 targetTank = shootParams.toId; - if (tankGame.getTank(targetTank).hearts <= 0) { + if (tankGameView.getTank(tankGame, targetTank).hearts <= 0) { uint256 bountyId = bounties[targetTank]; BountyData storage bounty = bountiesData[bountyId]; if (bounty.amount > 0 && !bounty.closed) { @@ -64,7 +68,7 @@ contract Bounty is DefaultEmptyHooks { function create(uint256 targetTankId) external payable hasTankAuth(ownerTank) { // if there is already a bounty on this tank, then we need to close it out require(msg.value > 0, "Bounty: no bounty to post"); - require(tankGame.getTank(targetTankId).owner != address(0), "Bounty: tank must exist"); + require(tankGameView.getTank(tankGame, targetTankId).owner != address(0), "Bounty: tank must exist"); bountyCount++; uint256 bountyId = bounties[targetTankId]; BountyData storage existent = bountiesData[bountyId]; @@ -85,7 +89,7 @@ contract Bounty is DefaultEmptyHooks { } function cancel(uint256 bountyId) external hasTankAuth(ownerTank) { - require(tankGame.getState() == ITankGame.GameState.Ended, "Bounty: game not over"); + require(tankGameView.getState(tankGame) == ITankGame.GameState.Ended, "Bounty: game not over"); BountyData memory bounty = bountiesData[bountyId]; bounty.closed = true; diff --git a/contracts/src/hooks/NonAggression.sol b/contracts/src/hooks/NonAggression.sol index 9e2dc47..84a3092 100644 --- a/contracts/src/hooks/NonAggression.sol +++ b/contracts/src/hooks/NonAggression.sol @@ -5,24 +5,28 @@ import { DefaultEmptyHooks } from "src/hooks/DefaultEmptyHooks.sol"; import { IHooks } from "src/interfaces/IHooks.sol"; import { ITreaty } from "src/interfaces/ITreaty.sol"; import { ITankGame } from "src/interfaces/ITankGame.sol"; +import { IGameView } from "src/view/IGameView.sol"; contract NonAggression is DefaultEmptyHooks, ITreaty { uint256 public ownerTank; - ITankGame public tankGame; + address public tankGame; + IGameView public tankGameView; mapping(uint256 tankId => uint256 expiry) public proposals; mapping(uint256 tankId => uint256 expiry) public allies; - event NonAggressionCreated(uint256 ownerTank, ITankGame tankGame); + event NonAggressionCreated(uint256 ownerTank, address tankGame); modifier hasTankAuth(uint256 tankId) { - require(tankGame.isAuth(tankId, msg.sender), "NonAggression: not owner"); + // TODO: pass the address, do the casting in the view contract + require(tankGameView.isAuth(tankGame, tankId, msg.sender), "NonAggression: not owner"); _; } - constructor(ITankGame _tankGame, uint256 _ownerTank) { + constructor(address _tankGame, address _gameView, uint256 _ownerTank) { // this should only be deployable by the guy that actually has auth on the tank // require(_tankGame.isAuth(_ownerTank, msg.sender), "NonAggression: not owner"); tankGame = _tankGame; + tankGameView = IGameView(_gameView); ownerTank = _ownerTank; emit NonAggressionCreated(_ownerTank, tankGame); } @@ -37,7 +41,8 @@ contract NonAggression is DefaultEmptyHooks, ITreaty { override returns (bytes4) { - uint256 epoch = ITankGame(tankGame).getGameEpoch(); + // TODO: pass the address, do the casting in the view contract + uint256 epoch = tankGameView.getGameEpoch(tankGame); require(epoch > allies[shootParams.toId], "NonAggression: cannot shoot ally"); return IHooks.beforeShoot.selector; } @@ -47,7 +52,8 @@ contract NonAggression is DefaultEmptyHooks, ITreaty { uint256 externalAlliance = NonAggression(treaty).allies(ownerTank); uint256 internalProposal = proposals[tankId]; uint256 internalAlliance = allies[tankId]; - uint256 epoch = ITankGame(tankGame).getGameEpoch(); + // TODO: pass the address, do the casting in the view contract + uint256 epoch = tankGameView.getGameEpoch(tankGame); require(epoch < externalProposal, "NonAggression: proposal expired"); if (internalProposal == externalProposal) { // this is the loop back @@ -56,7 +62,8 @@ contract NonAggression is DefaultEmptyHooks, ITreaty { } else { // this is the first loop require(internalProposal < externalProposal, "NonAggression: proposal expired"); - require(tankGame.isAuth(ownerTank, msg.sender), "NonAggression: not owner"); + // TODO: pass the address, do the casting in the view contract + require(tankGameView.isAuth(tankGame, ownerTank, msg.sender), "NonAggression: not owner"); } require( !_areAllies(externalProposal, internalProposal, externalAlliance, internalAlliance), @@ -88,7 +95,8 @@ contract NonAggression is DefaultEmptyHooks, ITreaty { } function propose(uint256 tankId, uint256 expiry) public override hasTankAuth(ownerTank) { - uint256 epoch = ITankGame(tankGame).getGameEpoch(); + // TODO: pass the address, do the casting in the view contract + uint256 epoch = tankGameView.getGameEpoch(tankGame); require(epoch < expiry, "NonAggression: past expiry"); proposals[tankId] = expiry; emit ProposedTreaty(ownerTank, tankId, address(this), expiry); diff --git a/contracts/src/interfaces/ITankGame.sol b/contracts/src/interfaces/ITankGame.sol index d983c62..5653263 100644 --- a/contracts/src/interfaces/ITankGame.sol +++ b/contracts/src/interfaces/ITankGame.sol @@ -36,6 +36,7 @@ interface ITankGame { uint256 epochSeconds; uint256 buyInMinimum; uint256 revealWaitBlocks; + bool autoStart; bytes32 root; } @@ -132,23 +133,7 @@ interface ITankGame { function addHooks(uint256 tankId, IHooks hooks) external; - // view functions + function forceAddDefaultHook(uint256 tankId, IHooks hooks) external; - function getPlayerCount() external view returns (uint256); - - function getTank(uint256 tankId) external view returns (Tank memory); - - function getBoard() external view returns (Board); - - function getSettings() external view returns (GameSettings memory); - - function getLastDrip(uint256 tankId) external view returns (uint256); - - function isAuth(uint256 tankId, address owner) external view returns (bool); - - function getState() external view returns (ITankGame.GameState); - - function getEpoch() external view returns (uint256); - - function getGameEpoch() external view returns (uint256); + function initialize(GameSettings calldata settings, address _owner) external payable; } diff --git a/contracts/src/libraries/Move.sol b/contracts/src/libraries/Move.sol index 91f777e..4e00d2d 100644 --- a/contracts/src/libraries/Move.sol +++ b/contracts/src/libraries/Move.sol @@ -12,7 +12,7 @@ library MoveLib { Board.Tile memory tile, uint256 apsRequired ) - internal + external view { uint256 tankId = params.tankId; @@ -29,7 +29,7 @@ library MoveLib { Board.Tile memory tile, uint256 apsRequired ) - internal + external { uint256 tankId = params.tankId; Board.Point memory to = params.to; diff --git a/contracts/src/view/GameView.sol b/contracts/src/view/GameView.sol index 62d2999..2adc471 100644 --- a/contracts/src/view/GameView.sol +++ b/contracts/src/view/GameView.sol @@ -3,43 +3,26 @@ pragma solidity ^0.8.19; import { Board } from "src/interfaces/IBoard.sol"; import { ITankGame } from "src/interfaces/ITankGame.sol"; +import { TankGame } from "src/base/TankGameV2.sol"; +import { IGameView } from "src/view/IGameView.sol"; -contract GameView { - ITankGame public game; - - constructor(ITankGame _game) { - game = _game; - } - - struct TankLocation { - ITankGame.Tank tank; - Board.Point position; - uint256 tankId; - } - - struct HeartLocation { - Board.Point position; - uint256 numHearts; - } - - function getAllTanks() external view returns (TankLocation[] memory) { - TankLocation[] memory tanksWithLocation = new TankLocation[]( - game.getPlayerCount() - ); - for (uint256 i = 1; i <= game.getPlayerCount(); i++) { - Board.Point memory position = game.getBoard().getTankPosition(i); - ITankGame.Tank memory tank = game.getTank(i); +contract GameView is IGameView { + function getAllTanks(address game) external view override returns (TankLocation[] memory) { + TankLocation[] memory tanksWithLocation = new TankLocation[](getPlayerCount(game)); + for (uint256 i = 1; i <= getPlayerCount(game); i++) { + Board.Point memory position = getBoard(game).getTankPosition(i); + ITankGame.Tank memory tank = getTank(game, i); tanksWithLocation[i - 1] = TankLocation(tank, position, i); } return tanksWithLocation; } // return the list of heart positions. - function getAllHearts() external view returns (HeartLocation[] memory) { + function getAllHearts(address game) external view override returns (HeartLocation[] memory) { // iterate the whole board, better to do this here instead of in the frontend // 1 call instead of N calls uint256 tilesWithHearts = 0; - uint256 boardSize = game.getSettings().boardSize; + uint256 boardSize = getSettings(game).boardSize; HeartLocation[] memory hearts = new HeartLocation[](boardSize * boardSize); for (uint256 q = 0; q <= 2 * boardSize + 1; q++) { // TODO: a bit gnarlly that we are duplicating this code here. @@ -47,7 +30,7 @@ contract GameView { uint256 maxR = 3 * boardSize - q; for (uint256 r = minR; r < maxR; r++) { uint256 s = 3 * boardSize - q - r; - uint256 numHearts = game.getBoard().getHeartAtPosition(Board.Point(q, r, s)); + uint256 numHearts = getBoard(game).getHeartAtPosition(Board.Point(q, r, s)); if (numHearts > 0) { HeartLocation memory hl = HeartLocation(Board.Point(q, r, s), numHearts); hearts[tilesWithHearts] = hl; @@ -64,4 +47,86 @@ contract GameView { return hls; } + + function isAuth(address gameAddress, uint256 tankId, address _owner) public view override returns (bool) { + TankGame tankGame = TankGame(gameAddress); + return getTank(gameAddress, tankId).owner == _owner || tankGame.delegates(tankId, _owner); + } + + function getState(address gameAddress) public view override returns (ITankGame.GameState) { + TankGame game = TankGame(gameAddress); + return game.state(); + } + + function getEpoch(address gameAddress) public view override returns (uint256) { + TankGame game = TankGame(gameAddress); + return game._getEpoch(); + } + + function getGameEpoch(address gameAddress) public view override returns (uint256) { + TankGame tankGame = TankGame(gameAddress); + if (getState(gameAddress) == ITankGame.GameState.WaitingForPlayers) { + return 0; // this is cuz epoch start would be 0 + } + return tankGame._getEpoch() - tankGame.epochStart(); + } + + function getTank(address gameAddress, uint256 tankId) public view returns (ITankGame.Tank memory) { + TankGame game = TankGame(gameAddress); + (address owner, uint256 hearts, uint256 aps, uint256 range) = game.tanks(tankId); + return ITankGame.Tank({ owner: owner, hearts: hearts, aps: aps, range: range }); + } + + function getPlayerCount(address gameAddress) public view returns (uint256) { + TankGame game = TankGame(gameAddress); + return game.playersCount(); + } + + function getBoard(address gameAddress) public view returns (Board) { + TankGame game = TankGame(gameAddress); + return game.board(); + } + + function getSettings(address gameAddress) public view returns (ITankGame.GameSettings memory) { + TankGame game = TankGame(gameAddress); + ( + uint256 playerCount, + uint256 boardSize, + uint256 initAPs, + uint256 initHearts, + uint256 initShootRange, + uint256 epochSeconds, + uint256 buyInMinimum, + uint256 revealWaitBlocks, + bool autoStart, + bytes32 root + ) = game.settings(); + return ITankGame.GameSettings({ + playerCount: playerCount, + boardSize: boardSize, + initAPs: initAPs, + initHearts: initHearts, + initShootRange: initShootRange, + epochSeconds: epochSeconds, + buyInMinimum: buyInMinimum, + revealWaitBlocks: revealWaitBlocks, + autoStart: autoStart, + root: root + }); + } + + function _getLastDrip(address gameAddress, uint256 tankId) internal view returns (uint256) { + TankGame game = TankGame(gameAddress); + uint256 lastDrippedEpoch = game.lastDripEpoch(tankId); + return lastDrippedEpoch = lastDrippedEpoch > 0 ? lastDrippedEpoch : game.epochStart(); + } + + function getLastDrip(address gameAddress, uint256 tankId) public view returns (uint256) { + return _getLastDrip(gameAddress, tankId); + } + + function getUpgradeCost(address gameAddress, uint256 tankId) public view returns (uint256) { + // 12, 18, 24, 30, 36, 42, 48, 54, 60 + return getBoard(gameAddress).getPerimeterForRadius(getTank(gameAddress, tankId).range) - 6; + } } diff --git a/contracts/src/view/IGameView.sol b/contracts/src/view/IGameView.sol new file mode 100644 index 0000000..6aeee33 --- /dev/null +++ b/contracts/src/view/IGameView.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import { Board } from "src/interfaces/IBoard.sol"; +import { IHooks } from "src/interfaces/IHooks.sol"; +import { ITankGame } from "src/interfaces/ITankGame.sol"; + +interface IGameView { + struct TankLocation { + ITankGame.Tank tank; + Board.Point position; + uint256 tankId; + } + + struct HeartLocation { + Board.Point position; + uint256 numHearts; + } + + function getPlayerCount(address game) external view returns (uint256); + + function getTank(address game, uint256 tankId) external view returns (ITankGame.Tank memory); + + function getBoard(address game) external view returns (Board); + + function getSettings(address game) external view returns (ITankGame.GameSettings memory); + + function getLastDrip(address game, uint256 tankId) external view returns (uint256); + + function isAuth(address game, uint256 tankId, address owner) external view returns (bool); + + function getState(address game) external view returns (ITankGame.GameState); + + function getEpoch(address game) external view returns (uint256); + + function getGameEpoch(address game) external view returns (uint256); + + function getAllHearts(address game) external view returns (HeartLocation[] memory); + + function getAllTanks(address game) external view returns (TankLocation[] memory); +} diff --git a/contracts/test/TankGameFactory.t.sol b/contracts/test/TankGameFactory.t.sol index e303d6a..71b90d6 100644 --- a/contracts/test/TankGameFactory.t.sol +++ b/contracts/test/TankGameFactory.t.sol @@ -1,49 +1,55 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -// import { Test } from "forge-std/Test.sol"; -// import { TankGameFactory } from "src/base/TankGameFactory.sol"; -// import { ITankGame } from "src/interfaces/ITankGame.sol"; -// import { TankGame } from "src/base/TankGameV2.sol"; +import { Test } from "forge-std/Test.sol"; +import { TankGameFactory } from "src/base/TankGameFactory.sol"; +import { ITankGame } from "src/interfaces/ITankGame.sol"; +import { TankGame } from "src/base/TankGameV2.sol"; +import { HookFactory } from "src/base/HookFactory.sol"; +import { GameView } from "src/view/GameView.sol"; -// contract TankGameFactoryTest is Test { -// TankGameFactory public factory; +contract TankGameFactoryTest is Test { + TankGameFactory public factory; + TankGame gameImpl; -// function setUp() public { -// factory = new TankGameFactory(); -// } + function setUp() public { + GameView gameView = new GameView(); + HookFactory hookFactory = new HookFactory(); + factory = new TankGameFactory(gameView, hookFactory); + gameImpl = new TankGame(); + } -// function test_factory_createGame() public { -// ITankGame.GameSettings memory gs = ITankGame.GameSettings({ -// playerCount: 8, -// boardSize: 12, -// initAPs: 3, -// initHearts: 3, -// initShootRange: 3, -// epochSeconds: 4 hours, -// buyInMinimum: 0, -// revealWaitBlocks: 1000, -// root: bytes32(0) -// }); -// TankGame gameAddress = factory.createGame(gs, msg.sender); -// assertTrue(address(gameAddress) != address(0), "game address not zero"); -// ITankGame.GameState state = gameAddress.state(); -// assertTrue(state == ITankGame.GameState.WaitingForPlayers, "game state is waiting"); -// } + function test_factory_createGame() public { + ITankGame.GameSettings memory gs = ITankGame.GameSettings({ + playerCount: 8, + boardSize: 12, + initAPs: 3, + initHearts: 3, + initShootRange: 3, + epochSeconds: 4 hours, + buyInMinimum: 0, + revealWaitBlocks: 1000, + autoStart: false, + root: bytes32(0) + }); + ITankGame gameAddress = factory.createGame(address(gameImpl), gs, msg.sender); + assertTrue(address(gameAddress) != address(0), "game address not zero"); + } -// function test_invalidBoardSize() public { -// ITankGame.GameSettings memory gs = ITankGame.GameSettings({ -// playerCount: 8, -// boardSize: 10, -// initAPs: 3, -// initHearts: 3, -// initShootRange: 3, -// epochSeconds: 4 hours, -// buyInMinimum: 0, -// revealWaitBlocks: 1000, -// root: bytes32(0) -// }); -// vm.expectRevert("invalid board size"); -// factory.createGame(gs, msg.sender); -// } -// } + function test_invalidBoardSize() public { + ITankGame.GameSettings memory gs = ITankGame.GameSettings({ + playerCount: 8, + boardSize: 10, + initAPs: 3, + initHearts: 3, + initShootRange: 3, + epochSeconds: 4 hours, + buyInMinimum: 0, + revealWaitBlocks: 1000, + autoStart: false, + root: bytes32(0) + }); + vm.expectRevert("invalid board size"); + factory.createGame(address(gameImpl), gs, msg.sender); + } +} diff --git a/contracts/test/TankGameV2.t.sol b/contracts/test/TankGameV2.t.sol index 1b67480..065fd16 100644 --- a/contracts/test/TankGameV2.t.sol +++ b/contracts/test/TankGameV2.t.sol @@ -6,6 +6,7 @@ import "forge-std/console.sol"; import { Vm } from "forge-std/Vm.sol"; import { TankGame } from "src/base/TankGameV2.sol"; import { ITankGame } from "src/interfaces/ITankGame.sol"; +import { GameView } from "src/view/GameView.sol"; import { Strings } from "@openzeppelin/contracts/utils/Strings.sol"; import { Board } from "src/interfaces/IBoard.sol"; import { HexBoard } from "src/base/HexBoard.sol"; @@ -14,6 +15,7 @@ import { Bounty } from "src/hooks/Bounty.sol"; contract TankTest is Test { TankGame public tankGame; + GameView public tankGameView; TankGame public tankGamePrivate; function setUp() public { @@ -26,11 +28,15 @@ contract TankTest is Test { epochSeconds: 4 hours, buyInMinimum: 1, revealWaitBlocks: 1000, + autoStart: false, root: bytes32(0) }); - tankGame = new TankGame{value: 10 ether}(gs, msg.sender); + tankGame = new TankGame(); + tankGameView = new GameView(); + tankGame.initialize{ value: 10 ether }(gs, msg.sender); gs.root = "0xdeadbeef"; - tankGamePrivate = new TankGame{value: 10 ether}(gs, msg.sender); + tankGamePrivate = new TankGame(); + tankGamePrivate.initialize{ value: 10 ether }(gs, msg.sender); } function initGame(uint160 offset) public { @@ -111,14 +117,12 @@ contract TankTest is Test { initGame(); Board.Point memory p0 = tankGame.board().getTankPosition(1); vm.mockCall( - address(tankGame.getBoard()), - abi.encodeWithSelector(HexBoard.getDistanceTankToPoint.selector), - abi.encode(1) + address(tankGame.board()), abi.encodeWithSelector(HexBoard.getDistanceTankToPoint.selector), abi.encode(1) ); - uint256 apsBefore = tankGame.getTank(1).aps; + uint256 apsBefore = tankGameView.getTank(address(address(tankGame)), 1).aps; vm.prank(address(1)); tankGame.move(ITankGame.MoveParams(1, Board.Point(p0.x + 1, p0.y - 1, p0.z))); - uint256 apsAfter = tankGame.getTank(1).aps; + uint256 apsAfter = tankGameView.getTank(address(address(tankGame)), 1).aps; Board.Point memory p = tankGame.board().getTankPosition(1); assertEq(p.x, p0.x + 1, "wrong x coord"); assertEq(p.y, p0.y - 1, "wrong y coord"); @@ -139,12 +143,12 @@ contract TankTest is Test { function testMoveTooFar() public { initGame(); Board.Point memory to = Board.Point({ - x: tankGame.getBoard().boardSize(), - y: tankGame.getBoard().boardSize(), - z: tankGame.getBoard().boardSize() + x: tankGameView.getBoard(address(tankGame)).boardSize(), + y: tankGameView.getBoard(address(tankGame)).boardSize(), + z: tankGameView.getBoard(address(tankGame)).boardSize() }); vm.mockCall( - address(tankGame.getBoard()), + address(tankGameView.getBoard(address(tankGame))), abi.encodeWithSelector(HexBoard.getDistanceTankToPoint.selector), abi.encode(4) ); @@ -155,9 +159,9 @@ contract TankTest is Test { function testMoveToOccupied() public { initGame(); - Board.Point memory p0 = tankGame.board().getTankPosition(1); + Board.Point memory p0 = tankGameView.getBoard(address(tankGame)).getTankPosition(1); vm.mockCall( - address(tankGame.getBoard()), + address(tankGameView.getBoard(address(tankGame))), abi.encodeWithSelector(HexBoard.getTile.selector), abi.encode(Board.Tile({ tankId: 1, hearts: 0 })) ); @@ -170,12 +174,14 @@ contract TankTest is Test { function testShootNormal() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.prank(address(8)); tankGame.shoot(ITankGame.ShootParams(8, 6, 1)); - uint256 apsAfter = tankGame.getTank(8).aps; - uint256 hearts = tankGame.getTank(6).hearts; + uint256 apsAfter = tankGameView.getTank(address(address(tankGame)), 8).aps; + uint256 hearts = tankGameView.getTank(address(address(tankGame)), 6).hearts; assertEq(apsAfter, 2); assertEq(hearts, 2); } @@ -183,7 +189,9 @@ contract TankTest is Test { function testShootOutOfRange() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(4) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(4) ); vm.prank(address(1)); vm.expectRevert("target out of range"); @@ -193,7 +201,9 @@ contract TankTest is Test { function testShootNotEnoughAP() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.prank(address(3)); vm.expectRevert("not enough action points"); @@ -203,7 +213,9 @@ contract TankTest is Test { function testShootDeadTank() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.prank(address(5)); tankGame.shoot(ITankGame.ShootParams(5, 3, 3)); @@ -215,9 +227,11 @@ contract TankTest is Test { function testShootTooMany() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); - uint256 epochTime = tankGame.getSettings().epochSeconds; + uint256 epochTime = tankGameView.getSettings(address(tankGame)).epochSeconds; skip(epochTime); vm.startPrank(address(5)); tankGame.drip(ITankGame.DripParams(5)); @@ -228,46 +242,62 @@ contract TankTest is Test { function testShootAndKill() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); - uint256 epochTime = tankGame.getSettings().epochSeconds; + uint256 epochTime = tankGameView.getSettings(address(tankGame)).epochSeconds; skip(epochTime + 100 * epochTime); vm.startPrank(address(3)); tankGame.drip(ITankGame.DripParams(3)); vm.startPrank(address(5)); tankGame.drip(ITankGame.DripParams(5)); uint256 sum = tankGame.aliveTanksIdSum(); - uint256 apsBefore5 = tankGame.getTank(5).aps; - uint256 apsBefore3 = tankGame.getTank(3).aps; + uint256 apsBefore5 = tankGameView.getTank(address(address(tankGame)), 5).aps; + uint256 apsBefore3 = tankGameView.getTank(address(address(tankGame)), 3).aps; tankGame.shoot(ITankGame.ShootParams(5, 3, 3)); - assertEq(tankGame.numTanksAlive(), tankGame.getSettings().playerCount - 1, "wrong number of tanks alive"); + assertEq( + tankGame.numTanksAlive(), + tankGameView.getSettings(address(tankGame)).playerCount - 1, + "wrong number of tanks alive" + ); assertEq(tankGame.aliveTanksIdSum(), sum - 3, "wrong sum after kill"); - assertEq(tankGame.getTank(5).aps - apsBefore5, 17); // gained 20% - 3 - assertEq(apsBefore3 - tankGame.getTank(3).aps, 20); // lost 20% + assertEq(tankGameView.getTank(address(address(tankGame)), 5).aps - apsBefore5, 17); // gained 20% - 3 + assertEq(apsBefore3 - tankGameView.getTank(address(address(tankGame)), 3).aps, 20); // lost 20% } function testShootAndRevive() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); - uint256 epochTime = tankGame.getSettings().epochSeconds; + uint256 epochTime = tankGameView.getSettings(address(tankGame)).epochSeconds; vm.startPrank(address(5)); skip(epochTime + 1); uint256 sum = tankGame.aliveTanksIdSum(); tankGame.shoot(ITankGame.ShootParams(5, 3, 3)); - assertEq(tankGame.numTanksAlive(), tankGame.getSettings().playerCount - 1, "wrong number of tanks alive"); + assertEq( + tankGame.numTanksAlive(), + tankGameView.getSettings(address(tankGame)).playerCount - 1, + "wrong number of tanks alive" + ); assertEq(tankGame.aliveTanksIdSum(), sum - 3, "wrong sum after kill"); tankGame.give(ITankGame.GiveParams(5, 3, 1, 0)); - assertEq(tankGame.numTanksAlive(), tankGame.getSettings().playerCount, "wrong number of tanks alive"); + assertEq( + tankGame.numTanksAlive(), + tankGameView.getSettings(address(tankGame)).playerCount, + "wrong number of tanks alive" + ); assertEq(tankGame.aliveTanksIdSum(), sum, "wrong sum after revive"); - uint256 from = tankGame.getTank(5).hearts; - uint256 to = tankGame.getTank(3).hearts; + uint256 from = tankGameView.getTank(address(address(tankGame)), 5).hearts; + uint256 to = tankGameView.getTank(address(address(tankGame)), 3).hearts; tankGame.drip(ITankGame.DripParams(5)); vm.startPrank(address(3)); vm.expectRevert("already dripped"); tankGame.drip(ITankGame.DripParams(3)); - uint256 apsAlive = tankGame.getTank(5).aps; + uint256 apsAlive = tankGameView.getTank(address(address(tankGame)), 5).aps; assertEq(apsAlive, 1); assertEq(from, 2); assertEq(to, 1); @@ -276,9 +306,11 @@ contract TankTest is Test { function testGiveLastHeart() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); - uint256 epochTime = tankGame.getSettings().epochSeconds; + uint256 epochTime = tankGameView.getSettings(address(tankGame)).epochSeconds; skip(epochTime * 20); vm.startPrank(address(5)); @@ -287,7 +319,11 @@ contract TankTest is Test { vm.startPrank(address(3)); tankGame.shoot(ITankGame.ShootParams(3, 5, 1)); tankGame.give(ITankGame.GiveParams(3, 5, 1, 0)); - assertEq(tankGame.numTanksAlive(), tankGame.getSettings().playerCount - 1, "wrong number of tanks alive"); + assertEq( + tankGame.numTanksAlive(), + tankGameView.getSettings(address(tankGame)).playerCount - 1, + "wrong number of tanks alive" + ); } function testShootNonexistentTank() public { @@ -302,33 +338,39 @@ contract TankTest is Test { function testGiveHeart() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.prank(address(8)); tankGame.give(ITankGame.GiveParams(8, 6, 1, 0)); - uint256 hearts = tankGame.getTank(8).hearts; + uint256 hearts = tankGameView.getTank(address(address(tankGame)), 8).hearts; assertEq(hearts, 2); - uint256 giverHearts = tankGame.getTank(6).hearts; + uint256 giverHearts = tankGameView.getTank(address(address(tankGame)), 6).hearts; assertEq(giverHearts, 4); } function testGiveAps() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.prank(address(8)); tankGame.give(ITankGame.GiveParams(8, 6, 0, 1)); - uint256 ap = tankGame.getTank(8).aps; + uint256 ap = tankGameView.getTank(address(address(tankGame)), 8).aps; assertEq(ap, 2); - uint256 aps = tankGame.getTank(6).aps; + uint256 aps = tankGameView.getTank(address(address(tankGame)), 6).aps; assertEq(aps, 4); } function testGiveOutOfRange() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(4) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(4) ); vm.prank(address(1)); vm.expectRevert("target out of range"); @@ -338,7 +380,9 @@ contract TankTest is Test { function testGiveTooMuchAp() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.prank(address(8)); vm.expectRevert("not enough action points"); @@ -348,7 +392,9 @@ contract TankTest is Test { function testGiveTooMuchHearts() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.prank(address(8)); vm.expectRevert("not enough hearts"); @@ -358,14 +404,14 @@ contract TankTest is Test { /// upgrade tests /// function testUpgrade() public { initGame(); - uint256 epochTime = tankGame.getSettings().epochSeconds; - uint256 apsBefore = tankGame.getTank(1).aps; + uint256 epochTime = tankGameView.getSettings(address(tankGame)).epochSeconds; + uint256 apsBefore = tankGameView.getTank(address(address(tankGame)), 1).aps; skip((12 - apsBefore) * epochTime); vm.startPrank(address(1)); tankGame.drip(ITankGame.DripParams(1)); tankGame.upgrade(ITankGame.UpgradeParams(1)); - uint256 apsAfter = tankGame.getTank(1).aps; - uint256 range = tankGame.getTank(1).range; + uint256 apsAfter = tankGameView.getTank(address(address(tankGame)), 1).aps; + uint256 range = tankGameView.getTank(address(address(tankGame)), 1).range; assertEq(range, 4); assertEq(apsAfter, 0); } @@ -373,7 +419,7 @@ contract TankTest is Test { function testUpgradeNotEnoughAps() public { initGame(); // upgrade cose is 12 - uint256 epochTime = tankGame.getSettings().epochSeconds; + uint256 epochTime = tankGameView.getSettings(address(tankGame)).epochSeconds; skip(12 * epochTime); vm.startPrank(address(1)); tankGame.drip(ITankGame.DripParams(1)); @@ -392,11 +438,11 @@ contract TankTest is Test { /// drip tests /// function testDrip() public { initGame(); - uint256 epochtime = tankGame.getSettings().epochSeconds; + uint256 epochtime = tankGameView.getSettings(address(tankGame)).epochSeconds; skip(epochtime); vm.prank(address(1)); tankGame.drip(ITankGame.DripParams(1)); - uint256 aps = tankGame.getTank(1).aps; + uint256 aps = tankGameView.getTank(address(address(tankGame)), 1).aps; assertEq(aps, 4); } @@ -409,7 +455,7 @@ contract TankTest is Test { function testDripInSameEpoch() public { initGame(); - uint256 epochtime = tankGame.getSettings().epochSeconds; + uint256 epochtime = tankGameView.getSettings(address(tankGame)).epochSeconds; skip(epochtime); vm.prank(address(1)); tankGame.drip(ITankGame.DripParams(1)); @@ -477,11 +523,13 @@ contract TankTest is Test { // importantly this is next n where killer needs to be at the front function killNPlayers(uint256 killerId, uint160 addressOffset, uint256 n) public { vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); - uint256 epochTime = tankGame.getSettings().epochSeconds; - uint256 numplayers = tankGame.getSettings().playerCount; - uint256 initHearts = tankGame.getSettings().initHearts; + uint256 epochTime = tankGameView.getSettings(address(tankGame)).epochSeconds; + uint256 numplayers = tankGameView.getSettings(address(tankGame)).playerCount; + uint256 initHearts = tankGameView.getSettings(address(tankGame)).initHearts; skip(epochTime * numplayers * initHearts); vm.prank(address(uint160(killerId + addressOffset))); tankGame.drip(ITankGame.DripParams(killerId)); @@ -489,7 +537,7 @@ contract TankTest is Test { vm.prank(address(uint160(killerId + addressOffset))); tankGame.shoot(ITankGame.ShootParams(killerId, i, 3)); } - assertTrue(tankGame.state() == ITankGame.GameState.Ended, "game should be over"); + assertTrue(tankGameView.getState(address(tankGame)) == ITankGame.GameState.Ended, "game should be over"); } function testClaim() public { @@ -498,7 +546,7 @@ contract TankTest is Test { killNPlayers(1, precompileOffset, 8); // number 1 wins, second is 7 and third is 8 - assertTrue(tankGame.state() == ITankGame.GameState.Ended, "game not ended"); + assertTrue(tankGameView.getState(address(tankGame)) == ITankGame.GameState.Ended, "game not ended"); assertEq(tankGame.podium(0), 1, "first place is wrong"); assertEq(tankGame.podium(1), 8, "second place is wrong"); assertEq(tankGame.podium(2), 7, "third place is wrong"); @@ -540,7 +588,7 @@ contract TankTest is Test { uint256 prizeAmountBefore = tankGame.prizePool(); hoax(address(1), 1 ether); tankGame.donate{ value: 1 ether }(); - assertEq(address(tankGame).balance - prizeAmountBefore, 1 ether); + assertEq(address(address(tankGame)).balance - prizeAmountBefore, 1 ether); assertEq(tankGame.prizePool() - prizeAmountBefore, 1 ether); } @@ -548,16 +596,18 @@ contract TankTest is Test { function testDelegate() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.prank(address(1)); tankGame.delegate(ITankGame.DelegateParams(1, address(69))); vm.startPrank(address(69)); - uint256 epochTime = tankGame.getSettings().epochSeconds; + uint256 epochTime = tankGameView.getSettings(address(tankGame)).epochSeconds; skip(100 * epochTime); // can do all the actions tankGame.drip(ITankGame.DripParams(1)); - tankGame.move(ITankGame.MoveParams(1, tankGame.getBoard().getEmptyTile(1))); + tankGame.move(ITankGame.MoveParams(1, tankGameView.getBoard(address(tankGame)).getEmptyTile(1))); tankGame.shoot(ITankGame.ShootParams(1, 2, 1)); tankGame.give(ITankGame.GiveParams(1, 2, 1, 1)); @@ -576,7 +626,9 @@ contract TankTest is Test { function testVote() public { initGame(); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.startPrank(address(1)); tankGame.shoot(ITankGame.ShootParams(1, 2, 3)); @@ -589,11 +641,11 @@ contract TankTest is Test { vm.expectRevert("tank is alive"); tankGame.vote(ITankGame.VoteParams(3, 1)); - uint256 epochBefore = tankGame.getLastDrip(1); + uint256 epochBefore = tankGameView.getLastDrip(address(address(tankGame)), 1); vm.startPrank(address(2)); vm.recordLogs(); tankGame.vote(ITankGame.VoteParams(2, 1)); - uint256 epochAfter = tankGame.getLastDrip(1); + uint256 epochAfter = tankGameView.getLastDrip(address(address(tankGame)), 1); assertEq(epochBefore + 1, epochAfter, "curse should push forward drip epoch"); Vm.Log[] memory entries = vm.getRecordedLogs(); assertEq(entries.length, 2); @@ -604,7 +656,7 @@ contract TankTest is Test { tankGame.vote(ITankGame.VoteParams(2, 3)); // vm.prank(address(1)); - uint256 epochTime = tankGame.getSettings().epochSeconds; + uint256 epochTime = tankGameView.getSettings(address(tankGame)).epochSeconds; skip(epochTime + 1); vm.startPrank(address(4)); tankGame.shoot(ITankGame.ShootParams(4, 6, 3)); @@ -612,9 +664,9 @@ contract TankTest is Test { tankGame.vote(ITankGame.VoteParams(2, 7)); vm.startPrank(address(6)); - uint256 apsBefore = tankGame.getTank(7).aps; + uint256 apsBefore = tankGameView.getTank(address(address(tankGame)), 7).aps; tankGame.vote(ITankGame.VoteParams(6, 7)); - uint256 apsAfter = tankGame.getTank(7).aps; + uint256 apsAfter = tankGameView.getTank(address(address(tankGame)), 7).aps; assertEq(apsBefore - 1, apsAfter, "vote should remove aps"); } @@ -623,7 +675,7 @@ contract TankTest is Test { initGame(); vm.startPrank(address(1)); - NonAggression nonAggro = new NonAggression(ITankGame(tankGame), 1); + NonAggression nonAggro = new NonAggression(address(address(tankGame)), address(tankGameView), 1); vm.label(address(nonAggro), "nonAggro"); tankGame.addHooks(1, nonAggro); @@ -632,7 +684,7 @@ contract TankTest is Test { tankGame.addHooks(1, nonAggro); vm.startPrank(address(2)); - NonAggression nonAggro2 = new NonAggression(ITankGame(tankGame), 2); + NonAggression nonAggro2 = new NonAggression(address(address(tankGame)), address(tankGameView), 2); vm.label(address(nonAggro2), "nonAggro2"); tankGame.addHooks(2, nonAggro2); @@ -642,7 +694,7 @@ contract TankTest is Test { // player 1 can propose a treaty vm.startPrank(address(1)); - nonAggro.propose(2, tankGame.getGameEpoch() + 10); + nonAggro.propose(2, tankGameView.getGameEpoch(address(tankGame)) + 10); vm.startPrank(address(1)); vm.expectRevert("NonAggression: not owner"); @@ -662,7 +714,9 @@ contract TankTest is Test { // assertEq(entries[0].topics[0], keccak256("AcceptedTreaty(uint256,uint256,address,address,uint256)")); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.startPrank(address(1)); vm.expectRevert("NonAggression: cannot shoot ally"); @@ -671,7 +725,7 @@ contract TankTest is Test { vm.expectRevert("NonAggression: cannot shoot ally"); tankGame.shoot(ITankGame.ShootParams(2, 1, 3)); - vm.warp(block.timestamp + 11 * tankGame.getSettings().epochSeconds); + vm.warp(block.timestamp + 11 * tankGameView.getSettings(address(tankGame)).epochSeconds); vm.startPrank(address(1)); tankGame.shoot(ITankGame.ShootParams(1, 2, 3)); @@ -682,10 +736,10 @@ contract TankTest is Test { // vm.prank(address(2)); // vm.expectRevert("Bounty: not owner"); - // new Bounty(ITankGame(tankGame), 1); + // new Bounty(ITankGame(address(tankGame)), 1); vm.startPrank(address(1)); - Bounty bounty = new Bounty(ITankGame(tankGame), 1); + Bounty bounty = new Bounty(address(address(tankGame)), address(tankGameView), 1); // you can add your own bounty, idgaf tankGame.addHooks(1, bounty); @@ -704,7 +758,9 @@ contract TankTest is Test { bounty.create{ value: 100 }(1); vm.mockCall( - address(tankGame.getBoard()), abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), abi.encode(1) + address(tankGameView.getBoard(address(tankGame))), + abi.encodeWithSelector(HexBoard.getDistanceTanks.selector), + abi.encode(1) ); vm.startPrank(address(3)); diff --git a/contracts/test/view/TankGameView.t.sol b/contracts/test/view/TankGameView.t.sol index c1a1505..f116d42 100644 --- a/contracts/test/view/TankGameView.t.sol +++ b/contracts/test/view/TankGameView.t.sol @@ -12,30 +12,34 @@ contract TankGameFactoryTest is Test { TankGame public game; function setUp() public { - game = new TankGame(getSettings(), msg.sender); + game = new TankGame(); + game.initialize(getSettings(), msg.sender); bytes32[] memory proof = new bytes32[](1); vm.prank(address(1)); game.join(ITankGame.JoinParams(address(1), proof, "player1")); - gameView = new GameView(game); + vm.prank(address(3)); + game.join(ITankGame.JoinParams(address(3), proof, "player1")); + game.start(); + gameView = new GameView(); } function test_view_getAllTanks() public { - GameView.TankLocation[] memory tanks = gameView.getAllTanks(); - assertTrue(tanks.length == 1, "tanks length is 1"); + GameView.TankLocation[] memory tanks = gameView.getAllTanks(address(game)); + assertTrue(tanks.length == 2, "tanks length is 1"); } function test_view_getAllHearts() public { - GameView.HeartLocation[] memory hearts = gameView.getAllHearts(); + GameView.HeartLocation[] memory hearts = gameView.getAllHearts(address(game)); assertTrue(hearts.length == 0, "tanks length is 0"); vm.roll(2); game.reveal(); - hearts = gameView.getAllHearts(); + hearts = gameView.getAllHearts(address(game)); assertTrue(hearts.length == 1, "tanks length is 1"); } function getSettings() internal pure returns (ITankGame.GameSettings memory) { return ITankGame.GameSettings({ - playerCount: 1, + playerCount: 2, boardSize: 12, initAPs: 3, initHearts: 3, @@ -43,6 +47,7 @@ contract TankGameFactoryTest is Test { epochSeconds: 4 hours, buyInMinimum: 0, revealWaitBlocks: 1, + autoStart: false, root: bytes32(0) }); } diff --git a/contracts/yarn.lock b/contracts/yarn.lock deleted file mode 100644 index 915f391..0000000 --- a/contracts/yarn.lock +++ /dev/null @@ -1,507 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@adraffy/ens-normalize@1.9.2": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.2.tgz#60111a5d9db45b2e5cbb6231b0bb8d97e8659316" - integrity sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@noble/hashes@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" - integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== - -"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" - integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== - -"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" - integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== - -"@openzeppelin/merkle-tree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@openzeppelin/merkle-tree/-/merkle-tree-1.0.5.tgz#4836d377777a7e39f31674f06ec3d6909def7913" - integrity sha512-JkwG2ysdHeIphrScNxYagPy6jZeNONgDRyqU6lbFgE8HKCZFSkcP8r6AjZs+3HZk4uRNV0kNBBzuWhKQ3YV7Kw== - dependencies: - "@ethersproject/abi" "^5.7.0" - ethereum-cryptography "^1.1.2" - -"@scure/base@~1.1.0": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.2.tgz#ff0cf51874aaf176490c9cb46e4df807a2e581d2" - integrity sha512-sSCrnIdaUZQHhBxZThMuk7Wm1TWzMD3uJNdGgx3JS23xSqevu0tAOsg8k66nL3R2NwQe65AI9GgqpPOgZys/eA== - -"@scure/bip32@1.1.5": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" - integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== - dependencies: - "@noble/hashes" "~1.2.0" - "@noble/secp256k1" "~1.7.0" - "@scure/base" "~1.1.0" - -"@scure/bip39@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" - integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== - dependencies: - "@noble/hashes" "~1.2.0" - "@scure/base" "~1.1.0" - -"@solidity-parser/parser@^0.16.0": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.16.1.tgz#f7c8a686974e1536da0105466c4db6727311253c" - integrity sha512-PdhRFNhbTtu3x8Axm0uYpqOy/lODYQK+MlYSgqIsq2L8SFYEHJPHNUiOTAJbDGzNjjr1/n9AcIayxafR/fWmYw== - dependencies: - antlr4ts "^0.5.0-alpha.4" - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - -"@types/node@^20.4.5": - version "20.5.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.7.tgz#4b8ecac87fbefbc92f431d09c30e176fc0a7c377" - integrity sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1: - version "8.10.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - -aes-js@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" - integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== - -antlr4ts@^0.5.0-alpha.4: - version "0.5.0-alpha.4" - resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" - integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dotenv@^16.0.0: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== - -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -ethereum-cryptography@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" - integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== - dependencies: - "@noble/hashes" "1.2.0" - "@noble/secp256k1" "1.7.1" - "@scure/bip32" "1.1.5" - "@scure/bip39" "1.1.1" - -ethers@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.7.1.tgz#9c65e8b5d8e9ad77b7e8cf1c46099892cfafad49" - integrity sha512-qX5kxIFMfg1i+epfgb0xF4WM7IqapIIu50pOJ17aebkxxa4BacW5jFrQRmCJpDEg2ZK2oNtR5QjrQ1WDBF29dA== - dependencies: - "@adraffy/ens-normalize" "1.9.2" - "@noble/hashes" "1.1.2" - "@noble/secp256k1" "1.7.1" - "@types/node" "18.15.13" - aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.5.0" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -inherits@^2.0.3, inherits@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -prettier-plugin-solidity@^1.0.0-beta.19: - version "1.1.3" - resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.1.3.tgz#9a35124f578404caf617634a8cab80862d726cba" - integrity sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg== - dependencies: - "@solidity-parser/parser" "^0.16.0" - semver "^7.3.8" - solidity-comments-extractor "^0.0.7" - -prettier@^2.6.0: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -semver@^7.3.8: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -solidity-comments-extractor@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" - integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== - -ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -typescript@^5.0.3: - version "5.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -ws@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" - integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== diff --git a/frontend/bun.lockb b/frontend/bun.lockb new file mode 100755 index 0000000..3a3652f Binary files /dev/null and b/frontend/bun.lockb differ diff --git a/frontend/package.json b/frontend/package.json index 8148ddd..2a8057b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -48,8 +48,8 @@ "tailwindcss": "^3.3.2", "tailwindcss-animate": "^1.0.6", "tiled-hexagons": "^1.0.2", - "viem": "~1.1.6", - "wagmi": "^1.2.1", + "viem": "^1.16.6", + "wagmi": "^1.4.5", "zod": "^3.21.4" }, "devDependencies": { diff --git a/frontend/src/app/game/[gameId]/GamePage.tsx b/frontend/src/app/game/[gameId]/GamePage.tsx new file mode 100644 index 0000000..9fa165c --- /dev/null +++ b/frontend/src/app/game/[gameId]/GamePage.tsx @@ -0,0 +1,36 @@ +"use client"; + +import { EventStream } from "@/src/components/tankGame/EventsStream"; +import { TankGame } from "@/src/components/tankGame/TankGame"; +import { Toaster } from "@/src/components/ui/toaster"; +import { gameViewAddress, useGameViewGetSettings } from "@/src/generated"; +import { useNetwork } from "wagmi"; + +export function GamePage({ gameAddress }: { gameAddress: `0x${string}` }) { + const { chain } = useNetwork(); + let settings = useGameViewGetSettings({ + watch: true, + // @ts-ignore + address : gameViewAddress[chain?.id as keyof typeof gameViewAddress], + args: [gameAddress] + }); + console.log(settings); + return settings.data ? ( +
+ + + +
+ ) : ( +
+ 404: Game Not Found +
+ ); +} diff --git a/frontend/src/app/game/[gameId]/page.tsx b/frontend/src/app/game/[gameId]/page.tsx index 1985c2a..c7388bb 100644 --- a/frontend/src/app/game/[gameId]/page.tsx +++ b/frontend/src/app/game/[gameId]/page.tsx @@ -1,15 +1,10 @@ -import { EventStream } from "@/src/components/tankGame/EventsStream"; -import { TankGame } from "@/src/components/tankGame/TankGame"; -import { Toaster } from "@/src/components/ui/toaster"; import { Connected } from "@/src/components/wagmi/Connected"; +import { GamePage } from "./GamePage"; export default function Page({ params }: { params: { gameId: string } }) { return ( -
Game contract: {params.gameId}
- - - +
); } diff --git a/frontend/src/app/games/page.tsx b/frontend/src/app/games/page.tsx index 7482179..f0e65f7 100644 --- a/frontend/src/app/games/page.tsx +++ b/frontend/src/app/games/page.tsx @@ -1,6 +1,133 @@ +"use client"; +import { + tankGameAddress, + tankGameFactoryABI, + tankGameFactoryAddress, + useTankGamePlayersCount, +} from "@/src/generated"; +import { useEffect, useState } from "react"; +import { Address, useBalance, useBlockNumber, useNetwork } from "wagmi"; +import { getPublicClient } from "wagmi/actions"; +import CreateGameForm from "@/src/components/CreateGameForm"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/src/components/ui/accordion"; +import { + Card, + CardContent, + CardHeader, + CardTitle, +} from "@/src/components/ui/card"; +import { formatEther } from "viem"; +import { Button } from "@/src/components/ui/button"; + export default function GamesList() { - return
-
Tact games
- -
; + const { data: blockNumber } = useBlockNumber({ watch: true }); + const [games, setGames] = useState(); + const { chain } = useNetwork(); + const getLogs = async () => { + const publicClient = getPublicClient(); + const chainId = chain?.id; + const filter = await publicClient.createContractEventFilter({ + abi: tankGameFactoryABI, + strict: true, + fromBlock: BigInt(0), + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], + }); + return await publicClient.getFilterLogs({ + filter, + }); + }; + + useEffect(() => { + getLogs() + .then((logs) => { + // @ts-ignore + setGames(logs); + }) + .catch(console.error); + }, [blockNumber]); + console.log({ games }); + return ( +
+ + + + + + + + + + +

Existing games:

+
+ {games && + games + // @ts-ignore + ?.slice() + .reverse() + .map((game: any, i: number) => ( + + ))} +
+
+ ); +} + +const zero = + "0x0000000000000000000000000000000000000000000000000000000000000000"; + +function GameTile({ + address, + numPlayers, + isOpen, + buyIn, +}: { + address: Address; + numPlayers: bigint; + isOpen: boolean; + buyIn: bigint; +}) { + let { data: players } = useTankGamePlayersCount({ + watch: true, + // @ts-ignore + address: address, + }); + let { data: balance } = useBalance({ address: address, watch: true }); + return ( +
+ + + + Game Address: {address} + + +
+ {players?.toString()}/{numPlayers.toString()} players in game +
+
Auth mode: {isOpen ? "Open to world" : "Whitelist"}
+
Buy in minimum: {formatEther(buyIn)} eth
+
+ Current pot: {balance ? formatEther(balance.value) : "..."} eth +
+
+
+
+
+ ); } diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index 1d98cdd..8f84248 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -40,10 +40,10 @@ export default function RootLayout({ Home - Test + Games - - - +
+ + + +
+ ); } diff --git a/frontend/src/app/test/page.tsx b/frontend/src/app/test/page.tsx deleted file mode 100644 index 6013ba6..0000000 --- a/frontend/src/app/test/page.tsx +++ /dev/null @@ -1,42 +0,0 @@ -"use client"; -import { useAccount } from "wagmi"; -import * as tree from "public/tree.json"; -import { StandardMerkleTree } from "@openzeppelin/merkle-tree"; -import { getAddress } from "viem"; - -export default function TestJoinPage() { - const merkleTree = StandardMerkleTree.load(tree as any); - const { address } = useAccount(); - const value = tree.values.find((x) => getAddress(x.value[0]) === address); - const proof = - value && - merkleTree - .getProof(value.value) - .map((x) => Object.freeze(x) as `0x${string}`); - return ( -
- {proof ? ( -
- Found {value.value[1]}, you are ready to go. Good luck, - soldier. -
- ) : ( -
- Not Found. check you are connecting the correct wallet, or contact - ryan -
Expected addresses:
-
- {tree.values - .filter((x) => !x.value[1].includes("bot")) - .map((x) => ( - <> - {x.value[1] + " = " + x.value[0] + "\n"} -
- - ))} -
-
- )} -
- ); -} diff --git a/frontend/src/components/CreateGameForm.tsx b/frontend/src/components/CreateGameForm.tsx new file mode 100644 index 0000000..3bd47f5 --- /dev/null +++ b/frontend/src/components/CreateGameForm.tsx @@ -0,0 +1,438 @@ +import React, { useEffect, useState } from "react"; +import { StandardMerkleTree } from "@openzeppelin/merkle-tree"; +import { zodResolver } from "@hookform/resolvers/zod"; +import * as z from "zod"; +import { Button } from "./ui/button"; +import { BaseError, getAddress } from "viem"; +import { useAccount, useWaitForTransaction } from "wagmi"; +import { + usePrepareTankGameFactoryCreateGame, + useTankGameFactoryCreateGame, +} from "../generated"; +import { useToast } from "./ui/use-toast"; +import { + Form, + FormControl, + FormDescription, + FormField, + FormLabel, +} from "./ui/form"; +import { useForm } from "react-hook-form"; +import { Input } from "./ui/input"; +import { Card, CardContent } from "./ui/card"; + +// Define your schema using Zod +const formSchema = z.object({ + playerCount: z.number(), + boardSize: z.number(), + initAPs: z.number(), + initHearts: z.number(), + initShootRange: z.number(), + epochSeconds: z.number(), + buyInMinimum: z.number(), + revealWaitBlocks: z.number(), + autoStart: z.boolean(), + root: z.string(), +}); + +export default function CreateGameForm({ + implAddress, +}: { + implAddress: `0x${string}`; +}) { + const { toast } = useToast(); + const { address: deployerAddress } = useAccount(); + const [formState, setFormState] = useState({ + playerCount: 10, + boardSize: 30, + initAPs: 1, + initHearts: 3, + initShootRange: 3, + epochSeconds: 60, + buyInMinimum: 0, + revealWaitBlocks: 60, + autoStart: "true", + root: "0x0000000000000000000000000000000000000000000000000000000000000000", + }); + + const handleInputChange = (event: React.ChangeEvent) => { + setFormState({ + ...formState, + [event.target.name]: event.target.value, + }); + }; + let { config } = usePrepareTankGameFactoryCreateGame({ + args: [ + implAddress, + { + playerCount: BigInt(formState.playerCount), + boardSize: BigInt(formState.boardSize), + initAPs: BigInt(formState.initAPs), + initHearts: BigInt(formState.initHearts), + initShootRange: BigInt(formState.initShootRange), + epochSeconds: BigInt(formState.epochSeconds), + buyInMinimum: BigInt(formState.buyInMinimum), + revealWaitBlocks: BigInt(formState.revealWaitBlocks), + autoStart: Boolean(formState.autoStart), + root: formState.root as `0x${string}`, + }, + deployerAddress!, + ], + enabled: true, + }); + const { write: create, data } = useTankGameFactoryCreateGame(config); + useWaitForTransaction({ + hash: data?.hash, + enabled: !!data, + onError: (error) => { + toast({ + variant: "destructive", + title: "Transaction Failed.", + description: (error as BaseError)?.shortMessage, + }); + }, + onSuccess: (s) => { + toast({ + variant: "success", + title: "Transaction Confirmed.", + description: s.transactionHash, + }); + }, + }); + const form = useForm>({ + resolver: zodResolver(formSchema), + defaultValues: { + playerCount: formState.playerCount, + boardSize: formState.boardSize, + initAPs: formState.initAPs, + initHearts: formState.initHearts, + initShootRange: formState.initShootRange, + epochSeconds: formState.epochSeconds, + buyInMinimum: formState.buyInMinimum, + revealWaitBlocks: formState.revealWaitBlocks, + autoStart: Boolean(formState.autoStart), + root: formState.root, + }, + }); + return ( + +
+ ( +
+ Player Count + + { + if (!isNaN(Number(e.target.value))) { + handleInputChange(e); + } + }} + value={formState.playerCount} + /> + + Enter the number of players +
+ )} + /> + ( +
+ Board Size + + { + if (!isNaN(Number(e.target.value))) { + handleInputChange(e); + } + }} + value={formState.boardSize} + /> + + + Enter the size of the board (must be div by 3) + +
+ )} + /> + ( +
+ Initial APs + + { + if (!isNaN(Number(e.target.value))) { + handleInputChange(e); + } + }} + value={formState.initAPs} + /> + + Enter the initial APs +
+ )} + /> + ( +
+ Initial Hearts + + { + if (!isNaN(Number(e.target.value))) { + handleInputChange(e); + } + }} + value={formState.initHearts} + /> + + + Enter the initial number of hearts + +
+ )} + /> + ( +
+ Initial Shoot Range + + { + if (!isNaN(Number(e.target.value))) { + handleInputChange(e); + } + }} + value={formState.initShootRange} + /> + + Enter the initial shoot range +
+ )} + /> + ( +
+ Epoch Seconds + + { + if (!isNaN(Number(e.target.value))) { + handleInputChange(e); + } + }} + value={formState.epochSeconds} + /> + + Enter the epoch seconds +
+ )} + /> + ( +
+ Buy In Minimum + + { + if (!isNaN(Number(e.target.value))) { + handleInputChange(e); + } + }} + value={formState.buyInMinimum} + /> + + Enter the minimum buy in +
+ )} + /> + ( +
+ Reveal Wait Blocks + + { + if (!isNaN(Number(e.target.value))) { + handleInputChange(e); + } + }} + value={formState.revealWaitBlocks} + /> + + + Enter the number of blocks to wait for reveal + +
+ )} + /> + {/* ( */} + {/*
*/} + {/* Players */} + {/* */} + {/* <> */} + {/* */} + {/*
Merkle Root: {formState.root}
*/} + {/* */} + {/*
*/} + {/* */} + {/* Enter the players to join, leave this blank and anyone can join */} + {/* */} + {/*
*/} + {/* )} */} + {/* /> */} + ( +
+ Auto Start + + { + handleInputChange(e); + }} + value={field.value ? "true" : "false"} + /> + + + Check if the game should auto start + +
+ )} + /> + + +
+ ); +} + +function RootGenerator({ + setFormState, +}: { + setFormState: React.Dispatch< + React.SetStateAction<{ + playerCount: number; + boardSize: number; + initAPs: number; + initHearts: number; + initShootRange: number; + epochSeconds: number; + buyInMinimum: number; + revealWaitBlocks: number; + autoStart: string; + root: string; + }> + >; +}) { + const [list, setList] = useState>([["", ""]]); + const [hasError, setHasError] = useState(false); + + const handleAdd = () => { + setList([...list, ["", ""]]); + }; + + const handleDelete = (index: number) => { + setList(list.filter((_, i) => i !== index)); + }; + + const handleInputChange = ( + index: number, + position: number, + value: string + ) => { + const newList = [...list]; + newList[index][position] = value; + setList(newList); + }; + + useEffect(() => { + // generate the merkle root here, and call update() with that root + try { + const values = list.map((item) => { + return [getAddress(item[1]), item[0]]; + }); + const tree = StandardMerkleTree.of(values, ["address", "string"]); + setFormState((prevState) => ({ ...prevState, root: tree.root })); + setHasError(false); + } catch (err) { + setHasError(true); + } + }, [list]); + + return ( +
+ + {list.map((item, index) => ( +
+
+ Player {index + 1} +
+ + handleInputChange(index, 0, e.target.value)} + /> +
+
+ + handleInputChange(index, 1, e.target.value)} + /> +
+
+ +
+
+
+ ))} + +
+
+ ); +} diff --git a/frontend/src/components/LeaderBoard.tsx b/frontend/src/components/LeaderBoard.tsx index 470cbf4..526013c 100644 --- a/frontend/src/components/LeaderBoard.tsx +++ b/frontend/src/components/LeaderBoard.tsx @@ -1,32 +1,28 @@ -import { useNetwork } from "wagmi"; import { getPublicClient } from "wagmi/actions"; -import { tankGameABI, tankGameAddress } from "../generated"; -import { Card, CardContent, CardHeader, CardTitle } from "./ui/card"; +import { tankGameABI, useTankGameSettings } from "../generated"; +import { Card, CardContent, CardTitle } from "./ui/card"; import { Button } from "./ui/button"; -import { toTankName } from "./tankGame/EventsStream"; import { useState } from "react"; +import { useTanks } from "./tankGame/EventsStream"; -export function LeaderBoard() { +export function LeaderBoard({ gameAddress }: { gameAddress: `0x${string}` }) { const [murderCount, setMurderCount] = useState(undefined); const [reviveCount, setReviveCount] = useState(undefined); const [deathCount, setDeathCount] = useState(undefined); const [dripCount, setDripCount] = useState(undefined); - const [distances, setDistances] = useState(undefined); - const { chain } = useNetwork(); const getLogs = async () => { const publicClient = getPublicClient(); - const chainId = chain?.id; const filter = await publicClient.createContractEventFilter({ abi: tankGameABI, strict: true, fromBlock: BigInt(0), - address: tankGameAddress[chainId as keyof typeof tankGameAddress], + address: gameAddress, }); return await publicClient.getFilterLogs({ filter, }); }; - const getLeaderBoard = async () => { + const getLeaderBoard = async (numPlayers: number) => { const logs = await getLogs(); const tanksByKills = logs .filter((log) => log.eventName === "Death") @@ -106,7 +102,8 @@ export function LeaderBoard() { const sortedTanksByDrips = Object.entries(tanksByDrips).sort( (a, b) => b[1] - a[1] ); - const missingTankIds = Array.from({ length: 19 }, (_, i) => i + 1) + + const missingTankIds = Array.from({ length: numPlayers }, (_, i) => i + 1) .map(String) .filter((id) => !sortedTanksByDrips.some(([num]) => num === id)); @@ -119,9 +116,18 @@ export function LeaderBoard() { setDripCount(sortedTanksByDrips); }; + const tanks = useTanks(gameAddress); + const { data: settings } = useTankGameSettings({ + // @ts-ignore + address: gameAddress, + }); + return ( - @@ -137,7 +143,7 @@ export function LeaderBoard() { murderCount.map(([tankId, murders]) => { return (
- {toTankName(BigInt(tankId))}: {murders} + {tanks[tankId -1]}: {murders}
); })} @@ -154,7 +160,7 @@ export function LeaderBoard() { reviveCount.map(([tankId, revives]) => { return (
- {toTankName(BigInt(tankId))}: {revives} + {tanks[tankId-1]}: {revives}
); })} @@ -170,7 +176,7 @@ export function LeaderBoard() { deathCount.map(([tankId, deaths]) => { return (
- {toTankName(BigInt(tankId))}: {deaths} + {tanks[tankId-1]}: {deaths}
); })} @@ -186,7 +192,7 @@ export function LeaderBoard() { dripCount.map(([num, drips]) => { return (
- {toTankName(BigInt(num))}: {drips} + {tanks[num-1]}: {drips}
); })} diff --git a/frontend/src/components/tankGame/EventsStream.tsx b/frontend/src/components/tankGame/EventsStream.tsx index d1f3fd1..98968d2 100644 --- a/frontend/src/components/tankGame/EventsStream.tsx +++ b/frontend/src/components/tankGame/EventsStream.tsx @@ -1,191 +1,131 @@ "use client"; -import { - tankGameABI, - tankGameAddress, - useTankGameClaimEvent, - useTankGameDripEvent, - useTankGameGiveEvent, - useTankGameMoveEvent, - useTankGamePlayerJoinedEvent, - useTankGamePrizeIncreaseEvent, - useTankGameShootEvent, - useTankGameUpgradeEvent, - useTankGameVoteEvent, -} from "@/src/generated"; -import { useState } from "react"; -import { formatEther } from "viem"; +import { tankGameABI } from "@/src/generated"; +import { useState, useEffect } from "react"; +import { Address, formatEther } from "viem"; import { Card, CardHeader } from "../ui/card"; import { Button } from "../ui/button"; import { getPublicClient } from "wagmi/actions"; -import { useNetwork } from "wagmi"; -import { OWNERS } from "./Tank"; - -export const TANK_MAPPING = [ - "ryan", - "kinjal", - "yuan", - "anay", - "spencer", - "jay", - "joshua", - "shishi", - "sterling", - "joe", - "sam", - "mason", - "daniel", - "pat", - "will", - "caleb", - "brian", - "carra", - "hopper", - "peter", - "wnuelle", - "kristof", - "jonah", -]; - -export const toTankName = (tankId: bigint | undefined) => { - if (!tankId) { - return "Unknown Tank"; + +export async function getTankNameFromJoinIndex( + address: Address, + tankId: bigint +) { + let logs = await getLogs(address); + let joinLogs = logs.filter((log) => log.eventName == "PlayerJoined"); + console.log({ joinLogs }); + // @ts-ignore + let name = joinLogs.find((log) => log.args.tankId === tankId); + // @ts-ignore + return name ? name.args.name : "Unknown Tank"; +} + +export async function getTanks(address: Address) { + let logs = await getLogs(address); + let joinLogs = logs.filter((log) => log.eventName == "PlayerJoined"); + // @ts-ignore + return joinLogs.map((log) => log.args.name); +} + +export function useTanks(address: Address) { + const [tanks, setTanks] = useState([]); + useEffect(() => { + getTanks(address).then(setTanks); + }, [address]); + return tanks; +} + +export async function getTankNameFromAddress( + address: Address, + player: Address +) { + let logs = await getLogs(address); + let joinLogs = logs.filter((log) => log.eventName === "PlayerJoined"); + // @ts-ignore + let relevantJoin = joinLogs.find((log) => log.args.player === player); + + if (relevantJoin) { + // @ts-ignore + return relevantJoin.args.name; } - if (tankId && tankId! > TANK_MAPPING.length) { - return "Tank " + tankId!.toString(); + + let delegateLogs = logs.filter((log) => log.eventName === "Delegate"); + let relevantDelegate = delegateLogs.find( + // @ts-ignore + (log) => log.args.delegate === player + ); + + if (relevantDelegate) { + // @ts-ignore + let owner = relevantDelegate.args.owner; + // @ts-ignore + let name = joinLogs.find((log) => log.args.player === owner); + + if (name) { + // @ts-ignore + return name.args.name; + } } - return TANK_MAPPING[Number(tankId!) - 1]; + + return "Unknown Tank"; +} + +export function useTankNameFromId(address: Address, index: bigint) { + const [tankName, setTankName] = useState(null); + + useEffect(() => { + getTankNameFromJoinIndex(address, index).then(setTankName); + }, [address, index]); + + return tankName; +} + +export function useTankNameFromAddress(address: Address, player: Address) { + const [tankName, setTankName] = useState(null); + + useEffect(() => { + getTankNameFromAddress(address, player).then(setTankName); + }, [address, player]); + + return tankName; +} + +const getLogs = async (address: Address) => { + const publicClient = getPublicClient(); + const filter = await publicClient.createContractEventFilter({ + abi: tankGameABI, + strict: true, + fromBlock: BigInt(0), + address: address, + }); + return await publicClient.getFilterLogs({ + filter, + }); }; -export function EventStream() { +export function EventStream({ address }: { address: `0x${string}` }) { const [events, setEvents] = useState([]); - // useTankGameMoveEvent({ - // listener: (e) => { - // e.map((event) => { - // setEvents((prev) => { - // return [...prev, moveString(event)]; - // }); - // }); - // }, - // }); - // useTankGameShootEvent({ - // listener(e) { - // e.map((event) => { - // setEvents((prev) => { - // return [...prev, shootString(event)]; - // }); - // }); - // }, - // }); - // useTankGameGiveEvent({ - // listener(e) { - // e.map((event) => { - // setEvents((prev) => { - // return [...prev, giveString(event)]; - // }); - // }); - // }, - // }); - // useTankGameUpgradeEvent({ - // listener(e) { - // e.map((event) => { - // setEvents((prev) => { - // return [...prev, upgradeString(event)]; - // }); - // }); - // }, - // }); - // useTankGameVoteEvent({ - // listener(e) { - // e.map((event) => { - // setEvents((prev) => { - // return [...prev, voteString(event)]; - // }); - // }); - // }, - // }); - // useTankGameDripEvent({ - // listener(e) { - // e.map((event) => { - // setEvents((prev) => { - // return [...prev, dripString(event)]; - // }); - // }); - // }, - // }); - // useTankGameClaimEvent({ - // listener(e) { - // e.map((event) => { - // setEvents((prev) => { - // return [...prev, claimString(event)]; - // }); - // }); - // }, - // }); - // useTankGamePlayerJoinedEvent({ - // listener(e) { - // e.map((event) => { - // setEvents((prev) => { - // return [...prev, joinString(event)]; - // }); - // }); - // }, - // }); - // useTankGamePrizeIncreaseEvent({ - // listener(e) { - // e.map((event) => { - // setEvents((prev) => { - // return [...prev, donateString(event)]; - // }); - // }); - // }, - // }); const [oldLogs, setOldLogs] = useState([]); - const { chain } = useNetwork(); - const getLogs = async () => { - const publicClient = getPublicClient(); - const chainId = chain?.id; - const filter = await publicClient.createContractEventFilter({ - abi: tankGameABI, - strict: true, - fromBlock: BigInt(0), - address: tankGameAddress[chainId as keyof typeof tankGameAddress], - }); - return await publicClient.getFilterLogs({ - filter, - }); - }; const getOldLogs = async () => { - const logs = await getLogs(); + const logs = await getLogs(address); console.log( JSON.stringify(logs, (key, value) => typeof value === "bigint" ? value.toString() : value ) ); + // const logText = await logToText(address, log); + let items = await Promise.all( + logs.map(async (log) => [log, await logToText(address, log)]) + ); setOldLogs([ - ...logs + ...items .reverse() - .map( - (log) => "Block number: " + log.blockNumber + " " + logToText(log) - ), + // @ts-ignore + .map((log) => "Block number: " + log[0].blockNumber + " " + log[1]), ]); }; return (
- {/* - -

Action Feed

-
-
- {events.reverse().map((event, i) => { - return ( -
- {event} -
- ); - })} -
-
*/}

Historical logs

@@ -208,160 +148,193 @@ export function EventStream() { } // @ts-ignore -const logToText = (event) => { +const logToText = async (address: Address, event): Promise => { if (event.eventName == "Move") { - return moveString(event); + return await moveString(address, event); } if (event.eventName == "Shoot") { - return shootString(event); + return await shootString(address, event); } if (event.eventName == "Give") { - return giveString(event); + return await giveString(address, event); } if (event.eventName == "Upgrade") { - return upgradeString(event); + return await upgradeString(address, event); } if (event.eventName == "Vote") { - return voteString(event); + return await voteString(address, event); } if (event.eventName == "Drip") { - return dripString(event); + return await dripString(address, event); } if (event.eventName == "Claim") { - return claimString(event); + return await claimString(address, event); } if (event.eventName == "PlayerJoined") { - return joinString(event); + return await joinString(address, event); } if (event.eventName == "GameStarted") { - return startString(event); + return await startString(); } if (event.eventName == "SpawnHeart") { - return spawnHeartString(event); + return await spawnHeartString(address, event); } if (event.eventName == "Revive") { - return reviveString(event); + return await reviveString(address, event); } if (event.eventName == "Death") { - return deathString(event); + return await deathString(address, event); } if (event.eventName == "Delegate") { - return delegateString(event); + return await delegateString(address, event); } if (event.eventName == "Commit") { - return commitString(event); + return await commitString(address, event); } if (event.eventName == "GameInit") { - return gameInitString(event); + return await gameInitString(address, event); } if (event.eventName == "Reveal") { - return revealString(event); + return await revealString(address, event); } if (event.eventName == "PrizeIncrease") { - return donateString(event); + return await donateString(address, event); } if (event.eventName == "BountyCompleted") { - return bountyString(event); + return await bountyString(address, event); } return event.eventName + ""; }; -const moveString = (event: any) => { - return `🏃 ${toTankName(event.args.tankId)} moved to (${ - event.args.position.x - }, +const moveString = async (address: Address, event: any) => { + return `🏃 ${await getTankNameFromJoinIndex( + address, + event.args.tankId + )} moved to (${event.args.position.x}, ${event.args.position.y}, ${event.args.position.z})`; }; -const shootString = (event: any) => { - return `🔫 ${toTankName(event.args.tankId)} shot ${toTankName( - event.args.targetId - )}`; +const shootString = async (address: Address, event: any) => { + return `🔫 ${await getTankNameFromJoinIndex( + address, + event.args.tankId + )} shot ${await getTankNameFromJoinIndex(address, event.args.targetId)}`; }; -const delegateString = (event: any) => { - return `👨‍⚖️ ${OWNERS.get(event.args.owner)} delegated control of ${toTankName( +const delegateString = async (address: Address, event: any) => { + return `👨‍⚖️ ${await getTankNameFromAddress( + address, + event.args.owner + )} delegated control of ${await getTankNameFromJoinIndex( + address, event.args.tank )} to ${event.args.delegate}`; }; -const commitString = (event: any) => { +const commitString = async (address: Address, event: any) => { return `📥 Next heart will be available to spawn at block ${event.args.blocknumber}`; }; -const gameInitString = (event: any) => { +const gameInitString = async (address: Address, event: any) => { return `Game started with ${event.args.settings.playerCount} players. Buy in is ${event.args.settings.buyInMinimum} ether.`; }; -const revealString = (event: any) => { - return `👇${OWNERS.get(event.args.poker)} poked the reveal!`; +const revealString = async (address: Address, event: any) => { + return `👇${await getTankNameFromAddress( + address, + event.args.poker + )} poked the reveal!`; }; -const reviveString = (event: any) => { - return `🩸 ${toTankName(event.args.saved)} was revived by ${toTankName( +const reviveString = async (address: Address, event: any) => { + return `🩸 ${await getTankNameFromJoinIndex( + address, + event.args.saved + )} was revived by ${await getTankNameFromJoinIndex( + address, event.args.savior )}`; }; -const deathString = (event: any) => { - return `💀 ${toTankName(event.args.killer)} killed ${toTankName( - event.args.killed - )}`; +const deathString = async (address: Address, event: any) => { + return `💀 ${await getTankNameFromJoinIndex( + address, + event.args.killer + )} killed ${await getTankNameFromJoinIndex(address, event.args.killed)}`; }; -const spawnHeartString = (event: any) => { +const spawnHeartString = async (address: Address, event: any) => { return `❤️ A heart spawned at ${event.args.position.x}, ${event.args.position.y}, ${event.args.position.z}`; }; -const giveString = (event: any) => { - return `🤝 ${toTankName(event.args.fromId)} gave ${ - event.args.hearts || event.args.aps - } ${event.args.hearts ? "hearts" : "aps"} to ${toTankName(event.args.toId)}`; +const giveString = async (address: Address, event: any) => { + return `🤝 ${await getTankNameFromJoinIndex( + address, + event.args.fromId + )} gave ${event.args.hearts || event.args.aps} ${ + event.args.hearts ? "hearts" : "aps" + } to ${await getTankNameFromJoinIndex(address, event.args.toId)}`; }; -const upgradeString = (event: any) => { - return `📈 ${toTankName(event.args.tankId)} upgraded range to ${ - event.args.range - } `; +const upgradeString = async (address: Address, event: any) => { + return `📈 ${await getTankNameFromJoinIndex( + address, + event.args.tankId + )} upgraded range to ${event.args.range} `; }; -const voteString = (event: any) => { - return `🗳️ ${toTankName(event.args.voter)} voted to curse ${toTankName( +const voteString = async (address: Address, event: any) => { + return `🗳️ ${await getTankNameFromJoinIndex( + address, + event.args.voter + )} voted to curse ${await getTankNameFromJoinIndex( + address, event.args.cursed )} during epoch ${event.args.epoch}`; }; -const dripString = (event: any) => { - return `🚰 ${toTankName(event.args.tankId)} claimed ${ - event.args.amount - } action points from the faucet.`; +const dripString = async (address: Address, event: any) => { + return `🚰 ${await getTankNameFromJoinIndex( + address, + event.args.tankId + )} claimed ${event.args.amount} action points from the faucet.`; }; -const claimString = (event: any) => { - return `🏆 ${toTankName( +const claimString = async (address: Address, event: any) => { + return `🏆 ${await getTankNameFromJoinIndex( + address, event.args.tankId )} claimed their winnings of ${formatEther( event.args.amount! - )} ether and sent it to ${OWNERS.get(event.args.reciever)} .`; + )} ether and sent it to ${await getTankNameFromAddress( + address, + event.args.reciever + )} .`; }; -const joinString = (event: any) => { +const joinString = async (address: Address, event: any) => { return `🆕 ${ - OWNERS.get(event.args.player) || event.args.player + (await getTankNameFromAddress(address, event.args.player)) || + event.args.player } has joined the game.`; }; -const donateString = (event: any) => { +const donateString = async (address: Address, event: any) => { return `🎁 ${ - OWNERS.get(event.args.donator) || event.args.donator + (await getTankNameFromAddress(address, event.args.donator)) || + event.args.donator } has added ${formatEther(event.args.amount!)} ether to the prize pool.`; }; -const startString = (event: any) => { +const startString = async () => { return `🎮 The game has started! 🎊`; }; -const bountyString = (event: any) => { - return `🎯 ${toTankName(event.args.hunter)} completed bounty on ${toTankName( +const bountyString = async (address: Address, event: any) => { + return `🎯 ${await getTankNameFromJoinIndex( + address, + event.args.hunter + )} completed bounty on ${await getTankNameFromJoinIndex( + address, event.args.victim )} for ${event.args.reward} APs.`; }; diff --git a/frontend/src/components/tankGame/GameBoard.tsx b/frontend/src/components/tankGame/GameBoard.tsx deleted file mode 100644 index bea7c1a..0000000 --- a/frontend/src/components/tankGame/GameBoard.tsx +++ /dev/null @@ -1,82 +0,0 @@ -// import { T} from "./Tile"; -// import { useTankGameGetAllTanks, useTankGamePlayers } from "@/src/generated"; -// import { useState } from "react"; -// import { useAccount } from "wagmi"; - -// export function Board({ boardSize }: { boardSize: bigint | undefined }) { -// const [selectedTank, setSelectedTank] = useState(); -// let tanks = useTankGameGetAllTanks({ watch: true }); -// const { address } = useAccount(); -// let ownersTankId = useTankGamePlayers({ -// args: [address!], -// enabled: !!address, -// }); -// if (!boardSize) { -// return
; -// } - -// const a = new Array(Number(boardSize + BigInt(1))).fill(0); -// return ( -// boardSize !== BigInt(0) && ( -//
-// {a.map((x: bigint, i: number) => -// a.map((y: bigint, j: number) => { -// const tank = tanks.data?.find((tank) => { -// return ( -// tank.position.x === BigInt(i) && tank.position.y === BigInt(j) -// ); -// }); -// return ( -//
-// {BigInt(i) === boardSize && BigInt(j) !== boardSize && ( -//
{j}
-// )} -// {BigInt(j) === boardSize && BigInt(i) !== boardSize && ( -//
{i}
-// )} -// {BigInt(i) !== boardSize && BigInt(j) !== boardSize && ( -// { -// setSelectedTank(tank); -// }} -// x={i} -// y={j} -// boardSize={Number(boardSize)} -// tank={tank} -// ownersTankId={ownersTankId.data} -// isShootRange={ -// !!selectedTank && -// selectedTank.tank.hearts > 0 && -// getDistance( -// BigInt(i), -// BigInt(j), -// selectedTank.position.x, -// selectedTank.position.y -// ) <= selectedTank.tank.range -// } -// isMoveRange={ -// !!selectedTank && -// selectedTank.tank.hearts > 0 && -// getDistance( -// BigInt(i), -// BigInt(j), -// selectedTank.position.x, -// selectedTank.position.y -// ) <= selectedTank.tank.aps -// } -// /> -// )} -//
-// ); -// }) -// )} -//
-// ) -// ); -// } - -// function getDistance(ax: bigint, ay: bigint, bx: bigint, by: bigint) { -// const x = ax > bx ? ax - bx : bx - ax; -// const y = ay > by ? ay - by : by - ay; -// return x > y ? x : y; -// } diff --git a/frontend/src/components/tankGame/HexGameBoard.tsx b/frontend/src/components/tankGame/HexGameBoard.tsx index 93bfe68..8428866 100644 --- a/frontend/src/components/tankGame/HexGameBoard.tsx +++ b/frontend/src/components/tankGame/HexGameBoard.tsx @@ -2,24 +2,44 @@ import { Tile } from "./Tile"; import { HexGrid, Layout, Hex, Pattern } from "react-hexgrid"; import { + gameViewAddress, useGameViewGetAllHearts, useGameViewGetAllTanks, useTankGamePlayers, } from "@/src/generated"; import { MutableRefObject, useEffect, useRef, useState } from "react"; -import { useAccount } from "wagmi"; +import { useAccount, useNetwork } from "wagmi"; import { TransformWrapper, TransformComponent } from "react-zoom-pan-pinch"; import { ITank } from "./ITank"; -export function HexBoard({ boardSize }: { boardSize: bigint | undefined }) { +export function HexBoard({ + boardSize, + gameAddress, +}: { + boardSize: bigint | undefined; + gameAddress: `0x${string}`; +}) { const [selectedTank, setSelectedTank] = useState(); const [selectedTile, setSelectedTile] = useState(); const [highlightedTiles, setHighlightedTiles] = useState(); - let tanks = useGameViewGetAllTanks({ watch: true }); - let hearts = useGameViewGetAllHearts({ watch: true }); + const { chain } = useNetwork(); + let tanks = useGameViewGetAllTanks({ + watch: true, + // @ts-ignore + address: gameViewAddress[chain?.id as keyof typeof gameViewAddress], + args: [gameAddress], + }); + let hearts = useGameViewGetAllHearts({ + watch: true, + // @ts-ignore + address: gameViewAddress[chain?.id as keyof typeof gameViewAddress], + args: [gameAddress], + }); const { address } = useAccount(); let ownerTankId = useTankGamePlayers({ args: [address!], + // @ts-ignore + address: gameAddress, enabled: !!address, }); let ownerTank = tanks.data?.find((tank) => tank.tankId === ownerTankId.data); @@ -76,6 +96,7 @@ export function HexBoard({ boardSize }: { boardSize: bigint | undefined }) { }); return ( - {TANK_MAPPING.map((tank, i) => { + {tanks.map((tank, i) => { return ( - // @ts-ignore - + {tank} ); diff --git a/frontend/src/components/tankGame/Tank.tsx b/frontend/src/components/tankGame/Tank.tsx index d20e51c..007ea24 100644 --- a/frontend/src/components/tankGame/Tank.tsx +++ b/frontend/src/components/tankGame/Tank.tsx @@ -2,33 +2,9 @@ import { Droplet, Heart, Target, User, Zap } from "lucide-react"; import { ITank } from "./ITank"; import { useTankGameGetEpoch, useTankGameLastDripEpoch } from "@/src/generated"; import { DropdownMenu, DropdownMenuContent } from "../ui/dropdown-menu"; -import { getAddress } from "viem"; +import { Address} from "viem"; +import { useTankNameFromId } from "./EventsStream"; -export const OWNERS: Map = new Map([ - [getAddress("0x5337122c6b5ce24d970ce771510d22aeaf038c44"), "ryan"], - [getAddress("0xc15ebb4f1ac7f1c5d94db64a472e1718fa6b6dec"), "kinjal"], - [getAddress("0x3aab3396fede536accb3a578cd96617092270536"), "yuan"], - [getAddress("0x0ba85c9e1863e5efb8395a55cd042d61decd6e89"), "anay"], - [getAddress("0x259a3ab4a06d647380b046249ef3b12db212dc3e"), "spencer"], - [getAddress("0x3fb9a5f2158716a2ed1aafc4539e5a24feb2e4a8"), "jay"], - [getAddress("0x2fc7c69fdccea8ab0ac395d180b07f6e93db1b4d"), "joshua"], - [getAddress("0xe0e9a1807802a32544570832fe5a21ea09500872"), "shishi"], - [getAddress("0x9f90a3c2c1938f248241414754d977b897fb3fc5"), "sterling"], - [getAddress("0x2cb8636240693b445ac98f2091b58a898e35e60b"), "joe"], - [getAddress("0xb7430de9b4d8e5cdb951019d7651cd5fda630498"), "sam"], - [getAddress("0xb100d1e55c42a72a28fba012bb77ad9a497358b8"), "mason"], - [getAddress("0xac56bf73e73e252e962958b856d88f8264a2f2ab"), "daniel"], - [getAddress("0x1f08eb0a5f08117d3302212139d3804cf4810de8"), "pat"], - [getAddress("0x6c915b7d41566fa58b15962d829591ede914fc34"), "will"], - [getAddress("0xb3c296170c57a7510bb95ef2e9c47977bc2ff1c8"), "caleb"], - [getAddress("0xda744dacea631029430fd63d83b26f757e054cb7"), "brian"], - [getAddress("0x14174a3f8868b4b6ab023853e2ff5903ea0fd015"), "carra"], - [getAddress("0x60de91d489D41FAF4C42F5734fF5E8c95A0990F9"), "hopper"], - [getAddress("0x1f77d34deFF2B72B0A0258603eFFE72704742EBB"), "peter"], - [getAddress("0xb1B541A6460EF4b7b165aC50752451DCB7C01357"), "wnuelle"], - [getAddress("0x696969d25333e7E0a282b240aDE6b21b3E41719f"), "kristof"], - [getAddress("0x5CE306109b8de8d001d52F2140383A54AB55CdB2"), "jonah"], -]); interface TankProps { tankObj: typeof ITank; open: boolean; @@ -37,9 +13,11 @@ interface TankProps { left: number; } | null; onChange: () => void; + address: Address } -export function Tank({ tankObj, open, position, onChange }: TankProps) { +export function Tank({ tankObj, open, position, onChange, address }: TankProps) { const { tank, tankId } = tankObj; + const tankName = useTankNameFromId(address, tankId); let lastDripEpoch = useTankGameLastDripEpoch({ args: [tankId], enabled: !!tankId, @@ -71,7 +49,7 @@ export function Tank({ tankObj, open, position, onChange }: TankProps) {
- Owner name: {OWNERS.get(tank.owner.toString())} + Owner name: {tankName}
diff --git a/frontend/src/components/tankGame/TankGame.tsx b/frontend/src/components/tankGame/TankGame.tsx index 81afbe8..f3c1011 100644 --- a/frontend/src/components/tankGame/TankGame.tsx +++ b/frontend/src/components/tankGame/TankGame.tsx @@ -1,5 +1,10 @@ "use client"; -import { useTankGameGetSettings, useTankGameState } from "../../generated"; +import { useNetwork } from "wagmi"; +import { + gameViewAddress, + useGameViewGetSettings, + useTankGameState, +} from "../../generated"; import { LeaderBoard } from "../LeaderBoard"; import { Treaties } from "../treaties/Treaties"; import { HexBoard } from "./HexGameBoard"; @@ -7,25 +12,37 @@ import Timer from "./Timer"; import Donate from "./actions/Donate"; import { GameOver } from "./states/GameOver"; import { WaitingForPlayers } from "./states/WaitingForPlayers"; -export function TankGame() { - let gameState = useTankGameState({ watch: true }); - let settings = useTankGameGetSettings({ watch: true }); +export function TankGame({ address }: { address: `0x${string}` }) { + // @ts-ignore + let gameState = useTankGameState({ watch: true, address: address }); + + const { chain } = useNetwork(); + let settings = useGameViewGetSettings({ + watch: true, + // @ts-ignore + address: gameViewAddress[chain?.id as keyof typeof gameViewAddress], + args: [address], + }); return (
{gameState.data === 0 && ( )} - - + +
- {gameState.data === 1 && } - {gameState.data === 2 && } - {gameState.data !== 2 && } + {gameState.data === 1 && } + {gameState.data === 2 && } + {gameState.data !== 2 && }
- +
); } diff --git a/frontend/src/components/tankGame/Tile.tsx b/frontend/src/components/tankGame/Tile.tsx index 76d5d4e..d625ae4 100644 --- a/frontend/src/components/tankGame/Tile.tsx +++ b/frontend/src/components/tankGame/Tile.tsx @@ -22,6 +22,7 @@ interface TileProps { isMoveRange: boolean; onClick: () => void; onContextClick: () => void; + gameAddress: `0x${string}`; } export function Tile(props: TileProps) { const [open, setOpen] = useState(false); @@ -66,6 +67,7 @@ export function Tile(props: TileProps) { tankObj={props.tank} open={hover} position={position2} + address={props.gameAddress} /> )} )} {props.tank && props.tank.tankId === props.ownersTankId && ( - + )} {props.tank && props.tank.tankId !== props.ownersTankId && ( (""); - let prizePool = useTankGamePrizePool({ watch: true }); + let prizePool = useTankGamePrizePool({ + // @ts-ignore + address: gameAddress, + watch: true, + }); let { config } = usePrepareTankGameDonate({ + // @ts-ignore + address: gameAddress, value: parseEther(amount as `${number}`), enabled: !!amount, }); diff --git a/frontend/src/components/tankGame/actions/EmptySquareMenu.tsx b/frontend/src/components/tankGame/actions/EmptySquareMenu.tsx index 3c307f6..1dabc89 100644 --- a/frontend/src/components/tankGame/actions/EmptySquareMenu.tsx +++ b/frontend/src/components/tankGame/actions/EmptySquareMenu.tsx @@ -13,6 +13,7 @@ export default function EmptySquareMenu({ z, distance, open, + gameAddress, }: { ownersTank: bigint; x: number; @@ -20,9 +21,12 @@ export default function EmptySquareMenu({ z: number; distance: number | undefined; open: boolean; + gameAddress: `0x${string}`; }) { const { toast } = useToast(); let { config } = usePrepareTankGameMove({ + // @ts-ignore + address: gameAddress, args: [ { tankId: ownersTank, to: { x: BigInt(x), y: BigInt(y), z: BigInt(z) } }, ], diff --git a/frontend/src/components/tankGame/actions/EnemySquareMenu.tsx b/frontend/src/components/tankGame/actions/EnemySquareMenu.tsx index c17547d..81bbcc9 100644 --- a/frontend/src/components/tankGame/actions/EnemySquareMenu.tsx +++ b/frontend/src/components/tankGame/actions/EnemySquareMenu.tsx @@ -30,14 +30,18 @@ export default function EnemySquareMenu({ ownersTank, enemyTank, open, + gameAddress, }: { ownersTank: bigint | undefined; enemyTank: bigint | undefined; open: boolean; + gameAddress: `0x${string}`; }) { const [multiplier, setMultiplier] = useState(1); const { toast } = useToast(); let { config: shootConfig } = usePrepareTankGameShoot({ + // @ts-ignore + address: gameAddress, args: [ { fromId: ownersTank!, @@ -67,6 +71,8 @@ export default function EnemySquareMenu({ }); let { config: giftHeartConfig } = usePrepareTankGameGive({ + // @ts-ignore + address: gameAddress, args: [ { fromId: ownersTank!, @@ -97,6 +103,8 @@ export default function EnemySquareMenu({ }, }); let { config: giveAPConfig } = usePrepareTankGameGive({ + // @ts-ignore + address: gameAddress, args: [ { fromId: ownersTank!, @@ -126,6 +134,8 @@ export default function EnemySquareMenu({ }, }); let { config: curseConfig } = usePrepareTankGameVote({ + // @ts-ignore + address: gameAddress, args: [{ voter: ownersTank!, cursed: enemyTank! }], enabled: open && !!ownersTank && !!enemyTank, }); @@ -149,6 +159,8 @@ export default function EnemySquareMenu({ }); let { config: dripConfig } = usePrepareTankGameDrip({ + // @ts-ignore + address: gameAddress, args: [{ tankId: enemyTank! }], enabled: open && !!ownersTank, }); diff --git a/frontend/src/components/tankGame/actions/SelfSquareMenu.tsx b/frontend/src/components/tankGame/actions/SelfSquareMenu.tsx index e72b0ff..5c13fbd 100644 --- a/frontend/src/components/tankGame/actions/SelfSquareMenu.tsx +++ b/frontend/src/components/tankGame/actions/SelfSquareMenu.tsx @@ -14,15 +14,21 @@ import { useToast } from "../../ui/use-toast"; export default function SelfSquareMenu({ ownersTank, open, + gameAddress, }: { ownersTank: bigint; open: boolean; + gameAddress: `0x${string}`; }) { let { toast } = useToast(); let { data: upgradeCost } = useTankGameGetUpgradeCost({ + // @ts-ignore + address: gameAddress, args: [ownersTank], }); let { config: upgradeConfig } = usePrepareTankGameUpgrade({ + // @ts-ignore + address: gameAddress, args: [{ tankId: ownersTank }], enabled: open && !!ownersTank, }); @@ -47,6 +53,8 @@ export default function SelfSquareMenu({ }); let { config: dripConfig } = usePrepareTankGameDrip({ + // @ts-ignore + address: gameAddress, args: [{ tankId: ownersTank }], enabled: open && !!ownersTank, }); diff --git a/frontend/src/components/tankGame/states/GameOver.tsx b/frontend/src/components/tankGame/states/GameOver.tsx index 9026dc9..fc052ae 100644 --- a/frontend/src/components/tankGame/states/GameOver.tsx +++ b/frontend/src/components/tankGame/states/GameOver.tsx @@ -17,26 +17,39 @@ import { CardTitle, } from "../../ui/card"; import { Trophy } from "lucide-react"; -import { toTankName } from "../EventsStream"; +import { useTankNameFromId } from "../EventsStream"; -export function GameOver() { +export function GameOver({ gameAddress }: { gameAddress: `0x${string}` }) { let { toast } = useToast(); const first = useTankGamePodium({ + // @ts-ignore + address: gameAddress, args: [BigInt(0)], }); const second = useTankGamePodium({ + // @ts-ignore + address: gameAddress, args: [BigInt(1)], }); const third = useTankGamePodium({ + // @ts-ignore + address: gameAddress, args: [BigInt(2)], }); + const firstName = useTankNameFromId(gameAddress, first.data!); + const secondName = useTankNameFromId(gameAddress, second.data!); + const thirdName = useTankNameFromId(gameAddress, third.data!); const { address } = useAccount(); let ownersTankId = useTankGamePlayers({ args: [address!], enabled: !!address, + // @ts-ignore + address: gameAddress, }); let { config } = usePrepareTankGameClaim({ + // @ts-ignore + address: gameAddress, args: [{ tankId: ownersTankId.data!, claimer: address! }], enabled: !!ownersTankId.data && @@ -74,9 +87,9 @@ export function GameOver() {
    -
  • First: {!!first.data && toTankName(first.data!)}
  • -
  • Second: {!!second.data && toTankName(second.data!)}
  • -
  • Third: {!!third.data && toTankName(third.data!)}
  • +
  • First: {firstName}
  • +
  • Second: {secondName}
  • +
  • Third: {thirdName}
diff --git a/frontend/src/components/tankGame/states/WaitingForPlayers.tsx b/frontend/src/components/tankGame/states/WaitingForPlayers.tsx index f856cb9..d651e4c 100644 --- a/frontend/src/components/tankGame/states/WaitingForPlayers.tsx +++ b/frontend/src/components/tankGame/states/WaitingForPlayers.tsx @@ -8,8 +8,9 @@ import { useAccount, useWaitForTransaction } from "wagmi"; import { Button } from "../../ui/button"; import { Card, CardHeader } from "../../ui/card"; import { useToast } from "../../ui/use-toast"; -import * as tree from "public/tree.json"; import { StandardMerkleTree } from "@openzeppelin/merkle-tree"; +import { useState } from "react"; +import { Input } from "../../ui/input"; const zero = [ "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -18,27 +19,34 @@ const zero = [ export function WaitingForPlayers({ boardSize, expectedPlayersCount, + gameAddress, }: { boardSize: bigint | undefined; expectedPlayersCount: bigint | undefined; + gameAddress: `0x${string}`; }) { - const merkleTree = StandardMerkleTree.load(tree as any); + // const merkleTree = StandardMerkleTree.load(tree as any); + const [playerName, setPlayerName] = useState(""); + // const merkleTree; const { address } = useAccount(); - const value = tree.values.find((x) => x.value[0] === address); - const proof = value - ? merkleTree - .getProof(value.value) - .map((x) => Object.freeze(x) as `0x${string}`) - : zero; + // const value = tree.values.find((x) => x.value[0] === address); + // const proof = value + // ? merkleTree + // .getProof(value.value) + // .map((x) => Object.freeze(x) as `0x${string}`) + // : zero; + const proof = zero; let { config, refetch } = usePrepareTankGameJoin({ - args: [ - { joiner: address!, proof: proof, playerName: value?.value[1] ?? "" }, - ], + // @ts-ignore + address: gameAddress, + args: [{ joiner: address!, proof: proof, playerName: playerName }], value: BigInt(0), }); let { toast } = useToast(); let numPlayers = useTankGamePlayersCount({ watch: true, + // @ts-ignore + address: gameAddress, }); const { write, data } = useTankGameJoin(config); useWaitForTransaction({ @@ -68,10 +76,20 @@ export function WaitingForPlayers({ {!!numPlayers.data && numPlayers.data.toString()} / {!!expectedPlayersCount && expectedPlayersCount.toString()}

+

+ Player Name:{" "} + setPlayerName(e.target.value)} + /> +

+ - ) - ) : ( - "Has been won" - )} -
- ) : addedHooks && - !addedHooks - .filter((ha: any) => ha.args.hook === hookAddress) - .map((ha: any) => ha.args.tankId) - .includes(ownerTank.data!) ? ( - - ) : ( - "🤝" - )} -
- Accepted by:{" "} - {addedHooks && - addedHooks - ?.filter((ha: any) => ha.args.hook === hookAddress) - .map((ha: any) => { - return toTankName(ha.args.tankId); - }) - .toString()} -
-
+ ); })}
@@ -242,3 +193,113 @@ export default function Bounty({ ) ); } + +function BountyCard({ + bounty, + bountiesWon, + withdraws, + ownerTank, + addHook, + withdraw, + addedHooks, + hookAddress, + gameAddress, +}: { + bounty: any; + bountiesWon: any; + withdraws: any; + ownerTank: any; + addHook: any; + withdraw: any; + addedHooks: any; + hookAddress: Address; + gameAddress: Address; +}) { + const proposerName = useTankNameFromId(gameAddress, bounty.args.tankId); + const targetName = useTankNameFromId(gameAddress, bounty.args.target); + return ( +
+
Proposer: {proposerName}
+
Target: {targetName}
+
Bounty amount: {formatEther(bounty.args.amount)} Ether
+ {bountiesWon?.find( + (wonBounty: any) => wonBounty.args.bountyId === bounty.args.bountyId + ) ? ( +
+ {bountiesWon?.find( + (wonBounty: any) => wonBounty.args.winner === ownerTank.data + ) ? ( + !withdraws?.find( + (withdraw: any) => withdraw.args.bountyId === bounty.args.bountyId + ) ? ( +
+ {"Claimed by "} + + withdraw.args.bountyId === bounty.args.bountyId + )[0].args.winner + } + gameAddress={gameAddress} + /> +
+ ) : ( + + ) + ) : ( + "Has been won" + )} +
+ ) : addedHooks && + !addedHooks + .filter((ha: any) => ha.args.hook === hookAddress) + .map((ha: any) => ha.args.tankId) + .includes(ownerTank.data!) ? ( + + ) : ( + "🤝" + )} +
+ Accepted by:{" "} + {addedHooks && + addedHooks + ?.filter((ha: any) => ha.args.hook === hookAddress) + .map((ha: any, i: number) => { + return ( + + ); + })} +
+
+ ); +} + +function TankName({ + tankId, + gameAddress, +}: { + tankId: bigint; + gameAddress: Address; +}) { + const tankName = useTankNameFromId(gameAddress, tankId); + console.log({ tankName }); + return
{tankName}
; +} diff --git a/frontend/src/components/treaties/CreateBounty.tsx b/frontend/src/components/treaties/CreateBounty.tsx index 2b417a7..dc94ed5 100644 --- a/frontend/src/components/treaties/CreateBounty.tsx +++ b/frontend/src/components/treaties/CreateBounty.tsx @@ -1,6 +1,6 @@ import { usePrepareBountyCreate, useBountyCreate } from "@/src/generated"; import { useState } from "react"; -import { parseEther, BaseError } from "viem"; +import { parseEther, BaseError, Address } from "viem"; import { useWaitForTransaction } from "wagmi"; import { Button } from "../ui/button"; import { Input } from "../ui/input"; @@ -10,8 +10,10 @@ import PlayerDropdown from "../tankGame/PlayerDropdown"; export default function CreateBounty({ hookAddress, + gameAddress, }: { - hookAddress: `0x${string}`; + hookAddress: Address; + gameAddress: Address; }) { const [targetTank, setTargetTank] = useState(); const [bounty, setBounty] = useState(); @@ -50,6 +52,7 @@ export default function CreateBounty({
@@ -60,7 +63,7 @@ export default function CreateBounty({ try { parseEther(e.target.value); setBounty(e.target.value); - } catch (e) {} + } catch (e) { } }} placeholder="Bounty in ETH" /> diff --git a/frontend/src/components/treaties/CreateNonAggression.tsx b/frontend/src/components/treaties/CreateNonAggression.tsx index 95579ff..419f1d0 100644 --- a/frontend/src/components/treaties/CreateNonAggression.tsx +++ b/frontend/src/components/treaties/CreateNonAggression.tsx @@ -1,11 +1,10 @@ import { usePrepareNonAggressionPropose, useNonAggressionPropose, - useTankGameGetSettings, } from "@/src/generated"; import { useState } from "react"; -import { BaseError } from "viem"; -import { useBlockNumber, useWaitForTransaction } from "wagmi"; +import { Address, BaseError } from "viem"; +import { useWaitForTransaction } from "wagmi"; import { Button } from "../ui/button"; import { Input } from "../ui/input"; import { toast } from "../ui/use-toast"; @@ -14,8 +13,10 @@ import PlayerDropdown from "../tankGame/PlayerDropdown"; export default function CreateNonAggression({ hookAddress, + gameAddress, }: { - hookAddress: `0x${string}`; + hookAddress: Address; + gameAddress: Address; }) { const [targetTank, setTargetTank] = useState(); const [expiry, setExpiry] = useState(); @@ -56,6 +57,7 @@ export default function CreateNonAggression({
@@ -66,7 +68,7 @@ export default function CreateNonAggression({ try { BigInt(e.target.value); setExpiry(e.target.value); - } catch (e) {} + } catch (e) { } }} placeholder="Expiration epoch" /> diff --git a/frontend/src/components/treaties/NonAggression.tsx b/frontend/src/components/treaties/NonAggression.tsx index fe7a9f8..2e24906 100644 --- a/frontend/src/components/treaties/NonAggression.tsx +++ b/frontend/src/components/treaties/NonAggression.tsx @@ -1,13 +1,13 @@ import { useTankGamePlayers, - useTankGameGetSettings, nonAggressionABI, usePrepareNonAggressionAccept, useNonAggressionAccept, - useTankGameGetGameEpoch, + useGameViewGetEpoch, + gameViewAddress, } from "@/src/generated"; import { useState, useEffect } from "react"; -import { BaseError, formatEther } from "viem"; +import { Address, BaseError } from "viem"; import { useAccount, useBlockNumber, @@ -15,32 +15,39 @@ import { useWaitForTransaction, } from "wagmi"; import { getPublicClient } from "wagmi/actions"; -import { toTankName } from "../tankGame/EventsStream"; -import { Button } from "../ui/button"; +import { useTankNameFromId } from "../tankGame/EventsStream"; import { toast } from "../ui/use-toast"; -import { secondsToHMS } from "../tankGame/Timer"; import { Card, CardContent, CardHeader } from "../ui/card"; export default function NonAggression({ hookAddress, + gameAddress, ownerHookAddress, tankId, hideNotMine, }: { tankId: bigint; - hookAddress: `0x${string}`; - ownerHookAddress: `0x${string}`; + hookAddress: Address; + gameAddress: Address; + ownerHookAddress: Address; hideNotMine: boolean; }) { const { address } = useAccount(); const ownerTank = useTankGamePlayers({ + // @ts-ignore + address: gameAddress, args: [address!], enabled: !!address, }); - const { data: epoch } = useTankGameGetGameEpoch({ watch: true }); + const { chain } = useNetwork(); + const { data: epoch } = useGameViewGetEpoch({ + // @ts-ignore + address: gameViewAddress[chain?.id as keyof typeof gameViewAddress], + watch: true, + args: [gameAddress], + }); const { data: blockNumber } = useBlockNumber({ watch: true }); const [treaties, setTreaties] = useState(); - // const [bountiesWon, setBountiesWon] = useState(); useEffect(() => { const getLogs = async () => { const publicClient = getPublicClient(); @@ -68,8 +75,8 @@ export default function NonAggression({ acceptedTreaty.args.proposer === proposedTreaty.args.proposer && acceptedTreaty.args.proposee === proposedTreaty.args.proposee && acceptedTreaty.args.expiry === proposedTreaty.args.expiry && - acceptedTreaty.args.proposalHook === - proposedTreaty.args.hookProposer + acceptedTreaty.args.hookProposer === + proposedTreaty.args.proposalHook ) ) .filter((treaty: any) => treaty.args.expiry > epoch!); @@ -111,6 +118,8 @@ export default function NonAggression({ }); }, }); + + const tankName = useTankNameFromId(gameAddress, tankId); return (
{treaties && @@ -125,7 +134,7 @@ export default function NonAggression({ }).length !== 0 && ( -
🛡️ {toTankName(tankId)} Alliances
+
🛡️ {tankName} Alliances
{treaties @@ -138,66 +147,50 @@ export default function NonAggression({ } return true; }) - .map((bounty: any, i: number) => { - return ( -
-
Proposer: {toTankName(bounty.args.proposer)}
-
{bounty.isAccepted ? "🤝 accepted" : "⏳ pending..."}
-
Ally: {toTankName(bounty.args.proposee)}
-
- Non-aggression until epoch:{" "} - {bounty.args.expiry.toString()} -
- {/*
- Approx time: - {secondsToHMS( - Number(bounty.args.expiry - blockNumber!) * 12 - )} -
*/} - {bounty.args.proposee === ownerTank.data! && - !bounty.isAccepted && ( - - )} -
- ); - })} + .map((bounty: any, i: number) => ( + + ))}
)} - {/* {acceptedTreaties && acceptedTreaties.length !== 0 && ( - - -
- Active alliances for {toTankName(tankId)} -
-
- - {acceptedTreaties.map((bounty: any, i: number) => { - return ( -
-
Proposer: {toTankName(bounty.args.proposer)}
-
Ally: {toTankName(bounty.args.accepter)}
-
- Non-aggression until block: {bounty.args.expiry.toString()} -
-
- Approx time: - {secondsToHMS( - Number(bounty.args.expiry - blockNumber!) * 12 - )} -
-
- ); - })} -
-
- )} */} +
+ ); +} + +function BountyComponent({ + bounty, + gameAddress, + ownerTank, + accept, +}: { + bounty: any; + gameAddress: Address; + ownerTank: any; + accept: any; +}) { + const proposerName = useTankNameFromId(gameAddress, bounty.args.proposer); + const proposeeName = useTankNameFromId(gameAddress, bounty.args.proposee); + return ( +
+
Proposer: {proposerName}
+
{bounty.isAccepted ? "🤝 accepted" : "⏳ pending..."}
+
Ally: {proposeeName}
+
Non-aggression until epoch: {bounty.args.expiry.toString()}
+ {bounty.args.proposee === ownerTank.data! && !bounty.isAccepted && ( + + )}
); } diff --git a/frontend/src/components/treaties/Treaties.tsx b/frontend/src/components/treaties/Treaties.tsx index 07fffc9..747d324 100644 --- a/frontend/src/components/treaties/Treaties.tsx +++ b/frontend/src/components/treaties/Treaties.tsx @@ -1,10 +1,8 @@ "use client"; import { - gameViewABI, hookFactoryABI, hookFactoryAddress, tankGameABI, - tankGameAddress, useTankGamePlayers, } from "@/src/generated"; import { useEffect, useState } from "react"; @@ -22,13 +20,15 @@ import { AccordionTrigger, } from "../ui/accordion"; -export function Treaties() { +export function Treaties({ gameAddress }: { gameAddress: `0x${string}` }) { const { chain } = useNetwork(); const { address } = useAccount(); const { data: blockNumber } = useBlockNumber({ watch: true }); let ownerTank = useTankGamePlayers({ args: [address!], enabled: !!address, + // @ts-ignore + address: gameAddress, }); const [hooks, setHooks] = useState(); @@ -48,14 +48,14 @@ export function Treaties() { const hooks = await publicClient.getFilterLogs({ filter, }); - setHooks(hooks); + setHooks(hooks.filter((hook: any) => hook.args.tankGame === gameAddress)); const addedFilter = await publicClient.createContractEventFilter({ abi: tankGameABI, strict: true, eventName: "HooksAdded", fromBlock: BigInt(0), - address: tankGameAddress[chainId as keyof typeof tankGameAddress], + address: gameAddress, }); const hookAddedEvents = await publicClient.getFilterLogs({ @@ -64,7 +64,7 @@ export function Treaties() { setHooksAdded(hookAddedEvents); }; getLogs(); - }, [chain, blockNumber]); + }, [blockNumber, gameAddress, chain]); return (
@@ -85,6 +85,7 @@ export function Treaties() { return ( ); @@ -92,6 +93,7 @@ export function Treaties() { return ( ); @@ -125,36 +127,38 @@ export function Treaties() {
{hooks ? hooks - .sort((a: any, b: any) => a.args._type - b.args._type) - .map((hook: any, i: number) => { - if (hook.args._type === 1) { - return ( - - ); - } else if (hook.args._type === 0) { - return ( - - h.args._type === 0 && - h.args.tankId === ownerTank.data - )?.args.hookAddress - } - /> - ); - } - }) + .sort((a: any, b: any) => a.args._type - b.args._type) + .map((hook: any, i: number) => { + if (hook.args._type === 1) { + return ( + + ); + } else if (hook.args._type === 0) { + return ( + + h.args._type === 0 && + h.args.tankId === ownerTank.data + )?.args.hookAddress + } + /> + ); + } + }) : "Loading..."}
diff --git a/frontend/src/components/wagmi/Connected.tsx b/frontend/src/components/wagmi/Connected.tsx index f016b08..3f15e4e 100644 --- a/frontend/src/components/wagmi/Connected.tsx +++ b/frontend/src/components/wagmi/Connected.tsx @@ -1,13 +1,7 @@ "use client"; -import { useAccount } from "wagmi"; -import ManifestoPage from "@/src/app/manifesto/page"; +import Manifesto from "../tankGame/Manifesto"; export function Connected({ children }: { children: React.ReactNode }) { - const { isConnected } = useAccount(); - - if (!isConnected) return ; - // before deployment - // return ; return <>{children}; } diff --git a/frontend/src/generated.ts b/frontend/src/generated.ts index 86efa19..35333d4 100644 --- a/frontend/src/generated.ts +++ b/frontend/src/generated.ts @@ -1,4 +1,3 @@ -// Generated by @wagmi/cli@1.2.0 on 10/5/2023 at 11:25:47 AM import { useContractRead, UseContractReadConfig, @@ -9,6 +8,7 @@ import { useContractEvent, UseContractEventConfig, useNetwork, + useChainId, Address, } from 'wagmi' import { @@ -18,319 +18,266 @@ import { } from 'wagmi/actions' ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Bounty +// Board ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const bountyABI = [ +export const boardABI = [ { - stateMutability: 'nonpayable', - type: 'constructor', - inputs: [ - { - name: '_tankGame', - internalType: 'contract ITankGame', - type: 'address', - }, - { name: '_ownerTank', internalType: 'uint256', type: 'uint256' }, - ], + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'boardSize', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - type: 'event', - anonymous: false, + stateMutability: 'pure', + type: 'function', inputs: [ { - name: 'ownerTank', - internalType: 'uint256', - type: 'uint256', - indexed: false, + name: 'a', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], }, { - name: 'tankGame', - internalType: 'contract ITankGame', - type: 'address', - indexed: false, + name: 'b', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], }, ], - name: 'BountyHookCreated', + name: 'getDistance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - type: 'event', - anonymous: false, + stateMutability: 'view', + type: 'function', inputs: [ + { name: 'tankA', internalType: 'uint256', type: 'uint256' }, { - name: 'bountyId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'target', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'amount', - internalType: 'uint256', - type: 'uint256', - indexed: false, + name: 'b', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], }, ], - name: 'BountyPosted', + name: 'getDistanceTankToPoint', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - type: 'event', - anonymous: false, + stateMutability: 'view', + type: 'function', inputs: [ - { - name: 'bountyId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'winner', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'victim', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'amount', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, + { name: 'tankA', internalType: 'uint256', type: 'uint256' }, + { name: 'tankB', internalType: 'uint256', type: 'uint256' }, ], - name: 'BountyWon', + name: 'getDistanceTanks', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'amount', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'seed', internalType: 'uint256', type: 'uint256' }], + name: 'getEmptyTile', + outputs: [ { - name: 'reciever', - internalType: 'address', - type: 'address', - indexed: false, + name: '', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], }, ], - name: 'Withdraw', }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', - internalType: 'struct ITankGame.ClaimParams', + name: 'point', + internalType: 'struct Board.Point', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'claimer', internalType: 'address', type: 'address' }, + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterClaim', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'getHeartAtPosition', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, + inputs: [{ name: 'radius', internalType: 'uint256', type: 'uint256' }], + name: 'getPerimeterForRadius', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'getTankPosition', + outputs: [ { name: '', - internalType: 'struct ITankGame.DelegateParams', + internalType: 'struct Board.Point', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'delegatee', internalType: 'address', type: 'address' }, + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterDelegate', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', - internalType: 'struct ITankGame.DripParams', + name: 'point', + internalType: 'struct Board.Point', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterDrip', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, + name: 'getTile', + outputs: [ { name: '', - internalType: 'struct ITankGame.GiveParams', + internalType: 'struct Board.Tile', type: 'tuple', components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterGive', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'pure', + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'getTotalTiles', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', - internalType: 'struct ITankGame.JoinParams', + name: 'point', + internalType: 'struct Board.Point', type: 'tuple', components: [ - { name: 'joiner', internalType: 'address', type: 'address' }, - { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, - { name: 'playerName', internalType: 'string', type: 'string' }, + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterJoin', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'isValidPoint', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', - internalType: 'struct ITankGame.MoveParams', - type: 'tuple', + name: 'point', + internalType: 'struct Board.Point', + type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { - name: 'to', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - }, + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'afterMove', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterReveal', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'pointToIndex', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, + inputs: [{ name: 'seed', internalType: 'uint256', type: 'uint256' }], + name: 'randomPoint', + outputs: [ { - name: 'shootParams', - internalType: 'struct ITankGame.ShootParams', + name: '', + internalType: 'struct Board.Point', type: 'tuple', components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'shots', internalType: 'uint256', type: 'uint256' }, + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterShoot', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', - internalType: 'struct ITankGame.UpgradeParams', + name: 'point', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, + { + name: 'tile', + internalType: 'struct Board.Tile', type: 'tuple', components: [ { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterUpgrade', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'setTile', + outputs: [], }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Bounty +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const bountyABI = [ { stateMutability: 'nonpayable', - type: 'function', + type: 'constructor', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.VoteParams', - type: 'tuple', - components: [ - { name: 'voter', internalType: 'uint256', type: 'uint256' }, - { name: 'cursed', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, + { name: '_tankGame', internalType: 'address', type: 'address' }, + { name: '_tankGameView', internalType: 'address', type: 'address' }, + { name: '_ownerTank', internalType: 'uint256', type: 'uint256' }, ], - name: 'afterVote', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'pure', @@ -348,7 +295,7 @@ export const bountyABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeClaim', + name: 'afterClaim', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -367,7 +314,7 @@ export const bountyABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeDelegate', + name: 'afterDelegate', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -385,11 +332,11 @@ export const bountyABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeDrip', + name: 'afterDrip', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'pure', + stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, @@ -406,7 +353,7 @@ export const bountyABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeGive', + name: 'afterGive', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -426,7 +373,7 @@ export const bountyABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeJoin', + name: 'afterJoin', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -454,17 +401,17 @@ export const bountyABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeMove', + name: 'afterMove', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'pure', + stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeReveal', + name: 'afterReveal', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -473,7 +420,7 @@ export const bountyABI = [ inputs: [ { name: '', internalType: 'address', type: 'address' }, { - name: '', + name: 'shootParams', internalType: 'struct ITankGame.ShootParams', type: 'tuple', components: [ @@ -484,7 +431,7 @@ export const bountyABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeShoot', + name: 'afterShoot', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -502,7 +449,7 @@ export const bountyABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeUpgrade', + name: 'afterUpgrade', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -521,90 +468,9 @@ export const bountyABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeVote', + name: 'afterVote', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'bounties', - outputs: [{ name: 'bountyId', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'bountyId', internalType: 'uint256', type: 'uint256' }], - name: 'bountiesData', - outputs: [ - { name: 'targetTankId', internalType: 'uint256', type: 'uint256' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, - { name: 'closed', internalType: 'bool', type: 'bool' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'bountyCount', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [{ name: 'bountyId', internalType: 'uint256', type: 'uint256' }], - name: 'cancel', - outputs: [], - }, - { - stateMutability: 'payable', - type: 'function', - inputs: [ - { name: 'targetTankId', internalType: 'uint256', type: 'uint256' }, - ], - name: 'create', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'ownerTank', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'tankGame', - outputs: [ - { name: '', internalType: 'contract ITankGame', type: 'address' }, - ], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'reciever', internalType: 'address', type: 'address' }, - ], - name: 'withdraw', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'withdrawals', - outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], - }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// DefaultEmptyHooks -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const defaultEmptyHooksABI = [ { stateMutability: 'pure', type: 'function', @@ -621,7 +487,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterClaim', + name: 'beforeClaim', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -640,7 +506,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterDelegate', + name: 'beforeDelegate', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -658,11 +524,11 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterDrip', + name: 'beforeDrip', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'pure', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, @@ -679,7 +545,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterGive', + name: 'beforeGive', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -699,7 +565,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterJoin', + name: 'beforeJoin', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -727,17 +593,17 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterMove', + name: 'beforeMove', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'pure', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterReveal', + name: 'beforeReveal', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -757,7 +623,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterShoot', + name: 'beforeShoot', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -775,7 +641,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterUpgrade', + name: 'beforeUpgrade', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -794,45 +660,247 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterVote', + name: 'beforeVote', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.ClaimParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'claimer', internalType: 'address', type: 'address' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'beforeClaim', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'bounties', + outputs: [{ name: 'bountyId', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.DelegateParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + inputs: [{ name: 'bountyId', internalType: 'uint256', type: 'uint256' }], + name: 'bountiesData', + outputs: [ + { name: 'targetTankId', internalType: 'uint256', type: 'uint256' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + { name: 'closed', internalType: 'bool', type: 'bool' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'bountyCount', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: 'bountyId', internalType: 'uint256', type: 'uint256' }], + name: 'cancel', + outputs: [], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { name: 'targetTankId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'create', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'ownerTank', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'tankGame', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'tankGameView', + outputs: [ + { name: '', internalType: 'contract IGameView', type: 'address' }, + ], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'reciever', internalType: 'address', type: 'address' }, + ], + name: 'withdraw', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'withdrawals', + outputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'ownerTank', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'tankGame', + internalType: 'address', + type: 'address', + indexed: false, + }, + ], + name: 'BountyHookCreated', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'bountyId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'target', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'amount', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'BountyPosted', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'bountyId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'winner', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'victim', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'amount', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'BountyWon', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'amount', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'reciever', + internalType: 'address', + type: 'address', + indexed: false, + }, + ], + name: 'Withdraw', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Clones +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const clonesABI = [ + { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// DefaultEmptyHooks +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const defaultEmptyHooksABI = [ + { + stateMutability: 'pure', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { + name: '', + internalType: 'struct ITankGame.ClaimParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'claimer', internalType: 'address', type: 'address' }, + ], + }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'afterClaim', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { + name: '', + internalType: 'struct ITankGame.DelegateParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, { name: 'delegatee', internalType: 'address', type: 'address' }, ], }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeDelegate', + name: 'afterDelegate', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -850,11 +918,11 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeDrip', + name: 'afterDrip', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'pure', + stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, @@ -871,7 +939,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeGive', + name: 'afterGive', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -891,7 +959,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeJoin', + name: 'afterJoin', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -919,17 +987,17 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeMove', + name: 'afterMove', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'pure', + stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeReveal', + name: 'afterReveal', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -949,7 +1017,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeShoot', + name: 'afterShoot', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -967,7 +1035,7 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeUpgrade', + name: 'afterUpgrade', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { @@ -986,500 +1054,424 @@ export const defaultEmptyHooksABI = [ }, { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeVote', + name: 'afterVote', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// GameView -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/** - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x82f32a46AA9c66d6d75B3AC61a82e5Dd3e958442) - * - - */ -export const gameViewABI = [ { - stateMutability: 'nonpayable', - type: 'constructor', + stateMutability: 'pure', + type: 'function', inputs: [ - { name: '_game', internalType: 'contract ITankGame', type: 'address' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'game', - outputs: [ - { name: '', internalType: 'contract ITankGame', type: 'address' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getAllHearts', - outputs: [ + { name: '', internalType: 'address', type: 'address' }, { name: '', - internalType: 'struct GameView.HeartLocation[]', - type: 'tuple[]', + internalType: 'struct ITankGame.ClaimParams', + type: 'tuple', components: [ - { - name: 'position', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: 'numHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'claimer', internalType: 'address', type: 'address' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], + name: 'beforeClaim', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'view', + stateMutability: 'pure', type: 'function', - inputs: [], - name: 'getAllTanks', - outputs: [ + inputs: [ + { name: '', internalType: 'address', type: 'address' }, { name: '', - internalType: 'struct GameView.TankLocation[]', - type: 'tuple[]', + internalType: 'struct ITankGame.DelegateParams', + type: 'tuple', components: [ - { - name: 'tank', - internalType: 'struct ITankGame.Tank', - type: 'tuple', - components: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - { name: 'range', internalType: 'uint256', type: 'uint256' }, - ], - }, - { - name: 'position', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - }, { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'delegatee', internalType: 'address', type: 'address' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - }, -] as const - -/** - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x82f32a46AA9c66d6d75B3AC61a82e5Dd3e958442) - * - - */ -export const gameViewAddress = { - 5: '0x82f32a46AA9c66d6d75B3AC61a82e5Dd3e958442', - 31337: '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9', -} as const - -/** - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x82f32a46AA9c66d6d75B3AC61a82e5Dd3e958442) - * - - */ -export const gameViewConfig = { - address: gameViewAddress, - abi: gameViewABI, -} as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// HexBoard -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const hexBoardABI = [ - { - stateMutability: 'nonpayable', - type: 'constructor', - inputs: [{ name: '_boardSize', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'boardSize', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'beforeDelegate', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'pure', type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'a', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - }, - { - name: 'b', - internalType: 'struct Board.Point', + name: '', + internalType: 'struct ITankGame.DripParams', type: 'tuple', components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'getDistance', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'beforeDrip', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'view', + stateMutability: 'pure', type: 'function', inputs: [ - { name: 'tankA', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, { - name: 'b', - internalType: 'struct Board.Point', + name: '', + internalType: 'struct ITankGame.GiveParams', type: 'tuple', components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'getDistanceTankToPoint', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'beforeGive', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'view', + stateMutability: 'pure', type: 'function', inputs: [ - { name: 'tankA', internalType: 'uint256', type: 'uint256' }, - { name: 'tankB', internalType: 'uint256', type: 'uint256' }, - ], - name: 'getDistanceTanks', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'seed', internalType: 'uint256', type: 'uint256' }], - name: 'getEmptyTile', - outputs: [ + { name: '', internalType: 'address', type: 'address' }, { name: '', - internalType: 'struct Board.Point', + internalType: 'struct ITankGame.JoinParams', type: 'tuple', components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, + { name: 'joiner', internalType: 'address', type: 'address' }, + { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, + { name: 'playerName', internalType: 'string', type: 'string' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], + name: 'beforeJoin', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'point', - internalType: 'struct Board.Point', + name: '', + internalType: 'struct ITankGame.MoveParams', type: 'tuple', components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { + name: 'to', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'getHeartAtPosition', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'beforeMove', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'pure', type: 'function', - inputs: [{ name: 'radius', internalType: 'uint256', type: 'uint256' }], - name: 'getPerimeterForRadius', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'beforeReveal', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'getTankPosition', - outputs: [ + inputs: [ + { name: '', internalType: 'address', type: 'address' }, { name: '', - internalType: 'struct Board.Point', + internalType: 'struct ITankGame.ShootParams', type: 'tuple', components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'shots', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], + name: 'beforeShoot', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'point', - internalType: 'struct Board.Point', + name: '', + internalType: 'struct ITankGame.UpgradeParams', type: 'tuple', components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'getTile', - outputs: [ + name: 'beforeUpgrade', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, { name: '', - internalType: 'struct Board.Tile', + internalType: 'struct ITankGame.VoteParams', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'voter', internalType: 'uint256', type: 'uint256' }, + { name: 'cursed', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], + name: 'beforeVote', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// GameView +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - + */ +export const gameViewABI = [ { stateMutability: 'view', type: 'function', - inputs: [], - name: 'getTotalTiles', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], - name: 'heartsOnBoard', - outputs: [{ name: 'heartCount', internalType: 'uint256', type: 'uint256' }], + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getAllHearts', + outputs: [ + { + name: '', + internalType: 'struct IGameView.HeartLocation[]', + type: 'tuple[]', + components: [ + { + name: 'position', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: 'numHearts', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], }, { stateMutability: 'view', type: 'function', - inputs: [ + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getAllTanks', + outputs: [ { - name: 'point', - internalType: 'struct Board.Point', - type: 'tuple', + name: '', + internalType: 'struct IGameView.TankLocation[]', + type: 'tuple[]', components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, + { + name: 'tank', + internalType: 'struct ITankGame.Tank', + type: 'tuple', + components: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + { name: 'range', internalType: 'uint256', type: 'uint256' }, + ], + }, + { + name: 'position', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], }, ], - name: 'isValidPoint', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: 'pure', + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getBoard', + outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getEpoch', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getGameEpoch', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', type: 'function', inputs: [ - { - name: 'point', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - }, + { name: 'game', internalType: 'address', type: 'address' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], - name: 'pointToIndex', + name: 'getLastDrip', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', - inputs: [{ name: 'seed', internalType: 'uint256', type: 'uint256' }], - name: 'randomPoint', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getPlayerCount', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getSettings', outputs: [ { name: '', - internalType: 'struct Board.Point', + internalType: 'struct ITankGame.GameSettings', type: 'tuple', components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, + { + name: 'revealWaitBlocks', + internalType: 'uint256', + type: 'uint256', + }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, + { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], }, ], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getState', + outputs: [ + { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, + ], + }, + { + stateMutability: 'view', type: 'function', inputs: [ + { name: 'game', internalType: 'address', type: 'address' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'getTank', + outputs: [ { - name: 'point', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - }, - { - name: 'tile', - internalType: 'struct Board.Tile', + name: '', + internalType: 'struct ITankGame.Tank', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + { name: 'range', internalType: 'uint256', type: 'uint256' }, ], }, ], - name: 'setTile', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'tankToPosition', - outputs: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], }, { stateMutability: 'view', type: 'function', - inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], - name: 'tanksOnBoard', - outputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// HookFactory -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/** - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x55ee75ab3A7177aFc9390528EE31949839787d82) - * - - */ -export const hookFactoryABI = [ - { - type: 'event', - anonymous: false, inputs: [ - { - name: 'tankGame', - internalType: 'contract ITankGame', - type: 'address', - indexed: true, - }, - { - name: '_type', - internalType: 'enum HookFactory.HookRegistry', - type: 'uint8', - indexed: false, - }, - { - name: 'hookAddress', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'creator', - internalType: 'address', - type: 'address', - indexed: false, - }, + { name: 'game', internalType: 'address', type: 'address' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], - name: 'HookCreated', + name: 'getUpgradeCost', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', inputs: [ - { name: 'tankGame', internalType: 'contract ITankGame', type: 'address' }, + { name: 'game', internalType: 'address', type: 'address' }, { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { - name: 'hookType', - internalType: 'enum HookFactory.HookRegistry', - type: 'uint8', - }, + { name: '_owner', internalType: 'address', type: 'address' }, ], - name: 'createHook', - outputs: [{ name: '', internalType: 'contract IHooks', type: 'address' }], + name: 'isAuth', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, ] as const /** - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x55ee75ab3A7177aFc9390528EE31949839787d82) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) * - */ -export const hookFactoryAddress = { - 5: '0x55ee75ab3A7177aFc9390528EE31949839787d82', +export const gameViewAddress = { + 5: '0xE19866944E2CD0FfaE4e35d168149b9B934eA471', 31337: '0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9', } as const /** - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x55ee75ab3A7177aFc9390528EE31949839787d82) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) * - */ -export const hookFactoryConfig = { - address: hookFactoryAddress, - abi: hookFactoryABI, +export const gameViewConfig = { + address: gameViewAddress, + abi: gameViewABI, } as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IAcceptable +// HexBoard ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const iAcceptableABI = [ +export const hexBoardABI = [ { stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'hook', internalType: 'address', type: 'address' }, - ], - name: 'accept', - outputs: [], + type: 'constructor', + inputs: [{ name: '_boardSize', internalType: 'uint256', type: 'uint256' }], }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Board -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const boardABI = [ { stateMutability: 'view', type: 'function', @@ -1581,7 +1573,7 @@ export const boardABI = [ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'view', + stateMutability: 'pure', type: 'function', inputs: [{ name: 'radius', internalType: 'uint256', type: 'uint256' }], name: 'getPerimeterForRadius', @@ -1640,6 +1632,13 @@ export const boardABI = [ name: 'getTotalTiles', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], + name: 'heartsOnBoard', + outputs: [{ name: 'heartCount', internalType: 'uint256', type: 'uint256' }], + }, { stateMutability: 'view', type: 'function', @@ -1659,7 +1658,7 @@ export const boardABI = [ outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: 'view', + stateMutability: 'pure', type: 'function', inputs: [ { @@ -1721,123 +1720,180 @@ export const boardABI = [ name: 'setTile', outputs: [], }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'tankToPosition', + outputs: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], + name: 'tanksOnBoard', + outputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IHooks +// HookFactory ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const iHooksABI = [ +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3) + * - + */ +export const hookFactoryABI = [ { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'gameId', internalType: 'address', type: 'address' }, + { name: 'tankGame', internalType: 'contract ITankGame', type: 'address' }, + { name: 'gameView', internalType: 'contract IGameView', type: 'address' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, { - name: 'claimParams', - internalType: 'struct ITankGame.ClaimParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'claimer', internalType: 'address', type: 'address' }, - ], + name: 'hookType', + internalType: 'enum HookFactory.HookRegistry', + type: 'uint8', }, - { name: 'hookData', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterClaim', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'createHook', + outputs: [{ name: '', internalType: 'contract IHooks', type: 'address' }], }, { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'gameId', internalType: 'address', type: 'address' }, { - name: 'delegateParams', - internalType: 'struct ITankGame.DelegateParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'delegatee', internalType: 'address', type: 'address' }, - ], + name: 'tankGame', + internalType: 'contract ITankGame', + type: 'address', + indexed: true, }, - { name: 'hookData', internalType: 'bytes', type: 'bytes' }, - ], - name: 'afterDelegate', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'gameId', internalType: 'address', type: 'address' }, { - name: 'dripParams', - internalType: 'struct ITankGame.DripParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], + name: '_type', + internalType: 'enum HookFactory.HookRegistry', + type: 'uint8', + indexed: false, + }, + { + name: 'hookAddress', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'creator', + internalType: 'address', + type: 'address', + indexed: false, }, - { name: 'hookData', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterDrip', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'HookCreated', }, +] as const + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3) + * - + */ +export const hookFactoryAddress = { + 5: '0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3', + 31337: '0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9', +} as const + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3) + * - + */ +export const hookFactoryConfig = { + address: hookFactoryAddress, + abi: hookFactoryABI, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IAcceptable +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iAcceptableABI = [ { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'gameId', internalType: 'address', type: 'address' }, - { - name: 'giveParams', - internalType: 'struct ITankGame.GiveParams', - type: 'tuple', - components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: 'hookData', internalType: 'bytes', type: 'bytes' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'hook', internalType: 'address', type: 'address' }, ], - name: 'afterGive', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'accept', + outputs: [], }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IGameView +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iGameViewABI = [ { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: 'gameId', internalType: 'address', type: 'address' }, + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getAllHearts', + outputs: [ { - name: 'joinParams', - internalType: 'struct ITankGame.JoinParams', - type: 'tuple', + name: '', + internalType: 'struct IGameView.HeartLocation[]', + type: 'tuple[]', components: [ - { name: 'joiner', internalType: 'address', type: 'address' }, - { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, - { name: 'playerName', internalType: 'string', type: 'string' }, + { + name: 'position', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: 'numHearts', internalType: 'uint256', type: 'uint256' }, ], }, - { name: 'hookData', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterJoin', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: 'gameId', internalType: 'address', type: 'address' }, + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getAllTanks', + outputs: [ { - name: 'moveParams', - internalType: 'struct ITankGame.MoveParams', - type: 'tuple', + name: '', + internalType: 'struct IGameView.TankLocation[]', + type: 'tuple[]', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, { - name: 'to', + name: 'tank', + internalType: 'struct ITankGame.Tank', + type: 'tuple', + components: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + { name: 'range', internalType: 'uint256', type: 'uint256' }, + ], + }, + { + name: 'position', internalType: 'struct Board.Point', type: 'tuple', components: [ @@ -1846,29 +1902,268 @@ export const iHooksABI = [ { name: 'z', internalType: 'uint256', type: 'uint256' }, ], }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], }, - { name: 'hookData', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterMove', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: 'gameId', internalType: 'address', type: 'address' }, - { name: 'hookData', internalType: 'bytes', type: 'bytes' }, - ], - name: 'afterReveal', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getBoard', + outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getEpoch', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getGameEpoch', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', type: 'function', inputs: [ - { name: 'gameId', internalType: 'address', type: 'address' }, - { + { name: 'game', internalType: 'address', type: 'address' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'getLastDrip', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getPlayerCount', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getSettings', + outputs: [ + { + name: '', + internalType: 'struct ITankGame.GameSettings', + type: 'tuple', + components: [ + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, + { + name: 'revealWaitBlocks', + internalType: 'uint256', + type: 'uint256', + }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, + { name: 'root', internalType: 'bytes32', type: 'bytes32' }, + ], + }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'game', internalType: 'address', type: 'address' }], + name: 'getState', + outputs: [ + { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'game', internalType: 'address', type: 'address' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'getTank', + outputs: [ + { + name: '', + internalType: 'struct ITankGame.Tank', + type: 'tuple', + components: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + { name: 'range', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'game', internalType: 'address', type: 'address' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, + ], + name: 'isAuth', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IHooks +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iHooksABI = [ + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'gameId', internalType: 'address', type: 'address' }, + { + name: 'claimParams', + internalType: 'struct ITankGame.ClaimParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'claimer', internalType: 'address', type: 'address' }, + ], + }, + { name: 'hookData', internalType: 'bytes', type: 'bytes' }, + ], + name: 'afterClaim', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'gameId', internalType: 'address', type: 'address' }, + { + name: 'delegateParams', + internalType: 'struct ITankGame.DelegateParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'delegatee', internalType: 'address', type: 'address' }, + ], + }, + { name: 'hookData', internalType: 'bytes', type: 'bytes' }, + ], + name: 'afterDelegate', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'gameId', internalType: 'address', type: 'address' }, + { + name: 'dripParams', + internalType: 'struct ITankGame.DripParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: 'hookData', internalType: 'bytes', type: 'bytes' }, + ], + name: 'afterDrip', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'gameId', internalType: 'address', type: 'address' }, + { + name: 'giveParams', + internalType: 'struct ITankGame.GiveParams', + type: 'tuple', + components: [ + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: 'hookData', internalType: 'bytes', type: 'bytes' }, + ], + name: 'afterGive', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'gameId', internalType: 'address', type: 'address' }, + { + name: 'joinParams', + internalType: 'struct ITankGame.JoinParams', + type: 'tuple', + components: [ + { name: 'joiner', internalType: 'address', type: 'address' }, + { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, + { name: 'playerName', internalType: 'string', type: 'string' }, + ], + }, + { name: 'hookData', internalType: 'bytes', type: 'bytes' }, + ], + name: 'afterJoin', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'gameId', internalType: 'address', type: 'address' }, + { + name: 'moveParams', + internalType: 'struct ITankGame.MoveParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { + name: 'to', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + }, + { name: 'hookData', internalType: 'bytes', type: 'bytes' }, + ], + name: 'afterMove', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'gameId', internalType: 'address', type: 'address' }, + { name: 'hookData', internalType: 'bytes', type: 'bytes' }, + ], + name: 'afterReveal', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'gameId', internalType: 'address', type: 'address' }, + { name: 'shootParams', internalType: 'struct ITankGame.ShootParams', type: 'tuple', @@ -2362,39 +2657,259 @@ export const iMulticall3ABI = [ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export const iTankGameABI = [ { - type: 'event', - anonymous: false, + stateMutability: 'nonpayable', + type: 'function', inputs: [ - { - name: 'hunter', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'victim', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'reward', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, ], - name: 'BountyCompleted', + name: 'addHooks', + outputs: [], }, { - type: 'event', - anonymous: false, + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'claimParams', + internalType: 'struct ITankGame.ClaimParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'claimer', internalType: 'address', type: 'address' }, + ], + }, + ], + name: 'claim', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'delegateParams', + internalType: 'struct ITankGame.DelegateParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'delegatee', internalType: 'address', type: 'address' }, + ], + }, + ], + name: 'delegate', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'dripParams', + internalType: 'struct ITankGame.DripParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'drip', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, + ], + name: 'forceAddDefaultHook', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'giveParams', + internalType: 'struct ITankGame.GiveParams', + type: 'tuple', + components: [ + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'give', + outputs: [], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'settings', + internalType: 'struct ITankGame.GameSettings', + type: 'tuple', + components: [ + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, + { + name: 'revealWaitBlocks', + internalType: 'uint256', + type: 'uint256', + }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, + { name: 'root', internalType: 'bytes32', type: 'bytes32' }, + ], + }, + { name: '_owner', internalType: 'address', type: 'address' }, + ], + name: 'initialize', + outputs: [], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'joinParams', + internalType: 'struct ITankGame.JoinParams', + type: 'tuple', + components: [ + { name: 'joiner', internalType: 'address', type: 'address' }, + { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, + { name: 'playerName', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'join', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'moveParams', + internalType: 'struct ITankGame.MoveParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { + name: 'to', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + }, + ], + name: 'move', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [], + name: 'reveal', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'shootParams', + internalType: 'struct ITankGame.ShootParams', + type: 'tuple', + components: [ + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'shots', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'shoot', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'upgradeParams', + internalType: 'struct ITankGame.UpgradeParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'upgrade', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'voteParams', + internalType: 'struct ITankGame.VoteParams', + type: 'tuple', + components: [ + { name: 'voter', internalType: 'uint256', type: 'uint256' }, + { name: 'cursed', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'vote', + outputs: [], + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'hunter', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'victim', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'reward', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'BountyCompleted', + }, + { + type: 'event', + anonymous: false, inputs: [ { name: 'reciever', @@ -2551,6 +3066,7 @@ export const iTankGameABI = [ internalType: 'uint256', type: 'uint256', }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], indexed: false, @@ -2840,163 +3356,224 @@ export const iTankGameABI = [ ], name: 'Vote', }, +] as const + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export const iTankGameAddress = { + 5: '0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414', + 31337: '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0', +} as const + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export const iTankGameConfig = { + address: iTankGameAddress, + abi: iTankGameABI, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// ITreaty +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iTreatyABI = [ { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, + { name: 'hook', internalType: 'address', type: 'address' }, ], - name: 'addHooks', + name: 'accept', outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { - name: 'claimParams', - internalType: 'struct ITankGame.ClaimParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'claimer', internalType: 'address', type: 'address' }, - ], - }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'expiry', internalType: 'uint256', type: 'uint256' }, ], - name: 'claim', + name: 'propose', outputs: [], }, { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'delegateParams', - internalType: 'struct ITankGame.DelegateParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'delegatee', internalType: 'address', type: 'address' }, - ], + name: 'proposer', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'proposee', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'hookProposer', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'hookAccepter', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'expiry', + internalType: 'uint256', + type: 'uint256', + indexed: false, }, ], - name: 'delegate', - outputs: [], + name: 'AcceptedTreaty', }, { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'dripParams', - internalType: 'struct ITankGame.DripParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], + name: 'proposer', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'proposee', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'proposalHook', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'expiry', + internalType: 'uint256', + type: 'uint256', + indexed: false, }, ], - name: 'drip', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getBoard', - outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getEpoch', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getGameEpoch', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'ProposedTreaty', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Math +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const mathABI = [ + { type: 'error', inputs: [], name: 'MathOverflowedMulDiv' }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// MerkleProof +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const merkleProofABI = [ + { type: 'error', inputs: [], name: 'MerkleProofInvalidMultiproof' }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// NonAggression +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const nonAggressionABI = [ { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'getLastDrip', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'constructor', + inputs: [ + { name: '_tankGame', internalType: 'address', type: 'address' }, + { name: '_gameView', internalType: 'address', type: 'address' }, + { name: '_ownerTank', internalType: 'uint256', type: 'uint256' }, + ], }, { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', - inputs: [], - name: 'getPlayerCount', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + inputs: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'treaty', internalType: 'address', type: 'address' }, + ], + name: 'accept', + outputs: [], }, { - stateMutability: 'view', + stateMutability: 'pure', type: 'function', - inputs: [], - name: 'getSettings', - outputs: [ + inputs: [ + { name: '', internalType: 'address', type: 'address' }, { name: '', - internalType: 'struct ITankGame.GameSettings', + internalType: 'struct ITankGame.ClaimParams', type: 'tuple', components: [ - { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, - { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, - { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, - { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, - { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, - { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, - { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, - { - name: 'revealWaitBlocks', - internalType: 'uint256', - type: 'uint256', - }, - { name: 'root', internalType: 'bytes32', type: 'bytes32' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'claimer', internalType: 'address', type: 'address' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], + name: 'afterClaim', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'view', + stateMutability: 'pure', type: 'function', - inputs: [], - name: 'getState', - outputs: [ - { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { + name: '', + internalType: 'struct ITankGame.DelegateParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'delegatee', internalType: 'address', type: 'address' }, + ], + }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], + name: 'afterDelegate', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'view', + stateMutability: 'pure', type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'getTank', - outputs: [ + inputs: [ + { name: '', internalType: 'address', type: 'address' }, { name: '', - internalType: 'struct ITankGame.Tank', + internalType: 'struct ITankGame.DripParams', type: 'tuple', components: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - { name: 'range', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], + name: 'afterDrip', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'giveParams', + name: '', internalType: 'struct ITankGame.GiveParams', type: 'tuple', components: [ @@ -3006,26 +3583,18 @@ export const iTankGameABI = [ { name: 'aps', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'give', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, - ], - name: 'isAuth', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + name: 'afterGive', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'payable', + stateMutability: 'pure', type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'joinParams', + name: '', internalType: 'struct ITankGame.JoinParams', type: 'tuple', components: [ @@ -3034,16 +3603,18 @@ export const iTankGameABI = [ { name: 'playerName', internalType: 'string', type: 'string' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'join', - outputs: [], + name: 'afterJoin', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'moveParams', + name: '', internalType: 'struct ITankGame.MoveParams', type: 'tuple', components: [ @@ -3060,23 +3631,28 @@ export const iTankGameABI = [ }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'move', - outputs: [], + name: 'afterMove', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'nonpayable', type: 'function', - inputs: [], - name: 'reveal', - outputs: [], + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'afterReveal', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'shootParams', + name: '', internalType: 'struct ITankGame.ShootParams', type: 'tuple', components: [ @@ -3085,32 +3661,36 @@ export const iTankGameABI = [ { name: 'shots', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'shoot', - outputs: [], + name: 'afterShoot', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'upgradeParams', + name: '', internalType: 'struct ITankGame.UpgradeParams', type: 'tuple', components: [ { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'upgrade', - outputs: [], + name: 'afterUpgrade', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'voteParams', + name: '', internalType: 'struct ITankGame.VoteParams', type: 'tuple', components: [ @@ -3118,159 +3698,256 @@ export const iTankGameABI = [ { name: 'cursed', internalType: 'uint256', type: 'uint256' }, ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'vote', - outputs: [], + name: 'afterVote', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, -] as const - -/** - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export const iTankGameAddress = { - 1: '0x021DBfF4A864Aa25c51F0ad2Cd73266Fde66199d', - 5: '0xD2605193cc30Be96F69DE74d4c5f5fD286f87650', - 31337: '0xCafac3dD18aC6c6e92c921884f9E4176737C052c', -} as const - -/** - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export const iTankGameConfig = { - address: iTankGameAddress, - abi: iTankGameABI, -} as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// ITreaty -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const iTreatyABI = [ { - type: 'event', - anonymous: false, + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'allies', + outputs: [{ name: 'expiry', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'pure', + type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'proposer', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'proposee', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'hookProposer', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'hookAccepter', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'expiry', - internalType: 'uint256', - type: 'uint256', - indexed: false, + name: '', + internalType: 'struct ITankGame.ClaimParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'claimer', internalType: 'address', type: 'address' }, + ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'AcceptedTreaty', + name: 'beforeClaim', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - type: 'event', - anonymous: false, + stateMutability: 'pure', + type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'proposer', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'proposee', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'proposalHook', - internalType: 'address', - type: 'address', - indexed: false, + name: '', + internalType: 'struct ITankGame.DelegateParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'delegatee', internalType: 'address', type: 'address' }, + ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'beforeDelegate', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'expiry', - internalType: 'uint256', - type: 'uint256', - indexed: false, + name: '', + internalType: 'struct ITankGame.DripParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'ProposedTreaty', + name: 'beforeDrip', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'pure', type: 'function', inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'hook', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { + name: '', + internalType: 'struct ITankGame.GiveParams', + type: 'tuple', + components: [ + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'accept', - outputs: [], + name: 'beforeGive', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'pure', type: 'function', inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'expiry', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address' }, + { + name: '', + internalType: 'struct ITankGame.JoinParams', + type: 'tuple', + components: [ + { name: 'joiner', internalType: 'address', type: 'address' }, + { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, + { name: 'playerName', internalType: 'string', type: 'string' }, + ], + }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'propose', - outputs: [], + name: 'beforeJoin', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Math -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const mathABI = [ - { type: 'error', inputs: [], name: 'MathOverflowedMulDiv' }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// NonAggression -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const nonAggressionABI = [ { stateMutability: 'nonpayable', - type: 'constructor', + type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: '_tankGame', - internalType: 'contract ITankGame', - type: 'address', + name: '', + internalType: 'struct ITankGame.MoveParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { + name: 'to', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], }, - { name: '_ownerTank', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'beforeMove', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'bytes', type: 'bytes' }, ], + name: 'beforeReveal', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - type: 'event', - anonymous: false, + stateMutability: 'view', + type: 'function', inputs: [ + { name: '', internalType: 'address', type: 'address' }, { - name: 'proposer', + name: 'shootParams', + internalType: 'struct ITankGame.ShootParams', + type: 'tuple', + components: [ + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'shots', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'beforeShoot', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { + name: '', + internalType: 'struct ITankGame.UpgradeParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'beforeUpgrade', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { + name: '', + internalType: 'struct ITankGame.VoteParams', + type: 'tuple', + components: [ + { name: 'voter', internalType: 'uint256', type: 'uint256' }, + { name: 'cursed', internalType: 'uint256', type: 'uint256' }, + ], + }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'beforeVote', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'ownerTank', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'proposals', + outputs: [{ name: 'expiry', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'expiry', internalType: 'uint256', type: 'uint256' }, + ], + name: 'propose', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'tankGame', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'tankGameView', + outputs: [ + { name: '', internalType: 'contract IGameView', type: 'address' }, + ], + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'proposer', internalType: 'uint256', type: 'uint256', indexed: false, @@ -3314,7 +3991,7 @@ export const nonAggressionABI = [ }, { name: 'tankGame', - internalType: 'contract ITankGame', + internalType: 'address', type: 'address', indexed: false, }, @@ -3352,12 +4029,19 @@ export const nonAggressionABI = [ ], name: 'ProposedTreaty', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// NonAggressionHook +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const nonAggressionHookABI = [ { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'treaty', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'hook', internalType: 'address', type: 'address' }, ], name: 'accept', outputs: [], @@ -3501,9 +4185,9 @@ export const nonAggressionABI = [ stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, + { name: 'gameId', internalType: 'address', type: 'address' }, { - name: '', + name: 'shootParams', internalType: 'struct ITankGame.ShootParams', type: 'tuple', components: [ @@ -3512,7 +4196,7 @@ export const nonAggressionABI = [ { name: 'shots', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, + { name: 'hookData', internalType: 'bytes', type: 'bytes' }, ], name: 'afterShoot', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], @@ -3554,13 +4238,6 @@ export const nonAggressionABI = [ name: 'afterVote', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'allies', - outputs: [{ name: 'expiry', internalType: 'uint256', type: 'uint256' }], - }, { stateMutability: 'pure', type: 'function', @@ -3697,12 +4374,12 @@ export const nonAggressionABI = [ outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', inputs: [ { name: '', internalType: 'address', type: 'address' }, { - name: 'shootParams', + name: '', internalType: 'struct ITankGame.ShootParams', type: 'tuple', components: [ @@ -3753,63 +4430,69 @@ export const nonAggressionABI = [ name: 'beforeVote', outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Strings +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const stringsABI = [ + { + type: 'error', + inputs: [ + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'length', internalType: 'uint256', type: 'uint256' }, + ], + name: 'StringsInsufficientHexLength', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TankGame +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export const tankGameABI = [ { stateMutability: 'view', type: 'function', inputs: [], - name: 'ownerTank', + name: '_getEpoch', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'proposals', - outputs: [{ name: 'expiry', internalType: 'uint256', type: 'uint256' }], - }, { stateMutability: 'nonpayable', type: 'function', inputs: [ { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'expiry', internalType: 'uint256', type: 'uint256' }, + { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, ], - name: 'propose', + name: 'addHooks', outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'tankGame', - outputs: [ - { name: '', internalType: 'contract ITankGame', type: 'address' }, - ], + name: 'aliveTanksIdSum', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// NonAggressionHook -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const nonAggressionHookABI = [ { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'hook', internalType: 'address', type: 'address' }, - ], - name: 'accept', - outputs: [], + inputs: [], + name: 'board', + outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], }, { - stateMutability: 'pure', + stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', + name: 'params', internalType: 'struct ITankGame.ClaimParams', type: 'tuple', components: [ @@ -3817,18 +4500,30 @@ export const nonAggressionHookABI = [ { name: 'claimer', internalType: 'address', type: 'address' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterClaim', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'claim', + outputs: [], }, { - stateMutability: 'pure', + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'claimed', + outputs: [{ name: 'claimed', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'deadTanks', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', + name: 'params', internalType: 'struct ITankGame.DelegateParams', type: 'tuple', components: [ @@ -3836,249 +4531,153 @@ export const nonAggressionHookABI = [ { name: 'delegatee', internalType: 'address', type: 'address' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterDelegate', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'delegate', + outputs: [], }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.DripParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'delegate', internalType: 'address', type: 'address' }, ], - name: 'afterDrip', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'delegates', + outputs: [{ name: 'isDelegate', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [], + name: 'donate', + outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', - internalType: 'struct ITankGame.GiveParams', + name: 'params', + internalType: 'struct ITankGame.DripParams', type: 'tuple', components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'afterGive', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'drip', + outputs: [], }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.JoinParams', - type: 'tuple', - components: [ - { name: 'joiner', internalType: 'address', type: 'address' }, - { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, - { name: 'playerName', internalType: 'string', type: 'string' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'afterJoin', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [], + name: 'epochStart', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.MoveParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { - name: 'to', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'afterMove', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [], + name: 'factory', + outputs: [{ name: '', internalType: 'address', type: 'address' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'bytes', type: 'bytes' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, ], - name: 'afterReveal', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'forceAddDefaultHook', + outputs: [], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: 'gameId', internalType: 'address', type: 'address' }, - { - name: 'shootParams', - internalType: 'struct ITankGame.ShootParams', - type: 'tuple', - components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'shots', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: 'hookData', internalType: 'bytes', type: 'bytes' }, - ], - name: 'afterShoot', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'getLastDrip', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.UpgradeParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'afterUpgrade', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'getUpgradeCost', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.VoteParams', - type: 'tuple', - components: [ - { name: 'voter', internalType: 'uint256', type: 'uint256' }, - { name: 'cursed', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'afterVote', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], - }, - { - stateMutability: 'pure', - type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', - internalType: 'struct ITankGame.ClaimParams', + name: 'params', + internalType: 'struct ITankGame.GiveParams', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'claimer', internalType: 'address', type: 'address' }, + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeClaim', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'give', + outputs: [], }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.DelegateParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'delegatee', internalType: 'address', type: 'address' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'beforeDelegate', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], + name: 'heartsOnBoard', + outputs: [{ name: 'heartCount', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'pure', + stateMutability: 'payable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', - internalType: 'struct ITankGame.DripParams', + name: 'gs', + internalType: 'struct ITankGame.GameSettings', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, + { + name: 'revealWaitBlocks', + internalType: 'uint256', + type: 'uint256', + }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, + { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, + { name: '_owner', internalType: 'address', type: 'address' }, ], - name: 'beforeDrip', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'initialize', + outputs: [], }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.GiveParams', - type: 'tuple', - components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: '_owner', internalType: 'address', type: 'address' }, ], - name: 'beforeGive', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'isAuth', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], }, { - stateMutability: 'pure', + stateMutability: 'payable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', + name: 'params', internalType: 'struct ITankGame.JoinParams', type: 'tuple', components: [ @@ -4087,18 +4686,30 @@ export const nonAggressionHookABI = [ { name: 'playerName', internalType: 'string', type: 'string' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeJoin', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'join', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'lastDripEpoch', + outputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'lastRevealBlock', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', + name: 'params', internalType: 'struct ITankGame.MoveParams', type: 'tuple', components: [ @@ -4115,279 +4726,246 @@ export const nonAggressionHookABI = [ }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeMove', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'move', + outputs: [], }, { - stateMutability: 'pure', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'beforeReveal', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [], + name: 'numTanksAlive', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'nonpayable', + stateMutability: 'view', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.ShootParams', - type: 'tuple', - components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'shots', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'beforeShoot', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'player', internalType: 'address', type: 'address' }], + name: 'players', + outputs: [{ name: 'tank', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'playersCount', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'podium', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'prizePool', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'nonpayable', type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { - name: '', - internalType: 'struct ITankGame.UpgradeParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], - }, - { name: '', internalType: 'bytes', type: 'bytes' }, + inputs: [], + name: 'reveal', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'revealBlock', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: '_owner', internalType: 'address', type: 'address' }], + name: 'setOwner', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'settings', + outputs: [ + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, + { name: 'revealWaitBlocks', internalType: 'uint256', type: 'uint256' }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, + { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], - name: 'beforeUpgrade', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ - { name: '', internalType: 'address', type: 'address' }, { - name: '', - internalType: 'struct ITankGame.VoteParams', + name: 'params', + internalType: 'struct ITankGame.ShootParams', type: 'tuple', components: [ - { name: 'voter', internalType: 'uint256', type: 'uint256' }, - { name: 'cursed', internalType: 'uint256', type: 'uint256' }, + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'shots', internalType: 'uint256', type: 'uint256' }, ], }, - { name: '', internalType: 'bytes', type: 'bytes' }, ], - name: 'beforeVote', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + name: 'shoot', + outputs: [], }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// MerkleProof -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const merkleProofABI = [ - { type: 'error', inputs: [], name: 'MerkleProofInvalidMultiproof' }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// StdInvariant -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const stdInvariantABI = [ { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', inputs: [], - name: 'excludeArtifacts', - outputs: [ - { - name: 'excludedArtifacts_', - internalType: 'string[]', - type: 'string[]', - }, - ], + name: 'start', + outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'excludeContracts', + name: 'state', outputs: [ - { - name: 'excludedContracts_', - internalType: 'address[]', - type: 'address[]', - }, + { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, ], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'excludeSenders', + name: 'stateData', outputs: [ - { - name: 'excludedSenders_', - internalType: 'address[]', - type: 'address[]', - }, + { name: 'playersCount', internalType: 'uint256', type: 'uint256' }, + { name: 'numTanksAlive', internalType: 'uint256', type: 'uint256' }, + { name: 'prizePool', internalType: 'uint256', type: 'uint256' }, + { name: 'epochStart', internalType: 'uint256', type: 'uint256' }, + { name: 'aliveTanksIdSum', internalType: 'uint256', type: 'uint256' }, + { name: 'revealBlock', internalType: 'uint256', type: 'uint256' }, + { name: 'lastRevealBlock', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, ], }, { stateMutability: 'view', type: 'function', - inputs: [], - name: 'targetArtifactSelectors', + inputs: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + ], + name: 'tankHooks', outputs: [ - { - name: 'targetedArtifactSelectors_', - internalType: 'struct StdInvariant.FuzzSelector[]', - type: 'tuple[]', - components: [ - { name: 'addr', internalType: 'address', type: 'address' }, - { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, - ], - }, + { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, ], }, { stateMutability: 'view', type: 'function', - inputs: [], - name: 'targetArtifacts', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'tankToPosition', outputs: [ - { - name: 'targetedArtifacts_', - internalType: 'string[]', - type: 'string[]', - }, + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, ], }, { stateMutability: 'view', type: 'function', - inputs: [], - name: 'targetContracts', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'tanks', outputs: [ - { - name: 'targetedContracts_', - internalType: 'address[]', - type: 'address[]', - }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + { name: 'range', internalType: 'uint256', type: 'uint256' }, ], }, { stateMutability: 'view', type: 'function', - inputs: [], - name: 'targetInterfaces', - outputs: [ + inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], + name: 'tanksOnBoard', + outputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ { - name: 'targetedInterfaces_', - internalType: 'struct StdInvariant.FuzzInterface[]', - type: 'tuple[]', + name: 'params', + internalType: 'struct ITankGame.UpgradeParams', + type: 'tuple', components: [ - { name: 'addr', internalType: 'address', type: 'address' }, - { name: 'artifacts', internalType: 'string[]', type: 'string[]' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], }, ], + name: 'upgrade', + outputs: [], }, { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', - inputs: [], - name: 'targetSelectors', - outputs: [ + inputs: [ { - name: 'targetedSelectors_', - internalType: 'struct StdInvariant.FuzzSelector[]', - type: 'tuple[]', + name: 'params', + internalType: 'struct ITankGame.VoteParams', + type: 'tuple', components: [ - { name: 'addr', internalType: 'address', type: 'address' }, - { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + { name: 'voter', internalType: 'uint256', type: 'uint256' }, + { name: 'cursed', internalType: 'uint256', type: 'uint256' }, ], }, ], + name: 'vote', + outputs: [], }, { stateMutability: 'view', type: 'function', - inputs: [], - name: 'targetSenders', - outputs: [ - { - name: 'targetedSenders_', - internalType: 'address[]', - type: 'address[]', - }, + inputs: [ + { name: 'epoch', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], + name: 'votedThisEpoch', + outputs: [{ name: 'voted', internalType: 'bool', type: 'bool' }], }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Strings -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const stringsABI = [ { - type: 'error', + stateMutability: 'view', + type: 'function', inputs: [ - { name: 'value', internalType: 'uint256', type: 'uint256' }, - { name: 'length', internalType: 'uint256', type: 'uint256' }, + { name: 'epoch', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], - name: 'StringsInsufficientHexLength', + name: 'votesPerEpoch', + outputs: [{ name: 'votes', internalType: 'uint256', type: 'uint256' }], }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TankGame -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/** - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export const tankGameABI = [ { - stateMutability: 'payable', - type: 'constructor', - inputs: [ - { - name: 'gs', - internalType: 'struct ITankGame.GameSettings', - type: 'tuple', - components: [ - { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, - { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, - { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, - { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, - { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, - { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, - { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, - { - name: 'revealWaitBlocks', - internalType: 'uint256', - type: 'uint256', - }, - { name: 'root', internalType: 'bytes32', type: 'bytes32' }, - ], - }, - { name: '_owner', internalType: 'address', type: 'address' }, - ], - }, - { - type: 'event', - anonymous: false, + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], + name: 'votingClosed', + outputs: [{ name: 'votingClosed', internalType: 'bool', type: 'bool' }], + }, + { + type: 'event', + anonymous: false, inputs: [ { name: 'hunter', @@ -4569,6 +5147,7 @@ export const tankGameABI = [ internalType: 'uint256', type: 'uint256', }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], indexed: false, @@ -4858,171 +5437,108 @@ export const tankGameABI = [ ], name: 'Vote', }, +] as const + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export const tankGameAddress = { + 5: '0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414', + 31337: '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0', +} as const + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export const tankGameConfig = { + address: tankGameAddress, + abi: tankGameABI, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TankGameFactory +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - + */ +export const tankGameFactoryABI = [ { stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, - ], - name: 'addHooks', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'aliveTanksIdSum', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'board', - outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.ClaimParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'claimer', internalType: 'address', type: 'address' }, - ], - }, - ], - name: 'claim', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'claimed', - outputs: [{ name: 'claimed', internalType: 'bool', type: 'bool' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - name: 'deadTanks', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', + type: 'constructor', inputs: [ + { name: '_gameView', internalType: 'contract GameView', type: 'address' }, { - name: 'params', - internalType: 'struct ITankGame.DelegateParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'delegatee', internalType: 'address', type: 'address' }, - ], + name: '_hookFactory', + internalType: 'contract HookFactory', + type: 'address', }, ], - name: 'delegate', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'delegate', internalType: 'address', type: 'address' }, - ], - name: 'delegates', - outputs: [{ name: 'isDelegate', internalType: 'bool', type: 'bool' }], - }, - { - stateMutability: 'payable', - type: 'function', - inputs: [], - name: 'donate', - outputs: [], }, { stateMutability: 'nonpayable', type: 'function', inputs: [ + { name: '_implementation', internalType: 'address', type: 'address' }, { - name: 'params', - internalType: 'struct ITankGame.DripParams', + name: 'settings', + internalType: 'struct ITankGame.GameSettings', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, + { + name: 'revealWaitBlocks', + internalType: 'uint256', + type: 'uint256', + }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, + { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], }, + { name: '_owner', internalType: 'address', type: 'address' }, ], - name: 'drip', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'epochStart', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, + name: 'createGame', + outputs: [ + { name: 'game', internalType: 'contract ITankGame', type: 'address' }, ], - name: 'forceAddDefaultHook', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getBoard', - outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getEpoch', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'getGameEpoch', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'getLastDrip', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'gameView', + outputs: [{ name: '', internalType: 'contract GameView', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'getPlayerCount', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'hookFactory', + outputs: [ + { name: '', internalType: 'contract HookFactory', type: 'address' }, + ], }, { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getSettings', - outputs: [ + type: 'event', + anonymous: false, + inputs: [ { - name: '', + name: 'game', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'settings', internalType: 'struct ITankGame.GameSettings', type: 'tuple', components: [ @@ -5038,389 +5554,523 @@ export const tankGameABI = [ internalType: 'uint256', type: 'uint256', }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], + indexed: false, }, ], + name: 'GameCreated', }, + { type: 'error', inputs: [], name: 'ERC1167FailedCreateClone' }, +] as const + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - + */ +export const tankGameFactoryAddress = { + 5: '0x9758ce8FE412C72893b42FFEdAEDff1840e1886f', + 31337: '0x5FC8d32690cc91D4c39d9d3abcBD16989F875707', +} as const + +/** + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - + */ +export const tankGameFactoryConfig = { + address: tankGameFactoryAddress, + abi: tankGameFactoryABI, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TankGameLogic +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const tankGameLogicABI = [ { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getState', - outputs: [ - { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, + type: 'event', + anonymous: false, + inputs: [ + { + name: 'hunter', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'victim', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'reward', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, ], + name: 'BountyCompleted', }, { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'getTank', - outputs: [ + type: 'event', + anonymous: false, + inputs: [ { - name: '', - internalType: 'struct ITankGame.Tank', - type: 'tuple', - components: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - { name: 'range', internalType: 'uint256', type: 'uint256' }, - ], + name: 'reciever', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'amount', + internalType: 'uint256', + type: 'uint256', + indexed: false, }, ], + name: 'Claim', }, { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'getUpgradeCost', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'params', - internalType: 'struct ITankGame.GiveParams', - type: 'tuple', - components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - ], + name: 'poker', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'blocknumber', + internalType: 'uint256', + type: 'uint256', + indexed: false, }, ], - name: 'give', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], - name: 'heartsOnBoard', - outputs: [{ name: 'heartCount', internalType: 'uint256', type: 'uint256' }], + name: 'Commit', }, { - stateMutability: 'view', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: '_owner', internalType: 'address', type: 'address' }, + { + name: 'cursedTank', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'voter', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'epoch', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, ], - name: 'isAuth', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + name: 'Curse', }, { - stateMutability: 'payable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'params', - internalType: 'struct ITankGame.JoinParams', - type: 'tuple', - components: [ - { name: 'joiner', internalType: 'address', type: 'address' }, - { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, - { name: 'playerName', internalType: 'string', type: 'string' }, - ], + name: 'killer', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'killed', + internalType: 'uint256', + type: 'uint256', + indexed: false, }, ], - name: 'join', - outputs: [], + name: 'Death', }, { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'lastDripEpoch', - outputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], + type: 'event', + anonymous: false, + inputs: [ + { + name: 'tank', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'delegate', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'owner', + internalType: 'address', + type: 'address', + indexed: false, + }, + ], + name: 'Delegate', }, { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'lastRevealBlock', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + type: 'event', + anonymous: false, + inputs: [ + { + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'amount', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'epoch', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Drip', }, { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'params', - internalType: 'struct ITankGame.MoveParams', + name: 'settings', + internalType: 'struct ITankGame.GameSettings', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, { - name: 'to', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], + name: 'revealWaitBlocks', + internalType: 'uint256', + type: 'uint256', }, + { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], + indexed: false, }, ], - name: 'move', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'numTanksAlive', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'owner', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'GameInit', }, { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'player', internalType: 'address', type: 'address' }], - name: 'players', - outputs: [{ name: 'tank', internalType: 'uint256', type: 'uint256' }], + type: 'event', + anonymous: false, + inputs: [ + { + name: 'winner', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'second', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'third', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'prizePool', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'GameOver', }, + { type: 'event', anonymous: false, inputs: [], name: 'GameStarted' }, { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'playersCount', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - name: 'podium', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'prizePool', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [], - name: 'reveal', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'revealBlock', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [{ name: '_owner', internalType: 'address', type: 'address' }], - name: 'setOwner', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'settings', - outputs: [ - { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, - { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, - { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, - { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, - { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, - { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, - { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, - { name: 'revealWaitBlocks', internalType: 'uint256', type: 'uint256' }, - { name: 'root', internalType: 'bytes32', type: 'bytes32' }, - ], - }, - { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'params', - internalType: 'struct ITankGame.ShootParams', - type: 'tuple', - components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'shots', internalType: 'uint256', type: 'uint256' }, - ], + name: 'fromId', + internalType: 'uint256', + type: 'uint256', + indexed: false, }, + { + name: 'toId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'hearts', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { name: 'aps', internalType: 'uint256', type: 'uint256', indexed: false }, ], - name: 'shoot', - outputs: [], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [], - name: 'start', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'state', - outputs: [ - { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'stateData', - outputs: [ - { name: 'playersCount', internalType: 'uint256', type: 'uint256' }, - { name: 'numTanksAlive', internalType: 'uint256', type: 'uint256' }, - { name: 'prizePool', internalType: 'uint256', type: 'uint256' }, - { name: 'epochStart', internalType: 'uint256', type: 'uint256' }, - { name: 'aliveTanksIdSum', internalType: 'uint256', type: 'uint256' }, - { name: 'revealBlock', internalType: 'uint256', type: 'uint256' }, - { name: 'lastRevealBlock', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, - ], + name: 'Give', }, { - stateMutability: 'view', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - ], - name: 'tankHooks', - outputs: [ - { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'tanks', - outputs: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - { name: 'range', internalType: 'uint256', type: 'uint256' }, + { + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'hook', + internalType: 'address', + type: 'address', + indexed: false, + }, ], + name: 'HooksAdded', }, { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], - name: 'tanksOnBoard', - outputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'params', - internalType: 'struct ITankGame.UpgradeParams', + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'position', + internalType: 'struct Board.Point', type: 'tuple', components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, ], + indexed: false, }, ], - name: 'upgrade', - outputs: [], + name: 'Move', }, { - stateMutability: 'nonpayable', - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'params', - internalType: 'struct ITankGame.VoteParams', + name: 'player', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'position', + internalType: 'struct Board.Point', type: 'tuple', components: [ - { name: 'voter', internalType: 'uint256', type: 'uint256' }, - { name: 'cursed', internalType: 'uint256', type: 'uint256' }, + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, ], + indexed: false, }, + { name: 'name', internalType: 'string', type: 'string', indexed: false }, ], - name: 'vote', - outputs: [], + name: 'PlayerJoined', }, { - stateMutability: 'view', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'epoch', internalType: 'uint256', type: 'uint256' }, - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { + name: 'donator', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'amount', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'newTotal', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, ], - name: 'votedThisEpoch', - outputs: [{ name: 'voted', internalType: 'bool', type: 'bool' }], + name: 'PrizeIncrease', }, { - stateMutability: 'view', - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'epoch', internalType: 'uint256', type: 'uint256' }, - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], - name: 'votesPerEpoch', - outputs: [{ name: 'votes', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], - name: 'votingClosed', - outputs: [{ name: 'votingClosed', internalType: 'bool', type: 'bool' }], - }, -] as const - -/** - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export const tankGameAddress = { - 1: '0x021DBfF4A864Aa25c51F0ad2Cd73266Fde66199d', - 5: '0xD2605193cc30Be96F69DE74d4c5f5fD286f87650', - 31337: '0xCafac3dD18aC6c6e92c921884f9E4176737C052c', -} as const - -/** - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export const tankGameConfig = { - address: tankGameAddress, - abi: tankGameABI, -} as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TankGameV2Storage -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const tankGameV2StorageABI = [ + { + name: 'poker', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'blocknumber', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Reveal', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'savior', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'saved', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Revive', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'targetId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Shoot', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'poker', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'position', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + indexed: false, + }, + ], + name: 'SpawnHeart', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'tankId', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'range', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Upgrade', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'voter', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'cursed', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + { + name: 'epoch', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Vote', + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, + ], + name: 'addHooks', + outputs: [], + }, { stateMutability: 'view', type: 'function', @@ -5435,6 +6085,23 @@ export const tankGameV2StorageABI = [ name: 'board', outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'params', + internalType: 'struct ITankGame.ClaimParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'claimer', internalType: 'address', type: 'address' }, + ], + }, + ], + name: 'claim', + outputs: [], + }, { stateMutability: 'view', type: 'function', @@ -5449,6 +6116,23 @@ export const tankGameV2StorageABI = [ name: 'deadTanks', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'params', + internalType: 'struct ITankGame.DelegateParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'delegatee', internalType: 'address', type: 'address' }, + ], + }, + ], + name: 'delegate', + outputs: [], + }, { stateMutability: 'view', type: 'function', @@ -5460,92 +6144,328 @@ export const tankGameV2StorageABI = [ outputs: [{ name: 'isDelegate', internalType: 'bool', type: 'bool' }], }, { - stateMutability: 'view', + stateMutability: 'payable', type: 'function', inputs: [], - name: 'epochStart', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'donate', + outputs: [], }, { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'lastDripEpoch', - outputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], + inputs: [ + { + name: 'params', + internalType: 'struct ITankGame.DripParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'drip', + outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'lastRevealBlock', + name: 'epochStart', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function', - inputs: [], - name: 'numTanksAlive', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + inputs: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, + ], + name: 'forceAddDefaultHook', + outputs: [], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'owner', - outputs: [{ name: '', internalType: 'address', type: 'address' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'player', internalType: 'address', type: 'address' }], - name: 'players', - outputs: [{ name: 'tank', internalType: 'uint256', type: 'uint256' }], + name: 'getBoard', + outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'playersCount', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - name: 'podium', + name: 'getEpoch', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', - inputs: [], - name: 'prizePool', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'getLastDrip', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'revealBlock', + name: 'getPlayerCount', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', inputs: [], - name: 'settings', + name: 'getSettings', outputs: [ - { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, - { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, - { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, - { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, - { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, - { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { + name: '', + internalType: 'struct ITankGame.GameSettings', + type: 'tuple', + components: [ + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, + { + name: 'revealWaitBlocks', + internalType: 'uint256', + type: 'uint256', + }, + { name: 'root', internalType: 'bytes32', type: 'bytes32' }, + ], + }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'getState', + outputs: [ + { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'getTank', + outputs: [ + { + name: '', + internalType: 'struct ITankGame.Tank', + type: 'tuple', + components: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + { name: 'range', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'getUpgradeCost', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'params', + internalType: 'struct ITankGame.GiveParams', + type: 'tuple', + components: [ + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'give', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], + name: 'heartsOnBoard', + outputs: [{ name: 'heartCount', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: '_owner', internalType: 'address', type: 'address' }, + ], + name: 'isAuth', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { + name: 'params', + internalType: 'struct ITankGame.JoinParams', + type: 'tuple', + components: [ + { name: 'joiner', internalType: 'address', type: 'address' }, + { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, + { name: 'playerName', internalType: 'string', type: 'string' }, + ], + }, + ], + name: 'join', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'lastDripEpoch', + outputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'lastRevealBlock', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'params', + internalType: 'struct ITankGame.MoveParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { + name: 'to', + internalType: 'struct Board.Point', + type: 'tuple', + components: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + }, + ], + name: 'move', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'numTanksAlive', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'player', internalType: 'address', type: 'address' }], + name: 'players', + outputs: [{ name: 'tank', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'playersCount', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'podium', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'prizePool', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [], + name: 'reveal', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'revealBlock', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [{ name: '_owner', internalType: 'address', type: 'address' }], + name: 'setOwner', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'settings', + outputs: [ + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, { name: 'revealWaitBlocks', internalType: 'uint256', type: 'uint256' }, { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'params', + internalType: 'struct ITankGame.ShootParams', + type: 'tuple', + components: [ + { name: 'fromId', internalType: 'uint256', type: 'uint256' }, + { name: 'toId', internalType: 'uint256', type: 'uint256' }, + { name: 'shots', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'shoot', + outputs: [], + }, { stateMutability: 'view', type: 'function', @@ -5583,6 +6503,17 @@ export const tankGameV2StorageABI = [ { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, ], }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'tankToPosition', + outputs: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'z', internalType: 'uint256', type: 'uint256' }, + ], + }, { stateMutability: 'view', type: 'function', @@ -5598,7 +6529,47 @@ export const tankGameV2StorageABI = [ { stateMutability: 'view', type: 'function', - inputs: [ + inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], + name: 'tanksOnBoard', + outputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'params', + internalType: 'struct ITankGame.UpgradeParams', + type: 'tuple', + components: [ + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'upgrade', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: 'params', + internalType: 'struct ITankGame.VoteParams', + type: 'tuple', + components: [ + { name: 'voter', internalType: 'uint256', type: 'uint256' }, + { name: 'cursed', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'vote', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ { name: 'epoch', internalType: 'uint256', type: 'uint256' }, { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], @@ -5625,1020 +6596,562 @@ export const tankGameV2StorageABI = [ ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TankGameLogic +// TankGameV2Storage ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const tankGameLogicABI = [ - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'hunter', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'victim', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'reward', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'BountyCompleted', - }, +export const tankGameV2StorageABI = [ { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'reciever', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'amount', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Claim', + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'aliveTanksIdSum', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'poker', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'blocknumber', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Commit', + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'board', + outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'cursedTank', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'voter', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'epoch', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Curse', + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'claimed', + outputs: [{ name: 'claimed', internalType: 'bool', type: 'bool' }], }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'killer', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'killed', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Death', + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'deadTanks', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - type: 'event', - anonymous: false, + stateMutability: 'view', + type: 'function', inputs: [ - { - name: 'tank', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'delegate', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'owner', - internalType: 'address', - type: 'address', - indexed: false, - }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: 'delegate', internalType: 'address', type: 'address' }, ], - name: 'Delegate', + name: 'delegates', + outputs: [{ name: 'isDelegate', internalType: 'bool', type: 'bool' }], }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'amount', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'epoch', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Drip', + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'epochStart', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'settings', - internalType: 'struct ITankGame.GameSettings', - type: 'tuple', - components: [ - { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, - { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, - { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, - { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, - { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, - { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, - { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, - { - name: 'revealWaitBlocks', - internalType: 'uint256', - type: 'uint256', - }, - { name: 'root', internalType: 'bytes32', type: 'bytes32' }, - ], - indexed: false, - }, - ], - name: 'GameInit', + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'lastDripEpoch', + outputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'winner', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'second', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'third', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'prizePool', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'lastRevealBlock', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'numTanksAlive', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'player', internalType: 'address', type: 'address' }], + name: 'players', + outputs: [{ name: 'tank', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'playersCount', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'podium', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'prizePool', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'revealBlock', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'settings', + outputs: [ + { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, + { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, + { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, + { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, + { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, + { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, + { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, + { name: 'revealWaitBlocks', internalType: 'uint256', type: 'uint256' }, + { name: 'autoStart', internalType: 'bool', type: 'bool' }, + { name: 'root', internalType: 'bytes32', type: 'bytes32' }, ], - name: 'GameOver', }, - { type: 'event', anonymous: false, inputs: [], name: 'GameStarted' }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'fromId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'toId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'hearts', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { name: 'aps', internalType: 'uint256', type: 'uint256', indexed: false }, + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'state', + outputs: [ + { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, ], - name: 'Give', }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'hook', - internalType: 'address', - type: 'address', - indexed: false, - }, + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'stateData', + outputs: [ + { name: 'playersCount', internalType: 'uint256', type: 'uint256' }, + { name: 'numTanksAlive', internalType: 'uint256', type: 'uint256' }, + { name: 'prizePool', internalType: 'uint256', type: 'uint256' }, + { name: 'epochStart', internalType: 'uint256', type: 'uint256' }, + { name: 'aliveTanksIdSum', internalType: 'uint256', type: 'uint256' }, + { name: 'revealBlock', internalType: 'uint256', type: 'uint256' }, + { name: 'lastRevealBlock', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, ], - name: 'HooksAdded', }, { - type: 'event', - anonymous: false, + stateMutability: 'view', + type: 'function', inputs: [ - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'position', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - indexed: false, - }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'uint256', type: 'uint256' }, + ], + name: 'tankHooks', + outputs: [ + { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, ], - name: 'Move', }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'player', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'position', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - indexed: false, - }, - { name: 'name', internalType: 'string', type: 'string', indexed: false }, + stateMutability: 'view', + type: 'function', + inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], + name: 'tanks', + outputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'hearts', internalType: 'uint256', type: 'uint256' }, + { name: 'aps', internalType: 'uint256', type: 'uint256' }, + { name: 'range', internalType: 'uint256', type: 'uint256' }, ], - name: 'PlayerJoined', }, { - type: 'event', - anonymous: false, + stateMutability: 'view', + type: 'function', inputs: [ - { - name: 'donator', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'amount', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'newTotal', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, + { name: 'epoch', internalType: 'uint256', type: 'uint256' }, + { name: 'tankId', internalType: 'uint256', type: 'uint256' }, ], - name: 'PrizeIncrease', + name: 'votedThisEpoch', + outputs: [{ name: 'voted', internalType: 'bool', type: 'bool' }], }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'poker', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'blocknumber', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Reveal', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'savior', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'saved', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Revive', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'targetId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Shoot', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'poker', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'position', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - indexed: false, - }, - ], - name: 'SpawnHeart', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'tankId', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'range', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Upgrade', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'voter', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'cursed', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - { - name: 'epoch', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'Vote', - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, - ], - name: 'addHooks', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'aliveTanksIdSum', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'board', - outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.ClaimParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'claimer', internalType: 'address', type: 'address' }, - ], - }, - ], - name: 'claim', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'claimed', - outputs: [{ name: 'claimed', internalType: 'bool', type: 'bool' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - name: 'deadTanks', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.DelegateParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'delegatee', internalType: 'address', type: 'address' }, - ], - }, - ], - name: 'delegate', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'delegate', internalType: 'address', type: 'address' }, - ], - name: 'delegates', - outputs: [{ name: 'isDelegate', internalType: 'bool', type: 'bool' }], - }, - { - stateMutability: 'payable', - type: 'function', - inputs: [], - name: 'donate', - outputs: [], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.DripParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], - name: 'drip', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'epochStart', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', + stateMutability: 'view', + type: 'function', inputs: [ + { name: 'epoch', internalType: 'uint256', type: 'uint256' }, { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, ], - name: 'forceAddDefaultHook', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getBoard', - outputs: [{ name: '', internalType: 'contract Board', type: 'address' }], + name: 'votesPerEpoch', + outputs: [{ name: 'votes', internalType: 'uint256', type: 'uint256' }], }, { stateMutability: 'view', type: 'function', - inputs: [], - name: 'getEpoch', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'getLastDrip', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getPlayerCount', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getSettings', - outputs: [ - { - name: '', - internalType: 'struct ITankGame.GameSettings', - type: 'tuple', - components: [ - { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, - { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, - { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, - { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, - { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, - { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, - { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, - { - name: 'revealWaitBlocks', - internalType: 'uint256', - type: 'uint256', - }, - { name: 'root', internalType: 'bytes32', type: 'bytes32' }, - ], - }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'getState', - outputs: [ - { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'getTank', - outputs: [ - { - name: '', - internalType: 'struct ITankGame.Tank', - type: 'tuple', - components: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - { name: 'range', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'getUpgradeCost', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.GiveParams', - type: 'tuple', - components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], - name: 'give', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], - name: 'heartsOnBoard', - outputs: [{ name: 'heartCount', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: '_owner', internalType: 'address', type: 'address' }, - ], - name: 'isAuth', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - }, - { - stateMutability: 'payable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.JoinParams', - type: 'tuple', - components: [ - { name: 'joiner', internalType: 'address', type: 'address' }, - { name: 'proof', internalType: 'bytes32[]', type: 'bytes32[]' }, - { name: 'playerName', internalType: 'string', type: 'string' }, - ], - }, - ], - name: 'join', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'lastDripEpoch', - outputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'lastRevealBlock', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.MoveParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { - name: 'to', - internalType: 'struct Board.Point', - type: 'tuple', - components: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], - }, - ], - name: 'move', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'numTanksAlive', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'owner', - outputs: [{ name: '', internalType: 'address', type: 'address' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'player', internalType: 'address', type: 'address' }], - name: 'players', - outputs: [{ name: 'tank', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'playersCount', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - name: 'podium', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'prizePool', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [], - name: 'reveal', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'revealBlock', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [{ name: '_owner', internalType: 'address', type: 'address' }], - name: 'setOwner', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'settings', - outputs: [ - { name: 'playerCount', internalType: 'uint256', type: 'uint256' }, - { name: 'boardSize', internalType: 'uint256', type: 'uint256' }, - { name: 'initAPs', internalType: 'uint256', type: 'uint256' }, - { name: 'initHearts', internalType: 'uint256', type: 'uint256' }, - { name: 'initShootRange', internalType: 'uint256', type: 'uint256' }, - { name: 'epochSeconds', internalType: 'uint256', type: 'uint256' }, - { name: 'buyInMinimum', internalType: 'uint256', type: 'uint256' }, - { name: 'revealWaitBlocks', internalType: 'uint256', type: 'uint256' }, - { name: 'root', internalType: 'bytes32', type: 'bytes32' }, - ], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.ShootParams', - type: 'tuple', - components: [ - { name: 'fromId', internalType: 'uint256', type: 'uint256' }, - { name: 'toId', internalType: 'uint256', type: 'uint256' }, - { name: 'shots', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], - name: 'shoot', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'state', - outputs: [ - { name: '', internalType: 'enum ITankGame.GameState', type: 'uint8' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [], - name: 'stateData', - outputs: [ - { name: 'playersCount', internalType: 'uint256', type: 'uint256' }, - { name: 'numTanksAlive', internalType: 'uint256', type: 'uint256' }, - { name: 'prizePool', internalType: 'uint256', type: 'uint256' }, - { name: 'epochStart', internalType: 'uint256', type: 'uint256' }, - { name: 'aliveTanksIdSum', internalType: 'uint256', type: 'uint256' }, - { name: 'revealBlock', internalType: 'uint256', type: 'uint256' }, - { name: 'lastRevealBlock', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - { name: '', internalType: 'uint256', type: 'uint256' }, - ], - name: 'tankHooks', - outputs: [ - { name: 'hooks', internalType: 'contract IHooks', type: 'address' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'tankToPosition', - outputs: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, - { name: 'z', internalType: 'uint256', type: 'uint256' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - name: 'tanks', - outputs: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'hearts', internalType: 'uint256', type: 'uint256' }, - { name: 'aps', internalType: 'uint256', type: 'uint256' }, - { name: 'range', internalType: 'uint256', type: 'uint256' }, - ], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'position', internalType: 'uint256', type: 'uint256' }], - name: 'tanksOnBoard', - outputs: [{ name: 'tankId', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.UpgradeParams', - type: 'tuple', - components: [ - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], - name: 'upgrade', - outputs: [], - }, - { - stateMutability: 'nonpayable', - type: 'function', - inputs: [ - { - name: 'params', - internalType: 'struct ITankGame.VoteParams', - type: 'tuple', - components: [ - { name: 'voter', internalType: 'uint256', type: 'uint256' }, - { name: 'cursed', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], - name: 'vote', - outputs: [], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [ - { name: 'epoch', internalType: 'uint256', type: 'uint256' }, - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], - name: 'votedThisEpoch', - outputs: [{ name: 'voted', internalType: 'bool', type: 'bool' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [ - { name: 'epoch', internalType: 'uint256', type: 'uint256' }, - { name: 'tankId', internalType: 'uint256', type: 'uint256' }, - ], - name: 'votesPerEpoch', - outputs: [{ name: 'votes', internalType: 'uint256', type: 'uint256' }], - }, - { - stateMutability: 'view', - type: 'function', - inputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], - name: 'votingClosed', - outputs: [{ name: 'votingClosed', internalType: 'bool', type: 'bool' }], + inputs: [{ name: 'epoch', internalType: 'uint256', type: 'uint256' }], + name: 'votingClosed', + outputs: [{ name: 'votingClosed', internalType: 'bool', type: 'bool' }], }, ] as const -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// React -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// React +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__. + */ +export function useBoardRead< + TFunctionName extends string, + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' + > = {} as any, +) { + return useContractRead({ abi: boardABI, ...config } as UseContractReadConfig< + typeof boardABI, + TFunctionName, + TSelectData + >) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"boardSize"`. + */ +export function useBoardBoardSize< + TFunctionName extends 'boardSize', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'boardSize', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getDistance"`. + */ +export function useBoardGetDistance< + TFunctionName extends 'getDistance', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'getDistance', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getDistanceTankToPoint"`. + */ +export function useBoardGetDistanceTankToPoint< + TFunctionName extends 'getDistanceTankToPoint', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'getDistanceTankToPoint', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getDistanceTanks"`. + */ +export function useBoardGetDistanceTanks< + TFunctionName extends 'getDistanceTanks', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'getDistanceTanks', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getEmptyTile"`. + */ +export function useBoardGetEmptyTile< + TFunctionName extends 'getEmptyTile', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'getEmptyTile', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getHeartAtPosition"`. + */ +export function useBoardGetHeartAtPosition< + TFunctionName extends 'getHeartAtPosition', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'getHeartAtPosition', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getPerimeterForRadius"`. + */ +export function useBoardGetPerimeterForRadius< + TFunctionName extends 'getPerimeterForRadius', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'getPerimeterForRadius', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getTankPosition"`. + */ +export function useBoardGetTankPosition< + TFunctionName extends 'getTankPosition', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'getTankPosition', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getTile"`. + */ +export function useBoardGetTile< + TFunctionName extends 'getTile', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'getTile', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getTotalTiles"`. + */ +export function useBoardGetTotalTiles< + TFunctionName extends 'getTotalTiles', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'getTotalTiles', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"isValidPoint"`. + */ +export function useBoardIsValidPoint< + TFunctionName extends 'isValidPoint', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'isValidPoint', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"pointToIndex"`. + */ +export function useBoardPointToIndex< + TFunctionName extends 'pointToIndex', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'pointToIndex', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"randomPoint"`. + */ +export function useBoardRandomPoint< + TFunctionName extends 'randomPoint', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: boardABI, + functionName: 'randomPoint', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link boardABI}__. + */ +export function useBoardWrite< + TFunctionName extends string, + TMode extends WriteContractMode = undefined, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult['request']['abi'], + TFunctionName, + TMode + > + : UseContractWriteConfig & { + abi?: never + } = {} as any, +) { + return useContractWrite({ + abi: boardABI, + ...config, + } as any) +} + +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"setTile"`. + */ +export function useBoardSetTile( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof boardABI, + 'setTile' + >['request']['abi'], + 'setTile', + TMode + > & { functionName?: 'setTile' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setTile' + } = {} as any, +) { + return useContractWrite({ + abi: boardABI, + functionName: 'setTile', + ...config, + } as any) +} + +/** + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link boardABI}__. + */ +export function usePrepareBoardWrite( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' + > = {} as any, +) { + return usePrepareContractWrite({ + abi: boardABI, + ...config, + } as UsePrepareContractWriteConfig) +} + +/** + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"setTile"`. + */ +export function usePrepareBoardSetTile( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return usePrepareContractWrite({ + abi: boardABI, + functionName: 'setTile', + ...config, + } as UsePrepareContractWriteConfig) +} /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link bountyABI}__. @@ -6944,6 +7457,25 @@ export function useBountyTankGame< } as UseContractReadConfig) } +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link bountyABI}__ and `functionName` set to `"tankGameView"`. + */ +export function useBountyTankGameView< + TFunctionName extends 'tankGameView', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: bountyABI, + functionName: 'tankGameView', + ...config, + } as UseContractReadConfig) +} + /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link bountyABI}__ and `functionName` set to `"withdrawals"`. */ @@ -8419,72 +8951,307 @@ export function usePrepareDefaultEmptyHooksBeforeShoot( } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link defaultEmptyHooksABI}__ and `functionName` set to `"beforeUpgrade"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link defaultEmptyHooksABI}__ and `functionName` set to `"beforeUpgrade"`. + */ +export function usePrepareDefaultEmptyHooksBeforeUpgrade( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return usePrepareContractWrite({ + abi: defaultEmptyHooksABI, + functionName: 'beforeUpgrade', + ...config, + } as UsePrepareContractWriteConfig< + typeof defaultEmptyHooksABI, + 'beforeUpgrade' + >) +} + +/** + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link defaultEmptyHooksABI}__ and `functionName` set to `"beforeVote"`. + */ +export function usePrepareDefaultEmptyHooksBeforeVote( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return usePrepareContractWrite({ + abi: defaultEmptyHooksABI, + functionName: 'beforeVote', + ...config, + } as UsePrepareContractWriteConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - + */ +export function useGameViewRead< + TFunctionName extends string, + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'address' + > & { chainId?: keyof typeof gameViewAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: gameViewABI, + address: gameViewAddress[chainId as keyof typeof gameViewAddress], + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getAllHearts"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - + */ +export function useGameViewGetAllHearts< + TFunctionName extends 'getAllHearts', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof gameViewAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: gameViewABI, + address: gameViewAddress[chainId as keyof typeof gameViewAddress], + functionName: 'getAllHearts', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getAllTanks"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - + */ +export function useGameViewGetAllTanks< + TFunctionName extends 'getAllTanks', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof gameViewAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: gameViewABI, + address: gameViewAddress[chainId as keyof typeof gameViewAddress], + functionName: 'getAllTanks', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getBoard"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - + */ +export function useGameViewGetBoard< + TFunctionName extends 'getBoard', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof gameViewAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: gameViewABI, + address: gameViewAddress[chainId as keyof typeof gameViewAddress], + functionName: 'getBoard', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getEpoch"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - + */ +export function useGameViewGetEpoch< + TFunctionName extends 'getEpoch', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof gameViewAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: gameViewABI, + address: gameViewAddress[chainId as keyof typeof gameViewAddress], + functionName: 'getEpoch', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getGameEpoch"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - + */ +export function useGameViewGetGameEpoch< + TFunctionName extends 'getGameEpoch', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof gameViewAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: gameViewABI, + address: gameViewAddress[chainId as keyof typeof gameViewAddress], + functionName: 'getGameEpoch', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getLastDrip"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - + */ +export function useGameViewGetLastDrip< + TFunctionName extends 'getLastDrip', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof gameViewAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: gameViewABI, + address: gameViewAddress[chainId as keyof typeof gameViewAddress], + functionName: 'getLastDrip', + ...config, + } as UseContractReadConfig) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getPlayerCount"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - */ -export function usePrepareDefaultEmptyHooksBeforeUpgrade( +export function useGameViewGetPlayerCount< + TFunctionName extends 'getPlayerCount', + TSelectData = ReadContractResult, +>( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, + UseContractReadConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof gameViewAddress } = {} as any, ) { - return usePrepareContractWrite({ - abi: defaultEmptyHooksABI, - functionName: 'beforeUpgrade', + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: gameViewABI, + address: gameViewAddress[chainId as keyof typeof gameViewAddress], + functionName: 'getPlayerCount', ...config, - } as UsePrepareContractWriteConfig< - typeof defaultEmptyHooksABI, - 'beforeUpgrade' - >) + } as UseContractReadConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link defaultEmptyHooksABI}__ and `functionName` set to `"beforeVote"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getSettings"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) + * - */ -export function usePrepareDefaultEmptyHooksBeforeVote( +export function useGameViewGetSettings< + TFunctionName extends 'getSettings', + TSelectData = ReadContractResult, +>( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, + UseContractReadConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof gameViewAddress } = {} as any, ) { - return usePrepareContractWrite({ - abi: defaultEmptyHooksABI, - functionName: 'beforeVote', + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: gameViewABI, + address: gameViewAddress[chainId as keyof typeof gameViewAddress], + functionName: 'getSettings', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getState"`. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x82f32a46AA9c66d6d75B3AC61a82e5Dd3e958442) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) * - */ -export function useGameViewRead< - TFunctionName extends string, +export function useGameViewGetState< + TFunctionName extends 'getState', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - 'abi' | 'address' + 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof gameViewAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: gameViewABI, address: gameViewAddress[chainId as keyof typeof gameViewAddress], + functionName: 'getState', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"game"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getTank"`. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x82f32a46AA9c66d6d75B3AC61a82e5Dd3e958442) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) * - */ -export function useGameViewGame< - TFunctionName extends 'game', +export function useGameViewGetTank< + TFunctionName extends 'getTank', TSelectData = ReadContractResult, >( config: Omit< @@ -8493,23 +9260,24 @@ export function useGameViewGame< > & { chainId?: keyof typeof gameViewAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: gameViewABI, address: gameViewAddress[chainId as keyof typeof gameViewAddress], - functionName: 'game', + functionName: 'getTank', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getAllHearts"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getUpgradeCost"`. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x82f32a46AA9c66d6d75B3AC61a82e5Dd3e958442) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) * - */ -export function useGameViewGetAllHearts< - TFunctionName extends 'getAllHearts', +export function useGameViewGetUpgradeCost< + TFunctionName extends 'getUpgradeCost', TSelectData = ReadContractResult, >( config: Omit< @@ -8518,23 +9286,24 @@ export function useGameViewGetAllHearts< > & { chainId?: keyof typeof gameViewAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: gameViewABI, address: gameViewAddress[chainId as keyof typeof gameViewAddress], - functionName: 'getAllHearts', + functionName: 'getUpgradeCost', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"getAllTanks"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link gameViewABI}__ and `functionName` set to `"isAuth"`. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x82f32a46AA9c66d6d75B3AC61a82e5Dd3e958442) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xE19866944E2CD0FfaE4e35d168149b9B934eA471) * - */ -export function useGameViewGetAllTanks< - TFunctionName extends 'getAllTanks', +export function useGameViewIsAuth< + TFunctionName extends 'isAuth', TSelectData = ReadContractResult, >( config: Omit< @@ -8543,11 +9312,12 @@ export function useGameViewGetAllTanks< > & { chainId?: keyof typeof gameViewAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: gameViewABI, address: gameViewAddress[chainId as keyof typeof gameViewAddress], - functionName: 'getAllTanks', + functionName: 'isAuth', ...config, } as UseContractReadConfig) } @@ -8959,7 +9729,7 @@ export function usePrepareHexBoardSetTile( /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link hookFactoryABI}__. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x55ee75ab3A7177aFc9390528EE31949839787d82) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3) * - */ export function useHookFactoryWrite< @@ -8983,7 +9753,8 @@ export function useHookFactoryWrite< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: hookFactoryABI, address: hookFactoryAddress[chainId as keyof typeof hookFactoryAddress], @@ -8994,7 +9765,7 @@ export function useHookFactoryWrite< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link hookFactoryABI}__ and `functionName` set to `"createHook"`. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x55ee75ab3A7177aFc9390528EE31949839787d82) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3) * - */ export function useHookFactoryCreateHook< @@ -9018,7 +9789,8 @@ export function useHookFactoryCreateHook< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: hookFactoryABI, address: hookFactoryAddress[chainId as keyof typeof hookFactoryAddress], @@ -9030,7 +9802,7 @@ export function useHookFactoryCreateHook< /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link hookFactoryABI}__. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x55ee75ab3A7177aFc9390528EE31949839787d82) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3) * - */ export function usePrepareHookFactoryWrite( @@ -9040,7 +9812,8 @@ export function usePrepareHookFactoryWrite( > & { chainId?: keyof typeof hookFactoryAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: hookFactoryABI, address: hookFactoryAddress[chainId as keyof typeof hookFactoryAddress], @@ -9051,7 +9824,7 @@ export function usePrepareHookFactoryWrite( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link hookFactoryABI}__ and `functionName` set to `"createHook"`. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x55ee75ab3A7177aFc9390528EE31949839787d82) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3) * - */ export function usePrepareHookFactoryCreateHook( @@ -9061,7 +9834,8 @@ export function usePrepareHookFactoryCreateHook( > & { chainId?: keyof typeof hookFactoryAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: hookFactoryABI, address: hookFactoryAddress[chainId as keyof typeof hookFactoryAddress], @@ -9073,7 +9847,7 @@ export function usePrepareHookFactoryCreateHook( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link hookFactoryABI}__. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x55ee75ab3A7177aFc9390528EE31949839787d82) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3) * - */ export function useHookFactoryEvent( @@ -9083,7 +9857,8 @@ export function useHookFactoryEvent( > & { chainId?: keyof typeof hookFactoryAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: hookFactoryABI, address: hookFactoryAddress[chainId as keyof typeof hookFactoryAddress], @@ -9094,7 +9869,7 @@ export function useHookFactoryEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link hookFactoryABI}__ and `eventName` set to `"HookCreated"`. * - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x55ee75ab3A7177aFc9390528EE31949839787d82) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3) * - */ export function useHookFactoryHookCreatedEvent( @@ -9104,7 +9879,8 @@ export function useHookFactoryHookCreatedEvent( > & { chainId?: keyof typeof hookFactoryAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: hookFactoryABI, address: hookFactoryAddress[chainId as keyof typeof hookFactoryAddress], @@ -9198,348 +9974,230 @@ export function usePrepareIAcceptableAccept( } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__. */ -export function useBoardRead< +export function useIGameViewRead< TFunctionName extends string, - TSelectData = ReadContractResult, + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig, + UseContractReadConfig, 'abi' > = {} as any, -) { - return useContractRead({ abi: boardABI, ...config } as UseContractReadConfig< - typeof boardABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"boardSize"`. - */ -export function useBoardBoardSize< - TFunctionName extends 'boardSize', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: boardABI, - functionName: 'boardSize', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getDistance"`. - */ -export function useBoardGetDistance< - TFunctionName extends 'getDistance', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: boardABI, - functionName: 'getDistance', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getDistanceTankToPoint"`. - */ -export function useBoardGetDistanceTankToPoint< - TFunctionName extends 'getDistanceTankToPoint', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: boardABI, - functionName: 'getDistanceTankToPoint', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getDistanceTanks"`. - */ -export function useBoardGetDistanceTanks< - TFunctionName extends 'getDistanceTanks', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: boardABI, - functionName: 'getDistanceTanks', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getEmptyTile"`. - */ -export function useBoardGetEmptyTile< - TFunctionName extends 'getEmptyTile', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return useContractRead({ - abi: boardABI, - functionName: 'getEmptyTile', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getHeartAtPosition"`. - */ -export function useBoardGetHeartAtPosition< - TFunctionName extends 'getHeartAtPosition', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, ) { return useContractRead({ - abi: boardABI, - functionName: 'getHeartAtPosition', + abi: iGameViewABI, ...config, - } as UseContractReadConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getPerimeterForRadius"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getAllHearts"`. */ -export function useBoardGetPerimeterForRadius< - TFunctionName extends 'getPerimeterForRadius', - TSelectData = ReadContractResult, +export function useIGameViewGetAllHearts< + TFunctionName extends 'getAllHearts', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: boardABI, - functionName: 'getPerimeterForRadius', + abi: iGameViewABI, + functionName: 'getAllHearts', ...config, - } as UseContractReadConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getTankPosition"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getAllTanks"`. */ -export function useBoardGetTankPosition< - TFunctionName extends 'getTankPosition', - TSelectData = ReadContractResult, +export function useIGameViewGetAllTanks< + TFunctionName extends 'getAllTanks', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: boardABI, - functionName: 'getTankPosition', + abi: iGameViewABI, + functionName: 'getAllTanks', ...config, - } as UseContractReadConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getTile"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getBoard"`. */ -export function useBoardGetTile< - TFunctionName extends 'getTile', - TSelectData = ReadContractResult, +export function useIGameViewGetBoard< + TFunctionName extends 'getBoard', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: boardABI, - functionName: 'getTile', + abi: iGameViewABI, + functionName: 'getBoard', ...config, - } as UseContractReadConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"getTotalTiles"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getEpoch"`. */ -export function useBoardGetTotalTiles< - TFunctionName extends 'getTotalTiles', - TSelectData = ReadContractResult, +export function useIGameViewGetEpoch< + TFunctionName extends 'getEpoch', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: boardABI, - functionName: 'getTotalTiles', + abi: iGameViewABI, + functionName: 'getEpoch', ...config, - } as UseContractReadConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"isValidPoint"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getGameEpoch"`. */ -export function useBoardIsValidPoint< - TFunctionName extends 'isValidPoint', - TSelectData = ReadContractResult, +export function useIGameViewGetGameEpoch< + TFunctionName extends 'getGameEpoch', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: boardABI, - functionName: 'isValidPoint', + abi: iGameViewABI, + functionName: 'getGameEpoch', ...config, - } as UseContractReadConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"pointToIndex"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getLastDrip"`. */ -export function useBoardPointToIndex< - TFunctionName extends 'pointToIndex', - TSelectData = ReadContractResult, +export function useIGameViewGetLastDrip< + TFunctionName extends 'getLastDrip', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: boardABI, - functionName: 'pointToIndex', + abi: iGameViewABI, + functionName: 'getLastDrip', ...config, - } as UseContractReadConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"randomPoint"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getPlayerCount"`. */ -export function useBoardRandomPoint< - TFunctionName extends 'randomPoint', - TSelectData = ReadContractResult, +export function useIGameViewGetPlayerCount< + TFunctionName extends 'getPlayerCount', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: boardABI, - functionName: 'randomPoint', + abi: iGameViewABI, + functionName: 'getPlayerCount', ...config, - } as UseContractReadConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link boardABI}__. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getSettings"`. */ -export function useBoardWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, +export function useIGameViewGetSettings< + TFunctionName extends 'getSettings', + TSelectData = ReadContractResult, >( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig & { - abi?: never - } = {} as any, + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, ) { - return useContractWrite({ - abi: boardABI, + return useContractRead({ + abi: iGameViewABI, + functionName: 'getSettings', ...config, - } as any) + } as UseContractReadConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"setTile"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getState"`. */ -export function useBoardSetTile( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof boardABI, - 'setTile' - >['request']['abi'], - 'setTile', - TMode - > & { functionName?: 'setTile' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'setTile' - } = {} as any, +export function useIGameViewGetState< + TFunctionName extends 'getState', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, ) { - return useContractWrite({ - abi: boardABI, - functionName: 'setTile', + return useContractRead({ + abi: iGameViewABI, + functionName: 'getState', ...config, - } as any) + } as UseContractReadConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link boardABI}__. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"getTank"`. */ -export function usePrepareBoardWrite( +export function useIGameViewGetTank< + TFunctionName extends 'getTank', + TSelectData = ReadContractResult, +>( config: Omit< - UsePrepareContractWriteConfig, - 'abi' + UseContractReadConfig, + 'abi' | 'functionName' > = {} as any, ) { - return usePrepareContractWrite({ - abi: boardABI, + return useContractRead({ + abi: iGameViewABI, + functionName: 'getTank', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractReadConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link boardABI}__ and `functionName` set to `"setTile"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link iGameViewABI}__ and `functionName` set to `"isAuth"`. */ -export function usePrepareBoardSetTile( +export function useIGameViewIsAuth< + TFunctionName extends 'isAuth', + TSelectData = ReadContractResult, +>( config: Omit< - UsePrepareContractWriteConfig, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { - return usePrepareContractWrite({ - abi: boardABI, - functionName: 'setTile', + return useContractRead({ + abi: iGameViewABI, + functionName: 'isAuth', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractReadConfig) } /** @@ -10831,399 +11489,139 @@ export function useIMulticall3TryBlockAndAggregate< functionName?: 'tryBlockAndAggregate' } = {} as any, ) { - return useContractWrite( - { - abi: iMulticall3ABI, - functionName: 'tryBlockAndAggregate', - ...config, - } as any, - ) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__. - */ -export function usePrepareIMulticall3Write( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: iMulticall3ABI, - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"aggregate"`. - */ -export function usePrepareIMulticall3Aggregate( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: iMulticall3ABI, - functionName: 'aggregate', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"aggregate3"`. - */ -export function usePrepareIMulticall3Aggregate3( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: iMulticall3ABI, - functionName: 'aggregate3', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"aggregate3Value"`. - */ -export function usePrepareIMulticall3Aggregate3Value( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: iMulticall3ABI, - functionName: 'aggregate3Value', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"blockAndAggregate"`. - */ -export function usePrepareIMulticall3BlockAndAggregate( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: iMulticall3ABI, - functionName: 'blockAndAggregate', - ...config, - } as UsePrepareContractWriteConfig< - typeof iMulticall3ABI, - 'blockAndAggregate' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"tryAggregate"`. - */ -export function usePrepareIMulticall3TryAggregate( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: iMulticall3ABI, - functionName: 'tryAggregate', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"tryBlockAndAggregate"`. - */ -export function usePrepareIMulticall3TryBlockAndAggregate( - config: Omit< - UsePrepareContractWriteConfig< - typeof iMulticall3ABI, - 'tryBlockAndAggregate' - >, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: iMulticall3ABI, - functionName: 'tryBlockAndAggregate', - ...config, - } as UsePrepareContractWriteConfig< - typeof iMulticall3ABI, - 'tryBlockAndAggregate' - >) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export function useITankGameRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, -) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"getBoard"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export function useITankGameGetBoard< - TFunctionName extends 'getBoard', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, -) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'getBoard', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"getEpoch"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export function useITankGameGetEpoch< - TFunctionName extends 'getEpoch', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, -) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'getEpoch', - ...config, - } as UseContractReadConfig) + return useContractWrite( + { + abi: iMulticall3ABI, + functionName: 'tryBlockAndAggregate', + ...config, + } as any, + ) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"getGameEpoch"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__. */ -export function useITankGameGetGameEpoch< - TFunctionName extends 'getGameEpoch', - TSelectData = ReadContractResult, ->( +export function usePrepareIMulticall3Write( config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, + UsePrepareContractWriteConfig, + 'abi' + > = {} as any, ) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'getGameEpoch', + return usePrepareContractWrite({ + abi: iMulticall3ABI, ...config, - } as UseContractReadConfig) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"getLastDrip"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"aggregate"`. */ -export function useITankGameGetLastDrip< - TFunctionName extends 'getLastDrip', - TSelectData = ReadContractResult, ->( +export function usePrepareIMulticall3Aggregate( config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'getLastDrip', + return usePrepareContractWrite({ + abi: iMulticall3ABI, + functionName: 'aggregate', ...config, - } as UseContractReadConfig) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"getPlayerCount"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"aggregate3"`. */ -export function useITankGameGetPlayerCount< - TFunctionName extends 'getPlayerCount', - TSelectData = ReadContractResult, ->( +export function usePrepareIMulticall3Aggregate3( config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'getPlayerCount', + return usePrepareContractWrite({ + abi: iMulticall3ABI, + functionName: 'aggregate3', ...config, - } as UseContractReadConfig) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"getSettings"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"aggregate3Value"`. */ -export function useITankGameGetSettings< - TFunctionName extends 'getSettings', - TSelectData = ReadContractResult, ->( +export function usePrepareIMulticall3Aggregate3Value( config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'getSettings', + return usePrepareContractWrite({ + abi: iMulticall3ABI, + functionName: 'aggregate3Value', ...config, - } as UseContractReadConfig) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"getState"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"blockAndAggregate"`. */ -export function useITankGameGetState< - TFunctionName extends 'getState', - TSelectData = ReadContractResult, ->( +export function usePrepareIMulticall3BlockAndAggregate( config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'getState', + return usePrepareContractWrite({ + abi: iMulticall3ABI, + functionName: 'blockAndAggregate', ...config, - } as UseContractReadConfig) + } as UsePrepareContractWriteConfig< + typeof iMulticall3ABI, + 'blockAndAggregate' + >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"getTank"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"tryAggregate"`. */ -export function useITankGameGetTank< - TFunctionName extends 'getTank', - TSelectData = ReadContractResult, ->( +export function usePrepareIMulticall3TryAggregate( config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'getTank', + return usePrepareContractWrite({ + abi: iMulticall3ABI, + functionName: 'tryAggregate', ...config, - } as UseContractReadConfig) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"isAuth"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iMulticall3ABI}__ and `functionName` set to `"tryBlockAndAggregate"`. */ -export function useITankGameIsAuth< - TFunctionName extends 'isAuth', - TSelectData = ReadContractResult, ->( +export function usePrepareIMulticall3TryBlockAndAggregate( config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof iTankGameAddress } = {} as any, + UsePrepareContractWriteConfig< + typeof iMulticall3ABI, + 'tryBlockAndAggregate' + >, + 'abi' | 'functionName' + > = {} as any, ) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: iTankGameABI, - address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'isAuth', + return usePrepareContractWrite({ + abi: iMulticall3ABI, + functionName: 'tryBlockAndAggregate', ...config, - } as UseContractReadConfig) + } as UsePrepareContractWriteConfig< + typeof iMulticall3ABI, + 'tryBlockAndAggregate' + >) } /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameWrite< @@ -11247,7 +11645,8 @@ export function useITankGameWrite< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11258,8 +11657,7 @@ export function useITankGameWrite< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"addHooks"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameAddHooks< @@ -11283,7 +11681,8 @@ export function useITankGameAddHooks< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11295,8 +11694,7 @@ export function useITankGameAddHooks< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"claim"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameClaim< @@ -11320,7 +11718,8 @@ export function useITankGameClaim< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11332,8 +11731,7 @@ export function useITankGameClaim< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"delegate"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameDelegate< @@ -11357,7 +11755,8 @@ export function useITankGameDelegate< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11369,8 +11768,7 @@ export function useITankGameDelegate< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"drip"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameDrip< @@ -11394,7 +11792,8 @@ export function useITankGameDrip< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11403,11 +11802,55 @@ export function useITankGameDrip< } as any) } +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"forceAddDefaultHook"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export function useITankGameForceAddDefaultHook< + TMode extends WriteContractMode = undefined, + TChainId extends number = keyof typeof iTankGameAddress, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof iTankGameABI, + 'forceAddDefaultHook' + >['request']['abi'], + 'forceAddDefaultHook', + TMode + > & { + address?: Address + chainId?: TChainId + functionName?: 'forceAddDefaultHook' + } + : UseContractWriteConfig< + typeof iTankGameABI, + 'forceAddDefaultHook', + TMode + > & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'forceAddDefaultHook' + } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractWrite({ + abi: iTankGameABI, + address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], + functionName: 'forceAddDefaultHook', + ...config, + } as any) +} + /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"give"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameGive< @@ -11431,7 +11874,8 @@ export function useITankGameGive< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11440,11 +11884,47 @@ export function useITankGameGive< } as any) } +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"initialize"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export function useITankGameInitialize< + TMode extends WriteContractMode = undefined, + TChainId extends number = keyof typeof iTankGameAddress, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof iTankGameABI, + 'initialize' + >['request']['abi'], + 'initialize', + TMode + > & { address?: Address; chainId?: TChainId; functionName?: 'initialize' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'initialize' + } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractWrite({ + abi: iTankGameABI, + address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], + functionName: 'initialize', + ...config, + } as any) +} + /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"join"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameJoin< @@ -11468,7 +11948,8 @@ export function useITankGameJoin< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11480,8 +11961,7 @@ export function useITankGameJoin< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"move"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameMove< @@ -11505,7 +11985,8 @@ export function useITankGameMove< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11517,8 +11998,7 @@ export function useITankGameMove< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"reveal"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameReveal< @@ -11542,7 +12022,8 @@ export function useITankGameReveal< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11554,8 +12035,7 @@ export function useITankGameReveal< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"shoot"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameShoot< @@ -11579,7 +12059,8 @@ export function useITankGameShoot< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11591,8 +12072,7 @@ export function useITankGameShoot< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"upgrade"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameUpgrade< @@ -11616,7 +12096,8 @@ export function useITankGameUpgrade< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11628,8 +12109,7 @@ export function useITankGameUpgrade< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"vote"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameVote< @@ -11653,7 +12133,8 @@ export function useITankGameVote< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11665,8 +12146,7 @@ export function useITankGameVote< /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameWrite( @@ -11676,7 +12156,8 @@ export function usePrepareITankGameWrite( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11687,8 +12168,7 @@ export function usePrepareITankGameWrite( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"addHooks"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameAddHooks( @@ -11698,7 +12178,8 @@ export function usePrepareITankGameAddHooks( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11710,8 +12191,7 @@ export function usePrepareITankGameAddHooks( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"claim"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameClaim( @@ -11721,7 +12201,8 @@ export function usePrepareITankGameClaim( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11733,8 +12214,7 @@ export function usePrepareITankGameClaim( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"delegate"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameDelegate( @@ -11744,7 +12224,8 @@ export function usePrepareITankGameDelegate( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11756,54 +12237,102 @@ export function usePrepareITankGameDelegate( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"drip"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameDrip( config: Omit< - UsePrepareContractWriteConfig, + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof iTankGameAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return usePrepareContractWrite({ + abi: iTankGameABI, + address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], + functionName: 'drip', + ...config, + } as UsePrepareContractWriteConfig) +} + +/** + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"forceAddDefaultHook"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export function usePrepareITankGameForceAddDefaultHook( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof iTankGameAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return usePrepareContractWrite({ + abi: iTankGameABI, + address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], + functionName: 'forceAddDefaultHook', + ...config, + } as UsePrepareContractWriteConfig< + typeof iTankGameABI, + 'forceAddDefaultHook' + >) +} + +/** + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"give"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export function usePrepareITankGameGive( + config: Omit< + UsePrepareContractWriteConfig, 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'drip', + functionName: 'give', ...config, - } as UsePrepareContractWriteConfig) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"give"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"initialize"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function usePrepareITankGameGive( +export function usePrepareITankGameInitialize( config: Omit< - UsePrepareContractWriteConfig, + UsePrepareContractWriteConfig, 'abi' | 'address' | 'functionName' > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], - functionName: 'give', + functionName: 'initialize', ...config, - } as UsePrepareContractWriteConfig) + } as UsePrepareContractWriteConfig) } /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"join"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameJoin( @@ -11813,7 +12342,8 @@ export function usePrepareITankGameJoin( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11825,8 +12355,7 @@ export function usePrepareITankGameJoin( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"move"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameMove( @@ -11836,7 +12365,8 @@ export function usePrepareITankGameMove( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11848,8 +12378,7 @@ export function usePrepareITankGameMove( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"reveal"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameReveal( @@ -11859,7 +12388,8 @@ export function usePrepareITankGameReveal( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11871,8 +12401,7 @@ export function usePrepareITankGameReveal( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"shoot"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameShoot( @@ -11882,7 +12411,8 @@ export function usePrepareITankGameShoot( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11894,8 +12424,7 @@ export function usePrepareITankGameShoot( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"upgrade"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameUpgrade( @@ -11905,7 +12434,8 @@ export function usePrepareITankGameUpgrade( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11917,8 +12447,7 @@ export function usePrepareITankGameUpgrade( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link iTankGameABI}__ and `functionName` set to `"vote"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareITankGameVote( @@ -11928,7 +12457,8 @@ export function usePrepareITankGameVote( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11940,8 +12470,7 @@ export function usePrepareITankGameVote( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameEvent( @@ -11951,7 +12480,8 @@ export function useITankGameEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11962,8 +12492,7 @@ export function useITankGameEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"BountyCompleted"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameBountyCompletedEvent( @@ -11973,7 +12502,8 @@ export function useITankGameBountyCompletedEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -11985,8 +12515,7 @@ export function useITankGameBountyCompletedEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Claim"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameClaimEvent( @@ -11996,7 +12525,8 @@ export function useITankGameClaimEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12008,8 +12538,7 @@ export function useITankGameClaimEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Commit"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameCommitEvent( @@ -12019,7 +12548,8 @@ export function useITankGameCommitEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12031,8 +12561,7 @@ export function useITankGameCommitEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Curse"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameCurseEvent( @@ -12042,7 +12571,8 @@ export function useITankGameCurseEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12054,8 +12584,7 @@ export function useITankGameCurseEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Death"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameDeathEvent( @@ -12065,7 +12594,8 @@ export function useITankGameDeathEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12077,8 +12607,7 @@ export function useITankGameDeathEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Delegate"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameDelegateEvent( @@ -12088,7 +12617,8 @@ export function useITankGameDelegateEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12100,8 +12630,7 @@ export function useITankGameDelegateEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Drip"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameDripEvent( @@ -12111,7 +12640,8 @@ export function useITankGameDripEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12123,8 +12653,7 @@ export function useITankGameDripEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"GameInit"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameGameInitEvent( @@ -12134,7 +12663,8 @@ export function useITankGameGameInitEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12146,8 +12676,7 @@ export function useITankGameGameInitEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"GameOver"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameGameOverEvent( @@ -12157,7 +12686,8 @@ export function useITankGameGameOverEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12169,8 +12699,7 @@ export function useITankGameGameOverEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"GameStarted"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameGameStartedEvent( @@ -12180,7 +12709,8 @@ export function useITankGameGameStartedEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12192,8 +12722,7 @@ export function useITankGameGameStartedEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Give"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameGiveEvent( @@ -12203,7 +12732,8 @@ export function useITankGameGiveEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12215,8 +12745,7 @@ export function useITankGameGiveEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"HooksAdded"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameHooksAddedEvent( @@ -12226,7 +12755,8 @@ export function useITankGameHooksAddedEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12238,8 +12768,7 @@ export function useITankGameHooksAddedEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Move"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameMoveEvent( @@ -12249,7 +12778,8 @@ export function useITankGameMoveEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12261,8 +12791,7 @@ export function useITankGameMoveEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"PlayerJoined"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGamePlayerJoinedEvent( @@ -12272,7 +12801,8 @@ export function useITankGamePlayerJoinedEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12284,8 +12814,7 @@ export function useITankGamePlayerJoinedEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"PrizeIncrease"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGamePrizeIncreaseEvent( @@ -12295,7 +12824,8 @@ export function useITankGamePrizeIncreaseEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12307,8 +12837,7 @@ export function useITankGamePrizeIncreaseEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Reveal"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameRevealEvent( @@ -12318,7 +12847,8 @@ export function useITankGameRevealEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12330,8 +12860,7 @@ export function useITankGameRevealEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Revive"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameReviveEvent( @@ -12341,7 +12870,8 @@ export function useITankGameReviveEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12353,8 +12883,7 @@ export function useITankGameReviveEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Shoot"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameShootEvent( @@ -12364,7 +12893,8 @@ export function useITankGameShootEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12376,8 +12906,7 @@ export function useITankGameShootEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"SpawnHeart"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameSpawnHeartEvent( @@ -12387,7 +12916,8 @@ export function useITankGameSpawnHeartEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12399,8 +12929,7 @@ export function useITankGameSpawnHeartEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Upgrade"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameUpgradeEvent( @@ -12410,7 +12939,8 @@ export function useITankGameUpgradeEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12422,8 +12952,7 @@ export function useITankGameUpgradeEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link iTankGameABI}__ and `eventName` set to `"Vote"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useITankGameVoteEvent( @@ -12433,7 +12962,8 @@ export function useITankGameVoteEvent( > & { chainId?: keyof typeof iTankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: iTankGameABI, address: iTankGameAddress[chainId as keyof typeof iTankGameAddress], @@ -12976,6 +13506,29 @@ export function useNonAggressionTankGame< >) } +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link nonAggressionABI}__ and `functionName` set to `"tankGameView"`. + */ +export function useNonAggressionTankGameView< + TFunctionName extends 'tankGameView', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'functionName' + > = {} as any, +) { + return useContractRead({ + abi: nonAggressionABI, + functionName: 'tankGameView', + ...config, + } as UseContractReadConfig< + typeof nonAggressionABI, + TFunctionName, + TSelectData + >) +} + /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link nonAggressionABI}__. */ @@ -14174,651 +14727,291 @@ export function useNonAggressionHookBeforeUpgrade< TMode > & { functionName?: 'beforeUpgrade' } : UseContractWriteConfig< - typeof nonAggressionHookABI, - 'beforeUpgrade', - TMode - > & { - abi?: never - functionName?: 'beforeUpgrade' - } = {} as any, -) { - return useContractWrite({ - abi: nonAggressionHookABI, - functionName: 'beforeUpgrade', - ...config, - } as any) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeVote"`. - */ -export function useNonAggressionHookBeforeVote< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof nonAggressionHookABI, - 'beforeVote' - >['request']['abi'], - 'beforeVote', - TMode - > & { functionName?: 'beforeVote' } - : UseContractWriteConfig< - typeof nonAggressionHookABI, - 'beforeVote', - TMode - > & { - abi?: never - functionName?: 'beforeVote' - } = {} as any, -) { - return useContractWrite({ - abi: nonAggressionHookABI, - functionName: 'beforeVote', - ...config, - } as any) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__. - */ -export function usePrepareNonAggressionHookWrite( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - ...config, - } as UsePrepareContractWriteConfig< - typeof nonAggressionHookABI, - TFunctionName - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"accept"`. - */ -export function usePrepareNonAggressionHookAccept( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - functionName: 'accept', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterGive"`. - */ -export function usePrepareNonAggressionHookAfterGive( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - functionName: 'afterGive', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterMove"`. - */ -export function usePrepareNonAggressionHookAfterMove( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - functionName: 'afterMove', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterReveal"`. - */ -export function usePrepareNonAggressionHookAfterReveal( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - functionName: 'afterReveal', - ...config, - } as UsePrepareContractWriteConfig< - typeof nonAggressionHookABI, - 'afterReveal' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterShoot"`. - */ -export function usePrepareNonAggressionHookAfterShoot( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - functionName: 'afterShoot', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterUpgrade"`. - */ -export function usePrepareNonAggressionHookAfterUpgrade( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - functionName: 'afterUpgrade', - ...config, - } as UsePrepareContractWriteConfig< - typeof nonAggressionHookABI, - 'afterUpgrade' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterVote"`. - */ -export function usePrepareNonAggressionHookAfterVote( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - functionName: 'afterVote', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeMove"`. - */ -export function usePrepareNonAggressionHookBeforeMove( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - functionName: 'beforeMove', - ...config, - } as UsePrepareContractWriteConfig) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeShoot"`. - */ -export function usePrepareNonAggressionHookBeforeShoot( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, -) { - return usePrepareContractWrite({ - abi: nonAggressionHookABI, - functionName: 'beforeShoot', - ...config, - } as UsePrepareContractWriteConfig< - typeof nonAggressionHookABI, - 'beforeShoot' - >) -} - -/** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeUpgrade"`. - */ -export function usePrepareNonAggressionHookBeforeUpgrade( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, + typeof nonAggressionHookABI, + 'beforeUpgrade', + TMode + > & { + abi?: never + functionName?: 'beforeUpgrade' + } = {} as any, ) { - return usePrepareContractWrite({ + return useContractWrite({ abi: nonAggressionHookABI, functionName: 'beforeUpgrade', ...config, - } as UsePrepareContractWriteConfig< - typeof nonAggressionHookABI, - 'beforeUpgrade' - >) + } as any) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeVote"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeVote"`. */ -export function usePrepareNonAggressionHookBeforeVote( - config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' - > = {} as any, +export function useNonAggressionHookBeforeVote< + TMode extends WriteContractMode = undefined, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof nonAggressionHookABI, + 'beforeVote' + >['request']['abi'], + 'beforeVote', + TMode + > & { functionName?: 'beforeVote' } + : UseContractWriteConfig< + typeof nonAggressionHookABI, + 'beforeVote', + TMode + > & { + abi?: never + functionName?: 'beforeVote' + } = {} as any, ) { - return usePrepareContractWrite({ + return useContractWrite({ abi: nonAggressionHookABI, functionName: 'beforeVote', ...config, - } as UsePrepareContractWriteConfig) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__. */ -export function useStdInvariantRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookWrite( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, + return usePrepareContractWrite({ + abi: nonAggressionHookABI, ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData + } as UsePrepareContractWriteConfig< + typeof nonAggressionHookABI, + TFunctionName >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__ and `functionName` set to `"excludeArtifacts"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"accept"`. */ -export function useStdInvariantExcludeArtifacts< - TFunctionName extends 'excludeArtifacts', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookAccept( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, - functionName: 'excludeArtifacts', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'accept', ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__ and `functionName` set to `"excludeContracts"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterGive"`. */ -export function useStdInvariantExcludeContracts< - TFunctionName extends 'excludeContracts', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookAfterGive( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, - functionName: 'excludeContracts', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'afterGive', ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__ and `functionName` set to `"excludeSenders"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterMove"`. */ -export function useStdInvariantExcludeSenders< - TFunctionName extends 'excludeSenders', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookAfterMove( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, - functionName: 'excludeSenders', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'afterMove', ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__ and `functionName` set to `"targetArtifactSelectors"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterReveal"`. */ -export function useStdInvariantTargetArtifactSelectors< - TFunctionName extends 'targetArtifactSelectors', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookAfterReveal( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, - functionName: 'targetArtifactSelectors', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'afterReveal', ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData + } as UsePrepareContractWriteConfig< + typeof nonAggressionHookABI, + 'afterReveal' >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__ and `functionName` set to `"targetArtifacts"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterShoot"`. */ -export function useStdInvariantTargetArtifacts< - TFunctionName extends 'targetArtifacts', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookAfterShoot( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, - functionName: 'targetArtifacts', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'afterShoot', ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__ and `functionName` set to `"targetContracts"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterUpgrade"`. */ -export function useStdInvariantTargetContracts< - TFunctionName extends 'targetContracts', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookAfterUpgrade( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, - functionName: 'targetContracts', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'afterUpgrade', ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData + } as UsePrepareContractWriteConfig< + typeof nonAggressionHookABI, + 'afterUpgrade' >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__ and `functionName` set to `"targetInterfaces"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"afterVote"`. */ -export function useStdInvariantTargetInterfaces< - TFunctionName extends 'targetInterfaces', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookAfterVote( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, - functionName: 'targetInterfaces', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'afterVote', ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__ and `functionName` set to `"targetSelectors"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeMove"`. */ -export function useStdInvariantTargetSelectors< - TFunctionName extends 'targetSelectors', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookBeforeMove( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, - functionName: 'targetSelectors', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'beforeMove', ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link stdInvariantABI}__ and `functionName` set to `"targetSenders"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeShoot"`. */ -export function useStdInvariantTargetSenders< - TFunctionName extends 'targetSenders', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookBeforeShoot( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: stdInvariantABI, - functionName: 'targetSenders', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'beforeShoot', ...config, - } as UseContractReadConfig< - typeof stdInvariantABI, - TFunctionName, - TSelectData + } as UsePrepareContractWriteConfig< + typeof nonAggressionHookABI, + 'beforeShoot' >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export function useTankGameRead< - TFunctionName extends string, - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' - > & { chainId?: keyof typeof tankGameAddress } = {} as any, -) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: tankGameABI, - address: tankGameAddress[chainId as keyof typeof tankGameAddress], - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"aliveTanksIdSum"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export function useTankGameAliveTanksIdSum< - TFunctionName extends 'aliveTanksIdSum', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof tankGameAddress } = {} as any, -) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: tankGameABI, - address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'aliveTanksIdSum', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"board"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - - */ -export function useTankGameBoard< - TFunctionName extends 'board', - TSelectData = ReadContractResult, ->( - config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof tankGameAddress } = {} as any, -) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: tankGameABI, - address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'board', - ...config, - } as UseContractReadConfig) -} - -/** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"claimed"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeUpgrade"`. */ -export function useTankGameClaimed< - TFunctionName extends 'claimed', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookBeforeUpgrade( config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof tankGameAddress } = {} as any, + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: tankGameABI, - address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'claimed', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'beforeUpgrade', ...config, - } as UseContractReadConfig) + } as UsePrepareContractWriteConfig< + typeof nonAggressionHookABI, + 'beforeUpgrade' + >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"deadTanks"`. - * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) - * - + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link nonAggressionHookABI}__ and `functionName` set to `"beforeVote"`. */ -export function useTankGameDeadTanks< - TFunctionName extends 'deadTanks', - TSelectData = ReadContractResult, ->( +export function usePrepareNonAggressionHookBeforeVote( config: Omit< - UseContractReadConfig, - 'abi' | 'address' | 'functionName' - > & { chainId?: keyof typeof tankGameAddress } = {} as any, + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id - return useContractRead({ - abi: tankGameABI, - address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'deadTanks', + return usePrepareContractWrite({ + abi: nonAggressionHookABI, + functionName: 'beforeVote', ...config, - } as UseContractReadConfig) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"delegates"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameDelegates< - TFunctionName extends 'delegates', +export function useTankGameRead< + TFunctionName extends string, TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - 'abi' | 'address' | 'functionName' + 'abi' | 'address' > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'delegates', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"epochStart"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"_getEpoch"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameEpochStart< - TFunctionName extends 'epochStart', +export function useTankGameGetEpoch< + TFunctionName extends '_getEpoch', TSelectData = ReadContractResult, >( config: Omit< @@ -14827,24 +15020,24 @@ export function useTankGameEpochStart< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'epochStart', + functionName: '_getEpoch', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getBoard"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"aliveTanksIdSum"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameGetBoard< - TFunctionName extends 'getBoard', +export function useTankGameAliveTanksIdSum< + TFunctionName extends 'aliveTanksIdSum', TSelectData = ReadContractResult, >( config: Omit< @@ -14853,24 +15046,24 @@ export function useTankGameGetBoard< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'getBoard', + functionName: 'aliveTanksIdSum', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getEpoch"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"board"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameGetEpoch< - TFunctionName extends 'getEpoch', +export function useTankGameBoard< + TFunctionName extends 'board', TSelectData = ReadContractResult, >( config: Omit< @@ -14879,24 +15072,24 @@ export function useTankGameGetEpoch< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'getEpoch', + functionName: 'board', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getGameEpoch"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"claimed"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameGetGameEpoch< - TFunctionName extends 'getGameEpoch', +export function useTankGameClaimed< + TFunctionName extends 'claimed', TSelectData = ReadContractResult, >( config: Omit< @@ -14905,24 +15098,24 @@ export function useTankGameGetGameEpoch< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'getGameEpoch', + functionName: 'claimed', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getLastDrip"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"deadTanks"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameGetLastDrip< - TFunctionName extends 'getLastDrip', +export function useTankGameDeadTanks< + TFunctionName extends 'deadTanks', TSelectData = ReadContractResult, >( config: Omit< @@ -14931,24 +15124,24 @@ export function useTankGameGetLastDrip< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'getLastDrip', + functionName: 'deadTanks', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getPlayerCount"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"delegates"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameGetPlayerCount< - TFunctionName extends 'getPlayerCount', +export function useTankGameDelegates< + TFunctionName extends 'delegates', TSelectData = ReadContractResult, >( config: Omit< @@ -14957,24 +15150,24 @@ export function useTankGameGetPlayerCount< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'getPlayerCount', + functionName: 'delegates', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getSettings"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"epochStart"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameGetSettings< - TFunctionName extends 'getSettings', +export function useTankGameEpochStart< + TFunctionName extends 'epochStart', TSelectData = ReadContractResult, >( config: Omit< @@ -14983,24 +15176,24 @@ export function useTankGameGetSettings< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'getSettings', + functionName: 'epochStart', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getState"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"factory"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameGetState< - TFunctionName extends 'getState', +export function useTankGameFactory< + TFunctionName extends 'factory', TSelectData = ReadContractResult, >( config: Omit< @@ -15009,24 +15202,24 @@ export function useTankGameGetState< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'getState', + functionName: 'factory', ...config, } as UseContractReadConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getTank"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getLastDrip"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ -export function useTankGameGetTank< - TFunctionName extends 'getTank', +export function useTankGameGetLastDrip< + TFunctionName extends 'getLastDrip', TSelectData = ReadContractResult, >( config: Omit< @@ -15035,11 +15228,12 @@ export function useTankGameGetTank< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], - functionName: 'getTank', + functionName: 'getLastDrip', ...config, } as UseContractReadConfig) } @@ -15047,8 +15241,7 @@ export function useTankGameGetTank< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"getUpgradeCost"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameGetUpgradeCost< @@ -15061,7 +15254,8 @@ export function useTankGameGetUpgradeCost< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15073,8 +15267,7 @@ export function useTankGameGetUpgradeCost< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"heartsOnBoard"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameHeartsOnBoard< @@ -15087,7 +15280,8 @@ export function useTankGameHeartsOnBoard< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15099,8 +15293,7 @@ export function useTankGameHeartsOnBoard< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"isAuth"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameIsAuth< @@ -15113,7 +15306,8 @@ export function useTankGameIsAuth< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15125,8 +15319,7 @@ export function useTankGameIsAuth< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"lastDripEpoch"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameLastDripEpoch< @@ -15139,7 +15332,8 @@ export function useTankGameLastDripEpoch< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15151,8 +15345,7 @@ export function useTankGameLastDripEpoch< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"lastRevealBlock"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameLastRevealBlock< @@ -15165,7 +15358,8 @@ export function useTankGameLastRevealBlock< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15177,8 +15371,7 @@ export function useTankGameLastRevealBlock< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"numTanksAlive"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameNumTanksAlive< @@ -15191,7 +15384,8 @@ export function useTankGameNumTanksAlive< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15203,8 +15397,7 @@ export function useTankGameNumTanksAlive< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"owner"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameOwner< @@ -15217,7 +15410,8 @@ export function useTankGameOwner< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15229,8 +15423,7 @@ export function useTankGameOwner< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"players"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGamePlayers< @@ -15243,7 +15436,8 @@ export function useTankGamePlayers< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15255,8 +15449,7 @@ export function useTankGamePlayers< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"playersCount"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGamePlayersCount< @@ -15269,7 +15462,8 @@ export function useTankGamePlayersCount< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15281,8 +15475,7 @@ export function useTankGamePlayersCount< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"podium"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGamePodium< @@ -15295,7 +15488,8 @@ export function useTankGamePodium< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15307,8 +15501,7 @@ export function useTankGamePodium< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"prizePool"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGamePrizePool< @@ -15321,7 +15514,8 @@ export function useTankGamePrizePool< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15333,8 +15527,7 @@ export function useTankGamePrizePool< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"revealBlock"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameRevealBlock< @@ -15347,7 +15540,8 @@ export function useTankGameRevealBlock< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15359,8 +15553,7 @@ export function useTankGameRevealBlock< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"settings"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameSettings< @@ -15373,7 +15566,8 @@ export function useTankGameSettings< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15385,8 +15579,7 @@ export function useTankGameSettings< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"state"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameState< @@ -15399,7 +15592,8 @@ export function useTankGameState< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15411,8 +15605,7 @@ export function useTankGameState< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"stateData"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameStateData< @@ -15425,7 +15618,8 @@ export function useTankGameStateData< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15437,8 +15631,7 @@ export function useTankGameStateData< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"tankHooks"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameTankHooks< @@ -15451,7 +15644,8 @@ export function useTankGameTankHooks< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15460,11 +15654,36 @@ export function useTankGameTankHooks< } as UseContractReadConfig) } +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"tankToPosition"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export function useTankGameTankToPosition< + TFunctionName extends 'tankToPosition', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof tankGameAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: tankGameABI, + address: tankGameAddress[chainId as keyof typeof tankGameAddress], + functionName: 'tankToPosition', + ...config, + } as UseContractReadConfig) +} + /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"tanks"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameTanks< @@ -15477,7 +15696,8 @@ export function useTankGameTanks< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15489,8 +15709,7 @@ export function useTankGameTanks< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"tanksOnBoard"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameTanksOnBoard< @@ -15503,7 +15722,8 @@ export function useTankGameTanksOnBoard< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15515,8 +15735,7 @@ export function useTankGameTanksOnBoard< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"votedThisEpoch"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameVotedThisEpoch< @@ -15529,7 +15748,8 @@ export function useTankGameVotedThisEpoch< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15541,8 +15761,7 @@ export function useTankGameVotedThisEpoch< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"votesPerEpoch"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameVotesPerEpoch< @@ -15555,7 +15774,8 @@ export function useTankGameVotesPerEpoch< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15567,8 +15787,7 @@ export function useTankGameVotesPerEpoch< /** * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"votingClosed"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameVotingClosed< @@ -15581,7 +15800,8 @@ export function useTankGameVotingClosed< > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15593,8 +15813,7 @@ export function useTankGameVotingClosed< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameWrite< @@ -15618,7 +15837,8 @@ export function useTankGameWrite< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15629,8 +15849,7 @@ export function useTankGameWrite< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"addHooks"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameAddHooks< @@ -15654,7 +15873,8 @@ export function useTankGameAddHooks< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15666,8 +15886,7 @@ export function useTankGameAddHooks< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"claim"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameClaim< @@ -15691,7 +15910,8 @@ export function useTankGameClaim< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15703,8 +15923,7 @@ export function useTankGameClaim< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"delegate"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameDelegate< @@ -15728,7 +15947,8 @@ export function useTankGameDelegate< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15740,8 +15960,7 @@ export function useTankGameDelegate< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"donate"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameDonate< @@ -15765,7 +15984,8 @@ export function useTankGameDonate< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15777,8 +15997,7 @@ export function useTankGameDonate< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"drip"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameDrip< @@ -15802,7 +16021,8 @@ export function useTankGameDrip< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15814,8 +16034,7 @@ export function useTankGameDrip< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"forceAddDefaultHook"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameForceAddDefaultHook< @@ -15847,7 +16066,8 @@ export function useTankGameForceAddDefaultHook< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15859,8 +16079,7 @@ export function useTankGameForceAddDefaultHook< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"give"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameGive< @@ -15884,7 +16103,8 @@ export function useTankGameGive< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15893,11 +16113,47 @@ export function useTankGameGive< } as any) } +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"initialize"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export function useTankGameInitialize< + TMode extends WriteContractMode = undefined, + TChainId extends number = keyof typeof tankGameAddress, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameABI, + 'initialize' + >['request']['abi'], + 'initialize', + TMode + > & { address?: Address; chainId?: TChainId; functionName?: 'initialize' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'initialize' + } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractWrite({ + abi: tankGameABI, + address: tankGameAddress[chainId as keyof typeof tankGameAddress], + functionName: 'initialize', + ...config, + } as any) +} + /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"join"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameJoin< @@ -15921,7 +16177,8 @@ export function useTankGameJoin< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15933,8 +16190,7 @@ export function useTankGameJoin< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"move"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameMove< @@ -15958,7 +16214,8 @@ export function useTankGameMove< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -15970,8 +16227,7 @@ export function useTankGameMove< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"reveal"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameReveal< @@ -15995,7 +16251,8 @@ export function useTankGameReveal< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16007,8 +16264,7 @@ export function useTankGameReveal< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"setOwner"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameSetOwner< @@ -16032,7 +16288,8 @@ export function useTankGameSetOwner< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16044,8 +16301,7 @@ export function useTankGameSetOwner< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"shoot"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameShoot< @@ -16069,7 +16325,8 @@ export function useTankGameShoot< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16081,8 +16338,7 @@ export function useTankGameShoot< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"start"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameStart< @@ -16106,7 +16362,8 @@ export function useTankGameStart< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16118,8 +16375,7 @@ export function useTankGameStart< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"upgrade"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameUpgrade< @@ -16143,7 +16399,8 @@ export function useTankGameUpgrade< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16155,8 +16412,7 @@ export function useTankGameUpgrade< /** * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"vote"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameVote< @@ -16180,7 +16436,8 @@ export function useTankGameVote< } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16192,8 +16449,7 @@ export function useTankGameVote< /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameWrite( @@ -16203,7 +16459,8 @@ export function usePrepareTankGameWrite( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16214,8 +16471,7 @@ export function usePrepareTankGameWrite( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"addHooks"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameAddHooks( @@ -16225,7 +16481,8 @@ export function usePrepareTankGameAddHooks( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16237,8 +16494,7 @@ export function usePrepareTankGameAddHooks( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"claim"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameClaim( @@ -16248,7 +16504,8 @@ export function usePrepareTankGameClaim( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16260,8 +16517,7 @@ export function usePrepareTankGameClaim( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"delegate"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameDelegate( @@ -16271,7 +16527,8 @@ export function usePrepareTankGameDelegate( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16283,8 +16540,7 @@ export function usePrepareTankGameDelegate( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"donate"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameDonate( @@ -16294,7 +16550,8 @@ export function usePrepareTankGameDonate( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16306,8 +16563,7 @@ export function usePrepareTankGameDonate( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"drip"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameDrip( @@ -16317,7 +16573,8 @@ export function usePrepareTankGameDrip( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16329,8 +16586,7 @@ export function usePrepareTankGameDrip( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"forceAddDefaultHook"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameForceAddDefaultHook( @@ -16340,7 +16596,8 @@ export function usePrepareTankGameForceAddDefaultHook( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16352,8 +16609,7 @@ export function usePrepareTankGameForceAddDefaultHook( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"give"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameGive( @@ -16363,7 +16619,8 @@ export function usePrepareTankGameGive( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16372,11 +16629,33 @@ export function usePrepareTankGameGive( } as UsePrepareContractWriteConfig) } +/** + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"initialize"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) + * - + */ +export function usePrepareTankGameInitialize( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof tankGameAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return usePrepareContractWrite({ + abi: tankGameABI, + address: tankGameAddress[chainId as keyof typeof tankGameAddress], + functionName: 'initialize', + ...config, + } as UsePrepareContractWriteConfig) +} + /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"join"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameJoin( @@ -16386,7 +16665,8 @@ export function usePrepareTankGameJoin( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16398,8 +16678,7 @@ export function usePrepareTankGameJoin( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"move"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameMove( @@ -16409,7 +16688,8 @@ export function usePrepareTankGameMove( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16421,8 +16701,7 @@ export function usePrepareTankGameMove( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"reveal"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameReveal( @@ -16432,7 +16711,8 @@ export function usePrepareTankGameReveal( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16444,8 +16724,7 @@ export function usePrepareTankGameReveal( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"setOwner"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameSetOwner( @@ -16455,7 +16734,8 @@ export function usePrepareTankGameSetOwner( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16467,8 +16747,7 @@ export function usePrepareTankGameSetOwner( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"shoot"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameShoot( @@ -16478,7 +16757,8 @@ export function usePrepareTankGameShoot( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16490,8 +16770,7 @@ export function usePrepareTankGameShoot( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"start"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameStart( @@ -16501,7 +16780,8 @@ export function usePrepareTankGameStart( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16513,8 +16793,7 @@ export function usePrepareTankGameStart( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"upgrade"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameUpgrade( @@ -16524,7 +16803,8 @@ export function usePrepareTankGameUpgrade( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16536,8 +16816,7 @@ export function usePrepareTankGameUpgrade( /** * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameABI}__ and `functionName` set to `"vote"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function usePrepareTankGameVote( @@ -16547,7 +16826,8 @@ export function usePrepareTankGameVote( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return usePrepareContractWrite({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16559,8 +16839,7 @@ export function usePrepareTankGameVote( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameEvent( @@ -16570,7 +16849,8 @@ export function useTankGameEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16581,8 +16861,7 @@ export function useTankGameEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"BountyCompleted"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameBountyCompletedEvent( @@ -16592,7 +16871,8 @@ export function useTankGameBountyCompletedEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16604,8 +16884,7 @@ export function useTankGameBountyCompletedEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Claim"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameClaimEvent( @@ -16615,7 +16894,8 @@ export function useTankGameClaimEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16627,8 +16907,7 @@ export function useTankGameClaimEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Commit"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameCommitEvent( @@ -16638,7 +16917,8 @@ export function useTankGameCommitEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16650,8 +16930,7 @@ export function useTankGameCommitEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Curse"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameCurseEvent( @@ -16661,7 +16940,8 @@ export function useTankGameCurseEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16673,8 +16953,7 @@ export function useTankGameCurseEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Death"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameDeathEvent( @@ -16684,7 +16963,8 @@ export function useTankGameDeathEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16696,8 +16976,7 @@ export function useTankGameDeathEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Delegate"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameDelegateEvent( @@ -16707,7 +16986,8 @@ export function useTankGameDelegateEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16719,8 +16999,7 @@ export function useTankGameDelegateEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Drip"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameDripEvent( @@ -16730,7 +17009,8 @@ export function useTankGameDripEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16742,8 +17022,7 @@ export function useTankGameDripEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"GameInit"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameGameInitEvent( @@ -16753,7 +17032,8 @@ export function useTankGameGameInitEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16765,8 +17045,7 @@ export function useTankGameGameInitEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"GameOver"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameGameOverEvent( @@ -16776,7 +17055,8 @@ export function useTankGameGameOverEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16788,8 +17068,7 @@ export function useTankGameGameOverEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"GameStarted"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameGameStartedEvent( @@ -16799,7 +17078,8 @@ export function useTankGameGameStartedEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16811,8 +17091,7 @@ export function useTankGameGameStartedEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Give"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameGiveEvent( @@ -16822,7 +17101,8 @@ export function useTankGameGiveEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16834,8 +17114,7 @@ export function useTankGameGiveEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"HooksAdded"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameHooksAddedEvent( @@ -16845,7 +17124,8 @@ export function useTankGameHooksAddedEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16857,8 +17137,7 @@ export function useTankGameHooksAddedEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Move"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameMoveEvent( @@ -16868,7 +17147,8 @@ export function useTankGameMoveEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16880,8 +17160,7 @@ export function useTankGameMoveEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"PlayerJoined"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGamePlayerJoinedEvent( @@ -16891,7 +17170,8 @@ export function useTankGamePlayerJoinedEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16903,8 +17183,7 @@ export function useTankGamePlayerJoinedEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"PrizeIncrease"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGamePrizeIncreaseEvent( @@ -16914,7 +17193,8 @@ export function useTankGamePrizeIncreaseEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16926,8 +17206,7 @@ export function useTankGamePrizeIncreaseEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Reveal"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameRevealEvent( @@ -16937,7 +17216,8 @@ export function useTankGameRevealEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16949,8 +17229,7 @@ export function useTankGameRevealEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Revive"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameReviveEvent( @@ -16960,7 +17239,8 @@ export function useTankGameReviveEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16972,8 +17252,7 @@ export function useTankGameReviveEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Shoot"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameShootEvent( @@ -16983,7 +17262,8 @@ export function useTankGameShootEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -16995,8 +17275,7 @@ export function useTankGameShootEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"SpawnHeart"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameSpawnHeartEvent( @@ -17006,7 +17285,8 @@ export function useTankGameSpawnHeartEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -17018,8 +17298,7 @@ export function useTankGameSpawnHeartEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Upgrade"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameUpgradeEvent( @@ -17029,7 +17308,8 @@ export function useTankGameUpgradeEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -17041,8 +17321,7 @@ export function useTankGameUpgradeEvent( /** * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameABI}__ and `eventName` set to `"Vote"`. * - * - [__View Contract on Ethereum Etherscan__](https://etherscan.io/address/0x021dbff4a864aa25c51f0ad2cd73266fde66199d) - * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0xD2605193cc30Be96F69DE74d4c5f5fD286f87650) + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414) * - */ export function useTankGameVoteEvent( @@ -17052,7 +17331,8 @@ export function useTankGameVoteEvent( > & { chainId?: keyof typeof tankGameAddress } = {} as any, ) { const { chain } = useNetwork() - const chainId = config.chainId ?? chain?.id + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractEvent({ abi: tankGameABI, address: tankGameAddress[chainId as keyof typeof tankGameAddress], @@ -17062,666 +17342,710 @@ export function useTankGameVoteEvent( } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameFactoryABI}__. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - */ -export function useTankGameV2StorageRead< +export function useTankGameFactoryRead< TFunctionName extends string, - TSelectData = ReadContractResult, + TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameFactoryABI, TFunctionName, TSelectData >, - 'abi' - > = {} as any, + 'abi' | 'address' + > & { chainId?: keyof typeof tankGameFactoryAddress } = {} as any, ) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId return useContractRead({ - abi: tankGameV2StorageABI, + abi: tankGameFactoryABI, + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameFactoryABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"aliveTanksIdSum"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameFactoryABI}__ and `functionName` set to `"gameView"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - */ -export function useTankGameV2StorageAliveTanksIdSum< - TFunctionName extends 'aliveTanksIdSum', - TSelectData = ReadContractResult, +export function useTankGameFactoryGameView< + TFunctionName extends 'gameView', + TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameFactoryABI, TFunctionName, TSelectData >, - 'abi' | 'functionName' - > = {} as any, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof tankGameFactoryAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: tankGameFactoryABI, + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], + functionName: 'gameView', + ...config, + } as UseContractReadConfig< + typeof tankGameFactoryABI, + TFunctionName, + TSelectData + >) +} + +/** + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameFactoryABI}__ and `functionName` set to `"hookFactory"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - + */ +export function useTankGameFactoryHookFactory< + TFunctionName extends 'hookFactory', + TSelectData = ReadContractResult, +>( + config: Omit< + UseContractReadConfig< + typeof tankGameFactoryABI, + TFunctionName, + TSelectData + >, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof tankGameFactoryAddress } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractRead({ + abi: tankGameFactoryABI, + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], + functionName: 'hookFactory', + ...config, + } as UseContractReadConfig< + typeof tankGameFactoryABI, + TFunctionName, + TSelectData + >) +} + +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameFactoryABI}__. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - + */ +export function useTankGameFactoryWrite< + TFunctionName extends string, + TMode extends WriteContractMode = undefined, + TChainId extends number = keyof typeof tankGameFactoryAddress, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameFactoryABI, + string + >['request']['abi'], + TFunctionName, + TMode + > & { address?: Address; chainId?: TChainId } + : UseContractWriteConfig< + typeof tankGameFactoryABI, + TFunctionName, + TMode + > & { + abi?: never + address?: never + chainId?: TChainId + } = {} as any, +) { + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractWrite({ + abi: tankGameFactoryABI, + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], + ...config, + } as any) +} + +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameFactoryABI}__ and `functionName` set to `"createGame"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - + */ +export function useTankGameFactoryCreateGame< + TMode extends WriteContractMode = undefined, + TChainId extends number = keyof typeof tankGameFactoryAddress, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameFactoryABI, + 'createGame' + >['request']['abi'], + 'createGame', + TMode + > & { address?: Address; chainId?: TChainId; functionName?: 'createGame' } + : UseContractWriteConfig & { + abi?: never + address?: never + chainId?: TChainId + functionName?: 'createGame' + } = {} as any, ) { - return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'aliveTanksIdSum', + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractWrite({ + abi: tankGameFactoryABI, + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], + functionName: 'createGame', ...config, - } as UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"board"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameFactoryABI}__. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - */ -export function useTankGameV2StorageBoard< - TFunctionName extends 'board', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameFactoryWrite( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, + UsePrepareContractWriteConfig, + 'abi' | 'address' + > & { chainId?: keyof typeof tankGameFactoryAddress } = {} as any, ) { - return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'board', + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return usePrepareContractWrite({ + abi: tankGameFactoryABI, + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], ...config, - } as UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"claimed"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameFactoryABI}__ and `functionName` set to `"createGame"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - */ -export function useTankGameV2StorageClaimed< - TFunctionName extends 'claimed', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameFactoryCreateGame( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, + UsePrepareContractWriteConfig, + 'abi' | 'address' | 'functionName' + > & { chainId?: keyof typeof tankGameFactoryAddress } = {} as any, ) { - return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'claimed', + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return usePrepareContractWrite({ + abi: tankGameFactoryABI, + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], + functionName: 'createGame', ...config, - } as UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"deadTanks"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameFactoryABI}__. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - */ -export function useTankGameV2StorageDeadTanks< - TFunctionName extends 'deadTanks', - TSelectData = ReadContractResult, ->( +export function useTankGameFactoryEvent( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, + UseContractEventConfig, + 'abi' | 'address' + > & { chainId?: keyof typeof tankGameFactoryAddress } = {} as any, ) { - return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'deadTanks', + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractEvent({ + abi: tankGameFactoryABI, + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], ...config, - } as UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >) + } as UseContractEventConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"delegates"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameFactoryABI}__ and `eventName` set to `"GameCreated"`. + * + * - [__View Contract on Goerli Etherscan__](https://goerli.etherscan.io/address/0x9758ce8FE412C72893b42FFEdAEDff1840e1886f) + * - */ -export function useTankGameV2StorageDelegates< - TFunctionName extends 'delegates', - TSelectData = ReadContractResult, ->( +export function useTankGameFactoryGameCreatedEvent( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' - > = {} as any, + UseContractEventConfig, + 'abi' | 'address' | 'eventName' + > & { chainId?: keyof typeof tankGameFactoryAddress } = {} as any, ) { - return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'delegates', + const { chain } = useNetwork() + const defaultChainId = useChainId() + const chainId = config.chainId ?? chain?.id ?? defaultChainId + return useContractEvent({ + abi: tankGameFactoryABI, + address: + tankGameFactoryAddress[chainId as keyof typeof tankGameFactoryAddress], + eventName: 'GameCreated', ...config, - } as UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >) + } as UseContractEventConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"epochStart"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__. */ -export function useTankGameV2StorageEpochStart< - TFunctionName extends 'epochStart', - TSelectData = ReadContractResult, +export function useTankGameLogicRead< + TFunctionName extends string, + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, - 'abi' | 'functionName' + UseContractReadConfig, + 'abi' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'epochStart', + abi: tankGameLogicABI, ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"lastDripEpoch"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"aliveTanksIdSum"`. */ -export function useTankGameV2StorageLastDripEpoch< - TFunctionName extends 'lastDripEpoch', - TSelectData = ReadContractResult, +export function useTankGameLogicAliveTanksIdSum< + TFunctionName extends 'aliveTanksIdSum', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'lastDripEpoch', + abi: tankGameLogicABI, + functionName: 'aliveTanksIdSum', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"lastRevealBlock"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"board"`. */ -export function useTankGameV2StorageLastRevealBlock< - TFunctionName extends 'lastRevealBlock', - TSelectData = ReadContractResult, +export function useTankGameLogicBoard< + TFunctionName extends 'board', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'lastRevealBlock', + abi: tankGameLogicABI, + functionName: 'board', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"numTanksAlive"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"claimed"`. */ -export function useTankGameV2StorageNumTanksAlive< - TFunctionName extends 'numTanksAlive', - TSelectData = ReadContractResult, +export function useTankGameLogicClaimed< + TFunctionName extends 'claimed', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'numTanksAlive', + abi: tankGameLogicABI, + functionName: 'claimed', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"owner"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"deadTanks"`. */ -export function useTankGameV2StorageOwner< - TFunctionName extends 'owner', - TSelectData = ReadContractResult, +export function useTankGameLogicDeadTanks< + TFunctionName extends 'deadTanks', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'owner', + abi: tankGameLogicABI, + functionName: 'deadTanks', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"players"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"delegates"`. */ -export function useTankGameV2StoragePlayers< - TFunctionName extends 'players', - TSelectData = ReadContractResult, +export function useTankGameLogicDelegates< + TFunctionName extends 'delegates', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'players', + abi: tankGameLogicABI, + functionName: 'delegates', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"playersCount"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"epochStart"`. */ -export function useTankGameV2StoragePlayersCount< - TFunctionName extends 'playersCount', - TSelectData = ReadContractResult, +export function useTankGameLogicEpochStart< + TFunctionName extends 'epochStart', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'playersCount', + abi: tankGameLogicABI, + functionName: 'epochStart', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"podium"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getBoard"`. */ -export function useTankGameV2StoragePodium< - TFunctionName extends 'podium', - TSelectData = ReadContractResult, +export function useTankGameLogicGetBoard< + TFunctionName extends 'getBoard', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'podium', + abi: tankGameLogicABI, + functionName: 'getBoard', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"prizePool"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getEpoch"`. */ -export function useTankGameV2StoragePrizePool< - TFunctionName extends 'prizePool', - TSelectData = ReadContractResult, +export function useTankGameLogicGetEpoch< + TFunctionName extends 'getEpoch', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'prizePool', + abi: tankGameLogicABI, + functionName: 'getEpoch', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"revealBlock"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getLastDrip"`. */ -export function useTankGameV2StorageRevealBlock< - TFunctionName extends 'revealBlock', - TSelectData = ReadContractResult, +export function useTankGameLogicGetLastDrip< + TFunctionName extends 'getLastDrip', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'revealBlock', + abi: tankGameLogicABI, + functionName: 'getLastDrip', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"settings"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getPlayerCount"`. */ -export function useTankGameV2StorageSettings< - TFunctionName extends 'settings', - TSelectData = ReadContractResult, +export function useTankGameLogicGetPlayerCount< + TFunctionName extends 'getPlayerCount', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'settings', + abi: tankGameLogicABI, + functionName: 'getPlayerCount', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"state"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getSettings"`. */ -export function useTankGameV2StorageState< - TFunctionName extends 'state', - TSelectData = ReadContractResult, +export function useTankGameLogicGetSettings< + TFunctionName extends 'getSettings', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'state', + abi: tankGameLogicABI, + functionName: 'getSettings', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"stateData"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getState"`. */ -export function useTankGameV2StorageStateData< - TFunctionName extends 'stateData', - TSelectData = ReadContractResult, +export function useTankGameLogicGetState< + TFunctionName extends 'getState', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'stateData', + abi: tankGameLogicABI, + functionName: 'getState', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"tankHooks"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getTank"`. */ -export function useTankGameV2StorageTankHooks< - TFunctionName extends 'tankHooks', - TSelectData = ReadContractResult, +export function useTankGameLogicGetTank< + TFunctionName extends 'getTank', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'tankHooks', + abi: tankGameLogicABI, + functionName: 'getTank', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"tanks"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getUpgradeCost"`. */ -export function useTankGameV2StorageTanks< - TFunctionName extends 'tanks', - TSelectData = ReadContractResult, +export function useTankGameLogicGetUpgradeCost< + TFunctionName extends 'getUpgradeCost', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'tanks', + abi: tankGameLogicABI, + functionName: 'getUpgradeCost', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"votedThisEpoch"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"heartsOnBoard"`. */ -export function useTankGameV2StorageVotedThisEpoch< - TFunctionName extends 'votedThisEpoch', - TSelectData = ReadContractResult, +export function useTankGameLogicHeartsOnBoard< + TFunctionName extends 'heartsOnBoard', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'votedThisEpoch', + abi: tankGameLogicABI, + functionName: 'heartsOnBoard', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"votesPerEpoch"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"isAuth"`. */ -export function useTankGameV2StorageVotesPerEpoch< - TFunctionName extends 'votesPerEpoch', - TSelectData = ReadContractResult, +export function useTankGameLogicIsAuth< + TFunctionName extends 'isAuth', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'votesPerEpoch', + abi: tankGameLogicABI, + functionName: 'isAuth', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"votingClosed"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"lastDripEpoch"`. */ -export function useTankGameV2StorageVotingClosed< - TFunctionName extends 'votingClosed', - TSelectData = ReadContractResult, +export function useTankGameLogicLastDripEpoch< + TFunctionName extends 'lastDripEpoch', + TSelectData = ReadContractResult, >( config: Omit< - UseContractReadConfig< - typeof tankGameV2StorageABI, - TFunctionName, - TSelectData - >, + UseContractReadConfig, 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ - abi: tankGameV2StorageABI, - functionName: 'votingClosed', + abi: tankGameLogicABI, + functionName: 'lastDripEpoch', ...config, } as UseContractReadConfig< - typeof tankGameV2StorageABI, + typeof tankGameLogicABI, TFunctionName, TSelectData >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"lastRevealBlock"`. */ -export function useTankGameLogicRead< - TFunctionName extends string, +export function useTankGameLogicLastRevealBlock< + TFunctionName extends 'lastRevealBlock', TSelectData = ReadContractResult, >( config: Omit< UseContractReadConfig, - 'abi' + 'abi' | 'functionName' > = {} as any, ) { return useContractRead({ abi: tankGameLogicABI, + functionName: 'lastRevealBlock', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17731,10 +18055,10 @@ export function useTankGameLogicRead< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"aliveTanksIdSum"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"numTanksAlive"`. */ -export function useTankGameLogicAliveTanksIdSum< - TFunctionName extends 'aliveTanksIdSum', +export function useTankGameLogicNumTanksAlive< + TFunctionName extends 'numTanksAlive', TSelectData = ReadContractResult, >( config: Omit< @@ -17744,7 +18068,7 @@ export function useTankGameLogicAliveTanksIdSum< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'aliveTanksIdSum', + functionName: 'numTanksAlive', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17754,10 +18078,10 @@ export function useTankGameLogicAliveTanksIdSum< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"board"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"owner"`. */ -export function useTankGameLogicBoard< - TFunctionName extends 'board', +export function useTankGameLogicOwner< + TFunctionName extends 'owner', TSelectData = ReadContractResult, >( config: Omit< @@ -17767,7 +18091,7 @@ export function useTankGameLogicBoard< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'board', + functionName: 'owner', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17777,10 +18101,10 @@ export function useTankGameLogicBoard< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"claimed"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"players"`. */ -export function useTankGameLogicClaimed< - TFunctionName extends 'claimed', +export function useTankGameLogicPlayers< + TFunctionName extends 'players', TSelectData = ReadContractResult, >( config: Omit< @@ -17790,7 +18114,7 @@ export function useTankGameLogicClaimed< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'claimed', + functionName: 'players', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17800,10 +18124,10 @@ export function useTankGameLogicClaimed< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"deadTanks"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"playersCount"`. */ -export function useTankGameLogicDeadTanks< - TFunctionName extends 'deadTanks', +export function useTankGameLogicPlayersCount< + TFunctionName extends 'playersCount', TSelectData = ReadContractResult, >( config: Omit< @@ -17813,7 +18137,7 @@ export function useTankGameLogicDeadTanks< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'deadTanks', + functionName: 'playersCount', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17823,10 +18147,10 @@ export function useTankGameLogicDeadTanks< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"delegates"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"podium"`. */ -export function useTankGameLogicDelegates< - TFunctionName extends 'delegates', +export function useTankGameLogicPodium< + TFunctionName extends 'podium', TSelectData = ReadContractResult, >( config: Omit< @@ -17836,7 +18160,7 @@ export function useTankGameLogicDelegates< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'delegates', + functionName: 'podium', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17846,10 +18170,10 @@ export function useTankGameLogicDelegates< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"epochStart"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"prizePool"`. */ -export function useTankGameLogicEpochStart< - TFunctionName extends 'epochStart', +export function useTankGameLogicPrizePool< + TFunctionName extends 'prizePool', TSelectData = ReadContractResult, >( config: Omit< @@ -17859,7 +18183,7 @@ export function useTankGameLogicEpochStart< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'epochStart', + functionName: 'prizePool', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17869,10 +18193,10 @@ export function useTankGameLogicEpochStart< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getBoard"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"revealBlock"`. */ -export function useTankGameLogicGetBoard< - TFunctionName extends 'getBoard', +export function useTankGameLogicRevealBlock< + TFunctionName extends 'revealBlock', TSelectData = ReadContractResult, >( config: Omit< @@ -17882,7 +18206,7 @@ export function useTankGameLogicGetBoard< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'getBoard', + functionName: 'revealBlock', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17892,10 +18216,10 @@ export function useTankGameLogicGetBoard< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getEpoch"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"settings"`. */ -export function useTankGameLogicGetEpoch< - TFunctionName extends 'getEpoch', +export function useTankGameLogicSettings< + TFunctionName extends 'settings', TSelectData = ReadContractResult, >( config: Omit< @@ -17905,7 +18229,7 @@ export function useTankGameLogicGetEpoch< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'getEpoch', + functionName: 'settings', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17915,10 +18239,10 @@ export function useTankGameLogicGetEpoch< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getLastDrip"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"state"`. */ -export function useTankGameLogicGetLastDrip< - TFunctionName extends 'getLastDrip', +export function useTankGameLogicState< + TFunctionName extends 'state', TSelectData = ReadContractResult, >( config: Omit< @@ -17928,7 +18252,7 @@ export function useTankGameLogicGetLastDrip< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'getLastDrip', + functionName: 'state', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17938,10 +18262,10 @@ export function useTankGameLogicGetLastDrip< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getPlayerCount"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"stateData"`. */ -export function useTankGameLogicGetPlayerCount< - TFunctionName extends 'getPlayerCount', +export function useTankGameLogicStateData< + TFunctionName extends 'stateData', TSelectData = ReadContractResult, >( config: Omit< @@ -17951,7 +18275,7 @@ export function useTankGameLogicGetPlayerCount< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'getPlayerCount', + functionName: 'stateData', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17961,10 +18285,10 @@ export function useTankGameLogicGetPlayerCount< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getSettings"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"tankHooks"`. */ -export function useTankGameLogicGetSettings< - TFunctionName extends 'getSettings', +export function useTankGameLogicTankHooks< + TFunctionName extends 'tankHooks', TSelectData = ReadContractResult, >( config: Omit< @@ -17974,7 +18298,7 @@ export function useTankGameLogicGetSettings< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'getSettings', + functionName: 'tankHooks', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -17984,10 +18308,10 @@ export function useTankGameLogicGetSettings< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getState"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"tankToPosition"`. */ -export function useTankGameLogicGetState< - TFunctionName extends 'getState', +export function useTankGameLogicTankToPosition< + TFunctionName extends 'tankToPosition', TSelectData = ReadContractResult, >( config: Omit< @@ -17997,7 +18321,7 @@ export function useTankGameLogicGetState< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'getState', + functionName: 'tankToPosition', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -18007,10 +18331,10 @@ export function useTankGameLogicGetState< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getTank"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"tanks"`. */ -export function useTankGameLogicGetTank< - TFunctionName extends 'getTank', +export function useTankGameLogicTanks< + TFunctionName extends 'tanks', TSelectData = ReadContractResult, >( config: Omit< @@ -18020,7 +18344,7 @@ export function useTankGameLogicGetTank< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'getTank', + functionName: 'tanks', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -18030,10 +18354,10 @@ export function useTankGameLogicGetTank< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"getUpgradeCost"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"tanksOnBoard"`. */ -export function useTankGameLogicGetUpgradeCost< - TFunctionName extends 'getUpgradeCost', +export function useTankGameLogicTanksOnBoard< + TFunctionName extends 'tanksOnBoard', TSelectData = ReadContractResult, >( config: Omit< @@ -18043,7 +18367,7 @@ export function useTankGameLogicGetUpgradeCost< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'getUpgradeCost', + functionName: 'tanksOnBoard', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -18053,10 +18377,10 @@ export function useTankGameLogicGetUpgradeCost< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"heartsOnBoard"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"votedThisEpoch"`. */ -export function useTankGameLogicHeartsOnBoard< - TFunctionName extends 'heartsOnBoard', +export function useTankGameLogicVotedThisEpoch< + TFunctionName extends 'votedThisEpoch', TSelectData = ReadContractResult, >( config: Omit< @@ -18066,7 +18390,7 @@ export function useTankGameLogicHeartsOnBoard< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'heartsOnBoard', + functionName: 'votedThisEpoch', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -18076,10 +18400,10 @@ export function useTankGameLogicHeartsOnBoard< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"isAuth"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"votesPerEpoch"`. */ -export function useTankGameLogicIsAuth< - TFunctionName extends 'isAuth', +export function useTankGameLogicVotesPerEpoch< + TFunctionName extends 'votesPerEpoch', TSelectData = ReadContractResult, >( config: Omit< @@ -18089,7 +18413,7 @@ export function useTankGameLogicIsAuth< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'isAuth', + functionName: 'votesPerEpoch', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -18099,10 +18423,10 @@ export function useTankGameLogicIsAuth< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"lastDripEpoch"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"votingClosed"`. */ -export function useTankGameLogicLastDripEpoch< - TFunctionName extends 'lastDripEpoch', +export function useTankGameLogicVotingClosed< + TFunctionName extends 'votingClosed', TSelectData = ReadContractResult, >( config: Omit< @@ -18112,7 +18436,7 @@ export function useTankGameLogicLastDripEpoch< ) { return useContractRead({ abi: tankGameLogicABI, - functionName: 'lastDripEpoch', + functionName: 'votingClosed', ...config, } as UseContractReadConfig< typeof tankGameLogicABI, @@ -18122,1423 +18446,1656 @@ export function useTankGameLogicLastDripEpoch< } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"lastRevealBlock"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__. */ -export function useTankGameLogicLastRevealBlock< - TFunctionName extends 'lastRevealBlock', - TSelectData = ReadContractResult, +export function useTankGameLogicWrite< + TFunctionName extends string, + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + string + >['request']['abi'], + TFunctionName, + TMode + > + : UseContractWriteConfig & { + abi?: never + } = {} as any, +) { + return useContractWrite({ + abi: tankGameLogicABI, + ...config, + } as any) +} + +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"addHooks"`. + */ +export function useTankGameLogicAddHooks< + TMode extends WriteContractMode = undefined, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'addHooks' + >['request']['abi'], + 'addHooks', + TMode + > & { functionName?: 'addHooks' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'addHooks' + } = {} as any, +) { + return useContractWrite({ + abi: tankGameLogicABI, + functionName: 'addHooks', + ...config, + } as any) +} + +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"claim"`. + */ +export function useTankGameLogicClaim< + TMode extends WriteContractMode = undefined, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'claim' + >['request']['abi'], + 'claim', + TMode + > & { functionName?: 'claim' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'claim' + } = {} as any, +) { + return useContractWrite({ + abi: tankGameLogicABI, + functionName: 'claim', + ...config, + } as any) +} + +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"delegate"`. + */ +export function useTankGameLogicDelegate< + TMode extends WriteContractMode = undefined, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'delegate' + >['request']['abi'], + 'delegate', + TMode + > & { functionName?: 'delegate' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'delegate' + } = {} as any, +) { + return useContractWrite({ + abi: tankGameLogicABI, + functionName: 'delegate', + ...config, + } as any) +} + +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"donate"`. + */ +export function useTankGameLogicDonate< + TMode extends WriteContractMode = undefined, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'donate' + >['request']['abi'], + 'donate', + TMode + > & { functionName?: 'donate' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'donate' + } = {} as any, +) { + return useContractWrite({ + abi: tankGameLogicABI, + functionName: 'donate', + ...config, + } as any) +} + +/** + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"drip"`. + */ +export function useTankGameLogicDrip< + TMode extends WriteContractMode = undefined, +>( + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'drip' + >['request']['abi'], + 'drip', + TMode + > & { functionName?: 'drip' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'drip' + } = {} as any, ) { - return useContractRead({ + return useContractWrite({ abi: tankGameLogicABI, - functionName: 'lastRevealBlock', + functionName: 'drip', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"numTanksAlive"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"forceAddDefaultHook"`. */ -export function useTankGameLogicNumTanksAlive< - TFunctionName extends 'numTanksAlive', - TSelectData = ReadContractResult, +export function useTankGameLogicForceAddDefaultHook< + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'forceAddDefaultHook' + >['request']['abi'], + 'forceAddDefaultHook', + TMode + > & { functionName?: 'forceAddDefaultHook' } + : UseContractWriteConfig< + typeof tankGameLogicABI, + 'forceAddDefaultHook', + TMode + > & { + abi?: never + functionName?: 'forceAddDefaultHook' + } = {} as any, ) { - return useContractRead({ + return useContractWrite< + typeof tankGameLogicABI, + 'forceAddDefaultHook', + TMode + >({ abi: tankGameLogicABI, - functionName: 'numTanksAlive', + functionName: 'forceAddDefaultHook', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"owner"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"give"`. */ -export function useTankGameLogicOwner< - TFunctionName extends 'owner', - TSelectData = ReadContractResult, +export function useTankGameLogicGive< + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'give' + >['request']['abi'], + 'give', + TMode + > & { functionName?: 'give' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'give' + } = {} as any, ) { - return useContractRead({ + return useContractWrite({ abi: tankGameLogicABI, - functionName: 'owner', + functionName: 'give', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"players"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"join"`. */ -export function useTankGameLogicPlayers< - TFunctionName extends 'players', - TSelectData = ReadContractResult, +export function useTankGameLogicJoin< + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'join' + >['request']['abi'], + 'join', + TMode + > & { functionName?: 'join' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'join' + } = {} as any, ) { - return useContractRead({ + return useContractWrite({ abi: tankGameLogicABI, - functionName: 'players', + functionName: 'join', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"playersCount"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"move"`. */ -export function useTankGameLogicPlayersCount< - TFunctionName extends 'playersCount', - TSelectData = ReadContractResult, +export function useTankGameLogicMove< + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'move' + >['request']['abi'], + 'move', + TMode + > & { functionName?: 'move' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'move' + } = {} as any, ) { - return useContractRead({ + return useContractWrite({ abi: tankGameLogicABI, - functionName: 'playersCount', + functionName: 'move', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"podium"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"reveal"`. */ -export function useTankGameLogicPodium< - TFunctionName extends 'podium', - TSelectData = ReadContractResult, +export function useTankGameLogicReveal< + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'reveal' + >['request']['abi'], + 'reveal', + TMode + > & { functionName?: 'reveal' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'reveal' + } = {} as any, ) { - return useContractRead({ + return useContractWrite({ abi: tankGameLogicABI, - functionName: 'podium', + functionName: 'reveal', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"prizePool"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"setOwner"`. */ -export function useTankGameLogicPrizePool< - TFunctionName extends 'prizePool', - TSelectData = ReadContractResult, +export function useTankGameLogicSetOwner< + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'setOwner' + >['request']['abi'], + 'setOwner', + TMode + > & { functionName?: 'setOwner' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'setOwner' + } = {} as any, ) { - return useContractRead({ + return useContractWrite({ abi: tankGameLogicABI, - functionName: 'prizePool', + functionName: 'setOwner', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"revealBlock"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"shoot"`. */ -export function useTankGameLogicRevealBlock< - TFunctionName extends 'revealBlock', - TSelectData = ReadContractResult, +export function useTankGameLogicShoot< + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'shoot' + >['request']['abi'], + 'shoot', + TMode + > & { functionName?: 'shoot' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'shoot' + } = {} as any, ) { - return useContractRead({ + return useContractWrite({ abi: tankGameLogicABI, - functionName: 'revealBlock', + functionName: 'shoot', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"settings"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"upgrade"`. */ -export function useTankGameLogicSettings< - TFunctionName extends 'settings', - TSelectData = ReadContractResult, +export function useTankGameLogicUpgrade< + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'upgrade' + >['request']['abi'], + 'upgrade', + TMode + > & { functionName?: 'upgrade' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'upgrade' + } = {} as any, ) { - return useContractRead({ + return useContractWrite({ abi: tankGameLogicABI, - functionName: 'settings', + functionName: 'upgrade', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"state"`. + * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"vote"`. */ -export function useTankGameLogicState< - TFunctionName extends 'state', - TSelectData = ReadContractResult, +export function useTankGameLogicVote< + TMode extends WriteContractMode = undefined, >( - config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' - > = {} as any, + config: TMode extends 'prepared' + ? UseContractWriteConfig< + PrepareWriteContractResult< + typeof tankGameLogicABI, + 'vote' + >['request']['abi'], + 'vote', + TMode + > & { functionName?: 'vote' } + : UseContractWriteConfig & { + abi?: never + functionName?: 'vote' + } = {} as any, ) { - return useContractRead({ + return useContractWrite({ abi: tankGameLogicABI, - functionName: 'state', + functionName: 'vote', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as any) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"stateData"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__. */ -export function useTankGameLogicStateData< - TFunctionName extends 'stateData', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameLogicWrite( config: Omit< - UseContractReadConfig, - 'abi' | 'functionName' + UsePrepareContractWriteConfig, + 'abi' > = {} as any, ) { - return useContractRead({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'stateData', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"tankHooks"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"addHooks"`. */ -export function useTankGameLogicTankHooks< - TFunctionName extends 'tankHooks', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameLogicAddHooks( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'tankHooks', + functionName: 'addHooks', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"tankToPosition"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"claim"`. */ -export function useTankGameLogicTankToPosition< - TFunctionName extends 'tankToPosition', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameLogicClaim( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'tankToPosition', + functionName: 'claim', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"tanks"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"delegate"`. */ -export function useTankGameLogicTanks< - TFunctionName extends 'tanks', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameLogicDelegate( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'tanks', + functionName: 'delegate', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"tanksOnBoard"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"donate"`. */ -export function useTankGameLogicTanksOnBoard< - TFunctionName extends 'tanksOnBoard', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameLogicDonate( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'tanksOnBoard', + functionName: 'donate', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"votedThisEpoch"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"drip"`. */ -export function useTankGameLogicVotedThisEpoch< - TFunctionName extends 'votedThisEpoch', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameLogicDrip( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'votedThisEpoch', + functionName: 'drip', ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"votesPerEpoch"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"forceAddDefaultHook"`. */ -export function useTankGameLogicVotesPerEpoch< - TFunctionName extends 'votesPerEpoch', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameLogicForceAddDefaultHook( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig< + typeof tankGameLogicABI, + 'forceAddDefaultHook' + >, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'votesPerEpoch', + functionName: 'forceAddDefaultHook', ...config, - } as UseContractReadConfig< + } as UsePrepareContractWriteConfig< typeof tankGameLogicABI, - TFunctionName, - TSelectData + 'forceAddDefaultHook' >) } /** - * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"votingClosed"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"give"`. */ -export function useTankGameLogicVotingClosed< - TFunctionName extends 'votingClosed', - TSelectData = ReadContractResult, ->( +export function usePrepareTankGameLogicGive( config: Omit< - UseContractReadConfig, + UsePrepareContractWriteConfig, 'abi' | 'functionName' > = {} as any, ) { - return useContractRead({ - abi: tankGameLogicABI, - functionName: 'votingClosed', - ...config, - } as UseContractReadConfig< - typeof tankGameLogicABI, - TFunctionName, - TSelectData - >) -} - -/** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__. - */ -export function useTankGameLogicWrite< - TFunctionName extends string, - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - string - >['request']['abi'], - TFunctionName, - TMode - > - : UseContractWriteConfig & { - abi?: never - } = {} as any, + return usePrepareContractWrite({ + abi: tankGameLogicABI, + functionName: 'give', + ...config, + } as UsePrepareContractWriteConfig) +} + +/** + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"join"`. + */ +export function usePrepareTankGameLogicJoin( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - return useContractWrite({ + return usePrepareContractWrite({ abi: tankGameLogicABI, + functionName: 'join', ...config, - } as any) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"addHooks"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"move"`. */ -export function useTankGameLogicAddHooks< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'addHooks' - >['request']['abi'], - 'addHooks', - TMode - > & { functionName?: 'addHooks' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'addHooks' - } = {} as any, +export function usePrepareTankGameLogicMove( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - return useContractWrite({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'addHooks', + functionName: 'move', ...config, - } as any) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"claim"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"reveal"`. */ -export function useTankGameLogicClaim< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'claim' - >['request']['abi'], - 'claim', - TMode - > & { functionName?: 'claim' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'claim' - } = {} as any, +export function usePrepareTankGameLogicReveal( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - return useContractWrite({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'claim', + functionName: 'reveal', ...config, - } as any) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"delegate"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"setOwner"`. */ -export function useTankGameLogicDelegate< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'delegate' - >['request']['abi'], - 'delegate', - TMode - > & { functionName?: 'delegate' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'delegate' - } = {} as any, +export function usePrepareTankGameLogicSetOwner( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - return useContractWrite({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'delegate', + functionName: 'setOwner', ...config, - } as any) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"donate"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"shoot"`. */ -export function useTankGameLogicDonate< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'donate' - >['request']['abi'], - 'donate', - TMode - > & { functionName?: 'donate' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'donate' - } = {} as any, +export function usePrepareTankGameLogicShoot( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - return useContractWrite({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'donate', + functionName: 'shoot', ...config, - } as any) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"drip"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"upgrade"`. */ -export function useTankGameLogicDrip< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'drip' - >['request']['abi'], - 'drip', - TMode - > & { functionName?: 'drip' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'drip' - } = {} as any, +export function usePrepareTankGameLogicUpgrade( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - return useContractWrite({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'drip', + functionName: 'upgrade', ...config, - } as any) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"forceAddDefaultHook"`. + * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"vote"`. */ -export function useTankGameLogicForceAddDefaultHook< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'forceAddDefaultHook' - >['request']['abi'], - 'forceAddDefaultHook', - TMode - > & { functionName?: 'forceAddDefaultHook' } - : UseContractWriteConfig< - typeof tankGameLogicABI, - 'forceAddDefaultHook', - TMode - > & { - abi?: never - functionName?: 'forceAddDefaultHook' - } = {} as any, +export function usePrepareTankGameLogicVote( + config: Omit< + UsePrepareContractWriteConfig, + 'abi' | 'functionName' + > = {} as any, ) { - return useContractWrite< - typeof tankGameLogicABI, - 'forceAddDefaultHook', - TMode - >({ + return usePrepareContractWrite({ abi: tankGameLogicABI, - functionName: 'forceAddDefaultHook', + functionName: 'vote', ...config, - } as any) + } as UsePrepareContractWriteConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"give"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__. */ -export function useTankGameLogicGive< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'give' - >['request']['abi'], - 'give', - TMode - > & { functionName?: 'give' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'give' - } = {} as any, +export function useTankGameLogicEvent( + config: Omit< + UseContractEventConfig, + 'abi' + > = {} as any, ) { - return useContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'give', ...config, - } as any) + } as UseContractEventConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"join"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"BountyCompleted"`. */ -export function useTankGameLogicJoin< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'join' - >['request']['abi'], - 'join', - TMode - > & { functionName?: 'join' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'join' - } = {} as any, +export function useTankGameLogicBountyCompletedEvent( + config: Omit< + UseContractEventConfig, + 'abi' | 'eventName' + > = {} as any, +) { + return useContractEvent({ + abi: tankGameLogicABI, + eventName: 'BountyCompleted', + ...config, + } as UseContractEventConfig) +} + +/** + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Claim"`. + */ +export function useTankGameLogicClaimEvent( + config: Omit< + UseContractEventConfig, + 'abi' | 'eventName' + > = {} as any, ) { - return useContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'join', + eventName: 'Claim', ...config, - } as any) + } as UseContractEventConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"move"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Commit"`. */ -export function useTankGameLogicMove< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'move' - >['request']['abi'], - 'move', - TMode - > & { functionName?: 'move' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'move' - } = {} as any, +export function useTankGameLogicCommitEvent( + config: Omit< + UseContractEventConfig, + 'abi' | 'eventName' + > = {} as any, ) { - return useContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'move', + eventName: 'Commit', ...config, - } as any) + } as UseContractEventConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"reveal"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Curse"`. */ -export function useTankGameLogicReveal< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'reveal' - >['request']['abi'], - 'reveal', - TMode - > & { functionName?: 'reveal' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'reveal' - } = {} as any, +export function useTankGameLogicCurseEvent( + config: Omit< + UseContractEventConfig, + 'abi' | 'eventName' + > = {} as any, ) { - return useContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'reveal', + eventName: 'Curse', ...config, - } as any) + } as UseContractEventConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"setOwner"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Death"`. */ -export function useTankGameLogicSetOwner< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'setOwner' - >['request']['abi'], - 'setOwner', - TMode - > & { functionName?: 'setOwner' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'setOwner' - } = {} as any, +export function useTankGameLogicDeathEvent( + config: Omit< + UseContractEventConfig, + 'abi' | 'eventName' + > = {} as any, ) { - return useContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'setOwner', + eventName: 'Death', ...config, - } as any) + } as UseContractEventConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"shoot"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Delegate"`. */ -export function useTankGameLogicShoot< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'shoot' - >['request']['abi'], - 'shoot', - TMode - > & { functionName?: 'shoot' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'shoot' - } = {} as any, +export function useTankGameLogicDelegateEvent( + config: Omit< + UseContractEventConfig, + 'abi' | 'eventName' + > = {} as any, ) { - return useContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'shoot', + eventName: 'Delegate', ...config, - } as any) + } as UseContractEventConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"upgrade"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Drip"`. */ -export function useTankGameLogicUpgrade< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'upgrade' - >['request']['abi'], - 'upgrade', - TMode - > & { functionName?: 'upgrade' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'upgrade' - } = {} as any, +export function useTankGameLogicDripEvent( + config: Omit< + UseContractEventConfig, + 'abi' | 'eventName' + > = {} as any, ) { - return useContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'upgrade', + eventName: 'Drip', ...config, - } as any) + } as UseContractEventConfig) } /** - * Wraps __{@link useContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"vote"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"GameInit"`. */ -export function useTankGameLogicVote< - TMode extends WriteContractMode = undefined, ->( - config: TMode extends 'prepared' - ? UseContractWriteConfig< - PrepareWriteContractResult< - typeof tankGameLogicABI, - 'vote' - >['request']['abi'], - 'vote', - TMode - > & { functionName?: 'vote' } - : UseContractWriteConfig & { - abi?: never - functionName?: 'vote' - } = {} as any, +export function useTankGameLogicGameInitEvent( + config: Omit< + UseContractEventConfig, + 'abi' | 'eventName' + > = {} as any, ) { - return useContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'vote', + eventName: 'GameInit', ...config, - } as any) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"GameOver"`. */ -export function usePrepareTankGameLogicWrite( +export function useTankGameLogicGameOverEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, + eventName: 'GameOver', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"addHooks"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"GameStarted"`. */ -export function usePrepareTankGameLogicAddHooks( +export function useTankGameLogicGameStartedEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'addHooks', + eventName: 'GameStarted', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"claim"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Give"`. */ -export function usePrepareTankGameLogicClaim( +export function useTankGameLogicGiveEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'claim', + eventName: 'Give', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"delegate"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"HooksAdded"`. */ -export function usePrepareTankGameLogicDelegate( +export function useTankGameLogicHooksAddedEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'delegate', + eventName: 'HooksAdded', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"donate"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Move"`. */ -export function usePrepareTankGameLogicDonate( +export function useTankGameLogicMoveEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'donate', + eventName: 'Move', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"drip"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"PlayerJoined"`. */ -export function usePrepareTankGameLogicDrip( +export function useTankGameLogicPlayerJoinedEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'drip', + eventName: 'PlayerJoined', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"forceAddDefaultHook"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"PrizeIncrease"`. */ -export function usePrepareTankGameLogicForceAddDefaultHook( +export function useTankGameLogicPrizeIncreaseEvent( config: Omit< - UsePrepareContractWriteConfig< - typeof tankGameLogicABI, - 'forceAddDefaultHook' - >, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'forceAddDefaultHook', + eventName: 'PrizeIncrease', ...config, - } as UsePrepareContractWriteConfig< - typeof tankGameLogicABI, - 'forceAddDefaultHook' - >) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"give"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Reveal"`. */ -export function usePrepareTankGameLogicGive( +export function useTankGameLogicRevealEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'give', + eventName: 'Reveal', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"join"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Revive"`. */ -export function usePrepareTankGameLogicJoin( +export function useTankGameLogicReviveEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'join', + eventName: 'Revive', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"move"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Shoot"`. */ -export function usePrepareTankGameLogicMove( +export function useTankGameLogicShootEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'move', + eventName: 'Shoot', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"reveal"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"SpawnHeart"`. */ -export function usePrepareTankGameLogicReveal( +export function useTankGameLogicSpawnHeartEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'reveal', + eventName: 'SpawnHeart', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"setOwner"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Upgrade"`. */ -export function usePrepareTankGameLogicSetOwner( +export function useTankGameLogicUpgradeEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'setOwner', + eventName: 'Upgrade', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"shoot"`. + * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Vote"`. */ -export function usePrepareTankGameLogicShoot( +export function useTankGameLogicVoteEvent( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractEventConfig, + 'abi' | 'eventName' > = {} as any, ) { - return usePrepareContractWrite({ + return useContractEvent({ abi: tankGameLogicABI, - functionName: 'shoot', + eventName: 'Vote', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractEventConfig) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"upgrade"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__. */ -export function usePrepareTankGameLogicUpgrade( +export function useTankGameV2StorageRead< + TFunctionName extends string, + TSelectData = ReadContractResult, +>( config: Omit< - UsePrepareContractWriteConfig, - 'abi' | 'functionName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' > = {} as any, ) { - return usePrepareContractWrite({ - abi: tankGameLogicABI, - functionName: 'upgrade', + return useContractRead({ + abi: tankGameV2StorageABI, ...config, - } as UsePrepareContractWriteConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link usePrepareContractWrite}__ with `abi` set to __{@link tankGameLogicABI}__ and `functionName` set to `"vote"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"aliveTanksIdSum"`. */ -export function usePrepareTankGameLogicVote( +export function useTankGameV2StorageAliveTanksIdSum< + TFunctionName extends 'aliveTanksIdSum', + TSelectData = ReadContractResult, +>( config: Omit< - UsePrepareContractWriteConfig, + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, 'abi' | 'functionName' > = {} as any, ) { - return usePrepareContractWrite({ - abi: tankGameLogicABI, - functionName: 'vote', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'aliveTanksIdSum', ...config, - } as UsePrepareContractWriteConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"board"`. */ -export function useTankGameLogicEvent( +export function useTankGameV2StorageBoard< + TFunctionName extends 'board', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'board', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"BountyCompleted"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"claimed"`. */ -export function useTankGameLogicBountyCompletedEvent( +export function useTankGameV2StorageClaimed< + TFunctionName extends 'claimed', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'BountyCompleted', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'claimed', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Claim"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"deadTanks"`. */ -export function useTankGameLogicClaimEvent( +export function useTankGameV2StorageDeadTanks< + TFunctionName extends 'deadTanks', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Claim', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'deadTanks', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Commit"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"delegates"`. */ -export function useTankGameLogicCommitEvent( +export function useTankGameV2StorageDelegates< + TFunctionName extends 'delegates', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Commit', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'delegates', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Curse"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"epochStart"`. */ -export function useTankGameLogicCurseEvent( +export function useTankGameV2StorageEpochStart< + TFunctionName extends 'epochStart', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Curse', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'epochStart', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Death"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"lastDripEpoch"`. */ -export function useTankGameLogicDeathEvent( +export function useTankGameV2StorageLastDripEpoch< + TFunctionName extends 'lastDripEpoch', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Death', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'lastDripEpoch', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Delegate"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"lastRevealBlock"`. */ -export function useTankGameLogicDelegateEvent( +export function useTankGameV2StorageLastRevealBlock< + TFunctionName extends 'lastRevealBlock', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Delegate', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'lastRevealBlock', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Drip"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"numTanksAlive"`. */ -export function useTankGameLogicDripEvent( +export function useTankGameV2StorageNumTanksAlive< + TFunctionName extends 'numTanksAlive', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Drip', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'numTanksAlive', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"GameInit"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"owner"`. */ -export function useTankGameLogicGameInitEvent( +export function useTankGameV2StorageOwner< + TFunctionName extends 'owner', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'GameInit', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'owner', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"GameOver"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"players"`. */ -export function useTankGameLogicGameOverEvent( +export function useTankGameV2StoragePlayers< + TFunctionName extends 'players', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'GameOver', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'players', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"GameStarted"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"playersCount"`. */ -export function useTankGameLogicGameStartedEvent( +export function useTankGameV2StoragePlayersCount< + TFunctionName extends 'playersCount', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'GameStarted', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'playersCount', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Give"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"podium"`. */ -export function useTankGameLogicGiveEvent( +export function useTankGameV2StoragePodium< + TFunctionName extends 'podium', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Give', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'podium', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"HooksAdded"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"prizePool"`. */ -export function useTankGameLogicHooksAddedEvent( +export function useTankGameV2StoragePrizePool< + TFunctionName extends 'prizePool', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'HooksAdded', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'prizePool', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Move"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"revealBlock"`. */ -export function useTankGameLogicMoveEvent( +export function useTankGameV2StorageRevealBlock< + TFunctionName extends 'revealBlock', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Move', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'revealBlock', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"PlayerJoined"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"settings"`. */ -export function useTankGameLogicPlayerJoinedEvent( +export function useTankGameV2StorageSettings< + TFunctionName extends 'settings', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'PlayerJoined', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'settings', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"PrizeIncrease"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"state"`. */ -export function useTankGameLogicPrizeIncreaseEvent( +export function useTankGameV2StorageState< + TFunctionName extends 'state', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'PrizeIncrease', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'state', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Reveal"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"stateData"`. */ -export function useTankGameLogicRevealEvent( +export function useTankGameV2StorageStateData< + TFunctionName extends 'stateData', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Reveal', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'stateData', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Revive"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"tankHooks"`. */ -export function useTankGameLogicReviveEvent( +export function useTankGameV2StorageTankHooks< + TFunctionName extends 'tankHooks', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Revive', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'tankHooks', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Shoot"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"tanks"`. */ -export function useTankGameLogicShootEvent( +export function useTankGameV2StorageTanks< + TFunctionName extends 'tanks', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Shoot', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'tanks', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"SpawnHeart"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"votedThisEpoch"`. */ -export function useTankGameLogicSpawnHeartEvent( +export function useTankGameV2StorageVotedThisEpoch< + TFunctionName extends 'votedThisEpoch', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'SpawnHeart', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'votedThisEpoch', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Upgrade"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"votesPerEpoch"`. */ -export function useTankGameLogicUpgradeEvent( +export function useTankGameV2StorageVotesPerEpoch< + TFunctionName extends 'votesPerEpoch', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Upgrade', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'votesPerEpoch', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } /** - * Wraps __{@link useContractEvent}__ with `abi` set to __{@link tankGameLogicABI}__ and `eventName` set to `"Vote"`. + * Wraps __{@link useContractRead}__ with `abi` set to __{@link tankGameV2StorageABI}__ and `functionName` set to `"votingClosed"`. */ -export function useTankGameLogicVoteEvent( +export function useTankGameV2StorageVotingClosed< + TFunctionName extends 'votingClosed', + TSelectData = ReadContractResult, +>( config: Omit< - UseContractEventConfig, - 'abi' | 'eventName' + UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >, + 'abi' | 'functionName' > = {} as any, ) { - return useContractEvent({ - abi: tankGameLogicABI, - eventName: 'Vote', + return useContractRead({ + abi: tankGameV2StorageABI, + functionName: 'votingClosed', ...config, - } as UseContractEventConfig) + } as UseContractReadConfig< + typeof tankGameV2StorageABI, + TFunctionName, + TSelectData + >) } diff --git a/frontend/src/wagmi.ts b/frontend/src/wagmi.ts index 990316d..7551fec 100644 --- a/frontend/src/wagmi.ts +++ b/frontend/src/wagmi.ts @@ -10,7 +10,6 @@ export const config = createConfig( appName: "TactV2", walletConnectProjectId, alchemyId: alchemyId, - chains: [goerli], - // chains: [foundry], + chains: [goerli, foundry], }) ); diff --git a/frontend/wagmi.config.ts b/frontend/wagmi.config.ts index a976d86..1ea513f 100644 --- a/frontend/wagmi.config.ts +++ b/frontend/wagmi.config.ts @@ -1,33 +1,31 @@ import { defineConfig } from "@wagmi/cli"; import { foundry, react } from "@wagmi/cli/plugins"; import * as chains from "wagmi/chains"; - export default defineConfig({ out: "src/generated.ts", plugins: [ foundry({ deployments: { ITankGame: { - [chains.mainnet.id]: "0x021dbff4a864aa25c51f0ad2cd73266fde66199d", - [chains.foundry.id]: "0xCafac3dD18aC6c6e92c921884f9E4176737C052c", - [chains.goerli.id]: "0xD2605193cc30Be96F69DE74d4c5f5fD286f87650", + [chains.foundry.id]: "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", + [chains.goerli.id]: "0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414", }, TankGame: { - [chains.mainnet.id]: "0x021dbff4a864aa25c51f0ad2cd73266fde66199d", - [chains.foundry.id]: "0xCafac3dD18aC6c6e92c921884f9E4176737C052c", - [chains.goerli.id]: "0xD2605193cc30Be96F69DE74d4c5f5fD286f87650", + [chains.foundry.id]: "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", + [chains.goerli.id]: "0x2c927e3b60586eb229Dcc55978Bc96A7E00Fb414", }, GameView: { - [chains.foundry.id]: "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", - [chains.goerli.id]: "0x82f32a46AA9c66d6d75B3AC61a82e5Dd3e958442", + [chains.foundry.id]: "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9", + [chains.goerli.id]: "0xE19866944E2CD0FfaE4e35d168149b9B934eA471", + }, + TankGameFactory: { + [chains.foundry.id]: "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + [chains.goerli.id]: "0x9758ce8FE412C72893b42FFEdAEDff1840e1886f", + }, - // TankGameFactory: { - // [chains.foundry.id]: "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512", - // [chains.goerli.id]: "", - // }, HookFactory: { - [chains.foundry.id]: "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9", - [chains.goerli.id]: "0x55ee75ab3A7177aFc9390528EE31949839787d82", + [chains.foundry.id]: "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", + [chains.goerli.id]: "0x2833Ee23DdAFa959D5ca459c6A64df2164B367b3", }, }, project: "../contracts", diff --git a/frontend/yarn.lock b/frontend/yarn.lock deleted file mode 100644 index b29210e..0000000 --- a/frontend/yarn.lock +++ /dev/null @@ -1,7202 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@adraffy/ens-normalize@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" - integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== - -"@alloc/quick-lru@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" - integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== - -"@babel/code-frame@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" - integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== - dependencies: - "@babel/highlight" "^7.22.5" - -"@babel/generator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.5.tgz#1e7bf768688acfb05cf30b2369ef855e82d984f7" - integrity sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA== - dependencies: - "@babel/types" "^7.22.5" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-environment-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" - integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== - -"@babel/helper-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" - integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== - dependencies: - "@babel/template" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" - integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-split-export-declaration@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz#88cf11050edb95ed08d596f7a044462189127a08" - integrity sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-validator-identifier@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== - -"@babel/highlight@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" - integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== - dependencies: - "@babel/helper-validator-identifier" "^7.22.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" - integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== - -"@babel/plugin-syntax-jsx@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" - integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.2", "@babel/runtime@^7.20.7": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.5.tgz#8564dd588182ce0047d55d7a75e93921107b57ec" - integrity sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/template@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" - integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/traverse@^7.4.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" - integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" - integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - to-fast-properties "^2.0.0" - -"@coinbase/wallet-sdk@^3.6.6": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.7.1.tgz#44b3b7a925ff5cc974e4cbf7a44199ffdcf03541" - integrity sha512-LjyoDCB+7p0waQXfK+fUgcAs3Ezk6S6e+LYaoFjpJ6c9VTop3NyZF40Pi7df4z7QJohCwzuIDjz0Rhtig6Y7Pg== - dependencies: - "@metamask/safe-event-emitter" "2.0.0" - "@solana/web3.js" "^1.70.1" - bind-decorator "^1.0.11" - bn.js "^5.1.1" - buffer "^6.0.3" - clsx "^1.1.0" - eth-block-tracker "6.1.0" - eth-json-rpc-filters "5.1.0" - eth-rpc-errors "4.0.2" - json-rpc-engine "6.1.0" - keccak "^3.0.1" - preact "^10.5.9" - qs "^6.10.3" - rxjs "^6.6.3" - sha.js "^2.4.11" - stream-browserify "^3.0.0" - util "^0.12.4" - -"@emotion/is-prop-valid@^0.8.2": - version "0.8.8" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" - integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== - dependencies: - "@emotion/memoize" "0.7.4" - -"@emotion/is-prop-valid@^1.1.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc" - integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw== - dependencies: - "@emotion/memoize" "^0.8.1" - -"@emotion/memoize@0.7.4": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" - integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== - -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - -"@emotion/stylis@^0.8.4": - version "0.8.5" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" - integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== - -"@emotion/unitless@^0.7.4": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== - -"@esbuild/android-arm@0.15.13": - version "0.15.13" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz#ce11237a13ee76d5eae3908e47ba4ddd380af86a" - integrity sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw== - -"@esbuild/linux-loong64@0.15.13": - version "0.15.13" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz#64e8825bf0ce769dac94ee39d92ebe6272020dfc" - integrity sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag== - -"@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.4.0": - version "4.5.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" - integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== - -"@eslint/eslintrc@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331" - integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.5.2" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.43.0": - version "8.43.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.43.0.tgz#559ca3d9ddbd6bf907ad524320a0d14b85586af0" - integrity sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg== - -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/providers@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/wallet@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@floating-ui/core@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.3.1.tgz#4d795b649cc3b1cbb760d191c80dcb4353c9a366" - integrity sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g== - -"@floating-ui/dom@^1.3.0": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.4.2.tgz#eb3a37f7506c4f95ef735967dc3496b5012e11cb" - integrity sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g== - dependencies: - "@floating-ui/core" "^1.3.1" - -"@floating-ui/react-dom@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.1.tgz#7972a4fc488a8c746cded3cfe603b6057c308a91" - integrity sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA== - dependencies: - "@floating-ui/dom" "^1.3.0" - -"@hookform/resolvers@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-3.1.1.tgz#b374d33e356428fff9c6ef3c933441fe15e40784" - integrity sha512-tS16bAUkqjITNSvbJuO1x7MXbn7Oe8ZziDTJdA9mMvsoYthnOOiznOTGBYwbdlYBgU+tgpI/BtTU3paRbCuSlg== - -"@humanwhocodes/config-array@^0.11.10": - version "0.11.10" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" - integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@json-rpc-tools/provider@^1.5.5": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6" - integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA== - dependencies: - "@json-rpc-tools/utils" "^1.7.6" - axios "^0.21.0" - safe-json-utils "^1.1.1" - ws "^7.4.0" - -"@json-rpc-tools/types@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e" - integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ== - dependencies: - keyvaluestorage-interface "^1.0.0" - -"@json-rpc-tools/utils@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1" - integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw== - dependencies: - "@json-rpc-tools/types" "^1.7.6" - "@pedrouid/environment" "^1.0.1" - -"@ledgerhq/connect-kit-loader@^1.0.1": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.1.0.tgz#10343b78ef13436818bf3453568a559c0eeb9d48" - integrity sha512-HUy12FEczoWY2FPubnsm1uOA8tkVWc0j90i47suThV3C9NL2xx69ZAIEU3Ytzs2bwLek9S1Q2S1VQJvA+3Ygkg== - -"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz#64df34e2f12e68e78ac57e571d25ec07fa460ca9" - integrity sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ== - -"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.2.tgz#c256690f82f2d7d0ffb0b1cdf68dcb1ec86cea28" - integrity sha512-rDfl+QnCYjuIGf5xI2sVJWdYIi56CTCwWa+nidKYX6oIuBYwUbT/vX4qbUDlHiZKJ/3FRNQ/tWJui44p6/stSA== - dependencies: - "@lit-labs/ssr-dom-shim" "^1.0.0" - -"@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" - integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== - -"@metamask/utils@^3.0.1": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-3.6.0.tgz#b218b969a05ca7a8093b5d1670f6625061de707d" - integrity sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ== - dependencies: - "@types/debug" "^4.1.7" - debug "^4.3.4" - semver "^7.3.8" - superstruct "^1.0.3" - -"@motionone/animation@^10.12.0", "@motionone/animation@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807" - integrity sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ== - dependencies: - "@motionone/easing" "^10.15.1" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/dom@10.12.0": - version "10.12.0" - resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.12.0.tgz#ae30827fd53219efca4e1150a5ff2165c28351ed" - integrity sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw== - dependencies: - "@motionone/animation" "^10.12.0" - "@motionone/generators" "^10.12.0" - "@motionone/types" "^10.12.0" - "@motionone/utils" "^10.12.0" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/dom@^10.16.2": - version "10.16.2" - resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.16.2.tgz#0c44df8ee3d1cfc50ee11d27050b27824355a61a" - integrity sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg== - dependencies: - "@motionone/animation" "^10.15.1" - "@motionone/generators" "^10.15.1" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/easing@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.15.1.tgz#95cf3adaef34da6deebb83940d8143ede3deb693" - integrity sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw== - dependencies: - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/generators@^10.12.0", "@motionone/generators@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.15.1.tgz#dc6abb11139d1bafe758a41c134d4c753a9b871c" - integrity sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ== - dependencies: - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - tslib "^2.3.1" - -"@motionone/svelte@^10.16.2": - version "10.16.2" - resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.16.2.tgz#0b37c3b12927814d31d24941d1ca0ff49981b444" - integrity sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q== - dependencies: - "@motionone/dom" "^10.16.2" - tslib "^2.3.1" - -"@motionone/types@^10.12.0", "@motionone/types@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.15.1.tgz#89441b54285012795cbba8612cbaa0fa420db3eb" - integrity sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA== - -"@motionone/utils@^10.12.0", "@motionone/utils@^10.15.1": - version "10.15.1" - resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.15.1.tgz#6b5f51bde75be88b5411e084310299050368a438" - integrity sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw== - dependencies: - "@motionone/types" "^10.15.1" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/vue@^10.16.2": - version "10.16.2" - resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.16.2.tgz#faf13afc27620a2df870c71c58a04ee8de8dea65" - integrity sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw== - dependencies: - "@motionone/dom" "^10.16.2" - tslib "^2.3.1" - -"@next/env@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/env/-/env-13.4.7.tgz#ca12d341edb128ca70384635bd2794125ffb1c01" - integrity sha512-ZlbiFulnwiFsW9UV1ku1OvX/oyIPLtMk9p/nnvDSwI0s7vSoZdRtxXNsaO+ZXrLv/pMbXVGq4lL8TbY9iuGmVw== - -"@next/eslint-plugin-next@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.7.tgz#7efeff2af76be0d9a176a957da21e3710b2e79cf" - integrity sha512-ANEPltxzXbyyG7CvqxdY4PmeM5+RyWdAJGufTHnU+LA/i3J6IDV2r8Z4onKwskwKEhwqzz5lMaSYGGXLyHX+mg== - dependencies: - glob "7.1.7" - -"@next/swc-darwin-arm64@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.7.tgz#5e36c26dda5b0bc0ea15d8555d0abd71a1ef4b5d" - integrity sha512-VZTxPv1b59KGiv/pZHTO5Gbsdeoxcj2rU2cqJu03btMhHpn3vwzEK0gUSVC/XW96aeGO67X+cMahhwHzef24/w== - -"@next/swc-darwin-x64@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.7.tgz#4c14ec14b200373cd602589086cb1253a28cd803" - integrity sha512-gO2bw+2Ymmga+QYujjvDz9955xvYGrWofmxTq7m70b9pDPvl7aDFABJOZ2a8SRCuSNB5mXU8eTOmVVwyp/nAew== - -"@next/swc-linux-arm64-gnu@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.7.tgz#e7819167ec876ddac5a959e4c7bce4d001f0e924" - integrity sha512-6cqp3vf1eHxjIDhEOc7Mh/s8z1cwc/l5B6ZNkOofmZVyu1zsbEM5Hmx64s12Rd9AYgGoiCz4OJ4M/oRnkE16/Q== - -"@next/swc-linux-arm64-musl@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.7.tgz#0cac0f01d4e308b439e6c33182bed77835fe383b" - integrity sha512-T1kD2FWOEy5WPidOn1si0rYmWORNch4a/NR52Ghyp4q7KyxOCuiOfZzyhVC5tsLIBDH3+cNdB5DkD9afpNDaOw== - -"@next/swc-linux-x64-gnu@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.7.tgz#feb61e16a68c67f3ef230f30d9562a3783c7bd59" - integrity sha512-zaEC+iEiAHNdhl6fuwl0H0shnTzQoAoJiDYBUze8QTntE/GNPfTYpYboxF5LRYIjBwETUatvE0T64W6SKDipvg== - -"@next/swc-linux-x64-musl@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.7.tgz#02179ecfa6d24a2956c2b54f7d27a050568bbf24" - integrity sha512-X6r12F8d8SKAtYJqLZBBMIwEqcTRvUdVm+xIq+l6pJqlgT2tNsLLf2i5Cl88xSsIytBICGsCNNHd+siD2fbWBA== - -"@next/swc-win32-arm64-msvc@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.7.tgz#274b7f00a2ec5934af73db15da8459e8647bfaed" - integrity sha512-NPnmnV+vEIxnu6SUvjnuaWRglZzw4ox5n/MQTxeUhb5iwVWFedolPFebMNwgrWu4AELwvTdGtWjqof53AiWHcw== - -"@next/swc-win32-ia32-msvc@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.7.tgz#4a95c106a6db2eee3a4c1352b77995e298d7446a" - integrity sha512-6Hxijm6/a8XqLQpOOf/XuwWRhcuc/g4rBB2oxjgCMuV9Xlr2bLs5+lXyh8w9YbAUMYR3iC9mgOlXbHa79elmXw== - -"@next/swc-win32-x64-msvc@13.4.7": - version "13.4.7" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.7.tgz#5137780f58d7f0230adc293a0429821bfa7d8c21" - integrity sha512-sW9Yt36Db1nXJL+mTr2Wo0y+VkPWeYhygvcHj1FF0srVtV+VoDjxleKtny21QHaG05zdeZnw2fCtf2+dEqgwqA== - -"@noble/curves@1.0.0", "@noble/curves@~1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" - integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== - dependencies: - "@noble/hashes" "1.3.0" - -"@noble/curves@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" - integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== - dependencies: - "@noble/hashes" "1.3.1" - -"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" - integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== - -"@noble/hashes@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" - integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== - -"@noble/hashes@1.3.1", "@noble/hashes@^1.3.0", "@noble/hashes@~1.3.0": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" - integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== - -"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" - integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@openzeppelin/merkle-tree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@openzeppelin/merkle-tree/-/merkle-tree-1.0.5.tgz#4836d377777a7e39f31674f06ec3d6909def7913" - integrity sha512-JkwG2ysdHeIphrScNxYagPy6jZeNONgDRyqU6lbFgE8HKCZFSkcP8r6AjZs+3HZk4uRNV0kNBBzuWhKQ3YV7Kw== - dependencies: - "@ethersproject/abi" "^5.7.0" - ethereum-cryptography "^1.1.2" - -"@pedrouid/environment@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" - integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== - -"@pkgr/utils@^2.3.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.1.tgz#adf291d0357834c410ce80af16e711b56c7b1cd3" - integrity sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w== - dependencies: - cross-spawn "^7.0.3" - fast-glob "^3.2.12" - is-glob "^4.0.3" - open "^9.1.0" - picocolors "^1.0.0" - tslib "^2.5.0" - -"@radix-ui/number@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.0.1.tgz#644161a3557f46ed38a042acf4a770e826021674" - integrity sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/primitive@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.1.tgz#e46f9958b35d10e9f6dc71c497305c22e3e55dbd" - integrity sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-accordion@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-accordion/-/react-accordion-1.1.2.tgz#738441f7343e5142273cdef94d12054c3287966f" - integrity sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-collapsible" "1.0.3" - "@radix-ui/react-collection" "1.0.3" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-direction" "1.0.1" - "@radix-ui/react-id" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-controllable-state" "1.0.1" - -"@radix-ui/react-arrow@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d" - integrity sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-primitive" "1.0.3" - -"@radix-ui/react-collapsible@1.0.3", "@radix-ui/react-collapsible@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz#df0e22e7a025439f13f62d4e4a9e92c4a0df5b81" - integrity sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-id" "1.0.1" - "@radix-ui/react-presence" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-controllable-state" "1.0.1" - "@radix-ui/react-use-layout-effect" "1.0.1" - -"@radix-ui/react-collection@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.0.3.tgz#9595a66e09026187524a36c6e7e9c7d286469159" - integrity sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-slot" "1.0.2" - -"@radix-ui/react-compose-refs@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989" - integrity sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-context-menu@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context-menu/-/react-context-menu-2.1.4.tgz#250420d259d3cebe026b7658414c516a1204de3f" - integrity sha512-HVHLUtZOBiR2Fh5l07qQ9y0IgX4dGZF0S9Gwdk4CVA+DL9afSphvFNa4nRiw6RNgb6quwLV4dLPF/gFDvNaOcQ== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-menu" "2.0.5" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-callback-ref" "1.0.1" - "@radix-ui/react-use-controllable-state" "1.0.1" - -"@radix-ui/react-context@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c" - integrity sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-direction@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.0.1.tgz#9cb61bf2ccf568f3421422d182637b7f47596c9b" - integrity sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-dismissable-layer@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz#883a48f5f938fa679427aa17fcba70c5494c6978" - integrity sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-callback-ref" "1.0.1" - "@radix-ui/react-use-escape-keydown" "1.0.3" - -"@radix-ui/react-dropdown-menu@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.5.tgz#19bf4de8ffa348b4eb6a86842f14eff93d741170" - integrity sha512-xdOrZzOTocqqkCkYo8yRPCib5OkTkqN7lqNCdxwPOdE466DOaNl4N8PkUIlsXthQvW5Wwkd+aEmWpfWlBoDPEw== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-id" "1.0.1" - "@radix-ui/react-menu" "2.0.5" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-controllable-state" "1.0.1" - -"@radix-ui/react-focus-guards@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz#1ea7e32092216b946397866199d892f71f7f98ad" - integrity sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-focus-scope@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz#9c2e8d4ed1189a1d419ee61edd5c1828726472f9" - integrity sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-callback-ref" "1.0.1" - -"@radix-ui/react-hover-card@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@radix-ui/react-hover-card/-/react-hover-card-1.0.6.tgz#ea4b5c02e9f145b278cbcacaf5200f80d44cba22" - integrity sha512-2K3ToJuMk9wjwBOa+jdg2oPma+AmLdcEyTNsG/iC4BDVG3E0/mGCjbY8PEDSLxJcUi+nJi2QII+ec/4kWd88DA== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-dismissable-layer" "1.0.4" - "@radix-ui/react-popper" "1.1.2" - "@radix-ui/react-portal" "1.0.3" - "@radix-ui/react-presence" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-controllable-state" "1.0.1" - -"@radix-ui/react-icons@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-icons/-/react-icons-1.3.0.tgz#c61af8f323d87682c5ca76b856d60c2312dbcb69" - integrity sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw== - -"@radix-ui/react-id@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.1.tgz#73cdc181f650e4df24f0b6a5b7aa426b912c88c0" - integrity sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-use-layout-effect" "1.0.1" - -"@radix-ui/react-label@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-label/-/react-label-2.0.2.tgz#9c72f1d334aac996fdc27b48a8bdddd82108fb6d" - integrity sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-primitive" "1.0.3" - -"@radix-ui/react-menu@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.0.5.tgz#a7d78b0808c4d38269240bf5d5c7ffea3e225e16" - integrity sha512-Gw4f9pwdH+w5w+49k0gLjN0PfRDHvxmAgG16AbyJZ7zhwZ6PBHKtWohvnSwfusfnK3L68dpBREHpVkj8wEM7ZA== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-collection" "1.0.3" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-direction" "1.0.1" - "@radix-ui/react-dismissable-layer" "1.0.4" - "@radix-ui/react-focus-guards" "1.0.1" - "@radix-ui/react-focus-scope" "1.0.3" - "@radix-ui/react-id" "1.0.1" - "@radix-ui/react-popper" "1.1.2" - "@radix-ui/react-portal" "1.0.3" - "@radix-ui/react-presence" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-roving-focus" "1.0.4" - "@radix-ui/react-slot" "1.0.2" - "@radix-ui/react-use-callback-ref" "1.0.1" - aria-hidden "^1.1.1" - react-remove-scroll "2.5.5" - -"@radix-ui/react-polymorphic@^0.0.14": - version "0.0.14" - resolved "https://registry.yarnpkg.com/@radix-ui/react-polymorphic/-/react-polymorphic-0.0.14.tgz#fc6cefee6686db8c5a7ff14c8c1b9b5abdee325b" - integrity sha512-9nsMZEDU3LeIUeHJrpkkhZVxu/9Fc7P2g2I3WR+uA9mTbNC3hGaabi0dV6wg0CfHb+m4nSs1pejbE/5no3MJTA== - -"@radix-ui/react-popover@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@radix-ui/react-popover/-/react-popover-1.0.6.tgz#19bb81e7450482c625b8cd05bf4dcd1d2cd91a8b" - integrity sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-dismissable-layer" "1.0.4" - "@radix-ui/react-focus-guards" "1.0.1" - "@radix-ui/react-focus-scope" "1.0.3" - "@radix-ui/react-id" "1.0.1" - "@radix-ui/react-popper" "1.1.2" - "@radix-ui/react-portal" "1.0.3" - "@radix-ui/react-presence" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-slot" "1.0.2" - "@radix-ui/react-use-controllable-state" "1.0.1" - aria-hidden "^1.1.1" - react-remove-scroll "2.5.5" - -"@radix-ui/react-popper@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.2.tgz#4c0b96fcd188dc1f334e02dba2d538973ad842e9" - integrity sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg== - dependencies: - "@babel/runtime" "^7.13.10" - "@floating-ui/react-dom" "^2.0.0" - "@radix-ui/react-arrow" "1.0.3" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-callback-ref" "1.0.1" - "@radix-ui/react-use-layout-effect" "1.0.1" - "@radix-ui/react-use-rect" "1.0.1" - "@radix-ui/react-use-size" "1.0.1" - "@radix-ui/rect" "1.0.1" - -"@radix-ui/react-portal@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.3.tgz#ffb961244c8ed1b46f039e6c215a6c4d9989bda1" - integrity sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-primitive" "1.0.3" - -"@radix-ui/react-presence@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.1.tgz#491990ba913b8e2a5db1b06b203cb24b5cdef9ba" - integrity sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-use-layout-effect" "1.0.1" - -"@radix-ui/react-primitive@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz#d49ea0f3f0b2fe3ab1cb5667eb03e8b843b914d0" - integrity sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-slot" "1.0.2" - -"@radix-ui/react-roving-focus@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz#e90c4a6a5f6ac09d3b8c1f5b5e81aab2f0db1974" - integrity sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-collection" "1.0.3" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-direction" "1.0.1" - "@radix-ui/react-id" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-callback-ref" "1.0.1" - "@radix-ui/react-use-controllable-state" "1.0.1" - -"@radix-ui/react-select@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-1.2.2.tgz#caa981fa0d672cf3c1b2a5240135524e69b32181" - integrity sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/number" "1.0.1" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-collection" "1.0.3" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-direction" "1.0.1" - "@radix-ui/react-dismissable-layer" "1.0.4" - "@radix-ui/react-focus-guards" "1.0.1" - "@radix-ui/react-focus-scope" "1.0.3" - "@radix-ui/react-id" "1.0.1" - "@radix-ui/react-popper" "1.1.2" - "@radix-ui/react-portal" "1.0.3" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-slot" "1.0.2" - "@radix-ui/react-use-callback-ref" "1.0.1" - "@radix-ui/react-use-controllable-state" "1.0.1" - "@radix-ui/react-use-layout-effect" "1.0.1" - "@radix-ui/react-use-previous" "1.0.1" - "@radix-ui/react-visually-hidden" "1.0.3" - aria-hidden "^1.1.1" - react-remove-scroll "2.5.5" - -"@radix-ui/react-slot@1.0.2", "@radix-ui/react-slot@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.2.tgz#a9ff4423eade67f501ffb32ec22064bc9d3099ab" - integrity sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.1" - -"@radix-ui/react-toast@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-toast/-/react-toast-1.1.4.tgz#9a7fc2d71700886f3292f7699c905f1e01be59e1" - integrity sha512-wf+fc8DOywrpRK3jlPlWVe+ELYGHdKDaaARJZNuUTWyWYq7+ANCFLp4rTjZ/mcGkJJQ/vZ949Zis9xxEpfq9OA== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.1" - "@radix-ui/react-collection" "1.0.3" - "@radix-ui/react-compose-refs" "1.0.1" - "@radix-ui/react-context" "1.0.1" - "@radix-ui/react-dismissable-layer" "1.0.4" - "@radix-ui/react-portal" "1.0.3" - "@radix-ui/react-presence" "1.0.1" - "@radix-ui/react-primitive" "1.0.3" - "@radix-ui/react-use-callback-ref" "1.0.1" - "@radix-ui/react-use-controllable-state" "1.0.1" - "@radix-ui/react-use-layout-effect" "1.0.1" - "@radix-ui/react-visually-hidden" "1.0.3" - -"@radix-ui/react-use-callback-ref@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz#f4bb1f27f2023c984e6534317ebc411fc181107a" - integrity sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-use-controllable-state@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286" - integrity sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-use-callback-ref" "1.0.1" - -"@radix-ui/react-use-escape-keydown@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755" - integrity sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-use-callback-ref" "1.0.1" - -"@radix-ui/react-use-layout-effect@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz#be8c7bc809b0c8934acf6657b577daf948a75399" - integrity sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-use-previous@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz#b595c087b07317a4f143696c6a01de43b0d0ec66" - integrity sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw== - dependencies: - "@babel/runtime" "^7.13.10" - -"@radix-ui/react-use-rect@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz#fde50b3bb9fd08f4a1cd204572e5943c244fcec2" - integrity sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/rect" "1.0.1" - -"@radix-ui/react-use-size@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz#1c5f5fea940a7d7ade77694bb98116fb49f870b2" - integrity sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-use-layout-effect" "1.0.1" - -"@radix-ui/react-visually-hidden@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz#51aed9dd0fe5abcad7dee2a234ad36106a6984ac" - integrity sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA== - dependencies: - "@babel/runtime" "^7.13.10" - "@radix-ui/react-primitive" "1.0.3" - -"@radix-ui/rect@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.1.tgz#bf8e7d947671996da2e30f4904ece343bc4a883f" - integrity sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ== - dependencies: - "@babel/runtime" "^7.13.10" - -"@rushstack/eslint-patch@^1.1.3": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz#31b9c510d8cada9683549e1dbb4284cca5001faf" - integrity sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw== - -"@safe-global/safe-apps-provider@^0.15.2": - version "0.15.2" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.15.2.tgz#fa5c30140134e72bb969da76b80a16c545323e3a" - integrity sha512-BaoGAuY7h6jLBL7P+M6b7hd+1QfTv8uMyNF3udhiNUwA0XwfzH2ePQB13IEV3Mn7wdcIMEEUDS5kHbtAsj60qQ== - dependencies: - "@safe-global/safe-apps-sdk" "7.9.0" - events "^3.3.0" - -"@safe-global/safe-apps-sdk@7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.9.0.tgz#0c79a7760470bfdaf4cce9aa5bceef56898c7037" - integrity sha512-S2EI+JL8ocSgE3uGNaDZCzKmwfhtxXZFDUP76vN0FeaY35itFMyi8F0Vhxu0XnZm3yLzJE3tp5px6GhuQFLU6w== - dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - ethers "^5.7.2" - -"@safe-global/safe-apps-sdk@^7.9.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.11.0.tgz#2cbc164fb70141cdf4d3331ff222cd98a2529316" - integrity sha512-RDamzPM1Lhhiiz0O+Dn6FkFqIh47jmZX+HCV/BBnBBOSKfBJE//IGD3+02zMgojXHTikQAburdPes9qmH1SA1A== - dependencies: - "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" - ethers "^5.7.2" - -"@safe-global/safe-gateway-typescript-sdk@^3.5.3": - version "3.7.3" - resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.7.3.tgz#68ec7d82711e2d0f82ce2e577b1df67ba8da2bed" - integrity sha512-O6JCgXNZWG0Vv8FnOEjKfcbsP0WxGvoPJk5ufqUrsyBlHup16It6oaLnn+25nXFLBZOHI1bz8429JlqAc2t2hg== - dependencies: - cross-fetch "^3.1.5" - -"@scure/base@~1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" - integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== - -"@scure/bip32@1.1.5": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" - integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== - dependencies: - "@noble/hashes" "~1.2.0" - "@noble/secp256k1" "~1.7.0" - "@scure/base" "~1.1.0" - -"@scure/bip32@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" - integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== - dependencies: - "@noble/curves" "~1.0.0" - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" - -"@scure/bip39@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" - integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== - dependencies: - "@noble/hashes" "~1.2.0" - "@scure/base" "~1.1.0" - -"@scure/bip39@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" - integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== - dependencies: - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" - -"@solana/buffer-layout@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" - integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== - dependencies: - buffer "~6.0.3" - -"@solana/web3.js@^1.70.1": - version "1.77.3" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.77.3.tgz#2cbeaa1dd24f8fa386ac924115be82354dfbebab" - integrity sha512-PHaO0BdoiQRPpieC1p31wJsBaxwIOWLh8j2ocXNKX8boCQVldt26Jqm2tZE4KlrvnCIV78owPLv1pEUgqhxZ3w== - dependencies: - "@babel/runtime" "^7.12.5" - "@noble/curves" "^1.0.0" - "@noble/hashes" "^1.3.0" - "@solana/buffer-layout" "^4.0.0" - agentkeepalive "^4.2.1" - bigint-buffer "^1.1.5" - bn.js "^5.0.0" - borsh "^0.7.0" - bs58 "^4.0.1" - buffer "6.0.3" - fast-stable-stringify "^1.0.0" - jayson "^4.1.0" - node-fetch "^2.6.7" - rpc-websockets "^7.5.1" - superstruct "^0.14.2" - -"@stablelib/aead@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" - integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== - -"@stablelib/binary@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" - integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== - dependencies: - "@stablelib/int" "^1.0.1" - -"@stablelib/bytes@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" - integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== - -"@stablelib/chacha20poly1305@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" - integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== - dependencies: - "@stablelib/aead" "^1.0.1" - "@stablelib/binary" "^1.0.1" - "@stablelib/chacha" "^1.0.1" - "@stablelib/constant-time" "^1.0.1" - "@stablelib/poly1305" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/chacha@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" - integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/constant-time@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" - integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== - -"@stablelib/ed25519@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" - integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== - dependencies: - "@stablelib/random" "^1.0.2" - "@stablelib/sha512" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/hash@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" - integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== - -"@stablelib/hkdf@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" - integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== - dependencies: - "@stablelib/hash" "^1.0.1" - "@stablelib/hmac" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/hmac@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" - integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/int@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" - integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== - -"@stablelib/keyagreement@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" - integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== - dependencies: - "@stablelib/bytes" "^1.0.1" - -"@stablelib/poly1305@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" - integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" - integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/sha256@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" - integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/sha512@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" - integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - -"@stablelib/wipe@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" - integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== - -"@stablelib/x25519@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" - integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== - dependencies: - "@stablelib/keyagreement" "^1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/wipe" "^1.0.1" - -"@swc/helpers@0.5.1": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.1.tgz#e9031491aa3f26bfcc974a67f48bd456c8a5357a" - integrity sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg== - dependencies: - tslib "^2.4.0" - -"@tailwindcss/aspect-ratio@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@tailwindcss/aspect-ratio/-/aspect-ratio-0.4.2.tgz#9ffd52fee8e3c8b20623ff0dcb29e5c21fb0a9ba" - integrity sha512-8QPrypskfBa7QIMuKHg2TA7BqES6vhBrDLOv8Unb6FcFyd3TjKbc6lcmb9UPQHxfl24sXoJ41ux/H7qQQvfaSQ== - -"@tanstack/query-core@4.29.15": - version "4.29.15" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.29.15.tgz#6f8721341dbece517326a8e402d29ea3365538a8" - integrity sha512-Recc1d5rjHesKhzlH3Aw66v+vQxtB9OHEXP/vxgEcEJ0DwEpfe3EQ4id20vuBJHY2XRjfgWGmUs6ZgK6PSsTXA== - -"@tanstack/query-persist-client-core@4.29.15": - version "4.29.15" - resolved "https://registry.yarnpkg.com/@tanstack/query-persist-client-core/-/query-persist-client-core-4.29.15.tgz#00239360e8770be8b81e6b2fb12dafacce174ff8" - integrity sha512-cXOkx7nRrJpL5MmT3tmIW41Xn87KjIVgjcoakcK23luj5sJLgWomTJKiDlyEcUL8P8yrywNut+M1IxbTSndaDQ== - dependencies: - "@tanstack/query-core" "4.29.15" - -"@tanstack/query-sync-storage-persister@^4.27.1": - version "4.29.15" - resolved "https://registry.yarnpkg.com/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.29.15.tgz#607c2b9edb810a50f0f6d603f7b1e4e60d250c8e" - integrity sha512-M8wEZ2a0sHPvPQxFQBbGdQMDhWI5Rn6KOjM4pA0ybmaqvE7b3lN/nSTcmc+RrdceEH9HWMCqlzUbLUJThLb2iQ== - dependencies: - "@tanstack/query-persist-client-core" "4.29.15" - -"@tanstack/react-query-persist-client@^4.28.0": - version "4.29.15" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-persist-client/-/react-query-persist-client-4.29.15.tgz#3c9ce05b187eb27fc47684f00d331481c2fd03c8" - integrity sha512-sYISV7iFMhFXwHoc9B94ZrCGPyZKPA0CCLqkP4f4Ll9XzsMijYlDUD2C9Wm56aYi3bS+LYy2oSxrMNLqtW4HYw== - dependencies: - "@tanstack/query-persist-client-core" "4.29.15" - -"@tanstack/react-query@^4.28.0": - version "4.29.15" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.29.15.tgz#83598e46964185199c59757e6b9c63c15eff81c1" - integrity sha512-1zDkv95ljuJ623hhbYU8YIprPW2x6774kh3IQNEuZav62+S+Zr26uUOrE2zGRp9I1uO5Liw/0uYB3dWXQP5+3Q== - dependencies: - "@tanstack/query-core" "4.29.15" - use-sync-external-store "^1.2.0" - -"@types/connect@^3.4.33": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - -"@types/debug@^4.0.0", "@types/debug@^4.1.7": - version "4.1.8" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" - integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== - dependencies: - "@types/ms" "*" - -"@types/hast@^2.0.0": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" - integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== - dependencies: - "@types/unist" "*" - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/mdast@^3.0.0": - version "3.0.11" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.11.tgz#dc130f7e7d9306124286f6d6cee40cf4d14a3dc0" - integrity sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw== - dependencies: - "@types/unist" "*" - -"@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== - -"@types/node@*", "@types/node@^20.3.1": - version "20.3.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.1.tgz#e8a83f1aa8b649377bb1fb5d7bac5cb90e784dfe" - integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg== - -"@types/node@^12.12.54": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - -"@types/parse5@^6.0.0": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-6.0.3.tgz#705bb349e789efa06f43f128cef51240753424cb" - integrity sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g== - -"@types/prop-types@*", "@types/prop-types@^15.0.0": - version "15.7.5" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== - -"@types/react-dom@^18.2.6": - version "18.2.6" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.6.tgz#ad621fa71a8db29af7c31b41b2ea3d8a6f4144d1" - integrity sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^18.2.14": - version "18.2.14" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.14.tgz#fa7a6fecf1ce35ca94e74874f70c56ce88f7a127" - integrity sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.3" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" - integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== - -"@types/trusted-types@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.3.tgz#a136f83b0758698df454e328759dbd3d44555311" - integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g== - -"@types/unist@*", "@types/unist@^2.0.0": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" - integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== - -"@types/ws@^7.4.4": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== - dependencies: - "@types/node" "*" - -"@typescript-eslint/parser@^5.42.0": - version "5.60.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.60.0.tgz#08f4daf5fc6548784513524f4f2f359cebb4068a" - integrity sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ== - dependencies: - "@typescript-eslint/scope-manager" "5.60.0" - "@typescript-eslint/types" "5.60.0" - "@typescript-eslint/typescript-estree" "5.60.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.60.0": - version "5.60.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.60.0.tgz#ae511967b4bd84f1d5e179bb2c82857334941c1c" - integrity sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ== - dependencies: - "@typescript-eslint/types" "5.60.0" - "@typescript-eslint/visitor-keys" "5.60.0" - -"@typescript-eslint/types@5.60.0": - version "5.60.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.60.0.tgz#3179962b28b4790de70e2344465ec97582ce2558" - integrity sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA== - -"@typescript-eslint/typescript-estree@5.60.0": - version "5.60.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.0.tgz#4ddf1a81d32a850de66642d9b3ad1e3254fb1600" - integrity sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ== - dependencies: - "@typescript-eslint/types" "5.60.0" - "@typescript-eslint/visitor-keys" "5.60.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@5.60.0": - version "5.60.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.0.tgz#b48b29da3f5f31dd1656281727004589d2722a66" - integrity sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw== - dependencies: - "@typescript-eslint/types" "5.60.0" - eslint-visitor-keys "^3.3.0" - -"@vercel/analytics@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@vercel/analytics/-/analytics-1.0.1.tgz#38308a626c91866cb00a249c08bf65251e9b9d81" - integrity sha512-Ux0c9qUfkcPqng3vrR0GTrlQdqNJ2JREn/2ydrVuKwM3RtMfF2mWX31Ijqo1opSjNAq6rK76PwtANw6kl6TAow== - -"@wagmi/chains@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.1.0.tgz#d351b3dc6f472b167f180721f46f6098b6c1585b" - integrity sha512-pWZlxBk0Ql8E7DV8DwqlbBpOyUdaG9UDlQPBxJNALuEK1I0tbQ3AVvSDnlsEIt06UPmPo5o27gzs3hwPQ/A+UA== - -"@wagmi/chains@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.2.0.tgz#d59eaa70ec51a5fdcd113975926992acfb17ab12" - integrity sha512-dmDRipsE54JfyudOBkuhEexqQWcrZqxn/qiujG8SBzMh/az/AH5xlJSA+j1CPWTx9+QofSMF3B7A4gb6XRmSaQ== - -"@wagmi/cli@^1.1.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@wagmi/cli/-/cli-1.2.0.tgz#4f9ada40ee06a92ac06ee9ba7758e9e4890076ae" - integrity sha512-V8WDesi+oo6IQGm3vh+QHewt0svojy9ZqoSL41PrxqP87gtap6h6cWnNYuwEsp6IUueytvaNPaDdnbMNIDIW4A== - dependencies: - "@wagmi/chains" "1.1.0" - abitype "0.8.7" - abort-controller "^3.0.0" - bundle-require "^3.1.2" - cac "^6.7.12" - change-case "^4.1.2" - chokidar "^3.5.3" - dedent "^0.7.0" - detect-package-manager "^2.0.1" - dotenv "^16.0.3" - dotenv-expand "^10.0.0" - esbuild "0.15.13" - execa "^6.1.0" - find-up "^6.3.0" - fs-extra "^10.1.0" - globby "^13.1.3" - node-fetch "^3.3.0" - ora "^6.1.2" - pathe "^1.0.0" - picocolors "^1.0.0" - prettier "^2.8.1" - viem "^1.0.0" - zod "^3.21.4" - -"@wagmi/connectors@2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-2.3.0.tgz#344b4263bb32584838bcd7290421026bb5859be9" - integrity sha512-PXYiJrNwmfW7ZbyjW3SRhhTWrxJlThbOLZJ6+vwlgTwC0k5Qd8mfVxDfMKrjxYYGHK7j6d6mAdsk4iJgfE1Dhw== - dependencies: - "@coinbase/wallet-sdk" "^3.6.6" - "@ledgerhq/connect-kit-loader" "^1.0.1" - "@safe-global/safe-apps-provider" "^0.15.2" - "@safe-global/safe-apps-sdk" "^7.9.0" - "@walletconnect/ethereum-provider" "2.8.1" - "@walletconnect/legacy-provider" "^2.0.0" - "@walletconnect/modal" "^2.4.6" - abitype "0.8.7" - eventemitter3 "^4.0.7" - -"@wagmi/core@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-1.2.1.tgz#9f93b529cb82995489c2c11eb7330dcdba0db84c" - integrity sha512-t09se2nJfb9sp4UIYbqCkhzBqkNCJLsDBkaLtHFj9eS99wJ5Gtsui4hLPEuT6wTjLb5oF898KCr04721aJiNJw== - dependencies: - "@wagmi/chains" "1.2.0" - "@wagmi/connectors" "2.3.0" - abitype "0.8.7" - eventemitter3 "^4.0.7" - zustand "^4.3.1" - -"@walletconnect/core@2.8.1": - version "2.8.1" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.8.1.tgz#f74404af372a11e05c214cbc14b5af0e9c0cf916" - integrity sha512-mN9Zkdl/NeThntK8cydDoQOW6jUEpOeFgYR1RCKPLH51VQwlbdSgvvQIeanSQXEY4U7AM3x8cs1sxqMomIfRQg== - dependencies: - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-provider" "1.0.13" - "@walletconnect/jsonrpc-types" "1.0.3" - "@walletconnect/jsonrpc-utils" "1.0.8" - "@walletconnect/jsonrpc-ws-connection" "^1.0.11" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/relay-auth" "^1.0.4" - "@walletconnect/safe-json" "^1.0.2" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.8.1" - "@walletconnect/utils" "2.8.1" - events "^3.3.0" - lodash.isequal "4.5.0" - uint8arrays "^3.1.0" - -"@walletconnect/crypto@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.3.tgz#7b8dd4d7e2884fe3543c7c07aea425eef5ef9dd4" - integrity sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - "@walletconnect/randombytes" "^1.0.3" - aes-js "^3.1.2" - hash.js "^1.1.7" - tslib "1.14.1" - -"@walletconnect/encoding@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.2.tgz#cb3942ad038d6a6bf01158f66773062dd25724da" - integrity sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag== - dependencies: - is-typedarray "1.0.0" - tslib "1.14.1" - typedarray-to-buffer "3.1.5" - -"@walletconnect/environment@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" - integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== - dependencies: - tslib "1.14.1" - -"@walletconnect/ethereum-provider@2.8.1": - version "2.8.1" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.8.1.tgz#1743072f42b5c940648b0303a382e8907a362a00" - integrity sha512-YlF8CCiFTSEZRyANIBsop/U+t+d1Z1/UXXoE9+iwjSGKJsaym6PgBLPb2d8XdmS/qR6Tcx7lVodTp4cVtezKnA== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.7" - "@walletconnect/jsonrpc-provider" "^1.0.13" - "@walletconnect/jsonrpc-types" "^1.0.3" - "@walletconnect/jsonrpc-utils" "^1.0.8" - "@walletconnect/sign-client" "2.8.1" - "@walletconnect/types" "2.8.1" - "@walletconnect/universal-provider" "2.8.1" - "@walletconnect/utils" "2.8.1" - events "^3.3.0" - -"@walletconnect/events@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" - integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== - dependencies: - keyvaluestorage-interface "^1.0.0" - tslib "1.14.1" - -"@walletconnect/heartbeat@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz#afaa3a53232ae182d7c9cff41c1084472d8f32e9" - integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/time" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/jsonrpc-http-connection@^1.0.4", "@walletconnect/jsonrpc-http-connection@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz#a6973569b8854c22da707a759d241e4f5c2d5a98" - integrity sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" - cross-fetch "^3.1.4" - tslib "1.14.1" - -"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.6": - version "1.0.13" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" - integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.8" - "@walletconnect/safe-json" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz#65e3b77046f1a7fa8347ae02bc1b841abe6f290c" - integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== - dependencies: - keyvaluestorage-interface "^1.0.0" - tslib "1.14.1" - -"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.4", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" - integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== - dependencies: - "@walletconnect/environment" "^1.0.1" - "@walletconnect/jsonrpc-types" "^1.0.3" - tslib "1.14.1" - -"@walletconnect/jsonrpc-ws-connection@^1.0.11": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.11.tgz#1ce59d86f273d576ca73385961303ebd44dd923f" - integrity sha512-TiFJ6saasKXD+PwGkm5ZGSw0837nc6EeFmurSPgIT/NofnOV4Tv7CVJqGQN0rQYoJUSYu21cwHNYaFkzNpUN+w== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.2" - events "^3.3.0" - tslib "1.14.1" - ws "^7.5.1" - -"@walletconnect/keyvaluestorage@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz#92f5ca0f54c1a88a093778842ce0c874d86369c8" - integrity sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ== - dependencies: - safe-json-utils "^1.1.1" - tslib "1.14.1" - -"@walletconnect/legacy-client@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-client/-/legacy-client-2.0.0.tgz#9f2c09694789fd4b6c5d68d6423b44bac55aed30" - integrity sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA== - dependencies: - "@walletconnect/crypto" "^1.0.3" - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "^5.3.0" - query-string "^6.13.5" - -"@walletconnect/legacy-modal@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-modal/-/legacy-modal-2.0.0.tgz#d0fab01a1337a8f5d88cdb1430cbef2d46072bbf" - integrity sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q== - dependencies: - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - copy-to-clipboard "^3.3.3" - preact "^10.12.0" - qrcode "^1.5.1" - -"@walletconnect/legacy-provider@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-provider/-/legacy-provider-2.0.0.tgz#08e2db1e4c234743b2f30422bc8100bc42e8fc44" - integrity sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.4" - "@walletconnect/jsonrpc-provider" "^1.0.6" - "@walletconnect/legacy-client" "^2.0.0" - "@walletconnect/legacy-modal" "^2.0.0" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/legacy-utils" "^2.0.0" - -"@walletconnect/legacy-types@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-types/-/legacy-types-2.0.0.tgz#224278ae2874c6a2ca805c2d1d062a511dcf7227" - integrity sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw== - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - -"@walletconnect/legacy-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/legacy-utils/-/legacy-utils-2.0.0.tgz#e3a637c00783f9cd2ae139b640f82223ab78ed9d" - integrity sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/legacy-types" "^2.0.0" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "^5.3.0" - query-string "^6.13.5" - -"@walletconnect/logger@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8" - integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ== - dependencies: - pino "7.11.0" - tslib "1.14.1" - -"@walletconnect/modal-core@2.5.2": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.5.2.tgz#b847191d36274e947aa805b5ca9fe2cae273cc63" - integrity sha512-meYjouZxAik0peyhxDUTRY77uu/r4tLe1QoJp/Ra3brHD0i93uwX5U8RlBNDLGQhLGIraZl6xNANcxHGRHFSuQ== - dependencies: - buffer "6.0.3" - valtio "1.10.5" - -"@walletconnect/modal-ui@2.5.2": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.5.2.tgz#cb6184bd4c0e207fcfc566b13046938fe03e1cfd" - integrity sha512-ZbHsFP+LWvyJ3wwJf3nJKkwqMOHpJ5ECnAZgopMX+hp/bS+4JEeCzUy1StmzyriT6RImLFRQkI6Zas/NetaUnw== - dependencies: - "@walletconnect/modal-core" "2.5.2" - lit "2.7.5" - motion "10.16.2" - qrcode "1.5.3" - -"@walletconnect/modal@^2.4.6": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.5.2.tgz#402e5904e2a39fddc63a6a99bd9c621a0c315d6f" - integrity sha512-vMLAQFjbMeXZ3+ojb+0OmMRpXCg92vCWJS2t3pF6XyxZrp/qxB9W87HwP7q6ecJtePM1Snil5QlpXipprqzr9g== - dependencies: - "@walletconnect/modal-core" "2.5.2" - "@walletconnect/modal-ui" "2.5.2" - -"@walletconnect/randombytes@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.3.tgz#e795e4918367fd1e6a2215e075e64ab93e23985b" - integrity sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw== - dependencies: - "@walletconnect/encoding" "^1.0.2" - "@walletconnect/environment" "^1.0.1" - randombytes "^2.1.0" - tslib "1.14.1" - -"@walletconnect/relay-api@^1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.9.tgz#f8c2c3993dddaa9f33ed42197fc9bfebd790ecaf" - integrity sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg== - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - tslib "1.14.1" - -"@walletconnect/relay-auth@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" - integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== - dependencies: - "@stablelib/ed25519" "^1.0.2" - "@stablelib/random" "^1.0.1" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/time" "^1.0.2" - tslib "1.14.1" - uint8arrays "^3.0.0" - -"@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" - integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== - dependencies: - tslib "1.14.1" - -"@walletconnect/sign-client@2.8.1": - version "2.8.1" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.8.1.tgz#8c6de724eff6a306c692dd66e66944089be5e30a" - integrity sha512-6DbpjP9BED2YZOZdpVgYo0HwPBV7k99imnsdMFrTn16EFAxhuYP0/qPwum9d072oNMGWJSA6d4rzc8FHNtHsCA== - dependencies: - "@walletconnect/core" "2.8.1" - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-utils" "1.0.8" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.8.1" - "@walletconnect/utils" "2.8.1" - events "^3.3.0" - -"@walletconnect/time@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" - integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== - dependencies: - tslib "1.14.1" - -"@walletconnect/types@2.8.1": - version "2.8.1" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.8.1.tgz#640eb6ad23866886fbe09a9b29832bf3f8647a09" - integrity sha512-MLISp85b+27vVkm3Wkud+eYCwySXCdOrmn0yQCSN6DnRrrunrD05ksz4CXGP7h2oXUvvXPDt/6lXBf1B4AfqrA== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.1" - "@walletconnect/jsonrpc-types" "1.0.3" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - events "^3.3.0" - -"@walletconnect/universal-provider@2.8.1": - version "2.8.1" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.8.1.tgz#3fc51c56d1c94a02eb952f9bf948293cc7aace7e" - integrity sha512-6shgE4PM/S+GEh9oTWMloHZlt2BLsCitRn9tBh2Vf+jZiGlug3WNm+tBc/Fo6ILyHuzeYPbkzCM67AxcutOHGQ== - dependencies: - "@walletconnect/jsonrpc-http-connection" "^1.0.7" - "@walletconnect/jsonrpc-provider" "1.0.13" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/jsonrpc-utils" "^1.0.7" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/sign-client" "2.8.1" - "@walletconnect/types" "2.8.1" - "@walletconnect/utils" "2.8.1" - eip1193-provider "1.0.1" - events "^3.3.0" - -"@walletconnect/utils@2.8.1": - version "2.8.1" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.8.1.tgz#1356f4bba7f8b6664fc5b61ce3497596c8d9d603" - integrity sha512-d6p9OX3v70m6ijp+j4qvqiQZQU1vbEHN48G8HqXasyro3Z+N8vtcB5/gV4pTYsbWgLSDtPHj49mzbWQ0LdIdTw== - dependencies: - "@stablelib/chacha20poly1305" "1.0.1" - "@stablelib/hkdf" "1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/sha256" "1.0.1" - "@stablelib/x25519" "^1.0.3" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/safe-json" "^1.0.2" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.8.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "5.3.0" - query-string "7.1.3" - uint8arrays "^3.1.0" - -"@walletconnect/window-getters@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" - integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== - dependencies: - tslib "1.14.1" - -"@walletconnect/window-metadata@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" - integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== - dependencies: - "@walletconnect/window-getters" "^1.0.1" - tslib "1.14.1" - -JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abitype@0.8.7: - version "0.8.7" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" - integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^8.8.0: - version "8.9.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59" - integrity sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - -aes-js@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - -agentkeepalive@^4.2.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255" - integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg== - dependencies: - debug "^4.1.0" - depd "^2.0.0" - humanize-ms "^1.2.1" - -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-hidden@^1.1.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.3.tgz#14aeb7fb692bbb72d69bebfa47279c1fd725e954" - integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ== - dependencies: - tslib "^2.0.0" - -aria-query@^5.1.3: - version "5.2.1" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.2.1.tgz#bc285d9d654d1df121bcd0c134880d415ca67c15" - integrity sha512-7uFg4b+lETFgdaJyETnILsXgnnzVnkHcgRbwbPwevm5x/LmUlt3MjczMRe1zg824iBgXZNRPTBftNYyRSKLp2g== - dependencies: - dequal "^2.0.3" - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-includes@^3.1.5, array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.flat@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" - integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.1.3" - -assign-deep@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/assign-deep/-/assign-deep-1.0.1.tgz#b6d21d74e2f28bf6592e4c0c541bed6ab59c5f27" - integrity sha512-CSXAX79mibneEYfqLT5FEmkqR5WXF+xDRjgQQuVf6wSCXCYU8/vHttPidNar7wJ5BFmKAo8Wei0rCtzb+M/yeA== - dependencies: - assign-symbols "^2.0.2" - -assign-symbols@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-2.0.2.tgz#0fb9191dd9d617042746ecfc354f3a3d768a0c98" - integrity sha512-9sBQUQZMKFKcO/C3Bo6Rx4CQany0R0UeVcefNGRRdW2vbmaMOhV1sbmlXcQLcD56juLXbSGTBm0GGuvmrAF8pA== - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== - -async-mutex@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" - integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== - dependencies: - tslib "^2.0.0" - -atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== - -autoprefixer@^10.4.14: - version "10.4.14" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" - integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== - dependencies: - browserslist "^4.21.5" - caniuse-lite "^1.0.30001464" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -axe-core@^4.6.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.2.tgz#040a7342b20765cb18bb50b628394c21bccc17a0" - integrity sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g== - -axios@^0.21.0: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -axobject-query@^3.1.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" - integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== - dependencies: - dequal "^2.0.3" - -"babel-plugin-styled-components@>= 1.12.0": - version "2.1.4" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz#9a1f37c7f32ef927b4b008b529feb4a2c82b1092" - integrity sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.22.5" - lodash "^4.17.21" - picomatch "^2.3.1" - -bail@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" - integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.2: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -big-integer@^1.6.44: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== - -bigint-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" - integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== - dependencies: - bindings "^1.3.0" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bind-decorator@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/bind-decorator/-/bind-decorator-1.0.11.tgz#e41bc06a1f65dd9cec476c91c5daf3978488252f" - integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg== - -bindings@^1.3.0, bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bl@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273" - integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ== - dependencies: - buffer "^6.0.3" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -borsh@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" - integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== - dependencies: - bn.js "^5.2.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" - -bplist-parser@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" - integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== - dependencies: - big-integer "^1.6.44" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browserslist@^4.21.5: - version "4.21.9" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635" - integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg== - dependencies: - caniuse-lite "^1.0.30001503" - electron-to-chromium "^1.4.431" - node-releases "^2.0.12" - update-browserslist-db "^1.0.11" - -bs58@^4.0.0, bs58@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== - dependencies: - base-x "^3.0.2" - -buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -bufferutil@^4.0.1: - version "4.0.7" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" - integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== - dependencies: - node-gyp-build "^4.3.0" - -bundle-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" - integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== - dependencies: - run-applescript "^5.0.0" - -bundle-require@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-3.1.2.tgz#1374a7bdcb8b330a7ccc862ccbf7c137cc43ad27" - integrity sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA== - dependencies: - load-tsconfig "^0.2.0" - -busboy@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - -cac@^6.7.12: - version "6.7.14" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" - integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelize@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" - integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== - -caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001503: - version "1.0.30001507" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001507.tgz#fae53f6286e7564783eadea9b447819410a59534" - integrity sha512-SFpUDoSLCaE5XYL2jfqe9ova/pbQHEmbheDf5r4diNwbAgR3qxM9NQtfsiSscjqoya5K7kFcHPUQ+VsUkIJR4A== - -capital-case@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669" - integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case-first "^2.0.2" - -ccount@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" - integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" - integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== - -change-case@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12" - integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== - dependencies: - camel-case "^4.1.2" - capital-case "^1.0.4" - constant-case "^3.0.4" - dot-case "^3.0.4" - header-case "^2.0.4" - no-case "^3.0.4" - param-case "^3.0.4" - pascal-case "^3.1.2" - path-case "^3.0.4" - sentence-case "^3.0.4" - snake-case "^3.0.4" - tslib "^2.0.3" - -character-entities-html4@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" - integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== - -character-entities-legacy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" - integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== - -character-entities@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" - integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== - -chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -class-variance-authority@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/class-variance-authority/-/class-variance-authority-0.6.0.tgz#d10df1ee148bb8efc11c17909ef1567abdc85a03" - integrity sha512-qdRDgfjx3GRb9fpwpSvn+YaidnT7IUJNe4wt5/SWwM+PmUwJUhQRk/8zAyNro0PmVfmen2635UboTjIBXXxy5A== - dependencies: - clsx "1.2.1" - -classnames@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" - integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== - -cli-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" - integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== - dependencies: - restore-cursor "^4.0.0" - -cli-spinners@^2.6.1: - version "2.9.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" - integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== - -client-only@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" - integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -clsx@1.2.1, clsx@^1.1.0, clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.7: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -comma-separated-tokens@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" - integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== - -commander@^2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -connectkit@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/connectkit/-/connectkit-1.5.3.tgz#3e6bcd6f766c4577cb314d72cd42eee807b5fd51" - integrity sha512-vXneVOa+oit5Migoxca2QkgVBHaROItzb2kW13o7aUrcEcecYIGZjsizsVM2YvIdKihyWs+zJFrlED4g8zAMew== - dependencies: - buffer "^6.0.3" - detect-browser "^5.3.0" - framer-motion "^6.3.11" - qrcode "^1.5.0" - react-transition-state "^1.1.4" - react-use-measure "^2.1.1" - resize-observer-polyfill "^1.5.1" - styled-components "^5.3.5" - -constant-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1" - integrity sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case "^2.0.2" - -copy-to-clipboard@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - -cross-fetch@^3.1.4, cross-fetch@^3.1.5: - version "3.1.6" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.6.tgz#bae05aa31a4da760969756318feeee6e70f15d6c" - integrity sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g== - dependencies: - node-fetch "^2.6.11" - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-color-keywords@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" - integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== - -css-to-react-native@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" - integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== - dependencies: - camelize "^1.0.0" - css-color-keywords "^1.0.0" - postcss-value-parser "^4.0.2" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -csstype@^3.0.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -data-uri-to-buffer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" - integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== - -dateformat@^4.6.3: - version "4.6.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5" - integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== - -debounce@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" - integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decode-named-character-reference@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== - dependencies: - character-entities "^2.0.0" - -decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -default-browser-id@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" - integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== - dependencies: - bplist-parser "^0.2.0" - untildify "^4.0.0" - -default-browser@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da" - integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== - dependencies: - bundle-name "^3.0.0" - default-browser-id "^3.0.0" - execa "^7.1.1" - titleize "^3.0.0" - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-lazy-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" - integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== - -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delay@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" - integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== - -depd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -dequal@^2.0.0, dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - -detect-browser@5.3.0, detect-browser@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" - integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== - -detect-node-es@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" - integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== - -detect-package-manager@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/detect-package-manager/-/detect-package-manager-2.0.1.tgz#6b182e3ae5e1826752bfef1de9a7b828cffa50d8" - integrity sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A== - dependencies: - execa "^5.1.1" - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -diff@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== - -dijkstrajs@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" - integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv-expand@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" - integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== - -dotenv@^16.0.3: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== - -duplexify@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" - integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== - dependencies: - end-of-stream "^1.4.1" - inherits "^2.0.3" - readable-stream "^3.1.1" - stream-shift "^1.0.0" - -eip1193-provider@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3" - integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g== - dependencies: - "@json-rpc-tools/provider" "^1.5.5" - -electron-to-chromium@^1.4.431: - version "1.4.440" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.440.tgz#d3b1eeb36b717eb479a240c0406ac1fa67901762" - integrity sha512-r6dCgNpRhPwiWlxbHzZQ/d9swfPaEJGi8ekqRBwQYaR3WmA5VkqQfBWSDDjuJU1ntO+W9tHx8OHV/96Q8e0dVw== - -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -encode-utf8@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" - integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== - -encoding@^0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^5.12.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.21.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" - integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== - dependencies: - array-buffer-byte-length "^1.0.0" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.0" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.10" - is-weakref "^1.0.2" - object-inspect "^1.12.3" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.9" - -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - -esbuild-android-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz#5f25864055dbd62e250f360b38b4c382224063af" - integrity sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g== - -esbuild-android-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz#d8820f999314efbe8e0f050653a99ff2da632b0f" - integrity sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w== - -esbuild-darwin-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz#99ae7fdaa43947b06cd9d1a1c3c2c9f245d81fd0" - integrity sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg== - -esbuild-darwin-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz#bafa1814354ad1a47adcad73de416130ef7f55e3" - integrity sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A== - -esbuild-freebsd-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz#84ef85535c5cc38b627d1c5115623b088d1de161" - integrity sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA== - -esbuild-freebsd-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz#033f21de434ec8e0c478054b119af8056763c2d8" - integrity sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q== - -esbuild-linux-32@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz#54290ea8035cba0faf1791ce9ae6693005512535" - integrity sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w== - -esbuild-linux-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz#4264249281ea388ead948614b57fb1ddf7779a2c" - integrity sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A== - -esbuild-linux-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz#9323c333924f97a02bdd2ae8912b36298acb312d" - integrity sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ== - -esbuild-linux-arm@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz#b407f47b3ae721fe4e00e19e9f19289bef87a111" - integrity sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ== - -esbuild-linux-mips64le@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz#bdf905aae5c0bcaa8f83567fe4c4c1bdc1f14447" - integrity sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A== - -esbuild-linux-ppc64le@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz#2911eae1c90ff58a3bd3259cb557235df25aa3b4" - integrity sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA== - -esbuild-linux-riscv64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz#1837c660be12b1d20d2a29c7189ea703f93e9265" - integrity sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow== - -esbuild-linux-s390x@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz#d52880ece229d1bd10b2d936b792914ffb07c7fc" - integrity sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag== - -esbuild-netbsd-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz#de14da46f1d20352b43e15d97a80a8788275e6ed" - integrity sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ== - -esbuild-openbsd-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz#45e8a5fd74d92ad8f732c43582369c7990f5a0ac" - integrity sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w== - -esbuild-sunos-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz#f646ac3da7aac521ee0fdbc192750c87da697806" - integrity sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw== - -esbuild-windows-32@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz#fb4fe77c7591418880b3c9b5900adc4c094f2401" - integrity sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA== - -esbuild-windows-64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz#1fca8c654392c0c31bdaaed168becfea80e20660" - integrity sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ== - -esbuild-windows-arm64@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz#4ffd01b6b2888603f1584a2fe96b1f6a6f2b3dd8" - integrity sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg== - -esbuild@0.15.13: - version "0.15.13" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.13.tgz#7293480038feb2bafa91d3f6a20edab3ba6c108a" - integrity sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ== - optionalDependencies: - "@esbuild/android-arm" "0.15.13" - "@esbuild/linux-loong64" "0.15.13" - esbuild-android-64 "0.15.13" - esbuild-android-arm64 "0.15.13" - esbuild-darwin-64 "0.15.13" - esbuild-darwin-arm64 "0.15.13" - esbuild-freebsd-64 "0.15.13" - esbuild-freebsd-arm64 "0.15.13" - esbuild-linux-32 "0.15.13" - esbuild-linux-64 "0.15.13" - esbuild-linux-arm "0.15.13" - esbuild-linux-arm64 "0.15.13" - esbuild-linux-mips64le "0.15.13" - esbuild-linux-ppc64le "0.15.13" - esbuild-linux-riscv64 "0.15.13" - esbuild-linux-s390x "0.15.13" - esbuild-netbsd-64 "0.15.13" - esbuild-openbsd-64 "0.15.13" - esbuild-sunos-64 "0.15.13" - esbuild-windows-32 "0.15.13" - esbuild-windows-64 "0.15.13" - esbuild-windows-arm64 "0.15.13" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-next@^13.4.7: - version "13.4.7" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.4.7.tgz#59c48ecb37175ccc057f621a07af894cc931574f" - integrity sha512-+IRAyD0+J1MZaTi9RQMPUfr6Q+GCZ1wOkK6XM52Vokh7VI4R6YFGOFzdkEFHl4ZyIX4FKa5vcwUP2WscSFNjNQ== - dependencies: - "@next/eslint-plugin-next" "13.4.7" - "@rushstack/eslint-patch" "^1.1.3" - "@typescript-eslint/parser" "^5.42.0" - eslint-import-resolver-node "^0.3.6" - eslint-import-resolver-typescript "^3.5.2" - eslint-plugin-import "^2.26.0" - eslint-plugin-jsx-a11y "^6.5.1" - eslint-plugin-react "^7.31.7" - eslint-plugin-react-hooks "^4.5.0" - -eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" - integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== - dependencies: - debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" - -eslint-import-resolver-typescript@^3.5.2: - version "3.5.5" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz#0a9034ae7ed94b254a360fbea89187b60ea7456d" - integrity sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw== - dependencies: - debug "^4.3.4" - enhanced-resolve "^5.12.0" - eslint-module-utils "^2.7.4" - get-tsconfig "^4.5.0" - globby "^13.1.3" - is-core-module "^2.11.0" - is-glob "^4.0.3" - synckit "^0.8.5" - -eslint-module-utils@^2.7.4: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-import@^2.26.0: - version "2.27.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" - integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" - eslint-module-utils "^2.7.4" - has "^1.0.3" - is-core-module "^2.11.0" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.6" - resolve "^1.22.1" - semver "^6.3.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-jsx-a11y@^6.5.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" - integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== - dependencies: - "@babel/runtime" "^7.20.7" - aria-query "^5.1.3" - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - ast-types-flow "^0.0.7" - axe-core "^4.6.2" - axobject-query "^3.1.1" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.3" - language-tags "=1.0.5" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - semver "^6.3.0" - -eslint-plugin-react-hooks@^4.5.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@^7.31.7: - version "7.32.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" - integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.4" - semver "^6.3.0" - string.prototype.matchall "^4.0.8" - -eslint-scope@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" - integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" - integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== - -eslint@^8.43.0: - version "8.43.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.43.0.tgz#3e8c6066a57097adfd9d390b8fc93075f257a094" - integrity sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.3" - "@eslint/js" "8.43.0" - "@humanwhocodes/config-array" "^0.11.10" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.0" - eslint-visitor-keys "^3.4.1" - espree "^9.5.2" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.5.2: - version "9.5.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b" - integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eth-block-tracker@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-6.1.0.tgz#0481f97bbb88a100b9d45806fe7e37af741cbefc" - integrity sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - "@metamask/utils" "^3.0.1" - json-rpc-random-id "^1.0.1" - pify "^3.0.0" - -eth-json-rpc-filters@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-5.1.0.tgz#f0c2aeaec2a45e2dc6ca1b9843d8e85447821427" - integrity sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - async-mutex "^0.2.6" - eth-query "^2.1.2" - json-rpc-engine "^6.1.0" - pify "^5.0.0" - -eth-query@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" - integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== - dependencies: - json-rpc-random-id "^1.0.0" - xtend "^4.0.1" - -eth-rpc-errors@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz#11bc164e25237a679061ac05b7da7537b673d3b7" - integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ== - dependencies: - fast-safe-stringify "^2.0.6" - -eth-rpc-errors@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" - integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== - dependencies: - fast-safe-stringify "^2.0.6" - -ethereum-cryptography@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" - integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== - dependencies: - "@noble/hashes" "1.2.0" - "@noble/secp256k1" "1.7.1" - "@scure/bip32" "1.1.5" - "@scure/bip39" "1.1.1" - -ethers@^5.7.2: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -eventemitter3@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0, execa@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -execa@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" - integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^3.0.1" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - -execa@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" - integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^4.3.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -eyes@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== - -fast-copy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-copy/-/fast-copy-3.0.1.tgz#9e89ef498b8c04c1cd76b33b8e14271658a732aa" - integrity sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-redact@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.2.0.tgz#b1e2d39bc731376d28bde844454fa23e26919987" - integrity sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw== - -fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -fast-stable-stringify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" - integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" - integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== - dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== - dependencies: - locate-path "^7.1.0" - path-exists "^5.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -follow-redirects@^1.14.0: - version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" - -fraction.js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== - -framer-motion@^6.3.11: - version "6.5.1" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-6.5.1.tgz#802448a16a6eb764124bf36d8cbdfa6dd6b931a7" - integrity sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw== - dependencies: - "@motionone/dom" "10.12.0" - framesync "6.0.1" - hey-listen "^1.0.8" - popmotion "11.0.3" - style-value-types "5.0.0" - tslib "^2.1.0" - optionalDependencies: - "@emotion/is-prop-valid" "^0.8.2" - -framesync@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.0.1.tgz#5e32fc01f1c42b39c654c35b16440e07a25d6f20" - integrity sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA== - dependencies: - tslib "^2.1.0" - -fs-extra@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^1.2.13: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functions-have-names@^1.2.2, functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-proto "^1.0.1" - has-symbols "^1.0.3" - -get-nonce@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" - integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-tsconfig@^4.5.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.6.0.tgz#e977690993a42f3e320e932427502a40f7af6d05" - integrity sha512-lgbo68hHTQnFddybKbbs/RDRJnJT5YyGy2kQzVwbq+g67X73i+5MVTval34QxGkOe9X5Ujf1UYpCaphLyltjEg== - dependencies: - resolve-pkg-maps "^1.0.0" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@7.1.7: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^13.1.3: - version "13.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.0.tgz#7dd5678d765c4680c2e6d106230d86cb727cb1af" - integrity sha512-jWsQfayf13NvqKUIL3Ta+CIqMnvlaIDFveWE/dpOZ9+3AMEJozsxDvKA02zync9UuvOM8rOXzsD5GqKP4OnWPQ== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.2.11" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^4.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hast-util-from-parse5@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz#aecfef73e3ceafdfa4550716443e4eb7b02e22b0" - integrity sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw== - dependencies: - "@types/hast" "^2.0.0" - "@types/unist" "^2.0.0" - hastscript "^7.0.0" - property-information "^6.0.0" - vfile "^5.0.0" - vfile-location "^4.0.0" - web-namespaces "^2.0.0" - -hast-util-parse-selector@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz#25ab00ae9e75cbc62cf7a901f68a247eade659e2" - integrity sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA== - dependencies: - "@types/hast" "^2.0.0" - -hast-util-raw@^7.0.0: - version "7.2.3" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-7.2.3.tgz#dcb5b22a22073436dbdc4aa09660a644f4991d99" - integrity sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg== - dependencies: - "@types/hast" "^2.0.0" - "@types/parse5" "^6.0.0" - hast-util-from-parse5 "^7.0.0" - hast-util-to-parse5 "^7.0.0" - html-void-elements "^2.0.0" - parse5 "^6.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - vfile "^5.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-sanitize@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-4.1.0.tgz#d90f8521f5083547095c5c63a7e03150303e0286" - integrity sha512-Hd9tU0ltknMGRDv+d6Ro/4XKzBqQnP/EZrpiTbpFYfXv/uOhWeKc+2uajcbEvAEH98VZd7eII2PiXm13RihnLw== - dependencies: - "@types/hast" "^2.0.0" - -hast-util-to-html@^8.0.0: - version "8.0.4" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz#0269ef33fa3f6599b260a8dc94f733b8e39e41fc" - integrity sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA== - dependencies: - "@types/hast" "^2.0.0" - "@types/unist" "^2.0.0" - ccount "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-raw "^7.0.0" - hast-util-whitespace "^2.0.0" - html-void-elements "^2.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - stringify-entities "^4.0.0" - zwitch "^2.0.4" - -hast-util-to-parse5@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz#c49391bf8f151973e0c9adcd116b561e8daf29f3" - integrity sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw== - dependencies: - "@types/hast" "^2.0.0" - comma-separated-tokens "^2.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - web-namespaces "^2.0.0" - zwitch "^2.0.0" - -hast-util-whitespace@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" - integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== - -hastscript@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-7.2.0.tgz#0eafb7afb153d047077fa2a833dc9b7ec604d10b" - integrity sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw== - dependencies: - "@types/hast" "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-parse-selector "^3.0.0" - property-information "^6.0.0" - space-separated-tokens "^2.0.0" - -header-case@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063" - integrity sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== - dependencies: - capital-case "^1.0.4" - tslib "^2.0.3" - -help-me@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/help-me/-/help-me-4.2.0.tgz#50712bfd799ff1854ae1d312c36eafcea85b0563" - integrity sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA== - dependencies: - glob "^8.0.0" - readable-stream "^3.6.0" - -hey-listen@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" - integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^3.0.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -html-void-elements@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-2.0.1.tgz#29459b8b05c200b6c5ee98743c41b979d577549f" - integrity sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -human-signals@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" - integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== - -human-signals@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" - integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inline-style-parser@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" - integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== - -internal-slot@^1.0.3, internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - -invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.11.0, is-core-module@^2.9.0: - version "2.12.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" - integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-docker@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" - integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-inside-container@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" - integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== - dependencies: - is-docker "^3.0.0" - -is-interactive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" - integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" - integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -is-typedarray@1.0.0, is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-unicode-supported@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" - integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isomorphic-ws@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" - integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== - -isomorphic-ws@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== - -jayson@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9" - integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== - dependencies: - "@types/connect" "^3.4.33" - "@types/node" "^12.12.54" - "@types/ws" "^7.4.4" - JSONStream "^1.3.5" - commander "^2.20.3" - delay "^5.0.0" - es6-promisify "^5.0.0" - eyes "^0.1.8" - isomorphic-ws "^4.0.1" - json-stringify-safe "^5.0.1" - uuid "^8.3.2" - ws "^7.4.5" - -jiti@^1.18.2: - version "1.18.2" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.18.2.tgz#80c3ef3d486ebf2450d9335122b32d121f2a83cd" - integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== - -joycon@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" - integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== - -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-rpc-engine@6.1.0, json-rpc-engine@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" - integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - eth-rpc-errors "^4.0.2" - -json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" - integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== - dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" - -keccak@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" - integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -keyvaluestorage-interface@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" - integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== - -kleur@^4.0.3: - version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - -language-subtag-registry@~0.3.2: - version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@=1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== - dependencies: - language-subtag-registry "~0.3.2" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lilconfig@^2.0.5, lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lit-element@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.2.tgz#9913bf220b85065f0e5f1bb8878cc44f36b50cfa" - integrity sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ== - dependencies: - "@lit-labs/ssr-dom-shim" "^1.1.0" - "@lit/reactive-element" "^1.3.0" - lit-html "^2.7.0" - -lit-html@^2.7.0: - version "2.7.4" - resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.7.4.tgz#6d75001977c206683685b9d76594a516afda2954" - integrity sha512-/Jw+FBpeEN+z8X6PJva5n7+0MzCVAH2yypN99qHYYkq8bI+j7I39GH+68Z/MZD6rGKDK9RpzBw7CocfmHfq6+g== - dependencies: - "@types/trusted-types" "^2.0.2" - -lit@2.7.5: - version "2.7.5" - resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.5.tgz#60bc82990cfad169d42cd786999356dcf79b035f" - integrity sha512-i/cH7Ye6nBDUASMnfwcictBnsTN91+aBjXoTHF2xARghXScKxpD4F4WYI+VLXg9lqbMinDfvoI7VnZXjyHgdfQ== - dependencies: - "@lit/reactive-element" "^1.6.0" - lit-element "^3.3.0" - lit-html "^2.7.0" - -load-tsconfig@^0.2.0: - version "0.2.5" - resolved "https://registry.yarnpkg.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz#453b8cd8961bfb912dea77eb6c168fe8cca3d3a1" - integrity sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -locate-path@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" - integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== - dependencies: - p-locate "^6.0.0" - -lodash.isequal@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-5.1.0.tgz#a20e3b9a5f53fac6aeb8e2bb22c07cf2c8f16d93" - integrity sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA== - dependencies: - chalk "^5.0.0" - is-unicode-supported "^1.1.0" - -lokijs@1.x: - version "1.5.12" - resolved "https://registry.yarnpkg.com/lokijs/-/lokijs-1.5.12.tgz#cb55b37009bdf09ee7952a6adddd555b893653a0" - integrity sha512-Q5ALD6JiS6xAUWCwX3taQmgwxyveCtIIuL08+ml0nHwT3k0S/GIFJN+Hd38b1qYIMaE5X++iqsqWVksz7SYW+Q== - -longest-streak@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" - integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lucide-react@^0.252.0: - version "0.252.0" - resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.252.0.tgz#4fd8829c95456a9de6a3377b395dd412bf8345d7" - integrity sha512-98hUdm23F3YlC3UN4mzv1FAsWr81YYdxF31cYhm19c51FwOph4dn5B4NjKp45UXBiR1Xx+cKrdmSIZX0ldS8zw== - -mdast-util-definitions@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" - integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - unist-util-visit "^4.0.0" - -mdast-util-from-markdown@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" - integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - decode-named-character-reference "^1.0.0" - mdast-util-to-string "^3.1.0" - micromark "^3.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-decode-string "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - unist-util-stringify-position "^3.0.0" - uvu "^0.5.0" - -mdast-util-phrasing@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz#c7c21d0d435d7fb90956038f02e8702781f95463" - integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== - dependencies: - "@types/mdast" "^3.0.0" - unist-util-is "^5.0.0" - -mdast-util-to-hast@^12.0.0, mdast-util-to-hast@^12.1.0: - version "12.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49" - integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw== - dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-definitions "^5.0.0" - micromark-util-sanitize-uri "^1.1.0" - trim-lines "^3.0.0" - unist-util-generated "^2.0.0" - unist-util-position "^4.0.0" - unist-util-visit "^4.0.0" - -mdast-util-to-markdown@^1.0.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz#c13343cb3fc98621911d33b5cd42e7d0731171c6" - integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - longest-streak "^3.0.0" - mdast-util-phrasing "^3.0.0" - mdast-util-to-string "^3.0.0" - micromark-util-decode-string "^1.0.0" - unist-util-visit "^4.0.0" - zwitch "^2.0.0" - -mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" - integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== - dependencies: - "@types/mdast" "^3.0.0" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromark-core-commonmark@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" - integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-factory-destination "^1.0.0" - micromark-factory-label "^1.0.0" - micromark-factory-space "^1.0.0" - micromark-factory-title "^1.0.0" - micromark-factory-whitespace "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-classify-character "^1.0.0" - micromark-util-html-tag-name "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - -micromark-factory-destination@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" - integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-label@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" - integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-factory-space@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" - integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-title@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" - integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-factory-whitespace@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" - integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== - dependencies: - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-character@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" - integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== - dependencies: - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-chunked@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" - integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-classify-character@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" - integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-combine-extensions@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" - integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-types "^1.0.0" - -micromark-util-decode-numeric-character-reference@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" - integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-decode-string@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" - integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== - dependencies: - decode-named-character-reference "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-symbol "^1.0.0" - -micromark-util-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" - integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== - -micromark-util-html-tag-name@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" - integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== - -micromark-util-normalize-identifier@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" - integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== - dependencies: - micromark-util-symbol "^1.0.0" - -micromark-util-resolve-all@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" - integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== - dependencies: - micromark-util-types "^1.0.0" - -micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" - integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== - dependencies: - micromark-util-character "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-symbol "^1.0.0" - -micromark-util-subtokenize@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" - integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== - dependencies: - micromark-util-chunked "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.0" - uvu "^0.5.0" - -micromark-util-symbol@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" - integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== - -micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" - integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== - -micromark@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" - integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== - dependencies: - "@types/debug" "^4.0.0" - debug "^4.0.0" - decode-named-character-reference "^1.0.0" - micromark-core-commonmark "^1.0.1" - micromark-factory-space "^1.0.0" - micromark-util-character "^1.0.0" - micromark-util-chunked "^1.0.0" - micromark-util-combine-extensions "^1.0.0" - micromark-util-decode-numeric-character-reference "^1.0.0" - micromark-util-encode "^1.0.0" - micromark-util-normalize-identifier "^1.0.0" - micromark-util-resolve-all "^1.0.0" - micromark-util-sanitize-uri "^1.0.0" - micromark-util-subtokenize "^1.0.0" - micromark-util-symbol "^1.0.0" - micromark-util-types "^1.0.1" - uvu "^0.5.0" - -micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -motion@10.16.2: - version "10.16.2" - resolved "https://registry.yarnpkg.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21" - integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ== - dependencies: - "@motionone/animation" "^10.15.1" - "@motionone/dom" "^10.16.2" - "@motionone/svelte" "^10.16.2" - "@motionone/types" "^10.15.1" - "@motionone/utils" "^10.15.1" - "@motionone/vue" "^10.16.2" - -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.0.0, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multiformats@^9.4.2: - version "9.9.0" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" - integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nan@^2.12.1: - version "2.17.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== - -nanoid@^3.3.4, nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -next@^13.4.7: - version "13.4.7" - resolved "https://registry.yarnpkg.com/next/-/next-13.4.7.tgz#2ab20e6fada2e25cb81bd17f68956705ffd9824e" - integrity sha512-M8z3k9VmG51SRT6v5uDKdJXcAqLzP3C+vaKfLIAM0Mhx1um1G7MDnO63+m52qPdZfrTFzMZNzfsgvm3ghuVHIQ== - dependencies: - "@next/env" "13.4.7" - "@swc/helpers" "0.5.1" - busboy "1.6.0" - caniuse-lite "^1.0.30001406" - postcss "8.4.14" - styled-jsx "5.1.1" - watchpack "2.4.0" - zod "3.21.4" - optionalDependencies: - "@next/swc-darwin-arm64" "13.4.7" - "@next/swc-darwin-x64" "13.4.7" - "@next/swc-linux-arm64-gnu" "13.4.7" - "@next/swc-linux-arm64-musl" "13.4.7" - "@next/swc-linux-x64-gnu" "13.4.7" - "@next/swc-linux-x64-musl" "13.4.7" - "@next/swc-win32-arm64-msvc" "13.4.7" - "@next/swc-win32-ia32-msvc" "13.4.7" - "@next/swc-win32-x64-msvc" "13.4.7" - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - -node-fetch@^2.6.11, node-fetch@^2.6.7: - version "2.6.11" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" - integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" - integrity sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - -node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" - integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== - -node-releases@^2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" - integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== - dependencies: - path-key "^4.0.0" - -object-assign@^4.0.1, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.3, object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" - integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.fromentries@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" - integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.hasown@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" - integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== - dependencies: - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -on-exit-leak-free@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" - integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== - -on-exit-leak-free@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz#5c703c968f7e7f851885f6459bf8a8a57edc9cc4" - integrity sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -open@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" - integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== - dependencies: - default-browser "^4.0.0" - define-lazy-prop "^3.0.0" - is-inside-container "^1.0.0" - is-wsl "^2.2.0" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -ora@^6.1.2: - version "6.3.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-6.3.1.tgz#a4e9e5c2cf5ee73c259e8b410273e706a2ad3ed6" - integrity sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ== - dependencies: - chalk "^5.0.0" - cli-cursor "^4.0.0" - cli-spinners "^2.6.1" - is-interactive "^2.0.0" - is-unicode-supported "^1.1.0" - log-symbols "^5.1.0" - stdin-discarder "^0.1.0" - strip-ansi "^7.0.1" - wcwidth "^1.0.1" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-locate@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" - integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== - dependencies: - p-limit "^4.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f" - integrity sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathe@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a" - integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - -pino-abstract-transport@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz#cc0d6955fffcadb91b7b49ef220a6cc111d48bb3" - integrity sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA== - dependencies: - readable-stream "^4.0.0" - split2 "^4.0.0" - -pino-abstract-transport@v0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" - integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== - dependencies: - duplexify "^4.1.2" - split2 "^4.0.0" - -pino-pretty@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-10.0.0.tgz#fd2f307ee897289f63d09b0b804ac2ecc9a18516" - integrity sha512-zKFjYXBzLaLTEAN1ayKpHXtL5UeRQC7R3lvhKe7fWs7hIVEjKGG/qIXwQt9HmeUp71ogUd/YcW+LmMwRp4KT6Q== - dependencies: - colorette "^2.0.7" - dateformat "^4.6.3" - fast-copy "^3.0.0" - fast-safe-stringify "^2.1.1" - help-me "^4.0.1" - joycon "^3.1.1" - minimist "^1.2.6" - on-exit-leak-free "^2.1.0" - pino-abstract-transport "^1.0.0" - pump "^3.0.0" - readable-stream "^4.0.0" - secure-json-parse "^2.4.0" - sonic-boom "^3.0.0" - strip-json-comments "^3.1.1" - -pino-std-serializers@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" - integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== - -pino@7.11.0: - version "7.11.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" - integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== - dependencies: - atomic-sleep "^1.0.0" - fast-redact "^3.0.0" - on-exit-leak-free "^0.2.0" - pino-abstract-transport v0.5.0 - pino-std-serializers "^4.0.0" - process-warning "^1.0.0" - quick-format-unescaped "^4.0.3" - real-require "^0.1.0" - safe-stable-stringify "^2.1.0" - sonic-boom "^2.2.1" - thread-stream "^0.15.1" - -pirates@^4.0.1: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pngjs@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" - integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== - -popmotion@11.0.3: - version "11.0.3" - resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.3.tgz#565c5f6590bbcddab7a33a074bb2ba97e24b0cc9" - integrity sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA== - dependencies: - framesync "6.0.1" - hey-listen "^1.0.8" - style-value-types "5.0.0" - tslib "^2.1.0" - -postcss-import@^15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" - integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-js@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" - integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== - dependencies: - camelcase-css "^2.0.1" - -postcss-load-config@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" - integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== - dependencies: - lilconfig "^2.0.5" - yaml "^2.1.1" - -postcss-nested@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" - integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== - dependencies: - postcss-selector-parser "^6.0.11" - -postcss-selector-parser@^6.0.11: - version "6.0.13" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@8.4.14: - version "8.4.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" - integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.23, postcss@^8.4.24: - version "8.4.24" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" - integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -preact@^10.12.0, preact@^10.5.9: - version "10.15.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.15.1.tgz#a1de60c9fc0c79a522d969c65dcaddc5d994eede" - integrity sha512-qs2ansoQEwzNiV5eAcRT1p1EC/dmEzaATVDJNiB3g2sRDWdA7b7MurXdJjB2+/WQktGWZwxvDrnuRFbWuIr64g== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@^2.8.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -process-warning@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" - integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -prop-types@^15.0.0, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -property-information@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d" - integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== - -proxy-compare@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" - integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -qrcode@1.5.3, qrcode@^1.5.0, qrcode@^1.5.1: - version "1.5.3" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" - integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== - dependencies: - dijkstrajs "^1.0.1" - encode-utf8 "^1.0.3" - pngjs "^5.0.0" - yargs "^15.3.1" - -qs@^6.10.3: - version "6.11.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" - integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== - dependencies: - side-channel "^1.0.4" - -query-string@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" - integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== - dependencies: - decode-uri-component "^0.2.2" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -query-string@^6.13.5: - version "6.14.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" - integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-format-unescaped@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-hexgrid@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/react-hexgrid/-/react-hexgrid-2.0.1.tgz#295abbca4575338304e602f94161ac2aadeb7472" - integrity sha512-5yBYUAhagw3SNeqgyzcRblxtQQHZFabCaNHufX1q6eXwaGHQx2wEaX+gNgBjB4RpC6VIMOBCjGE7AUK43k2rkg== - dependencies: - classnames "^2.3.1" - optionalDependencies: - fsevents "^1.2.13" - -react-hook-form@^7.45.2: - version "7.45.2" - resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.45.2.tgz#c757f3d5e633ccb186443d57c10fc511df35721a" - integrity sha512-9s45OdTaKN+4NSTbXVqeDITd/nwIg++nxJGL8+OD5uf1DxvhsXQ641kaYHk5K28cpIOTYm71O/fYk7rFaygb3A== - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-markdown@^8.0.7: - version "8.0.7" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.7.tgz#c8dbd1b9ba5f1c5e7e5f2a44de465a3caafdf89b" - integrity sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ== - dependencies: - "@types/hast" "^2.0.0" - "@types/prop-types" "^15.0.0" - "@types/unist" "^2.0.0" - comma-separated-tokens "^2.0.0" - hast-util-whitespace "^2.0.0" - prop-types "^15.0.0" - property-information "^6.0.0" - react-is "^18.0.0" - remark-parse "^10.0.0" - remark-rehype "^10.0.0" - space-separated-tokens "^2.0.0" - style-to-object "^0.4.0" - unified "^10.0.0" - unist-util-visit "^4.0.0" - vfile "^5.0.0" - -react-remove-scroll-bar@^2.3.3: - version "2.3.4" - resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9" - integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== - dependencies: - react-style-singleton "^2.2.1" - tslib "^2.0.0" - -react-remove-scroll@2.5.5: - version "2.5.5" - resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz#1e31a1260df08887a8a0e46d09271b52b3a37e77" - integrity sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw== - dependencies: - react-remove-scroll-bar "^2.3.3" - react-style-singleton "^2.2.1" - tslib "^2.1.0" - use-callback-ref "^1.3.0" - use-sidecar "^1.1.2" - -react-style-singleton@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" - integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== - dependencies: - get-nonce "^1.0.0" - invariant "^2.2.4" - tslib "^2.0.0" - -react-transition-state@^1.1.4: - version "1.1.5" - resolved "https://registry.yarnpkg.com/react-transition-state/-/react-transition-state-1.1.5.tgz#22accee21d0011b1d0245be24b6262ae67f494c3" - integrity sha512-ITY2mZqc2dWG2eitJkYNdcSFW8aKeOlkL2A/vowRrLL8GH3J6Re/SpD/BLvQzrVOTqjsP0b5S9N10vgNNzwMUQ== - -react-use-measure@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/react-use-measure/-/react-use-measure-2.1.1.tgz#5824537f4ee01c9469c45d5f7a8446177c6cc4ba" - integrity sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig== - dependencies: - debounce "^1.2.1" - -react-zoom-pan-pinch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.1.0.tgz#d87a66fd22a97f5dd56b54076411a9dce1f448cd" - integrity sha512-a3LlP8QPgTikvteCNkZ3X6wIWC0lrg1geP5WkUJyx2MXXAhHQek3r17N1nT/esOiWGuPIECnsd9AGoK8jOeGcg== - -react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^4.0.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.0.tgz#55ce132d60a988c460d75c631e9ccf6a7229b468" - integrity sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -real-require@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" - integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== - -regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regexp.prototype.flags@^1.4.3: - version "1.5.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - functions-have-names "^1.2.3" - -remark-html@^15.0.2: - version "15.0.2" - resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-15.0.2.tgz#44ff77c876f037658b406662b5ce15e26ed34d80" - integrity sha512-/CIOI7wzHJzsh48AiuIyIe1clxVkUtreul73zcCXLub0FmnevQE0UMFDQm7NUx8/3rl/4zCshlMfqBdWScQthw== - dependencies: - "@types/mdast" "^3.0.0" - hast-util-sanitize "^4.0.0" - hast-util-to-html "^8.0.0" - mdast-util-to-hast "^12.0.0" - unified "^10.0.0" - -remark-parse@^10.0.0: - version "10.0.2" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" - integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-from-markdown "^1.0.0" - unified "^10.0.0" - -remark-rehype@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" - integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== - dependencies: - "@types/hast" "^2.0.0" - "@types/mdast" "^3.0.0" - mdast-util-to-hast "^12.1.0" - unified "^10.0.0" - -remark-stringify@^10.0.0: - version "10.0.3" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-10.0.3.tgz#83b43f2445c4ffbb35b606f967d121b2b6d69717" - integrity sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-markdown "^1.0.0" - unified "^10.0.0" - -remark@^14.0.3: - version "14.0.3" - resolved "https://registry.yarnpkg.com/remark/-/remark-14.0.3.tgz#e477886a7579df612908f387c7753dc93cdaa3fc" - integrity sha512-bfmJW1dmR2LvaMJuAnE88pZP9DktIFYXazkTfOIKZzi3Knk9lT0roItIA24ydOucI3bV/g/tXBA6hzqq3FV9Ew== - dependencies: - "@types/mdast" "^3.0.0" - remark-parse "^10.0.0" - remark-stringify "^10.0.0" - unified "^10.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-pkg-maps@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" - integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== - -resolve@^1.1.7, resolve@^1.22.1, resolve@^1.22.2: - version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.4: - version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" - integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rpc-websockets@^7.5.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.1.tgz#e0a05d525a97e7efc31a0617f093a13a2e10c401" - integrity sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w== - dependencies: - "@babel/runtime" "^7.17.2" - eventemitter3 "^4.0.7" - uuid "^8.3.2" - ws "^8.5.0" - optionalDependencies: - bufferutil "^4.0.1" - utf-8-validate "^5.0.2" - -run-applescript@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" - integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== - dependencies: - execa "^5.0.0" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^6.6.3: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -sade@^1.7.3: - version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-json-utils@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" - integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -safe-stable-stringify@^2.1.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== - -"safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -scrypt-js@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -secure-json-parse@^2.4.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" - integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== - -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.7, semver@^7.3.8: - version "7.5.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" - integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== - dependencies: - lru-cache "^6.0.0" - -sentence-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f" - integrity sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case-first "^2.0.2" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -sha.js@^2.4.11: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -sonic-boom@^2.2.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" - integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== - dependencies: - atomic-sleep "^1.0.0" - -sonic-boom@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.3.0.tgz#cffab6dafee3b2bcb88d08d589394198bee1838c" - integrity sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g== - dependencies: - atomic-sleep "^1.0.0" - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -space-separated-tokens@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" - integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -split2@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - -stdin-discarder@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz#22b3e400393a8e28ebf53f9958f3880622efde21" - integrity sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ== - dependencies: - bl "^5.0.0" - -stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" - integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - -string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -stringify-entities@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== - dependencies: - character-entities-html4 "^2.0.0" - character-entities-legacy "^3.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -style-to-object@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.2.tgz#a8247057111dea8bd3b8a1a66d2d0c9cf9218a54" - integrity sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA== - dependencies: - inline-style-parser "0.1.1" - -style-value-types@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/style-value-types/-/style-value-types-5.0.0.tgz#76c35f0e579843d523187989da866729411fc8ad" - integrity sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA== - dependencies: - hey-listen "^1.0.8" - tslib "^2.1.0" - -styled-components@^5.3.5: - version "5.3.11" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.11.tgz#9fda7bf1108e39bf3f3e612fcc18170dedcd57a8" - integrity sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/traverse" "^7.4.5" - "@emotion/is-prop-valid" "^1.1.0" - "@emotion/stylis" "^0.8.4" - "@emotion/unitless" "^0.7.4" - babel-plugin-styled-components ">= 1.12.0" - css-to-react-native "^3.0.0" - hoist-non-react-statics "^3.0.0" - shallowequal "^1.1.0" - supports-color "^5.5.0" - -styled-jsx@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" - integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== - dependencies: - client-only "0.0.1" - -sucrase@^3.32.0: - version "3.32.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.32.0.tgz#c4a95e0f1e18b6847127258a75cf360bc568d4a7" - integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "7.1.6" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - -superstruct@^0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" - integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== - -superstruct@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.3.tgz#de626a5b49c6641ff4d37da3c7598e7a87697046" - integrity sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg== - -supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -synckit@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.5.tgz#b7f4358f9bb559437f9f167eb6bc46b3c9818fa3" - integrity sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q== - dependencies: - "@pkgr/utils" "^2.3.1" - tslib "^2.5.0" - -tailwind-merge@^1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-1.13.2.tgz#1d06c9e95ffda2320efc50ed33c65be0cda23091" - integrity sha512-R2/nULkdg1VR/EL4RXg4dEohdoxNUJGLMnWIQnPKL+O9Twu7Cn3Rxi4dlXkDzZrEGtR+G+psSXFouWlpTyLhCQ== - -tailwindcss-animate@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/tailwindcss-animate/-/tailwindcss-animate-1.0.6.tgz#c7195037481552cc47962ea50113830360fd0c28" - integrity sha512-4WigSGMvbl3gCCact62ZvOngA+PRqhAn7si3TQ3/ZuPuQZcIEtVap+ENSXbzWhpojKB8CpvnIsrwBu8/RnHtuw== - -tailwindcss@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" - integrity sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.5.3" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.2.12" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.18.2" - lilconfig "^2.1.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" - resolve "^1.22.2" - sucrase "^3.32.0" - -tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -text-encoding-utf-8@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" - integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -thread-stream@^0.15.1: - version "0.15.2" - resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" - integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== - dependencies: - real-require "^0.1.0" - -"through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -tiled-hexagons@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/tiled-hexagons/-/tiled-hexagons-1.0.2.tgz#dd85ca9b7236da6fef027276d86ac9cb45f2a23a" - integrity sha512-n5cyvPKEO8pIriJsbJ4pFxQSo+1GHAkByqg4xkXreWXAq3r28G+JBrP0VHqOYXup4juJzF1tCRLSiEbwWyBwVw== - dependencies: - assign-deep "^1.0.0" - -titleize@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" - integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -trim-lines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" - integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== - -trough@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" - integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -tsconfig-paths@^3.14.1: - version "3.14.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" - integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typedarray-to-buffer@3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^5.0.4: - version "5.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" - integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== - -uint8arrays@^3.0.0, uint8arrays@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" - integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== - dependencies: - multiformats "^9.4.2" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -unified@^10.0.0: - version "10.1.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" - integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== - dependencies: - "@types/unist" "^2.0.0" - bail "^2.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^4.0.0" - trough "^2.0.0" - vfile "^5.0.0" - -unist-util-generated@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" - integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== - -unist-util-is@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" - integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-position@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" - integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-stringify-position@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" - integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== - dependencies: - "@types/unist" "^2.0.0" - -unist-util-visit-parents@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" - integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - -unist-util-visit@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" - integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^5.0.0" - unist-util-visit-parents "^5.1.1" - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -update-browserslist-db@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -upper-case-first@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" - integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== - dependencies: - tslib "^2.0.3" - -upper-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-2.0.2.tgz#d89810823faab1df1549b7d97a76f8662bae6f7a" - integrity sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== - dependencies: - tslib "^2.0.3" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -use-callback-ref@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" - integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w== - dependencies: - tslib "^2.0.0" - -use-sidecar@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" - integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== - dependencies: - detect-node-es "^1.1.0" - tslib "^2.0.0" - -use-sync-external-store@1.2.0, use-sync-external-store@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== - -utf-8-validate@^5.0.2: - version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== - dependencies: - node-gyp-build "^4.3.0" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.4: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -uvu@^0.5.0: - version "0.5.6" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" - integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== - dependencies: - dequal "^2.0.0" - diff "^5.0.0" - kleur "^4.0.3" - sade "^1.7.3" - -valtio@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.10.5.tgz#7852125e3b774b522827d96bd9c76d285c518678" - integrity sha512-jTp0k63VXf4r5hPoaC6a6LCG4POkVSh629WLi1+d5PlajLsbynTMd7qAgEiOSPxzoX5iNvbN7iZ/k/g29wrNiQ== - dependencies: - proxy-compare "2.5.1" - use-sync-external-store "1.2.0" - -vfile-location@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0" - integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== - dependencies: - "@types/unist" "^2.0.0" - vfile "^5.0.0" - -vfile-message@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" - integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^3.0.0" - -vfile@^5.0.0: - version "5.3.7" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" - integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^3.0.0" - vfile-message "^3.0.0" - -viem@^1.0.0, viem@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/viem/-/viem-1.1.6.tgz#26b07adbda7555b1cfa4dc782718e9efc77b1f94" - integrity sha512-7nK3HMucLr1Yz0QnDXiD6viigKS6QeYD/YhRHpi3Bby/g0hCyZqK8+YJNtp3/Ri64tpl4kaTIeCScJWV2jqXHQ== - dependencies: - "@adraffy/ens-normalize" "1.9.0" - "@noble/curves" "1.0.0" - "@noble/hashes" "1.3.0" - "@scure/bip32" "1.3.0" - "@scure/bip39" "1.2.0" - "@wagmi/chains" "1.2.0" - abitype "0.8.7" - isomorphic-ws "5.0.0" - ws "8.12.0" - -wagmi@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-1.2.1.tgz#6100ac5027f1cb71645673bec2e26b1d225ce2d2" - integrity sha512-lPV4+ktMYEjjPnQAY6YLy5wjJJVVboX4YzEqhL/xQrl0rwQBkOU8q17BVnOOn26LVGfAeeyBp2elSaebTLQQzA== - dependencies: - "@tanstack/query-sync-storage-persister" "^4.27.1" - "@tanstack/react-query" "^4.28.0" - "@tanstack/react-query-persist-client" "^4.28.0" - "@wagmi/core" "1.2.1" - abitype "0.8.7" - use-sync-external-store "^1.2.0" - -watchpack@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -web-namespaces@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" - integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== - -web-streams-polyfill@^3.0.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@8.12.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" - integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== - -ws@^7.4.0, ws@^7.4.5, ws@^7.5.1: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.5.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - -xtend@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" - integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - -zod@3.21.4, zod@^3.21.4: - version "3.21.4" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db" - integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw== - -zustand@^4.3.1: - version "4.3.8" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.3.8.tgz#37113df8e9e1421b0be1b2dca02b49b76210e7c4" - integrity sha512-4h28KCkHg5ii/wcFFJ5Fp+k1J3gJoasaIbppdgZFO4BPJnsNxL0mQXBSFgOgAdCdBj35aDTPvdAJReTMntFPGg== - dependencies: - use-sync-external-store "1.2.0" - -zwitch@^2.0.0, zwitch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" - integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==