@latticexyz/world-modules 2.0.0-main-071aadb9 → 2.0.0-main-88b1a5a1

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 (112) hide show
  1. package/out/ArrayLib.sol/ArrayLib.json +255 -255
  2. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +215 -215
  3. package/out/CallboundDelegations.sol/CallboundDelegations.json +2599 -2599
  4. package/out/DecodeSlice.sol/DecodeSlice.json +3250 -3250
  5. package/out/DelegationControl.sol/DelegationControl.json +94 -94
  6. package/out/EncodeArray.sol/EncodeArray.json +3345 -3345
  7. package/out/FieldLayout.sol/FieldLayoutInstance.json +47 -47
  8. package/out/FieldLayout.sol/FieldLayoutLib.json +47 -47
  9. package/out/Hook.sol/HookInstance.json +13 -13
  10. package/out/Hook.sol/HookLib.json +13 -13
  11. package/out/Hooks.sol/Hooks.json +3393 -3393
  12. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +58 -58
  13. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +54 -54
  14. package/out/IBaseWorld.sol/IBaseWorld.json +64 -64
  15. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +52 -52
  16. package/out/ICoreSystem.sol/ICoreSystem.json +7 -7
  17. package/out/IDelegationControl.sol/IDelegationControl.json +62 -62
  18. package/out/IModule.sol/IModule.json +78 -78
  19. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +28 -28
  20. package/out/ISystemHook.sol/ISystemHook.json +86 -86
  21. package/out/IUniqueEntitySystem.sol/IUniqueEntitySystem.json +13 -13
  22. package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +71 -71
  23. package/out/IWorldErrors.sol/IWorldErrors.json +152 -152
  24. package/out/IWorldKernel.sol/IWorldCall.json +154 -154
  25. package/out/IWorldKernel.sol/IWorldKernel.json +154 -154
  26. package/out/IWorldKernel.sol/IWorldModuleInstallation.json +154 -154
  27. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +190 -190
  28. package/out/KeysInTable.sol/KeysInTable.json +10672 -10672
  29. package/out/KeysInTableHook.sol/KeysInTableHook.json +867 -867
  30. package/out/KeysInTableModule.sol/KeysInTableModule.json +538 -538
  31. package/out/KeysWithValue.sol/KeysWithValue.json +3832 -3832
  32. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +993 -993
  33. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +426 -426
  34. package/out/Memory.sol/Memory.json +4 -4
  35. package/out/Module.sol/Module.json +84 -84
  36. package/out/ResourceIds.sol/ResourceIds.json +1363 -1363
  37. package/out/Schema.sol/SchemaInstance.json +72 -72
  38. package/out/Schema.sol/SchemaLib.json +72 -72
  39. package/out/SchemaType.sol/SchemaType.json +276 -276
  40. package/out/Slice.sol/SliceInstance.json +4 -4
  41. package/out/Slice.sol/SliceLib.json +4 -4
  42. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +303 -303
  43. package/out/Storage.sol/Storage.json +7 -7
  44. package/out/StoreCore.sol/StoreCore.json +708 -737
  45. package/out/StoreCore.sol/StoreCoreInternal.json +710 -739
  46. package/out/StoreHook.sol/StoreHook.json +368 -368
  47. package/out/StoreHooks.sol/StoreHooks.json +3232 -3232
  48. package/out/StoreSwitch.sol/StoreSwitch.json +1885 -1885
  49. package/out/System.sol/System.json +31 -31
  50. package/out/Tables.sol/Tables.json +5585 -5585
  51. package/out/TightCoder.sol/TightCoder.json +124 -124
  52. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +119 -119
  53. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1990 -1990
  54. package/out/UniqueEntity.sol/UniqueEntity.json +1406 -1406
  55. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +327 -327
  56. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +93 -93
  57. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +2727 -2727
  58. package/out/WorldContext.sol/WorldContextConsumer.json +1380 -988
  59. package/out/WorldContext.sol/{WorldContextProvider.json → WorldContextConsumerLib.json} +1381 -989
  60. package/out/WorldContext.sol/WorldContextProviderLib.json +3910 -0
  61. package/out/WorldResourceId.sol/WorldResourceIdInstance.json +476 -476
  62. package/out/WorldResourceId.sol/WorldResourceIdLib.json +476 -476
  63. package/out/constants.sol/LayoutOffsets.json +79 -79
  64. package/out/constants.sol/constants.json +115 -115
  65. package/out/getKeysInTable.sol/getKeysInTable.json +564 -564
  66. package/out/getKeysWithValue.sol/getKeysWithValue.json +264 -264
  67. package/out/getTargetTableId.sol/getTargetTableId.json +163 -163
  68. package/out/getUniqueEntity.sol/getUniqueEntity.json +88 -88
  69. package/out/hasKey.sol/hasKey.json +130 -130
  70. package/out/index.sol/index.json +53 -53
  71. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +131 -131
  72. package/out/leftMask.sol/leftMask.json +31 -31
  73. package/out/query.sol/query.json +1154 -1154
  74. package/out/revertWithBytes.sol/revertWithBytes.json +15 -15
  75. package/out/src/Bytes.sol/Bytes.json +1338 -1338
  76. package/out/src/FieldLayout.sol/FieldLayoutInstance.json +698 -698
  77. package/out/src/FieldLayout.sol/FieldLayoutLib.json +698 -698
  78. package/out/src/IStore.sol/IStore.json +53 -53
  79. package/out/src/IWorldKernel.sol/IWorldCall.json +153 -153
  80. package/out/src/IWorldKernel.sol/IWorldKernel.json +153 -153
  81. package/out/src/IWorldKernel.sol/IWorldModuleInstallation.json +153 -153
  82. package/out/src/Memory.sol/Memory.json +91 -91
  83. package/out/src/PackedCounter.sol/PackedCounterInstance.json +929 -929
  84. package/out/src/PackedCounter.sol/PackedCounterLib.json +929 -929
  85. package/out/src/ResourceId.sol/ResourceIdInstance.json +116 -116
  86. package/out/src/ResourceId.sol/ResourceIdLib.json +116 -116
  87. package/out/src/Schema.sol/SchemaInstance.json +790 -790
  88. package/out/src/Schema.sol/SchemaLib.json +790 -790
  89. package/out/src/Slice.sol/SliceInstance.json +430 -430
  90. package/out/src/Slice.sol/SliceLib.json +430 -430
  91. package/out/src/StoreCore.sol/StoreCore.json +4695 -4724
  92. package/out/src/StoreCore.sol/StoreCoreInternal.json +4697 -4726
  93. package/out/src/StoreSwitch.sol/StoreSwitch.json +2487 -2487
  94. package/out/src/WorldContext.sol/WorldContextConsumer.json +1291 -899
  95. package/out/src/WorldContext.sol/WorldContextConsumerLib.abi.json +1 -0
  96. package/out/src/WorldContext.sol/{WorldContextProvider.json → WorldContextConsumerLib.json} +1292 -900
  97. package/out/src/WorldContext.sol/WorldContextProviderLib.abi.json +1 -0
  98. package/out/src/WorldContext.sol/WorldContextProviderLib.json +3910 -0
  99. package/out/src/WorldResourceId.sol/WorldResourceIdInstance.json +476 -476
  100. package/out/src/WorldResourceId.sol/WorldResourceIdLib.json +476 -476
  101. package/out/storeHookTypes.sol/storeHookTypes.json +115 -115
  102. package/out/storeResourceTypes.sol/storeResourceTypes.json +12 -12
  103. package/out/tables/ResourceIds.sol/ResourceIds.json +1751 -1751
  104. package/out/tables/Tables.sol/Tables.json +7292 -7292
  105. package/out/tightcoder/EncodeArray.sol/EncodeArray.json +3345 -3345
  106. package/out/types.sol/types.json +41 -41
  107. package/out/version.sol/version.json +7 -7
  108. package/out/world/src/IERC165.sol/IERC165.json +28 -28
  109. package/out/worldResourceTypes.sol/worldResourceTypes.json +53 -53
  110. package/package.json +8 -8
  111. /package/out/WorldContext.sol/{WorldContextProvider.abi.json → WorldContextConsumerLib.abi.json} +0 -0
  112. /package/out/{src/WorldContext.sol/WorldContextProvider.abi.json → WorldContext.sol/WorldContextProviderLib.abi.json} +0 -0
