diff --git a/src/main/java/io/blockchainetl/ethereum/domain/Contract.java b/src/main/java/io/blockchainetl/ethereum/domain/Contract.java index 5cedd25..cb1eaf4 100644 --- a/src/main/java/io/blockchainetl/ethereum/domain/Contract.java +++ b/src/main/java/io/blockchainetl/ethereum/domain/Contract.java @@ -43,6 +43,14 @@ public class Contract { @JsonProperty("is_erc1155") private Boolean isErc1155; + @Nullable + @JsonProperty("proxy_type") + private String proxyType; + + @Nullable + @JsonProperty("implementation_address") + private String implementationAddress; + @Nullable @JsonProperty("block_timestamp") private Long blockTimestamp; @@ -121,6 +129,22 @@ public void setErc1155(Boolean erc1155) { this.isErc1155 = erc1155; } + public String getProxyType() { + return proxyType; + } + + public void setProxyType(String proxyType) { + this.proxyType = proxyType; + } + + public String getImplementationAddress() { + return implementationAddress; + } + + public void setImplementationAddress(String implementationAddress) { + this.implementationAddress = implementationAddress; + } + public Long getBlockTimestamp() { return blockTimestamp; } @@ -162,6 +186,8 @@ public boolean equals(Object o) { Objects.equal(isErc20, contract.isErc20) && Objects.equal(isErc721, contract.isErc721) && Objects.equal(isErc1155, contract.isErc1155) && + Objects.equal(proxyType, contract.proxyType) && + Objects.equal(implementationAddress, contract.implementationAddress) && Objects.equal(blockTimestamp, contract.blockTimestamp) && Objects.equal(blockNumber, contract.blockNumber) && Objects.equal(blockHash, contract.blockHash); @@ -169,9 +195,8 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hashCode(type, address, chainId, bytecode, functionSighashes, isErc20, isErc721, isErc1155, blockTimestamp, - blockNumber, - blockHash); + return Objects.hashCode(type, address, chainId, bytecode, functionSighashes, isErc20, isErc721, isErc1155, + proxyType, implementationAddress, blockTimestamp, blockNumber, blockHash); } @Override @@ -185,6 +210,8 @@ public String toString() { .add("isErc20", isErc20) .add("isErc721", isErc721) .add("isErc1155", isErc1155) + .add("proxyType", proxyType) + .add("implementationAddress", implementationAddress) .add("blockTimestamp", blockTimestamp) .add("blockNumber", blockNumber) .add("blockHash", blockHash) diff --git a/src/main/java/io/blockchainetl/ethereum/fns/ConvertContractsToTableRowsFn.java b/src/main/java/io/blockchainetl/ethereum/fns/ConvertContractsToTableRowsFn.java index 17176ea..e371520 100644 --- a/src/main/java/io/blockchainetl/ethereum/fns/ConvertContractsToTableRowsFn.java +++ b/src/main/java/io/blockchainetl/ethereum/fns/ConvertContractsToTableRowsFn.java @@ -26,6 +26,8 @@ protected void populateTableRowFields(TableRow row, String element) { row.set("is_erc20", contract.getErc20()); row.set("is_erc721", contract.getErc721()); row.set("is_erc1155", contract.getErc1155()); + row.set("proxy_type", contract.getProxyType()); + row.set("implementation_address", contract.getImplementationAddress()); row.set("block_number", contract.getBlockNumber()); row.set("block_hash", contract.getBlockHash()); } diff --git a/terraform/main.tf b/terraform/main.tf index 7119175..d9a3cfa 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -118,7 +118,7 @@ resource "google_dataflow_flex_template_job" "zkevm_imtbl_mainnet_job" { project = "${terraform.workspace}-im-data" runner = "DataflowRunner" workerMachineType = "n1-standard-1" - maxNumWorkers = 1 + maxNumWorkers = 4 diskSizeGb=30 enableStreamingEngine=true region=local.region