Ethereum indexer and APIs

Overview

Rarible Protocol Ethereum Indexers

Here is the list of indexers:

Architecture

Every indexer listens to specific part of the Ethereum blockchain, users can use these indexers to query data about the blockchain state. Also, indexers emit events when state changes. Indexers are built using Spring Framework and use these external services:

  • mongodb for main data storage
  • kafka for handling events

OpenAPI

Indexers use OpenAPI to describe APIs (and events). Clients (kotlin, typescript etc.) and server controller interfaces are generated automatically using yaml OpenAPI files.

OpenAPI doc: https://ethereum-api.rarible.org/v0.1/doc

Suggestions

You are welcome to suggest features and report bugs found! You can do it here: https://github.com/rarible/protocol-issues/issues

License

MIT license is used for api and clients

GPL v3 license is used for all services and other parts of the indexer

Comments
  • Maven repos are not found when building latest indexer

    Maven repos are not found when building latest indexer

    When building, looks like the maven repos for older versions are not found on rarible's or central's maven repo urls

    Downloading from nexus-ext-maven-public: https://repo.rarible.org/repository/maven-public/com/rarible/core/rarible-core-parent/2.4.9/rarible-core-parent-2.4.9.pom
    Downloading from central: https://repo.maven.apache.org/maven2/com/rarible/core/rarible-core-parent/2.4.9/rarible-core-parent-2.4.9.pom
    Downloading from nexus-ext-maven-public: https://repo.rarible.org/repository/maven-public/com/rarible/core/rarible-core-parent/2.3.8/rarible-core-parent-2.3.8.pom
    Downloading from central: https://repo.maven.apache.org/maven2/com/rarible/core/rarible-core-parent/2.3.8/rarible-core-parent-2.3.8.pom
    Downloading from nexus-ext-maven-public: https://repo.rarible.org/repository/maven-public/com/rarible/ethereum/rarible-ethereum-parent/1.5.7/rarible-ethereum-parent-1.5.7.pom
    Downloading from central: https://repo.maven.apache.org/maven2/com/rarible/ethereum/rarible-ethereum-parent/1.5.7/rarible-ethereum-parent-1.5.7.pom
    [ERROR] [ERROR] Some problems were encountered while processing the POMs:
    [ERROR] Non-resolvable import POM: Could not find artifact com.rarible.core:rarible-core-parent:pom:2.4.9 in nexus-ext-maven-public (https://repo.rarible.org/repository/maven-public/) @ com.rarible.ethereum:rarible-ethereum-parent:1.6.0, /home/hemant/.m2/repository/com/rarible/ethereum/rarible-ethereum-parent/1.6.0/rarible-ethereum-parent-1.6.0.pom, line 53, column 19
    [ERROR] Non-resolvable import POM: Could not find artifact com.rarible.core:rarible-core-parent:pom:2.3.8 in nexus-ext-maven-public (https://repo.rarible.org/repository/maven-public/) @ com.rarible.protocol.ethereum:rarible-ethereum-openapi:1.33.0, /home/hemant/.m2/repository/com/rarible/protocol/ethereum/rarible-ethereum-openapi/1.33.0/rarible-ethereum-openapi-1.33.0.pom, line 81, column 19
    [ERROR] Non-resolvable import POM: Could not find artifact com.rarible.ethereum:rarible-ethereum-parent:pom:1.5.7 in nexus-ext-maven-public (https://repo.rarible.org/repository/maven-public/) @ com.rarible.protocol.ethereum:rarible-ethereum-openapi:1.33.0, /home/hemant/.m2/repository/com/rarible/protocol/ethereum/rarible-ethereum-openapi/1.33.0/rarible-ethereum-openapi-1.33.0.pom, line 88, column 19
    [ERROR] Non-resolvable import POM: com.rarible.core:rarible-core-parent:pom:2.4.9 was not found in https://repo.rarible.org/repository/maven-public/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of nexus-ext-maven-public has elapsed or updates are forced @ com.rarible.ethereum:rarible-ethereum-parent:1.6.0, /home/hemant/.m2/repository/com/rarible/ethereum/rarible-ethereum-parent/1.6.0/rarible-ethereum-parent-1.6.0.pom, line 53, column 19
     @ 
    [ERROR] The build could not read 1 project -> [Help 1]
    [ERROR]   
    [ERROR]   The project com.rarible.protocol:rarible-protocol-ethereum-indexer:1.32 (/home/hemant/work/indexer/rarible/ethereum-indexer-temp/pom.xml) has 4 errors
    [ERROR]     Non-resolvable import POM: Could not find artifact com.rarible.core:rarible-core-parent:pom:2.4.9 in nexus-ext-maven-public (https://repo.rarible.org/repository/maven-public/) @ com.rarible.ethereum:rarible-ethereum-parent:1.6.0, /home/hemant/.m2/repository/com/rarible/ethereum/rarible-ethereum-parent/1.6.0/rarible-ethereum-parent-1.6.0.pom, line 53, column 19 -> [Help 2]
    [ERROR]     Non-resolvable import POM: Could not find artifact com.rarible.core:rarible-core-parent:pom:2.3.8 in nexus-ext-maven-public (https://repo.rarible.org/repository/maven-public/) @ com.rarible.protocol.ethereum:rarible-ethereum-openapi:1.33.0, /home/hemant/.m2/repository/com/rarible/protocol/ethereum/rarible-ethereum-openapi/1.33.0/rarible-ethereum-openapi-1.33.0.pom, line 81, column 19 -> [Help 2]
    [ERROR]     Non-resolvable import POM: Could not find artifact com.rarible.ethereum:rarible-ethereum-parent:pom:1.5.7 in nexus-ext-maven-public (https://repo.rarible.org/repository/maven-public/) @ com.rarible.protocol.ethereum:rarible-ethereum-openapi:1.33.0, /home/hemant/.m2/repository/com/rarible/protocol/ethereum/rarible-ethereum-openapi/1.33.0/rarible-ethereum-openapi-1.33.0.pom, line 88, column 19 -> [Help 2]
    [ERROR]     Non-resolvable import POM: com.rarible.core:rarible-core-parent:pom:2.4.9 was not found in https://repo.rarible.org/repository/maven-public/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of nexus-ext-maven-public has elapsed or updates are forced @ com.rarible.ethereum:rarible-ethereum-parent:1.6.0, /home/hemant/.m2/repository/com/rarible/ethereum/rarible-ethereum-parent/1.6.0/rarible-ethereum-parent-1.6.0.pom, line 53, column 19 -> [Help 2]
    [ERROR] 
    
    opened by hemantranvir 12
  • Maven project depends on private repositories

    Maven project depends on private repositories

    I have configured my maven ~/.m2/settings.xml thusly (see https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry):

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                          http://maven.apache.org/xsd/settings-1.0.0.xsd">
    
        <activeProfiles>
            <activeProfile>rarible</activeProfile>
        </activeProfiles>
    
        <profiles>
            <profile>
                <id>rarible</id>
                <repositories>
                    <repository>
                        <id>central</id>
                        <url>https://repo1.maven.org/maven2</url>
                    </repository>
                    <repository>
                        <id>rarible</id>
                        <url>https://maven.pkg.github.com/rarible/*</url>
                        <snapshots>
                            <enabled>true</enabled>
                        </snapshots>
                    </repository>
                </repositories>
            </profile>
        </profiles>
    
        <servers>
            <server>
                <id>rarible</id>
                <username>silasdavis</username>
                <password>REDACTED</password>
            </server>
        </servers>
    </settings>
    

    However I get various errors (maven complaining about/blocking non http in favour of https) but the the real issue is your parent POM depends on private Nexus repositories: https://github.com/rarible/parent-pom/blob/master/pom.xml#L19-L39

    I note that this project was open sourced less than a month ago so its still early days. Is there any chance we could get a build that will work without access to private repos?

    opened by silasdavis 5
  • Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins...

    Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins...

    [INFO] Reactor Summary for protocol-nft-indexer 1.21:
    [INFO] 
    [INFO] protocol-nft-indexer ............................... SUCCESS [  1.655 s]
    [INFO] protocol-nft-indexer-contract ...................... SUCCESS [ 14.623 s]
    [INFO] protocol-nft-indexer-core .......................... FAILURE [ 13.260 s]
    [INFO] protocol-nft-indexer-listener ...................... SKIPPED
    [INFO] protocol-nft-indexer-api ........................... SKIPPED
    [INFO] protocol-nft-indexer-migration ..................... SKIPPED
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  29.814 s
    [INFO] Finished at: 2021-12-09T18:21:05-06:00
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.jetbrains.kotlin:kotlin-maven-plugin:1.5.31:compile (compile) on project protocol-nft-indexer-core: Compilation failure: Compilation failure: 
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[15,36] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.bmp'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[16,36] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.gif'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[17,37] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.jpeg'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[18,36] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.png'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[99,36] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.gif'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[99,88] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.gif'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[99,109] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.gif'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[100,36] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.jpeg'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[101,36] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.bmp'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[102,36] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.png'
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/core/src/main/kotlin/com/rarible/protocol/nft/core/service/item/meta/MediaMetaService.kt:[103,36] Symbol is declared in module 'java.desktop' which does not export package 'com.sun.imageio.plugins.png'
    [ERROR] -> [Help 1]
    [ERROR] 
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
    [ERROR] 
    [ERROR] After correcting the problems, you can resume the build with the command
    [ERROR]   mvn <args> -rf :protocol-nft-indexer-core
    
    opened by winchell 4
  • Support OpenSea's SeaPort orders

    Support OpenSea's SeaPort orders

    When querying order data from the API, I only see Wyvern listings, that are currently being deprecated. I do not believe SeaPort orders are yet supported.

    Example query;

    https://ethereum-api.rarible.org/v0.1/order/orders/sell/byItemAndByStatus?contract=0xbce3781ae7ca1a5e050bd9c4c77369867ebc307e&tokenId=4619

    for https://opensea.io/assets/ethereum/0xbce3781ae7ca1a5e050bd9c4c77369867ebc307e/4619

    opened by sunela-tr 3
  • cancel_list duplicate bug when fetching order activities

    cancel_list duplicate bug when fetching order activities

    Hi, I found an interesting bug that duplicates a cancel_list order when fetching order activities.

    I have not explored if this bug persists outside of this query; I've only tested on this specific query with the only change being on the size and types parameter. I noticed that there was a persistent duplication of objects that have the cancel_list type when there are multiple types set.

    Here's a curl example of this bug which shows this duplication;

    Bugged request: curl -XPOST -H "Content-type: application/json" -d '{ "@type": "by_collection", "contract": "0xed5af388653567af2f388e6224dc7c4b3241c544", "types": [ "CANCEL_LIST", "LIST", "MATCH" ] }' 'https://ethereum-api.rarible.org/v0.1/order/activities/search?continuation=1642781293000_61eada83fa963d40822ff05f&sort=EARLIEST_FIRST&size=2'

    The two objects returned are identical. This bug does not persist when the types parameter only has "CANCEL_LIST" set. I have not explored further possible combinations.

    Working request: curl -XPOST -H "Content-type: application/json" -d '{ "@type": "by_collection", "contract": "0xed5af388653567af2f388e6224dc7c4b3241c544", "types": [ "CANCEL_LIST" ] }' 'https://ethereum-api.rarible.org/v0.1/order/activities/search?continuation=1642781293000_61eada83fa963d40822ff05f&sort=EARLIEST_FIRST&size=2'

    P.S: Appreciate the work on the Rarible API, it's a strong powerhouse tool that I hope will continually be maintained in the distant future. All the best to the team, great work!

    opened by martinAlt335 1
  • Parameter 0 of method sender in com.rarible.protocol.erc20.api.configuration.Erc20IndexerApiConfiguration required a bean of type 'scalether.core.MonoEthereum' that could not be found.

    Parameter 0 of method sender in com.rarible.protocol.erc20.api.configuration.Erc20IndexerApiConfiguration required a bean of type 'scalether.core.MonoEthereum' that could not be found.

    Build and run protocol-erc20-indexer-api on openjdk version "1.8.0_312"

    Just trying to run locally without services (mongo, kafka, logging, parity, etc). Is this expected given these conditions? I would think Spring should be finding all the beans regardless.

    ***************************
    APPLICATION FAILED TO START
    ***************************
    
    Description:
    
    Parameter 0 of method sender in com.rarible.protocol.erc20.api.configuration.Erc20IndexerApiConfiguration required a bean of type 'scalether.core.MonoEthereum' that could not be found.
    
    
    Action:
    
    Consider defining a bean of type 'scalether.core.MonoEthereum' in your configuration.
    

    2021-12-10 18:17:19.804 WARN 69582 --- [ main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'erc20TokenController' defined in URL [jar:file:/Users/primary/Desktop/ethereum-indexer/erc20/api/target/boot/protocol-erc20-indexer-api-boot.jar!/BOOT-INF/classes!/com/rarible/protocol/erc20/api/controller/Erc20TokenController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'erc20Service' defined in URL [jar:file:/Users/primary/Desktop/ethereum-indexer/erc20/api/target/boot/protocol-erc20-indexer-api-boot.jar!/BOOT-INF/classes!/com/rarible/protocol/erc20/api/service/token/Erc20Service.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'contractService' defined in URL [jar:file:/Users/primary/Desktop/ethereum-indexer/erc20/api/target/boot/protocol-erc20-indexer-api-boot.jar!/BOOT-INF/lib/rarible-ethereum-contract-1.4.0.jar!/com/rarible/ethereum/contract/service/ContractService.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sender' defined in class path resource [com/rarible/protocol/erc20/api/configuration/Erc20IndexerApiConfiguration.class]: Unsatisfied dependency expressed through method 'sender' parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'scalether.core.MonoEthereum' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}

    opened by winchell 1
  • protocol-nft-indexer-api: PendingTransactionService.kt: Unresolved reference: factory

    protocol-nft-indexer-api: PendingTransactionService.kt: Unresolved reference: factory

    openjdk version "1.8.0_312"

    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary for protocol-nft-indexer 1.21:
    [INFO] 
    [INFO] protocol-nft-indexer ............................... SUCCESS [  1.938 s]
    [INFO] protocol-nft-indexer-contract ...................... SUCCESS [ 15.024 s]
    [INFO] protocol-nft-indexer-core .......................... SUCCESS [01:31 min]
    [INFO] protocol-nft-indexer-listener ...................... SUCCESS [01:11 min]
    [INFO] protocol-nft-indexer-api ........................... FAILURE [  2.666 s]
    [INFO] protocol-nft-indexer-migration ..................... SKIPPED
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  03:02 min
    [INFO] Finished at: 2021-12-10T09:36:59-06:00
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.jetbrains.kotlin:kotlin-maven-plugin:1.5.31:compile (compile) on project protocol-nft-indexer-api: Compilation failure: Compilation failure: 
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/api/src/main/kotlin/com/rarible/protocol/nft/api/service/pending/PendingTransactionService.kt:[62,34] Unresolved reference: factory
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/api/src/main/kotlin/com/rarible/protocol/nft/api/service/pending/PendingTransactionService.kt:[63,34] Unresolved reference: factory
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/api/src/main/kotlin/com/rarible/protocol/nft/api/service/pending/PendingTransactionService.kt:[67,34] Unresolved reference: factory
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/api/src/main/kotlin/com/rarible/protocol/nft/api/service/pending/PendingTransactionService.kt:[68,34] Unresolved reference: factory
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/api/src/main/kotlin/com/rarible/protocol/nft/api/service/pending/PendingTransactionService.kt:[124,76] Unresolved reference: factory
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/api/src/main/kotlin/com/rarible/protocol/nft/api/service/pending/PendingTransactionService.kt:[138,80] Unresolved reference: factory
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/api/src/main/kotlin/com/rarible/protocol/nft/api/service/pending/PendingTransactionService.kt:[158,77] Unresolved reference: factory
    [ERROR] /Users/primary/Desktop/ethereum-indexer/nft/api/src/main/kotlin/com/rarible/protocol/nft/api/service/pending/PendingTransactionService.kt:[172,81] Unresolved reference: factory
    [ERROR] -> [Help 1]
    
    opened by winchell 1
  • Bean of type 'com.rarible.protocol.order.core.repository.order.OpenSeaOrderRepository' could not be found

    Bean of type 'com.rarible.protocol.order.core.repository.order.OpenSeaOrderRepository' could not be found

    Related: https://github.com/rarible/ethereum-indexer/commit/b8954dff7b803537553af26321590d1a085959b8#diff-d889ff8aa0b8d523f95448496f6e140a800781c9dbeee92fc9a3f7211ecdcef2

    ***************************
    APPLICATION FAILED TO START
    ***************************
    
    Description:
    
    Parameter 0 of constructor in com.rarible.protocol.order.listener.service.order.LoadOpenSeaOrdersTaskHandler required a bean of type 'com.rarible.protocol.order.core.repository.order.OpenSeaOrderRepository' that could not be found.
    
    
    Action:
    
    Consider defining a bean of type 'com.rarible.protocol.order.core.repository.order.OpenSeaOrderRepository' in your configuration.
    
    opened by winchell 1
  • Issues while trying to encode Buy/Sell orders

    Issues while trying to encode Buy/Sell orders

    I'm having issues while trying to use the indexer API to encode the following sell order:

    {
        "type": "RARIBLE_V2",
        "maker": "0x40fad45a745b8026c7a7dc8ae3e4d3e0022f0a14",
        "make": {
            "assetType": {
                "assetClass": "ERC1155",
                "contract": "0x88b48f654c30e99bc2e4a1559b4dcf1ad93fa656",
                "tokenId": "104973005838411526967788951744070314427519032974523733371440111381847342055524"
            },
            "value": "1"
        },
        "take": {
            "assetType": {
                "assetClass": "ERC20",
                "contract": "0xc778417e063141139fce010982780140aa0cd5ab"
            },
            "value": "1000000000000000"
        },
        "data": {
            "dataType": "RARIBLE_V2_DATA_V1",
            "payouts": [],
            "originFees": []
        },
        "salt": 721,
        "start": "1634706000",
        "end": "1634965200"
    }
    

    The error I'm getting is the following:

    An error occurred while trying to encode Rarible order: (BAD_REQUEST): Instantiation of [simple type, class com.rarible.protocol.dto.RaribleV2OrderFormDto] value failed for JSON property signature due to missing (therefore NULL) value for creator parameter signature which is a non-nullable type
    

    I'm running some tests on Rinkeby (https://api-staging.rarible.com/protocol/v0.1/ethereum/order/encoder/order) Did something change in the JSON schema for buy/sell orders?

    opened by santteegt 1
  • Add docker compose configuration

    Add docker compose configuration

    I am interested in taking this project for a spin, I understand it depends on Kafka and MonogDB and looks like it itself has a number of separate services. A convenient way to understand a distributed system is to have a working executable runtime via docker compose. It makes it clear how each service boots and the docker compose file serves as a wiring diagram.

    I'd be willing to work on this you are interested and can give some pointers. It would consist in:

    • Dockerfiles for each separate services hosted in this repo
    • Top-level docker-compose.yml configuring databases and services

    blocked for me on #30

    question 
    opened by silasdavis 1
  • Pool#acquire(Duration) has been pending for more than the configured timeout of 45000ms

    Pool#acquire(Duration) has been pending for more than the configured timeout of 45000ms

    Getting this problem on the https://api.rarible.org/v0.1/items/byOwner endpoint on around 2/3 requests, not sure if it is due to load on that server or what. Might take a stab at running my own instance of this API. Full error below:

    Pool#acquire(Duration) has been pending for more than the configured timeout of 45000ms; nested exception is reactor.netty.internal.shaded.reactor.pool.PoolAcquireTimeoutException: Pool#acquire(Duration) has been pending for more than the configured timeout of 45000ms

    Additionally, I've noticed that there's some huge inconsistencies in the results between the API used on the Rarible website, the /v0.1/items/byOwner endpoint with the V1 search engine and the LEGACY search engine. I've seen assets that were transferred away from someone over a year ago still listed as being under their ownership (on rarible.org), so I'm not quite sure what that's all about. I'll see if I can get you guys some examples.

    I have noticed that /v0.1/items/byOwner with the V1 search engine returns the best results by far.

    opened by opportunistic 1
  • Could you please let me know the uses of Kafka in the Ethereum indexer?

    Could you please let me know the uses of Kafka in the Ethereum indexer?

    In the SDK, it says Kafka is used to handling events. But who consumes those events and why do we need to consume them. Due to the fact that all the data is stored in Mongo DB, I'm confused about the use of Kafka. Could someone please explain this to me? Thank you in advance.

    opened by sekarvetrivel 0
  • [Compile Problem] Could not find artifact com.rarible.core:rarible-core-parent:pom:2.4.9 in nexus-ext-maven-public

    [Compile Problem] Could not find artifact com.rarible.core:rarible-core-parent:pom:2.4.9 in nexus-ext-maven-public

    Describe what happened (or what feature you want)

    Using itelliJ IDE Executing the mvn clean package -DskipTests command returns an error as follows:

    Could not find artifact com.rarible.core:rarible-core-parent:pom:2.4.9 in nexus-ext-maven-public (https://repo.rarible.org/repository/maven-public/)
    

    Using cli the error as follows:

    [ERROR] [ERROR] Some problems were encountered while processing the POMs:
    [ERROR] Non-resolvable import POM: Failure to find com.rarible.core:rarible-core-parent:pom:2.4.9 in https://repo.rarible.org/repository/maven-public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus-ext-maven-public has elapsed or updates are forced @ com.rarible.ethereum:rarible-ethereum-parent:1.6.0, /root/.m2/repository/com/rarible/ethereum/rarible-ethereum-parent/1.6.0/rarible-ethereum-parent-1.6.0.pom, line 53, column 19
    [ERROR] Non-resolvable import POM: Failure to find com.rarible.protocol.ethereum:rarible-ethereum-openapi:pom:1.30.1 in https://repo.rarible.org/repository/maven-public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus-ext-maven-public has elapsed or updates are forced @ com.rarible.protocol:rarible-protocol-ethereum-indexer:${revision}, /home/deq/Desktop/Projects/ethereum-indexer/pom.xml, line 70, column 25
    [ERROR] Non-resolvable import POM: Failure to find com.rarible.blockchain.scanner:rarible-blockchain-scanner:pom:2.2.26 in https://repo.rarible.org/repository/maven-public/ was cached in the local repository, resolution will not be reattempted until the update interval of nexus-ext-maven-public has elapsed or updates are forced @ com.rarible.protocol:rarible-protocol-ethereum-indexer:${revision}, /home/deq/Desktop/Projects/ethereum-indexer/pom.xml, line 77, column 25
    
    

    Tell us your environment

    ubuntu 64-bit

    opened by abhishek-deqode 1
  • Return API String or Object

    Return API String or Object

    Hey!

    Some API responses that return the ID have changed but the SDK still expecting the old ones.

    From: id: "BLOCKCHAIN:CONTRACT" To: id: { type: "BLOCKCHAIN", value: "CONTRACT"}

    rarible-issue

    It's not clear if the error is in the indexer or the SDK

    ref: https://github.com/rarible/protocol/issues/262

    opened by tgonzales 1
Owner
Rarible Protocol
Cross-Chain Community Governed NFT Protocol
Rarible Protocol
A collection of small utility functions to make it easier to deal with some otherwise nullable APIs on Android.

requireKTX is a collection of small utility functions to make it easier to deal with some otherwise nullable APIs on Android, using the same idea as requireContext, requireArguments, and other similar Android SDK methods.

Márton Braun 82 Oct 1, 2022
gRPC and protocol buffers for Android, Kotlin, and Java.

Wire “A man got to have a code!” - Omar Little See the project website for documentation and APIs. As our teams and programs grow, the variety and vol

Square 3.9k Dec 31, 2022
General purpose utilities and hash functions for Android and Java (aka java-common)

Essentials Essentials are a collection of general-purpose classes we found useful in many occasions. Beats standard Java API performance, e.g. LongHas

Markus Junginger 1.4k Dec 29, 2022
A library for fast and safe delivery of parameters for Activities and Fragments.

MorbidMask - 吸血面具 Read this in other languages: 中文, English, Change Log A library for fast and safe delivery of parameters for Activities and Fragment

Season 67 Mar 29, 2022
A simple and easy to use stopwatch and timer library for android

TimeIt Now with Timer support! A simple and easy to use stopwatch and timer library for android Introduction A stopwatch can be a very important widge

Yashovardhan Dhanania 35 Dec 10, 2022
Trail is a simple logging system for Java and Android. Create logs using the same API and the library will detect automatically in which platform the code is running.

Trail Trail is a simple logging system for Java and Android. Create logs using the same API and the library will detect automatically in which platfor

Mauricio Togneri 13 Aug 29, 2022
General purpose utilities and hash functions for Android and Java (aka java-common)

Essentials Essentials are a collection of general-purpose classes we found useful in many occasions. Beats standard Java API performance, e.g. LongHas

Markus Junginger 1.4k Dec 29, 2022
Matches incoming and/or outgoing text messages against set rules and sends them over to webhook.

Textmatic If you ever wanted a tool to simply push the SMS (or text messages) from your phone to somewhere remote, this is it. This app matches all in

Float 2 Jan 7, 2022
Command framework built around Kord, built to be robust and scalable, following Kord's convention and design patterns.

Command framework built around Kord, built to be robust and scalable, following Kord's convention and design patterns.

ZeroTwo Bot 4 Jun 15, 2022
DiskCache - Simple and readable disk cache for kotlin and android applications

DiskCache Simple and readable disk cache for kotlin and android applications (with journaled lru strategy) This is a simple lru disk cache, based on t

Giovanni Corte 14 Dec 2, 2022
a simple cache for android and java

ASimpleCache ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。 1、它可以缓存什么东西? 普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 b

Michael Yang 3.7k Dec 14, 2022
A lightning fast, transactional, file-based FIFO for Android and Java.

Tape by Square, Inc. Tape is a collection of queue-related classes for Android and Java. QueueFile is a lightning-fast, transactional, file-based FIFO

Square 2.4k Dec 30, 2022
UPnP/DLNA library for Java and Android

Cling EOL: This project is no longer actively maintained, code may be outdated. If you are interested in maintaining and developing this project, comm

4th Line 1.6k Jan 4, 2023
WebSocket & WAMP in Java for Android and Java 8

Autobahn|Java Client library providing WAMP on Java 8 (Netty) and Android, plus (secure) WebSocket for Android. Autobahn|Java is a subproject of the A

Crossbar.io 1.5k Dec 9, 2022
Collection of source codes, utilities, templates and snippets for Android development.

Android Templates and Utilities [DEPRECATED] Android Templates and Utilities are deprecated. I started with this project in 2012. Android ecosystem ha

Petr Nohejl 1.1k Nov 30, 2022
A support library for VectorDrawable and AnimatedVectorDrawable classes introduced in Lollipop

vector-compat A support library for VectorDrawable and AnimatedVectorDrawable introduced in Lollipop with fully backwards compatible tint support (api

Wael N 1.2k Nov 29, 2022
A Virtual Machine For Assessing Android applications, Reverse Engineering and Malware Analysis

Androl4b AndroL4b is an android security virtual machine based on ubuntu-mate includes the collection of latest framework, tutorials and labs from dif

null 1k Dec 27, 2022
Android library for viewing, editing and sharing in app databases.

DbInspector DbInspector provides a simple way to view the contents of the in-app database for debugging purposes. There is no need to pull the databas

Infinum 924 Jan 4, 2023
A beautiful set of predefined colors and a set of color methods to make your Android development life easier.

Colours is a port of the Colours Library for iOS made by my good friend Ben Gordon. You can find that project here. Installation Maven Central Colours

Matthew York 634 Dec 28, 2022