@cerc-io/solidity-mapper (0.2.34)
Installation
@cerc-io:registry=
npm install @cerc-io/solidity-mapper@0.2.34
"@cerc-io/solidity-mapper": "0.2.34"
About this package
solidity-mapper
Get value of state variable from storage for a solidity contract.
Pre-requisites
-
NodeJS and NPM
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
- Arrays
Observations
-
The storage layouts are formed according to the rules in https://docs.soliditylang.org/en/latest/internals/layout_in_storage.html#layout-of-state-variables-in-storage
-
Structs can occupy multiple slots depending on the size required by its members.
-
Fixed arrays can occupy multiple slots according to the size of the array and the type of array.
Dependencies
Dependencies
ID | Version |
---|---|
dotenv | ^10.0.0 |
Development Dependencies
ID | Version |
---|---|
@cerc-io/ipld-eth-client | ^0.2.34 |
@ethersproject/abi | ^5.3.0 |
@nomiclabs/hardhat-ethers | ^2.0.2 |
@nomiclabs/hardhat-waffle | ^2.0.1 |
@types/chai | ^4.2.18 |
@typescript-eslint/eslint-plugin | ^5.47.1 |
@typescript-eslint/parser | ^5.47.1 |
chai | ^4.3.4 |
eslint | ^8.35.0 |
eslint-config-semistandard | ^15.0.1 |
eslint-config-standard | ^16.0.3 |
eslint-plugin-import | ^2.27.5 |
eslint-plugin-node | ^11.1.0 |
eslint-plugin-promise | ^5.1.0 |
eslint-plugin-standard | ^5.0.0 |
ethereum-waffle | ^3.1.1 |
ethers | ^5.4.4 |
hardhat | ^2.3.0 |
lodash | ^4.17.21 |
typescript | ^5.0.2 |
Details
Assets (1)
Versions (88)
View all
solidity-mapper-0.2.34.tgz
23 KiB