DIN-center / din-sc

1 stars 0 forks source link

TaxoMEow - Discriminating Names with Feline Grace #40

Closed cds-amal closed 1 week ago

cds-amal commented 2 weeks ago

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

  1. Review the new names – Evaluate whether the updated names:

    • Clearly convey the function and purpose of each contract, method, and variable.
    • Follow the project's established naming patterns and adhere to Solidity best practices.
    • Avoid ambiguity or unnecessary complexity.
    • Improve the readability and maintainability of the code.
  2. 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.

  3. 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.

    • Note: This step ensures the project builds successfully but does not verify functionality for the din-go project.
    • While this step is optional since CI checks the build, running it on different machines/OSes can help gather more datapoints.

Changes

DinApi β†’ DinRegistry.sol

Key Variables and Methods

Old Name New Name Description
createEndpointCollection createNetwork create a new Network
createManagedCollection createNetworkService create the Network service for a Provider
addMethodToCollection `addMethodToNetwork add a new Method to a network
getEndpointCollections getAllNetworks
getCollectionCapabilities getNetworkCapabilities get the network capabilities as a bitmask
listMethods getAllNetworkMethodNames gets a network's method names a string[]
allMethods getAllNetworkMethods gets a networks methods as a Method[]
UnknkownEndpointCollection UnknownNetwork custom error
owner dinOwner

EndpointCollectionRegistry.sol β†’ NetworkRegistry.sol

Variables and Methods

Old Name New Name Description
s_name2collection s_name2network Mapping from collection names to network entries
s_id2collection s_id2network Mapping from collection IDs to network entries
s_collections s_networks Array of all registered networks
length totalNetworks Total number of registered networks
AddCollectionToDin (event) NetworkRegistered (event) Event emitted when a new network is registered

EndpointCollection.sol β†’ Network.sol

Variables and Methods

Old Name New Name Description
owner networkOwner Owner of the network contract
caps capabilities Bitmask representing supported methods
AddMethodToCollectionService (event) AddMethodToNetwork (event) Event emitted when a new method is added to the network
RemoveMethodFromCollection (event) RemoveMethodFromNetwork (event) Event emitted when a method is removed from the network

IEndpointCollection.sol β†’ INetwork.sol

Variables and Methods

Old Name New Name Description
owner() networkOwner() Returns the owner of the network
EndpointMeta NetworkMeta Struct representing network metadata
allMethods() getAllNetworkMethods() Returns all methods associated with the network

CollectionService.sol β†’ NetworkService.sol

Variables and Methods

Old Name New Name Description
icollection inetwork Reference to the network being managed
listMethods() getAllMethodNames() Retrieves all method names supported by the network service

Provider.sol

Variables and Methods

Old Name New Name Description
CollectionService NetworkService Refers to the service type managing networks
AddCollectionToProvider (event) AddNetworkServiceToProvider (event) Event emitted when a new network service is added to a provider
removeService() removeNetworkService() Removes a network service from the provider

Updated Class Diagram for context

image

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 ```
cds-amal commented 2 weeks 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.

cds-amal commented 1 week ago

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.

natefikru commented 1 week ago

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

natefikru commented 1 week ago

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.

cds-amal commented 1 week ago

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

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.

cds-amal commented 1 week ago

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.