@@ -0,0 +1,3910 @@
1
+ {
2
+ "abi": [],
3
+ "bytecode": {
4
+ "object": "0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000815000a",
5
+ "sourceMap": "4265:3922:97:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;4265:3922:97;;;;;;;;;;;;;;;;;",
6
+ "linkReferences": {}
7
+ },
8
+ "deployedBytecode": {
9
+ "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000815000a",
10
+ "sourceMap": "4265:3922:97:-:0;;;;;;;;",
11
+ "linkReferences": {}
12
+ },
13
+ "methodIdentifiers": {},
14
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"WorldContextProviderLib - Utility functions to call contracts with context values appended to calldata.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This library provides functions to make calls or delegatecalls to other contracts, appending the context values (like msg.sender and msg.value) to the calldata for WorldContextConsumer to consume.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/WorldContext.sol\":\"WorldContextProviderLib\"},\"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/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]}},\"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
+ "node_modules/@latticexyz/world/src/WorldContext.sol": "WorldContextProviderLib"
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/IERC165.sol": {
325
+ "keccak256": "0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47",
326
+ "urls": [
327
+ "bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5",
328
+ "dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"
329
+ ],
330
+ "license": "MIT"
331
+ },
332
+ "node_modules/@latticexyz/world/src/IWorldContextConsumer.sol": {
333
+ "keccak256": "0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500",
334
+ "urls": [
335
+ "bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d",
336
+ "dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu"
337
+ ],
338
+ "license": "MIT"
339
+ },
340
+ "node_modules/@latticexyz/world/src/WorldContext.sol": {
341
+ "keccak256": "0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a",
342
+ "urls": [
343
+ "bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518",
344
+ "dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"
345
+ ],
346
+ "license": "MIT"
347
+ },
348
+ "node_modules/@latticexyz/world/src/revertWithBytes.sol": {
349
+ "keccak256": "0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55",
350
+ "urls": [
351
+ "bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df",
352
+ "dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"
353
+ ],
354
+ "license": "MIT"
355
+ }
356
+ },
357
+ "version": 1
358
+ },
359
+ "ast": {
360
+ "absolutePath": "node_modules/@latticexyz/world/src/WorldContext.sol",
361
+ "id": 39456,
362
+ "exportedSymbols": {
363
+ "CONTEXT_BYTES": [
364
+ 39207
365
+ ],
366
+ "ERC165_INTERFACE_ID": [
367
+ 61490
368
+ ],
369
+ "IWorldContextConsumer": [
370
+ 61543
371
+ ],
372
+ "StoreSwitch": [
373
+ 31292
374
+ ],
375
+ "WORLD_CONTEXT_CONSUMER_INTERFACE_ID": [
376
+ 61521
377
+ ],
378
+ "WorldContextConsumer": [
379
+ 39261
380
+ ],
381
+ "WorldContextConsumerLib": [
382
+ 39301
383
+ ],
384
+ "WorldContextProviderLib": [
385
+ 39455
386
+ ],
387
+ "revertWithBytes": [
388
+ 39849
389
+ ]
390
+ },
391
+ "nodeType": "SourceUnit",
392
+ "src": "32:8156:97",
393
+ "nodes": [
394
+ {
395
+ "id": 39193,
396
+ "nodeType": "PragmaDirective",
397
+ "src": "32:25:97",
398
+ "nodes": [],
399
+ "literals": [
400
+ "solidity",
401
+ ">=",
402
+ "0.8",
403
+ ".21"
404
+ ]
405
+ },
406
+ {
407
+ "id": 39195,
408
+ "nodeType": "ImportDirective",
409
+ "src": "59:68:97",
410
+ "nodes": [],
411
+ "absolutePath": "node_modules/@latticexyz/store/src/StoreSwitch.sol",
412
+ "file": "@latticexyz/store/src/StoreSwitch.sol",
413
+ "nameLocation": "-1:-1:-1",
414
+ "scope": 39456,
415
+ "sourceUnit": 31293,
416
+ "symbolAliases": [
417
+ {
418
+ "foreign": {
419
+ "id": 39194,
420
+ "name": "StoreSwitch",
421
+ "nodeType": "Identifier",
422
+ "overloadedDeclarations": [],
423
+ "referencedDeclaration": 31292,
424
+ "src": "68:11:97",
425
+ "typeDescriptions": {}
426
+ },
427
+ "nameLocation": "-1:-1:-1"
428
+ }
429
+ ],
430
+ "unitAlias": ""
431
+ },
432
+ {
433
+ "id": 39197,
434
+ "nodeType": "ImportDirective",
435
+ "src": "128:56:97",
436
+ "nodes": [],
437
+ "absolutePath": "node_modules/@latticexyz/world/src/revertWithBytes.sol",
438
+ "file": "./revertWithBytes.sol",
439
+ "nameLocation": "-1:-1:-1",
440
+ "scope": 39456,
441
+ "sourceUnit": 39850,
442
+ "symbolAliases": [
443
+ {
444
+ "foreign": {
445
+ "id": 39196,
446
+ "name": "revertWithBytes",
447
+ "nodeType": "Identifier",
448
+ "overloadedDeclarations": [],
449
+ "referencedDeclaration": 39849,
450
+ "src": "137:15:97",
451
+ "typeDescriptions": {}
452
+ },
453
+ "nameLocation": "-1:-1:-1"
454
+ }
455
+ ],
456
+ "unitAlias": ""
457
+ },
458
+ {
459
+ "id": 39199,
460
+ "nodeType": "ImportDirective",
461
+ "src": "185:52:97",
462
+ "nodes": [],
463
+ "absolutePath": "node_modules/@latticexyz/world/src/IERC165.sol",
464
+ "file": "./IERC165.sol",
465
+ "nameLocation": "-1:-1:-1",
466
+ "scope": 39456,
467
+ "sourceUnit": 61501,
468
+ "symbolAliases": [
469
+ {
470
+ "foreign": {
471
+ "id": 39198,
472
+ "name": "ERC165_INTERFACE_ID",
473
+ "nodeType": "Identifier",
474
+ "overloadedDeclarations": [],
475
+ "referencedDeclaration": 61490,
476
+ "src": "194:19:97",
477
+ "typeDescriptions": {}
478
+ },
479
+ "nameLocation": "-1:-1:-1"
480
+ }
481
+ ],
482
+ "unitAlias": ""
483
+ },
484
+ {
485
+ "id": 39202,
486
+ "nodeType": "ImportDirective",
487
+ "src": "238:105:97",
488
+ "nodes": [],
489
+ "absolutePath": "node_modules/@latticexyz/world/src/IWorldContextConsumer.sol",
490
+ "file": "./IWorldContextConsumer.sol",
491
+ "nameLocation": "-1:-1:-1",
492
+ "scope": 39456,
493
+ "sourceUnit": 61544,
494
+ "symbolAliases": [
495
+ {
496
+ "foreign": {
497
+ "id": 39200,
498
+ "name": "IWorldContextConsumer",
499
+ "nodeType": "Identifier",
500
+ "overloadedDeclarations": [],
501
+ "referencedDeclaration": 61543,
502
+ "src": "247:21:97",
503
+ "typeDescriptions": {}
504
+ },
505
+ "nameLocation": "-1:-1:-1"
506
+ },
507
+ {
508
+ "foreign": {
509
+ "id": 39201,
510
+ "name": "WORLD_CONTEXT_CONSUMER_INTERFACE_ID",
511
+ "nodeType": "Identifier",
512
+ "overloadedDeclarations": [],
513
+ "referencedDeclaration": 61521,
514
+ "src": "270:35:97",
515
+ "typeDescriptions": {}
516
+ },
517
+ "nameLocation": "-1:-1:-1"
518
+ }
519
+ ],
520
+ "unitAlias": ""
521
+ },
522
+ {
523
+ "id": 39207,
524
+ "nodeType": "VariableDeclaration",
525
+ "src": "420:40:97",
526
+ "nodes": [],
527
+ "constant": true,
528
+ "mutability": "constant",
529
+ "name": "CONTEXT_BYTES",
530
+ "nameLocation": "437:13:97",
531
+ "scope": 39456,
532
+ "stateVariable": false,
533
+ "storageLocation": "default",
534
+ "typeDescriptions": {
535
+ "typeIdentifier": "t_uint256",
536
+ "typeString": "uint256"
537
+ },
538
+ "typeName": {
539
+ "id": 39203,
540
+ "name": "uint256",
541
+ "nodeType": "ElementaryTypeName",
542
+ "src": "420:7:97",
543
+ "typeDescriptions": {
544
+ "typeIdentifier": "t_uint256",
545
+ "typeString": "uint256"
546
+ }
547
+ },
548
+ "value": {
549
+ "commonType": {
550
+ "typeIdentifier": "t_rational_52_by_1",
551
+ "typeString": "int_const 52"
552
+ },
553
+ "id": 39206,
554
+ "isConstant": false,
555
+ "isLValue": false,
556
+ "isPure": true,
557
+ "lValueRequested": false,
558
+ "leftExpression": {
559
+ "hexValue": "3230",
560
+ "id": 39204,
561
+ "isConstant": false,
562
+ "isLValue": false,
563
+ "isPure": true,
564
+ "kind": "number",
565
+ "lValueRequested": false,
566
+ "nodeType": "Literal",
567
+ "src": "453:2:97",
568
+ "typeDescriptions": {
569
+ "typeIdentifier": "t_rational_20_by_1",
570
+ "typeString": "int_const 20"
571
+ },
572
+ "value": "20"
573
+ },
574
+ "nodeType": "BinaryOperation",
575
+ "operator": "+",
576
+ "rightExpression": {
577
+ "hexValue": "3332",
578
+ "id": 39205,
579
+ "isConstant": false,
580
+ "isLValue": false,
581
+ "isPure": true,
582
+ "kind": "number",
583
+ "lValueRequested": false,
584
+ "nodeType": "Literal",
585
+ "src": "458:2:97",
586
+ "typeDescriptions": {
587
+ "typeIdentifier": "t_rational_32_by_1",
588
+ "typeString": "int_const 32"
589
+ },
590
+ "value": "32"
591
+ },
592
+ "src": "453:7:97",
593
+ "typeDescriptions": {
594
+ "typeIdentifier": "t_rational_52_by_1",
595
+ "typeString": "int_const 52"
596
+ }
597
+ },
598
+ "visibility": "internal"
599
+ },
600
+ {
601
+ "id": 39261,
602
+ "nodeType": "ContractDefinition",
603
+ "src": "937:1564:97",
604
+ "nodes": [
605
+ {
606
+ "id": 39221,
607
+ "nodeType": "FunctionDefinition",
608
+ "src": "1245:113:97",
609
+ "nodes": [],
610
+ "body": {
611
+ "id": 39220,
612
+ "nodeType": "Block",
613
+ "src": "1304:54:97",
614
+ "nodes": [],
615
+ "statements": [
616
+ {
617
+ "expression": {
618
+ "arguments": [],
619
+ "expression": {
620
+ "argumentTypes": [],
621
+ "expression": {
622
+ "id": 39216,
623
+ "name": "WorldContextConsumerLib",
624
+ "nodeType": "Identifier",
625
+ "overloadedDeclarations": [],
626
+ "referencedDeclaration": 39301,
627
+ "src": "1317:23:97",
628
+ "typeDescriptions": {
629
+ "typeIdentifier": "t_type$_t_contract$_WorldContextConsumerLib_$39301_$",
630
+ "typeString": "type(library WorldContextConsumerLib)"
631
+ }
632
+ },
633
+ "id": 39217,
634
+ "isConstant": false,
635
+ "isLValue": false,
636
+ "isPure": false,
637
+ "lValueRequested": false,
638
+ "memberLocation": "1341:10:97",
639
+ "memberName": "_msgSender",
640
+ "nodeType": "MemberAccess",
641
+ "referencedDeclaration": 39281,
642
+ "src": "1317:34:97",
643
+ "typeDescriptions": {
644
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
645
+ "typeString": "function () view returns (address)"
646
+ }
647
+ },
648
+ "id": 39218,
649
+ "isConstant": false,
650
+ "isLValue": false,
651
+ "isPure": false,
652
+ "kind": "functionCall",
653
+ "lValueRequested": false,
654
+ "nameLocations": [],
655
+ "names": [],
656
+ "nodeType": "FunctionCall",
657
+ "src": "1317:36:97",
658
+ "tryCall": false,
659
+ "typeDescriptions": {
660
+ "typeIdentifier": "t_address",
661
+ "typeString": "address"
662
+ }
663
+ },
664
+ "functionReturnParameters": 39215,
665
+ "id": 39219,
666
+ "nodeType": "Return",
667
+ "src": "1310:43:97"
668
+ }
669
+ ]
670
+ },
671
+ "baseFunctions": [
672
+ 61530
673
+ ],
674
+ "documentation": {
675
+ "id": 39211,
676
+ "nodeType": "StructuredDocumentation",
677
+ "src": "1005:237:97",
678
+ "text": " @notice Extract the `msg.sender` from the context appended to the calldata.\n @return sender The `msg.sender` in the call to the World contract before the World routed the\n call to the WorldContextConsumer contract."
679
+ },
680
+ "functionSelector": "119df25f",
681
+ "implemented": true,
682
+ "kind": "function",
683
+ "modifiers": [],
684
+ "name": "_msgSender",
685
+ "nameLocation": "1254:10:97",
686
+ "parameters": {
687
+ "id": 39212,
688
+ "nodeType": "ParameterList",
689
+ "parameters": [],
690
+ "src": "1264:2:97"
691
+ },
692
+ "returnParameters": {
693
+ "id": 39215,
694
+ "nodeType": "ParameterList",
695
+ "parameters": [
696
+ {
697
+ "constant": false,
698
+ "id": 39214,
699
+ "mutability": "mutable",
700
+ "name": "sender",
701
+ "nameLocation": "1296:6:97",
702
+ "nodeType": "VariableDeclaration",
703
+ "scope": 39221,
704
+ "src": "1288:14:97",
705
+ "stateVariable": false,
706
+ "storageLocation": "default",
707
+ "typeDescriptions": {
708
+ "typeIdentifier": "t_address",
709
+ "typeString": "address"
710
+ },
711
+ "typeName": {
712
+ "id": 39213,
713
+ "name": "address",
714
+ "nodeType": "ElementaryTypeName",
715
+ "src": "1288:7:97",
716
+ "stateMutability": "nonpayable",
717
+ "typeDescriptions": {
718
+ "typeIdentifier": "t_address",
719
+ "typeString": "address"
720
+ }
721
+ },
722
+ "visibility": "internal"
723
+ }
724
+ ],
725
+ "src": "1287:16:97"
726
+ },
727
+ "scope": 39261,
728
+ "stateMutability": "view",
729
+ "virtual": false,
730
+ "visibility": "public"
731
+ },
732
+ {
733
+ "id": 39232,
734
+ "nodeType": "FunctionDefinition",
735
+ "src": "1599:110:97",
736
+ "nodes": [],
737
+ "body": {
738
+ "id": 39231,
739
+ "nodeType": "Block",
740
+ "src": "1656:53:97",
741
+ "nodes": [],
742
+ "statements": [
743
+ {
744
+ "expression": {
745
+ "arguments": [],
746
+ "expression": {
747
+ "argumentTypes": [],
748
+ "expression": {
749
+ "id": 39227,
750
+ "name": "WorldContextConsumerLib",
751
+ "nodeType": "Identifier",
752
+ "overloadedDeclarations": [],
753
+ "referencedDeclaration": 39301,
754
+ "src": "1669:23:97",
755
+ "typeDescriptions": {
756
+ "typeIdentifier": "t_type$_t_contract$_WorldContextConsumerLib_$39301_$",
757
+ "typeString": "type(library WorldContextConsumerLib)"
758
+ }
759
+ },
760
+ "id": 39228,
761
+ "isConstant": false,
762
+ "isLValue": false,
763
+ "isPure": false,
764
+ "lValueRequested": false,
765
+ "memberLocation": "1693:9:97",
766
+ "memberName": "_msgValue",
767
+ "nodeType": "MemberAccess",
768
+ "referencedDeclaration": 39289,
769
+ "src": "1669:33:97",
770
+ "typeDescriptions": {
771
+ "typeIdentifier": "t_function_internal_pure$__$returns$_t_uint256_$",
772
+ "typeString": "function () pure returns (uint256)"
773
+ }
774
+ },
775
+ "id": 39229,
776
+ "isConstant": false,
777
+ "isLValue": false,
778
+ "isPure": false,
779
+ "kind": "functionCall",
780
+ "lValueRequested": false,
781
+ "nameLocations": [],
782
+ "names": [],
783
+ "nodeType": "FunctionCall",
784
+ "src": "1669:35:97",
785
+ "tryCall": false,
786
+ "typeDescriptions": {
787
+ "typeIdentifier": "t_uint256",
788
+ "typeString": "uint256"
789
+ }
790
+ },
791
+ "functionReturnParameters": 39226,
792
+ "id": 39230,
793
+ "nodeType": "Return",
794
+ "src": "1662:42:97"
795
+ }
796
+ ]
797
+ },
798
+ "baseFunctions": [
799
+ 61536
800
+ ],
801
+ "documentation": {
802
+ "id": 39222,
803
+ "nodeType": "StructuredDocumentation",
804
+ "src": "1362:234:97",
805
+ "text": " @notice Extract the `msg.value` from the context appended to the calldata.\n @return value The `msg.value` in the call to the World contract before the World routed the\n call to the WorldContextConsumer contract."
806
+ },
807
+ "functionSelector": "45ec9354",
808
+ "implemented": true,
809
+ "kind": "function",
810
+ "modifiers": [],
811
+ "name": "_msgValue",
812
+ "nameLocation": "1608:9:97",
813
+ "parameters": {
814
+ "id": 39223,
815
+ "nodeType": "ParameterList",
816
+ "parameters": [],
817
+ "src": "1617:2:97"
818
+ },
819
+ "returnParameters": {
820
+ "id": 39226,
821
+ "nodeType": "ParameterList",
822
+ "parameters": [
823
+ {
824
+ "constant": false,
825
+ "id": 39225,
826
+ "mutability": "mutable",
827
+ "name": "value",
828
+ "nameLocation": "1649:5:97",
829
+ "nodeType": "VariableDeclaration",
830
+ "scope": 39232,
831
+ "src": "1641:13:97",
832
+ "stateVariable": false,
833
+ "storageLocation": "default",
834
+ "typeDescriptions": {
835
+ "typeIdentifier": "t_uint256",
836
+ "typeString": "uint256"
837
+ },
838
+ "typeName": {
839
+ "id": 39224,
840
+ "name": "uint256",
841
+ "nodeType": "ElementaryTypeName",
842
+ "src": "1641:7:97",
843
+ "typeDescriptions": {
844
+ "typeIdentifier": "t_uint256",
845
+ "typeString": "uint256"
846
+ }
847
+ },
848
+ "visibility": "internal"
849
+ }
850
+ ],
851
+ "src": "1640:15:97"
852
+ },
853
+ "scope": 39261,
854
+ "stateMutability": "pure",
855
+ "virtual": false,
856
+ "visibility": "public"
857
+ },
858
+ {
859
+ "id": 39243,
860
+ "nodeType": "FunctionDefinition",
861
+ "src": "1925:95:97",
862
+ "nodes": [],
863
+ "body": {
864
+ "id": 39242,
865
+ "nodeType": "Block",
866
+ "src": "1973:47:97",
867
+ "nodes": [],
868
+ "statements": [
869
+ {
870
+ "expression": {
871
+ "arguments": [],
872
+ "expression": {
873
+ "argumentTypes": [],
874
+ "expression": {
875
+ "id": 39238,
876
+ "name": "StoreSwitch",
877
+ "nodeType": "Identifier",
878
+ "overloadedDeclarations": [],
879
+ "referencedDeclaration": 31292,
880
+ "src": "1986:11:97",
881
+ "typeDescriptions": {
882
+ "typeIdentifier": "t_type$_t_contract$_StoreSwitch_$31292_$",
883
+ "typeString": "type(library StoreSwitch)"
884
+ }
885
+ },
886
+ "id": 39239,
887
+ "isConstant": false,
888
+ "isLValue": false,
889
+ "isPure": false,
890
+ "lValueRequested": false,
891
+ "memberLocation": "1998:15:97",
892
+ "memberName": "getStoreAddress",
893
+ "nodeType": "MemberAccess",
894
+ "referencedDeclaration": 30036,
895
+ "src": "1986:27:97",
896
+ "typeDescriptions": {
897
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
898
+ "typeString": "function () view returns (address)"
899
+ }
900
+ },
901
+ "id": 39240,
902
+ "isConstant": false,
903
+ "isLValue": false,
904
+ "isPure": false,
905
+ "kind": "functionCall",
906
+ "lValueRequested": false,
907
+ "nameLocations": [],
908
+ "names": [],
909
+ "nodeType": "FunctionCall",
910
+ "src": "1986:29:97",
911
+ "tryCall": false,
912
+ "typeDescriptions": {
913
+ "typeIdentifier": "t_address",
914
+ "typeString": "address"
915
+ }
916
+ },
917
+ "functionReturnParameters": 39237,
918
+ "id": 39241,
919
+ "nodeType": "Return",
920
+ "src": "1979:36:97"
921
+ }
922
+ ]
923
+ },
924
+ "baseFunctions": [
925
+ 61542
926
+ ],
927
+ "documentation": {
928
+ "id": 39233,
929
+ "nodeType": "StructuredDocumentation",
930
+ "src": "1713:209:97",
931
+ "text": " @notice Get the address of the World contract that routed the call to this WorldContextConsumer.\n @return The address of the World contract that routed the call to this WorldContextConsumer."
932
+ },
933
+ "functionSelector": "e1af802c",
934
+ "implemented": true,
935
+ "kind": "function",
936
+ "modifiers": [],
937
+ "name": "_world",
938
+ "nameLocation": "1934:6:97",
939
+ "parameters": {
940
+ "id": 39234,
941
+ "nodeType": "ParameterList",
942
+ "parameters": [],
943
+ "src": "1940:2:97"
944
+ },
945
+ "returnParameters": {
946
+ "id": 39237,
947
+ "nodeType": "ParameterList",
948
+ "parameters": [
949
+ {
950
+ "constant": false,
951
+ "id": 39236,
952
+ "mutability": "mutable",
953
+ "name": "",
954
+ "nameLocation": "-1:-1:-1",
955
+ "nodeType": "VariableDeclaration",
956
+ "scope": 39243,
957
+ "src": "1964:7:97",
958
+ "stateVariable": false,
959
+ "storageLocation": "default",
960
+ "typeDescriptions": {
961
+ "typeIdentifier": "t_address",
962
+ "typeString": "address"
963
+ },
964
+ "typeName": {
965
+ "id": 39235,
966
+ "name": "address",
967
+ "nodeType": "ElementaryTypeName",
968
+ "src": "1964:7:97",
969
+ "stateMutability": "nonpayable",
970
+ "typeDescriptions": {
971
+ "typeIdentifier": "t_address",
972
+ "typeString": "address"
973
+ }
974
+ },
975
+ "visibility": "internal"
976
+ }
977
+ ],
978
+ "src": "1963:9:97"
979
+ },
980
+ "scope": 39261,
981
+ "stateMutability": "view",
982
+ "virtual": false,
983
+ "visibility": "public"
984
+ },
985
+ {
986
+ "id": 39260,
987
+ "nodeType": "FunctionDefinition",
988
+ "src": "2311:188:97",
989
+ "nodes": [],
990
+ "body": {
991
+ "id": 39259,
992
+ "nodeType": "Block",
993
+ "src": "2393:106:97",
994
+ "nodes": [],
995
+ "statements": [
996
+ {
997
+ "expression": {
998
+ "commonType": {
999
+ "typeIdentifier": "t_bool",
1000
+ "typeString": "bool"
1001
+ },
1002
+ "id": 39257,
1003
+ "isConstant": false,
1004
+ "isLValue": false,
1005
+ "isPure": false,
1006
+ "lValueRequested": false,
1007
+ "leftExpression": {
1008
+ "commonType": {
1009
+ "typeIdentifier": "t_bytes4",
1010
+ "typeString": "bytes4"
1011
+ },
1012
+ "id": 39253,
1013
+ "isConstant": false,
1014
+ "isLValue": false,
1015
+ "isPure": false,
1016
+ "lValueRequested": false,
1017
+ "leftExpression": {
1018
+ "id": 39251,
1019
+ "name": "interfaceId",
1020
+ "nodeType": "Identifier",
1021
+ "overloadedDeclarations": [],
1022
+ "referencedDeclaration": 39246,
1023
+ "src": "2406:11:97",
1024
+ "typeDescriptions": {
1025
+ "typeIdentifier": "t_bytes4",
1026
+ "typeString": "bytes4"
1027
+ }
1028
+ },
1029
+ "nodeType": "BinaryOperation",
1030
+ "operator": "==",
1031
+ "rightExpression": {
1032
+ "id": 39252,
1033
+ "name": "WORLD_CONTEXT_CONSUMER_INTERFACE_ID",
1034
+ "nodeType": "Identifier",
1035
+ "overloadedDeclarations": [],
1036
+ "referencedDeclaration": 61521,
1037
+ "src": "2421:35:97",
1038
+ "typeDescriptions": {
1039
+ "typeIdentifier": "t_bytes4",
1040
+ "typeString": "bytes4"
1041
+ }
1042
+ },
1043
+ "src": "2406:50:97",
1044
+ "typeDescriptions": {
1045
+ "typeIdentifier": "t_bool",
1046
+ "typeString": "bool"
1047
+ }
1048
+ },
1049
+ "nodeType": "BinaryOperation",
1050
+ "operator": "||",
1051
+ "rightExpression": {
1052
+ "commonType": {
1053
+ "typeIdentifier": "t_bytes4",
1054
+ "typeString": "bytes4"
1055
+ },
1056
+ "id": 39256,
1057
+ "isConstant": false,
1058
+ "isLValue": false,
1059
+ "isPure": false,
1060
+ "lValueRequested": false,
1061
+ "leftExpression": {
1062
+ "id": 39254,
1063
+ "name": "interfaceId",
1064
+ "nodeType": "Identifier",
1065
+ "overloadedDeclarations": [],
1066
+ "referencedDeclaration": 39246,
1067
+ "src": "2460:11:97",
1068
+ "typeDescriptions": {
1069
+ "typeIdentifier": "t_bytes4",
1070
+ "typeString": "bytes4"
1071
+ }
1072
+ },
1073
+ "nodeType": "BinaryOperation",
1074
+ "operator": "==",
1075
+ "rightExpression": {
1076
+ "id": 39255,
1077
+ "name": "ERC165_INTERFACE_ID",
1078
+ "nodeType": "Identifier",
1079
+ "overloadedDeclarations": [],
1080
+ "referencedDeclaration": 61490,
1081
+ "src": "2475:19:97",
1082
+ "typeDescriptions": {
1083
+ "typeIdentifier": "t_bytes4",
1084
+ "typeString": "bytes4"
1085
+ }
1086
+ },
1087
+ "src": "2460:34:97",
1088
+ "typeDescriptions": {
1089
+ "typeIdentifier": "t_bool",
1090
+ "typeString": "bool"
1091
+ }
1092
+ },
1093
+ "src": "2406:88:97",
1094
+ "typeDescriptions": {
1095
+ "typeIdentifier": "t_bool",
1096
+ "typeString": "bool"
1097
+ }
1098
+ },
1099
+ "functionReturnParameters": 39250,
1100
+ "id": 39258,
1101
+ "nodeType": "Return",
1102
+ "src": "2399:95:97"
1103
+ }
1104
+ ]
1105
+ },
1106
+ "baseFunctions": [
1107
+ 61499
1108
+ ],
1109
+ "documentation": {
1110
+ "id": 39244,
1111
+ "nodeType": "StructuredDocumentation",
1112
+ "src": "2024:284:97",
1113
+ "text": " @notice Checks if an interface is supported by the contract.\n using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\n @param interfaceId The ID of the interface in question.\n @return True if the interface is supported, false otherwise."
1114
+ },
1115
+ "functionSelector": "01ffc9a7",
1116
+ "implemented": true,
1117
+ "kind": "function",
1118
+ "modifiers": [],
1119
+ "name": "supportsInterface",
1120
+ "nameLocation": "2320:17:97",
1121
+ "parameters": {
1122
+ "id": 39247,
1123
+ "nodeType": "ParameterList",
1124
+ "parameters": [
1125
+ {
1126
+ "constant": false,
1127
+ "id": 39246,
1128
+ "mutability": "mutable",
1129
+ "name": "interfaceId",
1130
+ "nameLocation": "2345:11:97",
1131
+ "nodeType": "VariableDeclaration",
1132
+ "scope": 39260,
1133
+ "src": "2338:18:97",
1134
+ "stateVariable": false,
1135
+ "storageLocation": "default",
1136
+ "typeDescriptions": {
1137
+ "typeIdentifier": "t_bytes4",
1138
+ "typeString": "bytes4"
1139
+ },
1140
+ "typeName": {
1141
+ "id": 39245,
1142
+ "name": "bytes4",
1143
+ "nodeType": "ElementaryTypeName",
1144
+ "src": "2338:6:97",
1145
+ "typeDescriptions": {
1146
+ "typeIdentifier": "t_bytes4",
1147
+ "typeString": "bytes4"
1148
+ }
1149
+ },
1150
+ "visibility": "internal"
1151
+ }
1152
+ ],
1153
+ "src": "2337:20:97"
1154
+ },
1155
+ "returnParameters": {
1156
+ "id": 39250,
1157
+ "nodeType": "ParameterList",
1158
+ "parameters": [
1159
+ {
1160
+ "constant": false,
1161
+ "id": 39249,
1162
+ "mutability": "mutable",
1163
+ "name": "",
1164
+ "nameLocation": "-1:-1:-1",
1165
+ "nodeType": "VariableDeclaration",
1166
+ "scope": 39260,
1167
+ "src": "2387:4:97",
1168
+ "stateVariable": false,
1169
+ "storageLocation": "default",
1170
+ "typeDescriptions": {
1171
+ "typeIdentifier": "t_bool",
1172
+ "typeString": "bool"
1173
+ },
1174
+ "typeName": {
1175
+ "id": 39248,
1176
+ "name": "bool",
1177
+ "nodeType": "ElementaryTypeName",
1178
+ "src": "2387:4:97",
1179
+ "typeDescriptions": {
1180
+ "typeIdentifier": "t_bool",
1181
+ "typeString": "bool"
1182
+ }
1183
+ },
1184
+ "visibility": "internal"
1185
+ }
1186
+ ],
1187
+ "src": "2386:6:97"
1188
+ },
1189
+ "scope": 39261,
1190
+ "stateMutability": "pure",
1191
+ "virtual": true,
1192
+ "visibility": "public"
1193
+ }
1194
+ ],
1195
+ "abstract": true,
1196
+ "baseContracts": [
1197
+ {
1198
+ "baseName": {
1199
+ "id": 39209,
1200
+ "name": "IWorldContextConsumer",
1201
+ "nameLocations": [
1202
+ "979:21:97"
1203
+ ],
1204
+ "nodeType": "IdentifierPath",
1205
+ "referencedDeclaration": 61543,
1206
+ "src": "979:21:97"
1207
+ },
1208
+ "id": 39210,
1209
+ "nodeType": "InheritanceSpecifier",
1210
+ "src": "979:21:97"
1211
+ }
1212
+ ],
1213
+ "canonicalName": "WorldContextConsumer",
1214
+ "contractDependencies": [],
1215
+ "contractKind": "contract",
1216
+ "documentation": {
1217
+ "id": 39208,
1218
+ "nodeType": "StructuredDocumentation",
1219
+ "src": "463:473:97",
1220
+ "text": " @title WorldContextConsumer - Extracting trusted context values from appended calldata.\n @notice This contract is designed to extract trusted context values (like msg.sender and msg.value)\n from the appended calldata. It provides mechanisms similar to EIP-2771 (https://eips.ethereum.org/EIPS/eip-2771),\n but allowing any contract to be the trusted forwarder.\n @dev This contract should only be used for contracts without their own storage, like Systems."
1221
+ },
1222
+ "fullyImplemented": true,
1223
+ "linearizedBaseContracts": [
1224
+ 39261,
1225
+ 61543,
1226
+ 61500
1227
+ ],
1228
+ "name": "WorldContextConsumer",
1229
+ "nameLocation": "955:20:97",
1230
+ "scope": 39456,
1231
+ "usedErrors": [],
1232
+ "usedEvents": []
1233
+ },
1234
+ {
1235
+ "id": 39301,
1236
+ "nodeType": "ContractDefinition",
1237
+ "src": "2503:1427:97",
1238
+ "nodes": [
1239
+ {
1240
+ "id": 39281,
1241
+ "nodeType": "FunctionDefinition",
1242
+ "src": "2779:381:97",
1243
+ "nodes": [],
1244
+ "body": {
1245
+ "id": 39280,
1246
+ "nodeType": "Block",
1247
+ "src": "2840:320:97",
1248
+ "nodes": [],
1249
+ "statements": [
1250
+ {
1251
+ "AST": {
1252
+ "nativeSrc": "2855:250:97",
1253
+ "nodeType": "YulBlock",
1254
+ "src": "2855:250:97",
1255
+ "statements": [
1256
+ {
1257
+ "nativeSrc": "3032:67:97",
1258
+ "nodeType": "YulAssignment",
1259
+ "src": "3032:67:97",
1260
+ "value": {
1261
+ "arguments": [
1262
+ {
1263
+ "kind": "number",
1264
+ "nativeSrc": "3046:2:97",
1265
+ "nodeType": "YulLiteral",
1266
+ "src": "3046:2:97",
1267
+ "type": "",
1268
+ "value": "96"
1269
+ },
1270
+ {
1271
+ "arguments": [
1272
+ {
1273
+ "arguments": [
1274
+ {
1275
+ "arguments": [],
1276
+ "functionName": {
1277
+ "name": "calldatasize",
1278
+ "nativeSrc": "3067:12:97",
1279
+ "nodeType": "YulIdentifier",
1280
+ "src": "3067:12:97"
1281
+ },
1282
+ "nativeSrc": "3067:14:97",
1283
+ "nodeType": "YulFunctionCall",
1284
+ "src": "3067:14:97"
1285
+ },
1286
+ {
1287
+ "name": "CONTEXT_BYTES",
1288
+ "nativeSrc": "3083:13:97",
1289
+ "nodeType": "YulIdentifier",
1290
+ "src": "3083:13:97"
1291
+ }
1292
+ ],
1293
+ "functionName": {
1294
+ "name": "sub",
1295
+ "nativeSrc": "3063:3:97",
1296
+ "nodeType": "YulIdentifier",
1297
+ "src": "3063:3:97"
1298
+ },
1299
+ "nativeSrc": "3063:34:97",
1300
+ "nodeType": "YulFunctionCall",
1301
+ "src": "3063:34:97"
1302
+ }
1303
+ ],
1304
+ "functionName": {
1305
+ "name": "calldataload",
1306
+ "nativeSrc": "3050:12:97",
1307
+ "nodeType": "YulIdentifier",
1308
+ "src": "3050:12:97"
1309
+ },
1310
+ "nativeSrc": "3050:48:97",
1311
+ "nodeType": "YulFunctionCall",
1312
+ "src": "3050:48:97"
1313
+ }
1314
+ ],
1315
+ "functionName": {
1316
+ "name": "shr",
1317
+ "nativeSrc": "3042:3:97",
1318
+ "nodeType": "YulIdentifier",
1319
+ "src": "3042:3:97"
1320
+ },
1321
+ "nativeSrc": "3042:57:97",
1322
+ "nodeType": "YulFunctionCall",
1323
+ "src": "3042:57:97"
1324
+ },
1325
+ "variableNames": [
1326
+ {
1327
+ "name": "sender",
1328
+ "nativeSrc": "3032:6:97",
1329
+ "nodeType": "YulIdentifier",
1330
+ "src": "3032:6:97"
1331
+ }
1332
+ ]
1333
+ }
1334
+ ]
1335
+ },
1336
+ "evmVersion": "paris",
1337
+ "externalReferences": [
1338
+ {
1339
+ "declaration": 39207,
1340
+ "isOffset": false,
1341
+ "isSlot": false,
1342
+ "src": "3083:13:97",
1343
+ "valueSize": 1
1344
+ },
1345
+ {
1346
+ "declaration": 39265,
1347
+ "isOffset": false,
1348
+ "isSlot": false,
1349
+ "src": "3032:6:97",
1350
+ "valueSize": 1
1351
+ }
1352
+ ],
1353
+ "id": 39267,
1354
+ "nodeType": "InlineAssembly",
1355
+ "src": "2846:259:97"
1356
+ },
1357
+ {
1358
+ "condition": {
1359
+ "commonType": {
1360
+ "typeIdentifier": "t_address",
1361
+ "typeString": "address"
1362
+ },
1363
+ "id": 39273,
1364
+ "isConstant": false,
1365
+ "isLValue": false,
1366
+ "isPure": false,
1367
+ "lValueRequested": false,
1368
+ "leftExpression": {
1369
+ "id": 39268,
1370
+ "name": "sender",
1371
+ "nodeType": "Identifier",
1372
+ "overloadedDeclarations": [],
1373
+ "referencedDeclaration": 39265,
1374
+ "src": "3114:6:97",
1375
+ "typeDescriptions": {
1376
+ "typeIdentifier": "t_address",
1377
+ "typeString": "address"
1378
+ }
1379
+ },
1380
+ "nodeType": "BinaryOperation",
1381
+ "operator": "==",
1382
+ "rightExpression": {
1383
+ "arguments": [
1384
+ {
1385
+ "hexValue": "30",
1386
+ "id": 39271,
1387
+ "isConstant": false,
1388
+ "isLValue": false,
1389
+ "isPure": true,
1390
+ "kind": "number",
1391
+ "lValueRequested": false,
1392
+ "nodeType": "Literal",
1393
+ "src": "3132:1:97",
1394
+ "typeDescriptions": {
1395
+ "typeIdentifier": "t_rational_0_by_1",
1396
+ "typeString": "int_const 0"
1397
+ },
1398
+ "value": "0"
1399
+ }
1400
+ ],
1401
+ "expression": {
1402
+ "argumentTypes": [
1403
+ {
1404
+ "typeIdentifier": "t_rational_0_by_1",
1405
+ "typeString": "int_const 0"
1406
+ }
1407
+ ],
1408
+ "id": 39270,
1409
+ "isConstant": false,
1410
+ "isLValue": false,
1411
+ "isPure": true,
1412
+ "lValueRequested": false,
1413
+ "nodeType": "ElementaryTypeNameExpression",
1414
+ "src": "3124:7:97",
1415
+ "typeDescriptions": {
1416
+ "typeIdentifier": "t_type$_t_address_$",
1417
+ "typeString": "type(address)"
1418
+ },
1419
+ "typeName": {
1420
+ "id": 39269,
1421
+ "name": "address",
1422
+ "nodeType": "ElementaryTypeName",
1423
+ "src": "3124:7:97",
1424
+ "typeDescriptions": {}
1425
+ }
1426
+ },
1427
+ "id": 39272,
1428
+ "isConstant": false,
1429
+ "isLValue": false,
1430
+ "isPure": true,
1431
+ "kind": "typeConversion",
1432
+ "lValueRequested": false,
1433
+ "nameLocations": [],
1434
+ "names": [],
1435
+ "nodeType": "FunctionCall",
1436
+ "src": "3124:10:97",
1437
+ "tryCall": false,
1438
+ "typeDescriptions": {
1439
+ "typeIdentifier": "t_address",
1440
+ "typeString": "address"
1441
+ }
1442
+ },
1443
+ "src": "3114:20:97",
1444
+ "typeDescriptions": {
1445
+ "typeIdentifier": "t_bool",
1446
+ "typeString": "bool"
1447
+ }
1448
+ },
1449
+ "id": 39279,
1450
+ "nodeType": "IfStatement",
1451
+ "src": "3110:45:97",
1452
+ "trueBody": {
1453
+ "expression": {
1454
+ "id": 39277,
1455
+ "isConstant": false,
1456
+ "isLValue": false,
1457
+ "isPure": false,
1458
+ "lValueRequested": false,
1459
+ "leftHandSide": {
1460
+ "id": 39274,
1461
+ "name": "sender",
1462
+ "nodeType": "Identifier",
1463
+ "overloadedDeclarations": [],
1464
+ "referencedDeclaration": 39265,
1465
+ "src": "3136:6:97",
1466
+ "typeDescriptions": {
1467
+ "typeIdentifier": "t_address",
1468
+ "typeString": "address"
1469
+ }
1470
+ },
1471
+ "nodeType": "Assignment",
1472
+ "operator": "=",
1473
+ "rightHandSide": {
1474
+ "expression": {
1475
+ "id": 39275,
1476
+ "name": "msg",
1477
+ "nodeType": "Identifier",
1478
+ "overloadedDeclarations": [],
1479
+ "referencedDeclaration": -15,
1480
+ "src": "3145:3:97",
1481
+ "typeDescriptions": {
1482
+ "typeIdentifier": "t_magic_message",
1483
+ "typeString": "msg"
1484
+ }
1485
+ },
1486
+ "id": 39276,
1487
+ "isConstant": false,
1488
+ "isLValue": false,
1489
+ "isPure": false,
1490
+ "lValueRequested": false,
1491
+ "memberLocation": "3149:6:97",
1492
+ "memberName": "sender",
1493
+ "nodeType": "MemberAccess",
1494
+ "src": "3145:10:97",
1495
+ "typeDescriptions": {
1496
+ "typeIdentifier": "t_address",
1497
+ "typeString": "address"
1498
+ }
1499
+ },
1500
+ "src": "3136:19:97",
1501
+ "typeDescriptions": {
1502
+ "typeIdentifier": "t_address",
1503
+ "typeString": "address"
1504
+ }
1505
+ },
1506
+ "id": 39278,
1507
+ "nodeType": "ExpressionStatement",
1508
+ "src": "3136:19:97"
1509
+ }
1510
+ }
1511
+ ]
1512
+ },
1513
+ "documentation": {
1514
+ "id": 39262,
1515
+ "nodeType": "StructuredDocumentation",
1516
+ "src": "2539:237:97",
1517
+ "text": " @notice Extract the `msg.sender` from the context appended to the calldata.\n @return sender The `msg.sender` in the call to the World contract before the World routed the\n call to the WorldContextConsumer contract."
1518
+ },
1519
+ "implemented": true,
1520
+ "kind": "function",
1521
+ "modifiers": [],
1522
+ "name": "_msgSender",
1523
+ "nameLocation": "2788:10:97",
1524
+ "parameters": {
1525
+ "id": 39263,
1526
+ "nodeType": "ParameterList",
1527
+ "parameters": [],
1528
+ "src": "2798:2:97"
1529
+ },
1530
+ "returnParameters": {
1531
+ "id": 39266,
1532
+ "nodeType": "ParameterList",
1533
+ "parameters": [
1534
+ {
1535
+ "constant": false,
1536
+ "id": 39265,
1537
+ "mutability": "mutable",
1538
+ "name": "sender",
1539
+ "nameLocation": "2832:6:97",
1540
+ "nodeType": "VariableDeclaration",
1541
+ "scope": 39281,
1542
+ "src": "2824:14:97",
1543
+ "stateVariable": false,
1544
+ "storageLocation": "default",
1545
+ "typeDescriptions": {
1546
+ "typeIdentifier": "t_address",
1547
+ "typeString": "address"
1548
+ },
1549
+ "typeName": {
1550
+ "id": 39264,
1551
+ "name": "address",
1552
+ "nodeType": "ElementaryTypeName",
1553
+ "src": "2824:7:97",
1554
+ "stateMutability": "nonpayable",
1555
+ "typeDescriptions": {
1556
+ "typeIdentifier": "t_address",
1557
+ "typeString": "address"
1558
+ }
1559
+ },
1560
+ "visibility": "internal"
1561
+ }
1562
+ ],
1563
+ "src": "2823:16:97"
1564
+ },
1565
+ "scope": 39301,
1566
+ "stateMutability": "view",
1567
+ "virtual": false,
1568
+ "visibility": "internal"
1569
+ },
1570
+ {
1571
+ "id": 39289,
1572
+ "nodeType": "FunctionDefinition",
1573
+ "src": "3401:214:97",
1574
+ "nodes": [],
1575
+ "body": {
1576
+ "id": 39288,
1577
+ "nodeType": "Block",
1578
+ "src": "3460:155:97",
1579
+ "nodes": [],
1580
+ "statements": [
1581
+ {
1582
+ "AST": {
1583
+ "nativeSrc": "3475:136:97",
1584
+ "nodeType": "YulBlock",
1585
+ "src": "3475:136:97",
1586
+ "statements": [
1587
+ {
1588
+ "nativeSrc": "3559:46:97",
1589
+ "nodeType": "YulAssignment",
1590
+ "src": "3559:46:97",
1591
+ "value": {
1592
+ "arguments": [
1593
+ {
1594
+ "arguments": [
1595
+ {
1596
+ "arguments": [],
1597
+ "functionName": {
1598
+ "name": "calldatasize",
1599
+ "nativeSrc": "3585:12:97",
1600
+ "nodeType": "YulIdentifier",
1601
+ "src": "3585:12:97"
1602
+ },
1603
+ "nativeSrc": "3585:14:97",
1604
+ "nodeType": "YulFunctionCall",
1605
+ "src": "3585:14:97"
1606
+ },
1607
+ {
1608
+ "kind": "number",
1609
+ "nativeSrc": "3601:2:97",
1610
+ "nodeType": "YulLiteral",
1611
+ "src": "3601:2:97",
1612
+ "type": "",
1613
+ "value": "32"
1614
+ }
1615
+ ],
1616
+ "functionName": {
1617
+ "name": "sub",
1618
+ "nativeSrc": "3581:3:97",
1619
+ "nodeType": "YulIdentifier",
1620
+ "src": "3581:3:97"
1621
+ },
1622
+ "nativeSrc": "3581:23:97",
1623
+ "nodeType": "YulFunctionCall",
1624
+ "src": "3581:23:97"
1625
+ }
1626
+ ],
1627
+ "functionName": {
1628
+ "name": "calldataload",
1629
+ "nativeSrc": "3568:12:97",
1630
+ "nodeType": "YulIdentifier",
1631
+ "src": "3568:12:97"
1632
+ },
1633
+ "nativeSrc": "3568:37:97",
1634
+ "nodeType": "YulFunctionCall",
1635
+ "src": "3568:37:97"
1636
+ },
1637
+ "variableNames": [
1638
+ {
1639
+ "name": "value",
1640
+ "nativeSrc": "3559:5:97",
1641
+ "nodeType": "YulIdentifier",
1642
+ "src": "3559:5:97"
1643
+ }
1644
+ ]
1645
+ }
1646
+ ]
1647
+ },
1648
+ "evmVersion": "paris",
1649
+ "externalReferences": [
1650
+ {
1651
+ "declaration": 39285,
1652
+ "isOffset": false,
1653
+ "isSlot": false,
1654
+ "src": "3559:5:97",
1655
+ "valueSize": 1
1656
+ }
1657
+ ],
1658
+ "id": 39287,
1659
+ "nodeType": "InlineAssembly",
1660
+ "src": "3466:145:97"
1661
+ }
1662
+ ]
1663
+ },
1664
+ "documentation": {
1665
+ "id": 39282,
1666
+ "nodeType": "StructuredDocumentation",
1667
+ "src": "3164:234:97",
1668
+ "text": " @notice Extract the `msg.value` from the context appended to the calldata.\n @return value The `msg.value` in the call to the World contract before the World routed the\n call to the WorldContextConsumer contract."
1669
+ },
1670
+ "implemented": true,
1671
+ "kind": "function",
1672
+ "modifiers": [],
1673
+ "name": "_msgValue",
1674
+ "nameLocation": "3410:9:97",
1675
+ "parameters": {
1676
+ "id": 39283,
1677
+ "nodeType": "ParameterList",
1678
+ "parameters": [],
1679
+ "src": "3419:2:97"
1680
+ },
1681
+ "returnParameters": {
1682
+ "id": 39286,
1683
+ "nodeType": "ParameterList",
1684
+ "parameters": [
1685
+ {
1686
+ "constant": false,
1687
+ "id": 39285,
1688
+ "mutability": "mutable",
1689
+ "name": "value",
1690
+ "nameLocation": "3453:5:97",
1691
+ "nodeType": "VariableDeclaration",
1692
+ "scope": 39289,
1693
+ "src": "3445:13:97",
1694
+ "stateVariable": false,
1695
+ "storageLocation": "default",
1696
+ "typeDescriptions": {
1697
+ "typeIdentifier": "t_uint256",
1698
+ "typeString": "uint256"
1699
+ },
1700
+ "typeName": {
1701
+ "id": 39284,
1702
+ "name": "uint256",
1703
+ "nodeType": "ElementaryTypeName",
1704
+ "src": "3445:7:97",
1705
+ "typeDescriptions": {
1706
+ "typeIdentifier": "t_uint256",
1707
+ "typeString": "uint256"
1708
+ }
1709
+ },
1710
+ "visibility": "internal"
1711
+ }
1712
+ ],
1713
+ "src": "3444:15:97"
1714
+ },
1715
+ "scope": 39301,
1716
+ "stateMutability": "pure",
1717
+ "virtual": false,
1718
+ "visibility": "internal"
1719
+ },
1720
+ {
1721
+ "id": 39300,
1722
+ "nodeType": "FunctionDefinition",
1723
+ "src": "3831:97:97",
1724
+ "nodes": [],
1725
+ "body": {
1726
+ "id": 39299,
1727
+ "nodeType": "Block",
1728
+ "src": "3881:47:97",
1729
+ "nodes": [],
1730
+ "statements": [
1731
+ {
1732
+ "expression": {
1733
+ "arguments": [],
1734
+ "expression": {
1735
+ "argumentTypes": [],
1736
+ "expression": {
1737
+ "id": 39295,
1738
+ "name": "StoreSwitch",
1739
+ "nodeType": "Identifier",
1740
+ "overloadedDeclarations": [],
1741
+ "referencedDeclaration": 31292,
1742
+ "src": "3894:11:97",
1743
+ "typeDescriptions": {
1744
+ "typeIdentifier": "t_type$_t_contract$_StoreSwitch_$31292_$",
1745
+ "typeString": "type(library StoreSwitch)"
1746
+ }
1747
+ },
1748
+ "id": 39296,
1749
+ "isConstant": false,
1750
+ "isLValue": false,
1751
+ "isPure": false,
1752
+ "lValueRequested": false,
1753
+ "memberLocation": "3906:15:97",
1754
+ "memberName": "getStoreAddress",
1755
+ "nodeType": "MemberAccess",
1756
+ "referencedDeclaration": 30036,
1757
+ "src": "3894:27:97",
1758
+ "typeDescriptions": {
1759
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
1760
+ "typeString": "function () view returns (address)"
1761
+ }
1762
+ },
1763
+ "id": 39297,
1764
+ "isConstant": false,
1765
+ "isLValue": false,
1766
+ "isPure": false,
1767
+ "kind": "functionCall",
1768
+ "lValueRequested": false,
1769
+ "nameLocations": [],
1770
+ "names": [],
1771
+ "nodeType": "FunctionCall",
1772
+ "src": "3894:29:97",
1773
+ "tryCall": false,
1774
+ "typeDescriptions": {
1775
+ "typeIdentifier": "t_address",
1776
+ "typeString": "address"
1777
+ }
1778
+ },
1779
+ "functionReturnParameters": 39294,
1780
+ "id": 39298,
1781
+ "nodeType": "Return",
1782
+ "src": "3887:36:97"
1783
+ }
1784
+ ]
1785
+ },
1786
+ "documentation": {
1787
+ "id": 39290,
1788
+ "nodeType": "StructuredDocumentation",
1789
+ "src": "3619:209:97",
1790
+ "text": " @notice Get the address of the World contract that routed the call to this WorldContextConsumer.\n @return The address of the World contract that routed the call to this WorldContextConsumer."
1791
+ },
1792
+ "implemented": true,
1793
+ "kind": "function",
1794
+ "modifiers": [],
1795
+ "name": "_world",
1796
+ "nameLocation": "3840:6:97",
1797
+ "parameters": {
1798
+ "id": 39291,
1799
+ "nodeType": "ParameterList",
1800
+ "parameters": [],
1801
+ "src": "3846:2:97"
1802
+ },
1803
+ "returnParameters": {
1804
+ "id": 39294,
1805
+ "nodeType": "ParameterList",
1806
+ "parameters": [
1807
+ {
1808
+ "constant": false,
1809
+ "id": 39293,
1810
+ "mutability": "mutable",
1811
+ "name": "",
1812
+ "nameLocation": "-1:-1:-1",
1813
+ "nodeType": "VariableDeclaration",
1814
+ "scope": 39300,
1815
+ "src": "3872:7:97",
1816
+ "stateVariable": false,
1817
+ "storageLocation": "default",
1818
+ "typeDescriptions": {
1819
+ "typeIdentifier": "t_address",
1820
+ "typeString": "address"
1821
+ },
1822
+ "typeName": {
1823
+ "id": 39292,
1824
+ "name": "address",
1825
+ "nodeType": "ElementaryTypeName",
1826
+ "src": "3872:7:97",
1827
+ "stateMutability": "nonpayable",
1828
+ "typeDescriptions": {
1829
+ "typeIdentifier": "t_address",
1830
+ "typeString": "address"
1831
+ }
1832
+ },
1833
+ "visibility": "internal"
1834
+ }
1835
+ ],
1836
+ "src": "3871:9:97"
1837
+ },
1838
+ "scope": 39301,
1839
+ "stateMutability": "view",
1840
+ "virtual": false,
1841
+ "visibility": "internal"
1842
+ }
1843
+ ],
1844
+ "abstract": false,
1845
+ "baseContracts": [],
1846
+ "canonicalName": "WorldContextConsumerLib",
1847
+ "contractDependencies": [],
1848
+ "contractKind": "library",
1849
+ "fullyImplemented": true,
1850
+ "linearizedBaseContracts": [
1851
+ 39301
1852
+ ],
1853
+ "name": "WorldContextConsumerLib",
1854
+ "nameLocation": "2511:23:97",
1855
+ "scope": 39456,
1856
+ "usedErrors": [],
1857
+ "usedEvents": []
1858
+ },
1859
+ {
1860
+ "id": 39455,
1861
+ "nodeType": "ContractDefinition",
1862
+ "src": "4265:3922:97",
1863
+ "nodes": [
1864
+ {
1865
+ "id": 39322,
1866
+ "nodeType": "FunctionDefinition",
1867
+ "src": "4614:201:97",
1868
+ "nodes": [],
1869
+ "body": {
1870
+ "id": 39321,
1871
+ "nodeType": "Block",
1872
+ "src": "4750:65:97",
1873
+ "nodes": [],
1874
+ "statements": [
1875
+ {
1876
+ "expression": {
1877
+ "arguments": [
1878
+ {
1879
+ "id": 39316,
1880
+ "name": "callData",
1881
+ "nodeType": "Identifier",
1882
+ "overloadedDeclarations": [],
1883
+ "referencedDeclaration": 39305,
1884
+ "src": "4780:8:97",
1885
+ "typeDescriptions": {
1886
+ "typeIdentifier": "t_bytes_memory_ptr",
1887
+ "typeString": "bytes memory"
1888
+ }
1889
+ },
1890
+ {
1891
+ "id": 39317,
1892
+ "name": "msgSender",
1893
+ "nodeType": "Identifier",
1894
+ "overloadedDeclarations": [],
1895
+ "referencedDeclaration": 39307,
1896
+ "src": "4790:9:97",
1897
+ "typeDescriptions": {
1898
+ "typeIdentifier": "t_address",
1899
+ "typeString": "address"
1900
+ }
1901
+ },
1902
+ {
1903
+ "id": 39318,
1904
+ "name": "msgValue",
1905
+ "nodeType": "Identifier",
1906
+ "overloadedDeclarations": [],
1907
+ "referencedDeclaration": 39309,
1908
+ "src": "4801:8:97",
1909
+ "typeDescriptions": {
1910
+ "typeIdentifier": "t_uint256",
1911
+ "typeString": "uint256"
1912
+ }
1913
+ }
1914
+ ],
1915
+ "expression": {
1916
+ "argumentTypes": [
1917
+ {
1918
+ "typeIdentifier": "t_bytes_memory_ptr",
1919
+ "typeString": "bytes memory"
1920
+ },
1921
+ {
1922
+ "typeIdentifier": "t_address",
1923
+ "typeString": "address"
1924
+ },
1925
+ {
1926
+ "typeIdentifier": "t_uint256",
1927
+ "typeString": "uint256"
1928
+ }
1929
+ ],
1930
+ "expression": {
1931
+ "id": 39314,
1932
+ "name": "abi",
1933
+ "nodeType": "Identifier",
1934
+ "overloadedDeclarations": [],
1935
+ "referencedDeclaration": -1,
1936
+ "src": "4763:3:97",
1937
+ "typeDescriptions": {
1938
+ "typeIdentifier": "t_magic_abi",
1939
+ "typeString": "abi"
1940
+ }
1941
+ },
1942
+ "id": 39315,
1943
+ "isConstant": false,
1944
+ "isLValue": false,
1945
+ "isPure": true,
1946
+ "lValueRequested": false,
1947
+ "memberLocation": "4767:12:97",
1948
+ "memberName": "encodePacked",
1949
+ "nodeType": "MemberAccess",
1950
+ "src": "4763:16:97",
1951
+ "typeDescriptions": {
1952
+ "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
1953
+ "typeString": "function () pure returns (bytes memory)"
1954
+ }
1955
+ },
1956
+ "id": 39319,
1957
+ "isConstant": false,
1958
+ "isLValue": false,
1959
+ "isPure": false,
1960
+ "kind": "functionCall",
1961
+ "lValueRequested": false,
1962
+ "nameLocations": [],
1963
+ "names": [],
1964
+ "nodeType": "FunctionCall",
1965
+ "src": "4763:47:97",
1966
+ "tryCall": false,
1967
+ "typeDescriptions": {
1968
+ "typeIdentifier": "t_bytes_memory_ptr",
1969
+ "typeString": "bytes memory"
1970
+ }
1971
+ },
1972
+ "functionReturnParameters": 39313,
1973
+ "id": 39320,
1974
+ "nodeType": "Return",
1975
+ "src": "4756:54:97"
1976
+ }
1977
+ ]
1978
+ },
1979
+ "documentation": {
1980
+ "id": 39303,
1981
+ "nodeType": "StructuredDocumentation",
1982
+ "src": "4301:310:97",
1983
+ "text": " @notice Appends context values to the given calldata.\n @param callData The original calldata.\n @param msgSender The address of the transaction sender.\n @param msgValue The amount of ether sent with the original transaction.\n @return The new calldata with context values appended."
1984
+ },
1985
+ "implemented": true,
1986
+ "kind": "function",
1987
+ "modifiers": [],
1988
+ "name": "appendContext",
1989
+ "nameLocation": "4623:13:97",
1990
+ "parameters": {
1991
+ "id": 39310,
1992
+ "nodeType": "ParameterList",
1993
+ "parameters": [
1994
+ {
1995
+ "constant": false,
1996
+ "id": 39305,
1997
+ "mutability": "mutable",
1998
+ "name": "callData",
1999
+ "nameLocation": "4655:8:97",
2000
+ "nodeType": "VariableDeclaration",
2001
+ "scope": 39322,
2002
+ "src": "4642:21:97",
2003
+ "stateVariable": false,
2004
+ "storageLocation": "memory",
2005
+ "typeDescriptions": {
2006
+ "typeIdentifier": "t_bytes_memory_ptr",
2007
+ "typeString": "bytes"
2008
+ },
2009
+ "typeName": {
2010
+ "id": 39304,
2011
+ "name": "bytes",
2012
+ "nodeType": "ElementaryTypeName",
2013
+ "src": "4642:5:97",
2014
+ "typeDescriptions": {
2015
+ "typeIdentifier": "t_bytes_storage_ptr",
2016
+ "typeString": "bytes"
2017
+ }
2018
+ },
2019
+ "visibility": "internal"
2020
+ },
2021
+ {
2022
+ "constant": false,
2023
+ "id": 39307,
2024
+ "mutability": "mutable",
2025
+ "name": "msgSender",
2026
+ "nameLocation": "4677:9:97",
2027
+ "nodeType": "VariableDeclaration",
2028
+ "scope": 39322,
2029
+ "src": "4669:17:97",
2030
+ "stateVariable": false,
2031
+ "storageLocation": "default",
2032
+ "typeDescriptions": {
2033
+ "typeIdentifier": "t_address",
2034
+ "typeString": "address"
2035
+ },
2036
+ "typeName": {
2037
+ "id": 39306,
2038
+ "name": "address",
2039
+ "nodeType": "ElementaryTypeName",
2040
+ "src": "4669:7:97",
2041
+ "stateMutability": "nonpayable",
2042
+ "typeDescriptions": {
2043
+ "typeIdentifier": "t_address",
2044
+ "typeString": "address"
2045
+ }
2046
+ },
2047
+ "visibility": "internal"
2048
+ },
2049
+ {
2050
+ "constant": false,
2051
+ "id": 39309,
2052
+ "mutability": "mutable",
2053
+ "name": "msgValue",
2054
+ "nameLocation": "4700:8:97",
2055
+ "nodeType": "VariableDeclaration",
2056
+ "scope": 39322,
2057
+ "src": "4692:16:97",
2058
+ "stateVariable": false,
2059
+ "storageLocation": "default",
2060
+ "typeDescriptions": {
2061
+ "typeIdentifier": "t_uint256",
2062
+ "typeString": "uint256"
2063
+ },
2064
+ "typeName": {
2065
+ "id": 39308,
2066
+ "name": "uint256",
2067
+ "nodeType": "ElementaryTypeName",
2068
+ "src": "4692:7:97",
2069
+ "typeDescriptions": {
2070
+ "typeIdentifier": "t_uint256",
2071
+ "typeString": "uint256"
2072
+ }
2073
+ },
2074
+ "visibility": "internal"
2075
+ }
2076
+ ],
2077
+ "src": "4636:76:97"
2078
+ },
2079
+ "returnParameters": {
2080
+ "id": 39313,
2081
+ "nodeType": "ParameterList",
2082
+ "parameters": [
2083
+ {
2084
+ "constant": false,
2085
+ "id": 39312,
2086
+ "mutability": "mutable",
2087
+ "name": "",
2088
+ "nameLocation": "-1:-1:-1",
2089
+ "nodeType": "VariableDeclaration",
2090
+ "scope": 39322,
2091
+ "src": "4736:12:97",
2092
+ "stateVariable": false,
2093
+ "storageLocation": "memory",
2094
+ "typeDescriptions": {
2095
+ "typeIdentifier": "t_bytes_memory_ptr",
2096
+ "typeString": "bytes"
2097
+ },
2098
+ "typeName": {
2099
+ "id": 39311,
2100
+ "name": "bytes",
2101
+ "nodeType": "ElementaryTypeName",
2102
+ "src": "4736:5:97",
2103
+ "typeDescriptions": {
2104
+ "typeIdentifier": "t_bytes_storage_ptr",
2105
+ "typeString": "bytes"
2106
+ }
2107
+ },
2108
+ "visibility": "internal"
2109
+ }
2110
+ ],
2111
+ "src": "4735:14:97"
2112
+ },
2113
+ "scope": 39455,
2114
+ "stateMutability": "pure",
2115
+ "virtual": false,
2116
+ "visibility": "internal"
2117
+ },
2118
+ {
2119
+ "id": 39354,
2120
+ "nodeType": "FunctionDefinition",
2121
+ "src": "5311:317:97",
2122
+ "nodes": [],
2123
+ "body": {
2124
+ "id": 39353,
2125
+ "nodeType": "Block",
2126
+ "src": "5483:145:97",
2127
+ "nodes": [],
2128
+ "statements": [
2129
+ {
2130
+ "expression": {
2131
+ "id": 39351,
2132
+ "isConstant": false,
2133
+ "isLValue": false,
2134
+ "isPure": false,
2135
+ "lValueRequested": false,
2136
+ "leftHandSide": {
2137
+ "components": [
2138
+ {
2139
+ "id": 39338,
2140
+ "name": "success",
2141
+ "nodeType": "Identifier",
2142
+ "overloadedDeclarations": [],
2143
+ "referencedDeclaration": 39334,
2144
+ "src": "5490:7:97",
2145
+ "typeDescriptions": {
2146
+ "typeIdentifier": "t_bool",
2147
+ "typeString": "bool"
2148
+ }
2149
+ },
2150
+ {
2151
+ "id": 39339,
2152
+ "name": "data",
2153
+ "nodeType": "Identifier",
2154
+ "overloadedDeclarations": [],
2155
+ "referencedDeclaration": 39336,
2156
+ "src": "5499:4:97",
2157
+ "typeDescriptions": {
2158
+ "typeIdentifier": "t_bytes_memory_ptr",
2159
+ "typeString": "bytes memory"
2160
+ }
2161
+ }
2162
+ ],
2163
+ "id": 39340,
2164
+ "isConstant": false,
2165
+ "isInlineArray": false,
2166
+ "isLValue": true,
2167
+ "isPure": false,
2168
+ "lValueRequested": true,
2169
+ "nodeType": "TupleExpression",
2170
+ "src": "5489:15:97",
2171
+ "typeDescriptions": {
2172
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
2173
+ "typeString": "tuple(bool,bytes memory)"
2174
+ }
2175
+ },
2176
+ "nodeType": "Assignment",
2177
+ "operator": "=",
2178
+ "rightHandSide": {
2179
+ "arguments": [
2180
+ {
2181
+ "arguments": [
2182
+ {
2183
+ "id": 39346,
2184
+ "name": "callData",
2185
+ "nodeType": "Identifier",
2186
+ "overloadedDeclarations": [],
2187
+ "referencedDeclaration": 39331,
2188
+ "src": "5564:8:97",
2189
+ "typeDescriptions": {
2190
+ "typeIdentifier": "t_bytes_memory_ptr",
2191
+ "typeString": "bytes memory"
2192
+ }
2193
+ },
2194
+ {
2195
+ "id": 39347,
2196
+ "name": "msgSender",
2197
+ "nodeType": "Identifier",
2198
+ "overloadedDeclarations": [],
2199
+ "referencedDeclaration": 39325,
2200
+ "src": "5585:9:97",
2201
+ "typeDescriptions": {
2202
+ "typeIdentifier": "t_address",
2203
+ "typeString": "address"
2204
+ }
2205
+ },
2206
+ {
2207
+ "id": 39348,
2208
+ "name": "msgValue",
2209
+ "nodeType": "Identifier",
2210
+ "overloadedDeclarations": [],
2211
+ "referencedDeclaration": 39327,
2212
+ "src": "5606:8:97",
2213
+ "typeDescriptions": {
2214
+ "typeIdentifier": "t_uint256",
2215
+ "typeString": "uint256"
2216
+ }
2217
+ }
2218
+ ],
2219
+ "expression": {
2220
+ "argumentTypes": [
2221
+ {
2222
+ "typeIdentifier": "t_bytes_memory_ptr",
2223
+ "typeString": "bytes memory"
2224
+ },
2225
+ {
2226
+ "typeIdentifier": "t_address",
2227
+ "typeString": "address"
2228
+ },
2229
+ {
2230
+ "typeIdentifier": "t_uint256",
2231
+ "typeString": "uint256"
2232
+ }
2233
+ ],
2234
+ "id": 39345,
2235
+ "name": "appendContext",
2236
+ "nodeType": "Identifier",
2237
+ "overloadedDeclarations": [],
2238
+ "referencedDeclaration": 39322,
2239
+ "src": "5538:13:97",
2240
+ "typeDescriptions": {
2241
+ "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bytes_memory_ptr_$",
2242
+ "typeString": "function (bytes memory,address,uint256) pure returns (bytes memory)"
2243
+ }
2244
+ },
2245
+ "id": 39349,
2246
+ "isConstant": false,
2247
+ "isLValue": false,
2248
+ "isPure": false,
2249
+ "kind": "functionCall",
2250
+ "lValueRequested": false,
2251
+ "nameLocations": [
2252
+ "5554:8:97",
2253
+ "5574:9:97",
2254
+ "5596:8:97"
2255
+ ],
2256
+ "names": [
2257
+ "callData",
2258
+ "msgSender",
2259
+ "msgValue"
2260
+ ],
2261
+ "nodeType": "FunctionCall",
2262
+ "src": "5538:79:97",
2263
+ "tryCall": false,
2264
+ "typeDescriptions": {
2265
+ "typeIdentifier": "t_bytes_memory_ptr",
2266
+ "typeString": "bytes memory"
2267
+ }
2268
+ }
2269
+ ],
2270
+ "expression": {
2271
+ "argumentTypes": [
2272
+ {
2273
+ "typeIdentifier": "t_bytes_memory_ptr",
2274
+ "typeString": "bytes memory"
2275
+ }
2276
+ ],
2277
+ "expression": {
2278
+ "argumentTypes": [
2279
+ {
2280
+ "typeIdentifier": "t_bytes_memory_ptr",
2281
+ "typeString": "bytes memory"
2282
+ }
2283
+ ],
2284
+ "expression": {
2285
+ "id": 39341,
2286
+ "name": "target",
2287
+ "nodeType": "Identifier",
2288
+ "overloadedDeclarations": [],
2289
+ "referencedDeclaration": 39329,
2290
+ "src": "5507:6:97",
2291
+ "typeDescriptions": {
2292
+ "typeIdentifier": "t_address",
2293
+ "typeString": "address"
2294
+ }
2295
+ },
2296
+ "id": 39342,
2297
+ "isConstant": false,
2298
+ "isLValue": false,
2299
+ "isPure": false,
2300
+ "lValueRequested": false,
2301
+ "memberLocation": "5514:4:97",
2302
+ "memberName": "call",
2303
+ "nodeType": "MemberAccess",
2304
+ "src": "5507:11:97",
2305
+ "typeDescriptions": {
2306
+ "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
2307
+ "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
2308
+ }
2309
+ },
2310
+ "id": 39344,
2311
+ "isConstant": false,
2312
+ "isLValue": false,
2313
+ "isPure": false,
2314
+ "lValueRequested": false,
2315
+ "names": [
2316
+ "value"
2317
+ ],
2318
+ "nodeType": "FunctionCallOptions",
2319
+ "options": [
2320
+ {
2321
+ "hexValue": "30",
2322
+ "id": 39343,
2323
+ "isConstant": false,
2324
+ "isLValue": false,
2325
+ "isPure": true,
2326
+ "kind": "number",
2327
+ "lValueRequested": false,
2328
+ "nodeType": "Literal",
2329
+ "src": "5527:1:97",
2330
+ "typeDescriptions": {
2331
+ "typeIdentifier": "t_rational_0_by_1",
2332
+ "typeString": "int_const 0"
2333
+ },
2334
+ "value": "0"
2335
+ }
2336
+ ],
2337
+ "src": "5507:23:97",
2338
+ "typeDescriptions": {
2339
+ "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value",
2340
+ "typeString": "function (bytes memory) payable returns (bool,bytes memory)"
2341
+ }
2342
+ },
2343
+ "id": 39350,
2344
+ "isConstant": false,
2345
+ "isLValue": false,
2346
+ "isPure": false,
2347
+ "kind": "functionCall",
2348
+ "lValueRequested": false,
2349
+ "nameLocations": [],
2350
+ "names": [],
2351
+ "nodeType": "FunctionCall",
2352
+ "src": "5507:116:97",
2353
+ "tryCall": false,
2354
+ "typeDescriptions": {
2355
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
2356
+ "typeString": "tuple(bool,bytes memory)"
2357
+ }
2358
+ },
2359
+ "src": "5489:134:97",
2360
+ "typeDescriptions": {
2361
+ "typeIdentifier": "t_tuple$__$",
2362
+ "typeString": "tuple()"
2363
+ }
2364
+ },
2365
+ "id": 39352,
2366
+ "nodeType": "ExpressionStatement",
2367
+ "src": "5489:134:97"
2368
+ }
2369
+ ]
2370
+ },
2371
+ "documentation": {
2372
+ "id": 39323,
2373
+ "nodeType": "StructuredDocumentation",
2374
+ "src": "4819:489:97",
2375
+ "text": " @notice Makes a call to the target contract with context values appended to the calldata.\n @param msgSender The address of the transaction sender.\n @param msgValue The amount of ether sent with the original transaction.\n @param target The address of the contract to call.\n @param callData The calldata for the call.\n @return success A boolean indicating whether the call was successful or not.\n @return data The abi encoded return data from the call."
2376
+ },
2377
+ "implemented": true,
2378
+ "kind": "function",
2379
+ "modifiers": [],
2380
+ "name": "callWithContext",
2381
+ "nameLocation": "5320:15:97",
2382
+ "parameters": {
2383
+ "id": 39332,
2384
+ "nodeType": "ParameterList",
2385
+ "parameters": [
2386
+ {
2387
+ "constant": false,
2388
+ "id": 39325,
2389
+ "mutability": "mutable",
2390
+ "name": "msgSender",
2391
+ "nameLocation": "5349:9:97",
2392
+ "nodeType": "VariableDeclaration",
2393
+ "scope": 39354,
2394
+ "src": "5341:17:97",
2395
+ "stateVariable": false,
2396
+ "storageLocation": "default",
2397
+ "typeDescriptions": {
2398
+ "typeIdentifier": "t_address",
2399
+ "typeString": "address"
2400
+ },
2401
+ "typeName": {
2402
+ "id": 39324,
2403
+ "name": "address",
2404
+ "nodeType": "ElementaryTypeName",
2405
+ "src": "5341:7:97",
2406
+ "stateMutability": "nonpayable",
2407
+ "typeDescriptions": {
2408
+ "typeIdentifier": "t_address",
2409
+ "typeString": "address"
2410
+ }
2411
+ },
2412
+ "visibility": "internal"
2413
+ },
2414
+ {
2415
+ "constant": false,
2416
+ "id": 39327,
2417
+ "mutability": "mutable",
2418
+ "name": "msgValue",
2419
+ "nameLocation": "5372:8:97",
2420
+ "nodeType": "VariableDeclaration",
2421
+ "scope": 39354,
2422
+ "src": "5364:16:97",
2423
+ "stateVariable": false,
2424
+ "storageLocation": "default",
2425
+ "typeDescriptions": {
2426
+ "typeIdentifier": "t_uint256",
2427
+ "typeString": "uint256"
2428
+ },
2429
+ "typeName": {
2430
+ "id": 39326,
2431
+ "name": "uint256",
2432
+ "nodeType": "ElementaryTypeName",
2433
+ "src": "5364:7:97",
2434
+ "typeDescriptions": {
2435
+ "typeIdentifier": "t_uint256",
2436
+ "typeString": "uint256"
2437
+ }
2438
+ },
2439
+ "visibility": "internal"
2440
+ },
2441
+ {
2442
+ "constant": false,
2443
+ "id": 39329,
2444
+ "mutability": "mutable",
2445
+ "name": "target",
2446
+ "nameLocation": "5394:6:97",
2447
+ "nodeType": "VariableDeclaration",
2448
+ "scope": 39354,
2449
+ "src": "5386:14:97",
2450
+ "stateVariable": false,
2451
+ "storageLocation": "default",
2452
+ "typeDescriptions": {
2453
+ "typeIdentifier": "t_address",
2454
+ "typeString": "address"
2455
+ },
2456
+ "typeName": {
2457
+ "id": 39328,
2458
+ "name": "address",
2459
+ "nodeType": "ElementaryTypeName",
2460
+ "src": "5386:7:97",
2461
+ "stateMutability": "nonpayable",
2462
+ "typeDescriptions": {
2463
+ "typeIdentifier": "t_address",
2464
+ "typeString": "address"
2465
+ }
2466
+ },
2467
+ "visibility": "internal"
2468
+ },
2469
+ {
2470
+ "constant": false,
2471
+ "id": 39331,
2472
+ "mutability": "mutable",
2473
+ "name": "callData",
2474
+ "nameLocation": "5419:8:97",
2475
+ "nodeType": "VariableDeclaration",
2476
+ "scope": 39354,
2477
+ "src": "5406:21:97",
2478
+ "stateVariable": false,
2479
+ "storageLocation": "memory",
2480
+ "typeDescriptions": {
2481
+ "typeIdentifier": "t_bytes_memory_ptr",
2482
+ "typeString": "bytes"
2483
+ },
2484
+ "typeName": {
2485
+ "id": 39330,
2486
+ "name": "bytes",
2487
+ "nodeType": "ElementaryTypeName",
2488
+ "src": "5406:5:97",
2489
+ "typeDescriptions": {
2490
+ "typeIdentifier": "t_bytes_storage_ptr",
2491
+ "typeString": "bytes"
2492
+ }
2493
+ },
2494
+ "visibility": "internal"
2495
+ }
2496
+ ],
2497
+ "src": "5335:96:97"
2498
+ },
2499
+ "returnParameters": {
2500
+ "id": 39337,
2501
+ "nodeType": "ParameterList",
2502
+ "parameters": [
2503
+ {
2504
+ "constant": false,
2505
+ "id": 39334,
2506
+ "mutability": "mutable",
2507
+ "name": "success",
2508
+ "nameLocation": "5455:7:97",
2509
+ "nodeType": "VariableDeclaration",
2510
+ "scope": 39354,
2511
+ "src": "5450:12:97",
2512
+ "stateVariable": false,
2513
+ "storageLocation": "default",
2514
+ "typeDescriptions": {
2515
+ "typeIdentifier": "t_bool",
2516
+ "typeString": "bool"
2517
+ },
2518
+ "typeName": {
2519
+ "id": 39333,
2520
+ "name": "bool",
2521
+ "nodeType": "ElementaryTypeName",
2522
+ "src": "5450:4:97",
2523
+ "typeDescriptions": {
2524
+ "typeIdentifier": "t_bool",
2525
+ "typeString": "bool"
2526
+ }
2527
+ },
2528
+ "visibility": "internal"
2529
+ },
2530
+ {
2531
+ "constant": false,
2532
+ "id": 39336,
2533
+ "mutability": "mutable",
2534
+ "name": "data",
2535
+ "nameLocation": "5477:4:97",
2536
+ "nodeType": "VariableDeclaration",
2537
+ "scope": 39354,
2538
+ "src": "5464:17:97",
2539
+ "stateVariable": false,
2540
+ "storageLocation": "memory",
2541
+ "typeDescriptions": {
2542
+ "typeIdentifier": "t_bytes_memory_ptr",
2543
+ "typeString": "bytes"
2544
+ },
2545
+ "typeName": {
2546
+ "id": 39335,
2547
+ "name": "bytes",
2548
+ "nodeType": "ElementaryTypeName",
2549
+ "src": "5464:5:97",
2550
+ "typeDescriptions": {
2551
+ "typeIdentifier": "t_bytes_storage_ptr",
2552
+ "typeString": "bytes"
2553
+ }
2554
+ },
2555
+ "visibility": "internal"
2556
+ }
2557
+ ],
2558
+ "src": "5449:33:97"
2559
+ },
2560
+ "scope": 39455,
2561
+ "stateMutability": "nonpayable",
2562
+ "virtual": false,
2563
+ "visibility": "internal"
2564
+ },
2565
+ {
2566
+ "id": 39384,
2567
+ "nodeType": "FunctionDefinition",
2568
+ "src": "6132:321:97",
2569
+ "nodes": [],
2570
+ "body": {
2571
+ "id": 39383,
2572
+ "nodeType": "Block",
2573
+ "src": "6312:141:97",
2574
+ "nodes": [],
2575
+ "statements": [
2576
+ {
2577
+ "expression": {
2578
+ "id": 39381,
2579
+ "isConstant": false,
2580
+ "isLValue": false,
2581
+ "isPure": false,
2582
+ "lValueRequested": false,
2583
+ "leftHandSide": {
2584
+ "components": [
2585
+ {
2586
+ "id": 39370,
2587
+ "name": "success",
2588
+ "nodeType": "Identifier",
2589
+ "overloadedDeclarations": [],
2590
+ "referencedDeclaration": 39366,
2591
+ "src": "6319:7:97",
2592
+ "typeDescriptions": {
2593
+ "typeIdentifier": "t_bool",
2594
+ "typeString": "bool"
2595
+ }
2596
+ },
2597
+ {
2598
+ "id": 39371,
2599
+ "name": "data",
2600
+ "nodeType": "Identifier",
2601
+ "overloadedDeclarations": [],
2602
+ "referencedDeclaration": 39368,
2603
+ "src": "6328:4:97",
2604
+ "typeDescriptions": {
2605
+ "typeIdentifier": "t_bytes_memory_ptr",
2606
+ "typeString": "bytes memory"
2607
+ }
2608
+ }
2609
+ ],
2610
+ "id": 39372,
2611
+ "isConstant": false,
2612
+ "isInlineArray": false,
2613
+ "isLValue": true,
2614
+ "isPure": false,
2615
+ "lValueRequested": true,
2616
+ "nodeType": "TupleExpression",
2617
+ "src": "6318:15:97",
2618
+ "typeDescriptions": {
2619
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
2620
+ "typeString": "tuple(bool,bytes memory)"
2621
+ }
2622
+ },
2623
+ "nodeType": "Assignment",
2624
+ "operator": "=",
2625
+ "rightHandSide": {
2626
+ "arguments": [
2627
+ {
2628
+ "arguments": [
2629
+ {
2630
+ "id": 39376,
2631
+ "name": "callData",
2632
+ "nodeType": "Identifier",
2633
+ "overloadedDeclarations": [],
2634
+ "referencedDeclaration": 39363,
2635
+ "src": "6389:8:97",
2636
+ "typeDescriptions": {
2637
+ "typeIdentifier": "t_bytes_memory_ptr",
2638
+ "typeString": "bytes memory"
2639
+ }
2640
+ },
2641
+ {
2642
+ "id": 39377,
2643
+ "name": "msgSender",
2644
+ "nodeType": "Identifier",
2645
+ "overloadedDeclarations": [],
2646
+ "referencedDeclaration": 39357,
2647
+ "src": "6410:9:97",
2648
+ "typeDescriptions": {
2649
+ "typeIdentifier": "t_address",
2650
+ "typeString": "address"
2651
+ }
2652
+ },
2653
+ {
2654
+ "id": 39378,
2655
+ "name": "msgValue",
2656
+ "nodeType": "Identifier",
2657
+ "overloadedDeclarations": [],
2658
+ "referencedDeclaration": 39359,
2659
+ "src": "6431:8:97",
2660
+ "typeDescriptions": {
2661
+ "typeIdentifier": "t_uint256",
2662
+ "typeString": "uint256"
2663
+ }
2664
+ }
2665
+ ],
2666
+ "expression": {
2667
+ "argumentTypes": [
2668
+ {
2669
+ "typeIdentifier": "t_bytes_memory_ptr",
2670
+ "typeString": "bytes memory"
2671
+ },
2672
+ {
2673
+ "typeIdentifier": "t_address",
2674
+ "typeString": "address"
2675
+ },
2676
+ {
2677
+ "typeIdentifier": "t_uint256",
2678
+ "typeString": "uint256"
2679
+ }
2680
+ ],
2681
+ "id": 39375,
2682
+ "name": "appendContext",
2683
+ "nodeType": "Identifier",
2684
+ "overloadedDeclarations": [],
2685
+ "referencedDeclaration": 39322,
2686
+ "src": "6363:13:97",
2687
+ "typeDescriptions": {
2688
+ "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bytes_memory_ptr_$",
2689
+ "typeString": "function (bytes memory,address,uint256) pure returns (bytes memory)"
2690
+ }
2691
+ },
2692
+ "id": 39379,
2693
+ "isConstant": false,
2694
+ "isLValue": false,
2695
+ "isPure": false,
2696
+ "kind": "functionCall",
2697
+ "lValueRequested": false,
2698
+ "nameLocations": [
2699
+ "6379:8:97",
2700
+ "6399:9:97",
2701
+ "6421:8:97"
2702
+ ],
2703
+ "names": [
2704
+ "callData",
2705
+ "msgSender",
2706
+ "msgValue"
2707
+ ],
2708
+ "nodeType": "FunctionCall",
2709
+ "src": "6363:79:97",
2710
+ "tryCall": false,
2711
+ "typeDescriptions": {
2712
+ "typeIdentifier": "t_bytes_memory_ptr",
2713
+ "typeString": "bytes memory"
2714
+ }
2715
+ }
2716
+ ],
2717
+ "expression": {
2718
+ "argumentTypes": [
2719
+ {
2720
+ "typeIdentifier": "t_bytes_memory_ptr",
2721
+ "typeString": "bytes memory"
2722
+ }
2723
+ ],
2724
+ "expression": {
2725
+ "id": 39373,
2726
+ "name": "target",
2727
+ "nodeType": "Identifier",
2728
+ "overloadedDeclarations": [],
2729
+ "referencedDeclaration": 39361,
2730
+ "src": "6336:6:97",
2731
+ "typeDescriptions": {
2732
+ "typeIdentifier": "t_address",
2733
+ "typeString": "address"
2734
+ }
2735
+ },
2736
+ "id": 39374,
2737
+ "isConstant": false,
2738
+ "isLValue": false,
2739
+ "isPure": false,
2740
+ "lValueRequested": false,
2741
+ "memberLocation": "6343:12:97",
2742
+ "memberName": "delegatecall",
2743
+ "nodeType": "MemberAccess",
2744
+ "src": "6336:19:97",
2745
+ "typeDescriptions": {
2746
+ "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
2747
+ "typeString": "function (bytes memory) returns (bool,bytes memory)"
2748
+ }
2749
+ },
2750
+ "id": 39380,
2751
+ "isConstant": false,
2752
+ "isLValue": false,
2753
+ "isPure": false,
2754
+ "kind": "functionCall",
2755
+ "lValueRequested": false,
2756
+ "nameLocations": [],
2757
+ "names": [],
2758
+ "nodeType": "FunctionCall",
2759
+ "src": "6336:112:97",
2760
+ "tryCall": false,
2761
+ "typeDescriptions": {
2762
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
2763
+ "typeString": "tuple(bool,bytes memory)"
2764
+ }
2765
+ },
2766
+ "src": "6318:130:97",
2767
+ "typeDescriptions": {
2768
+ "typeIdentifier": "t_tuple$__$",
2769
+ "typeString": "tuple()"
2770
+ }
2771
+ },
2772
+ "id": 39382,
2773
+ "nodeType": "ExpressionStatement",
2774
+ "src": "6318:130:97"
2775
+ }
2776
+ ]
2777
+ },
2778
+ "documentation": {
2779
+ "id": 39355,
2780
+ "nodeType": "StructuredDocumentation",
2781
+ "src": "5632:497:97",
2782
+ "text": " @notice Makes a delegatecall to the target contract with context values appended to the calldata.\n @param msgSender The address of the transaction sender.\n @param msgValue The amount of ether sent with the original transaction.\n @param target The address of the contract to call.\n @param callData The calldata for the call.\n @return success A boolean indicating whether the call was successful or not.\n @return data The abi encoded return data from the call."
2783
+ },
2784
+ "implemented": true,
2785
+ "kind": "function",
2786
+ "modifiers": [],
2787
+ "name": "delegatecallWithContext",
2788
+ "nameLocation": "6141:23:97",
2789
+ "parameters": {
2790
+ "id": 39364,
2791
+ "nodeType": "ParameterList",
2792
+ "parameters": [
2793
+ {
2794
+ "constant": false,
2795
+ "id": 39357,
2796
+ "mutability": "mutable",
2797
+ "name": "msgSender",
2798
+ "nameLocation": "6178:9:97",
2799
+ "nodeType": "VariableDeclaration",
2800
+ "scope": 39384,
2801
+ "src": "6170:17:97",
2802
+ "stateVariable": false,
2803
+ "storageLocation": "default",
2804
+ "typeDescriptions": {
2805
+ "typeIdentifier": "t_address",
2806
+ "typeString": "address"
2807
+ },
2808
+ "typeName": {
2809
+ "id": 39356,
2810
+ "name": "address",
2811
+ "nodeType": "ElementaryTypeName",
2812
+ "src": "6170:7:97",
2813
+ "stateMutability": "nonpayable",
2814
+ "typeDescriptions": {
2815
+ "typeIdentifier": "t_address",
2816
+ "typeString": "address"
2817
+ }
2818
+ },
2819
+ "visibility": "internal"
2820
+ },
2821
+ {
2822
+ "constant": false,
2823
+ "id": 39359,
2824
+ "mutability": "mutable",
2825
+ "name": "msgValue",
2826
+ "nameLocation": "6201:8:97",
2827
+ "nodeType": "VariableDeclaration",
2828
+ "scope": 39384,
2829
+ "src": "6193:16:97",
2830
+ "stateVariable": false,
2831
+ "storageLocation": "default",
2832
+ "typeDescriptions": {
2833
+ "typeIdentifier": "t_uint256",
2834
+ "typeString": "uint256"
2835
+ },
2836
+ "typeName": {
2837
+ "id": 39358,
2838
+ "name": "uint256",
2839
+ "nodeType": "ElementaryTypeName",
2840
+ "src": "6193:7:97",
2841
+ "typeDescriptions": {
2842
+ "typeIdentifier": "t_uint256",
2843
+ "typeString": "uint256"
2844
+ }
2845
+ },
2846
+ "visibility": "internal"
2847
+ },
2848
+ {
2849
+ "constant": false,
2850
+ "id": 39361,
2851
+ "mutability": "mutable",
2852
+ "name": "target",
2853
+ "nameLocation": "6223:6:97",
2854
+ "nodeType": "VariableDeclaration",
2855
+ "scope": 39384,
2856
+ "src": "6215:14:97",
2857
+ "stateVariable": false,
2858
+ "storageLocation": "default",
2859
+ "typeDescriptions": {
2860
+ "typeIdentifier": "t_address",
2861
+ "typeString": "address"
2862
+ },
2863
+ "typeName": {
2864
+ "id": 39360,
2865
+ "name": "address",
2866
+ "nodeType": "ElementaryTypeName",
2867
+ "src": "6215:7:97",
2868
+ "stateMutability": "nonpayable",
2869
+ "typeDescriptions": {
2870
+ "typeIdentifier": "t_address",
2871
+ "typeString": "address"
2872
+ }
2873
+ },
2874
+ "visibility": "internal"
2875
+ },
2876
+ {
2877
+ "constant": false,
2878
+ "id": 39363,
2879
+ "mutability": "mutable",
2880
+ "name": "callData",
2881
+ "nameLocation": "6248:8:97",
2882
+ "nodeType": "VariableDeclaration",
2883
+ "scope": 39384,
2884
+ "src": "6235:21:97",
2885
+ "stateVariable": false,
2886
+ "storageLocation": "memory",
2887
+ "typeDescriptions": {
2888
+ "typeIdentifier": "t_bytes_memory_ptr",
2889
+ "typeString": "bytes"
2890
+ },
2891
+ "typeName": {
2892
+ "id": 39362,
2893
+ "name": "bytes",
2894
+ "nodeType": "ElementaryTypeName",
2895
+ "src": "6235:5:97",
2896
+ "typeDescriptions": {
2897
+ "typeIdentifier": "t_bytes_storage_ptr",
2898
+ "typeString": "bytes"
2899
+ }
2900
+ },
2901
+ "visibility": "internal"
2902
+ }
2903
+ ],
2904
+ "src": "6164:96:97"
2905
+ },
2906
+ "returnParameters": {
2907
+ "id": 39369,
2908
+ "nodeType": "ParameterList",
2909
+ "parameters": [
2910
+ {
2911
+ "constant": false,
2912
+ "id": 39366,
2913
+ "mutability": "mutable",
2914
+ "name": "success",
2915
+ "nameLocation": "6284:7:97",
2916
+ "nodeType": "VariableDeclaration",
2917
+ "scope": 39384,
2918
+ "src": "6279:12:97",
2919
+ "stateVariable": false,
2920
+ "storageLocation": "default",
2921
+ "typeDescriptions": {
2922
+ "typeIdentifier": "t_bool",
2923
+ "typeString": "bool"
2924
+ },
2925
+ "typeName": {
2926
+ "id": 39365,
2927
+ "name": "bool",
2928
+ "nodeType": "ElementaryTypeName",
2929
+ "src": "6279:4:97",
2930
+ "typeDescriptions": {
2931
+ "typeIdentifier": "t_bool",
2932
+ "typeString": "bool"
2933
+ }
2934
+ },
2935
+ "visibility": "internal"
2936
+ },
2937
+ {
2938
+ "constant": false,
2939
+ "id": 39368,
2940
+ "mutability": "mutable",
2941
+ "name": "data",
2942
+ "nameLocation": "6306:4:97",
2943
+ "nodeType": "VariableDeclaration",
2944
+ "scope": 39384,
2945
+ "src": "6293:17:97",
2946
+ "stateVariable": false,
2947
+ "storageLocation": "memory",
2948
+ "typeDescriptions": {
2949
+ "typeIdentifier": "t_bytes_memory_ptr",
2950
+ "typeString": "bytes"
2951
+ },
2952
+ "typeName": {
2953
+ "id": 39367,
2954
+ "name": "bytes",
2955
+ "nodeType": "ElementaryTypeName",
2956
+ "src": "6293:5:97",
2957
+ "typeDescriptions": {
2958
+ "typeIdentifier": "t_bytes_storage_ptr",
2959
+ "typeString": "bytes"
2960
+ }
2961
+ },
2962
+ "visibility": "internal"
2963
+ }
2964
+ ],
2965
+ "src": "6278:33:97"
2966
+ },
2967
+ "scope": 39455,
2968
+ "stateMutability": "nonpayable",
2969
+ "virtual": false,
2970
+ "visibility": "internal"
2971
+ },
2972
+ {
2973
+ "id": 39419,
2974
+ "nodeType": "FunctionDefinition",
2975
+ "src": "6908:399:97",
2976
+ "nodes": [],
2977
+ "body": {
2978
+ "id": 39418,
2979
+ "nodeType": "Block",
2980
+ "src": "7074:233:97",
2981
+ "nodes": [],
2982
+ "statements": [
2983
+ {
2984
+ "assignments": [
2985
+ 39399,
2986
+ 39401
2987
+ ],
2988
+ "declarations": [
2989
+ {
2990
+ "constant": false,
2991
+ "id": 39399,
2992
+ "mutability": "mutable",
2993
+ "name": "success",
2994
+ "nameLocation": "7086:7:97",
2995
+ "nodeType": "VariableDeclaration",
2996
+ "scope": 39418,
2997
+ "src": "7081:12:97",
2998
+ "stateVariable": false,
2999
+ "storageLocation": "default",
3000
+ "typeDescriptions": {
3001
+ "typeIdentifier": "t_bool",
3002
+ "typeString": "bool"
3003
+ },
3004
+ "typeName": {
3005
+ "id": 39398,
3006
+ "name": "bool",
3007
+ "nodeType": "ElementaryTypeName",
3008
+ "src": "7081:4:97",
3009
+ "typeDescriptions": {
3010
+ "typeIdentifier": "t_bool",
3011
+ "typeString": "bool"
3012
+ }
3013
+ },
3014
+ "visibility": "internal"
3015
+ },
3016
+ {
3017
+ "constant": false,
3018
+ "id": 39401,
3019
+ "mutability": "mutable",
3020
+ "name": "_data",
3021
+ "nameLocation": "7108:5:97",
3022
+ "nodeType": "VariableDeclaration",
3023
+ "scope": 39418,
3024
+ "src": "7095:18:97",
3025
+ "stateVariable": false,
3026
+ "storageLocation": "memory",
3027
+ "typeDescriptions": {
3028
+ "typeIdentifier": "t_bytes_memory_ptr",
3029
+ "typeString": "bytes"
3030
+ },
3031
+ "typeName": {
3032
+ "id": 39400,
3033
+ "name": "bytes",
3034
+ "nodeType": "ElementaryTypeName",
3035
+ "src": "7095:5:97",
3036
+ "typeDescriptions": {
3037
+ "typeIdentifier": "t_bytes_storage_ptr",
3038
+ "typeString": "bytes"
3039
+ }
3040
+ },
3041
+ "visibility": "internal"
3042
+ }
3043
+ ],
3044
+ "id": 39408,
3045
+ "initialValue": {
3046
+ "arguments": [
3047
+ {
3048
+ "id": 39403,
3049
+ "name": "msgSender",
3050
+ "nodeType": "Identifier",
3051
+ "overloadedDeclarations": [],
3052
+ "referencedDeclaration": 39387,
3053
+ "src": "7152:9:97",
3054
+ "typeDescriptions": {
3055
+ "typeIdentifier": "t_address",
3056
+ "typeString": "address"
3057
+ }
3058
+ },
3059
+ {
3060
+ "id": 39404,
3061
+ "name": "msgValue",
3062
+ "nodeType": "Identifier",
3063
+ "overloadedDeclarations": [],
3064
+ "referencedDeclaration": 39389,
3065
+ "src": "7179:8:97",
3066
+ "typeDescriptions": {
3067
+ "typeIdentifier": "t_uint256",
3068
+ "typeString": "uint256"
3069
+ }
3070
+ },
3071
+ {
3072
+ "id": 39405,
3073
+ "name": "target",
3074
+ "nodeType": "Identifier",
3075
+ "overloadedDeclarations": [],
3076
+ "referencedDeclaration": 39391,
3077
+ "src": "7203:6:97",
3078
+ "typeDescriptions": {
3079
+ "typeIdentifier": "t_address",
3080
+ "typeString": "address"
3081
+ }
3082
+ },
3083
+ {
3084
+ "id": 39406,
3085
+ "name": "callData",
3086
+ "nodeType": "Identifier",
3087
+ "overloadedDeclarations": [],
3088
+ "referencedDeclaration": 39393,
3089
+ "src": "7227:8:97",
3090
+ "typeDescriptions": {
3091
+ "typeIdentifier": "t_bytes_memory_ptr",
3092
+ "typeString": "bytes memory"
3093
+ }
3094
+ }
3095
+ ],
3096
+ "expression": {
3097
+ "argumentTypes": [
3098
+ {
3099
+ "typeIdentifier": "t_address",
3100
+ "typeString": "address"
3101
+ },
3102
+ {
3103
+ "typeIdentifier": "t_uint256",
3104
+ "typeString": "uint256"
3105
+ },
3106
+ {
3107
+ "typeIdentifier": "t_address",
3108
+ "typeString": "address"
3109
+ },
3110
+ {
3111
+ "typeIdentifier": "t_bytes_memory_ptr",
3112
+ "typeString": "bytes memory"
3113
+ }
3114
+ ],
3115
+ "id": 39402,
3116
+ "name": "callWithContext",
3117
+ "nodeType": "Identifier",
3118
+ "overloadedDeclarations": [],
3119
+ "referencedDeclaration": 39354,
3120
+ "src": "7117:15:97",
3121
+ "typeDescriptions": {
3122
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
3123
+ "typeString": "function (address,uint256,address,bytes memory) returns (bool,bytes memory)"
3124
+ }
3125
+ },
3126
+ "id": 39407,
3127
+ "isConstant": false,
3128
+ "isLValue": false,
3129
+ "isPure": false,
3130
+ "kind": "functionCall",
3131
+ "lValueRequested": false,
3132
+ "nameLocations": [
3133
+ "7141:9:97",
3134
+ "7169:8:97",
3135
+ "7195:6:97",
3136
+ "7217:8:97"
3137
+ ],
3138
+ "names": [
3139
+ "msgSender",
3140
+ "msgValue",
3141
+ "target",
3142
+ "callData"
3143
+ ],
3144
+ "nodeType": "FunctionCall",
3145
+ "src": "7117:125:97",
3146
+ "tryCall": false,
3147
+ "typeDescriptions": {
3148
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
3149
+ "typeString": "tuple(bool,bytes memory)"
3150
+ }
3151
+ },
3152
+ "nodeType": "VariableDeclarationStatement",
3153
+ "src": "7080:162:97"
3154
+ },
3155
+ {
3156
+ "condition": {
3157
+ "id": 39410,
3158
+ "isConstant": false,
3159
+ "isLValue": false,
3160
+ "isPure": false,
3161
+ "lValueRequested": false,
3162
+ "nodeType": "UnaryOperation",
3163
+ "operator": "!",
3164
+ "prefix": true,
3165
+ "src": "7252:8:97",
3166
+ "subExpression": {
3167
+ "id": 39409,
3168
+ "name": "success",
3169
+ "nodeType": "Identifier",
3170
+ "overloadedDeclarations": [],
3171
+ "referencedDeclaration": 39399,
3172
+ "src": "7253:7:97",
3173
+ "typeDescriptions": {
3174
+ "typeIdentifier": "t_bool",
3175
+ "typeString": "bool"
3176
+ }
3177
+ },
3178
+ "typeDescriptions": {
3179
+ "typeIdentifier": "t_bool",
3180
+ "typeString": "bool"
3181
+ }
3182
+ },
3183
+ "id": 39415,
3184
+ "nodeType": "IfStatement",
3185
+ "src": "7248:36:97",
3186
+ "trueBody": {
3187
+ "expression": {
3188
+ "arguments": [
3189
+ {
3190
+ "id": 39412,
3191
+ "name": "_data",
3192
+ "nodeType": "Identifier",
3193
+ "overloadedDeclarations": [],
3194
+ "referencedDeclaration": 39401,
3195
+ "src": "7278:5:97",
3196
+ "typeDescriptions": {
3197
+ "typeIdentifier": "t_bytes_memory_ptr",
3198
+ "typeString": "bytes memory"
3199
+ }
3200
+ }
3201
+ ],
3202
+ "expression": {
3203
+ "argumentTypes": [
3204
+ {
3205
+ "typeIdentifier": "t_bytes_memory_ptr",
3206
+ "typeString": "bytes memory"
3207
+ }
3208
+ ],
3209
+ "id": 39411,
3210
+ "name": "revertWithBytes",
3211
+ "nodeType": "Identifier",
3212
+ "overloadedDeclarations": [],
3213
+ "referencedDeclaration": 39849,
3214
+ "src": "7262:15:97",
3215
+ "typeDescriptions": {
3216
+ "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
3217
+ "typeString": "function (bytes memory) pure"
3218
+ }
3219
+ },
3220
+ "id": 39413,
3221
+ "isConstant": false,
3222
+ "isLValue": false,
3223
+ "isPure": false,
3224
+ "kind": "functionCall",
3225
+ "lValueRequested": false,
3226
+ "nameLocations": [],
3227
+ "names": [],
3228
+ "nodeType": "FunctionCall",
3229
+ "src": "7262:22:97",
3230
+ "tryCall": false,
3231
+ "typeDescriptions": {
3232
+ "typeIdentifier": "t_tuple$__$",
3233
+ "typeString": "tuple()"
3234
+ }
3235
+ },
3236
+ "id": 39414,
3237
+ "nodeType": "ExpressionStatement",
3238
+ "src": "7262:22:97"
3239
+ }
3240
+ },
3241
+ {
3242
+ "expression": {
3243
+ "id": 39416,
3244
+ "name": "_data",
3245
+ "nodeType": "Identifier",
3246
+ "overloadedDeclarations": [],
3247
+ "referencedDeclaration": 39401,
3248
+ "src": "7297:5:97",
3249
+ "typeDescriptions": {
3250
+ "typeIdentifier": "t_bytes_memory_ptr",
3251
+ "typeString": "bytes memory"
3252
+ }
3253
+ },
3254
+ "functionReturnParameters": 39397,
3255
+ "id": 39417,
3256
+ "nodeType": "Return",
3257
+ "src": "7290:12:97"
3258
+ }
3259
+ ]
3260
+ },
3261
+ "documentation": {
3262
+ "id": 39385,
3263
+ "nodeType": "StructuredDocumentation",
3264
+ "src": "6457:448:97",
3265
+ "text": " @notice Makes a call to the target contract with context values appended to the calldata.\n @dev Revert in the case of failure.\n @param msgSender The address of the transaction sender.\n @param msgValue The amount of ether sent with the original transaction.\n @param target The address of the contract to call.\n @param callData The calldata for the call.\n @return data The abi encoded return data from the call."
3266
+ },
3267
+ "implemented": true,
3268
+ "kind": "function",
3269
+ "modifiers": [],
3270
+ "name": "callWithContextOrRevert",
3271
+ "nameLocation": "6917:23:97",
3272
+ "parameters": {
3273
+ "id": 39394,
3274
+ "nodeType": "ParameterList",
3275
+ "parameters": [
3276
+ {
3277
+ "constant": false,
3278
+ "id": 39387,
3279
+ "mutability": "mutable",
3280
+ "name": "msgSender",
3281
+ "nameLocation": "6954:9:97",
3282
+ "nodeType": "VariableDeclaration",
3283
+ "scope": 39419,
3284
+ "src": "6946:17:97",
3285
+ "stateVariable": false,
3286
+ "storageLocation": "default",
3287
+ "typeDescriptions": {
3288
+ "typeIdentifier": "t_address",
3289
+ "typeString": "address"
3290
+ },
3291
+ "typeName": {
3292
+ "id": 39386,
3293
+ "name": "address",
3294
+ "nodeType": "ElementaryTypeName",
3295
+ "src": "6946:7:97",
3296
+ "stateMutability": "nonpayable",
3297
+ "typeDescriptions": {
3298
+ "typeIdentifier": "t_address",
3299
+ "typeString": "address"
3300
+ }
3301
+ },
3302
+ "visibility": "internal"
3303
+ },
3304
+ {
3305
+ "constant": false,
3306
+ "id": 39389,
3307
+ "mutability": "mutable",
3308
+ "name": "msgValue",
3309
+ "nameLocation": "6977:8:97",
3310
+ "nodeType": "VariableDeclaration",
3311
+ "scope": 39419,
3312
+ "src": "6969:16:97",
3313
+ "stateVariable": false,
3314
+ "storageLocation": "default",
3315
+ "typeDescriptions": {
3316
+ "typeIdentifier": "t_uint256",
3317
+ "typeString": "uint256"
3318
+ },
3319
+ "typeName": {
3320
+ "id": 39388,
3321
+ "name": "uint256",
3322
+ "nodeType": "ElementaryTypeName",
3323
+ "src": "6969:7:97",
3324
+ "typeDescriptions": {
3325
+ "typeIdentifier": "t_uint256",
3326
+ "typeString": "uint256"
3327
+ }
3328
+ },
3329
+ "visibility": "internal"
3330
+ },
3331
+ {
3332
+ "constant": false,
3333
+ "id": 39391,
3334
+ "mutability": "mutable",
3335
+ "name": "target",
3336
+ "nameLocation": "6999:6:97",
3337
+ "nodeType": "VariableDeclaration",
3338
+ "scope": 39419,
3339
+ "src": "6991:14:97",
3340
+ "stateVariable": false,
3341
+ "storageLocation": "default",
3342
+ "typeDescriptions": {
3343
+ "typeIdentifier": "t_address",
3344
+ "typeString": "address"
3345
+ },
3346
+ "typeName": {
3347
+ "id": 39390,
3348
+ "name": "address",
3349
+ "nodeType": "ElementaryTypeName",
3350
+ "src": "6991:7:97",
3351
+ "stateMutability": "nonpayable",
3352
+ "typeDescriptions": {
3353
+ "typeIdentifier": "t_address",
3354
+ "typeString": "address"
3355
+ }
3356
+ },
3357
+ "visibility": "internal"
3358
+ },
3359
+ {
3360
+ "constant": false,
3361
+ "id": 39393,
3362
+ "mutability": "mutable",
3363
+ "name": "callData",
3364
+ "nameLocation": "7024:8:97",
3365
+ "nodeType": "VariableDeclaration",
3366
+ "scope": 39419,
3367
+ "src": "7011:21:97",
3368
+ "stateVariable": false,
3369
+ "storageLocation": "memory",
3370
+ "typeDescriptions": {
3371
+ "typeIdentifier": "t_bytes_memory_ptr",
3372
+ "typeString": "bytes"
3373
+ },
3374
+ "typeName": {
3375
+ "id": 39392,
3376
+ "name": "bytes",
3377
+ "nodeType": "ElementaryTypeName",
3378
+ "src": "7011:5:97",
3379
+ "typeDescriptions": {
3380
+ "typeIdentifier": "t_bytes_storage_ptr",
3381
+ "typeString": "bytes"
3382
+ }
3383
+ },
3384
+ "visibility": "internal"
3385
+ }
3386
+ ],
3387
+ "src": "6940:96:97"
3388
+ },
3389
+ "returnParameters": {
3390
+ "id": 39397,
3391
+ "nodeType": "ParameterList",
3392
+ "parameters": [
3393
+ {
3394
+ "constant": false,
3395
+ "id": 39396,
3396
+ "mutability": "mutable",
3397
+ "name": "data",
3398
+ "nameLocation": "7068:4:97",
3399
+ "nodeType": "VariableDeclaration",
3400
+ "scope": 39419,
3401
+ "src": "7055:17:97",
3402
+ "stateVariable": false,
3403
+ "storageLocation": "memory",
3404
+ "typeDescriptions": {
3405
+ "typeIdentifier": "t_bytes_memory_ptr",
3406
+ "typeString": "bytes"
3407
+ },
3408
+ "typeName": {
3409
+ "id": 39395,
3410
+ "name": "bytes",
3411
+ "nodeType": "ElementaryTypeName",
3412
+ "src": "7055:5:97",
3413
+ "typeDescriptions": {
3414
+ "typeIdentifier": "t_bytes_storage_ptr",
3415
+ "typeString": "bytes"
3416
+ }
3417
+ },
3418
+ "visibility": "internal"
3419
+ }
3420
+ ],
3421
+ "src": "7054:19:97"
3422
+ },
3423
+ "scope": 39455,
3424
+ "stateMutability": "nonpayable",
3425
+ "virtual": false,
3426
+ "visibility": "internal"
3427
+ },
3428
+ {
3429
+ "id": 39454,
3430
+ "nodeType": "FunctionDefinition",
3431
+ "src": "7770:415:97",
3432
+ "nodes": [],
3433
+ "body": {
3434
+ "id": 39453,
3435
+ "nodeType": "Block",
3436
+ "src": "7944:241:97",
3437
+ "nodes": [],
3438
+ "statements": [
3439
+ {
3440
+ "assignments": [
3441
+ 39434,
3442
+ 39436
3443
+ ],
3444
+ "declarations": [
3445
+ {
3446
+ "constant": false,
3447
+ "id": 39434,
3448
+ "mutability": "mutable",
3449
+ "name": "success",
3450
+ "nameLocation": "7956:7:97",
3451
+ "nodeType": "VariableDeclaration",
3452
+ "scope": 39453,
3453
+ "src": "7951:12:97",
3454
+ "stateVariable": false,
3455
+ "storageLocation": "default",
3456
+ "typeDescriptions": {
3457
+ "typeIdentifier": "t_bool",
3458
+ "typeString": "bool"
3459
+ },
3460
+ "typeName": {
3461
+ "id": 39433,
3462
+ "name": "bool",
3463
+ "nodeType": "ElementaryTypeName",
3464
+ "src": "7951:4:97",
3465
+ "typeDescriptions": {
3466
+ "typeIdentifier": "t_bool",
3467
+ "typeString": "bool"
3468
+ }
3469
+ },
3470
+ "visibility": "internal"
3471
+ },
3472
+ {
3473
+ "constant": false,
3474
+ "id": 39436,
3475
+ "mutability": "mutable",
3476
+ "name": "_data",
3477
+ "nameLocation": "7978:5:97",
3478
+ "nodeType": "VariableDeclaration",
3479
+ "scope": 39453,
3480
+ "src": "7965:18:97",
3481
+ "stateVariable": false,
3482
+ "storageLocation": "memory",
3483
+ "typeDescriptions": {
3484
+ "typeIdentifier": "t_bytes_memory_ptr",
3485
+ "typeString": "bytes"
3486
+ },
3487
+ "typeName": {
3488
+ "id": 39435,
3489
+ "name": "bytes",
3490
+ "nodeType": "ElementaryTypeName",
3491
+ "src": "7965:5:97",
3492
+ "typeDescriptions": {
3493
+ "typeIdentifier": "t_bytes_storage_ptr",
3494
+ "typeString": "bytes"
3495
+ }
3496
+ },
3497
+ "visibility": "internal"
3498
+ }
3499
+ ],
3500
+ "id": 39443,
3501
+ "initialValue": {
3502
+ "arguments": [
3503
+ {
3504
+ "id": 39438,
3505
+ "name": "msgSender",
3506
+ "nodeType": "Identifier",
3507
+ "overloadedDeclarations": [],
3508
+ "referencedDeclaration": 39422,
3509
+ "src": "8030:9:97",
3510
+ "typeDescriptions": {
3511
+ "typeIdentifier": "t_address",
3512
+ "typeString": "address"
3513
+ }
3514
+ },
3515
+ {
3516
+ "id": 39439,
3517
+ "name": "msgValue",
3518
+ "nodeType": "Identifier",
3519
+ "overloadedDeclarations": [],
3520
+ "referencedDeclaration": 39424,
3521
+ "src": "8057:8:97",
3522
+ "typeDescriptions": {
3523
+ "typeIdentifier": "t_uint256",
3524
+ "typeString": "uint256"
3525
+ }
3526
+ },
3527
+ {
3528
+ "id": 39440,
3529
+ "name": "target",
3530
+ "nodeType": "Identifier",
3531
+ "overloadedDeclarations": [],
3532
+ "referencedDeclaration": 39426,
3533
+ "src": "8081:6:97",
3534
+ "typeDescriptions": {
3535
+ "typeIdentifier": "t_address",
3536
+ "typeString": "address"
3537
+ }
3538
+ },
3539
+ {
3540
+ "id": 39441,
3541
+ "name": "callData",
3542
+ "nodeType": "Identifier",
3543
+ "overloadedDeclarations": [],
3544
+ "referencedDeclaration": 39428,
3545
+ "src": "8105:8:97",
3546
+ "typeDescriptions": {
3547
+ "typeIdentifier": "t_bytes_memory_ptr",
3548
+ "typeString": "bytes memory"
3549
+ }
3550
+ }
3551
+ ],
3552
+ "expression": {
3553
+ "argumentTypes": [
3554
+ {
3555
+ "typeIdentifier": "t_address",
3556
+ "typeString": "address"
3557
+ },
3558
+ {
3559
+ "typeIdentifier": "t_uint256",
3560
+ "typeString": "uint256"
3561
+ },
3562
+ {
3563
+ "typeIdentifier": "t_address",
3564
+ "typeString": "address"
3565
+ },
3566
+ {
3567
+ "typeIdentifier": "t_bytes_memory_ptr",
3568
+ "typeString": "bytes memory"
3569
+ }
3570
+ ],
3571
+ "id": 39437,
3572
+ "name": "delegatecallWithContext",
3573
+ "nodeType": "Identifier",
3574
+ "overloadedDeclarations": [],
3575
+ "referencedDeclaration": 39384,
3576
+ "src": "7987:23:97",
3577
+ "typeDescriptions": {
3578
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
3579
+ "typeString": "function (address,uint256,address,bytes memory) returns (bool,bytes memory)"
3580
+ }
3581
+ },
3582
+ "id": 39442,
3583
+ "isConstant": false,
3584
+ "isLValue": false,
3585
+ "isPure": false,
3586
+ "kind": "functionCall",
3587
+ "lValueRequested": false,
3588
+ "nameLocations": [
3589
+ "8019:9:97",
3590
+ "8047:8:97",
3591
+ "8073:6:97",
3592
+ "8095:8:97"
3593
+ ],
3594
+ "names": [
3595
+ "msgSender",
3596
+ "msgValue",
3597
+ "target",
3598
+ "callData"
3599
+ ],
3600
+ "nodeType": "FunctionCall",
3601
+ "src": "7987:133:97",
3602
+ "tryCall": false,
3603
+ "typeDescriptions": {
3604
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
3605
+ "typeString": "tuple(bool,bytes memory)"
3606
+ }
3607
+ },
3608
+ "nodeType": "VariableDeclarationStatement",
3609
+ "src": "7950:170:97"
3610
+ },
3611
+ {
3612
+ "condition": {
3613
+ "id": 39445,
3614
+ "isConstant": false,
3615
+ "isLValue": false,
3616
+ "isPure": false,
3617
+ "lValueRequested": false,
3618
+ "nodeType": "UnaryOperation",
3619
+ "operator": "!",
3620
+ "prefix": true,
3621
+ "src": "8130:8:97",
3622
+ "subExpression": {
3623
+ "id": 39444,
3624
+ "name": "success",
3625
+ "nodeType": "Identifier",
3626
+ "overloadedDeclarations": [],
3627
+ "referencedDeclaration": 39434,
3628
+ "src": "8131:7:97",
3629
+ "typeDescriptions": {
3630
+ "typeIdentifier": "t_bool",
3631
+ "typeString": "bool"
3632
+ }
3633
+ },
3634
+ "typeDescriptions": {
3635
+ "typeIdentifier": "t_bool",
3636
+ "typeString": "bool"
3637
+ }
3638
+ },
3639
+ "id": 39450,
3640
+ "nodeType": "IfStatement",
3641
+ "src": "8126:36:97",
3642
+ "trueBody": {
3643
+ "expression": {
3644
+ "arguments": [
3645
+ {
3646
+ "id": 39447,
3647
+ "name": "_data",
3648
+ "nodeType": "Identifier",
3649
+ "overloadedDeclarations": [],
3650
+ "referencedDeclaration": 39436,
3651
+ "src": "8156:5:97",
3652
+ "typeDescriptions": {
3653
+ "typeIdentifier": "t_bytes_memory_ptr",
3654
+ "typeString": "bytes memory"
3655
+ }
3656
+ }
3657
+ ],
3658
+ "expression": {
3659
+ "argumentTypes": [
3660
+ {
3661
+ "typeIdentifier": "t_bytes_memory_ptr",
3662
+ "typeString": "bytes memory"
3663
+ }
3664
+ ],
3665
+ "id": 39446,
3666
+ "name": "revertWithBytes",
3667
+ "nodeType": "Identifier",
3668
+ "overloadedDeclarations": [],
3669
+ "referencedDeclaration": 39849,
3670
+ "src": "8140:15:97",
3671
+ "typeDescriptions": {
3672
+ "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$",
3673
+ "typeString": "function (bytes memory) pure"
3674
+ }
3675
+ },
3676
+ "id": 39448,
3677
+ "isConstant": false,
3678
+ "isLValue": false,
3679
+ "isPure": false,
3680
+ "kind": "functionCall",
3681
+ "lValueRequested": false,
3682
+ "nameLocations": [],
3683
+ "names": [],
3684
+ "nodeType": "FunctionCall",
3685
+ "src": "8140:22:97",
3686
+ "tryCall": false,
3687
+ "typeDescriptions": {
3688
+ "typeIdentifier": "t_tuple$__$",
3689
+ "typeString": "tuple()"
3690
+ }
3691
+ },
3692
+ "id": 39449,
3693
+ "nodeType": "ExpressionStatement",
3694
+ "src": "8140:22:97"
3695
+ }
3696
+ },
3697
+ {
3698
+ "expression": {
3699
+ "id": 39451,
3700
+ "name": "_data",
3701
+ "nodeType": "Identifier",
3702
+ "overloadedDeclarations": [],
3703
+ "referencedDeclaration": 39436,
3704
+ "src": "8175:5:97",
3705
+ "typeDescriptions": {
3706
+ "typeIdentifier": "t_bytes_memory_ptr",
3707
+ "typeString": "bytes memory"
3708
+ }
3709
+ },
3710
+ "functionReturnParameters": 39432,
3711
+ "id": 39452,
3712
+ "nodeType": "Return",
3713
+ "src": "8168:12:97"
3714
+ }
3715
+ ]
3716
+ },
3717
+ "documentation": {
3718
+ "id": 39420,
3719
+ "nodeType": "StructuredDocumentation",
3720
+ "src": "7311:456:97",
3721
+ "text": " @notice Makes a delegatecall to the target contract with context values appended to the calldata.\n @dev Revert in the case of failure.\n @param msgSender The address of the transaction sender.\n @param msgValue The amount of ether sent with the original transaction.\n @param target The address of the contract to call.\n @param callData The calldata for the call.\n @return data The abi encoded return data from the call."
3722
+ },
3723
+ "implemented": true,
3724
+ "kind": "function",
3725
+ "modifiers": [],
3726
+ "name": "delegatecallWithContextOrRevert",
3727
+ "nameLocation": "7779:31:97",
3728
+ "parameters": {
3729
+ "id": 39429,
3730
+ "nodeType": "ParameterList",
3731
+ "parameters": [
3732
+ {
3733
+ "constant": false,
3734
+ "id": 39422,
3735
+ "mutability": "mutable",
3736
+ "name": "msgSender",
3737
+ "nameLocation": "7824:9:97",
3738
+ "nodeType": "VariableDeclaration",
3739
+ "scope": 39454,
3740
+ "src": "7816:17:97",
3741
+ "stateVariable": false,
3742
+ "storageLocation": "default",
3743
+ "typeDescriptions": {
3744
+ "typeIdentifier": "t_address",
3745
+ "typeString": "address"
3746
+ },
3747
+ "typeName": {
3748
+ "id": 39421,
3749
+ "name": "address",
3750
+ "nodeType": "ElementaryTypeName",
3751
+ "src": "7816:7:97",
3752
+ "stateMutability": "nonpayable",
3753
+ "typeDescriptions": {
3754
+ "typeIdentifier": "t_address",
3755
+ "typeString": "address"
3756
+ }
3757
+ },
3758
+ "visibility": "internal"
3759
+ },
3760
+ {
3761
+ "constant": false,
3762
+ "id": 39424,
3763
+ "mutability": "mutable",
3764
+ "name": "msgValue",
3765
+ "nameLocation": "7847:8:97",
3766
+ "nodeType": "VariableDeclaration",
3767
+ "scope": 39454,
3768
+ "src": "7839:16:97",
3769
+ "stateVariable": false,
3770
+ "storageLocation": "default",
3771
+ "typeDescriptions": {
3772
+ "typeIdentifier": "t_uint256",
3773
+ "typeString": "uint256"
3774
+ },
3775
+ "typeName": {
3776
+ "id": 39423,
3777
+ "name": "uint256",
3778
+ "nodeType": "ElementaryTypeName",
3779
+ "src": "7839:7:97",
3780
+ "typeDescriptions": {
3781
+ "typeIdentifier": "t_uint256",
3782
+ "typeString": "uint256"
3783
+ }
3784
+ },
3785
+ "visibility": "internal"
3786
+ },
3787
+ {
3788
+ "constant": false,
3789
+ "id": 39426,
3790
+ "mutability": "mutable",
3791
+ "name": "target",
3792
+ "nameLocation": "7869:6:97",
3793
+ "nodeType": "VariableDeclaration",
3794
+ "scope": 39454,
3795
+ "src": "7861:14:97",
3796
+ "stateVariable": false,
3797
+ "storageLocation": "default",
3798
+ "typeDescriptions": {
3799
+ "typeIdentifier": "t_address",
3800
+ "typeString": "address"
3801
+ },
3802
+ "typeName": {
3803
+ "id": 39425,
3804
+ "name": "address",
3805
+ "nodeType": "ElementaryTypeName",
3806
+ "src": "7861:7:97",
3807
+ "stateMutability": "nonpayable",
3808
+ "typeDescriptions": {
3809
+ "typeIdentifier": "t_address",
3810
+ "typeString": "address"
3811
+ }
3812
+ },
3813
+ "visibility": "internal"
3814
+ },
3815
+ {
3816
+ "constant": false,
3817
+ "id": 39428,
3818
+ "mutability": "mutable",
3819
+ "name": "callData",
3820
+ "nameLocation": "7894:8:97",
3821
+ "nodeType": "VariableDeclaration",
3822
+ "scope": 39454,
3823
+ "src": "7881:21:97",
3824
+ "stateVariable": false,
3825
+ "storageLocation": "memory",
3826
+ "typeDescriptions": {
3827
+ "typeIdentifier": "t_bytes_memory_ptr",
3828
+ "typeString": "bytes"
3829
+ },
3830
+ "typeName": {
3831
+ "id": 39427,
3832
+ "name": "bytes",
3833
+ "nodeType": "ElementaryTypeName",
3834
+ "src": "7881:5:97",
3835
+ "typeDescriptions": {
3836
+ "typeIdentifier": "t_bytes_storage_ptr",
3837
+ "typeString": "bytes"
3838
+ }
3839
+ },
3840
+ "visibility": "internal"
3841
+ }
3842
+ ],
3843
+ "src": "7810:96:97"
3844
+ },
3845
+ "returnParameters": {
3846
+ "id": 39432,
3847
+ "nodeType": "ParameterList",
3848
+ "parameters": [
3849
+ {
3850
+ "constant": false,
3851
+ "id": 39431,
3852
+ "mutability": "mutable",
3853
+ "name": "data",
3854
+ "nameLocation": "7938:4:97",
3855
+ "nodeType": "VariableDeclaration",
3856
+ "scope": 39454,
3857
+ "src": "7925:17:97",
3858
+ "stateVariable": false,
3859
+ "storageLocation": "memory",
3860
+ "typeDescriptions": {
3861
+ "typeIdentifier": "t_bytes_memory_ptr",
3862
+ "typeString": "bytes"
3863
+ },
3864
+ "typeName": {
3865
+ "id": 39430,
3866
+ "name": "bytes",
3867
+ "nodeType": "ElementaryTypeName",
3868
+ "src": "7925:5:97",
3869
+ "typeDescriptions": {
3870
+ "typeIdentifier": "t_bytes_storage_ptr",
3871
+ "typeString": "bytes"
3872
+ }
3873
+ },
3874
+ "visibility": "internal"
3875
+ }
3876
+ ],
3877
+ "src": "7924:19:97"
3878
+ },
3879
+ "scope": 39455,
3880
+ "stateMutability": "nonpayable",
3881
+ "virtual": false,
3882
+ "visibility": "internal"
3883
+ }
3884
+ ],
3885
+ "abstract": false,
3886
+ "baseContracts": [],
3887
+ "canonicalName": "WorldContextProviderLib",
3888
+ "contractDependencies": [],
3889
+ "contractKind": "library",
3890
+ "documentation": {
3891
+ "id": 39302,
3892
+ "nodeType": "StructuredDocumentation",
3893
+ "src": "3932:332:97",
3894
+ "text": " @title WorldContextProviderLib - Utility functions to call contracts with context values appended to calldata.\n @notice This library provides functions to make calls or delegatecalls to other contracts,\n appending the context values (like msg.sender and msg.value) to the calldata for WorldContextConsumer to consume."
3895
+ },
3896
+ "fullyImplemented": true,
3897
+ "linearizedBaseContracts": [
3898
+ 39455
3899
+ ],
3900
+ "name": "WorldContextProviderLib",
3901
+ "nameLocation": "4273:23:97",
3902
+ "scope": 39456,
3903
+ "usedErrors": [],
3904
+ "usedEvents": []
3905
+ }
3906
+ ],
3907
+ "license": "MIT"
3908
+ },
3909
+ "id": 97
3910
+ }