Skip to content

Commit

Permalink
added json rpc eth_getProof (introduced ProofDTO)
Browse files Browse the repository at this point in the history
  • Loading branch information
fedejinich committed May 4, 2021
1 parent 6b21709 commit 9807efe
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 0 deletions.
4 changes: 4 additions & 0 deletions rskj-core/src/main/java/co/rsk/rpc/Web3EthModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,15 @@
package co.rsk.rpc;

import co.rsk.rpc.modules.eth.EthModule;
import co.rsk.rpc.modules.eth.getProof.ProofDTO;
import org.ethereum.rpc.Web3;
import org.ethereum.rpc.dto.BlockResultDTO;
import org.ethereum.rpc.dto.CompilationResultDTO;
import org.ethereum.rpc.dto.TransactionReceiptDTO;
import org.ethereum.rpc.dto.TransactionResultDTO;

import java.math.BigInteger;
import java.util.List;
import java.util.Map;

public interface Web3EthModule {
Expand Down Expand Up @@ -142,4 +144,6 @@ default String eth_sendTransaction(Web3.CallArguments args) {
boolean eth_submitWork(String nonce, String header, String mince);

boolean eth_submitHashrate(String hashrate, String id);

ProofDTO eth_getProof(String address, List<String> storageKeys, String blockNumber);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package co.rsk.rpc.modules.eth.getProof;

import java.util.List;

public class ProofDTO {

private String balance;
private String codeHash;
private String nonce;
private String storageHash;
private List<String> accountProof;
private List<StorageProofDTO> storageProof;

public String getBalance() {
return balance;
}

public void setBalance(String balance) {
this.balance = balance;
}

public String getCodeHash() {
return codeHash;
}

public void setCodeHash(String codeHash) {
this.codeHash = codeHash;
}

public String getNonce() {
return nonce;
}

public void setNonce(String nonce) {
this.nonce = nonce;
}

public String getStorageHash() {
return storageHash;
}

public void setStorageHash(String storageHash) {
this.storageHash = storageHash;
}

public List<String> getAccountProof() {
return accountProof;
}

public void setAccountProof(List<String> accountProof) {
this.accountProof = accountProof;
}

public List<StorageProofDTO> getStorageProof() {
return storageProof;
}

public void setStorageProof(List<StorageProofDTO> storageProof) {
this.storageProof = storageProof;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package co.rsk.rpc.modules.eth.getProof;

import java.util.List;

public class StorageProofDTO {

private String key;
private String value;
private List<String> proofs;

public String getKey() {
return key;
}

public void setKey(String key) {
this.key = key;
}

public String getValue() {
return value;
}

public void setValue(String value) {
this.value = value;
}

public List<String> getProofs() {
return proofs;
}

public void setProofs(List<String> proofs) {
this.proofs = proofs;
}
}
6 changes: 6 additions & 0 deletions rskj-core/src/main/java/org/ethereum/rpc/Web3Impl.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import co.rsk.rpc.Web3InformationRetriever;
import co.rsk.rpc.modules.debug.DebugModule;
import co.rsk.rpc.modules.eth.EthModule;
import co.rsk.rpc.modules.eth.getProof.ProofDTO;
import co.rsk.rpc.modules.evm.EvmModule;
import co.rsk.rpc.modules.mnr.MnrModule;
import co.rsk.rpc.modules.personal.PersonalModule;
Expand Down Expand Up @@ -1086,4 +1087,9 @@ public String[] sco_bannedAddresses() {
public PeerScoringReputationSummary sco_reputationSummary() {
return PeerScoringReporterUtil.buildReputationSummary(peerScoringManager.getPeersInformation());
}

@Override
public ProofDTO eth_getProof(String address, List<String> storageKeys, String blockNumber) {
throw new UnsupportedOperationException("Not implemeted yet");
}
}

0 comments on commit 9807efe

Please sign in to comment.