Giter Club home page Giter Club logo

api-examples's Introduction

                                              @@@@@@@@@
                                        @@@@@@@@@@@@@@@@@@@@@
                                    @@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
              @@@@@@@@@@@       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@      @@@@@@@@@@@
        @@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@
      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@              @@@@@@@@@@@@@@              @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@          @@@@@@@   @@@@@@@@@         @@@@@@    @@@@@@@@@@@@@@@@@@@@@@@@@
  @@@@@@@@@@@@@@@@@@@@@@  @@        @@@@@@@@  @@@@@@   @       @@@@@@@@   @@@@@@@@@@@@@@@@@@@@@@
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@            @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Lens Protocol

The Lens Protocol is a decentralized, non-custodial social graph. Lens implements unique, on-chain social interaction mechanisms analogous to commonly understood Web2 social media interactions, but significantly expanded with unique functionality that empower communities to form and participants to own their own social graph.

Setup

1. Clone the Repository

git clone [email protected]:lens-protocol/core.git

2. Install Foundry

Follow the instructions from their repository or just do:

curl -L https://foundry.paradigm.xyz | bash
foundryup

3. Install dependencies in submodules

You can do it either with forge:

forge install

or directly with git:

git submodule update --init --recursive

4. Create Your .env File

Copy the .env.example file into .env and fill the necessary fields:

MNEMONIC=
POLYGON_RPC_URL=
MUMBAI_RPC_URL=
KOVAN_RPC_URL=
ROPSTEN_RPC_URL=
MAINNET_RPC_URL=
BLOCK_EXPLORER_KEY=
TENDERLY_PROJECT=
TENDERLY_USERNAME=
TENDERLY_FORK_ID=
TENDERLY_HEAD_ID=

# Forking setup (uncomment to test using a fork)
# TESTING_FORK=mainnet
# TESTING_FORK_CURRENT_VERSION=1
# TESTING_FORK_BLOCK=45504400

If you just want to test locally without a fork, then you can skip this step.

5. Build

You can compile the project using:

forge build

You may notice a warning about some files exceeding code size.

To avoid the warning, you can compile Via IR but it will take more time:

forge build --via-ir

6. Test

You can run unit tests using:

forge test

To run the tests on a fork you need to fill the .env file from the step above, and uncomment the TESTING_FORK variables.

7. Coverage

You can run coverage using:

forge coverage

api-examples's People

Contributors

atharvashukla avatar bigint avatar damarnez avatar dependabot[bot] avatar joshstevens19 avatar lintonachmad avatar pythonpete32 avatar reecejohnson avatar rex4539 avatar satyajeetx avatar wd021 avatar zannis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

api-examples's Issues

ApolloError to updateProfile in LensAPI in mumbai

when send mutation to https://api-mumbai.lens.dev/

mutation {
  updateProfile(
    request: {
      profileId: "0x21"
      twitterUrl: "http://twitter.com/11"
      name: "tester"
      bio: "fullstack dev"
      location: "the earth"
      coverPicture: "https://google.com"
    }
  ) {
    id
  }
}

Output

{
  "errors": [
    {
      "message": "Unexpected token u in JSON at position 0",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "updateProfile"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "exception": {
          "stacktrace": [
            "SyntaxError: Unexpected token u in JSON at position 0",
            "    at JSON.parse (<anonymous>)",
            "    at /usr/src/app/build/database/data-interceptors.js:17:31",
            "    at Array.reduce (<anonymous>)",
            "    at formatDataIn (/usr/src/app/build/database/data-interceptors.js:13:25)",
            "    at executeFormatDataIn (/usr/src/app/build/database/db-execution.js:112:49)",
            "    at none (/usr/src/app/build/database/db-execution.js:35:39)",
            "    at updateProfileOfflineDataDb (/usr/src/app/build/database/profile/queries/update-profile-offline-data.query.js:16:36)",
            "    at updateProfileOfflineData (/usr/src/app/build/services/profile.service.js:175:79)",
            "    at SharedProfileResolver.updateProfile (/usr/src/app/build/graphql/resolvers/profile/shared-profile-resolver.js:159:62)",
            "    at runMicrotasks (<anonymous>)",
            "    at processTicksAndRejections (node:internal/process/task_queues:96:5)",
            "    at async dispatchHandler (/usr/src/app/node_modules/type-graphql/dist/resolvers/helpers.js:82:24)",
            "    at async /usr/src/app/node_modules/type-graphql/dist/resolvers/helpers.js:83:26",
            "    at async dispatchHandler (/usr/src/app/node_modules/type-graphql/dist/resolvers/helpers.js:82:24)",
            "    at async /usr/src/app/node_modules/type-graphql/dist/resolvers/helpers.js:83:26",
            "    at async dispatchHandler (/usr/src/app/node_modules/type-graphql/dist/resolvers/helpers.js:82:24)"
          ]
        }
      }
    }
  ],
  "data": null
}

