vault
vault copied to clipboard
Implement /get_whitelisted_contracts_entrypoints Endpoint
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.