vault icon indicating copy to clipboard operation
vault copied to clipboard

Implement /get_whitelisted_contracts_entrypoints Endpoint

Open 0xLucqs opened this issue 10 months ago • 3 comments

Description

We need to implement the /get_whitelisted_contracts_entrypoints endpoint in the Vault backend. This endpoint is responsible for retrieving the whitelisted entry points of contracts associated with a specific account on StarkNet.

Details

  • Method: GET
  • Path: /get_whitelisted_contracts_entrypoints
  • Summary: Get whitelisted entrypoints of contracts.

Request Parameters:

  • address: The StarkNet address for which the whitelisted entrypoints of contracts are to be retrieved.

Response:

  • Status Code: 200
  • Description: Successful retrieval of whitelisted entrypoints of contracts
  • Content Type: application/json
  • Body:
[
  [
    "0x0123456789abcdefABCDEF0123456789abcdefABCDEF0123456789abcdefABCD",
    "0x1234567890abcdefABCDEF0123456789abcdefABCDEF0123456789abcdefABC"
  ],
  [
    "0xABCDEF0123456789abcdef0123456789abcdefABCDEF0123456789abcdef0123",
    "0x0123456789abcdefABCDEF0123456789abcdefABCDEF0123456789abcdefABC"
  ],
  ...
]

Notes:

The whitelisted entrypoints of contracts are represented as an array of arrays of hexadecimal strings.

Example

// Import necessary modules
import fastify from 'fastify';

// Create Fastify instance
const app = fastify({ logger: true });

// Define the get_whitelisted_contracts_entrypoints endpoint
app.get('/get_whitelisted_contracts_entrypoints', async (request, reply) => {
    try {
        // Logic to retrieve the whitelisted entrypoints of contracts goes here

        // Return the whitelisted entrypoints of contracts
        return [
            ["0x0123456789abcdefABCDEF0123456789abcdefABCDEF0123456789abcdefABCD", "0x1234567890abcdefABCDEF0123456789abcdefABCDEF0123456789abcdefABC"],
            ["0xABCDEF0123456789abcdef0123456789abcdefABCDEF0123456789abcdef0123", "0x0123456789abcdefABCDEF0123456789abcdefABCDEF0123456789abcdefABC"],
            ...
        ];
    } catch (error) {
        // Handle errors
        console.error('Error while retrieving whitelisted entrypoints of contracts:', error);
        return reply.status(500).send({ error: 'Internal Server Error' });
    }
});

Tasks:

  • [ ] Implement the /get_whitelisted_contracts_entrypoints endpoint.

0xLucqs avatar Apr 02 '24 14:04 0xLucqs