Seems to be an JSON.parse() error in the Apollo backend.

Throw error when submit transaction to "Follow"

Source: https://github.com/aave/lens-api-examples/blob/master/src/follow/follow.ts#L73

I tried to mimic the call from above source, simplified as below:

const contract = new ethers.Contract("0xd7B3481De00995046C7850bCe9a5196B7605c367", LENS_HUB_ABI, signer);
const tx = contract.followWithSig({
        follower: address,
        profileIds: typedData?.value?.profileIds,
        datas: typedData?.values?.datas,
        sig: {
          v,
          r,
          s,
          deadline: typedData.value.deadline,
        },
      })

It gives below errors.

Error: invalid address or ENS name (argument="name", value=undefined, code=INVALID_ARGUMENT, version=contracts/5.5.0)

The error is thrown by ethersJs

I was able to create-post, using the similar code snippet, and works well. But Follow does not work.

I am not clue whether it is my issue, or something else.

Remove already followed user from `recommendation` endpoint

If we already followed a user, i think there is no point in displaying again in recommended users

PS: this should be an unauthed request so any users can see what's recommended for other users

In twitter when I follow some user it popups the suggestion below

Screenshot 2022-03-11 at 6 32 42 PM

`createProfile` endpoint returns gas estimation

{
    "errors": [
        {
            "message": "cannot estimate gas; transaction may fail or may require manual gas limit (error={\"reason\":\"cannot estimate gas; transaction may fail or may require manual gas limit\",\"code\":\"UNPREDICTABLE_GAS_LIMIT\",\"error\":{\"code\":3,\"data\":\"0x902815b9\"},\"method\":\"estimateGas\",\"transaction\":{\"from\":\"0x6C1e1bC39b13f9E0Af9424D76De899203F47755F\",\"to\":\"0xF6BF84E5df229029C9D36dC7ABaCDBE9c0bd7b4F\",\"data\":\"0xffea138e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000bba7556f668a78dba5e7989b0d7ca4db6315546e00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000968656c6c6f6c656e730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f697066732e696e667572612e696f2f697066732f516d61386d586f656f727650716f6444617a6637787141526f464433393473316e6a6b7a653771315834434b38550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d574b4a4b566a37616158796e375679717465566f4771727764414b485538684747313974695951676558416f0000000000000000000000\",\"accessList\":null}}, tx={\"data\":\"0xffea138e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000bba7556f668a78dba5e7989b0d7ca4db6315546e00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000968656c6c6f6c656e730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f697066732e696e667572612e696f2f697066732f516d61386d586f656f727650716f6444617a6637787141526f464433393473316e6a6b7a653771315834434b38550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d574b4a4b566a37616158796e375679717465566f4771727764414b485538684747313974695951676558416f0000000000000000000000\",\"to\":{},\"from\":\"0x6c1e1bc39b13f9e0af9424d76de899203f47755f\",\"gasLimit\":{},\"speed\":\"fast\"}, code=UNPREDICTABLE_GAS_LIMIT, version=defender-relay-client)",
            "locations": [
                {
                    "line": 2,
                    "column": 3
                }
            ],
            "path": [
                "createProfile"
            ],
            "extensions": {
                "code": "INTERNAL_SERVER_ERROR",
                "exception": {
                    "reason": "cannot estimate gas; transaction may fail or may require manual gas limit",
                    "code": "UNPREDICTABLE_GAS_LIMIT",
                    "error": {
                        "reason": "cannot estimate gas; transaction may fail or may require manual gas limit",
                        "code": "UNPREDICTABLE_GAS_LIMIT",
                        "error": {
                            "code": 3,
                            "data": "0x902815b9"
                        },
                        "method": "estimateGas",
                        "transaction": {
                            "from": "0x6C1e1bC39b13f9E0Af9424D76De899203F47755F",
                            "to": "0xF6BF84E5df229029C9D36dC7ABaCDBE9c0bd7b4F",
                            "data": "0xffea138e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000bba7556f668a78dba5e7989b0d7ca4db6315546e00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000968656c6c6f6c656e730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f697066732e696e667572612e696f2f697066732f516d61386d586f656f727650716f6444617a6637787141526f464433393473316e6a6b7a653771315834434b38550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d574b4a4b566a37616158796e375679717465566f4771727764414b485538684747313974695951676558416f0000000000000000000000",
                            "accessList": null
                        }
                    },
                    "tx": {
                        "data": "0xffea138e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000bba7556f668a78dba5e7989b0d7ca4db6315546e00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000968656c6c6f6c656e730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f697066732e696e667572612e696f2f697066732f516d61386d586f656f727650716f6444617a6637787141526f464433393473316e6a6b7a653771315834434b38550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d574b4a4b566a37616158796e375679717465566f4771727764414b485538684747313974695951676558416f0000000000000000000000",
                        "to": {},
                        "from": "0x6c1e1bc39b13f9e0af9424d76de899203f47755f",
                        "gasLimit": {},
                        "speed": "fast"
                    },
                    "stacktrace": [
                        "Error: cannot estimate gas; transaction may fail or may require manual gas limit (error={\"reason\":\"cannot estimate gas; transaction may fail or may require manual gas limit\",\"code\":\"UNPREDICTABLE_GAS_LIMIT\",\"error\":{\"code\":3,\"data\":\"0x902815b9\"},\"method\":\"estimateGas\",\"transaction\":{\"from\":\"0x6C1e1bC39b13f9E0Af9424D76De899203F47755F\",\"to\":\"0xF6BF84E5df229029C9D36dC7ABaCDBE9c0bd7b4F\",\"data\":\"0xffea138e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000bba7556f668a78dba5e7989b0d7ca4db6315546e00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000968656c6c6f6c656e730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f697066732e696e667572612e696f2f697066732f516d61386d586f656f727650716f6444617a6637787141526f464433393473316e6a6b7a653771315834434b38550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d574b4a4b566a37616158796e375679717465566f4771727764414b485538684747313974695951676558416f0000000000000000000000\",\"accessList\":null}}, tx={\"data\":\"0xffea138e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000bba7556f668a78dba5e7989b0d7ca4db6315546e00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000968656c6c6f6c656e730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a68747470733a2f2f697066732e696e667572612e696f2f697066732f516d61386d586f656f727650716f6444617a6637787141526f464433393473316e6a6b7a653771315834434b38550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d574b4a4b566a37616158796e375679717465566f4771727764414b485538684747313974695951676558416f0000000000000000000000\",\"to\":{},\"from\":\"0x6c1e1bc39b13f9e0af9424d76de899203f47755f\",\"gasLimit\":{},\"speed\":\"fast\"}, code=UNPREDICTABLE_GAS_LIMIT, version=defender-relay-client)",
                        "    at Logger.makeError (/usr/src/app/node_modules/@ethersproject/logger/lib/index.js:199:21)",
                        "    at Logger.throwError (/usr/src/app/node_modules/@ethersproject/logger/lib/index.js:208:20)",
                        "    at /usr/src/app/node_modules/defender-relay-client/lib/ethers/signer.js:101:31",
                        "    at processTicksAndRejections (node:internal/process/task_queues:96:5)",
                        "    at async Promise.all (index 3)"
                    ]
                }
            }
        }
    ],
    "data": null
}

