watcher-ts/packages/solidity-mapper
Ashwin Phatak a7ec3d8da8
Add APGL license and copyright notices (#212)
* Add license & copyright declarations for add-watcher.

* Add copyright declarations for cache.

* Add copyright declarations for erc20-watcher.

* Add copyright declarations for ipld-eth-client.

* Add copyright declarations for tracing-client.

* Add copyright declarations for uni-watcher.

* Add copyright declarations for solidity-mapper.

* Add copyright declarations for uni-info-watcher.

* Add copyright declarations for util.

* Add copyright declarations for lighthouse-watcher.

* Change license identifier in .sol files.

Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
2021-08-12 15:28:13 +05:30
..
src Add APGL license and copyright notices (#212) 2021-08-12 15:28:13 +05:30
test Add APGL license and copyright notices (#212) 2021-08-12 15:28:13 +05:30
.env.example Test decoder using hardhat RPC, geth-statediff RPC and ipld-eth-server GQL endpoints for fetching storage slots (#77) 2021-06-18 18:09:50 +05:30
.eslintignore Get slot for ERC20 variable from storage layout (#13) 2021-05-31 14:50:05 +05:30
.eslintrc.json Get slot for ERC20 variable from storage layout (#13) 2021-05-31 14:50:05 +05:30
.gitignore Test decoder using hardhat RPC, geth-statediff RPC and ipld-eth-server GQL endpoints for fetching storage slots (#77) 2021-06-18 18:09:50 +05:30
hardhat.config.ts Test decoder using hardhat RPC, geth-statediff RPC and ipld-eth-server GQL endpoints for fetching storage slots (#77) 2021-06-18 18:09:50 +05:30
package.json Add APGL license and copyright notices (#212) 2021-08-12 15:28:13 +05:30
README.md Test decoder using hardhat RPC, geth-statediff RPC and ipld-eth-server GQL endpoints for fetching storage slots (#77) 2021-06-18 18:09:50 +05:30
tsconfig.json Get value for nested array, mapping with address keys and struct value (#64) 2021-06-15 15:46:39 +05:30

solidity-mapper

Get value of state variable from storage for a solidity contract.

Pre-requisites

Instructions

  • Create environment variable file

    $ cp .env.example .env
    
  • Run the tests using the following command

    $ yarn test
    
    # For testing on private network using RPC getStorageAt.
    # Set ETH_RPC_URL in .env
    $ yarn test:geth-rpc
    
    # For testing on private network using ipld-eth-client getStorageAt.
    # Set GQL_ENDPOINT in .env
    $ yarn test:ipld-gql
    

Different Types

  • Value Types
    • Booleans
    • Integers
    • Fixed Point Numbers
    • Address
    • Contract Types
    • Fixed-size byte arrays
    • Enums
    • Function Types
  • Reference Types
    • Arrays
      • Get all elements in array
      • Get element in array by index
      • Fixed size arrays
        • Integer Type
        • Boolean Type
        • Address Type
        • Fixed-size byte arrays
        • Enum type
        • Dynamically-sized byte array
        • Struct Type
        • Mapping Type
      • Dynamically-sized arrays
        • Integer Type
        • Boolean Type
        • Address Type
        • Fixed-size byte arrays
        • Enum Type
        • Dynamically-sized byte array
        • Struct Type
        • Mapping Type
      • Nested Arrays
        • Fixed size arrays
        • Dynamically-sized arrays
    • Dynamically-sized byte array
      • Bytes
      • String
    • Structs
      • Get struct value with all members
      • Value Types
      • Get value of a single member in struct
      • Reference Types
        • Struct type members (nested)
        • Fixed size Array members
        • Dynamically sized Array members
        • Bytes and string type members
        • Mapping type members
    • Mapping Types
      • Value Type keys
      • Fixed-size byte array keys
      • Dynamically-sized byte array keys
      • Reference Type Mapping values
        • Struct type values
        • Array type values
        • Dynamically sized Bytes and string type values
      • Nested Mapping

Observations