@latticexyz/world-modules 2.0.4 → 2.0.5-main-e2e8ec8b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mud.config.d.ts +7 -7
- package/dist/mud.config.js +1 -1
- package/dist/mud.config.js.map +1 -1
- package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
- package/out/Allowances.sol/Allowances.json +1 -1
- package/out/ArrayLib.sol/ArrayLib.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
- package/out/Balances.sol/Balances.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
- package/out/CallWithSignatureModule.t.sol/Unstable_CallWithSignatureModuleTest.json +1 -0
- package/out/CallWithSignatureNonces.sol/CallWithSignatureNonces.json +1 -0
- package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
- package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
- package/out/ECDSA.sol/ECDSA.json +1 -1
- package/out/ERC20.t.sol/ERC20Test.json +1 -1
- package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
- package/out/ERC20Module.sol/ERC20Module.json +1 -1
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
- package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
- package/out/ERC20System.sol/ERC20System.json +1 -1
- package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/ERC721Test.json +1 -1
- package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
- package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
- package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
- package/out/ERC721Module.sol/ERC721Module.json +1 -1
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
- package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
- package/out/ERC721System.sol/ERC721System.json +1 -1
- package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
- package/out/GasReporter.sol/GasReporter.json +1 -1
- package/out/IERC20.sol/IERC20.json +1 -1
- package/out/IERC20Errors.sol/IERC20Errors.json +1 -1
- package/out/IERC20Events.sol/IERC20Events.json +1 -1
- package/out/IERC20Mintable.sol/IERC20Mintable.json +1 -1
- package/out/IERC721.sol/IERC721.json +1 -1
- package/out/IERC721Errors.sol/IERC721Errors.json +1 -1
- package/out/IERC721Events.sol/IERC721Events.json +1 -1
- package/out/IERC721Metadata.sol/IERC721Metadata.json +1 -1
- package/out/IERC721Mintable.sol/IERC721Mintable.json +1 -1
- package/out/IERC721Receiver.sol/IERC721Receiver.json +1 -1
- package/out/IERC721System.sol/IERC721System.abi.json +310 -0
- package/out/IERC721System.sol/IERC721System.abi.json.d.ts +310 -0
- package/out/IERC721System.sol/IERC721System.json +1 -0
- package/out/IPuppetFactorySystem.sol/IPuppetFactorySystem.json +1 -1
- package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json +15 -0
- package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.abi.json.d.ts +15 -0
- package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +1 -0
- package/out/{IUnstable_DelegationWithSignatureSystem.sol/IUnstable_DelegationWithSignatureSystem.abi.json → IUnstable_CallWithSignatureSystem.sol/IUnstable_CallWithSignatureSystem.abi.json} +12 -11
- package/out/{IUnstable_DelegationWithSignatureSystem.sol/IUnstable_DelegationWithSignatureSystem.abi.json.d.ts → IUnstable_CallWithSignatureSystem.sol/IUnstable_CallWithSignatureSystem.abi.json.d.ts} +12 -11
- package/out/IUnstable_CallWithSignatureSystem.sol/IUnstable_CallWithSignatureSystem.json +1 -0
- package/out/InitModule.sol/InitModule.json +1 -1
- package/out/KeysInTable.sol/KeysInTable.json +1 -1
- package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
- package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
- package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
- package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
- package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
- package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
- package/out/Owners.sol/Owners.json +1 -1
- package/out/Puppet.sol/Puppet.json +1 -1
- package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
- package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
- package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
- package/out/PuppetModule.sol/PuppetModule.json +1 -1
- package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
- package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
- package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
- package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
- package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
- package/out/StdError.sol/stdError.json +1 -1
- package/out/StoreRead.sol/StoreRead.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
- package/out/System.sol/System.json +1 -1
- package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
- package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
- package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
- package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
- package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
- package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
- package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
- package/out/TokenApproval.sol/TokenApproval.json +1 -1
- package/out/TokenURI.sol/TokenURI.json +1 -1
- package/out/TotalSupply.sol/TotalSupply.json +1 -1
- package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
- package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
- package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
- package/out/Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.json +1 -0
- package/out/{Unstable_DelegationWithSignatureSystem.sol/Unstable_DelegationWithSignatureSystem.abi.json → Unstable_CallWithSignatureSystem.sol/Unstable_CallWithSignatureSystem.abi.json} +12 -27
- package/out/{Unstable_DelegationWithSignatureSystem.sol/Unstable_DelegationWithSignatureSystem.abi.json.d.ts → Unstable_CallWithSignatureSystem.sol/Unstable_CallWithSignatureSystem.abi.json.d.ts} +12 -27
- package/out/Unstable_CallWithSignatureSystem.sol/Unstable_CallWithSignatureSystem.json +1 -0
- package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
- package/out/World.sol/World.json +1 -1
- package/out/World.t.sol/EchoSystemHook.json +1 -1
- package/out/World.t.sol/PayableFallbackSystem.json +1 -1
- package/out/World.t.sol/RevertSystemHook.json +1 -1
- package/out/World.t.sol/WorldTest.json +1 -1
- package/out/World.t.sol/WorldTestSystem.json +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
- package/out/query.t.sol/QueryTest.json +1 -1
- package/out/test.sol/DSTest.json +1 -1
- package/package.json +8 -8
- package/src/index.sol +1 -1
- package/src/interfaces/IERC721System.sol +43 -0
- package/src/interfaces/IUniqueEntitySystem.sol +13 -0
- package/src/interfaces/{IUnstable_DelegationWithSignatureSystem.sol → IUnstable_CallWithSignatureSystem.sol} +7 -8
- package/src/modules/delegation/{Unstable_DelegationWithSignatureModule.sol → Unstable_CallWithSignatureModule.sol} +8 -9
- package/src/modules/delegation/Unstable_CallWithSignatureSystem.sol +46 -0
- package/src/modules/delegation/getSignedMessageHash.sol +12 -18
- package/src/modules/delegation/tables/{UserDelegationNonces.sol → CallWithSignatureNonces.sol} +26 -26
- package/out/DelegationWithSignatureModule.t.sol/Unstable_DelegationWithSignatureModuleTest.json +0 -1
- package/out/IUnstable_DelegationWithSignatureSystem.sol/IUnstable_DelegationWithSignatureSystem.json +0 -1
- package/out/Unstable_DelegationWithSignatureModule.sol/Unstable_DelegationWithSignatureModule.json +0 -1
- package/out/Unstable_DelegationWithSignatureSystem.sol/Unstable_DelegationWithSignatureSystem.json +0 -1
- package/out/UserDelegationNonces.sol/UserDelegationNonces.json +0 -1
- package/src/modules/delegation/Unstable_DelegationWithSignatureSystem.sol +0 -47
- /package/out/{DelegationWithSignatureModule.t.sol/Unstable_DelegationWithSignatureModuleTest.abi.json → CallWithSignatureModule.t.sol/Unstable_CallWithSignatureModuleTest.abi.json} +0 -0
- /package/out/{DelegationWithSignatureModule.t.sol/Unstable_DelegationWithSignatureModuleTest.abi.json.d.ts → CallWithSignatureModule.t.sol/Unstable_CallWithSignatureModuleTest.abi.json.d.ts} +0 -0
- /package/out/{UserDelegationNonces.sol/UserDelegationNonces.abi.json → CallWithSignatureNonces.sol/CallWithSignatureNonces.abi.json} +0 -0
- /package/out/{Unstable_DelegationWithSignatureModule.sol/Unstable_DelegationWithSignatureModule.abi.json → Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.abi.json} +0 -0
- /package/out/{Unstable_DelegationWithSignatureModule.sol/Unstable_DelegationWithSignatureModule.abi.json.d.ts → Unstable_CallWithSignatureModule.sol/Unstable_CallWithSignatureModule.abi.json.d.ts} +0 -0
package/out/test.sol/DSTest.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102728061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156101bf5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610129917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101f4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261016191610230565b6000604051808303816000865af19150503d806000811461019e576040519150601f19603f3d011682016040523d82523d6000602084013e6101a3565b606091505b50915050808060200190518101906101bb9190610243565b9150505b919050565b6000815160005b818110156101e557602081850181015186830152016101cb565b50600093019283525090919050565b7fffffffff0000000000000000000000000000000000000000000000000000000083168152600061022860048301846101c4565b949350505050565b600061023c82846101c4565b9392505050565b60006020828403121561025557600080fd5b8151801515811461023c57600080fdfea164736f6c6343000818000a","sourceMap":"715:19781:114:-:0;;;1572:26;;;-1:-1:-1;;1572:26:114;1594:4;1572:26;;;715:19781;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156101bf5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610129917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101f4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261016191610230565b6000604051808303816000865af19150503d806000811461019e576040519150601f19603f3d011682016040523d82523d6000602084013e6101a3565b606091505b50915050808060200190518101906101bb9190610243565b9150505b919050565b6000815160005b818110156101e557602081850181015186830152016101cb565b50600093019283525090919050565b7fffffffff0000000000000000000000000000000000000000000000000000000083168152600061022860048301846101c4565b949350505050565b600061023c82846101c4565b9392505050565b60006020828403121561025557600080fd5b8151801515811461023c57600080fdfea164736f6c6343000818000a","sourceMap":"715:19781:114:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;179:14:223;;172:22;154:41;;142:2;127:18;1819:584:114;;;;;;;1572:26;;;;;;;;;1819:584;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:114;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;380:74:223;;;2221:17:114;470:18:223;;;463:34;2196:43:114;;;;;;;;;353:18:223;;;2196:43:114;;;-1:-1:-1;;1671:64:114;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:114:o;508:322:223:-;549:3;587:5;581:12;611:1;621:128;635:6;632:1;629:13;621:128;;;732:4;717:13;;;713:24;;707:31;694:11;;;687:52;650:12;621:128;;;-1:-1:-1;804:1:223;768:16;;793:13;;;-1:-1:-1;768:16:223;;508:322;-1:-1:-1;508:322:223:o;835:324::-;1032:66;1024:6;1020:79;1015:3;1008:92;990:3;1116:37;1150:1;1145:3;1141:11;1133:6;1116:37;:::i;:::-;1109:44;835:324;-1:-1:-1;;;;835:324:223:o;1164:189::-;1293:3;1318:29;1343:3;1335:6;1318:29;:::i;:::-;1311:36;1164:189;-1:-1:-1;;;1164:189:223:o;1358:277::-;1425:6;1478:2;1466:9;1457:7;1453:23;1449:32;1446:52;;;1494:1;1491;1484:12;1446:52;1526:9;1520:16;1579:5;1572:13;1565:21;1558:5;1555:32;1545:60;;1601:1;1598;1591:12","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","failed()":"ba414fa6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/ds-test/src/test.sol\":\"DSTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/ds-test/src/test.sol":"DSTest"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"}},"version":1},"id":114}
|
1
|
+
{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102728061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156101bf5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610129917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101f4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261016191610230565b6000604051808303816000865af19150503d806000811461019e576040519150601f19603f3d011682016040523d82523d6000602084013e6101a3565b606091505b50915050808060200190518101906101bb9190610243565b9150505b919050565b6000815160005b818110156101e557602081850181015186830152016101cb565b50600093019283525090919050565b7fffffffff0000000000000000000000000000000000000000000000000000000083168152600061022860048301846101c4565b949350505050565b600061023c82846101c4565b9392505050565b60006020828403121561025557600080fd5b8151801515811461023c57600080fdfea164736f6c6343000818000a","sourceMap":"715:19781:114:-:0;;;1572:26;;;-1:-1:-1;;1572:26:114;1594:4;1572:26;;;715:19781;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156101bf5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610129917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101f4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261016191610230565b6000604051808303816000865af19150503d806000811461019e576040519150601f19603f3d011682016040523d82523d6000602084013e6101a3565b606091505b50915050808060200190518101906101bb9190610243565b9150505b919050565b6000815160005b818110156101e557602081850181015186830152016101cb565b50600093019283525090919050565b7fffffffff0000000000000000000000000000000000000000000000000000000083168152600061022860048301846101c4565b949350505050565b600061023c82846101c4565b9392505050565b60006020828403121561025557600080fd5b8151801515811461023c57600080fdfea164736f6c6343000818000a","sourceMap":"715:19781:114:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;179:14:225;;172:22;154:41;;142:2;127:18;1819:584:114;;;;;;;1572:26;;;;;;;;;1819:584;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:114;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;380:74:225;;;2221:17:114;470:18:225;;;463:34;2196:43:114;;;;;;;;;353:18:225;;;2196:43:114;;;-1:-1:-1;;1671:64:114;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:114:o;508:322:225:-;549:3;587:5;581:12;611:1;621:128;635:6;632:1;629:13;621:128;;;732:4;717:13;;;713:24;;707:31;694:11;;;687:52;650:12;621:128;;;-1:-1:-1;804:1:225;768:16;;793:13;;;-1:-1:-1;768:16:225;;508:322;-1:-1:-1;508:322:225:o;835:324::-;1032:66;1024:6;1020:79;1015:3;1008:92;990:3;1116:37;1150:1;1145:3;1141:11;1133:6;1116:37;:::i;:::-;1109:44;835:324;-1:-1:-1;;;;835:324:225:o;1164:189::-;1293:3;1318:29;1343:3;1335:6;1318:29;:::i;:::-;1311:36;1164:189;-1:-1:-1;;;1164:189:225:o;1358:277::-;1425:6;1478:2;1466:9;1457:7;1453:23;1449:32;1446:52;;;1494:1;1491;1484:12;1446:52;1526:9;1520:16;1579:5;1572:13;1565:21;1558:5;1555:32;1545:60;;1601:1;1598;1591:12","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","failed()":"ba414fa6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/ds-test/src/test.sol\":\"DSTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"node_modules/ds-test/src/test.sol":"DSTest"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"}},"version":1},"id":114}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@latticexyz/world-modules",
|
3
|
-
"version": "2.0.
|
3
|
+
"version": "2.0.5-main-e2e8ec8b",
|
4
4
|
"description": "World modules",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -15,11 +15,11 @@
|
|
15
15
|
},
|
16
16
|
"dependencies": {
|
17
17
|
"zod": "^3.21.4",
|
18
|
-
"@latticexyz/common": "2.0.
|
19
|
-
"@latticexyz/
|
20
|
-
"@latticexyz/
|
21
|
-
"@latticexyz/
|
22
|
-
"@latticexyz/world": "2.0.
|
18
|
+
"@latticexyz/common": "2.0.5-main-e2e8ec8b",
|
19
|
+
"@latticexyz/schema-type": "2.0.5-main-e2e8ec8b",
|
20
|
+
"@latticexyz/store": "2.0.5-main-e2e8ec8b",
|
21
|
+
"@latticexyz/config": "2.0.5-main-e2e8ec8b",
|
22
|
+
"@latticexyz/world": "2.0.5-main-e2e8ec8b"
|
23
23
|
},
|
24
24
|
"devDependencies": {
|
25
25
|
"@types/ejs": "^3.1.1",
|
@@ -34,8 +34,8 @@
|
|
34
34
|
"tsup": "^6.7.0",
|
35
35
|
"tsx": "^3.12.6",
|
36
36
|
"vitest": "0.34.6",
|
37
|
-
"@latticexyz/abi-ts": "2.0.
|
38
|
-
"@latticexyz/gas-report": "2.0.
|
37
|
+
"@latticexyz/abi-ts": "2.0.5-main-e2e8ec8b",
|
38
|
+
"@latticexyz/gas-report": "2.0.5-main-e2e8ec8b"
|
39
39
|
},
|
40
40
|
"publishConfig": {
|
41
41
|
"access": "public"
|
package/src/index.sol
CHANGED
@@ -22,4 +22,4 @@ import { Owners } from "./modules/erc721-puppet/tables/Owners.sol";
|
|
22
22
|
import { TokenApproval } from "./modules/erc721-puppet/tables/TokenApproval.sol";
|
23
23
|
import { OperatorApproval } from "./modules/erc721-puppet/tables/OperatorApproval.sol";
|
24
24
|
import { ERC721Registry } from "./modules/erc721-puppet/tables/ERC721Registry.sol";
|
25
|
-
import {
|
25
|
+
import { CallWithSignatureNonces } from "./modules/delegation/tables/CallWithSignatureNonces.sol";
|
@@ -0,0 +1,43 @@
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
2
|
+
pragma solidity >=0.8.24;
|
3
|
+
|
4
|
+
/* Autogenerated file. Do not edit manually. */
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @title IERC721System
|
8
|
+
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
9
|
+
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
|
10
|
+
*/
|
11
|
+
interface IERC721System {
|
12
|
+
function balanceOf(address owner) external view returns (uint256);
|
13
|
+
|
14
|
+
function ownerOf(uint256 tokenId) external view returns (address);
|
15
|
+
|
16
|
+
function name() external view returns (string memory);
|
17
|
+
|
18
|
+
function symbol() external view returns (string memory);
|
19
|
+
|
20
|
+
function tokenURI(uint256 tokenId) external view returns (string memory);
|
21
|
+
|
22
|
+
function approve(address to, uint256 tokenId) external;
|
23
|
+
|
24
|
+
function getApproved(uint256 tokenId) external view returns (address);
|
25
|
+
|
26
|
+
function setApprovalForAll(address operator, bool approved) external;
|
27
|
+
|
28
|
+
function isApprovedForAll(address owner, address operator) external view returns (bool);
|
29
|
+
|
30
|
+
function transferFrom(address from, address to, uint256 tokenId) external;
|
31
|
+
|
32
|
+
function safeTransferFrom(address from, address to, uint256 tokenId) external;
|
33
|
+
|
34
|
+
function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) external;
|
35
|
+
|
36
|
+
function mint(address to, uint256 tokenId) external;
|
37
|
+
|
38
|
+
function safeMint(address to, uint256 tokenId) external;
|
39
|
+
|
40
|
+
function safeMint(address to, uint256 tokenId, bytes memory data) external;
|
41
|
+
|
42
|
+
function burn(uint256 tokenId) external;
|
43
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
2
|
+
pragma solidity >=0.8.24;
|
3
|
+
|
4
|
+
/* Autogenerated file. Do not edit manually. */
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @title IUniqueEntitySystem
|
8
|
+
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
9
|
+
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
|
10
|
+
*/
|
11
|
+
interface IUniqueEntitySystem {
|
12
|
+
function getUniqueEntity() external returns (bytes32);
|
13
|
+
}
|
@@ -6,18 +6,17 @@ pragma solidity >=0.8.24;
|
|
6
6
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
7
7
|
|
8
8
|
/**
|
9
|
-
* @title
|
9
|
+
* @title IUnstable_CallWithSignatureSystem
|
10
10
|
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
11
11
|
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
|
12
12
|
*/
|
13
|
-
interface
|
13
|
+
interface IUnstable_CallWithSignatureSystem {
|
14
14
|
error InvalidSignature(address signer);
|
15
15
|
|
16
|
-
function
|
17
|
-
address
|
18
|
-
ResourceId
|
19
|
-
bytes memory
|
20
|
-
address delegator,
|
16
|
+
function callWithSignature(
|
17
|
+
address signer,
|
18
|
+
ResourceId systemId,
|
19
|
+
bytes memory callData,
|
21
20
|
bytes memory signature
|
22
|
-
) external;
|
21
|
+
) external payable returns (bytes memory);
|
23
22
|
}
|
@@ -6,14 +6,13 @@ import { IBaseWorld } from "@latticexyz/world/src/codegen/interfaces/IBaseWorld.
|
|
6
6
|
import { Module } from "@latticexyz/world/src/Module.sol";
|
7
7
|
import { revertWithBytes } from "@latticexyz/world/src/revertWithBytes.sol";
|
8
8
|
|
9
|
-
import {
|
10
|
-
import {
|
9
|
+
import { CallWithSignatureNonces } from "./tables/CallWithSignatureNonces.sol";
|
10
|
+
import { Unstable_CallWithSignatureSystem } from "./Unstable_CallWithSignatureSystem.sol";
|
11
11
|
|
12
12
|
import { DELEGATION_SYSTEM_ID } from "./constants.sol";
|
13
13
|
|
14
|
-
contract
|
15
|
-
|
16
|
-
new Unstable_DelegationWithSignatureSystem();
|
14
|
+
contract Unstable_CallWithSignatureModule is Module {
|
15
|
+
Unstable_CallWithSignatureSystem private immutable callWithSignatureSystem = new Unstable_CallWithSignatureSystem();
|
17
16
|
|
18
17
|
function installRoot(bytes memory encodedArgs) public {
|
19
18
|
requireNotInstalled(__self, encodedArgs);
|
@@ -21,11 +20,11 @@ contract Unstable_DelegationWithSignatureModule is Module {
|
|
21
20
|
IBaseWorld world = IBaseWorld(_world());
|
22
21
|
|
23
22
|
// Register table
|
24
|
-
|
23
|
+
CallWithSignatureNonces._register();
|
25
24
|
|
26
25
|
// Register system
|
27
26
|
(bool success, bytes memory data) = address(world).delegatecall(
|
28
|
-
abi.encodeCall(world.registerSystem, (DELEGATION_SYSTEM_ID,
|
27
|
+
abi.encodeCall(world.registerSystem, (DELEGATION_SYSTEM_ID, callWithSignatureSystem, true))
|
29
28
|
);
|
30
29
|
if (!success) revertWithBytes(data);
|
31
30
|
|
@@ -35,8 +34,8 @@ contract Unstable_DelegationWithSignatureModule is Module {
|
|
35
34
|
world.registerRootFunctionSelector,
|
36
35
|
(
|
37
36
|
DELEGATION_SYSTEM_ID,
|
38
|
-
"
|
39
|
-
"
|
37
|
+
"callWithSignature(address,bytes32,bytes,bytes)",
|
38
|
+
"callWithSignature(address,bytes32,bytes,bytes)"
|
40
39
|
)
|
41
40
|
)
|
42
41
|
);
|
@@ -0,0 +1,46 @@
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
2
|
+
pragma solidity >=0.8.24;
|
3
|
+
|
4
|
+
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
5
|
+
import { System } from "@latticexyz/world/src/System.sol";
|
6
|
+
import { SystemCall } from "@latticexyz/world/src/SystemCall.sol";
|
7
|
+
import { createDelegation } from "@latticexyz/world/src/modules/init/implementations/createDelegation.sol";
|
8
|
+
|
9
|
+
import { CallWithSignatureNonces } from "./tables/CallWithSignatureNonces.sol";
|
10
|
+
import { getSignedMessageHash } from "./getSignedMessageHash.sol";
|
11
|
+
import { ECDSA } from "./ECDSA.sol";
|
12
|
+
|
13
|
+
contract Unstable_CallWithSignatureSystem is System {
|
14
|
+
/**
|
15
|
+
* @dev Mismatched signature.
|
16
|
+
*/
|
17
|
+
error InvalidSignature(address signer);
|
18
|
+
|
19
|
+
/**
|
20
|
+
* @notice Calls a system with a given system ID using the given signature.
|
21
|
+
* @param signer The address on whose behalf the system is called.
|
22
|
+
* @param systemId The ID of the system to be called.
|
23
|
+
* @param callData The ABI data for the system call.
|
24
|
+
* @param signature The EIP712 signature.
|
25
|
+
* @return Return data from the system call.
|
26
|
+
*/
|
27
|
+
function callWithSignature(
|
28
|
+
address signer,
|
29
|
+
ResourceId systemId,
|
30
|
+
bytes memory callData,
|
31
|
+
bytes memory signature
|
32
|
+
) external payable returns (bytes memory) {
|
33
|
+
uint256 nonce = CallWithSignatureNonces.get(signer);
|
34
|
+
bytes32 hash = getSignedMessageHash(signer, systemId, callData, nonce, _world());
|
35
|
+
|
36
|
+
// If the message was not signed by the delegator or is invalid, revert
|
37
|
+
address recoveredSigner = ECDSA.recover(hash, signature);
|
38
|
+
if (recoveredSigner != signer) {
|
39
|
+
revert InvalidSignature(recoveredSigner);
|
40
|
+
}
|
41
|
+
|
42
|
+
CallWithSignatureNonces.set(signer, nonce + 1);
|
43
|
+
|
44
|
+
return SystemCall.callWithHooksOrRevert(signer, systemId, callData, _msgValue());
|
45
|
+
}
|
46
|
+
}
|
@@ -3,27 +3,23 @@ pragma solidity >=0.8.24;
|
|
3
3
|
|
4
4
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
bytes32 constant DELEGATION_TYPEHASH = keccak256(
|
9
|
-
"Delegation(address delegatee,bytes32 delegationControlId,bytes initCallData,address delegator,uint256 nonce)"
|
10
|
-
);
|
6
|
+
bytes32 constant CALL_TYPEHASH = keccak256("Call(address signer,bytes32 systemId,bytes callData,uint256 nonce)");
|
11
7
|
|
12
8
|
/**
|
13
9
|
* @notice Generate the message hash for a given delegation signature.
|
14
|
-
*
|
15
|
-
* @
|
16
|
-
* @param
|
17
|
-
* @param
|
18
|
-
* @param
|
19
|
-
* @param nonce The nonce of the
|
10
|
+
* For EIP712 signatures https://eips.ethereum.org/EIPS/eip-712
|
11
|
+
* @dev We include the signer address to prevent generating a signature that recovers to a random address that didn't sign the message.
|
12
|
+
* @param signer The address on whose behalf the system is called.
|
13
|
+
* @param systemId The ID of the system to be called.
|
14
|
+
* @param callData The ABI data for the system call.
|
15
|
+
* @param nonce The nonce of the signer
|
20
16
|
* @param worldAddress The world address
|
17
|
+
* @return Return the message hash.
|
21
18
|
*/
|
22
19
|
function getSignedMessageHash(
|
23
|
-
address
|
24
|
-
ResourceId
|
25
|
-
bytes memory
|
26
|
-
address delegator,
|
20
|
+
address signer,
|
21
|
+
ResourceId systemId,
|
22
|
+
bytes memory callData,
|
27
23
|
uint256 nonce,
|
28
24
|
address worldAddress
|
29
25
|
) view returns (bytes32) {
|
@@ -36,9 +32,7 @@ function getSignedMessageHash(
|
|
36
32
|
abi.encodePacked(
|
37
33
|
"\x19\x01",
|
38
34
|
domainSeperator,
|
39
|
-
keccak256(
|
40
|
-
abi.encode(DELEGATION_TYPEHASH, delegatee, delegationControlId, keccak256(initCallData), delegator, nonce)
|
41
|
-
)
|
35
|
+
keccak256(abi.encode(CALL_TYPEHASH, signer, systemId, keccak256(callData), nonce))
|
42
36
|
)
|
43
37
|
);
|
44
38
|
}
|
package/src/modules/delegation/tables/{UserDelegationNonces.sol → CallWithSignatureNonces.sol}
RENAMED
@@ -16,9 +16,9 @@ import { Schema } from "@latticexyz/store/src/Schema.sol";
|
|
16
16
|
import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
|
17
17
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
18
18
|
|
19
|
-
library
|
20
|
-
// Hex below is the result of `WorldResourceIdLib.encode({ namespace: "", name: "
|
21
|
-
ResourceId constant _tableId = ResourceId.wrap(
|
19
|
+
library CallWithSignatureNonces {
|
20
|
+
// Hex below is the result of `WorldResourceIdLib.encode({ namespace: "", name: "CallWithSignatur", typeId: RESOURCE_TABLE });`
|
21
|
+
ResourceId constant _tableId = ResourceId.wrap(0x7462000000000000000000000000000043616c6c576974685369676e61747572);
|
22
22
|
|
23
23
|
FieldLayout constant _fieldLayout =
|
24
24
|
FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
|
@@ -34,7 +34,7 @@ library UserDelegationNonces {
|
|
34
34
|
*/
|
35
35
|
function getKeyNames() internal pure returns (string[] memory keyNames) {
|
36
36
|
keyNames = new string[](1);
|
37
|
-
keyNames[0] = "
|
37
|
+
keyNames[0] = "signer";
|
38
38
|
}
|
39
39
|
|
40
40
|
/**
|
@@ -63,9 +63,9 @@ library UserDelegationNonces {
|
|
63
63
|
/**
|
64
64
|
* @notice Get nonce.
|
65
65
|
*/
|
66
|
-
function getNonce(address
|
66
|
+
function getNonce(address signer) internal view returns (uint256 nonce) {
|
67
67
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
68
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
68
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
69
69
|
|
70
70
|
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
|
71
71
|
return (uint256(bytes32(_blob)));
|
@@ -74,9 +74,9 @@ library UserDelegationNonces {
|
|
74
74
|
/**
|
75
75
|
* @notice Get nonce.
|
76
76
|
*/
|
77
|
-
function _getNonce(address
|
77
|
+
function _getNonce(address signer) internal view returns (uint256 nonce) {
|
78
78
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
79
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
79
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
80
80
|
|
81
81
|
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
|
82
82
|
return (uint256(bytes32(_blob)));
|
@@ -85,9 +85,9 @@ library UserDelegationNonces {
|
|
85
85
|
/**
|
86
86
|
* @notice Get nonce.
|
87
87
|
*/
|
88
|
-
function get(address
|
88
|
+
function get(address signer) internal view returns (uint256 nonce) {
|
89
89
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
90
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
90
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
91
91
|
|
92
92
|
bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
|
93
93
|
return (uint256(bytes32(_blob)));
|
@@ -96,9 +96,9 @@ library UserDelegationNonces {
|
|
96
96
|
/**
|
97
97
|
* @notice Get nonce.
|
98
98
|
*/
|
99
|
-
function _get(address
|
99
|
+
function _get(address signer) internal view returns (uint256 nonce) {
|
100
100
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
101
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
101
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
102
102
|
|
103
103
|
bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
|
104
104
|
return (uint256(bytes32(_blob)));
|
@@ -107,9 +107,9 @@ library UserDelegationNonces {
|
|
107
107
|
/**
|
108
108
|
* @notice Set nonce.
|
109
109
|
*/
|
110
|
-
function setNonce(address
|
110
|
+
function setNonce(address signer, uint256 nonce) internal {
|
111
111
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
112
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
112
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
113
113
|
|
114
114
|
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((nonce)), _fieldLayout);
|
115
115
|
}
|
@@ -117,9 +117,9 @@ library UserDelegationNonces {
|
|
117
117
|
/**
|
118
118
|
* @notice Set nonce.
|
119
119
|
*/
|
120
|
-
function _setNonce(address
|
120
|
+
function _setNonce(address signer, uint256 nonce) internal {
|
121
121
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
122
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
122
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
123
123
|
|
124
124
|
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((nonce)), _fieldLayout);
|
125
125
|
}
|
@@ -127,9 +127,9 @@ library UserDelegationNonces {
|
|
127
127
|
/**
|
128
128
|
* @notice Set nonce.
|
129
129
|
*/
|
130
|
-
function set(address
|
130
|
+
function set(address signer, uint256 nonce) internal {
|
131
131
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
132
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
132
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
133
133
|
|
134
134
|
StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((nonce)), _fieldLayout);
|
135
135
|
}
|
@@ -137,9 +137,9 @@ library UserDelegationNonces {
|
|
137
137
|
/**
|
138
138
|
* @notice Set nonce.
|
139
139
|
*/
|
140
|
-
function _set(address
|
140
|
+
function _set(address signer, uint256 nonce) internal {
|
141
141
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
142
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
142
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
143
143
|
|
144
144
|
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((nonce)), _fieldLayout);
|
145
145
|
}
|
@@ -147,9 +147,9 @@ library UserDelegationNonces {
|
|
147
147
|
/**
|
148
148
|
* @notice Delete all data for given keys.
|
149
149
|
*/
|
150
|
-
function deleteRecord(address
|
150
|
+
function deleteRecord(address signer) internal {
|
151
151
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
152
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
152
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
153
153
|
|
154
154
|
StoreSwitch.deleteRecord(_tableId, _keyTuple);
|
155
155
|
}
|
@@ -157,9 +157,9 @@ library UserDelegationNonces {
|
|
157
157
|
/**
|
158
158
|
* @notice Delete all data for given keys.
|
159
159
|
*/
|
160
|
-
function _deleteRecord(address
|
160
|
+
function _deleteRecord(address signer) internal {
|
161
161
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
162
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
162
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
163
163
|
|
164
164
|
StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
|
165
165
|
}
|
@@ -190,9 +190,9 @@ library UserDelegationNonces {
|
|
190
190
|
/**
|
191
191
|
* @notice Encode keys as a bytes32 array using this table's field layout.
|
192
192
|
*/
|
193
|
-
function encodeKeyTuple(address
|
193
|
+
function encodeKeyTuple(address signer) internal pure returns (bytes32[] memory) {
|
194
194
|
bytes32[] memory _keyTuple = new bytes32[](1);
|
195
|
-
_keyTuple[0] = bytes32(uint256(uint160(
|
195
|
+
_keyTuple[0] = bytes32(uint256(uint160(signer)));
|
196
196
|
|
197
197
|
return _keyTuple;
|
198
198
|
}
|