Question about createFollowTypedData

In the documentation, https://docs.lens.dev/docs/create-follow-typed-data#api-design

the returned TypedDate is "0x", is it normal?

          "datas": [
            "0x"
          ]

Full

{
  "data": {
    "createFollowTypedData": {
      "id": "5211ef22-fc0a-4662-aebf-2b04ab3fa8c2",
      "expiresAt": "2022-02-18T13:10:14.000Z",
      "typedData": {
        "domain": {
          "name": "Lens Protocol Profile",
          "chainId": 80001,
          "version": "1",
          "verifyingContract": "0x23C1ce2b0865406955Da08F1D31c13fcc3f72A3a"
        },
        "types": {
          "FollowWithSig": [
            {
              "name": "profileIds",
              "type": "uint256[]"
            },
            {
              "name": "datas",
              "type": "bytes[]"
            },
            {
              "name": "nonce",
              "type": "uint256"
            },
            {
              "name": "deadline",
              "type": "uint256"
            }
          ]
        },
        "value": {
          "nonce": 0,
          "deadline": 1645189814,
          "profileIds": [
            "0x01"
          ],
          "datas": [
            "0x"
          ]
        }
      }
    }
  }
}

Bug with update-profile endpoint when twitterUrl param is an empty string

In order to reproduce the bug:

  • Go to src/profile/update-profile.ts file
  • set the twitter url with an empty string: twitterUrl: ""
  • run npm run profile:update-profile

