@latticexyz/world-modules 2.0.0-main-071aadb9 → 2.0.0-main-7987c94d

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