Closed cds-amal closed 1 week ago
Hey @natefikru, Thanks for the review and good finds. I'm going to update the PR to get rid of any remaining old-name references in comments / docs and code and respond to individual reviews afterwards.
Thanks for the detailed feedback @natefikru. For testing, and a PR goal, I used din-go's KickTheTires
integration test. This meant I tried to only modify the bare minimum changes to din-go to get it to work; there may be some extra changes due to findall/replace, but I tried to keep it focused.
Note: Updated PR Summary to have KickTheTires
result.
Thanks for the detailed feedback @natefikru. For testing, and a PR goal, I used din-go's
KickTheTires
integration test. This meant I tried to only modify the bare minimum changes to din-go to get it to work; there may be some extra changes due to findall/replace, but I tried to keep it focused.Note: Updated PR Summary to have
KickTheTires
result.
just a PSA, When testing functionality on your own, it is important to test the additional print functions that are available. There are a number that are included in the case statement logic that houses the initial KickTheTires
function. This is because not all functionality is covered within the KickTheTires
function
I went ahead and updated a few additional things that can be seen here.
I noticed there are still some references in the din-sc/remix folder that holds some solidity contracts but i wasn't sure if that was in your workflow or not.
regardless, I'd say this PR is ready for merge.
just a PSA, When testing functionality on your own, it is important to test the additional print functions that are available. There are a number that are included in the case statement logic that houses the initial
KickTheTires
function. This is because not all functionality is covered within theKickTheTires
function
Is there something preventing one entry-point to run the tests? It's not the best DX to have to inspect the code to know what tests to run. I'll add an issue for this.
Thanks for the help getting this across the line, @natefikru. The Remix folder was how I did contract testing at the start of the project. That workflow is now outdated. It should be removed in another PR.
This PR addresses #39 by renaming key contracts to enhance clarity and align with domain terminology. In addition, several methods and variables have been updated to more accurately reflect their intent and provide clearer context throughout the codebase. I also used the opportunity to delete two unnecessary files: 1)
extract.py
and; 2)script/Providers.s.sol
These changes have had cascading effects on four key areas:
N.B.: This PR only updates the din-go π project to ensure successful compilation. It does not validate din-go πΆ functionality.
PR Status
How to Test and Evaluate
This PR focuses primarily on renaming and taxonomy improvements. Please use the comments to discuss the current changes and suggest more appropriate names where necessary. I will maintain the PR Status section to track feedback and apply changes as required.
Testing steps
Review the new names β Evaluate whether the updated names:
Use the Class Diagram (below) β Refer to the class diagram to assess whether the new terminology provides a clearer understanding of the system's structure and relationships.
Build the project locally β Confirm that the renamed contracts, methods, and variables are correctly integrated into the codebase and that the project compiles without errors.
din-go
project.Changes
DinApi
βDinRegistry.sol
Key Variables and Methods
createEndpointCollection
createNetwork
createManagedCollection
createNetworkService
addMethodToCollection
getEndpointCollections
getAllNetworks
getCollectionCapabilities
getNetworkCapabilities
listMethods
getAllNetworkMethodNames
allMethods
getAllNetworkMethods
UnknkownEndpointCollection
UnknownNetwork
owner
dinOwner
EndpointCollectionRegistry.sol
βNetworkRegistry.sol
Variables and Methods
s_name2collection
s_name2network
s_id2collection
s_id2network
s_collections
s_networks
length
totalNetworks
AddCollectionToDin
(event)NetworkRegistered
(event)EndpointCollection.sol
βNetwork.sol
Variables and Methods
owner
networkOwner
caps
capabilities
AddMethodToCollectionService
(event)AddMethodToNetwork
(event)RemoveMethodFromCollection
(event)RemoveMethodFromNetwork
(event)IEndpointCollection.sol
βINetwork.sol
Variables and Methods
owner()
networkOwner()
EndpointMeta
NetworkMeta
allMethods()
getAllNetworkMethods()
CollectionService.sol
βNetworkService.sol
Variables and Methods
icollection
inetwork
listMethods()
getAllMethodNames()
Provider.sol
Variables and Methods
CollectionService
NetworkService
AddCollectionToProvider
(event)AddNetworkServiceToProvider
(event)removeService()
removeNetworkService()
Updated Class Diagram for context
din-go KickTheTire integration test result
click to expand: KickTheTires result
```console β DIN_REGISTRY_CONTRACT_ADDRESS=0xc55967876ff800d67400b6375eb5bb2592b491fa ../../dist/ apps/din-go/bin/dingo KickTheTires =============== GetAllMethodsByNetwork =============== Name: debug_traceBlockByHash, Bit: 1, Deactivated: false Name: debug_traceBlockByNumber, Bit: 2, Deactivated: false Name: debug_traceCall, Bit: 3, Deactivated: false Name: debug_traceTransaction, Bit: 4, Deactivated: false Name: eth_accounts, Bit: 5, Deactivated: false Name: eth_blockNumber, Bit: 6, Deactivated: false Name: eth_call, Bit: 7, Deactivated: false Name: eth_chainId, Bit: 8, Deactivated: false Name: eth_coinbase, Bit: 9, Deactivated: false Name: eth_createAccessList, Bit: 10, Deactivated: false Name: eth_estimateGas, Bit: 11, Deactivated: false Name: eth_feeHistory, Bit: 12, Deactivated: false Name: eth_gasPrice, Bit: 13, Deactivated: false Name: eth_getBalance, Bit: 14, Deactivated: false Name: eth_getBlockByHash, Bit: 15, Deactivated: false Name: eth_getBlockByNumber, Bit: 16, Deactivated: false Name: eth_getBlockReceipts, Bit: 17, Deactivated: false Name: eth_getBlockTransactionCountByHash, Bit: 18, Deactivated: false Name: eth_getBlockTransactionCountByNumber, Bit: 19, Deactivated: false Name: eth_getCode, Bit: 20, Deactivated: false Name: eth_getFilterS.anges, Bit: 21, Deactivated: false Name: eth_getLogs, Bit: 22, Deactivated: false Name: eth_getProof, Bit: 23, Deactivated: false Name: eth_getStorageAt, Bit: 24, Deactivated: false Name: eth_getTransactionByBlockHashAndIndex, Bit: 25, Deactivated: false Name: eth_getTransactionByBlockNumberAndIndex, Bit: 26, Deactivated: false Name: eth_getTransactionByHash, Bit: 27, Deactivated: false Name: eth_getTransactionCount, Bit: 28, Deactivated: false Name: eth_getTransactionReceipt, Bit: 29, Deactivated: false Name: eth_getUncleByBlockHashAndIndex, Bit: 30, Deactivated: false Name: eth_getUncleByBlockNumberAndIndex, Bit: 31, Deactivated: false Name: eth_getUncleCountByBlockHash, Bit: 32, Deactivated: false Name: eth_getUncleCountByBlockNumber, Bit: 33, Deactivated: false Name: eth_getWork, Bit: 34, Deactivated: false Name: eth_hashrate, Bit: 35, Deactivated: false Name: eth_maxPriorityFeePerGas, Bit: 36, Deactivated: false Name: eth_mining, Bit: 37, Deactivated: false Name: eth_newBlockFilter, Bit: 38, Deactivated: false Name: eth_newFilter, Bit: 39, Deactivated: false Name: eth_newPendingTransactionFilter, Bit: 40, Deactivated: false Name: eth_protocolVersion, Bit: 41, Deactivated: false Name: eth_sendRawTransaction, Bit: 42, Deactivated: false Name: eth_sendTransaction, Bit: 43, Deactivated: false Name: eth_sign, Bit: 44, Deactivated: false Name: eth_submitWork, Bit: 45, Deactivated: false Name: eth_subscribe, Bit: 46, Deactivated: false Name: eth_syncing, Bit: 47, Deactivated: false Name: eth_uninstallFilter, Bit: 48, Deactivated: false Name: eth_unsubscribe, Bit: 49, Deactivated: false Name: net_listening, Bit: 50, Deactivated: false Name: net_peerCount, Bit: 51, Deactivated: false Name: net_version, Bit: 52, Deactivated: false Name: trace_block, Bit: 53, Deactivated: false Name: trace_transaction, Bit: 54, Deactivated: false Name: web3_clientVersion, Bit: 55, Deactivated: false Name: web3_sha3, Bit: 56, Deactivated: false =============== ListAllMethodsByNetwork =============== Method: debug_traceBlockByHash Method: debug_traceBlockByNumber Method: debug_traceCall Method: debug_traceTransaction Method: eth_accounts Method: eth_blockNumber Method: eth_call Method: eth_chainId Method: eth_coinbase Method: eth_createAccessList Method: eth_estimateGas Method: eth_feeHistory Method: eth_gasPrice Method: eth_getBalance Method: eth_getBlockByHash Method: eth_getBlockByNumber Method: eth_getBlockReceipts Method: eth_getBlockTransactionCountByHash Method: eth_getBlockTransactionCountByNumber Method: eth_getCode Method: eth_getFilterS.anges Method: eth_getLogs Method: eth_getProof Method: eth_getStorageAt Method: eth_getTransactionByBlockHashAndIndex Method: eth_getTransactionByBlockNumberAndIndex Method: eth_getTransactionByHash Method: eth_getTransactionCount Method: eth_getTransactionReceipt Method: eth_getUncleByBlockHashAndIndex Method: eth_getUncleByBlockNumberAndIndex Method: eth_getUncleCountByBlockHash Method: eth_getUncleCountByBlockNumber Method: eth_getWork Method: eth_hashrate Method: eth_maxPriorityFeePerGas Method: eth_mining Method: eth_newBlockFilter Method: eth_newFilter Method: eth_newPendingTransactionFilter Method: eth_protocolVersion Method: eth_sendRawTransaction Method: eth_sendTransaction Method: eth_sign Method: eth_submitWork Method: eth_subscribe Method: eth_syncing Method: eth_uninstallFilter Method: eth_unsubscribe Method: net_listening Method: net_peerCount Method: net_version Method: trace_block Method: trace_transaction Method: web3_clientVersion Method: web3_sha3 =============== PrintGetAllNetworks =============== CollectionMeta: {arbitrum://mainnet EVM-compatible Layer-2 on Ethereum 0x063f1701F386326D462DbaBAdFA10d5fb0Dc201B} Add: 0x063f1701F386326D462DbaBAdFA10d5fb0Dc201B Capabilities: 144115188075855870 2 Supported?: true : arbtrace_block : arbtrace_call : arbtrace_callMany : arbtrace_filter : arbtrace_get : arbtrace_replayBlockTransactions : arbtrace_replayTransaction : arbtrace_transaction : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 CollectionMeta: {avalanchec://mainnet The C-Chain is the default smart contract blockchain on Avalanche and enables the creation of any EVM-compatible applications 0xD33f54cC2dE6CDAC1b139Ed85D743f900BB24faa} Add: 0xD33f54cC2dE6CDAC1b139Ed85D743f900BB24faa Capabilities: 9007199254740990 2 Supported?: true : debug_traceBlockByHash : debug_traceBlockByNumber : debug_traceCall : debug_traceTransaction : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 CollectionMeta: {blast://mainnet EVM-compatible Layer-2 on Ethereum 0xF047Cec78f18A2022d8C5c9022B99F5BbC8169f0} Add: 0xF047Cec78f18A2022d8C5c9022B99F5BbC8169f0 Capabilities: 1125899906842622 2 Supported?: true : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBalanceValues : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 CollectionMeta: {blast://testnet EVM-compatible Layer-2 on Ethereum 0xA01eF48727363e8e842CDE543F6df67cCd229A36} Add: 0xA01eF48727363e8e842CDE543F6df67cCd229A36 Capabilities: 1125899906842622 2 Supported?: true : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBalanceValues : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 CollectionMeta: {bsc://mainnet Bsc mainnet network 0xD86f4b7bd0283055734104cec0f8C43C4A7F10c2} Add: 0xD86f4b7bd0283055734104cec0f8C43C4A7F10c2 Capabilities: 2251799813685246 2 Supported?: true : debug_traceBlockByHash : debug_traceBlockByNumber : debug_traceCall : debug_traceTransaction : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_estimateGas : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_maxPriorityFeePerGas : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_sendRawTransaction : eth_sendTransaction : eth_subscribe : eth_syncing : eth_uninstallFilter : eth_unsubscribe : net_listening : net_peerCount : net_version : trace_block : trace_call : trace_callMany : trace_get : trace_replayBlockTransactions : trace_replayTransaction : trace_transaction : web3_clientversion : web3_sha3 CollectionMeta: {ethereum://goerli Ethereum Goerli test network 0x2f76a87e43e61d8f08d6858A8A394FEe0c1010bA} Add: 0x2f76a87e43e61d8f08d6858A8A394FEe0c1010bA Capabilities: 144115188075855870 2 Supported?: true : debug_traceBlockByHash : debug_traceBlockByNumber : debug_traceCall : debug_traceTransaction : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_subscribe : eth_syncing : eth_uninstallFilter : eth_unsubscribe : net_listening : net_peerCount : net_version : trace_block : trace_transaction : web3_clientVersion : web3_sha3 CollectionMeta: {ethereum://mainnet The main Ethereum network 0xC3A40A8D012BD83106f6C2e31d042eaCD8448040} Add: 0xC3A40A8D012BD83106f6C2e31d042eaCD8448040 Capabilities: 144115188075855870 2 Supported?: true : debug_traceBlockByHash : debug_traceBlockByNumber : debug_traceCall : debug_traceTransaction : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_subscribe : eth_syncing : eth_uninstallFilter : eth_unsubscribe : net_listening : net_peerCount : net_version : trace_block : trace_transaction : web3_clientVersion : web3_sha3 CollectionMeta: {ethereum://sepolia Ethereum Sepolia test network 0x99e418bA8229368Ec74c7F87A9D0e59ec9573751} Add: 0x99e418bA8229368Ec74c7F87A9D0e59ec9573751 Capabilities: 144115188075855870 2 Supported?: true : debug_traceBlockByHash : debug_traceBlockByNumber : debug_traceCall : debug_traceTransaction : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_subscribe : eth_syncing : eth_uninstallFilter : eth_unsubscribe : net_listening : net_peerCount : net_version : trace_block : trace_transaction : web3_clientVersion : web3_sha3 CollectionMeta: {mantle://mainnet Mantle mainnet network 0x117FBB2f43FEc6D401B64CE67dB2ECD423D2aFC9} Add: 0x117FBB2f43FEc6D401B64CE67dB2ECD423D2aFC9 Capabilities: 34359738366 2 Supported?: true : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_maxPriorityFeePerGas : eth_protocolVersion : eth_sendRawTransaction : eth_syncing : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 CollectionMeta: {mantle://sepolia Mantle Sepolia test network 0x416C1110B7fdd97D503E4aA9bB8e2CE679210AD2} Add: 0x416C1110B7fdd97D503E4aA9bB8e2CE679210AD2 Capabilities: 34359738366 2 Supported?: true : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_maxPriorityFeePerGas : eth_protocolVersion : eth_sendRawTransaction : eth_syncing : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 CollectionMeta: {optimism://mainnet EVM-compatible Layer-2 on Ethereum (mainnet) 0x3999449E7b510772C85109175a8e2D93662c78e0} Add: 0x3999449E7b510772C85109175a8e2D93662c78e0 Capabilities: 562949953421310 2 Supported?: true : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 CollectionMeta: {optimism://sepolia EVM-compatible Layer-2 on Ethereum (sepolia) 0x0752Cc72ABC64056a346eCc6e55DA576546fEfd4} Add: 0x0752Cc72ABC64056a346eCc6e55DA576546fEfd4 Capabilities: 562949953421310 2 Supported?: true : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 CollectionMeta: {polygon://mainnet Polygon POS - An EVM enabled sidechain 0xae393f82aa2425368fD9D154c973dcBcB15cbfa9} Add: 0xae393f82aa2425368fD9D154c973dcBcB15cbfa9 Capabilities: 4611686018427387902 2 Supported?: true : bor_getCurrentValidators : bor_getRootHash : bor_getSignersAtHash : bor_getSnapshot : debug_traceBlockByHash : debug_traceBlockByNumber : debug_traceCall : debug_traceTransaction : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : trace_block : trace_transaction : txpool_content : txpool_inspect : txpool_status : web3_clientVersion : web3_sha3 CollectionMeta: {polygon://testnet Polygon POS - An EVM enabled sidechain 0xEb58222CA4D8ee6b9A269Ec2f0Dc0B9F48aB1167} Add: 0xEb58222CA4D8ee6b9A269Ec2f0Dc0B9F48aB1167 Capabilities: 4611686018427387902 2 Supported?: true : bor_getCurrentValidators : bor_getRootHash : bor_getSignersAtHash : bor_getSnapshot : debug_traceBlockByHash : debug_traceBlockByNumber : debug_traceCall : debug_traceTransaction : eth_accounts : eth_blockNumber : eth_call : eth_chainId : eth_coinbase : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockReceipts : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleByBlockNumberAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_getWork : eth_hashrate : eth_maxPriorityFeePerGas : eth_mining : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_sendTransaction : eth_sign : eth_submitWork : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : trace_block : trace_transaction : txpool_content : txpool_inspect : txpool_status : web3_clientVersion : web3_sha3 CollectionMeta: {starknet://mainnet Decentralized, permissionless and scalable Layer-2 network protocol developed by StarkWare for the Ethereum network. 0x0DB79cf3c420a9a17D62F62efec56BBFa1Ad1265} Add: 0x0DB79cf3c420a9a17D62F62efec56BBFa1Ad1265 Capabilities: 1073741822 2 Supported?: true : starknet_addDeclareTransaction : starknet_addDeployAccountTransaction : starknet_addInvokeTransaction : starknet_blockHashAndNumber : starknet_blockNumber : starknet_call : starknet_chainId : starknet_estimateFee : starknet_estimateMessageFee : starknet_getBlockTransactionCount : starknet_getBlockWithReceipts : starknet_getBlockWithTxHashes : starknet_getBlockWithTxs : starknet_getClass : starknet_getClassAt : starknet_getClassHashAt : starknet_getEvents : starknet_getNonce : starknet_getStateUpdate : starknet_getStorageAt : starknet_getTransactionByBlockIdAndIndex : starknet_getTransactionByHash : starknet_getTransactionReceipt : starknet_getTransactionStatus : starknet_simulateTransactions : starknet_specVersion : starknet_syncing : starknet_traceBlockTransactions : starknet_traceTransaction CollectionMeta: {starknet://sepolia Decentralized, permissionless and scalable Layer-2 network protocol developed by StarkWare for the Ethereum network. 0xeDB0A11A26A7636Fd2E3a43e9Fb3044CDC9A1b54} Add: 0xeDB0A11A26A7636Fd2E3a43e9Fb3044CDC9A1b54 Capabilities: 1073741822 2 Supported?: true : starknet_addDeclareTransaction : starknet_addDeployAccountTransaction : starknet_addInvokeTransaction : starknet_blockHashAndNumber : starknet_blockNumber : starknet_call : starknet_chainId : starknet_estimateFee : starknet_estimateMessageFee : starknet_getBlockTransactionCount : starknet_getBlockWithReceipts : starknet_getBlockWithTxHashes : starknet_getBlockWithTxs : starknet_getClass : starknet_getClassAt : starknet_getClassHashAt : starknet_getEvents : starknet_getNonce : starknet_getStateUpdate : starknet_getStorageAt : starknet_getTransactionByBlockIdAndIndex : starknet_getTransactionByHash : starknet_getTransactionReceipt : starknet_getTransactionStatus : starknet_simulateTransactions : starknet_specVersion : starknet_syncing : starknet_traceBlockTransactions : starknet_traceTransaction CollectionMeta: {zksync://mainnet zkSync mainnet network 0xfbd21eDFcd0AC7C4068E1fCB3866DD44dE185A08} Add: 0xfbd21eDFcd0AC7C4068E1fCB3866DD44dE185A08 Capabilities: 549755813886 2 Supported?: true : eth_blockNumber : eth_call : eth_chainId : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_maxPriorityFeePerGas : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 CollectionMeta: {zksync://sepolia zkSync Sepolia test network 0x28A249E87D3a74eA55B2741fea7154a661ED2Dc6} Add: 0x28A249E87D3a74eA55B2741fea7154a661ED2Dc6 Capabilities: 549755813886 2 Supported?: true : eth_blockNumber : eth_call : eth_chainId : eth_createAccessList : eth_estimateGas : eth_feeHistory : eth_gasPrice : eth_getBalance : eth_getBlockByHash : eth_getBlockByNumber : eth_getBlockTransactionCountByHash : eth_getBlockTransactionCountByNumber : eth_getCode : eth_getFilterS.anges : eth_getLogs : eth_getProof : eth_getStorageAt : eth_getTransactionByBlockHashAndIndex : eth_getTransactionByBlockNumberAndIndex : eth_getTransactionByHash : eth_getTransactionCount : eth_getTransactionReceipt : eth_getUncleByBlockHashAndIndex : eth_getUncleCountByBlockHash : eth_getUncleCountByBlockNumber : eth_maxPriorityFeePerGas : eth_newBlockFilter : eth_newFilter : eth_newPendingTransactionFilter : eth_protocolVersion : eth_sendRawTransaction : eth_syncing : eth_uninstallFilter : net_listening : net_peerCount : net_version : web3_clientVersion : web3_sha3 =============== PrintGetCollectionCapabilities =============== Capabilities [ethereum://mainnet]: 144115188075855870 =============== PrintGetAllProviders =============== Name: BlastApi, Owner: 0xe1cEEAA126C68a2959503bFd1726619b3cA42865 Name: ChainStack, Owner: 0xe1cEEAA126C68a2959503bFd1726619b3cA42865 Name: Falafel, Owner: 0xe1cEEAA126C68a2959503bFd1726619b3cA42865 Name: Laconic, Owner: 0xe1cEEAA126C68a2959503bFd1726619b3cA42865 Name: Liquify, Owner: 0xe1cEEAA126C68a2959503bFd1726619b3cA42865 Name: Nodies, Owner: 0xe1cEEAA126C68a2959503bFd1726619b3cA42865 Name: Rivet, Owner: 0xe1cEEAA126C68a2959503bFd1726619b3cA42865 Name: ZeroXFury, Owner: 0xe1cEEAA126C68a2959503bFd1726619b3cA42865 ```