Your request will pass without any error but then every time you query your profile, you'll get an error + the data:
Here is mine:

{
  "errors": [
    {
      "message": "Expected a value of type \"Url\" but received: \"\"",
      "locations": [
        {
          "line": 9,
          "column": 7
        }
      ],
      "path": [
        "profiles",
        "items",
        0,
        "twitterUrl"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "exception": {
          "stacktrace": [
            "Error: Expected a value of type \"Url\" but received: \"\"",
            "    at completeLeafValue (/usr/src/app/node_modules/graphql/execution/execute.js:656:11)",
            "    at completeValue (/usr/src/app/node_modules/graphql/execution/execute.js:578:12)",
            "    at /usr/src/app/node_modules/graphql/execution/execute.js:469:16",
            "    at runMicrotasks (<anonymous>)",
            "    at processTicksAndRejections (node:internal/process/task_queues:96:5)",
            "    at async Promise.all (index 5)",
            "    at async Promise.all (index 0)",
            "    at async Promise.all (index 0)",
            "    at async Promise.all (index 0)"
          ]
        }
      }
    }
  ],
  "data": {
    "profiles": {
      "items": [
        {
          "id": "0xed",
          "name": "kipit",
          "bio": "",
          "location": "",
          "website": "",
          "twitterUrl": null,
          "picture": null,
          "handle": "kipitistesting",
          "coverPicture": null,
          "ownedBy": "0xE5C9569a58B7164D653e1a4b7D48dCB64bd19653",
}

This happens only with the twitter url. If you put an empty string for the website or the coverPicture, nothing happens.

When you get to the end of paging totalCount turns to 0

When you using the after cursor and get to the end the paging works perfectly but then totalCount turns to 0 when you reach the end. This is due to no rows returned so it is not defined!

{
  "data": {
    "result": {
      "items": [],
      "pageInfo": {
        "prev": null,
        "next": null,
        "totalCount": 0
      }
    }
  }
}

this will be the case with all paging!

Issue with update-profile endpoint. Query failed when there is no twitterUrl field in the request.

Documentation of the update profile says that only profileId and name are mandatory fields. However, my query fails every time I don't have the twitterUrl field.

For example, this will work:

const request = {
    profileId: '0xed',
    name: "kipit",
    twitterUrl: ""
}

But this won't work:

const request = {
    profileId: '0xed',
    name: "kipit"
}

You can try by modifying the request payload from src/profile/update-profile.ts

fail to authenticate (query the Challenge)

I tried to run yarn run authentication:login

And, it returns below error

ApolloError: WRONGPASS invalid username-password pair or user is disabled.

It fails to retrieve the "Challenge".

The Apollo Playground gives the same error.

p.s. It was working well before yesterday.

Apollo Error in get-nfts in Mumbai

I guess this API does not require authentication.

ownerAddress is copied from source repo.

Input

query {
  nfts(
    request: {
      ownerAddress: "0x54be3a794282c030b15e43ae2bb182e14c409c5e"
      chainIds: [80001]
      limit:10
    }
  ) {
    items {
      tokenId
    }
  }
}

After a couple of minutes, Output

{
  "error": "Unexpected token < in JSON at position 0"
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.