@amadeus-protocol/sdk 1.0.8 → 1.1.1

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.
Files changed (200) hide show
  1. package/README.md +215 -30
  2. package/dist/api/chain.d.ts +144 -117
  3. package/dist/api/chain.d.ts.map +1 -1
  4. package/dist/api/chain.js +175 -146
  5. package/dist/api/chain.js.map +1 -1
  6. package/dist/api/contract.d.ts +78 -60
  7. package/dist/api/contract.d.ts.map +1 -1
  8. package/dist/api/contract.js +102 -75
  9. package/dist/api/contract.js.map +1 -1
  10. package/dist/api/epoch.d.ts +65 -66
  11. package/dist/api/epoch.d.ts.map +1 -1
  12. package/dist/api/epoch.js +90 -98
  13. package/dist/api/epoch.js.map +1 -1
  14. package/dist/api/peer.d.ts +77 -78
  15. package/dist/api/peer.d.ts.map +1 -1
  16. package/dist/api/peer.js +93 -94
  17. package/dist/api/peer.js.map +1 -1
  18. package/dist/api/proof.d.ts +44 -23
  19. package/dist/api/proof.d.ts.map +1 -1
  20. package/dist/api/proof.js +56 -29
  21. package/dist/api/proof.js.map +1 -1
  22. package/dist/api/transaction.d.ts +68 -69
  23. package/dist/api/transaction.d.ts.map +1 -1
  24. package/dist/api/transaction.js +84 -84
  25. package/dist/api/transaction.js.map +1 -1
  26. package/dist/api/wallet.d.ts +36 -37
  27. package/dist/api/wallet.d.ts.map +1 -1
  28. package/dist/api/wallet.js +47 -50
  29. package/dist/api/wallet.js.map +1 -1
  30. package/dist/client.d.ts +66 -68
  31. package/dist/client.d.ts.map +1 -1
  32. package/dist/client.js +231 -276
  33. package/dist/client.js.map +1 -1
  34. package/dist/constants.d.ts +13 -10
  35. package/dist/constants.d.ts.map +1 -1
  36. package/dist/constants.js +49 -45
  37. package/dist/constants.js.map +1 -1
  38. package/dist/contract-state.d.ts +6 -3
  39. package/dist/contract-state.d.ts.map +1 -1
  40. package/dist/contract-state.js +88 -106
  41. package/dist/contract-state.js.map +1 -1
  42. package/dist/contracts/abi-types.d.ts +32 -32
  43. package/dist/contracts/abi-types.d.ts.map +1 -1
  44. package/dist/contracts/coin.d.ts +13 -20
  45. package/dist/contracts/coin.d.ts.map +1 -1
  46. package/dist/contracts/coin.js +42 -38
  47. package/dist/contracts/coin.js.map +1 -1
  48. package/dist/contracts/contract-call.d.ts +14 -16
  49. package/dist/contracts/contract-call.d.ts.map +1 -1
  50. package/dist/contracts/contract-call.js +45 -54
  51. package/dist/contracts/contract-call.js.map +1 -1
  52. package/dist/contracts/contract.d.ts +24 -55
  53. package/dist/contracts/contract.d.ts.map +1 -1
  54. package/dist/contracts/contract.js +63 -101
  55. package/dist/contracts/contract.js.map +1 -1
  56. package/dist/contracts/lockup/abi.d.ts +54 -51
  57. package/dist/contracts/lockup/abi.d.ts.map +1 -1
  58. package/dist/contracts/lockup/abi.js +65 -74
  59. package/dist/contracts/lockup/abi.js.map +1 -1
  60. package/dist/contracts/lockup/helpers.d.ts +22 -18
  61. package/dist/contracts/lockup/helpers.d.ts.map +1 -1
  62. package/dist/contracts/lockup/helpers.js +44 -47
  63. package/dist/contracts/lockup/helpers.js.map +1 -1
  64. package/dist/contracts/lockup/parsers.d.ts +7 -3
  65. package/dist/contracts/lockup/parsers.d.ts.map +1 -1
  66. package/dist/contracts/lockup/parsers.js +51 -55
  67. package/dist/contracts/lockup/parsers.js.map +1 -1
  68. package/dist/contracts/lockup/storage-keys.d.ts +5 -2
  69. package/dist/contracts/lockup/storage-keys.d.ts.map +1 -1
  70. package/dist/contracts/lockup/storage-keys.js +54 -70
  71. package/dist/contracts/lockup/storage-keys.js.map +1 -1
  72. package/dist/contracts/lockup/types.d.ts +73 -70
  73. package/dist/contracts/lockup/types.d.ts.map +1 -1
  74. package/dist/contracts/lockup-prime/abi.d.ts +328 -325
  75. package/dist/contracts/lockup-prime/abi.d.ts.map +1 -1
  76. package/dist/contracts/lockup-prime/abi.js +397 -417
  77. package/dist/contracts/lockup-prime/abi.js.map +1 -1
  78. package/dist/contracts/lockup-prime/helpers.d.ts +35 -31
  79. package/dist/contracts/lockup-prime/helpers.d.ts.map +1 -1
  80. package/dist/contracts/lockup-prime/helpers.js +131 -137
  81. package/dist/contracts/lockup-prime/helpers.js.map +1 -1
  82. package/dist/contracts/lockup-prime/parsers.d.ts +9 -5
  83. package/dist/contracts/lockup-prime/parsers.d.ts.map +1 -1
  84. package/dist/contracts/lockup-prime/parsers.js +61 -61
  85. package/dist/contracts/lockup-prime/parsers.js.map +1 -1
  86. package/dist/contracts/lockup-prime/storage-keys.d.ts +7 -4
  87. package/dist/contracts/lockup-prime/storage-keys.d.ts.map +1 -1
  88. package/dist/contracts/lockup-prime/storage-keys.js +64 -80
  89. package/dist/contracts/lockup-prime/storage-keys.js.map +1 -1
  90. package/dist/contracts/lockup-prime/types.d.ts +92 -89
  91. package/dist/contracts/lockup-prime/types.d.ts.map +1 -1
  92. package/dist/contracts/lockup-prime/types.js +12 -13
  93. package/dist/contracts/lockup-prime/types.js.map +1 -1
  94. package/dist/contracts/nft/abi.d.ts +104 -0
  95. package/dist/contracts/nft/abi.d.ts.map +1 -0
  96. package/dist/contracts/nft/abi.js +135 -0
  97. package/dist/contracts/nft/abi.js.map +1 -0
  98. package/dist/contracts/nft/helpers.d.ts +21 -0
  99. package/dist/contracts/nft/helpers.d.ts.map +1 -0
  100. package/dist/contracts/nft/helpers.js +61 -0
  101. package/dist/contracts/nft/helpers.js.map +1 -0
  102. package/dist/contracts/nft/types.d.ts +47 -0
  103. package/dist/contracts/nft/types.d.ts.map +1 -0
  104. package/dist/conversion.d.ts +5 -2
  105. package/dist/conversion.d.ts.map +1 -1
  106. package/dist/conversion.js +45 -50
  107. package/dist/conversion.js.map +1 -1
  108. package/dist/crypto.d.ts +14 -16
  109. package/dist/crypto.d.ts.map +1 -1
  110. package/dist/crypto.js +121 -140
  111. package/dist/crypto.js.map +1 -1
  112. package/dist/encoding.d.ts +11 -8
  113. package/dist/encoding.d.ts.map +1 -1
  114. package/dist/encoding.js +123 -144
  115. package/dist/encoding.js.map +1 -1
  116. package/dist/encryption.d.ts +15 -12
  117. package/dist/encryption.d.ts.map +1 -1
  118. package/dist/encryption.js +119 -117
  119. package/dist/encryption.js.map +1 -1
  120. package/dist/explorer.d.ts +10 -7
  121. package/dist/explorer.d.ts.map +1 -1
  122. package/dist/explorer.js +51 -48
  123. package/dist/explorer.js.map +1 -1
  124. package/dist/formatters.d.ts +8 -5
  125. package/dist/formatters.d.ts.map +1 -1
  126. package/dist/formatters.js +67 -68
  127. package/dist/formatters.js.map +1 -1
  128. package/dist/index.d.ts +42 -55
  129. package/dist/index.js +39 -55
  130. package/dist/mnemonic.d.ts +12 -9
  131. package/dist/mnemonic.d.ts.map +1 -1
  132. package/dist/mnemonic.js +105 -114
  133. package/dist/mnemonic.js.map +1 -1
  134. package/dist/networks.d.ts +14 -17
  135. package/dist/networks.d.ts.map +1 -1
  136. package/dist/networks.js +40 -36
  137. package/dist/networks.js.map +1 -1
  138. package/dist/schemas.js +75 -79
  139. package/dist/schemas.js.map +1 -1
  140. package/dist/sdk.d.ts +69 -65
  141. package/dist/sdk.d.ts.map +1 -1
  142. package/dist/sdk.js +126 -117
  143. package/dist/sdk.js.map +1 -1
  144. package/dist/serialization.d.ts +8 -18
  145. package/dist/serialization.d.ts.map +1 -1
  146. package/dist/serialization.js +207 -260
  147. package/dist/serialization.js.map +1 -1
  148. package/dist/signing.js +67 -67
  149. package/dist/signing.js.map +1 -1
  150. package/dist/transaction-builder.d.ts +175 -184
  151. package/dist/transaction-builder.d.ts.map +1 -1
  152. package/dist/transaction-builder.js +295 -344
  153. package/dist/transaction-builder.js.map +1 -1
  154. package/dist/transaction-errors.d.ts +10 -12
  155. package/dist/transaction-errors.d.ts.map +1 -1
  156. package/dist/transaction-errors.js +145 -166
  157. package/dist/transaction-errors.js.map +1 -1
  158. package/dist/types.d.ts +530 -450
  159. package/dist/types.d.ts.map +1 -1
  160. package/dist/types.js +169 -183
  161. package/dist/types.js.map +1 -1
  162. package/dist/validation.d.ts +24 -26
  163. package/dist/validation.d.ts.map +1 -1
  164. package/dist/validation.js +194 -192
  165. package/dist/validation.js.map +1 -1
  166. package/package.json +4 -3
  167. package/dist/api/index.d.ts +0 -8
  168. package/dist/api/index.d.ts.map +0 -1
  169. package/dist/api/index.js +0 -8
  170. package/dist/api/index.js.map +0 -1
  171. package/dist/contracts/abi-types.js +0 -8
  172. package/dist/contracts/abi-types.js.map +0 -1
  173. package/dist/contracts/index.d.ts +0 -7
  174. package/dist/contracts/index.d.ts.map +0 -1
  175. package/dist/contracts/index.js +0 -7
  176. package/dist/contracts/index.js.map +0 -1
  177. package/dist/contracts/lockup/calls.d.ts +0 -23
  178. package/dist/contracts/lockup/calls.d.ts.map +0 -1
  179. package/dist/contracts/lockup/calls.js +0 -25
  180. package/dist/contracts/lockup/calls.js.map +0 -1
  181. package/dist/contracts/lockup/index.d.ts +0 -6
  182. package/dist/contracts/lockup/index.d.ts.map +0 -1
  183. package/dist/contracts/lockup/index.js +0 -6
  184. package/dist/contracts/lockup/index.js.map +0 -1
  185. package/dist/contracts/lockup/types.js +0 -7
  186. package/dist/contracts/lockup/types.js.map +0 -1
  187. package/dist/contracts/lockup-prime/calls.d.ts +0 -53
  188. package/dist/contracts/lockup-prime/calls.d.ts.map +0 -1
  189. package/dist/contracts/lockup-prime/calls.js +0 -60
  190. package/dist/contracts/lockup-prime/calls.js.map +0 -1
  191. package/dist/contracts/lockup-prime/index.d.ts +0 -6
  192. package/dist/contracts/lockup-prime/index.d.ts.map +0 -1
  193. package/dist/contracts/lockup-prime/index.js +0 -6
  194. package/dist/contracts/lockup-prime/index.js.map +0 -1
  195. package/dist/index.d.ts.map +0 -1
  196. package/dist/index.js.map +0 -1
  197. package/dist/schemas.d.ts +0 -67
  198. package/dist/schemas.d.ts.map +0 -1
  199. package/dist/signing.d.ts +0 -39
  200. package/dist/signing.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","names":[],"sources":["../src/client.ts"],"sourcesContent":["/**\n * HTTP Client\n *\n * Lightweight HTTP client using native fetch API (no axios dependency)\n * Provides request/response handling, timeout management, and error handling.\n */\n\nimport type { AmadeusSDKConfig, ApiResponse } from './types'\nimport { AmadeusSDKError } from './types'\nimport { NODE_API_URL, DEFAULT_TIMEOUT, SDK_VERSION } from './constants'\nimport { NonEmptyStringSchema } from './schemas'\nimport { validate } from './validation'\n\n/**\n * Validates a URL string\n */\nfunction isValidUrl(url: string): boolean {\n\ttry {\n\t\tconst parsed = new URL(url)\n\t\treturn parsed.protocol === 'http:' || parsed.protocol === 'https:'\n\t} catch {\n\t\treturn false\n\t}\n}\n\nexport class AmadeusClient {\n\tprivate config: Required<AmadeusSDKConfig>\n\tprivate abortController: AbortController | null = null\n\n\t/**\n\t * Create a new AmadeusClient instance\n\t *\n\t * @param config - SDK configuration\n\t * @throws {AmadeusSDKError} If baseUrl is invalid\n\t */\n\tconstructor(config: AmadeusSDKConfig) {\n\t\tconst baseUrl = config.baseUrl || NODE_API_URL\n\n\t\tif (!isValidUrl(baseUrl)) {\n\t\t\tthrow new AmadeusSDKError(\n\t\t\t\t`Invalid baseUrl: ${baseUrl}. Must be a valid HTTP/HTTPS URL.`\n\t\t\t)\n\t\t}\n\n\t\t// Ensure baseUrl doesn't end with a slash\n\t\tconst normalizedBaseUrl = baseUrl.replace(/\\/+$/, '')\n\n\t\tthis.config = {\n\t\t\tbaseUrl: normalizedBaseUrl,\n\t\t\ttimeout: config.timeout && config.timeout > 0 ? config.timeout : DEFAULT_TIMEOUT,\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/octet-stream',\n\t\t\t\t'X-Client-Type': `@amadeus-protocol/sdk/${SDK_VERSION}`,\n\t\t\t\t...config.headers\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Make a GET request\n\t *\n\t * @param endpoint - API endpoint path\n\t * @param params - Optional query parameters\n\t * @returns Promise resolving to the response data\n\t */\n\tasync get<T = unknown>(endpoint: string, params?: Record<string, unknown>): Promise<T> {\n\t\tvalidate(NonEmptyStringSchema, endpoint)\n\n\t\tconst url = this.buildUrl(endpoint, params)\n\t\tconst response = await this.request(url, {\n\t\t\tmethod: 'GET'\n\t\t})\n\t\treturn this.handleResponse(response) as Promise<T>\n\t}\n\n\t/**\n\t * Make a POST request\n\t *\n\t * @param endpoint - API endpoint path\n\t * @param data - Request body data (Uint8Array for binary, object for JSON)\n\t * @returns Promise resolving to the response data\n\t */\n\tasync post<T = unknown>(endpoint: string, data?: unknown): Promise<T> {\n\t\tvalidate(NonEmptyStringSchema, endpoint)\n\n\t\tconst url = this.buildUrl(endpoint)\n\t\tconst { body, contentType } = this.prepareBody(data)\n\n\t\tconst response = await this.request(url, {\n\t\t\tmethod: 'POST',\n\t\t\tbody,\n\t\t\theaders: {\n\t\t\t\t'Content-Type': contentType\n\t\t\t}\n\t\t})\n\t\treturn this.handleResponse(response) as Promise<T>\n\t}\n\n\t/**\n\t * Build full URL with query parameters\n\t */\n\tprivate buildUrl(endpoint: string, params?: Record<string, unknown>): string {\n\t\tconst url = new URL(endpoint, this.config.baseUrl)\n\n\t\tif (params) {\n\t\t\tfor (const [key, value] of Object.entries(params)) {\n\t\t\t\tif (value !== undefined && value !== null) {\n\t\t\t\t\turl.searchParams.append(key, String(value))\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn url.toString()\n\t}\n\n\t/**\n\t * Prepare request body and determine Content-Type\n\t */\n\tprivate prepareBody(data?: unknown): { body: BodyInit | undefined; contentType: string } {\n\t\tif (!data) {\n\t\t\treturn { body: undefined, contentType: 'application/octet-stream' }\n\t\t}\n\n\t\t// If it's already a Uint8Array or ArrayBuffer, send as binary\n\t\tif (data instanceof Uint8Array) {\n\t\t\treturn { body: data as BodyInit, contentType: 'application/octet-stream' }\n\t\t}\n\t\tif (data instanceof ArrayBuffer) {\n\t\t\treturn { body: data as BodyInit, contentType: 'application/octet-stream' }\n\t\t}\n\n\t\t// If it's a Buffer (Node.js), convert to Uint8Array\n\t\tif (typeof Buffer !== 'undefined' && Buffer.isBuffer(data)) {\n\t\t\treturn {\n\t\t\t\tbody: new Uint8Array(data) as BodyInit,\n\t\t\t\tcontentType: 'application/octet-stream'\n\t\t\t}\n\t\t}\n\n\t\t// For objects, try to send as binary if it has txPacked or tx_packed\n\t\tif (typeof data === 'object' && data !== null) {\n\t\t\tconst obj = data as Record<string, unknown>\n\t\t\tif ('txPacked' in obj && obj.txPacked instanceof Uint8Array) {\n\t\t\t\treturn { body: obj.txPacked as BodyInit, contentType: 'application/octet-stream' }\n\t\t\t}\n\t\t\tif ('tx_packed' in obj && obj.tx_packed instanceof Uint8Array) {\n\t\t\t\treturn { body: obj.tx_packed as BodyInit, contentType: 'application/octet-stream' }\n\t\t\t}\n\t\t}\n\n\t\t// Default: send as JSON\n\t\treturn { body: JSON.stringify(data), contentType: 'application/json' }\n\t}\n\n\t/**\n\t * Make HTTP request with timeout\n\t */\n\tprivate async request(url: string, options: RequestInit): Promise<Response> {\n\t\t// Cancel previous request if any\n\t\tif (this.abortController) {\n\t\t\tthis.abortController.abort()\n\t\t}\n\n\t\tthis.abortController = new AbortController()\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\tthis.abortController?.abort()\n\t\t}, this.config.timeout)\n\n\t\ttry {\n\t\t\tconst response = await fetch(url, {\n\t\t\t\t...options,\n\t\t\t\theaders: {\n\t\t\t\t\t...this.config.headers,\n\t\t\t\t\t...options.headers\n\t\t\t\t},\n\t\t\t\tsignal: this.abortController.signal\n\t\t\t})\n\n\t\t\tclearTimeout(timeoutId)\n\t\t\treturn response\n\t\t} catch (error) {\n\t\t\tclearTimeout(timeoutId)\n\t\t\tif (error instanceof Error) {\n\t\t\t\tif (error.name === 'AbortError' || error.name === 'TimeoutError') {\n\t\t\t\t\tthrow new AmadeusSDKError(`Request timeout after ${this.config.timeout}ms`, 408)\n\t\t\t\t}\n\t\t\t\tthrow new AmadeusSDKError(\n\t\t\t\t\t`Request failed: ${error.message}`,\n\t\t\t\t\t0,\n\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t? { message: error.message, name: error.name }\n\t\t\t\t\t\t: { error: String(error) }\n\t\t\t\t)\n\t\t\t}\n\t\t\tthrow new AmadeusSDKError(`Request failed: ${String(error)}`, 0, {\n\t\t\t\terror: String(error)\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * Handle API response and parse errors\n\t */\n\tprivate async handleResponse(response: Response): Promise<unknown> {\n\t\tif (!response.ok) {\n\t\t\tlet errorData: unknown\n\t\t\tconst contentType = response.headers.get('content-type')\n\n\t\t\ttry {\n\t\t\t\tif (contentType?.includes('application/json')) {\n\t\t\t\t\terrorData = await response.json()\n\t\t\t\t} else {\n\t\t\t\t\tconst text = await response.text()\n\t\t\t\t\t// If it's HTML, try to extract a meaningful error message\n\t\t\t\t\tif (contentType?.includes('text/html')) {\n\t\t\t\t\t\t// Try to extract title or error message from HTML\n\t\t\t\t\t\tconst titleMatch = text.match(/<title>([^<]+)<\\/title>/i)\n\t\t\t\t\t\tconst h1Match = text.match(/<h1[^>]*>([^<]+)<\\/h1>/i)\n\t\t\t\t\t\terrorData =\n\t\t\t\t\t\t\ttitleMatch?.[1] || h1Match?.[1] || `HTTP ${response.status} Error`\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrorData = text\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (parseError) {\n\t\t\t\terrorData = `Failed to parse error response: ${\n\t\t\t\t\tparseError instanceof Error ? parseError.message : String(parseError)\n\t\t\t\t}`\n\t\t\t}\n\n\t\t\tconst message =\n\t\t\t\ttypeof errorData === 'object' && errorData !== null && 'error' in errorData\n\t\t\t\t\t? String((errorData as { error: unknown }).error)\n\t\t\t\t\t: typeof errorData === 'string'\n\t\t\t\t\t\t? errorData.length > 500\n\t\t\t\t\t\t\t? `${errorData.substring(0, 500)}... (truncated)`\n\t\t\t\t\t\t\t: errorData\n\t\t\t\t\t\t: response.statusText || 'Unknown error'\n\n\t\t\tthrow new AmadeusSDKError(\n\t\t\t\t`HTTP ${response.status}: ${message}`,\n\t\t\t\tresponse.status,\n\t\t\t\terrorData as Record<string, unknown>\n\t\t\t)\n\t\t}\n\n\t\tconst contentType = response.headers.get('content-type')\n\t\tlet data: unknown\n\n\t\ttry {\n\t\t\tif (contentType?.includes('application/json')) {\n\t\t\t\tdata = await response.json()\n\t\t\t} else {\n\t\t\t\t// Try JSON first, fallback to text\n\t\t\t\tconst text = await response.text()\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(text)\n\t\t\t\t} catch {\n\t\t\t\t\tdata = text\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (parseError) {\n\t\t\tthrow new AmadeusSDKError(\n\t\t\t\t`Failed to parse response: ${parseError instanceof Error ? parseError.message : String(parseError)}`,\n\t\t\t\tresponse.status\n\t\t\t)\n\t\t}\n\n\t\t// Handle API response format\n\t\tif (typeof data === 'object' && data !== null && 'error' in data) {\n\t\t\tconst apiResponse = data as ApiResponse\n\t\t\tif (apiResponse.error === 'ok') {\n\t\t\t\t// Remove error property from response (intentionally unused)\n\t\t\t\tconst { error: _error, ...rest } = apiResponse\n\t\t\t\treturn rest\n\t\t\t} else if (apiResponse.error === 'not_found') {\n\t\t\t\tthrow new AmadeusSDKError(\n\t\t\t\t\t'Resource not found',\n\t\t\t\t\t404,\n\t\t\t\t\tapiResponse as Record<string, unknown>\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tthrow new AmadeusSDKError(\n\t\t\t\t\tapiResponse.error || 'Unknown API error',\n\t\t\t\t\t400,\n\t\t\t\t\tapiResponse as Record<string, unknown>\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\n\t\treturn data\n\t}\n\n\t/**\n\t * Get current configuration\n\t */\n\tgetConfig(): AmadeusSDKConfig {\n\t\treturn { ...this.config }\n\t}\n\n\t/**\n\t * Update base URL\n\t *\n\t * @param url - New base URL\n\t * @throws {AmadeusSDKError} If URL is invalid\n\t */\n\tsetBaseUrl(url: string): void {\n\t\tif (!isValidUrl(url)) {\n\t\t\tthrow new AmadeusSDKError(`Invalid baseUrl: ${url}. Must be a valid HTTP/HTTPS URL.`)\n\t\t}\n\t\tthis.config.baseUrl = url.replace(/\\/+$/, '')\n\t}\n\n\t/**\n\t * Update headers\n\t */\n\tsetHeaders(headers: Record<string, string>): void {\n\t\tthis.config.headers = { ...this.config.headers, ...headers }\n\t}\n\n\t/**\n\t * Cancel ongoing requests\n\t */\n\tcancel(): void {\n\t\tif (this.abortController) {\n\t\t\tthis.abortController.abort()\n\t\t\tthis.abortController = null\n\t\t}\n\t}\n}\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ //#region src/constants.d.ts
1
2
  /**
2
3
  * Amadeus Protocol Constants
3
4
  *
@@ -6,41 +7,43 @@
6
7
  /**
7
8
  * SDK version
8
9
  */
9
- export declare const SDK_VERSION = "1.0.0";
10
+ declare const SDK_VERSION = "1.0.0";
10
11
  /**
11
12
  * Byte length of an Amadeus public key (BLS12-381 public key)
12
13
  */
13
- export declare const AMADEUS_PUBLIC_KEY_BYTE_LENGTH = 48;
14
+ declare const AMADEUS_PUBLIC_KEY_BYTE_LENGTH = 48;
14
15
  /**
15
16
  * Byte length of an Amadeus seed (private key seed)
16
17
  */
17
- export declare const AMADEUS_SEED_BYTE_LENGTH = 64;
18
+ declare const AMADEUS_SEED_BYTE_LENGTH = 64;
18
19
  /**
19
20
  * Number of decimal places for AMA token
20
21
  */
21
- export declare const AMA_TOKEN_DECIMALS = 9;
22
+ declare const AMA_TOKEN_DECIMALS = 9;
22
23
  /**
23
24
  * Multiplier for converting between atomic units and AMA tokens
24
25
  */
25
- export declare const AMA_TOKEN_DECIMALS_MULTIPLIER: number;
26
+ declare const AMA_TOKEN_DECIMALS_MULTIPLIER: number;
26
27
  /**
27
28
  * Minimum transferable amount in AMA (1 atomic unit)
28
29
  */
29
- export declare const MIN_TRANSFERABLE_AMOUNT: number;
30
+ declare const MIN_TRANSFERABLE_AMOUNT: number;
30
31
  /**
31
32
  * Flat network transfer fee in AMA for standard transfers
32
33
  */
33
- export declare const AMA_TRANSFER_FEE = 0.02;
34
+ declare const AMA_TRANSFER_FEE = 0.02;
34
35
  /**
35
36
  * Default explorer URL
36
37
  */
37
- export declare const EXPLORER_URL = "https://explorer.ama.one";
38
+ declare const EXPLORER_URL = "https://explorer.ama.one";
38
39
  /**
39
40
  * Default node API URL
40
41
  */
41
- export declare const NODE_API_URL = "https://mainnet-rpc.ama.one/api";
42
+ declare const NODE_API_URL = "https://mainnet-rpc.ama.one/api";
42
43
  /**
43
44
  * Default request timeout in milliseconds
44
45
  */
45
- export declare const DEFAULT_TIMEOUT = 30000;
46
+ declare const DEFAULT_TIMEOUT = 30000;
47
+ //#endregion
48
+ export { AMADEUS_PUBLIC_KEY_BYTE_LENGTH, AMADEUS_SEED_BYTE_LENGTH, AMA_TOKEN_DECIMALS, AMA_TOKEN_DECIMALS_MULTIPLIER, AMA_TRANSFER_FEE, DEFAULT_TIMEOUT, EXPLORER_URL, MIN_TRANSFERABLE_AMOUNT, NODE_API_URL, SDK_VERSION };
46
49
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW,UAAU,CAAA;AAElC;;GAEG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAA;AAEhD;;GAEG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C;;GAEG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;;GAEG;AACH,eAAO,MAAM,6BAA6B,QAA2B,CAAA;AAErE;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAoC,CAAA;AAExE;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAEpC;;GAEG;AACH,eAAO,MAAM,YAAY,6BAA6B,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,YAAY,oCAAoC,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","names":[],"sources":["../src/constants.ts"],"mappings":";;AASA;;;;;AAKA;;cALa,WAAA;;;AAUb;cALa,8BAAA;;;;cAKA,wBAAA;;;;cAKA,kBAAA;AAKb;;;AAAA,cAAa,6BAAA;;AAKb;;cAAa,uBAAA;;;AAKb;cAAa,gBAAA;;;;cAKA,YAAA;;;;cAKA,YAAA;AAAb;;;AAAA,cAKa,eAAA"}
package/dist/constants.js CHANGED
@@ -1,46 +1,50 @@
1
- /**
2
- * Amadeus Protocol Constants
3
- *
4
- * This module contains all protocol-level constants used throughout the SDK.
5
- */
6
- /**
7
- * SDK version
8
- */
9
- export const SDK_VERSION = '1.0.0';
10
- /**
11
- * Byte length of an Amadeus public key (BLS12-381 public key)
12
- */
13
- export const AMADEUS_PUBLIC_KEY_BYTE_LENGTH = 48;
14
- /**
15
- * Byte length of an Amadeus seed (private key seed)
16
- */
17
- export const AMADEUS_SEED_BYTE_LENGTH = 64;
18
- /**
19
- * Number of decimal places for AMA token
20
- */
21
- export const AMA_TOKEN_DECIMALS = 9;
22
- /**
23
- * Multiplier for converting between atomic units and AMA tokens
24
- */
25
- export const AMA_TOKEN_DECIMALS_MULTIPLIER = 10 ** AMA_TOKEN_DECIMALS;
26
- /**
27
- * Minimum transferable amount in AMA (1 atomic unit)
28
- */
29
- export const MIN_TRANSFERABLE_AMOUNT = 1 / AMA_TOKEN_DECIMALS_MULTIPLIER;
30
- /**
31
- * Flat network transfer fee in AMA for standard transfers
32
- */
33
- export const AMA_TRANSFER_FEE = 0.02;
34
- /**
35
- * Default explorer URL
36
- */
37
- export const EXPLORER_URL = 'https://explorer.ama.one';
38
- /**
39
- * Default node API URL
40
- */
41
- export const NODE_API_URL = 'https://mainnet-rpc.ama.one/api';
42
- /**
43
- * Default request timeout in milliseconds
44
- */
45
- export const DEFAULT_TIMEOUT = 30000;
1
+ //#region src/constants.ts
2
+ /**
3
+ * Amadeus Protocol Constants
4
+ *
5
+ * This module contains all protocol-level constants used throughout the SDK.
6
+ */
7
+ /**
8
+ * SDK version
9
+ */
10
+ const SDK_VERSION = "1.0.0";
11
+ /**
12
+ * Byte length of an Amadeus public key (BLS12-381 public key)
13
+ */
14
+ const AMADEUS_PUBLIC_KEY_BYTE_LENGTH = 48;
15
+ /**
16
+ * Byte length of an Amadeus seed (private key seed)
17
+ */
18
+ const AMADEUS_SEED_BYTE_LENGTH = 64;
19
+ /**
20
+ * Number of decimal places for AMA token
21
+ */
22
+ const AMA_TOKEN_DECIMALS = 9;
23
+ /**
24
+ * Multiplier for converting between atomic units and AMA tokens
25
+ */
26
+ const AMA_TOKEN_DECIMALS_MULTIPLIER = 10 ** 9;
27
+ /**
28
+ * Minimum transferable amount in AMA (1 atomic unit)
29
+ */
30
+ const MIN_TRANSFERABLE_AMOUNT = 1 / AMA_TOKEN_DECIMALS_MULTIPLIER;
31
+ /**
32
+ * Flat network transfer fee in AMA for standard transfers
33
+ */
34
+ const AMA_TRANSFER_FEE = .02;
35
+ /**
36
+ * Default explorer URL
37
+ */
38
+ const EXPLORER_URL = "https://explorer.ama.one";
39
+ /**
40
+ * Default node API URL
41
+ */
42
+ const NODE_API_URL = "https://mainnet-rpc.ama.one/api";
43
+ /**
44
+ * Default request timeout in milliseconds
45
+ */
46
+ const DEFAULT_TIMEOUT = 3e4;
47
+ //#endregion
48
+ export { AMADEUS_PUBLIC_KEY_BYTE_LENGTH, AMADEUS_SEED_BYTE_LENGTH, AMA_TOKEN_DECIMALS, AMA_TOKEN_DECIMALS_MULTIPLIER, AMA_TRANSFER_FEE, DEFAULT_TIMEOUT, EXPLORER_URL, MIN_TRANSFERABLE_AMOUNT, NODE_API_URL, SDK_VERSION };
49
+
46
50
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAA;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAA;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,IAAI,kBAAkB,CAAA;AAErE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,6BAA6B,CAAA;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,0BAA0B,CAAA;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAA;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../src/constants.ts"],"sourcesContent":["/**\n * Amadeus Protocol Constants\n *\n * This module contains all protocol-level constants used throughout the SDK.\n */\n\n/**\n * SDK version\n */\nexport const SDK_VERSION = '1.0.0'\n\n/**\n * Byte length of an Amadeus public key (BLS12-381 public key)\n */\nexport const AMADEUS_PUBLIC_KEY_BYTE_LENGTH = 48\n\n/**\n * Byte length of an Amadeus seed (private key seed)\n */\nexport const AMADEUS_SEED_BYTE_LENGTH = 64\n\n/**\n * Number of decimal places for AMA token\n */\nexport const AMA_TOKEN_DECIMALS = 9\n\n/**\n * Multiplier for converting between atomic units and AMA tokens\n */\nexport const AMA_TOKEN_DECIMALS_MULTIPLIER = 10 ** AMA_TOKEN_DECIMALS\n\n/**\n * Minimum transferable amount in AMA (1 atomic unit)\n */\nexport const MIN_TRANSFERABLE_AMOUNT = 1 / AMA_TOKEN_DECIMALS_MULTIPLIER\n\n/**\n * Flat network transfer fee in AMA for standard transfers\n */\nexport const AMA_TRANSFER_FEE = 0.02\n\n/**\n * Default explorer URL\n */\nexport const EXPLORER_URL = 'https://explorer.ama.one'\n\n/**\n * Default node API URL\n */\nexport const NODE_API_URL = 'https://mainnet-rpc.ama.one/api'\n\n/**\n * Default request timeout in milliseconds\n */\nexport const DEFAULT_TIMEOUT = 30000\n"],"mappings":";;;;;;;;;AASA,MAAa,cAAc;;;;AAK3B,MAAa,iCAAiC;;;;AAK9C,MAAa,2BAA2B;;;;AAKxC,MAAa,qBAAqB;;;;AAKlC,MAAa,gCAAgC,MAAA;;;;AAK7C,MAAa,0BAA0B,IAAI;;;;AAK3C,MAAa,mBAAmB;;;;AAKhC,MAAa,eAAe;;;;AAK5B,MAAa,eAAe;;;;AAK5B,MAAa,kBAAkB"}
@@ -1,3 +1,4 @@
1
+ //#region src/contract-state.d.ts
1
2
  /**
2
3
  * Contract State Utilities
3
4
  *
@@ -21,7 +22,7 @@
21
22
  * // entries: [["base64key", "base64value"], ...]
22
23
  * ```
23
24
  */
24
- export declare function decodeContractStateToBase64(bytes: Uint8Array | ArrayBuffer): Array<[string, string]>;
25
+ declare function decodeContractStateToBase64(bytes: Uint8Array | ArrayBuffer): Array<[string, string]>;
25
26
  /**
26
27
  * Parse a contract state value as a number.
27
28
  *
@@ -42,7 +43,7 @@ export declare function decodeContractStateToBase64(bytes: Uint8Array | ArrayBuf
42
43
  * parseStateNumber(null) // 0
43
44
  * ```
44
45
  */
45
- export declare function parseStateNumber(value: string | number | Uint8Array | null | undefined): number;
46
+ declare function parseStateNumber(value: string | number | Uint8Array | null | undefined): number;
46
47
  /**
47
48
  * Parse a contract state value as a string.
48
49
  *
@@ -55,5 +56,7 @@ export declare function parseStateNumber(value: string | number | Uint8Array | n
55
56
  * @param value - Raw contract state value
56
57
  * @returns Parsed string or null
57
58
  */
58
- export declare function parseStateString(value: string | number | Uint8Array | null | undefined): string | null;
59
+ declare function parseStateString(value: string | number | Uint8Array | null | undefined): string | null;
60
+ //#endregion
61
+ export { decodeContractStateToBase64, parseStateNumber, parseStateString };
59
62
  //# sourceMappingURL=contract-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-state.d.ts","sourceRoot":"","sources":["../src/contract-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,UAAU,GAAG,WAAW,GAC7B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAKzB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GACpD,MAAM,CAWR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GACpD,MAAM,GAAG,IAAI,CAQf"}
1
+ {"version":3,"file":"contract-state.d.ts","names":[],"sources":["../src/contract-state.ts"],"mappings":";;AA2BA;;;;;;;;;;;;;;AA6BA;;;;;AAyBA;;;iBAtDgB,2BAAA,CACf,KAAA,EAAO,UAAA,GAAa,WAAA,GAClB,KAAA;;;;;;;;;;;;;;;;;;;;;iBA2Ba,gBAAA,CAAiB,KAAA,oBAAyB,UAAA;;;;;;;;;;;;;iBAyB1C,gBAAA,CACf,KAAA,oBAAyB,UAAA"}
@@ -1,117 +1,99 @@
1
+ import { decodeContractState } from "./serialization.js";
2
+ import { uint8ArrayToBase64 } from "./encoding.js";
3
+ //#region src/contract-state.ts
1
4
  /**
2
- * Contract State Utilities
3
- *
4
- * Provides functions for parsing contract state values returned by the Amadeus chain.
5
- * Contract state values are stored as binary (Uint8Array) and need to be decoded
6
- * into usable types (numbers, strings, etc.).
7
- */
8
- import { uint8ArrayToBase64 } from './encoding';
9
- import { decodeContractState } from './serialization';
5
+ * Contract State Utilities
6
+ *
7
+ * Provides functions for parsing contract state values returned by the Amadeus chain.
8
+ * Contract state values are stored as binary (Uint8Array) and need to be decoded
9
+ * into usable types (numbers, strings, etc.).
10
+ */
10
11
  /**
11
- * Decode VecPack-encoded contract state and convert keys/values to Base64 strings.
12
- *
13
- * Useful for serializing decoded contract state for Redux or other stores
14
- * that require JSON-serializable values.
15
- *
16
- * @param bytes - VecPack-encoded bytes (Uint8Array or ArrayBuffer)
17
- * @returns Array of [key, value] tuples as Base64 strings
18
- *
19
- * @example
20
- * ```ts
21
- * const buffer = await response.arrayBuffer()
22
- * const entries = decodeContractStateToBase64(buffer)
23
- * // entries: [["base64key", "base64value"], ...]
24
- * ```
25
- */
26
- export function decodeContractStateToBase64(bytes) {
27
- const pairs = decodeContractState(bytes);
28
- return pairs
29
- .filter(([key, value]) => key.length > 0 && value.length > 0)
30
- .map(([key, value]) => [uint8ArrayToBase64(key), uint8ArrayToBase64(value)]);
12
+ * Decode VecPack-encoded contract state and convert keys/values to Base64 strings.
13
+ *
14
+ * Useful for serializing decoded contract state for Redux or other stores
15
+ * that require JSON-serializable values.
16
+ *
17
+ * @param bytes - VecPack-encoded bytes (Uint8Array or ArrayBuffer)
18
+ * @returns Array of [key, value] tuples as Base64 strings
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const buffer = await response.arrayBuffer()
23
+ * const entries = decodeContractStateToBase64(buffer)
24
+ * // entries: [["base64key", "base64value"], ...]
25
+ * ```
26
+ */
27
+ function decodeContractStateToBase64(bytes) {
28
+ return decodeContractState(bytes).filter(([key, value]) => key.length > 0 && value.length > 0).map(([key, value]) => [uint8ArrayToBase64(key), uint8ArrayToBase64(value)]);
31
29
  }
32
30
  /**
33
- * Parse a contract state value as a number.
34
- *
35
- * Handles multiple input types:
36
- * - `number` — returned directly
37
- * - `string` — parsed as integer
38
- * - `Uint8Array` — first tries UTF-8 digit string, then little-endian binary
39
- * - `null`/`undefined` — returns 0
40
- *
41
- * @param value - Raw contract state value
42
- * @returns Parsed number (0 if unparseable)
43
- *
44
- * @example
45
- * ```ts
46
- * parseStateNumber(new TextEncoder().encode('42')) // 42
47
- * parseStateNumber(new Uint8Array([0x2a, 0x00])) // 42 (little-endian)
48
- * parseStateNumber('100') // 100
49
- * parseStateNumber(null) // 0
50
- * ```
51
- */
52
- export function parseStateNumber(value) {
53
- if (value === null || value === undefined)
54
- return 0;
55
- if (typeof value === 'number')
56
- return Number.isInteger(value) && value >= 0 ? value : 0;
57
- if (typeof value === 'string') {
58
- const parsed = parseInt(value, 10);
59
- return isNaN(parsed) || parsed < 0 ? 0 : parsed;
60
- }
61
- if (value instanceof Uint8Array) {
62
- return decodeUint8ArrayAsNumber(value);
63
- }
64
- return 0;
31
+ * Parse a contract state value as a number.
32
+ *
33
+ * Handles multiple input types:
34
+ * - `number` — returned directly
35
+ * - `string` — parsed as integer
36
+ * - `Uint8Array` — first tries UTF-8 digit string, then little-endian binary
37
+ * - `null`/`undefined` — returns 0
38
+ *
39
+ * @param value - Raw contract state value
40
+ * @returns Parsed number (0 if unparseable)
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * parseStateNumber(new TextEncoder().encode('42')) // 42
45
+ * parseStateNumber(new Uint8Array([0x2a, 0x00])) // 42 (little-endian)
46
+ * parseStateNumber('100') // 100
47
+ * parseStateNumber(null) // 0
48
+ * ```
49
+ */
50
+ function parseStateNumber(value) {
51
+ if (value === null || value === void 0) return 0;
52
+ if (typeof value === "number") return Number.isInteger(value) && value >= 0 ? value : 0;
53
+ if (typeof value === "string") {
54
+ const parsed = parseInt(value, 10);
55
+ return isNaN(parsed) || parsed < 0 ? 0 : parsed;
56
+ }
57
+ if (value instanceof Uint8Array) return decodeUint8ArrayAsNumber(value);
58
+ return 0;
65
59
  }
66
60
  /**
67
- * Parse a contract state value as a string.
68
- *
69
- * Handles multiple input types:
70
- * - `string` — returned directly
71
- * - `number` — converted to string
72
- * - `Uint8Array` — decoded as UTF-8
73
- * - `null`/`undefined` — returns null
74
- *
75
- * @param value - Raw contract state value
76
- * @returns Parsed string or null
77
- */
78
- export function parseStateString(value) {
79
- if (value === null || value === undefined)
80
- return null;
81
- if (typeof value === 'string')
82
- return value;
83
- if (typeof value === 'number')
84
- return value.toString();
85
- if (value instanceof Uint8Array) {
86
- return new TextDecoder().decode(value);
87
- }
88
- return null;
61
+ * Parse a contract state value as a string.
62
+ *
63
+ * Handles multiple input types:
64
+ * - `string` — returned directly
65
+ * - `number` — converted to string
66
+ * - `Uint8Array` — decoded as UTF-8
67
+ * - `null`/`undefined` — returns null
68
+ *
69
+ * @param value - Raw contract state value
70
+ * @returns Parsed string or null
71
+ */
72
+ function parseStateString(value) {
73
+ if (value === null || value === void 0) return null;
74
+ if (typeof value === "string") return value;
75
+ if (typeof value === "number") return value.toString();
76
+ if (value instanceof Uint8Array) return new TextDecoder().decode(value);
77
+ return null;
89
78
  }
90
79
  /**
91
- * Decode a Uint8Array contract state value as a number.
92
- * Tries UTF-8 digit string first, falls back to little-endian binary.
93
- */
80
+ * Decode a Uint8Array contract state value as a number.
81
+ * Tries UTF-8 digit string first, falls back to little-endian binary.
82
+ */
94
83
  function decodeUint8ArrayAsNumber(value) {
95
- if (!value.length)
96
- return 0;
97
- // First try to interpret as UTF-8 digits
98
- try {
99
- const str = new TextDecoder().decode(value);
100
- const parsed = parseInt(str, 10);
101
- if (!isNaN(parsed)) {
102
- return parsed;
103
- }
104
- }
105
- catch {
106
- // Fallthrough to binary parsing
107
- }
108
- // Fallback: parse as little-endian integer (u32/u64)
109
- let result = 0n;
110
- const bytesToRead = Math.min(value.length, 8);
111
- for (let i = 0; i < bytesToRead; i++) {
112
- result |= BigInt(value[i]) << BigInt(i * 8);
113
- }
114
- const asNumber = Number(result);
115
- return Number.isSafeInteger(asNumber) ? asNumber : 0;
84
+ if (!value.length) return 0;
85
+ try {
86
+ const str = new TextDecoder().decode(value);
87
+ const parsed = parseInt(str, 10);
88
+ if (!isNaN(parsed)) return parsed;
89
+ } catch {}
90
+ let result = 0n;
91
+ const bytesToRead = Math.min(value.length, 8);
92
+ for (let i = 0; i < bytesToRead; i++) result |= BigInt(value[i]) << BigInt(i * 8);
93
+ const asNumber = Number(result);
94
+ return Number.isSafeInteger(asNumber) ? asNumber : 0;
116
95
  }
96
+ //#endregion
97
+ export { decodeContractStateToBase64, parseStateNumber, parseStateString };
98
+
117
99
  //# sourceMappingURL=contract-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-state.js","sourceRoot":"","sources":["../src/contract-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-state.js","names":[],"sources":["../src/contract-state.ts"],"sourcesContent":["/**\n * Contract State Utilities\n *\n * Provides functions for parsing contract state values returned by the Amadeus chain.\n * Contract state values are stored as binary (Uint8Array) and need to be decoded\n * into usable types (numbers, strings, etc.).\n */\n\nimport { uint8ArrayToBase64 } from './encoding'\nimport { decodeContractState } from './serialization'\n\n/**\n * Decode VecPack-encoded contract state and convert keys/values to Base64 strings.\n *\n * Useful for serializing decoded contract state for Redux or other stores\n * that require JSON-serializable values.\n *\n * @param bytes - VecPack-encoded bytes (Uint8Array or ArrayBuffer)\n * @returns Array of [key, value] tuples as Base64 strings\n *\n * @example\n * ```ts\n * const buffer = await response.arrayBuffer()\n * const entries = decodeContractStateToBase64(buffer)\n * // entries: [[\"base64key\", \"base64value\"], ...]\n * ```\n */\nexport function decodeContractStateToBase64(\n\tbytes: Uint8Array | ArrayBuffer\n): Array<[string, string]> {\n\tconst pairs = decodeContractState(bytes)\n\treturn pairs\n\t\t.filter(([key, value]) => key.length > 0 && value.length > 0)\n\t\t.map(([key, value]) => [uint8ArrayToBase64(key), uint8ArrayToBase64(value)])\n}\n\n/**\n * Parse a contract state value as a number.\n *\n * Handles multiple input types:\n * - `number` — returned directly\n * - `string` — parsed as integer\n * - `Uint8Array` — first tries UTF-8 digit string, then little-endian binary\n * - `null`/`undefined` — returns 0\n *\n * @param value - Raw contract state value\n * @returns Parsed number (0 if unparseable)\n *\n * @example\n * ```ts\n * parseStateNumber(new TextEncoder().encode('42')) // 42\n * parseStateNumber(new Uint8Array([0x2a, 0x00])) // 42 (little-endian)\n * parseStateNumber('100') // 100\n * parseStateNumber(null) // 0\n * ```\n */\nexport function parseStateNumber(value: string | number | Uint8Array | null | undefined): number {\n\tif (value === null || value === undefined) return 0\n\tif (typeof value === 'number') return Number.isInteger(value) && value >= 0 ? value : 0\n\tif (typeof value === 'string') {\n\t\tconst parsed = parseInt(value, 10)\n\t\treturn isNaN(parsed) || parsed < 0 ? 0 : parsed\n\t}\n\tif (value instanceof Uint8Array) {\n\t\treturn decodeUint8ArrayAsNumber(value)\n\t}\n\treturn 0\n}\n\n/**\n * Parse a contract state value as a string.\n *\n * Handles multiple input types:\n * - `string` — returned directly\n * - `number` — converted to string\n * - `Uint8Array` — decoded as UTF-8\n * - `null`/`undefined` — returns null\n *\n * @param value - Raw contract state value\n * @returns Parsed string or null\n */\nexport function parseStateString(\n\tvalue: string | number | Uint8Array | null | undefined\n): string | null {\n\tif (value === null || value === undefined) return null\n\tif (typeof value === 'string') return value\n\tif (typeof value === 'number') return value.toString()\n\tif (value instanceof Uint8Array) {\n\t\treturn new TextDecoder().decode(value)\n\t}\n\treturn null\n}\n\n/**\n * Decode a Uint8Array contract state value as a number.\n * Tries UTF-8 digit string first, falls back to little-endian binary.\n */\nfunction decodeUint8ArrayAsNumber(value: Uint8Array): number {\n\tif (!value.length) return 0\n\n\t// First try to interpret as UTF-8 digits\n\ttry {\n\t\tconst str = new TextDecoder().decode(value)\n\t\tconst parsed = parseInt(str, 10)\n\t\tif (!isNaN(parsed)) {\n\t\t\treturn parsed\n\t\t}\n\t} catch {\n\t\t// Fallthrough to binary parsing\n\t}\n\n\t// Fallback: parse as little-endian integer (u32/u64)\n\tlet result = 0n\n\tconst bytesToRead = Math.min(value.length, 8)\n\tfor (let i = 0; i < bytesToRead; i++) {\n\t\tresult |= BigInt(value[i]!) << BigInt(i * 8)\n\t}\n\n\tconst asNumber = Number(result)\n\treturn Number.isSafeInteger(asNumber) ? asNumber : 0\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,SAAgB,4BACf,OAC0B;CAE1B,OADc,oBAAoB,MACtB,CACV,QAAQ,CAAC,KAAK,WAAW,IAAI,SAAS,KAAK,MAAM,SAAS,EAAE,CAC5D,KAAK,CAAC,KAAK,WAAW,CAAC,mBAAmB,IAAI,EAAE,mBAAmB,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;AAuB9E,SAAgB,iBAAiB,OAAgE;CAChG,IAAI,UAAU,QAAQ,UAAU,KAAA,GAAW,OAAO;CAClD,IAAI,OAAO,UAAU,UAAU,OAAO,OAAO,UAAU,MAAM,IAAI,SAAS,IAAI,QAAQ;CACtF,IAAI,OAAO,UAAU,UAAU;EAC9B,MAAM,SAAS,SAAS,OAAO,GAAG;EAClC,OAAO,MAAM,OAAO,IAAI,SAAS,IAAI,IAAI;;CAE1C,IAAI,iBAAiB,YACpB,OAAO,yBAAyB,MAAM;CAEvC,OAAO;;;;;;;;;;;;;;AAeR,SAAgB,iBACf,OACgB;CAChB,IAAI,UAAU,QAAQ,UAAU,KAAA,GAAW,OAAO;CAClD,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,IAAI,OAAO,UAAU,UAAU,OAAO,MAAM,UAAU;CACtD,IAAI,iBAAiB,YACpB,OAAO,IAAI,aAAa,CAAC,OAAO,MAAM;CAEvC,OAAO;;;;;;AAOR,SAAS,yBAAyB,OAA2B;CAC5D,IAAI,CAAC,MAAM,QAAQ,OAAO;CAG1B,IAAI;EACH,MAAM,MAAM,IAAI,aAAa,CAAC,OAAO,MAAM;EAC3C,MAAM,SAAS,SAAS,KAAK,GAAG;EAChC,IAAI,CAAC,MAAM,OAAO,EACjB,OAAO;SAED;CAKR,IAAI,SAAS;CACb,MAAM,cAAc,KAAK,IAAI,MAAM,QAAQ,EAAE;CAC7C,KAAK,IAAI,IAAI,GAAG,IAAI,aAAa,KAChC,UAAU,OAAO,MAAM,GAAI,IAAI,OAAO,IAAI,EAAE;CAG7C,MAAM,WAAW,OAAO,OAAO;CAC/B,OAAO,OAAO,cAAc,SAAS,GAAG,WAAW"}
@@ -1,3 +1,4 @@
1
+ //#region src/contracts/abi-types.d.ts
1
2
  /**
2
3
  * Generic ABI Type Extractors
3
4
  *
@@ -7,39 +8,39 @@
7
8
  /**
8
9
  * Shape of an ABI function input
9
10
  */
10
- export interface AbiInput {
11
- readonly name: string;
12
- readonly type: string;
13
- readonly description?: string;
14
- readonly validation?: {
15
- readonly min?: string;
16
- readonly max?: string;
17
- readonly type?: string;
18
- };
19
- readonly enum?: readonly string[];
11
+ interface AbiInput {
12
+ readonly name: string;
13
+ readonly type: string;
14
+ readonly description?: string;
15
+ readonly validation?: {
16
+ readonly min?: string;
17
+ readonly max?: string;
18
+ readonly type?: string;
19
+ };
20
+ readonly enum?: readonly string[];
20
21
  }
21
22
  /**
22
23
  * Shape of an ABI function entry
23
24
  */
24
- export interface AbiFunction {
25
- readonly type: 'function';
26
- readonly name: string;
27
- readonly inputs: readonly AbiInput[];
28
- readonly outputs: readonly unknown[];
29
- readonly stateMutability: string;
30
- readonly description?: string;
31
- readonly requirements?: readonly string[];
32
- readonly storage?: unknown;
25
+ interface AbiFunction {
26
+ readonly type: 'function';
27
+ readonly name: string;
28
+ readonly inputs: readonly AbiInput[];
29
+ readonly outputs: readonly unknown[];
30
+ readonly stateMutability: string;
31
+ readonly description?: string;
32
+ readonly requirements?: readonly string[];
33
+ readonly storage?: unknown;
33
34
  }
34
35
  /**
35
36
  * Shape of any ABI definition (contractName, abi[], errors[], storage)
36
37
  */
37
- export interface AbiDefinition {
38
- readonly contractName: string;
39
- readonly contractVersion?: string;
40
- readonly abi: readonly AbiFunction[];
41
- readonly errors?: readonly unknown[];
42
- readonly storage?: unknown;
38
+ interface AbiDefinition {
39
+ readonly contractName: string;
40
+ readonly contractVersion?: string;
41
+ readonly abi: readonly AbiFunction[];
42
+ readonly errors?: readonly unknown[];
43
+ readonly storage?: unknown;
43
44
  }
44
45
  /**
45
46
  * Extract the literal contract name from an ABI definition
@@ -50,7 +51,7 @@ export interface AbiDefinition {
50
51
  * // => 'LockupPrime'
51
52
  * ```
52
53
  */
53
- export type ExtractContractName<T extends AbiDefinition> = T['contractName'];
54
+ type ExtractContractName<T extends AbiDefinition> = T['contractName'];
54
55
  /**
55
56
  * Extract a union of all function names from an ABI definition
56
57
  *
@@ -60,12 +61,12 @@ export type ExtractContractName<T extends AbiDefinition> = T['contractName'];
60
61
  * // => 'lock' | 'unlock' | 'daily_checkin'
61
62
  * ```
62
63
  */
63
- export type ExtractFunctionNames<T extends AbiDefinition> = T['abi'][number]['name'];
64
+ type ExtractFunctionNames<T extends AbiDefinition> = T['abi'][number]['name'];
64
65
  /**
65
66
  * Find a specific function entry in the ABI by name
66
67
  */
67
68
  type FindFunction<TAbi extends AbiDefinition, TFn extends string> = Extract<TAbi['abi'][number], {
68
- readonly name: TFn;
69
+ readonly name: TFn;
69
70
  }>;
70
71
  /**
71
72
  * Extract the inputs array for a specific function
@@ -80,8 +81,7 @@ type FunctionInputs<TAbi extends AbiDefinition, TFn extends string> = FindFuncti
80
81
  * // => { amount: string; tier: string }
81
82
  * ```
82
83
  */
83
- export type FunctionParams<TAbi extends AbiDefinition, TFn extends string> = {
84
- [K in FunctionInputs<TAbi, TFn>[number] as K['name']]: string;
85
- };
86
- export {};
84
+ type FunctionParams<TAbi extends AbiDefinition, TFn extends string> = { [K in FunctionInputs<TAbi, TFn>[number] as K['name']]: string };
85
+ //#endregion
86
+ export { AbiDefinition, AbiFunction, AbiInput, ExtractContractName, ExtractFunctionNames, FunctionParams };
87
87
  //# sourceMappingURL=abi-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abi-types.d.ts","sourceRoot":"","sources":["../../src/contracts/abi-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE;QACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAA;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,GAAG,EAAE,SAAS,WAAW,EAAE,CAAA;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,CAAC,cAAc,CAAC,CAAA;AAE5E;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpF;;GAEG;AACH,KAAK,YAAY,CAChB,IAAI,SAAS,aAAa,EAC1B,GAAG,SAAS,MAAM,IACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAC,CAAA;AAExD;;GAEG;AACH,KAAK,cAAc,CAClB,IAAI,SAAS,aAAa,EAC1B,GAAG,SAAS,MAAM,IACf,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;AAErC;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,CACzB,IAAI,SAAS,aAAa,EAC1B,GAAG,SAAS,MAAM,IACf;KACF,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM;CAC7D,CAAA"}
1
+ {"version":3,"file":"abi-types.d.ts","names":[],"sources":["../../src/contracts/abi-types.ts"],"mappings":";;AAUA;;;;;;;;UAAiB,QAAA;EAAA,SACP,IAAA;EAAA,SACA,IAAA;EAAA,SACA,WAAA;EAAA,SACA,UAAA;IAAA,SACC,GAAA;IAAA,SACA,GAAA;IAAA,SACA,IAAA;EAAA;EAAA,SAED,IAAA;AAAA;;;;UAMO,WAAA;EAAA,SACP,IAAA;EAAA,SACA,IAAA;EAAA,SACA,MAAA,WAAiB,QAAA;EAAA,SACjB,OAAA;EAAA,SACA,eAAA;EAAA,SACA,WAAA;EAAA,SACA,YAAA;EAAA,SACA,OAAA;AAAA;;;;UAMO,aAAA;EAAA,SACP,YAAA;EAAA,SACA,eAAA;EAAA,SACA,GAAA,WAAc,WAAA;EAAA,SACd,MAAA;EAAA,SACA,OAAA;AAAA;;;;;;;;;AAuBV;KAXY,mBAAA,WAA8B,aAAA,IAAiB,CAAA;;;;;;;;AAWyB;;KAAxE,oBAAA,WAA+B,aAAA,IAAiB,CAAA;;;;KAKvD,YAAA,cAA0B,aAAA,wBAAqC,OAAA,CACnE,IAAA;EAAA,SACW,IAAA,EAAM,GAAA;AAAA;;;;KAMb,cAAA,cAA4B,aAAA,wBAAqC,YAAA,CACrE,IAAA,EACA,GAAA;;;;;;AARoB;;;;KAoBT,cAAA,cAA4B,aAAA,gCACjC,cAAA,CAAe,IAAA,EAAM,GAAA,aAAgB,CAAA"}