@latticexyz/world-modules 2.0.0-main-f99e8898 → 2.0.0-main-94d7f1ee

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.
Files changed (115) hide show
  1. package/out/AccessControl.sol/AccessControl.abi.json +1 -0
  2. package/out/AccessControl.sol/AccessControl.json +1651 -0
  3. package/out/ArrayLib.sol/ArrayLib.json +477 -477
  4. package/out/Balances.sol/Balances.abi.json +1 -0
  5. package/out/Balances.sol/Balances.json +13002 -0
  6. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +350 -350
  7. package/out/CallboundDelegations.sol/CallboundDelegations.json +4497 -4497
  8. package/out/DelegationControl.sol/DelegationControl.json +135 -135
  9. package/out/FunctionSelectors.sol/FunctionSelectors.abi.json +1 -0
  10. package/out/FunctionSelectors.sol/FunctionSelectors.json +17874 -0
  11. package/out/Hooks.sol/Hooks.json +45 -45
  12. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +14 -14
  13. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +15 -15
  14. package/out/IBaseWorld.sol/IBaseWorld.json +81 -81
  15. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +15 -15
  16. package/out/IDelegationControl.sol/IDelegationControl.json +7 -7
  17. package/out/ISystemHook.sol/ISystemHook.json +12 -12
  18. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +25 -25
  19. package/out/IWorldErrors.sol/IWorldErrors.json +19 -19
  20. package/out/IWorldKernel.sol/IWorldCall.json +10 -10
  21. package/out/IWorldKernel.sol/IWorldKernel.json +10 -10
  22. package/out/IWorldKernel.sol/IWorldModuleInstallation.json +10 -10
  23. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +39 -39
  24. package/out/KeysInTable.sol/KeysInTable.json +18190 -18190
  25. package/out/KeysInTableHook.sol/KeysInTableHook.json +1407 -1407
  26. package/out/KeysInTableModule.sol/KeysInTableModule.json +838 -838
  27. package/out/KeysWithValue.sol/KeysWithValue.json +6631 -6631
  28. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1557 -1557
  29. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +650 -650
  30. package/out/Module.sol/Module.json +119 -119
  31. package/out/NamespaceOwner.sol/NamespaceOwner.abi.json +1 -0
  32. package/out/NamespaceOwner.sol/NamespaceOwner.json +13016 -0
  33. package/out/ResourceAccess.sol/ResourceAccess.abi.json +1 -0
  34. package/out/ResourceAccess.sol/ResourceAccess.json +17296 -0
  35. package/out/ResourceIds.sol/ResourceIds.json +45 -45
  36. package/out/Schema.sol/SchemaInstance.json +30 -30
  37. package/out/Schema.sol/SchemaLib.json +30 -30
  38. package/out/SchemaType.sol/SchemaType.json +729 -729
  39. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +448 -448
  40. package/out/StoreHook.sol/StoreHook.json +639 -639
  41. package/out/StoreHooks.sol/StoreHooks.json +45 -45
  42. package/out/System.sol/System.json +32 -32
  43. package/out/SystemHooks.sol/SystemHooks.abi.json +1 -0
  44. package/out/SystemHooks.sol/SystemHooks.json +32460 -0
  45. package/out/SystemSwitch.sol/SystemSwitch.abi.json +1 -0
  46. package/out/SystemSwitch.sol/SystemSwitch.json +2879 -0
  47. package/out/Systems.sol/Systems.abi.json +1 -0
  48. package/out/Systems.sol/Systems.json +18508 -0
  49. package/out/Tables.sol/Tables.json +73 -73
  50. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +183 -183
  51. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +3474 -3474
  52. package/out/UniqueEntity.sol/UniqueEntity.json +2345 -2345
  53. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +482 -482
  54. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +128 -128
  55. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +4590 -4590
  56. package/out/WorldContext.sol/WorldContextConsumer.json +14 -14
  57. package/out/WorldContext.sol/WorldContextConsumerLib.json +14 -14
  58. package/out/WorldContext.sol/WorldContextProviderLib.json +14 -14
  59. package/out/WorldResourceId.sol/WorldResourceIdInstance.json +103 -103
  60. package/out/WorldResourceId.sol/WorldResourceIdLib.json +103 -103
  61. package/out/constants.sol/constants.json +194 -194
  62. package/out/getKeysInTable.sol/getKeysInTable.json +918 -918
  63. package/out/getKeysWithValue.sol/getKeysWithValue.json +431 -431
  64. package/out/getTargetTableId.sol/getTargetTableId.json +272 -272
  65. package/out/getUniqueEntity.sol/getUniqueEntity.json +389 -240
  66. package/out/hasKey.sol/hasKey.json +215 -215
  67. package/out/index.sol/index.json +73 -73
  68. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +171 -171
  69. package/out/query.sol/query.json +1892 -1892
  70. package/out/revertWithBytes.sol/revertWithBytes.json +52 -52
  71. package/out/src/Bytes.sol/Bytes.json +3766 -3766
  72. package/out/src/FieldLayout.sol/FieldLayoutInstance.json +1204 -1204
  73. package/out/src/FieldLayout.sol/FieldLayoutLib.json +1204 -1204
  74. package/out/src/Hook.sol/HookInstance.abi.json +1 -0
  75. package/out/src/Hook.sol/HookInstance.json +2823 -0
  76. package/out/src/Hook.sol/HookLib.abi.json +1 -0
  77. package/out/src/Hook.sol/HookLib.json +2823 -0
  78. package/out/src/IStore.sol/IStore.json +73 -73
  79. package/out/src/ISystemHook.sol/ISystemHook.abi.json +67 -0
  80. package/out/src/ISystemHook.sol/ISystemHook.abi.json.d.ts +68 -0
  81. package/out/src/ISystemHook.sol/ISystemHook.json +852 -0
  82. package/out/src/IWorldErrors.sol/IWorldErrors.abi.json +189 -0
  83. package/out/src/IWorldErrors.sol/IWorldErrors.abi.json.d.ts +190 -0
  84. package/out/src/IWorldErrors.sol/IWorldErrors.json +1463 -0
  85. package/out/src/IWorldKernel.sol/IWorldCall.json +258 -258
  86. package/out/src/IWorldKernel.sol/IWorldKernel.json +258 -258
  87. package/out/src/IWorldKernel.sol/IWorldModuleInstallation.json +258 -258
  88. package/out/src/Memory.sol/Memory.json +242 -242
  89. package/out/src/PackedCounter.sol/PackedCounterInstance.json +1633 -1633
  90. package/out/src/PackedCounter.sol/PackedCounterLib.json +1633 -1633
  91. package/out/src/ResourceId.sol/ResourceIdInstance.json +206 -206
  92. package/out/src/ResourceId.sol/ResourceIdLib.json +206 -206
  93. package/out/src/Schema.sol/SchemaInstance.json +1351 -1351
  94. package/out/src/Schema.sol/SchemaLib.json +1351 -1351
  95. package/out/src/Slice.sol/SliceInstance.json +802 -802
  96. package/out/src/Slice.sol/SliceLib.json +802 -802
  97. package/out/src/StoreCore.sol/StoreCore.json +7412 -7412
  98. package/out/src/StoreCore.sol/StoreCoreInternal.json +7412 -7412
  99. package/out/src/StoreSwitch.sol/StoreSwitch.json +4064 -4064
  100. package/out/src/WorldContext.sol/WorldContextConsumer.json +805 -805
  101. package/out/src/WorldContext.sol/WorldContextConsumerLib.json +807 -807
  102. package/out/src/WorldContext.sol/WorldContextProviderLib.json +807 -807
  103. package/out/src/WorldResourceId.sol/WorldResourceIdInstance.json +809 -809
  104. package/out/src/WorldResourceId.sol/WorldResourceIdLib.json +809 -809
  105. package/out/storeHookTypes.sol/storeHookTypes.json +204 -204
  106. package/out/storeResourceTypes.sol/storeResourceTypes.json +23 -23
  107. package/out/systemHookTypes.sol/systemHookTypes.json +270 -0
  108. package/out/tables/ResourceIds.sol/ResourceIds.json +2922 -2922
  109. package/out/tables/Tables.sol/Tables.json +12189 -12189
  110. package/out/tightcoder/EncodeArray.sol/EncodeArray.json +6883 -6883
  111. package/out/types.sol/types.json +71 -71
  112. package/out/worldResourceTypes.sol/worldResourceTypes.json +92 -92
  113. package/package.json +8 -8
  114. package/src/modules/uniqueentity/getUniqueEntity.sol +5 -3
  115. package/src/utils/SystemSwitch.sol +82 -0
