emblem-vault-sdk 2.3.5 → 2.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,191 @@
1
+ {
2
+ "tasks": [
3
+ {
4
+ "id": 1,
5
+ "title": "SDK Code Analysis and Method Mapping",
6
+ "description": "Analyze the Emblem Vault SDK codebase to identify all available endpoints, methods, and their parameters.",
7
+ "status": "in-progress",
8
+ "dependencies": [],
9
+ "priority": "high",
10
+ "details": "Create a script to scan the SDK source code and generate a structured JSON representation of all public methods, their parameters, return types, and descriptions. This will serve as the foundation for the toolbox. Include categorization of methods by functionality (e.g., authentication, vault operations, transactions).",
11
+ "testStrategy": "Validate the completeness of the method mapping by cross-referencing with documentation and ensuring all public methods are captured correctly.",
12
+ "subtasks": [
13
+ {
14
+ "id": 1,
15
+ "title": "Set up SDK Code Analysis Environment",
16
+ "description": "Create a dedicated analysis environment with all necessary tools and libraries for parsing the Emblem Vault SDK codebase based on its programming language.",
17
+ "dependencies": [],
18
+ "details": "1. Determine the programming language of the Emblem Vault SDK (JavaScript/TypeScript, Python, etc.)\n2. Install appropriate static analysis libraries based on the language (e.g., AST parsers like acorn for JavaScript, ast module for Python)\n3. Set up a project structure with separate directories for the analysis script, output files, and tests\n4. Create configuration files for the analysis tools with appropriate settings\n5. Write a simple test script to verify the environment setup by parsing a sample SDK file\n6. Document the environment setup process for future reference\n7. Testing approach: Verify successful installation of all dependencies and ability to parse a sample file from the SDK\n\n<info added on 2025-05-05T07:17:40.335Z>\nI've completed the SDK analysis environment setup with several enhancements:\n\nThe analysis tool leverages the TypeScript compiler API (ts.createProgram, ts.forEachChild) to traverse the SDK's AST, enabling detailed type information extraction and relationship mapping between components. \n\nThe Express development server (port 3000) serves both the analysis API endpoints and a React-based UI for visualizing results. Key endpoints include:\n- GET /api/analyze - Triggers analysis and returns status\n- GET /api/results - Returns current analysis data\n- POST /api/config - Updates analysis parameters\n\nThe interactive UI features:\n- Force-directed graph visualization of SDK component relationships\n- Searchable/filterable component explorer with syntax highlighting\n- Dependency chain visualization for selected components\n\nAnalysis results can be exported in multiple formats (JSON, CSV, HTML report) with a single-click download option that includes timestamps and analysis configuration metadata.\n\nError handling includes graceful recovery from parsing failures with detailed logging, progress indicators during long-running analyses, and automatic retry mechanisms for network-related failures when fetching external dependencies.\n</info added on 2025-05-05T07:17:40.335Z>",
19
+ "status": "done",
20
+ "parentTaskId": 1
21
+ },
22
+ {
23
+ "id": 2,
24
+ "title": "Develop SDK File Parser and Method Extractor",
25
+ "description": "Create a core parser module that can traverse SDK source files, identify public methods, and extract their signatures, parameters, and metadata.",
26
+ "dependencies": [
27
+ 1
28
+ ],
29
+ "details": "1. Implement a file discovery mechanism to locate all relevant SDK source files\n2. Create a parser that uses AST (Abstract Syntax Tree) analysis to identify class and method definitions\n3. Extract method signatures including name, parameters, return types, and access modifiers\n4. Implement docstring/comment extraction to capture method descriptions and parameter documentation\n5. Create a standardized internal representation for storing extracted method information\n6. Add error handling for parsing edge cases and malformed code\n7. Implement logging to track parsing progress and issues\n8. Testing approach: Create unit tests with sample SDK code snippets to verify correct extraction of different method types, parameters, and documentation",
30
+ "status": "in-progress",
31
+ "parentTaskId": 1
32
+ },
33
+ {
34
+ "id": 3,
35
+ "title": "Implement Method Categorization and Relationship Mapping",
36
+ "description": "Enhance the parser to categorize methods by functionality and identify relationships between methods, including dependencies and inheritance.",
37
+ "dependencies": [
38
+ 2
39
+ ],
40
+ "details": "1. Define categorization rules based on method naming conventions, namespaces, or class hierarchies\n2. Implement pattern matching to assign methods to categories (e.g., authentication, vault operations, transactions)\n3. Create logic to identify method relationships such as inheritance, overrides, and internal dependencies\n4. Build a graph representation of method relationships to visualize dependencies\n5. Implement heuristics to detect API endpoints based on method signatures or decorators\n6. Add metadata tags for public vs. private methods, deprecated methods, and version information\n7. Testing approach: Verify correct categorization using predefined test cases with methods from different functional areas, and validate relationship mapping with known method dependencies",
41
+ "status": "pending",
42
+ "parentTaskId": 1
43
+ },
44
+ {
45
+ "id": 4,
46
+ "title": "Create JSON Schema and Output Generator",
47
+ "description": "Design a comprehensive JSON schema for representing SDK methods and implement a generator to output the analyzed data in this structured format.",
48
+ "dependencies": [
49
+ 2,
50
+ 3
51
+ ],
52
+ "details": "1. Design a JSON schema that includes all necessary fields: method name, description, parameters (with types and descriptions), return type, category, dependencies, and examples\n2. Implement a converter that transforms the internal representation into the defined JSON schema\n3. Add pretty-printing and formatting options for human readability\n4. Implement validation to ensure all generated JSON conforms to the schema\n5. Create options for different output formats (full detailed output vs. summary output)\n6. Add versioning information to the output to track changes over time\n7. Implement file output with appropriate error handling\n8. Testing approach: Validate generated JSON against the schema definition, ensure all extracted method information is correctly represented, and verify the output is valid JSON",
53
+ "status": "pending",
54
+ "parentTaskId": 1
55
+ },
56
+ {
57
+ "id": 5,
58
+ "title": "Build Automated Analysis Pipeline with CI/CD Integration",
59
+ "description": "Create a complete automation pipeline that can be triggered manually or as part of CI/CD to analyze the SDK and generate up-to-date method documentation.",
60
+ "dependencies": [
61
+ 1,
62
+ 2,
63
+ 3,
64
+ 4
65
+ ],
66
+ "details": "1. Create a main script that orchestrates the entire analysis process from file discovery to JSON generation\n2. Implement command-line arguments for customizing the analysis (input directory, output file, verbosity)\n3. Add configuration options for different analysis modes (quick scan vs. deep analysis)\n4. Create GitHub Actions or similar CI/CD workflow files to automate analysis on repository changes\n5. Implement diff generation to highlight changes between SDK versions\n6. Add reporting capabilities to summarize the analysis results (total methods, categories, coverage)\n7. Create documentation on how to use the analysis tools and interpret the results\n8. Testing approach: End-to-end testing of the complete pipeline with the actual Emblem Vault SDK, verifying all components work together correctly and produce accurate output",
67
+ "status": "pending",
68
+ "parentTaskId": 1
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "id": 2,
74
+ "title": "Documentation Parser for Usage Patterns",
75
+ "description": "Develop a parser to extract usage examples and patterns from SDK documentation.",
76
+ "status": "pending",
77
+ "dependencies": [
78
+ 1
79
+ ],
80
+ "priority": "high",
81
+ "details": "Create a utility that parses markdown or other documentation formats to extract code examples, usage patterns, and important notes. Store these in a structured format that can be linked to the corresponding SDK methods identified in Task 1. This will provide contextual help within the toolbox.",
82
+ "testStrategy": "Test with various documentation files to ensure accurate extraction of code examples and proper association with SDK methods."
83
+ },
84
+ {
85
+ "id": 3,
86
+ "title": "Basic UI Layout and Navigation Structure",
87
+ "description": "Design and implement the foundational UI layout and navigation for the development toolbox.",
88
+ "status": "pending",
89
+ "dependencies": [],
90
+ "priority": "high",
91
+ "details": "Create a responsive HTML/CSS/JS layout with a sidebar for navigation, main content area, and appropriate headers/footers. Implement navigation between different sections (method explorer, configuration, documentation). Use CSS Grid or Flexbox for responsive behavior and ensure the design works on various screen sizes.",
92
+ "testStrategy": "Test the layout on different devices and screen sizes to verify responsive behavior. Validate navigation paths between all sections."
93
+ },
94
+ {
95
+ "id": 4,
96
+ "title": "State Management Implementation",
97
+ "description": "Develop a state management system to handle toolbox configuration and session data.",
98
+ "status": "pending",
99
+ "dependencies": [
100
+ 3
101
+ ],
102
+ "priority": "medium",
103
+ "details": "Implement a state management solution (using native JS or a lightweight library) to handle user preferences, active SDK configuration, method history, and session persistence. Include functionality to save/load configurations and export test cases. Store state in localStorage where appropriate for persistence between sessions.",
104
+ "testStrategy": "Verify state persistence across page reloads, test state updates from different components, and ensure proper initialization of state on first load."
105
+ },
106
+ {
107
+ "id": 5,
108
+ "title": "SDK Method Explorer Component with Direct SDK Integration",
109
+ "description": "Create an interactive component for exploring and testing SDK methods using the built SDK available in the docs folder.",
110
+ "status": "pending",
111
+ "dependencies": [
112
+ 1,
113
+ 2,
114
+ 4
115
+ ],
116
+ "priority": "high",
117
+ "details": "Develop a component that displays SDK methods organized by category, allows selection of methods, displays parameter inputs dynamically based on method signature, and provides a way to execute methods with the provided parameters. Include syntax highlighting for code examples and results using a library like Prism.js or highlight.js. Directly integrate with the built SDK from the docs folder to enable live method execution within the explorer component.",
118
+ "testStrategy": "Test with various SDK methods to ensure proper parameter rendering, method execution, and result display. Verify that all method categories are accessible and that the SDK integration works correctly with the built SDK from the docs folder."
119
+ },
120
+ {
121
+ "id": 6,
122
+ "title": "SDK Method Execution and Result Handling",
123
+ "description": "Implement execution of SDK methods and proper handling of results using the built SDK.",
124
+ "status": "pending",
125
+ "dependencies": [
126
+ 5
127
+ ],
128
+ "priority": "high",
129
+ "details": "Implement the logic to execute SDK methods from the built SDK based on user selections in the explorer. Handle asynchronous methods properly with loading indicators. Create a sandbox environment for safe method execution and result display. Include the ability to chain method calls where appropriate. Focus on direct integration with the existing SDK rather than dynamic imports.",
130
+ "testStrategy": "Execute various SDK methods with different parameters to verify correct integration. Test error cases and asynchronous behavior using the built SDK from the docs folder."
131
+ },
132
+ {
133
+ "id": 7,
134
+ "title": "Real-time Feedback and Result Visualization",
135
+ "description": "Implement real-time feedback mechanisms and result visualization for SDK operations.",
136
+ "status": "pending",
137
+ "dependencies": [
138
+ 6
139
+ ],
140
+ "priority": "medium",
141
+ "details": "Create components to display method execution results in appropriate formats (JSON, tables, graphs where relevant). Implement real-time updates for long-running operations. Add copy-to-clipboard functionality for results and generated code snippets. Consider adding visual indicators for performance metrics. Ensure compatibility with the response formats from the built SDK.",
142
+ "testStrategy": "Test with various result types to ensure proper visualization. Verify real-time updates for asynchronous operations and validate the accuracy of displayed information from the built SDK."
143
+ },
144
+ {
145
+ "id": 8,
146
+ "title": "Error Handling and Debugging Tools",
147
+ "description": "Develop comprehensive error handling and debugging capabilities for the toolbox.",
148
+ "status": "pending",
149
+ "dependencies": [
150
+ 6,
151
+ 7
152
+ ],
153
+ "priority": "medium",
154
+ "details": "Implement error catching and display for SDK method execution. Create a dedicated error console that shows detailed error information, stack traces, and potential solutions. Add the ability to log method calls and responses for debugging. Include links to relevant documentation for common errors. Ensure compatibility with the error formats from the built SDK in the docs folder.",
155
+ "testStrategy": "Deliberately trigger various error conditions to verify proper error catching, display, and suggested resolutions. Test logging functionality for accuracy with the built SDK."
156
+ },
157
+ {
158
+ "id": 9,
159
+ "title": "Configuration Management Interface",
160
+ "description": "Create an interface for managing SDK configurations and environments.",
161
+ "status": "pending",
162
+ "dependencies": [
163
+ 4,
164
+ 6
165
+ ],
166
+ "priority": "medium",
167
+ "details": "Develop a UI for creating, editing, and switching between different SDK configurations (e.g., development, staging, production environments). Include form validation for configuration parameters. Implement preset configurations for common scenarios and the ability to import/export configurations. Ensure compatibility with the configuration options supported by the built SDK in the docs folder.",
168
+ "testStrategy": "Test configuration switching to verify SDK behavior changes appropriately. Validate form inputs and test import/export functionality with various configuration formats. Verify that configurations work correctly with the built SDK."
169
+ },
170
+ {
171
+ "id": 10,
172
+ "title": "Documentation Integration and Help System",
173
+ "description": "Integrate documentation and contextual help throughout the toolbox interface.",
174
+ "status": "pending",
175
+ "dependencies": [
176
+ 2,
177
+ 5,
178
+ 9
179
+ ],
180
+ "priority": "low",
181
+ "details": "Incorporate the parsed documentation into the UI with contextual help for each method and parameter. Create a searchable documentation browser within the toolbox. Add tooltips and hints for UI elements. Include a getting started guide and tutorials for common workflows using the SDK. Leverage the documentation available in the docs folder alongside the built SDK.",
182
+ "testStrategy": "Verify documentation accuracy and accessibility throughout the interface. Test search functionality and ensure contextual help appears in appropriate locations. Confirm that documentation correctly reflects the capabilities of the built SDK."
183
+ }
184
+ ],
185
+ "metadata": {
186
+ "projectName": "Emblem Vault SDK Development Toolbox",
187
+ "totalTasks": 10,
188
+ "sourceFile": "/Users/shannoncode/repo/Emblem.Current/emblem-vault-sdk/scripts/prd.txt",
189
+ "generatedAt": "2023-11-14"
190
+ }
191
+ }
package/types/index.d.ts CHANGED
@@ -4,9 +4,8 @@ declare class EmblemVaultSDK {
4
4
  private apiKey;
5
5
  private baseUrl;
6
6
  private v3Url;
7
- private v1Url;
8
7
  private sigUrl;
9
- constructor(apiKey: string, baseUrl?: string);
8
+ constructor(apiKey: string, baseUrl?: string, v3Url?: string, sigUrl?: string);
10
9
  generateUploadUrl(): void;
11
10
  getAssetMetadata(projectName: string, strict?: boolean): any[];
12
11
  getAllAssetMetadata(): any[];
package/dist/abi/quote.js DELETED
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.abi = void 0;
4
- exports.abi = [
5
- {
6
- "inputs": [
7
- {
8
- "internalType": "address",
9
- "name": "buyer",
10
- "type": "address"
11
- },
12
- {
13
- "internalType": "uint256",
14
- "name": "_usdPrice",
15
- "type": "uint256"
16
- }
17
- ],
18
- "name": "quoteExternalPrice",
19
- "outputs": [
20
- {
21
- "internalType": "uint256",
22
- "name": "",
23
- "type": "uint256"
24
- }
25
- ],
26
- "stateMutability": "view",
27
- "type": "function"
28
- }
29
- ];
@@ -1,26 +0,0 @@
1
- [
2
- {
3
- "inputs": [
4
- {
5
- "internalType": "address",
6
- "name": "buyer",
7
- "type": "address"
8
- },
9
- {
10
- "internalType": "uint256",
11
- "name": "_usdPrice",
12
- "type": "uint256"
13
- }
14
- ],
15
- "name": "quoteExternalPrice",
16
- "outputs": [
17
- {
18
- "internalType": "uint256",
19
- "name": "",
20
- "type": "uint256"
21
- }
22
- ],
23
- "stateMutability": "view",
24
- "type": "function"
25
- }
26
- ]