@latticexyz/world-modules 2.0.0-main-711f6e2a → 2.0.0-march-19-skystrife-playtest-f0a343b1
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/out/AccessControl.sol/AccessControl.json +1 -1
- package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json +0 -55
- package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +0 -55
- package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
- package/out/AddressArray.sol/AddressArray.json +1 -1
- package/out/Allowances.sol/Allowances.json +1 -1
- package/out/ArrayLib.sol/ArrayLib.json +1 -1
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +0 -16
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +0 -16
- package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
- package/out/Balances.sol/Balances.json +1 -1
- package/out/Base.sol/CommonBase.json +1 -1
- package/out/Base.sol/ScriptBase.json +1 -1
- package/out/Base.sol/TestBase.json +1 -1
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +0 -5
- package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +0 -5
- package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
- package/out/Bool.sol/Bool.json +1 -1
- package/out/Bytes.sol/Bytes.json +1 -1
- package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
- package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
- package/out/{InitModule.sol/InitModule.abi.json → CoreModule.sol/CoreModule.abi.json} +23 -149
- package/out/{InitModule.sol/InitModule.abi.json.d.ts → CoreModule.sol/CoreModule.abi.json.d.ts} +23 -149
- package/out/CoreModule.sol/CoreModule.json +1 -0
- package/out/{RegistrationSystem.sol/RegistrationSystem.abi.json → CoreSystem.sol/CoreSystem.abi.json} +157 -167
- package/out/{RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts → CoreSystem.sol/CoreSystem.abi.json.d.ts} +157 -167
- package/out/CoreSystem.sol/CoreSystem.json +1 -0
- package/out/DecodeSlice.sol/DecodeSlice.json +1 -1
- package/out/Delegation.sol/Delegation.json +1 -1
- package/out/DelegationControl.sol/DelegationControl.json +1 -1
- package/out/DelegationControlMock.sol/DelegationControlMock.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.abi.json +24 -124
- package/out/ERC20Module.sol/ERC20Module.abi.json.d.ts +24 -124
- package/out/ERC20Module.sol/ERC20Module.json +1 -1
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json +8 -121
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.abi.json.d.ts +8 -121
- 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.abi.json +1 -1
- package/out/ERC721.t.sol/ERC721Test.abi.json.d.ts +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.abi.json +24 -124
- package/out/ERC721Module.sol/ERC721Module.abi.json.d.ts +24 -124
- package/out/ERC721Module.sol/ERC721Module.json +1 -1
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json +8 -121
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.abi.json.d.ts +8 -121
- 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/EncodeArray.sol/EncodeArray.json +1 -1
- package/out/FieldLayout.sol/FieldLayoutInstance.json +1 -1
- package/out/FieldLayout.sol/FieldLayoutLib.abi.json +23 -1
- package/out/FieldLayout.sol/FieldLayoutLib.abi.json.d.ts +23 -0
- package/out/FieldLayout.sol/FieldLayoutLib.json +1 -1
- package/out/FieldLayoutEncodeHelper.sol/FieldLayoutEncodeHelper.json +1 -1
- package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
- package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
- package/out/GasReporter.sol/GasReporter.json +1 -1
- package/out/Hook.sol/HookInstance.json +1 -1
- package/out/Hook.sol/HookLib.json +1 -1
- package/out/Hooks.sol/Hooks.json +1 -1
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.abi.json +0 -13
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.abi.json.d.ts +0 -13
- package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
- package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
- package/out/IBaseWorld.sol/IBaseWorld.abi.json +5 -230
- package/out/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +5 -230
- package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
- package/out/ICoreSystem.sol/ICoreSystem.json +1 -0
- package/out/IDelegationControl.sol/IDelegationControl.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/IERC20System.sol/IERC20System.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/IModule.sol/IModule.abi.json +17 -4
- package/out/IModule.sol/IModule.abi.json.d.ts +17 -4
- package/out/IModule.sol/IModule.json +1 -1
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.abi.json +1 -1
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.abi.json.d.ts +1 -1
- package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
- package/out/IMulticall3.sol/IMulticall3.json +1 -1
- package/out/IPuppetFactorySystem.sol/IPuppetFactorySystem.json +1 -1
- package/out/IStore.sol/IStore.abi.json +3 -191
- package/out/IStore.sol/IStore.abi.json.d.ts +3 -191
- package/out/IStore.sol/IStore.json +1 -1
- package/out/IStoreData.sol/IStoreData.abi.json +0 -6
- package/out/IStoreData.sol/IStoreData.abi.json.d.ts +0 -6
- package/out/IStoreData.sol/IStoreData.json +1 -1
- package/out/IStoreErrors.sol/IStoreErrors.abi.json +3 -51
- package/out/IStoreErrors.sol/IStoreErrors.abi.json.d.ts +3 -51
- package/out/IStoreErrors.sol/IStoreErrors.json +1 -1
- package/out/IStoreEvents.sol/IStoreEvents.abi.json +0 -19
- package/out/IStoreEvents.sol/IStoreEvents.abi.json.d.ts +0 -19
- package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
- package/out/IStoreHook.sol/IStoreHook.json +1 -1
- package/out/IStoreRead.sol/IStoreRead.json +1 -1
- package/out/IStoreRegistration.sol/IStoreRegistration.json +1 -1
- package/out/IStoreWrite.sol/IStoreWrite.abi.json +0 -19
- package/out/IStoreWrite.sol/IStoreWrite.abi.json.d.ts +0 -19
- package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
- package/out/ISystemHook.sol/ISystemHook.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/IWorldContextConsumer.sol/IWorldContextConsumer.json +1 -1
- package/out/IWorldErrors.sol/IWorldErrors.abi.json +0 -11
- package/out/IWorldErrors.sol/IWorldErrors.abi.json.d.ts +0 -11
- package/out/IWorldErrors.sol/IWorldErrors.json +1 -1
- package/out/IWorldKernel.sol/IWorldCall.json +1 -1
- package/out/IWorldKernel.sol/IWorldKernel.abi.json +2 -39
- package/out/IWorldKernel.sol/IWorldKernel.abi.json.d.ts +2 -39
- package/out/IWorldKernel.sol/IWorldKernel.json +1 -1
- package/out/IWorldKernel.sol/IWorldModuleInstallation.abi.json +1 -1
- package/out/IWorldKernel.sol/IWorldModuleInstallation.abi.json.d.ts +1 -1
- package/out/IWorldKernel.sol/IWorldModuleInstallation.json +1 -1
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json +4 -30
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.abi.json.d.ts +4 -30
- package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
- package/out/InstalledModules.sol/InstalledModules.json +1 -1
- package/out/KeysInTable.sol/KeysInTable.json +1 -1
- package/out/KeysInTableHook.sol/KeysInTableHook.abi.json +0 -22
- package/out/KeysInTableHook.sol/KeysInTableHook.abi.json.d.ts +0 -22
- package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
- package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +32 -3
- package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +32 -3
- package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json +8 -41
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.abi.json.d.ts +8 -41
- package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
- package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
- package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json +0 -6
- package/out/KeysWithValueHook.sol/KeysWithValueHook.abi.json.d.ts +0 -6
- package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
- package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +32 -3
- package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +32 -3
- package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json +8 -41
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.abi.json.d.ts +8 -41
- package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
- package/out/Memory.sol/Memory.json +1 -1
- package/out/Module.sol/Module.abi.json +17 -4
- package/out/Module.sol/Module.abi.json.d.ts +17 -4
- package/out/Module.sol/Module.json +1 -1
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +1 -6
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +1 -6
- package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
- package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
- package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
- package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
- package/out/Owners.sol/Owners.json +1 -1
- package/out/PackedCounter.sol/PackedCounterInstance.abi.json +13 -1
- package/out/PackedCounter.sol/PackedCounterInstance.json +1 -1
- package/out/PackedCounter.sol/PackedCounterLib.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.abi.json +23 -123
- package/out/PuppetModule.sol/PuppetModule.abi.json.d.ts +23 -123
- package/out/PuppetModule.sol/PuppetModule.json +1 -1
- package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json +0 -14
- package/out/PuppetModule.t.sol/PuppetModuleTest.abi.json.d.ts +0 -14
- 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/ResourceAccess.sol/ResourceAccess.json +1 -1
- package/out/ResourceId.sol/ResourceIdInstance.json +1 -1
- package/out/ResourceId.sol/ResourceIdLib.json +1 -1
- package/out/ResourceIds.sol/ResourceIds.json +1 -1
- package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
- package/out/Schema.sol/SchemaInstance.json +1 -1
- package/out/Schema.sol/SchemaLib.abi.json +18 -1
- package/out/{ISchemaErrors.sol/ISchemaErrors.abi.json.d.ts → Schema.sol/SchemaLib.abi.json.d.ts} +2 -2
- package/out/Schema.sol/SchemaLib.json +1 -1
- package/out/SchemaEncodeHelper.sol/SchemaEncodeHelper.json +1 -1
- package/out/Slice.sol/SliceInstance.json +1 -1
- package/out/Slice.sol/SliceLib.abi.json +23 -1
- package/out/Slice.sol/SliceLib.json +1 -1
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json +23 -123
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json.d.ts +23 -123
- package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
- package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
- package/out/StdAssertions.sol/StdAssertions.json +1 -1
- package/out/StdChains.sol/StdChains.json +1 -1
- package/out/StdCheats.sol/StdCheats.json +1 -1
- package/out/StdCheats.sol/StdCheatsSafe.json +1 -1
- package/out/StdError.sol/stdError.json +1 -1
- package/out/StdInvariant.sol/StdInvariant.json +1 -1
- package/out/StdJson.sol/stdJson.json +1 -1
- package/out/StdMath.sol/stdMath.json +1 -1
- package/out/StdStorage.sol/stdStorage.json +1 -1
- package/out/StdStorage.sol/stdStorageSafe.json +1 -1
- package/out/StdStyle.sol/StdStyle.json +1 -1
- package/out/StdUtils.sol/StdUtils.json +1 -1
- package/out/Storage.sol/Storage.json +1 -1
- package/out/StoreCore.sol/StoreCore.abi.json +132 -1
- package/out/StoreCore.sol/StoreCore.abi.json.d.ts +132 -0
- package/out/StoreCore.sol/StoreCore.json +1 -1
- package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
- package/out/StoreData.sol/StoreData.abi.json +0 -22
- package/out/StoreData.sol/StoreData.abi.json.d.ts +0 -22
- package/out/StoreData.sol/StoreData.json +1 -1
- package/out/StoreHook.sol/StoreHook.json +1 -1
- package/out/StoreHooks.sol/StoreHooks.json +1 -1
- package/out/StoreRead.sol/StoreRead.abi.json +0 -16
- package/out/StoreRead.sol/StoreRead.abi.json.d.ts +0 -16
- package/out/StoreRead.sol/StoreRead.json +1 -1
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +8 -159
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +8 -159
- package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
- package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
- package/out/System.sol/System.json +1 -1
- package/out/SystemCall.sol/SystemCall.json +1 -1
- package/out/SystemHook.sol/SystemHook.json +1 -1
- package/out/SystemHooks.sol/SystemHooks.json +1 -1
- package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
- package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
- package/out/SystemSwitch.t.sol/EchoSystem.abi.json +1 -98
- package/out/SystemSwitch.t.sol/EchoSystem.abi.json.d.ts +1 -98
- package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +15 -43
- package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +15 -43
- 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/Systems.sol/Systems.json +1 -1
- package/out/Tables.sol/Tables.json +1 -1
- package/out/Test.sol/Test.json +1 -1
- package/out/TightCoder.sol/TightCoder.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/TwoFields.sol/TwoFields.json +1 -1
- package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
- package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json +25 -125
- package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json.d.ts +25 -125
- package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json +0 -68
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json.d.ts +0 -68
- package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
- package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
- package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
- package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
- package/out/Vm.sol/Vm.json +1 -1
- package/out/Vm.sol/VmSafe.json +1 -1
- package/out/World.sol/World.abi.json +124 -53
- package/out/World.sol/World.abi.json.d.ts +124 -53
- package/out/World.sol/World.json +1 -1
- package/out/World.t.sol/EchoSystemHook.json +1 -1
- package/out/World.t.sol/IWorldTestSystem.abi.json +1 -1
- package/out/World.t.sol/IWorldTestSystem.abi.json.d.ts +1 -1
- package/out/World.t.sol/IWorldTestSystem.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.abi.json +8 -76
- package/out/World.t.sol/WorldTest.abi.json.d.ts +8 -76
- package/out/World.t.sol/WorldTest.json +1 -1
- package/out/World.t.sol/WorldTestSystem.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
- package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
- package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +4 -52
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +4 -52
- package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
- package/out/WorldResourceId.sol/WorldResourceIdInstance.json +1 -1
- package/out/WorldResourceId.sol/WorldResourceIdLib.json +1 -1
- package/out/console.sol/console.json +1 -1
- package/out/console2.sol/console2.json +1 -1
- package/out/constants.sol/LayoutOffsets.json +1 -1
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json +10 -274
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +10 -274
- package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
- package/out/query.t.sol/QueryTest.abi.json +8 -41
- package/out/query.t.sol/QueryTest.abi.json.d.ts +8 -41
- package/out/query.t.sol/QueryTest.json +1 -1
- package/out/safeconsole.sol/safeconsole.json +1 -1
- package/out/src/IERC165.sol/IERC165.json +1 -1
- package/out/tables/Balances.sol/Balances.json +1 -1
- package/out/test.sol/DSTest.json +1 -1
- package/out/world/src/IERC165.sol/IERC165.json +1 -1
- package/package.json +9 -9
- package/src/index.sol +6 -6
- package/src/interfaces/IBaseWorld.sol +4 -3
- package/src/interfaces/IERC20System.sol +1 -2
- package/src/interfaces/IPuppetFactorySystem.sol +1 -2
- package/src/interfaces/IUniqueEntitySystem.sol +7 -0
- package/src/modules/erc20-puppet/ERC20Module.sol +25 -16
- package/src/modules/erc20-puppet/ERC20System.sol +1 -1
- package/src/modules/erc20-puppet/IERC20.sol +1 -1
- package/src/modules/erc20-puppet/IERC20Errors.sol +1 -1
- package/src/modules/erc20-puppet/IERC20Events.sol +1 -1
- package/src/modules/erc20-puppet/IERC20Mintable.sol +1 -1
- package/src/modules/erc20-puppet/constants.sol +2 -1
- package/src/modules/erc20-puppet/registerERC20.sol +1 -1
- package/src/modules/erc20-puppet/tables/Allowances.sol +43 -12
- package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +44 -13
- package/src/modules/erc20-puppet/tables/ERC20Registry.sol +42 -12
- package/src/modules/erc20-puppet/tables/TotalSupply.sol +41 -12
- package/src/modules/erc20-puppet/utils.sol +1 -1
- package/src/modules/erc721-puppet/ERC721Module.sol +25 -16
- package/src/modules/erc721-puppet/ERC721System.sol +1 -1
- package/src/modules/erc721-puppet/IERC721.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Errors.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Events.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Metadata.sol +1 -2
- package/src/modules/erc721-puppet/IERC721Mintable.sol +1 -1
- package/src/modules/erc721-puppet/IERC721Receiver.sol +1 -2
- package/src/modules/erc721-puppet/constants.sol +2 -1
- package/src/modules/erc721-puppet/registerERC721.sol +1 -1
- package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +43 -12
- package/src/modules/erc721-puppet/tables/ERC721Registry.sol +42 -12
- package/src/modules/erc721-puppet/tables/OperatorApproval.sol +43 -12
- package/src/modules/erc721-puppet/tables/Owners.sol +42 -12
- package/src/modules/erc721-puppet/tables/TokenApproval.sol +42 -12
- package/src/modules/erc721-puppet/tables/TokenURI.sol +42 -12
- package/src/modules/erc721-puppet/utils.sol +1 -1
- package/src/modules/keysintable/KeysInTableHook.sol +1 -1
- package/src/modules/keysintable/KeysInTableModule.sol +23 -17
- package/src/modules/keysintable/constants.sol +1 -1
- package/src/modules/keysintable/getKeysInTable.sol +1 -1
- package/src/modules/keysintable/hasKey.sol +1 -1
- package/src/modules/keysintable/query.sol +1 -1
- package/src/modules/keysintable/tables/KeysInTable.sol +51 -15
- package/src/modules/keysintable/tables/UsedKeysIndex.sol +51 -17
- package/src/modules/keyswithvalue/KeysWithValueHook.sol +1 -1
- package/src/modules/keyswithvalue/KeysWithValueModule.sol +17 -22
- package/src/modules/keyswithvalue/constants.sol +1 -1
- package/src/modules/keyswithvalue/getKeysWithValue.sol +1 -1
- package/src/modules/keyswithvalue/getTargetTableId.sol +1 -1
- package/src/modules/keyswithvalue/tables/KeysWithValue.sol +43 -13
- package/src/modules/puppet/Puppet.sol +1 -1
- package/src/modules/puppet/PuppetDelegationControl.sol +1 -1
- package/src/modules/puppet/PuppetFactorySystem.sol +1 -1
- package/src/modules/puppet/PuppetMaster.sol +1 -1
- package/src/modules/puppet/PuppetModule.sol +9 -24
- package/src/modules/puppet/constants.sol +3 -4
- package/src/modules/puppet/createPuppet.sol +1 -1
- package/src/modules/puppet/tables/PuppetRegistry.sol +42 -12
- package/src/modules/puppet/utils.sol +1 -1
- package/src/modules/std-delegations/CallboundDelegationControl.sol +1 -1
- package/src/modules/std-delegations/StandardDelegationsModule.sol +6 -2
- package/src/modules/std-delegations/SystemboundDelegationControl.sol +1 -1
- package/src/modules/std-delegations/TimeboundDelegationControl.sol +1 -1
- package/src/modules/std-delegations/constants.sol +3 -1
- package/src/modules/std-delegations/tables/CallboundDelegations.sol +49 -14
- package/src/modules/std-delegations/tables/SystemboundDelegations.sol +48 -14
- package/src/modules/std-delegations/tables/TimeboundDelegations.sol +47 -14
- package/src/modules/tokens/tables/Balances.sol +42 -12
- package/src/modules/uniqueentity/UniqueEntityModule.sol +15 -16
- package/src/modules/uniqueentity/UniqueEntitySystem.sol +1 -1
- package/src/modules/uniqueentity/constants.sol +3 -3
- package/src/modules/uniqueentity/getUniqueEntity.sol +3 -2
- package/src/modules/uniqueentity/tables/UniqueEntity.sol +42 -13
- package/src/modules/utils/ArrayLib.sol +2 -2
- package/src/utils/AccessControlLib.sol +1 -2
- package/src/utils/SystemSwitch.sol +10 -8
- package/dist/mud.config.d.ts +0 -256
- package/out/ERC165Checker.sol/ERC165Checker.json +0 -1
- package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json +0 -88
- package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.abi.json.d.ts +0 -88
- package/out/IFieldLayoutErrors.sol/IFieldLayoutErrors.json +0 -1
- package/out/IModuleErrors.sol/IModuleErrors.abi.json +0 -28
- package/out/IModuleErrors.sol/IModuleErrors.abi.json.d.ts +0 -28
- package/out/IModuleErrors.sol/IModuleErrors.json +0 -1
- package/out/IPackedCounterErrors.sol/IPackedCounterErrors.abi.json +0 -13
- package/out/IPackedCounterErrors.sol/IPackedCounterErrors.json +0 -1
- package/out/IRegistrationSystem.sol/IRegistrationSystem.abi.json +0 -1
- package/out/IRegistrationSystem.sol/IRegistrationSystem.json +0 -1
- package/out/ISchemaErrors.sol/ISchemaErrors.abi.json +0 -18
- package/out/ISchemaErrors.sol/ISchemaErrors.json +0 -1
- package/out/ISliceErrors.sol/ISliceErrors.abi.json +0 -23
- package/out/ISliceErrors.sol/ISliceErrors.json +0 -1
- package/out/IWorldEvents.sol/IWorldEvents.abi.json +0 -15
- package/out/IWorldEvents.sol/IWorldEvents.abi.json.d.ts +0 -15
- package/out/IWorldEvents.sol/IWorldEvents.json +0 -1
- package/out/InitModule.sol/InitModule.json +0 -1
- package/out/InitModuleAddress.sol/InitModuleAddress.abi.json +0 -1
- package/out/InitModuleAddress.sol/InitModuleAddress.json +0 -1
- package/out/LimitedCallContext.sol/LimitedCallContext.abi.json +0 -7
- package/out/LimitedCallContext.sol/LimitedCallContext.abi.json.d.ts +0 -7
- package/out/LimitedCallContext.sol/LimitedCallContext.json +0 -1
- package/out/RegistrationSystem.sol/RegistrationSystem.json +0 -1
- /package/out/{ERC165Checker.sol/ERC165Checker.abi.json → ICoreSystem.sol/ICoreSystem.abi.json} +0 -0
- /package/out/{IPackedCounterErrors.sol/IPackedCounterErrors.abi.json.d.ts → PackedCounter.sol/PackedCounterInstance.abi.json.d.ts} +0 -0
- /package/out/{ISliceErrors.sol/ISliceErrors.abi.json.d.ts → Slice.sol/SliceLib.abi.json.d.ts} +0 -0
@@ -1,9 +1,10 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
|
-
pragma solidity >=0.8.
|
2
|
+
pragma solidity >=0.8.21;
|
3
3
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
4
4
|
import { RESOURCE_TABLE } from "@latticexyz/store/src/storeResourceTypes.sol";
|
5
5
|
import { RESOURCE_SYSTEM, RESOURCE_NAMESPACE } from "@latticexyz/world/src/worldResourceTypes.sol";
|
6
6
|
|
7
|
+
bytes16 constant MODULE_NAME = "erc20-puppet";
|
7
8
|
bytes14 constant MODULE_NAMESPACE = "erc20-puppet";
|
8
9
|
ResourceId constant MODULE_NAMESPACE_ID = ResourceId.wrap(
|
9
10
|
bytes32(abi.encodePacked(RESOURCE_NAMESPACE, MODULE_NAMESPACE))
|
@@ -1,8 +1,11 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
|
-
pragma solidity >=0.8.
|
2
|
+
pragma solidity >=0.8.21;
|
3
3
|
|
4
4
|
/* Autogenerated file. Do not edit manually. */
|
5
5
|
|
6
|
+
// Import schema type
|
7
|
+
import { SchemaType } from "@latticexyz/schema-type/src/solidity/SchemaType.sol";
|
8
|
+
|
6
9
|
// Import store internals
|
7
10
|
import { IStore } from "@latticexyz/store/src/IStore.sol";
|
8
11
|
import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
|
@@ -11,19 +14,47 @@ import { Bytes } from "@latticexyz/store/src/Bytes.sol";
|
|
11
14
|
import { Memory } from "@latticexyz/store/src/Memory.sol";
|
12
15
|
import { SliceLib } from "@latticexyz/store/src/Slice.sol";
|
13
16
|
import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
|
14
|
-
import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
|
15
|
-
import { Schema } from "@latticexyz/store/src/Schema.sol";
|
17
|
+
import { FieldLayout, FieldLayoutLib } from "@latticexyz/store/src/FieldLayout.sol";
|
18
|
+
import { Schema, SchemaLib } from "@latticexyz/store/src/Schema.sol";
|
16
19
|
import { PackedCounter, PackedCounterLib } from "@latticexyz/store/src/PackedCounter.sol";
|
17
20
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
21
|
+
import { RESOURCE_TABLE, RESOURCE_OFFCHAIN_TABLE } from "@latticexyz/store/src/storeResourceTypes.sol";
|
22
|
+
|
23
|
+
FieldLayout constant _fieldLayout = FieldLayout.wrap(
|
24
|
+
0x0020010020000000000000000000000000000000000000000000000000000000
|
25
|
+
);
|
18
26
|
|
19
27
|
library Allowances {
|
20
|
-
|
21
|
-
|
28
|
+
/**
|
29
|
+
* @notice Get the table values' field layout.
|
30
|
+
* @return _fieldLayout The field layout for the table.
|
31
|
+
*/
|
32
|
+
function getFieldLayout() internal pure returns (FieldLayout) {
|
33
|
+
return _fieldLayout;
|
34
|
+
}
|
35
|
+
|
36
|
+
/**
|
37
|
+
* @notice Get the table's key schema.
|
38
|
+
* @return _keySchema The key schema for the table.
|
39
|
+
*/
|
40
|
+
function getKeySchema() internal pure returns (Schema) {
|
41
|
+
SchemaType[] memory _keySchema = new SchemaType[](2);
|
42
|
+
_keySchema[0] = SchemaType.ADDRESS;
|
43
|
+
_keySchema[1] = SchemaType.ADDRESS;
|
44
|
+
|
45
|
+
return SchemaLib.encode(_keySchema);
|
46
|
+
}
|
22
47
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
48
|
+
/**
|
49
|
+
* @notice Get the table's value schema.
|
50
|
+
* @return _valueSchema The value schema for the table.
|
51
|
+
*/
|
52
|
+
function getValueSchema() internal pure returns (Schema) {
|
53
|
+
SchemaType[] memory _valueSchema = new SchemaType[](1);
|
54
|
+
_valueSchema[0] = SchemaType.UINT256;
|
55
|
+
|
56
|
+
return SchemaLib.encode(_valueSchema);
|
57
|
+
}
|
27
58
|
|
28
59
|
/**
|
29
60
|
* @notice Get the table's key field names.
|
@@ -48,14 +79,14 @@ library Allowances {
|
|
48
79
|
* @notice Register the table with its config.
|
49
80
|
*/
|
50
81
|
function register(ResourceId _tableId) internal {
|
51
|
-
StoreSwitch.registerTable(_tableId, _fieldLayout,
|
82
|
+
StoreSwitch.registerTable(_tableId, _fieldLayout, getKeySchema(), getValueSchema(), getKeyNames(), getFieldNames());
|
52
83
|
}
|
53
84
|
|
54
85
|
/**
|
55
86
|
* @notice Register the table with its config.
|
56
87
|
*/
|
57
88
|
function _register(ResourceId _tableId) internal {
|
58
|
-
StoreCore.registerTable(_tableId, _fieldLayout,
|
89
|
+
StoreCore.registerTable(_tableId, _fieldLayout, getKeySchema(), getValueSchema(), getKeyNames(), getFieldNames());
|
59
90
|
}
|
60
91
|
|
61
92
|
/**
|
@@ -184,7 +215,7 @@ library Allowances {
|
|
184
215
|
* @notice Encode all of a record's fields.
|
185
216
|
* @return The static (fixed length) data, encoded into a sequence of bytes.
|
186
217
|
* @return The lengths of the dynamic fields (packed into a single bytes32 value).
|
187
|
-
* @return The
|
218
|
+
* @return The dyanmic (variable length) data, encoded into a sequence of bytes.
|
188
219
|
*/
|
189
220
|
function encode(uint256 value) internal pure returns (bytes memory, PackedCounter, bytes memory) {
|
190
221
|
bytes memory _staticData = encodeStatic(value);
|
@@ -1,8 +1,11 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
|
-
pragma solidity >=0.8.
|
2
|
+
pragma solidity >=0.8.21;
|
3
3
|
|
4
4
|
/* Autogenerated file. Do not edit manually. */
|
5
5
|
|
6
|
+
// Import schema type
|
7
|
+
import { SchemaType } from "@latticexyz/schema-type/src/solidity/SchemaType.sol";
|
8
|
+
|
6
9
|
// Import store internals
|
7
10
|
import { IStore } from "@latticexyz/store/src/IStore.sol";
|
8
11
|
import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
|
@@ -11,10 +14,15 @@ import { Bytes } from "@latticexyz/store/src/Bytes.sol";
|
|
11
14
|
import { Memory } from "@latticexyz/store/src/Memory.sol";
|
12
15
|
import { SliceLib } from "@latticexyz/store/src/Slice.sol";
|
13
16
|
import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
|
14
|
-
import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
|
15
|
-
import { Schema } from "@latticexyz/store/src/Schema.sol";
|
17
|
+
import { FieldLayout, FieldLayoutLib } from "@latticexyz/store/src/FieldLayout.sol";
|
18
|
+
import { Schema, SchemaLib } from "@latticexyz/store/src/Schema.sol";
|
16
19
|
import { PackedCounter, PackedCounterLib } from "@latticexyz/store/src/PackedCounter.sol";
|
17
20
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
21
|
+
import { RESOURCE_TABLE, RESOURCE_OFFCHAIN_TABLE } from "@latticexyz/store/src/storeResourceTypes.sol";
|
22
|
+
|
23
|
+
FieldLayout constant _fieldLayout = FieldLayout.wrap(
|
24
|
+
0x0001010201000000000000000000000000000000000000000000000000000000
|
25
|
+
);
|
18
26
|
|
19
27
|
struct ERC20MetadataData {
|
20
28
|
uint8 decimals;
|
@@ -23,13 +31,36 @@ struct ERC20MetadataData {
|
|
23
31
|
}
|
24
32
|
|
25
33
|
library ERC20Metadata {
|
26
|
-
|
27
|
-
|
34
|
+
/**
|
35
|
+
* @notice Get the table values' field layout.
|
36
|
+
* @return _fieldLayout The field layout for the table.
|
37
|
+
*/
|
38
|
+
function getFieldLayout() internal pure returns (FieldLayout) {
|
39
|
+
return _fieldLayout;
|
40
|
+
}
|
41
|
+
|
42
|
+
/**
|
43
|
+
* @notice Get the table's key schema.
|
44
|
+
* @return _keySchema The key schema for the table.
|
45
|
+
*/
|
46
|
+
function getKeySchema() internal pure returns (Schema) {
|
47
|
+
SchemaType[] memory _keySchema = new SchemaType[](0);
|
48
|
+
|
49
|
+
return SchemaLib.encode(_keySchema);
|
50
|
+
}
|
28
51
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
52
|
+
/**
|
53
|
+
* @notice Get the table's value schema.
|
54
|
+
* @return _valueSchema The value schema for the table.
|
55
|
+
*/
|
56
|
+
function getValueSchema() internal pure returns (Schema) {
|
57
|
+
SchemaType[] memory _valueSchema = new SchemaType[](3);
|
58
|
+
_valueSchema[0] = SchemaType.UINT8;
|
59
|
+
_valueSchema[1] = SchemaType.STRING;
|
60
|
+
_valueSchema[2] = SchemaType.STRING;
|
61
|
+
|
62
|
+
return SchemaLib.encode(_valueSchema);
|
63
|
+
}
|
33
64
|
|
34
65
|
/**
|
35
66
|
* @notice Get the table's key field names.
|
@@ -54,14 +85,14 @@ library ERC20Metadata {
|
|
54
85
|
* @notice Register the table with its config.
|
55
86
|
*/
|
56
87
|
function register(ResourceId _tableId) internal {
|
57
|
-
StoreSwitch.registerTable(_tableId, _fieldLayout,
|
88
|
+
StoreSwitch.registerTable(_tableId, _fieldLayout, getKeySchema(), getValueSchema(), getKeyNames(), getFieldNames());
|
58
89
|
}
|
59
90
|
|
60
91
|
/**
|
61
92
|
* @notice Register the table with its config.
|
62
93
|
*/
|
63
94
|
function _register(ResourceId _tableId) internal {
|
64
|
-
StoreCore.registerTable(_tableId, _fieldLayout,
|
95
|
+
StoreCore.registerTable(_tableId, _fieldLayout, getKeySchema(), getValueSchema(), getKeyNames(), getFieldNames());
|
65
96
|
}
|
66
97
|
|
67
98
|
/**
|
@@ -486,7 +517,7 @@ library ERC20Metadata {
|
|
486
517
|
* @notice Decode the tightly packed blob of static data using this table's field layout.
|
487
518
|
*/
|
488
519
|
function decodeStatic(bytes memory _blob) internal pure returns (uint8 decimals) {
|
489
|
-
decimals = (uint8(Bytes.
|
520
|
+
decimals = (uint8(Bytes.slice1(_blob, 0)));
|
490
521
|
}
|
491
522
|
|
492
523
|
/**
|
@@ -578,7 +609,7 @@ library ERC20Metadata {
|
|
578
609
|
* @notice Encode all of a record's fields.
|
579
610
|
* @return The static (fixed length) data, encoded into a sequence of bytes.
|
580
611
|
* @return The lengths of the dynamic fields (packed into a single bytes32 value).
|
581
|
-
* @return The
|
612
|
+
* @return The dyanmic (variable length) data, encoded into a sequence of bytes.
|
582
613
|
*/
|
583
614
|
function encode(
|
584
615
|
uint8 decimals,
|
@@ -1,8 +1,11 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
|
-
pragma solidity >=0.8.
|
2
|
+
pragma solidity >=0.8.21;
|
3
3
|
|
4
4
|
/* Autogenerated file. Do not edit manually. */
|
5
5
|
|
6
|
+
// Import schema type
|
7
|
+
import { SchemaType } from "@latticexyz/schema-type/src/solidity/SchemaType.sol";
|
8
|
+
|
6
9
|
// Import store internals
|
7
10
|
import { IStore } from "@latticexyz/store/src/IStore.sol";
|
8
11
|
import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
|
@@ -11,22 +14,49 @@ import { Bytes } from "@latticexyz/store/src/Bytes.sol";
|
|
11
14
|
import { Memory } from "@latticexyz/store/src/Memory.sol";
|
12
15
|
import { SliceLib } from "@latticexyz/store/src/Slice.sol";
|
13
16
|
import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
|
14
|
-
import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
|
15
|
-
import { Schema } from "@latticexyz/store/src/Schema.sol";
|
17
|
+
import { FieldLayout, FieldLayoutLib } from "@latticexyz/store/src/FieldLayout.sol";
|
18
|
+
import { Schema, SchemaLib } from "@latticexyz/store/src/Schema.sol";
|
16
19
|
import { PackedCounter, PackedCounterLib } from "@latticexyz/store/src/PackedCounter.sol";
|
17
20
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
21
|
+
import { RESOURCE_TABLE, RESOURCE_OFFCHAIN_TABLE } from "@latticexyz/store/src/storeResourceTypes.sol";
|
18
22
|
|
19
23
|
// Import user types
|
20
24
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
21
25
|
|
26
|
+
FieldLayout constant _fieldLayout = FieldLayout.wrap(
|
27
|
+
0x0014010014000000000000000000000000000000000000000000000000000000
|
28
|
+
);
|
29
|
+
|
22
30
|
library ERC20Registry {
|
23
|
-
|
24
|
-
|
31
|
+
/**
|
32
|
+
* @notice Get the table values' field layout.
|
33
|
+
* @return _fieldLayout The field layout for the table.
|
34
|
+
*/
|
35
|
+
function getFieldLayout() internal pure returns (FieldLayout) {
|
36
|
+
return _fieldLayout;
|
37
|
+
}
|
38
|
+
|
39
|
+
/**
|
40
|
+
* @notice Get the table's key schema.
|
41
|
+
* @return _keySchema The key schema for the table.
|
42
|
+
*/
|
43
|
+
function getKeySchema() internal pure returns (Schema) {
|
44
|
+
SchemaType[] memory _keySchema = new SchemaType[](1);
|
45
|
+
_keySchema[0] = SchemaType.BYTES32;
|
46
|
+
|
47
|
+
return SchemaLib.encode(_keySchema);
|
48
|
+
}
|
25
49
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
50
|
+
/**
|
51
|
+
* @notice Get the table's value schema.
|
52
|
+
* @return _valueSchema The value schema for the table.
|
53
|
+
*/
|
54
|
+
function getValueSchema() internal pure returns (Schema) {
|
55
|
+
SchemaType[] memory _valueSchema = new SchemaType[](1);
|
56
|
+
_valueSchema[0] = SchemaType.ADDRESS;
|
57
|
+
|
58
|
+
return SchemaLib.encode(_valueSchema);
|
59
|
+
}
|
30
60
|
|
31
61
|
/**
|
32
62
|
* @notice Get the table's key field names.
|
@@ -50,14 +80,14 @@ library ERC20Registry {
|
|
50
80
|
* @notice Register the table with its config.
|
51
81
|
*/
|
52
82
|
function register(ResourceId _tableId) internal {
|
53
|
-
StoreSwitch.registerTable(_tableId, _fieldLayout,
|
83
|
+
StoreSwitch.registerTable(_tableId, _fieldLayout, getKeySchema(), getValueSchema(), getKeyNames(), getFieldNames());
|
54
84
|
}
|
55
85
|
|
56
86
|
/**
|
57
87
|
* @notice Register the table with its config.
|
58
88
|
*/
|
59
89
|
function _register(ResourceId _tableId) internal {
|
60
|
-
StoreCore.registerTable(_tableId, _fieldLayout,
|
90
|
+
StoreCore.registerTable(_tableId, _fieldLayout, getKeySchema(), getValueSchema(), getKeyNames(), getFieldNames());
|
61
91
|
}
|
62
92
|
|
63
93
|
/**
|
@@ -176,7 +206,7 @@ library ERC20Registry {
|
|
176
206
|
* @notice Encode all of a record's fields.
|
177
207
|
* @return The static (fixed length) data, encoded into a sequence of bytes.
|
178
208
|
* @return The lengths of the dynamic fields (packed into a single bytes32 value).
|
179
|
-
* @return The
|
209
|
+
* @return The dyanmic (variable length) data, encoded into a sequence of bytes.
|
180
210
|
*/
|
181
211
|
function encode(address tokenAddress) internal pure returns (bytes memory, PackedCounter, bytes memory) {
|
182
212
|
bytes memory _staticData = encodeStatic(tokenAddress);
|
@@ -1,8 +1,11 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
|
-
pragma solidity >=0.8.
|
2
|
+
pragma solidity >=0.8.21;
|
3
3
|
|
4
4
|
/* Autogenerated file. Do not edit manually. */
|
5
5
|
|
6
|
+
// Import schema type
|
7
|
+
import { SchemaType } from "@latticexyz/schema-type/src/solidity/SchemaType.sol";
|
8
|
+
|
6
9
|
// Import store internals
|
7
10
|
import { IStore } from "@latticexyz/store/src/IStore.sol";
|
8
11
|
import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
|
@@ -11,19 +14,45 @@ import { Bytes } from "@latticexyz/store/src/Bytes.sol";
|
|
11
14
|
import { Memory } from "@latticexyz/store/src/Memory.sol";
|
12
15
|
import { SliceLib } from "@latticexyz/store/src/Slice.sol";
|
13
16
|
import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
|
14
|
-
import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
|
15
|
-
import { Schema } from "@latticexyz/store/src/Schema.sol";
|
17
|
+
import { FieldLayout, FieldLayoutLib } from "@latticexyz/store/src/FieldLayout.sol";
|
18
|
+
import { Schema, SchemaLib } from "@latticexyz/store/src/Schema.sol";
|
16
19
|
import { PackedCounter, PackedCounterLib } from "@latticexyz/store/src/PackedCounter.sol";
|
17
20
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
21
|
+
import { RESOURCE_TABLE, RESOURCE_OFFCHAIN_TABLE } from "@latticexyz/store/src/storeResourceTypes.sol";
|
22
|
+
|
23
|
+
FieldLayout constant _fieldLayout = FieldLayout.wrap(
|
24
|
+
0x0020010020000000000000000000000000000000000000000000000000000000
|
25
|
+
);
|
18
26
|
|
19
27
|
library TotalSupply {
|
20
|
-
|
21
|
-
|
28
|
+
/**
|
29
|
+
* @notice Get the table values' field layout.
|
30
|
+
* @return _fieldLayout The field layout for the table.
|
31
|
+
*/
|
32
|
+
function getFieldLayout() internal pure returns (FieldLayout) {
|
33
|
+
return _fieldLayout;
|
34
|
+
}
|
35
|
+
|
36
|
+
/**
|
37
|
+
* @notice Get the table's key schema.
|
38
|
+
* @return _keySchema The key schema for the table.
|
39
|
+
*/
|
40
|
+
function getKeySchema() internal pure returns (Schema) {
|
41
|
+
SchemaType[] memory _keySchema = new SchemaType[](0);
|
42
|
+
|
43
|
+
return SchemaLib.encode(_keySchema);
|
44
|
+
}
|
22
45
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
46
|
+
/**
|
47
|
+
* @notice Get the table's value schema.
|
48
|
+
* @return _valueSchema The value schema for the table.
|
49
|
+
*/
|
50
|
+
function getValueSchema() internal pure returns (Schema) {
|
51
|
+
SchemaType[] memory _valueSchema = new SchemaType[](1);
|
52
|
+
_valueSchema[0] = SchemaType.UINT256;
|
53
|
+
|
54
|
+
return SchemaLib.encode(_valueSchema);
|
55
|
+
}
|
27
56
|
|
28
57
|
/**
|
29
58
|
* @notice Get the table's key field names.
|
@@ -46,14 +75,14 @@ library TotalSupply {
|
|
46
75
|
* @notice Register the table with its config.
|
47
76
|
*/
|
48
77
|
function register(ResourceId _tableId) internal {
|
49
|
-
StoreSwitch.registerTable(_tableId, _fieldLayout,
|
78
|
+
StoreSwitch.registerTable(_tableId, _fieldLayout, getKeySchema(), getValueSchema(), getKeyNames(), getFieldNames());
|
50
79
|
}
|
51
80
|
|
52
81
|
/**
|
53
82
|
* @notice Register the table with its config.
|
54
83
|
*/
|
55
84
|
function _register(ResourceId _tableId) internal {
|
56
|
-
StoreCore.registerTable(_tableId, _fieldLayout,
|
85
|
+
StoreCore.registerTable(_tableId, _fieldLayout, getKeySchema(), getValueSchema(), getKeyNames(), getFieldNames());
|
57
86
|
}
|
58
87
|
|
59
88
|
/**
|
@@ -162,7 +191,7 @@ library TotalSupply {
|
|
162
191
|
* @notice Encode all of a record's fields.
|
163
192
|
* @return The static (fixed length) data, encoded into a sequence of bytes.
|
164
193
|
* @return The lengths of the dynamic fields (packed into a single bytes32 value).
|
165
|
-
* @return The
|
194
|
+
* @return The dyanmic (variable length) data, encoded into a sequence of bytes.
|
166
195
|
*/
|
167
196
|
function encode(uint256 totalSupply) internal pure returns (bytes memory, PackedCounter, bytes memory) {
|
168
197
|
bytes memory _staticData = encodeStatic(totalSupply);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
|
-
pragma solidity >=0.8.
|
2
|
+
pragma solidity >=0.8.21;
|
3
3
|
|
4
4
|
import { ResourceIds } from "@latticexyz/store/src/codegen/tables/ResourceIds.sol";
|
5
5
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
@@ -7,13 +7,13 @@ import { Module } from "@latticexyz/world/src/Module.sol";
|
|
7
7
|
import { WorldResourceIdLib } from "@latticexyz/world/src/WorldResourceId.sol";
|
8
8
|
import { IBaseWorld } from "@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol";
|
9
9
|
import { InstalledModules } from "@latticexyz/world/src/codegen/tables/InstalledModules.sol";
|
10
|
-
import { revertWithBytes } from "@latticexyz/world/src/revertWithBytes.sol";
|
11
10
|
|
12
11
|
import { Puppet } from "../puppet/Puppet.sol";
|
13
12
|
import { createPuppet } from "../puppet/createPuppet.sol";
|
13
|
+
import { MODULE_NAME as PUPPET_MODULE_NAME } from "../puppet/constants.sol";
|
14
14
|
import { Balances } from "../tokens/tables/Balances.sol";
|
15
15
|
|
16
|
-
import { MODULE_NAMESPACE, MODULE_NAMESPACE_ID, ERC721_REGISTRY_TABLE_ID } from "./constants.sol";
|
16
|
+
import { MODULE_NAME, MODULE_NAMESPACE, MODULE_NAMESPACE_ID, ERC721_REGISTRY_TABLE_ID } from "./constants.sol";
|
17
17
|
import { _erc721SystemId, _balancesTableId, _metadataTableId, _tokenUriTableId, _operatorApprovalTableId, _ownersTableId, _tokenApprovalTableId } from "./utils.sol";
|
18
18
|
import { ERC721System } from "./ERC721System.sol";
|
19
19
|
|
@@ -29,24 +29,37 @@ contract ERC721Module is Module {
|
|
29
29
|
|
30
30
|
address immutable registrationLibrary = address(new ERC721ModuleRegistrationLibrary());
|
31
31
|
|
32
|
-
function
|
32
|
+
function getName() public pure override returns (bytes16) {
|
33
|
+
return MODULE_NAME;
|
34
|
+
}
|
35
|
+
|
36
|
+
function _requireDependencies() internal {
|
37
|
+
// Require PuppetModule to be installed
|
38
|
+
if (InstalledModules.get(PUPPET_MODULE_NAME, keccak256(new bytes(0))) == address(0)) {
|
39
|
+
revert Module_MissingDependency(string(bytes.concat(PUPPET_MODULE_NAME)));
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
function install(bytes memory args) public {
|
33
44
|
// Require the module to not be installed with these args yet
|
34
|
-
|
45
|
+
if (InstalledModules.get(MODULE_NAME, keccak256(args)) != address(0)) {
|
46
|
+
revert Module_AlreadyInstalled();
|
47
|
+
}
|
35
48
|
|
36
|
-
//
|
37
|
-
(bytes14 namespace, ERC721MetadataData memory metadata) = abi.decode(
|
49
|
+
// Extract args
|
50
|
+
(bytes14 namespace, ERC721MetadataData memory metadata) = abi.decode(args, (bytes14, ERC721MetadataData));
|
38
51
|
|
39
52
|
// Require the namespace to not be the module's namespace
|
40
53
|
if (namespace == MODULE_NAMESPACE) {
|
41
54
|
revert ERC721Module_InvalidNamespace(namespace);
|
42
55
|
}
|
43
56
|
|
57
|
+
// Require dependencies
|
58
|
+
_requireDependencies();
|
59
|
+
|
44
60
|
// Register the ERC721 tables and system
|
45
61
|
IBaseWorld world = IBaseWorld(_world());
|
46
|
-
(
|
47
|
-
abi.encodeCall(ERC721ModuleRegistrationLibrary.register, (world, namespace))
|
48
|
-
);
|
49
|
-
if (!success) revertWithBytes(returnData);
|
62
|
+
registrationLibrary.delegatecall(abi.encodeCall(ERC721ModuleRegistrationLibrary.register, (world, namespace)));
|
50
63
|
|
51
64
|
// Initialize the Metadata
|
52
65
|
ERC721Metadata.set(_metadataTableId(namespace), metadata);
|
@@ -61,7 +74,6 @@ contract ERC721Module is Module {
|
|
61
74
|
|
62
75
|
// Register the ERC721 in the ERC20Registry
|
63
76
|
if (!ResourceIds.getExists(ERC721_REGISTRY_TABLE_ID)) {
|
64
|
-
world.registerNamespace(MODULE_NAMESPACE_ID);
|
65
77
|
ERC721Registry.register(ERC721_REGISTRY_TABLE_ID);
|
66
78
|
}
|
67
79
|
ERC721Registry.set(ERC721_REGISTRY_TABLE_ID, namespaceId, puppet);
|
@@ -77,11 +89,8 @@ contract ERC721ModuleRegistrationLibrary {
|
|
77
89
|
* Register systems and tables for a new ERC721 token in a given namespace
|
78
90
|
*/
|
79
91
|
function register(IBaseWorld world, bytes14 namespace) public {
|
80
|
-
// Register the namespace if it doesn't exist yet
|
81
|
-
ResourceId tokenNamespace = WorldResourceIdLib.encodeNamespace(namespace);
|
82
|
-
world.registerNamespace(tokenNamespace);
|
83
|
-
|
84
92
|
// Register the tables
|
93
|
+
|
85
94
|
OperatorApproval.register(_operatorApprovalTableId(namespace));
|
86
95
|
Owners.register(_ownersTableId(namespace));
|
87
96
|
TokenApproval.register(_tokenApprovalTableId(namespace));
|
@@ -1,6 +1,6 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
2
|
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721.sol)
|
3
|
-
pragma solidity >=0.8.
|
3
|
+
pragma solidity >=0.8.21;
|
4
4
|
|
5
5
|
import { IERC721Events } from "./IERC721Events.sol";
|
6
6
|
import { IERC721Errors } from "./IERC721Errors.sol";
|
@@ -1,12 +1,11 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
2
|
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/IERC721Metadata.sol)
|
3
|
-
pragma solidity >=0.8.
|
3
|
+
pragma solidity >=0.8.21;
|
4
4
|
|
5
5
|
import { IERC721 } from "./IERC721.sol";
|
6
6
|
|
7
7
|
/**
|
8
8
|
* @title ERC-721 Non-Fungible Token Standard, optional metadata extension
|
9
|
-
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
10
9
|
* @dev See https://eips.ethereum.org/EIPS/eip-721
|
11
10
|
*/
|
12
11
|
interface IERC721Metadata is IERC721 {
|
@@ -1,10 +1,9 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
2
|
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721Receiver.sol)
|
3
|
-
pragma solidity >=0.8.
|
3
|
+
pragma solidity >=0.8.21;
|
4
4
|
|
5
5
|
/**
|
6
6
|
* @title ERC721 token receiver interface
|
7
|
-
* @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
|
8
7
|
* @dev Interface for any contract that wants to support safeTransfers
|
9
8
|
* from ERC721 asset contracts.
|
10
9
|
*/
|
@@ -1,9 +1,10 @@
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
2
|
-
pragma solidity >=0.8.
|
2
|
+
pragma solidity >=0.8.21;
|
3
3
|
import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
|
4
4
|
import { RESOURCE_TABLE } from "@latticexyz/store/src/storeResourceTypes.sol";
|
5
5
|
import { RESOURCE_SYSTEM, RESOURCE_NAMESPACE } from "@latticexyz/world/src/worldResourceTypes.sol";
|
6
6
|
|
7
|
+
bytes16 constant MODULE_NAME = "erc721-puppet";
|
7
8
|
bytes14 constant MODULE_NAMESPACE = "erc721-puppet";
|
8
9
|
ResourceId constant MODULE_NAMESPACE_ID = ResourceId.wrap(
|
9
10
|
bytes32(abi.encodePacked(RESOURCE_NAMESPACE, MODULE_NAMESPACE))
|