@@ -0,0 +1,2879 @@
1
+ {
2
+ "abi": [],
3
+ "bytecode": {
4
+ "object": "0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000815000a",
5
+ "sourceMap": "1375:2769:149:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1375:2769:149;;;;;;;;;;;;;;;;;",
6
+ "linkReferences": {}
7
+ },
8
+ "deployedBytecode": {
9
+ "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000815000a",
10
+ "sourceMap": "1375:2769:149:-:0;;;;;;;;",
11
+ "linkReferences": {}
12
+ },
13
+ "methodIdentifiers": {},
14
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"The SystemSwitch library provides functions for interacting with systems from other systems.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SystemSwitch\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/utils/SystemSwitch.sol\":\"SystemSwitch\"},\"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/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba\",\"dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18\",\"dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e\",\"dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0\",\"dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c\",\"dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x0893905ebe431a414226b479a84a54804091001a406222c748adbd4b651853a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bcfcd3848127884041f0bcd727a0e7acbddec283aa6c16ba47abc6a3be720648\",\"dweb:/ipfs/QmY5fBd53e4Ro6vzTZYsteSibSTXVA3GHTeCAiUZTa5DPZ\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534\",\"dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xacf4aee01f167b98b2869bdf4407682fd9f18b85507048bc274bcb98d094948c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86b114326973cef4f59c17e947945d09b90a0c48ede1da80f4f8aed0b6de179c\",\"dweb:/ipfs/QmZ6K6gZnV2ZdgbT8yG7Jz4HgoPymgdX3jTy6oUnG9xdgD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xc2dc1bd6335fb0cc27cb7a80298d954d9ce0a0e9864d1dd8531aadb66c0ce21d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7e34a386bd44933010c4f5a4dbfe8b0b8e5e9e39eaead46a2ebef0018db9b72\",\"dweb:/ipfs/QmQPyAdLUmE2Y6Ai7t2n56USg25PGHYxxXWRi1zEkdyT6a\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xfecdfde3b41c04dcf43e9c19f84f6a7f77df0fd844928692742b47662a0b814c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://968e83ac99e8d1799730aa6f1f23962c3fe3566cd7ec8bcf97d297823c364764\",\"dweb:/ipfs/QmVnhbeg89ajfLP1U1HDLiWi8T7HuFtsXUydjKXyyPa7MP\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x42b9fd484a055e8e312a2396059fb76a962608fa3a875ea3da6e5aab79084d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://866fd30788245eb54ac09d70768c0b34846d361b4219781c814fb06e38fb546c\",\"dweb:/ipfs/QmRbLCYjZ9qefcC8q7gnsAUsqCTEjdRtRnXdSNB1x7saPz\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0x10ca29a5d7075edb2fe5cd559077fc34857129182f9d6ea074a234dfbcdb313e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fe2783b7d0592d14a20b8be192dd3fa4216f8e541adea579859ea2bf1224da3\",\"dweb:/ipfs/QmTi9XDP5jsQpbqvJxPvkqyDByv7i88wKidrYnTtLdPhka\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xec02d49b84a882c9cf01e4e5c16f890ed7c52db945fd43a6f97ffe87730ba0d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f8ee1a3aaac5789b36808bdae2e26e32d1664583a6b21680b5721f04d81bbc3\",\"dweb:/ipfs/Qmd4L3vGQiavSCe9g2k7riyA6cer3ruuxRFehAJCSxNRfw\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0xd38e76738fe2bd50593e1931e9cf57f425d196d9030cf17dc0c6f577b1a3c3b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7a66487eff3ce6391c5183c0399579ed3a6f1521f028f3c2578092134b4fe74\",\"dweb:/ipfs/QmZCc5NiLsUZSzNBg1TNXXqKfuKecoUcoUDwdi67PXSz7h\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0xcd8b62e56d9174587346ae54cc1b166f3690da5b2d13b53c92acdc8518cd0f17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22789c208c7aa4b770cc444b69487d6ac37b05dd3bbac426258acff932b18a6f\",\"dweb:/ipfs/QmWChMPXLeuEhpmG4r3Bv2mwqj44BSDccZFkW4HrStZ3d2\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x9e5fc362b440b455bbe891dd8359ad806d68ef94bd830a88c194427f3c2594f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c15bafbbd0b7a5bb86688ee0167dd38a67fd057d42b2dd039dca68c72332b0f\",\"dweb:/ipfs/QmVxr2tS62NdguHhWJi6ZHLkp8HJmWrvDF9GR7AQuGbYgs\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x82ef3a86d211f4dfe2c190325ca5457867d2ca02fadb21c403d02ecaff5889db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59bb5cfb25ee1756a2f695941f5bc71f6be243a61bc3259b85e9a240e5cab0fa\",\"dweb:/ipfs/Qma6yZjHm282Zw19Ei3myVqkQ5fqqXarsNjEVEhbrKA532\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xa38de0e24a5780ead3f9570c885c833fdf7df503481d1f56f4559b7eb4cf877f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f1a2130427691788f041ef5a98bce5b3479b47da92f89f49210fbb1db12e8f85\",\"dweb:/ipfs/QmXnrRGn3iKoJ8kau8uTJyk1SSRABJTusxj2nQrxqs9NwX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x78e11ea5cfd963afbe5e49d890876692f1df0ca1b391f02b4951fa02c469557e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://960b12d67881f7aeeb0e5cfa4d263e919a989d9d5c9f009190025e6161e9ecf3\",\"dweb:/ipfs/QmP52PVSwqcUZ4fqmbTsSGSa5wTN8mp7KFxUjS3PRfVENs\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x36c772d51a5da46fcddf88831194d6d331083b8c8246fa79107c4b697c258d77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d2656374c398a2b075d5f26d2ab2c3ea315c99912e52d8030d50f5f8fdda8ac\",\"dweb:/ipfs/QmSG8uJr2ZbFVnht5cTG6xb6XbB6f3kvnznks4BdeAMYET\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9\",\"dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]},\"src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x8242e32af7f919eebac06852a64d354f8d24ee777079244d430852f22d47230e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32745bde5e8e24e0c293545b1047a580a77602f01b8695c2236192187bdc1da\",\"dweb:/ipfs/QmeX59sxxU6SoM9o1KbCDxuR4DmHB3nyx1Kee4nLgfq6UH\"]}},\"version\":1}",
15
+ "metadata": {
16
+ "compiler": {
17
+ "version": "0.8.21+commit.d9974bed"
18
+ },
19
+ "language": "Solidity",
20
+ "output": {
21
+ "abi": [],
22
+ "devdoc": {
23
+ "kind": "dev",
24
+ "methods": {},
25
+ "version": 1
26
+ },
27
+ "userdoc": {
28
+ "kind": "user",
29
+ "methods": {},
30
+ "version": 1
31
+ }
32
+ },
33
+ "settings": {
34
+ "remappings": [
35
+ "@latticexyz/=node_modules/@latticexyz/",
36
+ "ds-test/=node_modules/ds-test/src/",
37
+ "forge-std/=node_modules/forge-std/src/"
38
+ ],
39
+ "optimizer": {
40
+ "enabled": true,
41
+ "runs": 3000
42
+ },
43
+ "metadata": {
44
+ "bytecodeHash": "none"
45
+ },
46
+ "compilationTarget": {
47
+ "src/utils/SystemSwitch.sol": "SystemSwitch"
48
+ },
49
+ "libraries": {}
50
+ },
51
+ "sources": {
52
+ "node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol": {
53
+ "keccak256": "0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb",
54
+ "urls": [
55
+ "bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4",
56
+ "dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC"
57
+ ],
58
+ "license": "MIT"
59
+ },
60
+ "node_modules/@latticexyz/store/src/Bytes.sol": {
61
+ "keccak256": "0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558",
62
+ "urls": [
63
+ "bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4",
64
+ "dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk"
65
+ ],
66
+ "license": "MIT"
67
+ },
68
+ "node_modules/@latticexyz/store/src/FieldLayout.sol": {
69
+ "keccak256": "0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0",
70
+ "urls": [
71
+ "bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba",
72
+ "dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9"
73
+ ],
74
+ "license": "MIT"
75
+ },
76
+ "node_modules/@latticexyz/store/src/Hook.sol": {
77
+ "keccak256": "0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd",
78
+ "urls": [
79
+ "bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18",
80
+ "dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe"
81
+ ],
82
+ "license": "MIT"
83
+ },
84
+ "node_modules/@latticexyz/store/src/IERC165.sol": {
85
+ "keccak256": "0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf",
86
+ "urls": [
87
+ "bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2",
88
+ "dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb"
89
+ ],
90
+ "license": "MIT"
91
+ },
92
+ "node_modules/@latticexyz/store/src/IStore.sol": {
93
+ "keccak256": "0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827",
94
+ "urls": [
95
+ "bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0",
96
+ "dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb"
97
+ ],
98
+ "license": "MIT"
99
+ },
100
+ "node_modules/@latticexyz/store/src/IStoreData.sol": {
101
+ "keccak256": "0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5",
102
+ "urls": [
103
+ "bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a",
104
+ "dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx"
105
+ ],
106
+ "license": "MIT"
107
+ },
108
+ "node_modules/@latticexyz/store/src/IStoreErrors.sol": {
109
+ "keccak256": "0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212",
110
+ "urls": [
111
+ "bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc",
112
+ "dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ"
113
+ ],
114
+ "license": "MIT"
115
+ },
116
+ "node_modules/@latticexyz/store/src/IStoreEvents.sol": {
117
+ "keccak256": "0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f",
118
+ "urls": [
119
+ "bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d",
120
+ "dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv"
121
+ ],
122
+ "license": "MIT"
123
+ },
124
+ "node_modules/@latticexyz/store/src/IStoreHook.sol": {
125
+ "keccak256": "0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e",
126
+ "urls": [
127
+ "bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e",
128
+ "dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy"
129
+ ],
130
+ "license": "MIT"
131
+ },
132
+ "node_modules/@latticexyz/store/src/IStoreRead.sol": {
133
+ "keccak256": "0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37",
134
+ "urls": [
135
+ "bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac",
136
+ "dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo"
137
+ ],
138
+ "license": "MIT"
139
+ },
140
+ "node_modules/@latticexyz/store/src/IStoreRegistration.sol": {
141
+ "keccak256": "0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f",
142
+ "urls": [
143
+ "bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115",
144
+ "dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg"
145
+ ],
146
+ "license": "MIT"
147
+ },
148
+ "node_modules/@latticexyz/store/src/IStoreWrite.sol": {
149
+ "keccak256": "0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b",
150
+ "urls": [
151
+ "bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1",
152
+ "dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U"
153
+ ],
154
+ "license": "MIT"
155
+ },
156
+ "node_modules/@latticexyz/store/src/Memory.sol": {
157
+ "keccak256": "0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7",
158
+ "urls": [
159
+ "bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5",
160
+ "dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv"
161
+ ],
162
+ "license": "MIT"
163
+ },
164
+ "node_modules/@latticexyz/store/src/PackedCounter.sol": {
165
+ "keccak256": "0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb",
166
+ "urls": [
167
+ "bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0",
168
+ "dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH"
169
+ ],
170
+ "license": "MIT"
171
+ },
172
+ "node_modules/@latticexyz/store/src/ResourceId.sol": {
173
+ "keccak256": "0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed",
174
+ "urls": [
175
+ "bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d",
176
+ "dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d"
177
+ ],
178
+ "license": "MIT"
179
+ },
180
+ "node_modules/@latticexyz/store/src/Schema.sol": {
181
+ "keccak256": "0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401",
182
+ "urls": [
183
+ "bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3",
184
+ "dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE"
185
+ ],
186
+ "license": "MIT"
187
+ },
188
+ "node_modules/@latticexyz/store/src/Slice.sol": {
189
+ "keccak256": "0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32",
190
+ "urls": [
191
+ "bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c",
192
+ "dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT"
193
+ ],
194
+ "license": "MIT"
195
+ },
196
+ "node_modules/@latticexyz/store/src/Storage.sol": {
197
+ "keccak256": "0x0893905ebe431a414226b479a84a54804091001a406222c748adbd4b651853a5",
198
+ "urls": [
199
+ "bzz-raw://bcfcd3848127884041f0bcd727a0e7acbddec283aa6c16ba47abc6a3be720648",
200
+ "dweb:/ipfs/QmY5fBd53e4Ro6vzTZYsteSibSTXVA3GHTeCAiUZTa5DPZ"
201
+ ],
202
+ "license": "MIT"
203
+ },
204
+ "node_modules/@latticexyz/store/src/StoreCore.sol": {
205
+ "keccak256": "0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180",
206
+ "urls": [
207
+ "bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534",
208
+ "dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj"
209
+ ],
210
+ "license": "MIT"
211
+ },
212
+ "node_modules/@latticexyz/store/src/StoreSwitch.sol": {
213
+ "keccak256": "0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416",
214
+ "urls": [
215
+ "bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7",
216
+ "dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"
217
+ ],
218
+ "license": "MIT"
219
+ },
220
+ "node_modules/@latticexyz/store/src/codegen/index.sol": {
221
+ "keccak256": "0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3",
222
+ "urls": [
223
+ "bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6",
224
+ "dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"
225
+ ],
226
+ "license": "MIT"
227
+ },
228
+ "node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol": {
229
+ "keccak256": "0xacf4aee01f167b98b2869bdf4407682fd9f18b85507048bc274bcb98d094948c",
230
+ "urls": [
231
+ "bzz-raw://86b114326973cef4f59c17e947945d09b90a0c48ede1da80f4f8aed0b6de179c",
232
+ "dweb:/ipfs/QmZ6K6gZnV2ZdgbT8yG7Jz4HgoPymgdX3jTy6oUnG9xdgD"
233
+ ],
234
+ "license": "MIT"
235
+ },
236
+ "node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol": {
237
+ "keccak256": "0xc2dc1bd6335fb0cc27cb7a80298d954d9ce0a0e9864d1dd8531aadb66c0ce21d",
238
+ "urls": [
239
+ "bzz-raw://a7e34a386bd44933010c4f5a4dbfe8b0b8e5e9e39eaead46a2ebef0018db9b72",
240
+ "dweb:/ipfs/QmQPyAdLUmE2Y6Ai7t2n56USg25PGHYxxXWRi1zEkdyT6a"
241
+ ],
242
+ "license": "MIT"
243
+ },
244
+ "node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol": {
245
+ "keccak256": "0xfecdfde3b41c04dcf43e9c19f84f6a7f77df0fd844928692742b47662a0b814c",
246
+ "urls": [
247
+ "bzz-raw://968e83ac99e8d1799730aa6f1f23962c3fe3566cd7ec8bcf97d297823c364764",
248
+ "dweb:/ipfs/QmVnhbeg89ajfLP1U1HDLiWi8T7HuFtsXUydjKXyyPa7MP"
249
+ ],
250
+ "license": "MIT"
251
+ },
252
+ "node_modules/@latticexyz/store/src/codegen/tables/Tables.sol": {
253
+ "keccak256": "0x42b9fd484a055e8e312a2396059fb76a962608fa3a875ea3da6e5aab79084d04",
254
+ "urls": [
255
+ "bzz-raw://866fd30788245eb54ac09d70768c0b34846d361b4219781c814fb06e38fb546c",
256
+ "dweb:/ipfs/QmRbLCYjZ9qefcC8q7gnsAUsqCTEjdRtRnXdSNB1x7saPz"
257
+ ],
258
+ "license": "MIT"
259
+ },
260
+ "node_modules/@latticexyz/store/src/constants.sol": {
261
+ "keccak256": "0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076",
262
+ "urls": [
263
+ "bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793",
264
+ "dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"
265
+ ],
266
+ "license": "MIT"
267
+ },
268
+ "node_modules/@latticexyz/store/src/leftMask.sol": {
269
+ "keccak256": "0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f",
270
+ "urls": [
271
+ "bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401",
272
+ "dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr"
273
+ ],
274
+ "license": "MIT"
275
+ },
276
+ "node_modules/@latticexyz/store/src/storeHookTypes.sol": {
277
+ "keccak256": "0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5",
278
+ "urls": [
279
+ "bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81",
280
+ "dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"
281
+ ],
282
+ "license": "MIT"
283
+ },
284
+ "node_modules/@latticexyz/store/src/storeResourceTypes.sol": {
285
+ "keccak256": "0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2",
286
+ "urls": [
287
+ "bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84",
288
+ "dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"
289
+ ],
290
+ "license": "MIT"
291
+ },
292
+ "node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol": {
293
+ "keccak256": "0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04",
294
+ "urls": [
295
+ "bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1",
296
+ "dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"
297
+ ],
298
+ "license": "MIT"
299
+ },
300
+ "node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol": {
301
+ "keccak256": "0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d",
302
+ "urls": [
303
+ "bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49",
304
+ "dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"
305
+ ],
306
+ "license": "MIT"
307
+ },
308
+ "node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol": {
309
+ "keccak256": "0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b",
310
+ "urls": [
311
+ "bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256",
312
+ "dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A"
313
+ ],
314
+ "license": "MIT"
315
+ },
316
+ "node_modules/@latticexyz/store/src/version.sol": {
317
+ "keccak256": "0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c",
318
+ "urls": [
319
+ "bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491",
320
+ "dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"
321
+ ],
322
+ "license": "MIT"
323
+ },
324
+ "node_modules/@latticexyz/world/src/AccessControl.sol": {
325
+ "keccak256": "0x10ca29a5d7075edb2fe5cd559077fc34857129182f9d6ea074a234dfbcdb313e",
326
+ "urls": [
327
+ "bzz-raw://1fe2783b7d0592d14a20b8be192dd3fa4216f8e541adea579859ea2bf1224da3",
328
+ "dweb:/ipfs/QmTi9XDP5jsQpbqvJxPvkqyDByv7i88wKidrYnTtLdPhka"
329
+ ],
330
+ "license": "MIT"
331
+ },
332
+ "node_modules/@latticexyz/world/src/IERC165.sol": {
333
+ "keccak256": "0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47",
334
+ "urls": [
335
+ "bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5",
336
+ "dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"
337
+ ],
338
+ "license": "MIT"
339
+ },
340
+ "node_modules/@latticexyz/world/src/IModule.sol": {
341
+ "keccak256": "0xec02d49b84a882c9cf01e4e5c16f890ed7c52db945fd43a6f97ffe87730ba0d3",
342
+ "urls": [
343
+ "bzz-raw://8f8ee1a3aaac5789b36808bdae2e26e32d1664583a6b21680b5721f04d81bbc3",
344
+ "dweb:/ipfs/Qmd4L3vGQiavSCe9g2k7riyA6cer3ruuxRFehAJCSxNRfw"
345
+ ],
346
+ "license": "MIT"
347
+ },
348
+ "node_modules/@latticexyz/world/src/ISystemHook.sol": {
349
+ "keccak256": "0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db",
350
+ "urls": [
351
+ "bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510",
352
+ "dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw"
353
+ ],
354
+ "license": "MIT"
355
+ },
356
+ "node_modules/@latticexyz/world/src/IWorldContextConsumer.sol": {
357
+ "keccak256": "0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500",
358
+ "urls": [
359
+ "bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d",
360
+ "dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu"
361
+ ],
362
+ "license": "MIT"
363
+ },
364
+ "node_modules/@latticexyz/world/src/IWorldErrors.sol": {
365
+ "keccak256": "0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7",
366
+ "urls": [
367
+ "bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83",
368
+ "dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"
369
+ ],
370
+ "license": "MIT"
371
+ },
372
+ "node_modules/@latticexyz/world/src/IWorldKernel.sol": {
373
+ "keccak256": "0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb",
374
+ "urls": [
375
+ "bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c",
376
+ "dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs"
377
+ ],
378
+ "license": "MIT"
379
+ },
380
+ "node_modules/@latticexyz/world/src/WorldContext.sol": {
381
+ "keccak256": "0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a",
382
+ "urls": [
383
+ "bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518",
384
+ "dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"
385
+ ],
386
+ "license": "MIT"
387
+ },
388
+ "node_modules/@latticexyz/world/src/WorldResourceId.sol": {
389
+ "keccak256": "0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417",
390
+ "urls": [
391
+ "bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb",
392
+ "dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK"
393
+ ],
394
+ "license": "MIT"
395
+ },
396
+ "node_modules/@latticexyz/world/src/codegen/tables/Balances.sol": {
397
+ "keccak256": "0xd38e76738fe2bd50593e1931e9cf57f425d196d9030cf17dc0c6f577b1a3c3b5",
398
+ "urls": [
399
+ "bzz-raw://f7a66487eff3ce6391c5183c0399579ed3a6f1521f028f3c2578092134b4fe74",
400
+ "dweb:/ipfs/QmZCc5NiLsUZSzNBg1TNXXqKfuKecoUcoUDwdi67PXSz7h"
401
+ ],
402
+ "license": "MIT"
403
+ },
404
+ "node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol": {
405
+ "keccak256": "0xcd8b62e56d9174587346ae54cc1b166f3690da5b2d13b53c92acdc8518cd0f17",
406
+ "urls": [
407
+ "bzz-raw://22789c208c7aa4b770cc444b69487d6ac37b05dd3bbac426258acff932b18a6f",
408
+ "dweb:/ipfs/QmWChMPXLeuEhpmG4r3Bv2mwqj44BSDccZFkW4HrStZ3d2"
409
+ ],
410
+ "license": "MIT"
411
+ },
412
+ "node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol": {
413
+ "keccak256": "0x9e5fc362b440b455bbe891dd8359ad806d68ef94bd830a88c194427f3c2594f3",
414
+ "urls": [
415
+ "bzz-raw://9c15bafbbd0b7a5bb86688ee0167dd38a67fd057d42b2dd039dca68c72332b0f",
416
+ "dweb:/ipfs/QmVxr2tS62NdguHhWJi6ZHLkp8HJmWrvDF9GR7AQuGbYgs"
417
+ ],
418
+ "license": "MIT"
419
+ },
420
+ "node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol": {
421
+ "keccak256": "0x82ef3a86d211f4dfe2c190325ca5457867d2ca02fadb21c403d02ecaff5889db",
422
+ "urls": [
423
+ "bzz-raw://59bb5cfb25ee1756a2f695941f5bc71f6be243a61bc3259b85e9a240e5cab0fa",
424
+ "dweb:/ipfs/Qma6yZjHm282Zw19Ei3myVqkQ5fqqXarsNjEVEhbrKA532"
425
+ ],
426
+ "license": "MIT"
427
+ },
428
+ "node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol": {
429
+ "keccak256": "0xa38de0e24a5780ead3f9570c885c833fdf7df503481d1f56f4559b7eb4cf877f",
430
+ "urls": [
431
+ "bzz-raw://f1a2130427691788f041ef5a98bce5b3479b47da92f89f49210fbb1db12e8f85",
432
+ "dweb:/ipfs/QmXnrRGn3iKoJ8kau8uTJyk1SSRABJTusxj2nQrxqs9NwX"
433
+ ],
434
+ "license": "MIT"
435
+ },
436
+ "node_modules/@latticexyz/world/src/codegen/tables/Systems.sol": {
437
+ "keccak256": "0x78e11ea5cfd963afbe5e49d890876692f1df0ca1b391f02b4951fa02c469557e",
438
+ "urls": [
439
+ "bzz-raw://960b12d67881f7aeeb0e5cfa4d263e919a989d9d5c9f009190025e6161e9ecf3",
440
+ "dweb:/ipfs/QmP52PVSwqcUZ4fqmbTsSGSa5wTN8mp7KFxUjS3PRfVENs"
441
+ ],
442
+ "license": "MIT"
443
+ },
444
+ "node_modules/@latticexyz/world/src/constants.sol": {
445
+ "keccak256": "0x36c772d51a5da46fcddf88831194d6d331083b8c8246fa79107c4b697c258d77",
446
+ "urls": [
447
+ "bzz-raw://2d2656374c398a2b075d5f26d2ab2c3ea315c99912e52d8030d50f5f8fdda8ac",
448
+ "dweb:/ipfs/QmSG8uJr2ZbFVnht5cTG6xb6XbB6f3kvnznks4BdeAMYET"
449
+ ],
450
+ "license": "MIT"
451
+ },
452
+ "node_modules/@latticexyz/world/src/revertWithBytes.sol": {
453
+ "keccak256": "0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55",
454
+ "urls": [
455
+ "bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df",
456
+ "dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"
457
+ ],
458
+ "license": "MIT"
459
+ },
460
+ "node_modules/@latticexyz/world/src/systemHookTypes.sol": {
461
+ "keccak256": "0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb",
462
+ "urls": [
463
+ "bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9",
464
+ "dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx"
465
+ ],
466
+ "license": "MIT"
467
+ },
468
+ "node_modules/@latticexyz/world/src/worldResourceTypes.sol": {
469
+ "keccak256": "0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746",
470
+ "urls": [
471
+ "bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2",
472
+ "dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"
473
+ ],
474
+ "license": "MIT"
475
+ },
476
+ "src/utils/SystemSwitch.sol": {
477
+ "keccak256": "0x8242e32af7f919eebac06852a64d354f8d24ee777079244d430852f22d47230e",
478
+ "urls": [
479
+ "bzz-raw://d32745bde5e8e24e0c293545b1047a580a77602f01b8695c2236192187bdc1da",
480
+ "dweb:/ipfs/QmeX59sxxU6SoM9o1KbCDxuR4DmHB3nyx1Kee4nLgfq6UH"
481
+ ],
482
+ "license": "MIT"
483
+ }
484
+ },
485
+ "version": 1
486
+ },
487
+ "ast": {
488
+ "absolutePath": "src/utils/SystemSwitch.sol",
489
+ "id": 67338,
490
+ "exportedSymbols": {
491
+ "AFTER_CALL_SYSTEM": [
492
+ 48985
493
+ ],
494
+ "AccessControl": [
495
+ 41642
496
+ ],
497
+ "BEFORE_CALL_SYSTEM": [
498
+ 48979
499
+ ],
500
+ "Balances": [
501
+ 43534
502
+ ],
503
+ "Bytes": [
504
+ 27790
505
+ ],
506
+ "FunctionSelectors": [
507
+ 44933
508
+ ],
509
+ "Hook": [
510
+ 28228
511
+ ],
512
+ "ISystemHook": [
513
+ 41729
514
+ ],
515
+ "IWorldErrors": [
516
+ 41823
517
+ ],
518
+ "IWorldKernel": [
519
+ 41900
520
+ ],
521
+ "ROOT_NAMESPACE": [
522
+ 48907
523
+ ],
524
+ "ResourceId": [
525
+ 29121
526
+ ],
527
+ "SystemHooks": [
528
+ 47464
529
+ ],
530
+ "SystemSwitch": [
531
+ 67337
532
+ ],
533
+ "Systems": [
534
+ 48887
535
+ ],
536
+ "WorldContextConsumerLib": [
537
+ 42054
538
+ ],
539
+ "WorldContextProviderLib": [
540
+ 42208
541
+ ],
542
+ "WorldResourceIdInstance": [
543
+ 42492
544
+ ],
545
+ "revertWithBytes": [
546
+ 48971
547
+ ]
548
+ },
549
+ "nodeType": "SourceUnit",
550
+ "src": "32:4113:149",
551
+ "nodes": [
552
+ {
553
+ "id": 67165,
554
+ "nodeType": "PragmaDirective",
555
+ "src": "32:25:149",
556
+ "nodes": [],
557
+ "literals": [
558
+ "solidity",
559
+ ">=",
560
+ "0.8",
561
+ ".21"
562
+ ]
563
+ },
564
+ {
565
+ "id": 67167,
566
+ "nodeType": "ImportDirective",
567
+ "src": "59:54:149",
568
+ "nodes": [],
569
+ "absolutePath": "node_modules/@latticexyz/store/src/Hook.sol",
570
+ "file": "@latticexyz/store/src/Hook.sol",
571
+ "nameLocation": "-1:-1:-1",
572
+ "scope": 67338,
573
+ "sourceUnit": 28418,
574
+ "symbolAliases": [
575
+ {
576
+ "foreign": {
577
+ "id": 67166,
578
+ "name": "Hook",
579
+ "nodeType": "Identifier",
580
+ "overloadedDeclarations": [],
581
+ "referencedDeclaration": 28228,
582
+ "src": "68:4:149",
583
+ "typeDescriptions": {}
584
+ },
585
+ "nameLocation": "-1:-1:-1"
586
+ }
587
+ ],
588
+ "unitAlias": ""
589
+ },
590
+ {
591
+ "id": 67169,
592
+ "nodeType": "ImportDirective",
593
+ "src": "114:56:149",
594
+ "nodes": [],
595
+ "absolutePath": "node_modules/@latticexyz/store/src/Bytes.sol",
596
+ "file": "@latticexyz/store/src/Bytes.sol",
597
+ "nameLocation": "-1:-1:-1",
598
+ "scope": 67338,
599
+ "sourceUnit": 27791,
600
+ "symbolAliases": [
601
+ {
602
+ "foreign": {
603
+ "id": 67168,
604
+ "name": "Bytes",
605
+ "nodeType": "Identifier",
606
+ "overloadedDeclarations": [],
607
+ "referencedDeclaration": 27790,
608
+ "src": "123:5:149",
609
+ "typeDescriptions": {}
610
+ },
611
+ "nameLocation": "-1:-1:-1"
612
+ }
613
+ ],
614
+ "unitAlias": ""
615
+ },
616
+ {
617
+ "id": 67171,
618
+ "nodeType": "ImportDirective",
619
+ "src": "172:70:149",
620
+ "nodes": [],
621
+ "absolutePath": "node_modules/@latticexyz/world/src/IWorldKernel.sol",
622
+ "file": "@latticexyz/world/src/IWorldKernel.sol",
623
+ "nameLocation": "-1:-1:-1",
624
+ "scope": 67338,
625
+ "sourceUnit": 41901,
626
+ "symbolAliases": [
627
+ {
628
+ "foreign": {
629
+ "id": 67170,
630
+ "name": "IWorldKernel",
631
+ "nodeType": "Identifier",
632
+ "overloadedDeclarations": [],
633
+ "referencedDeclaration": 41900,
634
+ "src": "181:12:149",
635
+ "typeDescriptions": {}
636
+ },
637
+ "nameLocation": "-1:-1:-1"
638
+ }
639
+ ],
640
+ "unitAlias": ""
641
+ },
642
+ {
643
+ "id": 67174,
644
+ "nodeType": "ImportDirective",
645
+ "src": "243:96:149",
646
+ "nodes": [],
647
+ "absolutePath": "node_modules/@latticexyz/world/src/WorldResourceId.sol",
648
+ "file": "@latticexyz/world/src/WorldResourceId.sol",
649
+ "nameLocation": "-1:-1:-1",
650
+ "scope": 67338,
651
+ "sourceUnit": 42493,
652
+ "symbolAliases": [
653
+ {
654
+ "foreign": {
655
+ "id": 67172,
656
+ "name": "ResourceId",
657
+ "nodeType": "Identifier",
658
+ "overloadedDeclarations": [],
659
+ "referencedDeclaration": 29121,
660
+ "src": "252:10:149",
661
+ "typeDescriptions": {}
662
+ },
663
+ "nameLocation": "-1:-1:-1"
664
+ },
665
+ {
666
+ "foreign": {
667
+ "id": 67173,
668
+ "name": "WorldResourceIdInstance",
669
+ "nodeType": "Identifier",
670
+ "overloadedDeclarations": [],
671
+ "referencedDeclaration": 42492,
672
+ "src": "264:23:149",
673
+ "typeDescriptions": {}
674
+ },
675
+ "nameLocation": "-1:-1:-1"
676
+ }
677
+ ],
678
+ "unitAlias": ""
679
+ },
680
+ {
681
+ "id": 67177,
682
+ "nodeType": "ImportDirective",
683
+ "src": "340:106:149",
684
+ "nodes": [],
685
+ "absolutePath": "node_modules/@latticexyz/world/src/WorldContext.sol",
686
+ "file": "@latticexyz/world/src/WorldContext.sol",
687
+ "nameLocation": "-1:-1:-1",
688
+ "scope": 67338,
689
+ "sourceUnit": 42209,
690
+ "symbolAliases": [
691
+ {
692
+ "foreign": {
693
+ "id": 67175,
694
+ "name": "WorldContextProviderLib",
695
+ "nodeType": "Identifier",
696
+ "overloadedDeclarations": [],
697
+ "referencedDeclaration": 42208,
698
+ "src": "349:23:149",
699
+ "typeDescriptions": {}
700
+ },
701
+ "nameLocation": "-1:-1:-1"
702
+ },
703
+ {
704
+ "foreign": {
705
+ "id": 67176,
706
+ "name": "WorldContextConsumerLib",
707
+ "nodeType": "Identifier",
708
+ "overloadedDeclarations": [],
709
+ "referencedDeclaration": 42054,
710
+ "src": "374:23:149",
711
+ "typeDescriptions": {}
712
+ },
713
+ "nameLocation": "-1:-1:-1"
714
+ }
715
+ ],
716
+ "unitAlias": ""
717
+ },
718
+ {
719
+ "id": 67179,
720
+ "nodeType": "ImportDirective",
721
+ "src": "447:72:149",
722
+ "nodes": [],
723
+ "absolutePath": "node_modules/@latticexyz/world/src/AccessControl.sol",
724
+ "file": "@latticexyz/world/src/AccessControl.sol",
725
+ "nameLocation": "-1:-1:-1",
726
+ "scope": 67338,
727
+ "sourceUnit": 41643,
728
+ "symbolAliases": [
729
+ {
730
+ "foreign": {
731
+ "id": 67178,
732
+ "name": "AccessControl",
733
+ "nodeType": "Identifier",
734
+ "overloadedDeclarations": [],
735
+ "referencedDeclaration": 41642,
736
+ "src": "456:13:149",
737
+ "typeDescriptions": {}
738
+ },
739
+ "nameLocation": "-1:-1:-1"
740
+ }
741
+ ],
742
+ "unitAlias": ""
743
+ },
744
+ {
745
+ "id": 67181,
746
+ "nodeType": "ImportDirective",
747
+ "src": "520:69:149",
748
+ "nodes": [],
749
+ "absolutePath": "node_modules/@latticexyz/world/src/constants.sol",
750
+ "file": "@latticexyz/world/src/constants.sol",
751
+ "nameLocation": "-1:-1:-1",
752
+ "scope": 67338,
753
+ "sourceUnit": 48962,
754
+ "symbolAliases": [
755
+ {
756
+ "foreign": {
757
+ "id": 67180,
758
+ "name": "ROOT_NAMESPACE",
759
+ "nodeType": "Identifier",
760
+ "overloadedDeclarations": [],
761
+ "referencedDeclaration": 48907,
762
+ "src": "529:14:149",
763
+ "typeDescriptions": {}
764
+ },
765
+ "nameLocation": "-1:-1:-1"
766
+ }
767
+ ],
768
+ "unitAlias": ""
769
+ },
770
+ {
771
+ "id": 67183,
772
+ "nodeType": "ImportDirective",
773
+ "src": "590:76:149",
774
+ "nodes": [],
775
+ "absolutePath": "node_modules/@latticexyz/world/src/revertWithBytes.sol",
776
+ "file": "@latticexyz/world/src/revertWithBytes.sol",
777
+ "nameLocation": "-1:-1:-1",
778
+ "scope": 67338,
779
+ "sourceUnit": 48972,
780
+ "symbolAliases": [
781
+ {
782
+ "foreign": {
783
+ "id": 67182,
784
+ "name": "revertWithBytes",
785
+ "nodeType": "Identifier",
786
+ "overloadedDeclarations": [],
787
+ "referencedDeclaration": 48971,
788
+ "src": "599:15:149",
789
+ "typeDescriptions": {}
790
+ },
791
+ "nameLocation": "-1:-1:-1"
792
+ }
793
+ ],
794
+ "unitAlias": ""
795
+ },
796
+ {
797
+ "id": 67186,
798
+ "nodeType": "ImportDirective",
799
+ "src": "667:98:149",
800
+ "nodes": [],
801
+ "absolutePath": "node_modules/@latticexyz/world/src/systemHookTypes.sol",
802
+ "file": "@latticexyz/world/src/systemHookTypes.sol",
803
+ "nameLocation": "-1:-1:-1",
804
+ "scope": 67338,
805
+ "sourceUnit": 48992,
806
+ "symbolAliases": [
807
+ {
808
+ "foreign": {
809
+ "id": 67184,
810
+ "name": "BEFORE_CALL_SYSTEM",
811
+ "nodeType": "Identifier",
812
+ "overloadedDeclarations": [],
813
+ "referencedDeclaration": 48979,
814
+ "src": "676:18:149",
815
+ "typeDescriptions": {}
816
+ },
817
+ "nameLocation": "-1:-1:-1"
818
+ },
819
+ {
820
+ "foreign": {
821
+ "id": 67185,
822
+ "name": "AFTER_CALL_SYSTEM",
823
+ "nodeType": "Identifier",
824
+ "overloadedDeclarations": [],
825
+ "referencedDeclaration": 48985,
826
+ "src": "696:17:149",
827
+ "typeDescriptions": {}
828
+ },
829
+ "nameLocation": "-1:-1:-1"
830
+ }
831
+ ],
832
+ "unitAlias": ""
833
+ },
834
+ {
835
+ "id": 67188,
836
+ "nodeType": "ImportDirective",
837
+ "src": "767:70:149",
838
+ "nodes": [],
839
+ "absolutePath": "node_modules/@latticexyz/world/src/IWorldErrors.sol",
840
+ "file": "@latticexyz/world/src/IWorldErrors.sol",
841
+ "nameLocation": "-1:-1:-1",
842
+ "scope": 67338,
843
+ "sourceUnit": 41824,
844
+ "symbolAliases": [
845
+ {
846
+ "foreign": {
847
+ "id": 67187,
848
+ "name": "IWorldErrors",
849
+ "nodeType": "Identifier",
850
+ "overloadedDeclarations": [],
851
+ "referencedDeclaration": 41823,
852
+ "src": "776:12:149",
853
+ "typeDescriptions": {}
854
+ },
855
+ "nameLocation": "-1:-1:-1"
856
+ }
857
+ ],
858
+ "unitAlias": ""
859
+ },
860
+ {
861
+ "id": 67190,
862
+ "nodeType": "ImportDirective",
863
+ "src": "838:68:149",
864
+ "nodes": [],
865
+ "absolutePath": "node_modules/@latticexyz/world/src/ISystemHook.sol",
866
+ "file": "@latticexyz/world/src/ISystemHook.sol",
867
+ "nameLocation": "-1:-1:-1",
868
+ "scope": 67338,
869
+ "sourceUnit": 41730,
870
+ "symbolAliases": [
871
+ {
872
+ "foreign": {
873
+ "id": 67189,
874
+ "name": "ISystemHook",
875
+ "nodeType": "Identifier",
876
+ "overloadedDeclarations": [],
877
+ "referencedDeclaration": 41729,
878
+ "src": "847:11:149",
879
+ "typeDescriptions": {}
880
+ },
881
+ "nameLocation": "-1:-1:-1"
882
+ }
883
+ ],
884
+ "unitAlias": ""
885
+ },
886
+ {
887
+ "id": 67192,
888
+ "nodeType": "ImportDirective",
889
+ "src": "908:95:149",
890
+ "nodes": [],
891
+ "absolutePath": "node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol",
892
+ "file": "@latticexyz/world/src/codegen/tables/FunctionSelectors.sol",
893
+ "nameLocation": "-1:-1:-1",
894
+ "scope": 67338,
895
+ "sourceUnit": 44934,
896
+ "symbolAliases": [
897
+ {
898
+ "foreign": {
899
+ "id": 67191,
900
+ "name": "FunctionSelectors",
901
+ "nodeType": "Identifier",
902
+ "overloadedDeclarations": [],
903
+ "referencedDeclaration": 44933,
904
+ "src": "917:17:149",
905
+ "typeDescriptions": {}
906
+ },
907
+ "nameLocation": "-1:-1:-1"
908
+ }
909
+ ],
910
+ "unitAlias": ""
911
+ },
912
+ {
913
+ "id": 67194,
914
+ "nodeType": "ImportDirective",
915
+ "src": "1004:75:149",
916
+ "nodes": [],
917
+ "absolutePath": "node_modules/@latticexyz/world/src/codegen/tables/Systems.sol",
918
+ "file": "@latticexyz/world/src/codegen/tables/Systems.sol",
919
+ "nameLocation": "-1:-1:-1",
920
+ "scope": 67338,
921
+ "sourceUnit": 48898,
922
+ "symbolAliases": [
923
+ {
924
+ "foreign": {
925
+ "id": 67193,
926
+ "name": "Systems",
927
+ "nodeType": "Identifier",
928
+ "overloadedDeclarations": [],
929
+ "referencedDeclaration": 48887,
930
+ "src": "1013:7:149",
931
+ "typeDescriptions": {}
932
+ },
933
+ "nameLocation": "-1:-1:-1"
934
+ }
935
+ ],
936
+ "unitAlias": ""
937
+ },
938
+ {
939
+ "id": 67196,
940
+ "nodeType": "ImportDirective",
941
+ "src": "1080:83:149",
942
+ "nodes": [],
943
+ "absolutePath": "node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol",
944
+ "file": "@latticexyz/world/src/codegen/tables/SystemHooks.sol",
945
+ "nameLocation": "-1:-1:-1",
946
+ "scope": 67338,
947
+ "sourceUnit": 47465,
948
+ "symbolAliases": [
949
+ {
950
+ "foreign": {
951
+ "id": 67195,
952
+ "name": "SystemHooks",
953
+ "nodeType": "Identifier",
954
+ "overloadedDeclarations": [],
955
+ "referencedDeclaration": 47464,
956
+ "src": "1089:11:149",
957
+ "typeDescriptions": {}
958
+ },
959
+ "nameLocation": "-1:-1:-1"
960
+ }
961
+ ],
962
+ "unitAlias": ""
963
+ },
964
+ {
965
+ "id": 67198,
966
+ "nodeType": "ImportDirective",
967
+ "src": "1164:77:149",
968
+ "nodes": [],
969
+ "absolutePath": "node_modules/@latticexyz/world/src/codegen/tables/Balances.sol",
970
+ "file": "@latticexyz/world/src/codegen/tables/Balances.sol",
971
+ "nameLocation": "-1:-1:-1",
972
+ "scope": 67338,
973
+ "sourceUnit": 43535,
974
+ "symbolAliases": [
975
+ {
976
+ "foreign": {
977
+ "id": 67197,
978
+ "name": "Balances",
979
+ "nodeType": "Identifier",
980
+ "overloadedDeclarations": [],
981
+ "referencedDeclaration": 43534,
982
+ "src": "1173:8:149",
983
+ "typeDescriptions": {}
984
+ },
985
+ "nameLocation": "-1:-1:-1"
986
+ }
987
+ ],
988
+ "unitAlias": ""
989
+ },
990
+ {
991
+ "id": 67337,
992
+ "nodeType": "ContractDefinition",
993
+ "src": "1375:2769:149",
994
+ "nodes": [
995
+ {
996
+ "id": 67203,
997
+ "nodeType": "UsingForDirective",
998
+ "src": "1400:45:149",
999
+ "nodes": [],
1000
+ "global": false,
1001
+ "libraryName": {
1002
+ "id": 67200,
1003
+ "name": "WorldResourceIdInstance",
1004
+ "nameLocations": [
1005
+ "1406:23:149"
1006
+ ],
1007
+ "nodeType": "IdentifierPath",
1008
+ "referencedDeclaration": 42492,
1009
+ "src": "1406:23:149"
1010
+ },
1011
+ "typeName": {
1012
+ "id": 67202,
1013
+ "nodeType": "UserDefinedTypeName",
1014
+ "pathNode": {
1015
+ "id": 67201,
1016
+ "name": "ResourceId",
1017
+ "nameLocations": [
1018
+ "1434:10:149"
1019
+ ],
1020
+ "nodeType": "IdentifierPath",
1021
+ "referencedDeclaration": 29121,
1022
+ "src": "1434:10:149"
1023
+ },
1024
+ "referencedDeclaration": 29121,
1025
+ "src": "1434:10:149",
1026
+ "typeDescriptions": {
1027
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
1028
+ "typeString": "ResourceId"
1029
+ }
1030
+ }
1031
+ },
1032
+ {
1033
+ "id": 67290,
1034
+ "nodeType": "FunctionDefinition",
1035
+ "src": "1976:978:149",
1036
+ "nodes": [],
1037
+ "body": {
1038
+ "id": 67289,
1039
+ "nodeType": "Block",
1040
+ "src": "2077:877:149",
1041
+ "nodes": [],
1042
+ "statements": [
1043
+ {
1044
+ "assignments": [
1045
+ 67215
1046
+ ],
1047
+ "declarations": [
1048
+ {
1049
+ "constant": false,
1050
+ "id": 67215,
1051
+ "mutability": "mutable",
1052
+ "name": "worldAddress",
1053
+ "nameLocation": "2091:12:149",
1054
+ "nodeType": "VariableDeclaration",
1055
+ "scope": 67289,
1056
+ "src": "2083:20:149",
1057
+ "stateVariable": false,
1058
+ "storageLocation": "default",
1059
+ "typeDescriptions": {
1060
+ "typeIdentifier": "t_address",
1061
+ "typeString": "address"
1062
+ },
1063
+ "typeName": {
1064
+ "id": 67214,
1065
+ "name": "address",
1066
+ "nodeType": "ElementaryTypeName",
1067
+ "src": "2083:7:149",
1068
+ "stateMutability": "nonpayable",
1069
+ "typeDescriptions": {
1070
+ "typeIdentifier": "t_address",
1071
+ "typeString": "address"
1072
+ }
1073
+ },
1074
+ "visibility": "internal"
1075
+ }
1076
+ ],
1077
+ "id": 67219,
1078
+ "initialValue": {
1079
+ "arguments": [],
1080
+ "expression": {
1081
+ "argumentTypes": [],
1082
+ "expression": {
1083
+ "id": 67216,
1084
+ "name": "WorldContextConsumerLib",
1085
+ "nodeType": "Identifier",
1086
+ "overloadedDeclarations": [],
1087
+ "referencedDeclaration": 42054,
1088
+ "src": "2106:23:149",
1089
+ "typeDescriptions": {
1090
+ "typeIdentifier": "t_type$_t_contract$_WorldContextConsumerLib_$42054_$",
1091
+ "typeString": "type(library WorldContextConsumerLib)"
1092
+ }
1093
+ },
1094
+ "id": 67217,
1095
+ "isConstant": false,
1096
+ "isLValue": false,
1097
+ "isPure": false,
1098
+ "lValueRequested": false,
1099
+ "memberLocation": "2130:6:149",
1100
+ "memberName": "_world",
1101
+ "nodeType": "MemberAccess",
1102
+ "referencedDeclaration": 42053,
1103
+ "src": "2106:30:149",
1104
+ "typeDescriptions": {
1105
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
1106
+ "typeString": "function () view returns (address)"
1107
+ }
1108
+ },
1109
+ "id": 67218,
1110
+ "isConstant": false,
1111
+ "isLValue": false,
1112
+ "isPure": false,
1113
+ "kind": "functionCall",
1114
+ "lValueRequested": false,
1115
+ "nameLocations": [],
1116
+ "names": [],
1117
+ "nodeType": "FunctionCall",
1118
+ "src": "2106:32:149",
1119
+ "tryCall": false,
1120
+ "typeDescriptions": {
1121
+ "typeIdentifier": "t_address",
1122
+ "typeString": "address"
1123
+ }
1124
+ },
1125
+ "nodeType": "VariableDeclarationStatement",
1126
+ "src": "2083:55:149"
1127
+ },
1128
+ {
1129
+ "condition": {
1130
+ "commonType": {
1131
+ "typeIdentifier": "t_address",
1132
+ "typeString": "address"
1133
+ },
1134
+ "id": 67225,
1135
+ "isConstant": false,
1136
+ "isLValue": false,
1137
+ "isPure": false,
1138
+ "lValueRequested": false,
1139
+ "leftExpression": {
1140
+ "arguments": [
1141
+ {
1142
+ "id": 67222,
1143
+ "name": "this",
1144
+ "nodeType": "Identifier",
1145
+ "overloadedDeclarations": [],
1146
+ "referencedDeclaration": -28,
1147
+ "src": "2237:4:149",
1148
+ "typeDescriptions": {
1149
+ "typeIdentifier": "t_contract$_SystemSwitch_$67337",
1150
+ "typeString": "library SystemSwitch"
1151
+ }
1152
+ }
1153
+ ],
1154
+ "expression": {
1155
+ "argumentTypes": [
1156
+ {
1157
+ "typeIdentifier": "t_contract$_SystemSwitch_$67337",
1158
+ "typeString": "library SystemSwitch"
1159
+ }
1160
+ ],
1161
+ "id": 67221,
1162
+ "isConstant": false,
1163
+ "isLValue": false,
1164
+ "isPure": true,
1165
+ "lValueRequested": false,
1166
+ "nodeType": "ElementaryTypeNameExpression",
1167
+ "src": "2229:7:149",
1168
+ "typeDescriptions": {
1169
+ "typeIdentifier": "t_type$_t_address_$",
1170
+ "typeString": "type(address)"
1171
+ },
1172
+ "typeName": {
1173
+ "id": 67220,
1174
+ "name": "address",
1175
+ "nodeType": "ElementaryTypeName",
1176
+ "src": "2229:7:149",
1177
+ "typeDescriptions": {}
1178
+ }
1179
+ },
1180
+ "id": 67223,
1181
+ "isConstant": false,
1182
+ "isLValue": false,
1183
+ "isPure": false,
1184
+ "kind": "typeConversion",
1185
+ "lValueRequested": false,
1186
+ "nameLocations": [],
1187
+ "names": [],
1188
+ "nodeType": "FunctionCall",
1189
+ "src": "2229:13:149",
1190
+ "tryCall": false,
1191
+ "typeDescriptions": {
1192
+ "typeIdentifier": "t_address",
1193
+ "typeString": "address"
1194
+ }
1195
+ },
1196
+ "nodeType": "BinaryOperation",
1197
+ "operator": "==",
1198
+ "rightExpression": {
1199
+ "id": 67224,
1200
+ "name": "worldAddress",
1201
+ "nodeType": "Identifier",
1202
+ "overloadedDeclarations": [],
1203
+ "referencedDeclaration": 67215,
1204
+ "src": "2246:12:149",
1205
+ "typeDescriptions": {
1206
+ "typeIdentifier": "t_address",
1207
+ "typeString": "address"
1208
+ }
1209
+ },
1210
+ "src": "2229:29:149",
1211
+ "typeDescriptions": {
1212
+ "typeIdentifier": "t_bool",
1213
+ "typeString": "bool"
1214
+ }
1215
+ },
1216
+ "id": 67278,
1217
+ "nodeType": "IfStatement",
1218
+ "src": "2225:605:149",
1219
+ "trueBody": {
1220
+ "id": 67277,
1221
+ "nodeType": "Block",
1222
+ "src": "2260:570:149",
1223
+ "statements": [
1224
+ {
1225
+ "assignments": [
1226
+ 67227,
1227
+ null
1228
+ ],
1229
+ "declarations": [
1230
+ {
1231
+ "constant": false,
1232
+ "id": 67227,
1233
+ "mutability": "mutable",
1234
+ "name": "systemAddress",
1235
+ "nameLocation": "2277:13:149",
1236
+ "nodeType": "VariableDeclaration",
1237
+ "scope": 67277,
1238
+ "src": "2269:21:149",
1239
+ "stateVariable": false,
1240
+ "storageLocation": "default",
1241
+ "typeDescriptions": {
1242
+ "typeIdentifier": "t_address",
1243
+ "typeString": "address"
1244
+ },
1245
+ "typeName": {
1246
+ "id": 67226,
1247
+ "name": "address",
1248
+ "nodeType": "ElementaryTypeName",
1249
+ "src": "2269:7:149",
1250
+ "stateMutability": "nonpayable",
1251
+ "typeDescriptions": {
1252
+ "typeIdentifier": "t_address",
1253
+ "typeString": "address"
1254
+ }
1255
+ },
1256
+ "visibility": "internal"
1257
+ },
1258
+ null
1259
+ ],
1260
+ "id": 67232,
1261
+ "initialValue": {
1262
+ "arguments": [
1263
+ {
1264
+ "id": 67230,
1265
+ "name": "systemId",
1266
+ "nodeType": "Identifier",
1267
+ "overloadedDeclarations": [],
1268
+ "referencedDeclaration": 67207,
1269
+ "src": "2308:8:149",
1270
+ "typeDescriptions": {
1271
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
1272
+ "typeString": "ResourceId"
1273
+ }
1274
+ }
1275
+ ],
1276
+ "expression": {
1277
+ "argumentTypes": [
1278
+ {
1279
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
1280
+ "typeString": "ResourceId"
1281
+ }
1282
+ ],
1283
+ "expression": {
1284
+ "id": 67228,
1285
+ "name": "Systems",
1286
+ "nodeType": "Identifier",
1287
+ "overloadedDeclarations": [],
1288
+ "referencedDeclaration": 48887,
1289
+ "src": "2296:7:149",
1290
+ "typeDescriptions": {
1291
+ "typeIdentifier": "t_type$_t_contract$_Systems_$48887_$",
1292
+ "typeString": "type(library Systems)"
1293
+ }
1294
+ },
1295
+ "id": 67229,
1296
+ "isConstant": false,
1297
+ "isLValue": false,
1298
+ "isPure": false,
1299
+ "lValueRequested": false,
1300
+ "memberLocation": "2304:3:149",
1301
+ "memberName": "get",
1302
+ "nodeType": "MemberAccess",
1303
+ "referencedDeclaration": 48352,
1304
+ "src": "2296:11:149",
1305
+ "typeDescriptions": {
1306
+ "typeIdentifier": "t_function_internal_view$_t_userDefinedValueType$_ResourceId_$29121_$returns$_t_address_$_t_bool_$",
1307
+ "typeString": "function (ResourceId) view returns (address,bool)"
1308
+ }
1309
+ },
1310
+ "id": 67231,
1311
+ "isConstant": false,
1312
+ "isLValue": false,
1313
+ "isPure": false,
1314
+ "kind": "functionCall",
1315
+ "lValueRequested": false,
1316
+ "nameLocations": [],
1317
+ "names": [],
1318
+ "nodeType": "FunctionCall",
1319
+ "src": "2296:21:149",
1320
+ "tryCall": false,
1321
+ "typeDescriptions": {
1322
+ "typeIdentifier": "t_tuple$_t_address_$_t_bool_$",
1323
+ "typeString": "tuple(address,bool)"
1324
+ }
1325
+ },
1326
+ "nodeType": "VariableDeclarationStatement",
1327
+ "src": "2268:49:149"
1328
+ },
1329
+ {
1330
+ "condition": {
1331
+ "commonType": {
1332
+ "typeIdentifier": "t_address",
1333
+ "typeString": "address"
1334
+ },
1335
+ "id": 67238,
1336
+ "isConstant": false,
1337
+ "isLValue": false,
1338
+ "isPure": false,
1339
+ "lValueRequested": false,
1340
+ "leftExpression": {
1341
+ "id": 67233,
1342
+ "name": "systemAddress",
1343
+ "nodeType": "Identifier",
1344
+ "overloadedDeclarations": [],
1345
+ "referencedDeclaration": 67227,
1346
+ "src": "2365:13:149",
1347
+ "typeDescriptions": {
1348
+ "typeIdentifier": "t_address",
1349
+ "typeString": "address"
1350
+ }
1351
+ },
1352
+ "nodeType": "BinaryOperation",
1353
+ "operator": "==",
1354
+ "rightExpression": {
1355
+ "arguments": [
1356
+ {
1357
+ "hexValue": "30",
1358
+ "id": 67236,
1359
+ "isConstant": false,
1360
+ "isLValue": false,
1361
+ "isPure": true,
1362
+ "kind": "number",
1363
+ "lValueRequested": false,
1364
+ "nodeType": "Literal",
1365
+ "src": "2390:1:149",
1366
+ "typeDescriptions": {
1367
+ "typeIdentifier": "t_rational_0_by_1",
1368
+ "typeString": "int_const 0"
1369
+ },
1370
+ "value": "0"
1371
+ }
1372
+ ],
1373
+ "expression": {
1374
+ "argumentTypes": [
1375
+ {
1376
+ "typeIdentifier": "t_rational_0_by_1",
1377
+ "typeString": "int_const 0"
1378
+ }
1379
+ ],
1380
+ "id": 67235,
1381
+ "isConstant": false,
1382
+ "isLValue": false,
1383
+ "isPure": true,
1384
+ "lValueRequested": false,
1385
+ "nodeType": "ElementaryTypeNameExpression",
1386
+ "src": "2382:7:149",
1387
+ "typeDescriptions": {
1388
+ "typeIdentifier": "t_type$_t_address_$",
1389
+ "typeString": "type(address)"
1390
+ },
1391
+ "typeName": {
1392
+ "id": 67234,
1393
+ "name": "address",
1394
+ "nodeType": "ElementaryTypeName",
1395
+ "src": "2382:7:149",
1396
+ "typeDescriptions": {}
1397
+ }
1398
+ },
1399
+ "id": 67237,
1400
+ "isConstant": false,
1401
+ "isLValue": false,
1402
+ "isPure": true,
1403
+ "kind": "typeConversion",
1404
+ "lValueRequested": false,
1405
+ "nameLocations": [],
1406
+ "names": [],
1407
+ "nodeType": "FunctionCall",
1408
+ "src": "2382:10:149",
1409
+ "tryCall": false,
1410
+ "typeDescriptions": {
1411
+ "typeIdentifier": "t_address",
1412
+ "typeString": "address"
1413
+ }
1414
+ },
1415
+ "src": "2365:27:149",
1416
+ "typeDescriptions": {
1417
+ "typeIdentifier": "t_bool",
1418
+ "typeString": "bool"
1419
+ }
1420
+ },
1421
+ "id": 67248,
1422
+ "nodeType": "IfStatement",
1423
+ "src": "2361:106:149",
1424
+ "trueBody": {
1425
+ "errorCall": {
1426
+ "arguments": [
1427
+ {
1428
+ "id": 67242,
1429
+ "name": "systemId",
1430
+ "nodeType": "Identifier",
1431
+ "overloadedDeclarations": [],
1432
+ "referencedDeclaration": 67207,
1433
+ "src": "2437:8:149",
1434
+ "typeDescriptions": {
1435
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
1436
+ "typeString": "ResourceId"
1437
+ }
1438
+ },
1439
+ {
1440
+ "arguments": [],
1441
+ "expression": {
1442
+ "argumentTypes": [],
1443
+ "expression": {
1444
+ "id": 67243,
1445
+ "name": "systemId",
1446
+ "nodeType": "Identifier",
1447
+ "overloadedDeclarations": [],
1448
+ "referencedDeclaration": 67207,
1449
+ "src": "2447:8:149",
1450
+ "typeDescriptions": {
1451
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
1452
+ "typeString": "ResourceId"
1453
+ }
1454
+ },
1455
+ "id": 67244,
1456
+ "isConstant": false,
1457
+ "isLValue": false,
1458
+ "isPure": false,
1459
+ "lValueRequested": false,
1460
+ "memberLocation": "2456:8:149",
1461
+ "memberName": "toString",
1462
+ "nodeType": "MemberAccess",
1463
+ "referencedDeclaration": 42491,
1464
+ "src": "2447:17:149",
1465
+ "typeDescriptions": {
1466
+ "typeIdentifier": "t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$29121_$returns$_t_string_memory_ptr_$attached_to$_t_userDefinedValueType$_ResourceId_$29121_$",
1467
+ "typeString": "function (ResourceId) pure returns (string memory)"
1468
+ }
1469
+ },
1470
+ "id": 67245,
1471
+ "isConstant": false,
1472
+ "isLValue": false,
1473
+ "isPure": false,
1474
+ "kind": "functionCall",
1475
+ "lValueRequested": false,
1476
+ "nameLocations": [],
1477
+ "names": [],
1478
+ "nodeType": "FunctionCall",
1479
+ "src": "2447:19:149",
1480
+ "tryCall": false,
1481
+ "typeDescriptions": {
1482
+ "typeIdentifier": "t_string_memory_ptr",
1483
+ "typeString": "string memory"
1484
+ }
1485
+ }
1486
+ ],
1487
+ "expression": {
1488
+ "argumentTypes": [
1489
+ {
1490
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
1491
+ "typeString": "ResourceId"
1492
+ },
1493
+ {
1494
+ "typeIdentifier": "t_string_memory_ptr",
1495
+ "typeString": "string memory"
1496
+ }
1497
+ ],
1498
+ "expression": {
1499
+ "id": 67239,
1500
+ "name": "IWorldErrors",
1501
+ "nodeType": "Identifier",
1502
+ "overloadedDeclarations": [],
1503
+ "referencedDeclaration": 41823,
1504
+ "src": "2401:12:149",
1505
+ "typeDescriptions": {
1506
+ "typeIdentifier": "t_type$_t_contract$_IWorldErrors_$41823_$",
1507
+ "typeString": "type(contract IWorldErrors)"
1508
+ }
1509
+ },
1510
+ "id": 67241,
1511
+ "isConstant": false,
1512
+ "isLValue": false,
1513
+ "isPure": false,
1514
+ "lValueRequested": false,
1515
+ "memberLocation": "2414:22:149",
1516
+ "memberName": "World_ResourceNotFound",
1517
+ "nodeType": "MemberAccess",
1518
+ "referencedDeclaration": 41753,
1519
+ "src": "2401:35:149",
1520
+ "typeDescriptions": {
1521
+ "typeIdentifier": "t_function_error_pure$_t_userDefinedValueType$_ResourceId_$29121_$_t_string_memory_ptr_$returns$__$",
1522
+ "typeString": "function (ResourceId,string memory) pure"
1523
+ }
1524
+ },
1525
+ "id": 67246,
1526
+ "isConstant": false,
1527
+ "isLValue": false,
1528
+ "isPure": false,
1529
+ "kind": "functionCall",
1530
+ "lValueRequested": false,
1531
+ "nameLocations": [],
1532
+ "names": [],
1533
+ "nodeType": "FunctionCall",
1534
+ "src": "2401:66:149",
1535
+ "tryCall": false,
1536
+ "typeDescriptions": {
1537
+ "typeIdentifier": "t_tuple$__$",
1538
+ "typeString": "tuple()"
1539
+ }
1540
+ },
1541
+ "id": 67247,
1542
+ "nodeType": "RevertStatement",
1543
+ "src": "2394:73:149"
1544
+ }
1545
+ },
1546
+ {
1547
+ "assignments": [
1548
+ 67250
1549
+ ],
1550
+ "declarations": [
1551
+ {
1552
+ "constant": false,
1553
+ "id": 67250,
1554
+ "mutability": "mutable",
1555
+ "name": "success",
1556
+ "nameLocation": "2481:7:149",
1557
+ "nodeType": "VariableDeclaration",
1558
+ "scope": 67277,
1559
+ "src": "2476:12:149",
1560
+ "stateVariable": false,
1561
+ "storageLocation": "default",
1562
+ "typeDescriptions": {
1563
+ "typeIdentifier": "t_bool",
1564
+ "typeString": "bool"
1565
+ },
1566
+ "typeName": {
1567
+ "id": 67249,
1568
+ "name": "bool",
1569
+ "nodeType": "ElementaryTypeName",
1570
+ "src": "2476:4:149",
1571
+ "typeDescriptions": {
1572
+ "typeIdentifier": "t_bool",
1573
+ "typeString": "bool"
1574
+ }
1575
+ },
1576
+ "visibility": "internal"
1577
+ }
1578
+ ],
1579
+ "id": 67251,
1580
+ "nodeType": "VariableDeclarationStatement",
1581
+ "src": "2476:12:149"
1582
+ },
1583
+ {
1584
+ "expression": {
1585
+ "id": 67266,
1586
+ "isConstant": false,
1587
+ "isLValue": false,
1588
+ "isPure": false,
1589
+ "lValueRequested": false,
1590
+ "leftHandSide": {
1591
+ "components": [
1592
+ {
1593
+ "id": 67252,
1594
+ "name": "success",
1595
+ "nodeType": "Identifier",
1596
+ "overloadedDeclarations": [],
1597
+ "referencedDeclaration": 67250,
1598
+ "src": "2497:7:149",
1599
+ "typeDescriptions": {
1600
+ "typeIdentifier": "t_bool",
1601
+ "typeString": "bool"
1602
+ }
1603
+ },
1604
+ {
1605
+ "id": 67253,
1606
+ "name": "returnData",
1607
+ "nodeType": "Identifier",
1608
+ "overloadedDeclarations": [],
1609
+ "referencedDeclaration": 67212,
1610
+ "src": "2506:10:149",
1611
+ "typeDescriptions": {
1612
+ "typeIdentifier": "t_bytes_memory_ptr",
1613
+ "typeString": "bytes memory"
1614
+ }
1615
+ }
1616
+ ],
1617
+ "id": 67254,
1618
+ "isConstant": false,
1619
+ "isInlineArray": false,
1620
+ "isLValue": true,
1621
+ "isPure": false,
1622
+ "lValueRequested": true,
1623
+ "nodeType": "TupleExpression",
1624
+ "src": "2496:21:149",
1625
+ "typeDescriptions": {
1626
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
1627
+ "typeString": "tuple(bool,bytes memory)"
1628
+ }
1629
+ },
1630
+ "nodeType": "Assignment",
1631
+ "operator": "=",
1632
+ "rightHandSide": {
1633
+ "arguments": [
1634
+ {
1635
+ "arguments": [],
1636
+ "expression": {
1637
+ "argumentTypes": [],
1638
+ "expression": {
1639
+ "id": 67257,
1640
+ "name": "WorldContextConsumerLib",
1641
+ "nodeType": "Identifier",
1642
+ "overloadedDeclarations": [],
1643
+ "referencedDeclaration": 42054,
1644
+ "src": "2589:23:149",
1645
+ "typeDescriptions": {
1646
+ "typeIdentifier": "t_type$_t_contract$_WorldContextConsumerLib_$42054_$",
1647
+ "typeString": "type(library WorldContextConsumerLib)"
1648
+ }
1649
+ },
1650
+ "id": 67258,
1651
+ "isConstant": false,
1652
+ "isLValue": false,
1653
+ "isPure": false,
1654
+ "lValueRequested": false,
1655
+ "memberLocation": "2613:10:149",
1656
+ "memberName": "_msgSender",
1657
+ "nodeType": "MemberAccess",
1658
+ "referencedDeclaration": 42034,
1659
+ "src": "2589:34:149",
1660
+ "typeDescriptions": {
1661
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
1662
+ "typeString": "function () view returns (address)"
1663
+ }
1664
+ },
1665
+ "id": 67259,
1666
+ "isConstant": false,
1667
+ "isLValue": false,
1668
+ "isPure": false,
1669
+ "kind": "functionCall",
1670
+ "lValueRequested": false,
1671
+ "nameLocations": [],
1672
+ "names": [],
1673
+ "nodeType": "FunctionCall",
1674
+ "src": "2589:36:149",
1675
+ "tryCall": false,
1676
+ "typeDescriptions": {
1677
+ "typeIdentifier": "t_address",
1678
+ "typeString": "address"
1679
+ }
1680
+ },
1681
+ {
1682
+ "arguments": [],
1683
+ "expression": {
1684
+ "argumentTypes": [],
1685
+ "expression": {
1686
+ "id": 67260,
1687
+ "name": "WorldContextConsumerLib",
1688
+ "nodeType": "Identifier",
1689
+ "overloadedDeclarations": [],
1690
+ "referencedDeclaration": 42054,
1691
+ "src": "2645:23:149",
1692
+ "typeDescriptions": {
1693
+ "typeIdentifier": "t_type$_t_contract$_WorldContextConsumerLib_$42054_$",
1694
+ "typeString": "type(library WorldContextConsumerLib)"
1695
+ }
1696
+ },
1697
+ "id": 67261,
1698
+ "isConstant": false,
1699
+ "isLValue": false,
1700
+ "isPure": false,
1701
+ "lValueRequested": false,
1702
+ "memberLocation": "2669:9:149",
1703
+ "memberName": "_msgValue",
1704
+ "nodeType": "MemberAccess",
1705
+ "referencedDeclaration": 42042,
1706
+ "src": "2645:33:149",
1707
+ "typeDescriptions": {
1708
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_uint256_$",
1709
+ "typeString": "function () pure returns (uint256)"
1710
+ }
1711
+ },
1712
+ "id": 67262,
1713
+ "isConstant": false,
1714
+ "isLValue": false,
1715
+ "isPure": false,
1716
+ "kind": "functionCall",
1717
+ "lValueRequested": false,
1718
+ "nameLocations": [],
1719
+ "names": [],
1720
+ "nodeType": "FunctionCall",
1721
+ "src": "2645:35:149",
1722
+ "tryCall": false,
1723
+ "typeDescriptions": {
1724
+ "typeIdentifier": "t_uint256",
1725
+ "typeString": "uint256"
1726
+ }
1727
+ },
1728
+ {
1729
+ "id": 67263,
1730
+ "name": "systemAddress",
1731
+ "nodeType": "Identifier",
1732
+ "overloadedDeclarations": [],
1733
+ "referencedDeclaration": 67227,
1734
+ "src": "2698:13:149",
1735
+ "typeDescriptions": {
1736
+ "typeIdentifier": "t_address",
1737
+ "typeString": "address"
1738
+ }
1739
+ },
1740
+ {
1741
+ "id": 67264,
1742
+ "name": "callData",
1743
+ "nodeType": "Identifier",
1744
+ "overloadedDeclarations": [],
1745
+ "referencedDeclaration": 67209,
1746
+ "src": "2731:8:149",
1747
+ "typeDescriptions": {
1748
+ "typeIdentifier": "t_bytes_memory_ptr",
1749
+ "typeString": "bytes memory"
1750
+ }
1751
+ }
1752
+ ],
1753
+ "expression": {
1754
+ "argumentTypes": [
1755
+ {
1756
+ "typeIdentifier": "t_address",
1757
+ "typeString": "address"
1758
+ },
1759
+ {
1760
+ "typeIdentifier": "t_uint256",
1761
+ "typeString": "uint256"
1762
+ },
1763
+ {
1764
+ "typeIdentifier": "t_address",
1765
+ "typeString": "address"
1766
+ },
1767
+ {
1768
+ "typeIdentifier": "t_bytes_memory_ptr",
1769
+ "typeString": "bytes memory"
1770
+ }
1771
+ ],
1772
+ "expression": {
1773
+ "id": 67255,
1774
+ "name": "WorldContextProviderLib",
1775
+ "nodeType": "Identifier",
1776
+ "overloadedDeclarations": [],
1777
+ "referencedDeclaration": 42208,
1778
+ "src": "2520:23:149",
1779
+ "typeDescriptions": {
1780
+ "typeIdentifier": "t_type$_t_contract$_WorldContextProviderLib_$42208_$",
1781
+ "typeString": "type(library WorldContextProviderLib)"
1782
+ }
1783
+ },
1784
+ "id": 67256,
1785
+ "isConstant": false,
1786
+ "isLValue": false,
1787
+ "isPure": false,
1788
+ "lValueRequested": false,
1789
+ "memberLocation": "2544:23:149",
1790
+ "memberName": "delegatecallWithContext",
1791
+ "nodeType": "MemberAccess",
1792
+ "referencedDeclaration": 42137,
1793
+ "src": "2520:47:149",
1794
+ "typeDescriptions": {
1795
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
1796
+ "typeString": "function (address,uint256,address,bytes memory) returns (bool,bytes memory)"
1797
+ }
1798
+ },
1799
+ "id": 67265,
1800
+ "isConstant": false,
1801
+ "isLValue": false,
1802
+ "isPure": false,
1803
+ "kind": "functionCall",
1804
+ "lValueRequested": false,
1805
+ "nameLocations": [
1806
+ "2578:9:149",
1807
+ "2635:8:149",
1808
+ "2690:6:149",
1809
+ "2721:8:149"
1810
+ ],
1811
+ "names": [
1812
+ "msgSender",
1813
+ "msgValue",
1814
+ "target",
1815
+ "callData"
1816
+ ],
1817
+ "nodeType": "FunctionCall",
1818
+ "src": "2520:228:149",
1819
+ "tryCall": false,
1820
+ "typeDescriptions": {
1821
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
1822
+ "typeString": "tuple(bool,bytes memory)"
1823
+ }
1824
+ },
1825
+ "src": "2496:252:149",
1826
+ "typeDescriptions": {
1827
+ "typeIdentifier": "t_tuple$__$",
1828
+ "typeString": "tuple()"
1829
+ }
1830
+ },
1831
+ "id": 67267,
1832
+ "nodeType": "ExpressionStatement",
1833
+ "src": "2496:252:149"
1834
+ },
1835
+ {
1836
+ "condition": {
1837
+ "id": 67269,
1838
+ "isConstant": false,
1839
+ "isLValue": false,
1840
+ "isPure": false,
1841
+ "lValueRequested": false,
1842
+ "nodeType": "UnaryOperation",
1843
+ "operator": "!",
1844
+ "prefix": true,
1845
+ "src": "2761:8:149",
1846
+ "subExpression": {
1847
+ "id": 67268,
1848
+ "name": "success",
1849
+ "nodeType": "Identifier",
1850
+ "overloadedDeclarations": [],
1851
+ "referencedDeclaration": 67250,
1852
+ "src": "2762:7:149",
1853
+ "typeDescriptions": {
1854
+ "typeIdentifier": "t_bool",
1855
+ "typeString": "bool"
1856
+ }
1857
+ },
1858
+ "typeDescriptions": {
1859
+ "typeIdentifier": "t_bool",
1860
+ "typeString": "bool"
1861
+ }
1862
+ },
1863
+ "id": 67274,
1864
+ "nodeType": "IfStatement",
1865
+ "src": "2757:41:149",
1866
+ "trueBody": {
1867
+ "expression": {
1868
+ "arguments": [
1869
+ {
1870
+ "id": 67271,
1871
+ "name": "returnData",
1872
+ "nodeType": "Identifier",
1873
+ "overloadedDeclarations": [],
1874
+ "referencedDeclaration": 67212,
1875
+ "src": "2787:10:149",
1876
+ "typeDescriptions": {
1877
+ "typeIdentifier": "t_bytes_memory_ptr",
1878
+ "typeString": "bytes memory"
1879
+ }
1880
+ }
1881
+ ],
1882
+ "expression": {
1883
+ "argumentTypes": [
1884
+ {
1885
+ "typeIdentifier": "t_bytes_memory_ptr",
1886
+ "typeString": "bytes memory"
1887
+ }
1888
+ ],
1889
+ "id": 67270,
1890
+ "name": "revertWithBytes",
1891
+ "nodeType": "Identifier",
1892
+ "overloadedDeclarations": [],
1893
+ "referencedDeclaration": 48971,
1894
+ "src": "2771:15:149",
1895
+ "typeDescriptions": {
1896
+ "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
1897
+ "typeString": "function (bytes memory) pure"
1898
+ }
1899
+ },
1900
+ "id": 67272,
1901
+ "isConstant": false,
1902
+ "isLValue": false,
1903
+ "isPure": false,
1904
+ "kind": "functionCall",
1905
+ "lValueRequested": false,
1906
+ "nameLocations": [],
1907
+ "names": [],
1908
+ "nodeType": "FunctionCall",
1909
+ "src": "2771:27:149",
1910
+ "tryCall": false,
1911
+ "typeDescriptions": {
1912
+ "typeIdentifier": "t_tuple$__$",
1913
+ "typeString": "tuple()"
1914
+ }
1915
+ },
1916
+ "id": 67273,
1917
+ "nodeType": "ExpressionStatement",
1918
+ "src": "2771:27:149"
1919
+ }
1920
+ },
1921
+ {
1922
+ "expression": {
1923
+ "id": 67275,
1924
+ "name": "returnData",
1925
+ "nodeType": "Identifier",
1926
+ "overloadedDeclarations": [],
1927
+ "referencedDeclaration": 67212,
1928
+ "src": "2813:10:149",
1929
+ "typeDescriptions": {
1930
+ "typeIdentifier": "t_bytes_memory_ptr",
1931
+ "typeString": "bytes memory"
1932
+ }
1933
+ },
1934
+ "functionReturnParameters": 67213,
1935
+ "id": 67276,
1936
+ "nodeType": "Return",
1937
+ "src": "2806:17:149"
1938
+ }
1939
+ ]
1940
+ }
1941
+ },
1942
+ {
1943
+ "expression": {
1944
+ "id": 67287,
1945
+ "isConstant": false,
1946
+ "isLValue": false,
1947
+ "isPure": false,
1948
+ "lValueRequested": false,
1949
+ "leftHandSide": {
1950
+ "id": 67279,
1951
+ "name": "returnData",
1952
+ "nodeType": "Identifier",
1953
+ "overloadedDeclarations": [],
1954
+ "referencedDeclaration": 67212,
1955
+ "src": "2885:10:149",
1956
+ "typeDescriptions": {
1957
+ "typeIdentifier": "t_bytes_memory_ptr",
1958
+ "typeString": "bytes memory"
1959
+ }
1960
+ },
1961
+ "nodeType": "Assignment",
1962
+ "operator": "=",
1963
+ "rightHandSide": {
1964
+ "arguments": [
1965
+ {
1966
+ "id": 67284,
1967
+ "name": "systemId",
1968
+ "nodeType": "Identifier",
1969
+ "overloadedDeclarations": [],
1970
+ "referencedDeclaration": 67207,
1971
+ "src": "2930:8:149",
1972
+ "typeDescriptions": {
1973
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
1974
+ "typeString": "ResourceId"
1975
+ }
1976
+ },
1977
+ {
1978
+ "id": 67285,
1979
+ "name": "callData",
1980
+ "nodeType": "Identifier",
1981
+ "overloadedDeclarations": [],
1982
+ "referencedDeclaration": 67209,
1983
+ "src": "2940:8:149",
1984
+ "typeDescriptions": {
1985
+ "typeIdentifier": "t_bytes_memory_ptr",
1986
+ "typeString": "bytes memory"
1987
+ }
1988
+ }
1989
+ ],
1990
+ "expression": {
1991
+ "argumentTypes": [
1992
+ {
1993
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
1994
+ "typeString": "ResourceId"
1995
+ },
1996
+ {
1997
+ "typeIdentifier": "t_bytes_memory_ptr",
1998
+ "typeString": "bytes memory"
1999
+ }
2000
+ ],
2001
+ "expression": {
2002
+ "arguments": [
2003
+ {
2004
+ "id": 67281,
2005
+ "name": "worldAddress",
2006
+ "nodeType": "Identifier",
2007
+ "overloadedDeclarations": [],
2008
+ "referencedDeclaration": 67215,
2009
+ "src": "2911:12:149",
2010
+ "typeDescriptions": {
2011
+ "typeIdentifier": "t_address",
2012
+ "typeString": "address"
2013
+ }
2014
+ }
2015
+ ],
2016
+ "expression": {
2017
+ "argumentTypes": [
2018
+ {
2019
+ "typeIdentifier": "t_address",
2020
+ "typeString": "address"
2021
+ }
2022
+ ],
2023
+ "id": 67280,
2024
+ "name": "IWorldKernel",
2025
+ "nodeType": "Identifier",
2026
+ "overloadedDeclarations": [],
2027
+ "referencedDeclaration": 41900,
2028
+ "src": "2898:12:149",
2029
+ "typeDescriptions": {
2030
+ "typeIdentifier": "t_type$_t_contract$_IWorldKernel_$41900_$",
2031
+ "typeString": "type(contract IWorldKernel)"
2032
+ }
2033
+ },
2034
+ "id": 67282,
2035
+ "isConstant": false,
2036
+ "isLValue": false,
2037
+ "isPure": false,
2038
+ "kind": "typeConversion",
2039
+ "lValueRequested": false,
2040
+ "nameLocations": [],
2041
+ "names": [],
2042
+ "nodeType": "FunctionCall",
2043
+ "src": "2898:26:149",
2044
+ "tryCall": false,
2045
+ "typeDescriptions": {
2046
+ "typeIdentifier": "t_contract$_IWorldKernel_$41900",
2047
+ "typeString": "contract IWorldKernel"
2048
+ }
2049
+ },
2050
+ "id": 67283,
2051
+ "isConstant": false,
2052
+ "isLValue": false,
2053
+ "isPure": false,
2054
+ "lValueRequested": false,
2055
+ "memberLocation": "2925:4:149",
2056
+ "memberName": "call",
2057
+ "nodeType": "MemberAccess",
2058
+ "referencedDeclaration": 41854,
2059
+ "src": "2898:31:149",
2060
+ "typeDescriptions": {
2061
+ "typeIdentifier": "t_function_external_payable$_t_userDefinedValueType$_ResourceId_$29121_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$",
2062
+ "typeString": "function (ResourceId,bytes memory) payable external returns (bytes memory)"
2063
+ }
2064
+ },
2065
+ "id": 67286,
2066
+ "isConstant": false,
2067
+ "isLValue": false,
2068
+ "isPure": false,
2069
+ "kind": "functionCall",
2070
+ "lValueRequested": false,
2071
+ "nameLocations": [],
2072
+ "names": [],
2073
+ "nodeType": "FunctionCall",
2074
+ "src": "2898:51:149",
2075
+ "tryCall": false,
2076
+ "typeDescriptions": {
2077
+ "typeIdentifier": "t_bytes_memory_ptr",
2078
+ "typeString": "bytes memory"
2079
+ }
2080
+ },
2081
+ "src": "2885:64:149",
2082
+ "typeDescriptions": {
2083
+ "typeIdentifier": "t_bytes_memory_ptr",
2084
+ "typeString": "bytes memory"
2085
+ }
2086
+ },
2087
+ "id": 67288,
2088
+ "nodeType": "ExpressionStatement",
2089
+ "src": "2885:64:149"
2090
+ }
2091
+ ]
2092
+ },
2093
+ "documentation": {
2094
+ "id": 67204,
2095
+ "nodeType": "StructuredDocumentation",
2096
+ "src": "1449:524:149",
2097
+ "text": " @notice Calls a system identified by its Resource ID.\n @dev Reverts if the system is not found, or if the system call reverts.\n If the call is executed from the root context, the system is called directly via delegatecall.\n Otherwise, the call is executed via an external call to the World contract.\n @param systemId The unique Resource ID of the system being called.\n @param callData The calldata to be executed in the system.\n @return returnData The return data from the system call."
2098
+ },
2099
+ "implemented": true,
2100
+ "kind": "function",
2101
+ "modifiers": [],
2102
+ "name": "call",
2103
+ "nameLocation": "1985:4:149",
2104
+ "parameters": {
2105
+ "id": 67210,
2106
+ "nodeType": "ParameterList",
2107
+ "parameters": [
2108
+ {
2109
+ "constant": false,
2110
+ "id": 67207,
2111
+ "mutability": "mutable",
2112
+ "name": "systemId",
2113
+ "nameLocation": "2001:8:149",
2114
+ "nodeType": "VariableDeclaration",
2115
+ "scope": 67290,
2116
+ "src": "1990:19:149",
2117
+ "stateVariable": false,
2118
+ "storageLocation": "default",
2119
+ "typeDescriptions": {
2120
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
2121
+ "typeString": "ResourceId"
2122
+ },
2123
+ "typeName": {
2124
+ "id": 67206,
2125
+ "nodeType": "UserDefinedTypeName",
2126
+ "pathNode": {
2127
+ "id": 67205,
2128
+ "name": "ResourceId",
2129
+ "nameLocations": [
2130
+ "1990:10:149"
2131
+ ],
2132
+ "nodeType": "IdentifierPath",
2133
+ "referencedDeclaration": 29121,
2134
+ "src": "1990:10:149"
2135
+ },
2136
+ "referencedDeclaration": 29121,
2137
+ "src": "1990:10:149",
2138
+ "typeDescriptions": {
2139
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
2140
+ "typeString": "ResourceId"
2141
+ }
2142
+ },
2143
+ "visibility": "internal"
2144
+ },
2145
+ {
2146
+ "constant": false,
2147
+ "id": 67209,
2148
+ "mutability": "mutable",
2149
+ "name": "callData",
2150
+ "nameLocation": "2024:8:149",
2151
+ "nodeType": "VariableDeclaration",
2152
+ "scope": 67290,
2153
+ "src": "2011:21:149",
2154
+ "stateVariable": false,
2155
+ "storageLocation": "memory",
2156
+ "typeDescriptions": {
2157
+ "typeIdentifier": "t_bytes_memory_ptr",
2158
+ "typeString": "bytes"
2159
+ },
2160
+ "typeName": {
2161
+ "id": 67208,
2162
+ "name": "bytes",
2163
+ "nodeType": "ElementaryTypeName",
2164
+ "src": "2011:5:149",
2165
+ "typeDescriptions": {
2166
+ "typeIdentifier": "t_bytes_storage_ptr",
2167
+ "typeString": "bytes"
2168
+ }
2169
+ },
2170
+ "visibility": "internal"
2171
+ }
2172
+ ],
2173
+ "src": "1989:44:149"
2174
+ },
2175
+ "returnParameters": {
2176
+ "id": 67213,
2177
+ "nodeType": "ParameterList",
2178
+ "parameters": [
2179
+ {
2180
+ "constant": false,
2181
+ "id": 67212,
2182
+ "mutability": "mutable",
2183
+ "name": "returnData",
2184
+ "nameLocation": "2065:10:149",
2185
+ "nodeType": "VariableDeclaration",
2186
+ "scope": 67290,
2187
+ "src": "2052:23:149",
2188
+ "stateVariable": false,
2189
+ "storageLocation": "memory",
2190
+ "typeDescriptions": {
2191
+ "typeIdentifier": "t_bytes_memory_ptr",
2192
+ "typeString": "bytes"
2193
+ },
2194
+ "typeName": {
2195
+ "id": 67211,
2196
+ "name": "bytes",
2197
+ "nodeType": "ElementaryTypeName",
2198
+ "src": "2052:5:149",
2199
+ "typeDescriptions": {
2200
+ "typeIdentifier": "t_bytes_storage_ptr",
2201
+ "typeString": "bytes"
2202
+ }
2203
+ },
2204
+ "visibility": "internal"
2205
+ }
2206
+ ],
2207
+ "src": "2051:25:149"
2208
+ },
2209
+ "scope": 67337,
2210
+ "stateMutability": "nonpayable",
2211
+ "virtual": false,
2212
+ "visibility": "internal"
2213
+ },
2214
+ {
2215
+ "id": 67336,
2216
+ "nodeType": "FunctionDefinition",
2217
+ "src": "3480:662:149",
2218
+ "nodes": [],
2219
+ "body": {
2220
+ "id": 67335,
2221
+ "nodeType": "Block",
2222
+ "src": "3560:582:149",
2223
+ "nodes": [],
2224
+ "statements": [
2225
+ {
2226
+ "assignments": [
2227
+ 67300,
2228
+ 67302
2229
+ ],
2230
+ "declarations": [
2231
+ {
2232
+ "constant": false,
2233
+ "id": 67300,
2234
+ "mutability": "mutable",
2235
+ "name": "systemId",
2236
+ "nameLocation": "3689:8:149",
2237
+ "nodeType": "VariableDeclaration",
2238
+ "scope": 67335,
2239
+ "src": "3678:19:149",
2240
+ "stateVariable": false,
2241
+ "storageLocation": "default",
2242
+ "typeDescriptions": {
2243
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
2244
+ "typeString": "ResourceId"
2245
+ },
2246
+ "typeName": {
2247
+ "id": 67299,
2248
+ "nodeType": "UserDefinedTypeName",
2249
+ "pathNode": {
2250
+ "id": 67298,
2251
+ "name": "ResourceId",
2252
+ "nameLocations": [
2253
+ "3678:10:149"
2254
+ ],
2255
+ "nodeType": "IdentifierPath",
2256
+ "referencedDeclaration": 29121,
2257
+ "src": "3678:10:149"
2258
+ },
2259
+ "referencedDeclaration": 29121,
2260
+ "src": "3678:10:149",
2261
+ "typeDescriptions": {
2262
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
2263
+ "typeString": "ResourceId"
2264
+ }
2265
+ },
2266
+ "visibility": "internal"
2267
+ },
2268
+ {
2269
+ "constant": false,
2270
+ "id": 67302,
2271
+ "mutability": "mutable",
2272
+ "name": "systemFunctionSelector",
2273
+ "nameLocation": "3706:22:149",
2274
+ "nodeType": "VariableDeclaration",
2275
+ "scope": 67335,
2276
+ "src": "3699:29:149",
2277
+ "stateVariable": false,
2278
+ "storageLocation": "default",
2279
+ "typeDescriptions": {
2280
+ "typeIdentifier": "t_bytes4",
2281
+ "typeString": "bytes4"
2282
+ },
2283
+ "typeName": {
2284
+ "id": 67301,
2285
+ "name": "bytes4",
2286
+ "nodeType": "ElementaryTypeName",
2287
+ "src": "3699:6:149",
2288
+ "typeDescriptions": {
2289
+ "typeIdentifier": "t_bytes4",
2290
+ "typeString": "bytes4"
2291
+ }
2292
+ },
2293
+ "visibility": "internal"
2294
+ }
2295
+ ],
2296
+ "id": 67310,
2297
+ "initialValue": {
2298
+ "arguments": [
2299
+ {
2300
+ "arguments": [
2301
+ {
2302
+ "id": 67307,
2303
+ "name": "callData",
2304
+ "nodeType": "Identifier",
2305
+ "overloadedDeclarations": [],
2306
+ "referencedDeclaration": 67293,
2307
+ "src": "3761:8:149",
2308
+ "typeDescriptions": {
2309
+ "typeIdentifier": "t_bytes_memory_ptr",
2310
+ "typeString": "bytes memory"
2311
+ }
2312
+ }
2313
+ ],
2314
+ "expression": {
2315
+ "argumentTypes": [
2316
+ {
2317
+ "typeIdentifier": "t_bytes_memory_ptr",
2318
+ "typeString": "bytes memory"
2319
+ }
2320
+ ],
2321
+ "id": 67306,
2322
+ "isConstant": false,
2323
+ "isLValue": false,
2324
+ "isPure": true,
2325
+ "lValueRequested": false,
2326
+ "nodeType": "ElementaryTypeNameExpression",
2327
+ "src": "3754:6:149",
2328
+ "typeDescriptions": {
2329
+ "typeIdentifier": "t_type$_t_bytes4_$",
2330
+ "typeString": "type(bytes4)"
2331
+ },
2332
+ "typeName": {
2333
+ "id": 67305,
2334
+ "name": "bytes4",
2335
+ "nodeType": "ElementaryTypeName",
2336
+ "src": "3754:6:149",
2337
+ "typeDescriptions": {}
2338
+ }
2339
+ },
2340
+ "id": 67308,
2341
+ "isConstant": false,
2342
+ "isLValue": false,
2343
+ "isPure": false,
2344
+ "kind": "typeConversion",
2345
+ "lValueRequested": false,
2346
+ "nameLocations": [],
2347
+ "names": [],
2348
+ "nodeType": "FunctionCall",
2349
+ "src": "3754:16:149",
2350
+ "tryCall": false,
2351
+ "typeDescriptions": {
2352
+ "typeIdentifier": "t_bytes4",
2353
+ "typeString": "bytes4"
2354
+ }
2355
+ }
2356
+ ],
2357
+ "expression": {
2358
+ "argumentTypes": [
2359
+ {
2360
+ "typeIdentifier": "t_bytes4",
2361
+ "typeString": "bytes4"
2362
+ }
2363
+ ],
2364
+ "expression": {
2365
+ "id": 67303,
2366
+ "name": "FunctionSelectors",
2367
+ "nodeType": "Identifier",
2368
+ "overloadedDeclarations": [],
2369
+ "referencedDeclaration": 44933,
2370
+ "src": "3732:17:149",
2371
+ "typeDescriptions": {
2372
+ "typeIdentifier": "t_type$_t_contract$_FunctionSelectors_$44933_$",
2373
+ "typeString": "type(library FunctionSelectors)"
2374
+ }
2375
+ },
2376
+ "id": 67304,
2377
+ "isConstant": false,
2378
+ "isLValue": false,
2379
+ "isPure": false,
2380
+ "lValueRequested": false,
2381
+ "memberLocation": "3750:3:149",
2382
+ "memberName": "get",
2383
+ "nodeType": "MemberAccess",
2384
+ "referencedDeclaration": 44404,
2385
+ "src": "3732:21:149",
2386
+ "typeDescriptions": {
2387
+ "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_userDefinedValueType$_ResourceId_$29121_$_t_bytes4_$",
2388
+ "typeString": "function (bytes4) view returns (ResourceId,bytes4)"
2389
+ }
2390
+ },
2391
+ "id": 67309,
2392
+ "isConstant": false,
2393
+ "isLValue": false,
2394
+ "isPure": false,
2395
+ "kind": "functionCall",
2396
+ "lValueRequested": false,
2397
+ "nameLocations": [],
2398
+ "names": [],
2399
+ "nodeType": "FunctionCall",
2400
+ "src": "3732:39:149",
2401
+ "tryCall": false,
2402
+ "typeDescriptions": {
2403
+ "typeIdentifier": "t_tuple$_t_userDefinedValueType$_ResourceId_$29121_$_t_bytes4_$",
2404
+ "typeString": "tuple(ResourceId,bytes4)"
2405
+ }
2406
+ },
2407
+ "nodeType": "VariableDeclarationStatement",
2408
+ "src": "3677:94:149"
2409
+ },
2410
+ {
2411
+ "condition": {
2412
+ "commonType": {
2413
+ "typeIdentifier": "t_bytes32",
2414
+ "typeString": "bytes32"
2415
+ },
2416
+ "id": 67316,
2417
+ "isConstant": false,
2418
+ "isLValue": false,
2419
+ "isPure": false,
2420
+ "lValueRequested": false,
2421
+ "leftExpression": {
2422
+ "arguments": [
2423
+ {
2424
+ "id": 67313,
2425
+ "name": "systemId",
2426
+ "nodeType": "Identifier",
2427
+ "overloadedDeclarations": [],
2428
+ "referencedDeclaration": 67300,
2429
+ "src": "3852:8:149",
2430
+ "typeDescriptions": {
2431
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
2432
+ "typeString": "ResourceId"
2433
+ }
2434
+ }
2435
+ ],
2436
+ "expression": {
2437
+ "argumentTypes": [
2438
+ {
2439
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
2440
+ "typeString": "ResourceId"
2441
+ }
2442
+ ],
2443
+ "expression": {
2444
+ "id": 67311,
2445
+ "name": "ResourceId",
2446
+ "nodeType": "Identifier",
2447
+ "overloadedDeclarations": [],
2448
+ "referencedDeclaration": 29121,
2449
+ "src": "3834:10:149",
2450
+ "typeDescriptions": {
2451
+ "typeIdentifier": "t_type$_t_userDefinedValueType$_ResourceId_$29121_$",
2452
+ "typeString": "type(ResourceId)"
2453
+ }
2454
+ },
2455
+ "id": 67312,
2456
+ "isConstant": false,
2457
+ "isLValue": false,
2458
+ "isPure": true,
2459
+ "lValueRequested": false,
2460
+ "memberLocation": "3845:6:149",
2461
+ "memberName": "unwrap",
2462
+ "nodeType": "MemberAccess",
2463
+ "src": "3834:17:149",
2464
+ "typeDescriptions": {
2465
+ "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_ResourceId_$29121_$returns$_t_bytes32_$",
2466
+ "typeString": "function (ResourceId) pure returns (bytes32)"
2467
+ }
2468
+ },
2469
+ "id": 67314,
2470
+ "isConstant": false,
2471
+ "isLValue": false,
2472
+ "isPure": false,
2473
+ "kind": "functionCall",
2474
+ "lValueRequested": false,
2475
+ "nameLocations": [],
2476
+ "names": [],
2477
+ "nodeType": "FunctionCall",
2478
+ "src": "3834:27:149",
2479
+ "tryCall": false,
2480
+ "typeDescriptions": {
2481
+ "typeIdentifier": "t_bytes32",
2482
+ "typeString": "bytes32"
2483
+ }
2484
+ },
2485
+ "nodeType": "BinaryOperation",
2486
+ "operator": "==",
2487
+ "rightExpression": {
2488
+ "hexValue": "30",
2489
+ "id": 67315,
2490
+ "isConstant": false,
2491
+ "isLValue": false,
2492
+ "isPure": true,
2493
+ "kind": "number",
2494
+ "lValueRequested": false,
2495
+ "nodeType": "Literal",
2496
+ "src": "3865:1:149",
2497
+ "typeDescriptions": {
2498
+ "typeIdentifier": "t_rational_0_by_1",
2499
+ "typeString": "int_const 0"
2500
+ },
2501
+ "value": "0"
2502
+ },
2503
+ "src": "3834:32:149",
2504
+ "typeDescriptions": {
2505
+ "typeIdentifier": "t_bool",
2506
+ "typeString": "bool"
2507
+ }
2508
+ },
2509
+ "id": 67324,
2510
+ "nodeType": "IfStatement",
2511
+ "src": "3830:97:149",
2512
+ "trueBody": {
2513
+ "errorCall": {
2514
+ "arguments": [
2515
+ {
2516
+ "expression": {
2517
+ "id": 67320,
2518
+ "name": "msg",
2519
+ "nodeType": "Identifier",
2520
+ "overloadedDeclarations": [],
2521
+ "referencedDeclaration": -15,
2522
+ "src": "3919:3:149",
2523
+ "typeDescriptions": {
2524
+ "typeIdentifier": "t_magic_message",
2525
+ "typeString": "msg"
2526
+ }
2527
+ },
2528
+ "id": 67321,
2529
+ "isConstant": false,
2530
+ "isLValue": false,
2531
+ "isPure": false,
2532
+ "lValueRequested": false,
2533
+ "memberLocation": "3923:3:149",
2534
+ "memberName": "sig",
2535
+ "nodeType": "MemberAccess",
2536
+ "src": "3919:7:149",
2537
+ "typeDescriptions": {
2538
+ "typeIdentifier": "t_bytes4",
2539
+ "typeString": "bytes4"
2540
+ }
2541
+ }
2542
+ ],
2543
+ "expression": {
2544
+ "argumentTypes": [
2545
+ {
2546
+ "typeIdentifier": "t_bytes4",
2547
+ "typeString": "bytes4"
2548
+ }
2549
+ ],
2550
+ "expression": {
2551
+ "id": 67317,
2552
+ "name": "IWorldErrors",
2553
+ "nodeType": "Identifier",
2554
+ "overloadedDeclarations": [],
2555
+ "referencedDeclaration": 41823,
2556
+ "src": "3875:12:149",
2557
+ "typeDescriptions": {
2558
+ "typeIdentifier": "t_type$_t_contract$_IWorldErrors_$41823_$",
2559
+ "typeString": "type(contract IWorldErrors)"
2560
+ }
2561
+ },
2562
+ "id": 67319,
2563
+ "isConstant": false,
2564
+ "isLValue": false,
2565
+ "isPure": false,
2566
+ "lValueRequested": false,
2567
+ "memberLocation": "3888:30:149",
2568
+ "memberName": "World_FunctionSelectorNotFound",
2569
+ "nodeType": "MemberAccess",
2570
+ "referencedDeclaration": 41783,
2571
+ "src": "3875:43:149",
2572
+ "typeDescriptions": {
2573
+ "typeIdentifier": "t_function_error_pure$_t_bytes4_$returns$__$",
2574
+ "typeString": "function (bytes4) pure"
2575
+ }
2576
+ },
2577
+ "id": 67322,
2578
+ "isConstant": false,
2579
+ "isLValue": false,
2580
+ "isPure": false,
2581
+ "kind": "functionCall",
2582
+ "lValueRequested": false,
2583
+ "nameLocations": [],
2584
+ "names": [],
2585
+ "nodeType": "FunctionCall",
2586
+ "src": "3875:52:149",
2587
+ "tryCall": false,
2588
+ "typeDescriptions": {
2589
+ "typeIdentifier": "t_tuple$__$",
2590
+ "typeString": "tuple()"
2591
+ }
2592
+ },
2593
+ "id": 67323,
2594
+ "nodeType": "RevertStatement",
2595
+ "src": "3868:59:149"
2596
+ }
2597
+ },
2598
+ {
2599
+ "expression": {
2600
+ "arguments": [
2601
+ {
2602
+ "id": 67326,
2603
+ "name": "systemId",
2604
+ "nodeType": "Identifier",
2605
+ "overloadedDeclarations": [],
2606
+ "referencedDeclaration": 67300,
2607
+ "src": "4062:8:149",
2608
+ "typeDescriptions": {
2609
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
2610
+ "typeString": "ResourceId"
2611
+ }
2612
+ },
2613
+ {
2614
+ "arguments": [
2615
+ {
2616
+ "id": 67329,
2617
+ "name": "callData",
2618
+ "nodeType": "Identifier",
2619
+ "overloadedDeclarations": [],
2620
+ "referencedDeclaration": 67293,
2621
+ "src": "4098:8:149",
2622
+ "typeDescriptions": {
2623
+ "typeIdentifier": "t_bytes_memory_ptr",
2624
+ "typeString": "bytes memory"
2625
+ }
2626
+ },
2627
+ {
2628
+ "hexValue": "30",
2629
+ "id": 67330,
2630
+ "isConstant": false,
2631
+ "isLValue": false,
2632
+ "isPure": true,
2633
+ "kind": "number",
2634
+ "lValueRequested": false,
2635
+ "nodeType": "Literal",
2636
+ "src": "4108:1:149",
2637
+ "typeDescriptions": {
2638
+ "typeIdentifier": "t_rational_0_by_1",
2639
+ "typeString": "int_const 0"
2640
+ },
2641
+ "value": "0"
2642
+ },
2643
+ {
2644
+ "id": 67331,
2645
+ "name": "systemFunctionSelector",
2646
+ "nodeType": "Identifier",
2647
+ "overloadedDeclarations": [],
2648
+ "referencedDeclaration": 67302,
2649
+ "src": "4111:22:149",
2650
+ "typeDescriptions": {
2651
+ "typeIdentifier": "t_bytes4",
2652
+ "typeString": "bytes4"
2653
+ }
2654
+ }
2655
+ ],
2656
+ "expression": {
2657
+ "argumentTypes": [
2658
+ {
2659
+ "typeIdentifier": "t_bytes_memory_ptr",
2660
+ "typeString": "bytes memory"
2661
+ },
2662
+ {
2663
+ "typeIdentifier": "t_rational_0_by_1",
2664
+ "typeString": "int_const 0"
2665
+ },
2666
+ {
2667
+ "typeIdentifier": "t_bytes4",
2668
+ "typeString": "bytes4"
2669
+ }
2670
+ ],
2671
+ "expression": {
2672
+ "id": 67327,
2673
+ "name": "Bytes",
2674
+ "nodeType": "Identifier",
2675
+ "overloadedDeclarations": [],
2676
+ "referencedDeclaration": 27790,
2677
+ "src": "4082:5:149",
2678
+ "typeDescriptions": {
2679
+ "typeIdentifier": "t_type$_t_contract$_Bytes_$27790_$",
2680
+ "typeString": "type(library Bytes)"
2681
+ }
2682
+ },
2683
+ "id": 67328,
2684
+ "isConstant": false,
2685
+ "isLValue": false,
2686
+ "isPure": false,
2687
+ "lValueRequested": false,
2688
+ "memberLocation": "4088:9:149",
2689
+ "memberName": "setBytes4",
2690
+ "nodeType": "MemberAccess",
2691
+ "referencedDeclaration": 27123,
2692
+ "src": "4082:15:149",
2693
+ "typeDescriptions": {
2694
+ "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
2695
+ "typeString": "function (bytes memory,uint256,bytes4) pure returns (bytes memory)"
2696
+ }
2697
+ },
2698
+ "id": 67332,
2699
+ "isConstant": false,
2700
+ "isLValue": false,
2701
+ "isPure": false,
2702
+ "kind": "functionCall",
2703
+ "lValueRequested": false,
2704
+ "nameLocations": [],
2705
+ "names": [],
2706
+ "nodeType": "FunctionCall",
2707
+ "src": "4082:52:149",
2708
+ "tryCall": false,
2709
+ "typeDescriptions": {
2710
+ "typeIdentifier": "t_bytes_memory_ptr",
2711
+ "typeString": "bytes memory"
2712
+ }
2713
+ }
2714
+ ],
2715
+ "expression": {
2716
+ "argumentTypes": [
2717
+ {
2718
+ "typeIdentifier": "t_userDefinedValueType$_ResourceId_$29121",
2719
+ "typeString": "ResourceId"
2720
+ },
2721
+ {
2722
+ "typeIdentifier": "t_bytes_memory_ptr",
2723
+ "typeString": "bytes memory"
2724
+ }
2725
+ ],
2726
+ "id": 67325,
2727
+ "name": "call",
2728
+ "nodeType": "Identifier",
2729
+ "overloadedDeclarations": [
2730
+ 67290,
2731
+ 67336
2732
+ ],
2733
+ "referencedDeclaration": 67290,
2734
+ "src": "4045:4:149",
2735
+ "typeDescriptions": {
2736
+ "typeIdentifier": "t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$29121_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$",
2737
+ "typeString": "function (ResourceId,bytes memory) returns (bytes memory)"
2738
+ }
2739
+ },
2740
+ "id": 67333,
2741
+ "isConstant": false,
2742
+ "isLValue": false,
2743
+ "isPure": false,
2744
+ "kind": "functionCall",
2745
+ "lValueRequested": false,
2746
+ "nameLocations": [
2747
+ "4052:8:149",
2748
+ "4072:8:149"
2749
+ ],
2750
+ "names": [
2751
+ "systemId",
2752
+ "callData"
2753
+ ],
2754
+ "nodeType": "FunctionCall",
2755
+ "src": "4045:92:149",
2756
+ "tryCall": false,
2757
+ "typeDescriptions": {
2758
+ "typeIdentifier": "t_bytes_memory_ptr",
2759
+ "typeString": "bytes memory"
2760
+ }
2761
+ },
2762
+ "functionReturnParameters": 67297,
2763
+ "id": 67334,
2764
+ "nodeType": "Return",
2765
+ "src": "4038:99:149"
2766
+ }
2767
+ ]
2768
+ },
2769
+ "documentation": {
2770
+ "id": 67291,
2771
+ "nodeType": "StructuredDocumentation",
2772
+ "src": "2958:519:149",
2773
+ "text": " @notice Calls a system via the function selector registered for it in the World contract.\n @dev Reverts if the system is not found, or if the system call reverts.\n If the call is executed from the root context, the system is called directly via delegatecall.\n Otherwise, the call is executed via an external call to the World contract.\n @param callData The world function selector, and call data to be forwarded to the system.\n @return returnData The return data from the system call."
2774
+ },
2775
+ "implemented": true,
2776
+ "kind": "function",
2777
+ "modifiers": [],
2778
+ "name": "call",
2779
+ "nameLocation": "3489:4:149",
2780
+ "parameters": {
2781
+ "id": 67294,
2782
+ "nodeType": "ParameterList",
2783
+ "parameters": [
2784
+ {
2785
+ "constant": false,
2786
+ "id": 67293,
2787
+ "mutability": "mutable",
2788
+ "name": "callData",
2789
+ "nameLocation": "3507:8:149",
2790
+ "nodeType": "VariableDeclaration",
2791
+ "scope": 67336,
2792
+ "src": "3494:21:149",
2793
+ "stateVariable": false,
2794
+ "storageLocation": "memory",
2795
+ "typeDescriptions": {
2796
+ "typeIdentifier": "t_bytes_memory_ptr",
2797
+ "typeString": "bytes"
2798
+ },
2799
+ "typeName": {
2800
+ "id": 67292,
2801
+ "name": "bytes",
2802
+ "nodeType": "ElementaryTypeName",
2803
+ "src": "3494:5:149",
2804
+ "typeDescriptions": {
2805
+ "typeIdentifier": "t_bytes_storage_ptr",
2806
+ "typeString": "bytes"
2807
+ }
2808
+ },
2809
+ "visibility": "internal"
2810
+ }
2811
+ ],
2812
+ "src": "3493:23:149"
2813
+ },
2814
+ "returnParameters": {
2815
+ "id": 67297,
2816
+ "nodeType": "ParameterList",
2817
+ "parameters": [
2818
+ {
2819
+ "constant": false,
2820
+ "id": 67296,
2821
+ "mutability": "mutable",
2822
+ "name": "returnData",
2823
+ "nameLocation": "3548:10:149",
2824
+ "nodeType": "VariableDeclaration",
2825
+ "scope": 67336,
2826
+ "src": "3535:23:149",
2827
+ "stateVariable": false,
2828
+ "storageLocation": "memory",
2829
+ "typeDescriptions": {
2830
+ "typeIdentifier": "t_bytes_memory_ptr",
2831
+ "typeString": "bytes"
2832
+ },
2833
+ "typeName": {
2834
+ "id": 67295,
2835
+ "name": "bytes",
2836
+ "nodeType": "ElementaryTypeName",
2837
+ "src": "3535:5:149",
2838
+ "typeDescriptions": {
2839
+ "typeIdentifier": "t_bytes_storage_ptr",
2840
+ "typeString": "bytes"
2841
+ }
2842
+ },
2843
+ "visibility": "internal"
2844
+ }
2845
+ ],
2846
+ "src": "3534:25:149"
2847
+ },
2848
+ "scope": 67337,
2849
+ "stateMutability": "nonpayable",
2850
+ "virtual": false,
2851
+ "visibility": "internal"
2852
+ }
2853
+ ],
2854
+ "abstract": false,
2855
+ "baseContracts": [],
2856
+ "canonicalName": "SystemSwitch",
2857
+ "contractDependencies": [],
2858
+ "contractKind": "library",
2859
+ "documentation": {
2860
+ "id": 67199,
2861
+ "nodeType": "StructuredDocumentation",
2862
+ "src": "1243:131:149",
2863
+ "text": " @title SystemSwitch\n @dev The SystemSwitch library provides functions for interacting with systems from other systems."
2864
+ },
2865
+ "fullyImplemented": true,
2866
+ "linearizedBaseContracts": [
2867
+ 67337
2868
+ ],
2869
+ "name": "SystemSwitch",
2870
+ "nameLocation": "1383:12:149",
2871
+ "scope": 67338,
2872
+ "usedErrors": [],
2873
+ "usedEvents": []
2874
+ }
2875
+ ],
2876
+ "license": "MIT"
2877
+ },
2878
+ "id": 149
2879
+ }