module Eth::Chain
Overview
Encapsulates Eth::Chain IDs and utilities for EIP-155 compatibility.
Ref: https://eips.ethereum.org/EIPS/eip-155
Extended Modules
Defined in:
eth/chain.crConstant Summary
- 
        ARBITRUM = 42161
- 
        Chain ID for Arbitrum mainnet. 
- 
        CLASSIC = 61
- 
        Chain ID for Ethereum Classic mainnet. 
- 
        ETHEREUM = 1
- 
        Chain ID for Ethereum mainnet. 
- 
        EXPANSE = 2
- 
        Chain ID for Expanse mainnet. 
- 
        GNOSIS = 100
- 
        Chain ID for Gnosis mainnet. 
- 
        GOERLI = 5
- 
        Chain ID for Goerli testnet. 
- 
        GOERLI_ARBITRUM = 421613
- 
        Chain ID for Arbitrum Nitro Goerli testnet. 
- 
        GOERLI_OPTIMISM = 420
- 
        Chain ID for Optimistic Goerli testnet. 
- 
        HOLESOVICE = 11166111
- 
        Chain ID for Holesovice testnet. 
- 
        KOTTI = 6
- 
        Chain ID for Kotti testnet. 
- 
        KOVAN = 42
- 
        Chain ID for Kovan testnet. 
- 
        KOVAN_OPTIMISM = 69
- 
        Chain ID for Optimistik Kovan testnet. 
- 
        MORDEN = 2
- 
        Chain ID for Morden (Ethereum) testnet. 
- 
        MORDEN_CLASSIC = 62
- 
        Chain ID for Morden (Classic) testnet. 
- 
        MORDOR = 63
- 
        Chain ID for Mordor testnet. 
- 
        MUMBAI = 80001
- 
        Chain ID for the Polygon Mumbai testnet. 
- 
        OPTIMISM = 10
- 
        Chain ID for Optimistic Ethereum mainnet. 
- 
        POA_NET = 99
- 
        Chain ID for POA Network mainnet. 
- 
        POLYGON = 137
- 
        Chain ID for the Polygon Matic mainnet. 
- 
        PRIVATE_GETH = 1337
- 
        Chain ID for the geth private network preset. 
- 
        RINKEBY = 4
- 
        Chain ID for Rinkeby testnet. 
- 
        RINKEBY_ARBITRUM = 421611
- 
        Chain ID for Arbitrum Rinkeby testnet. 
- 
        ROPSTEN = 3
- 
        Chain ID for Ropsten testnet. 
- 
        SEPOLIA = 11155111
- 
        Chain ID for Sepolia testnet. 
- 
        XDAI_ARBITRUM = 200
- 
        Chain ID for Arbitrum xDAI testnet. 
Instance Method Summary
- 
        #ledger?(v : Int32)
        
          Checks if a provided vbelongs to a Ledger wallet signature without EIP-155 replay protection.
- 
        #legacy?(v : Int32)
        
          Checks if a provided vbelongs to a legacy signature without EIP-155 replay protection.
- 
        #to_chain_id(v : Int32)
        
          Converts a provided vvalue to an EIP-155 chain ID.
- 
        #to_recovery_id(v : Int32, chain_id : Int32 = ETHEREUM)
        
          Converts a provided vvalue to an ECDSA recovery ID for the given EIP-155 chain ID.
- 
        #to_v(recovery_id : Int32, chain_id : Int32)
        
          Converts a provided recovery ID to the according vfor signatures with EIP-155 replay protection.
- 
        #to_v(recovery_id : Int32)
        
          Converts a provided recovery ID to the according vfor legacy signatures without EIP-155 replay protection.
Instance Method Detail
Checks if a provided v belongs to a Ledger wallet signature without
EIP-155 replay protection.
Parameters:
- v(- Int32): the signature's- vvalue.
Chain.ledger? 0
# => trueChecks if a provided v belongs to a legacy signature without
EIP-155 replay protection.
Parameters:
- v(- Int32): the signature's- vvalue.
Chain.legacy? 27
# => trueConverts a provided v value to an EIP-155 chain ID. This does not
work for legacy signatures with v < 36 and return nil in that
case.
Parameters:
- v(- Int32): the signature's- vvalue.
Chain.to_chain_id 38
# => 1Converts a provided v value to an ECDSA recovery ID for the
given EIP-155 chain ID.
Parameters:
- v(- Int32): the signature's- vvalue.
- chain_id(- Int32): the chain ID the signatrue was generated on (default:- ETHEREUM).
Raises an exception if the v value does not match the chain ID.
Chain.to_recovery_id 38
# => 1Converts a provided recovery ID to the according v for signatures
with EIP-155 replay protection.
Parameters:
- recovery_id(- Int32): the recovery ID.
- chain_id(- Int32): the chain ID the signatrue was generated on.
Chain.to_v(1, Chain::ETHEREUM)
# => 38Converts a provided recovery ID to the according v for legacy
signatures without EIP-155 replay protection.
Parameters:
- recovery_id(- Int32): the recovery ID.
Chain.to_v 1
# => 28