@ryanrfox/sdk 0.0.2 → 2.0.3

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 (153) hide show
  1. package/README.md +145 -29
  2. package/package.json +84 -8
  3. package/src/_esm/actions/index.d.ts +8 -0
  4. package/src/_esm/actions/index.d.ts.map +1 -0
  5. package/src/_esm/actions/index.js +8 -0
  6. package/src/_esm/actions/index.js.map +1 -0
  7. package/src/_esm/actions/sendTransactionBatch.d.ts +77 -0
  8. package/src/_esm/actions/sendTransactionBatch.d.ts.map +1 -0
  9. package/src/_esm/actions/sendTransactionBatch.js +245 -0
  10. package/src/_esm/actions/sendTransactionBatch.js.map +1 -0
  11. package/src/_esm/chains/chainConfig.d.ts +30 -0
  12. package/src/_esm/chains/chainConfig.d.ts.map +1 -0
  13. package/src/_esm/chains/chainConfig.js +30 -0
  14. package/src/_esm/chains/chainConfig.js.map +1 -0
  15. package/src/_esm/chains/index.d.ts +4 -0
  16. package/src/_esm/chains/index.d.ts.map +1 -0
  17. package/src/_esm/chains/index.js +4 -0
  18. package/src/_esm/chains/index.js.map +1 -0
  19. package/src/_esm/chains/radius.d.ts +64 -0
  20. package/src/_esm/chains/radius.d.ts.map +1 -0
  21. package/src/_esm/chains/radius.js +39 -0
  22. package/src/_esm/chains/radius.js.map +1 -0
  23. package/src/_esm/chains/radiusTestnet.d.ts +61 -0
  24. package/src/_esm/chains/radiusTestnet.d.ts.map +1 -0
  25. package/src/_esm/chains/radiusTestnet.js +45 -0
  26. package/src/_esm/chains/radiusTestnet.js.map +1 -0
  27. package/src/_esm/decorators/index.d.ts +8 -0
  28. package/src/_esm/decorators/index.d.ts.map +1 -0
  29. package/src/_esm/decorators/index.js +8 -0
  30. package/src/_esm/decorators/index.js.map +1 -0
  31. package/src/_esm/decorators/radius.d.ts +66 -0
  32. package/src/_esm/decorators/radius.d.ts.map +1 -0
  33. package/src/_esm/decorators/radius.js +36 -0
  34. package/src/_esm/decorators/radius.js.map +1 -0
  35. package/src/_esm/errors/account.d.ts +78 -0
  36. package/src/_esm/errors/account.d.ts.map +1 -0
  37. package/src/_esm/errors/account.js +97 -0
  38. package/src/_esm/errors/account.js.map +1 -0
  39. package/src/_esm/errors/base.d.ts +56 -0
  40. package/src/_esm/errors/base.d.ts.map +1 -0
  41. package/src/_esm/errors/base.js +51 -0
  42. package/src/_esm/errors/base.js.map +1 -0
  43. package/src/_esm/errors/contract.d.ts +51 -0
  44. package/src/_esm/errors/contract.d.ts.map +1 -0
  45. package/src/_esm/errors/contract.js +65 -0
  46. package/src/_esm/errors/contract.js.map +1 -0
  47. package/src/_esm/errors/index.d.ts +63 -0
  48. package/src/_esm/errors/index.d.ts.map +1 -0
  49. package/src/_esm/errors/index.js +40 -0
  50. package/src/_esm/errors/index.js.map +1 -0
  51. package/src/_esm/errors/transaction.d.ts +132 -0
  52. package/src/_esm/errors/transaction.d.ts.map +1 -0
  53. package/src/_esm/errors/transaction.js +143 -0
  54. package/src/_esm/errors/transaction.js.map +1 -0
  55. package/src/_esm/events/decodeEventLogs.d.ts +136 -0
  56. package/src/_esm/events/decodeEventLogs.d.ts.map +1 -0
  57. package/src/_esm/events/decodeEventLogs.js +93 -0
  58. package/src/_esm/events/decodeEventLogs.js.map +1 -0
  59. package/src/_esm/events/getLogs.d.ts +137 -0
  60. package/src/_esm/events/getLogs.d.ts.map +1 -0
  61. package/src/_esm/events/getLogs.js +171 -0
  62. package/src/_esm/events/getLogs.js.map +1 -0
  63. package/src/_esm/events/index.d.ts +17 -0
  64. package/src/_esm/events/index.d.ts.map +1 -0
  65. package/src/_esm/events/index.js +24 -0
  66. package/src/_esm/events/index.js.map +1 -0
  67. package/src/_esm/events/watchApproval.d.ts +184 -0
  68. package/src/_esm/events/watchApproval.d.ts.map +1 -0
  69. package/src/_esm/events/watchApproval.js +254 -0
  70. package/src/_esm/events/watchApproval.js.map +1 -0
  71. package/src/_esm/events/watchBlock.d.ts +192 -0
  72. package/src/_esm/events/watchBlock.d.ts.map +1 -0
  73. package/src/_esm/events/watchBlock.js +162 -0
  74. package/src/_esm/events/watchBlock.js.map +1 -0
  75. package/src/_esm/events/watchLogs.d.ts +128 -0
  76. package/src/_esm/events/watchLogs.d.ts.map +1 -0
  77. package/src/_esm/events/watchLogs.js +100 -0
  78. package/src/_esm/events/watchLogs.js.map +1 -0
  79. package/src/_esm/events/watchTransfer.d.ts +164 -0
  80. package/src/_esm/events/watchTransfer.d.ts.map +1 -0
  81. package/src/_esm/events/watchTransfer.js +234 -0
  82. package/src/_esm/events/watchTransfer.js.map +1 -0
  83. package/src/_esm/index.d.ts +16 -0
  84. package/src/_esm/index.d.ts.map +1 -0
  85. package/src/_esm/index.js +22 -0
  86. package/src/_esm/index.js.map +1 -0
  87. package/src/_esm/package.json +1 -0
  88. package/src/_esm/transport/index.d.ts +9 -0
  89. package/src/_esm/transport/index.d.ts.map +1 -0
  90. package/src/_esm/transport/index.js +9 -0
  91. package/src/_esm/transport/index.js.map +1 -0
  92. package/src/_esm/transport/interceptor.d.ts +48 -0
  93. package/src/_esm/transport/interceptor.d.ts.map +1 -0
  94. package/src/_esm/transport/interceptor.js +209 -0
  95. package/src/_esm/transport/interceptor.js.map +1 -0
  96. package/src/_esm/transport/types.d.ts +29 -0
  97. package/src/_esm/transport/types.d.ts.map +1 -0
  98. package/src/_esm/transport/types.js +2 -0
  99. package/src/_esm/transport/types.js.map +1 -0
  100. package/src/_esm/transport/websocket.d.ts +51 -0
  101. package/src/_esm/transport/websocket.d.ts.map +1 -0
  102. package/src/_esm/transport/websocket.js +70 -0
  103. package/src/_esm/transport/websocket.js.map +1 -0
  104. package/src/_types/actions/index.d.ts +8 -0
  105. package/src/_types/actions/index.d.ts.map +1 -0
  106. package/src/_types/actions/sendTransactionBatch.d.ts +77 -0
  107. package/src/_types/actions/sendTransactionBatch.d.ts.map +1 -0
  108. package/src/_types/chains/chainConfig.d.ts +30 -0
  109. package/src/_types/chains/chainConfig.d.ts.map +1 -0
  110. package/src/_types/chains/index.d.ts +4 -0
  111. package/src/_types/chains/index.d.ts.map +1 -0
  112. package/src/_types/chains/radius.d.ts +64 -0
  113. package/src/_types/chains/radius.d.ts.map +1 -0
  114. package/src/_types/chains/radiusTestnet.d.ts +61 -0
  115. package/src/_types/chains/radiusTestnet.d.ts.map +1 -0
  116. package/src/_types/decorators/index.d.ts +8 -0
  117. package/src/_types/decorators/index.d.ts.map +1 -0
  118. package/src/_types/decorators/radius.d.ts +66 -0
  119. package/src/_types/decorators/radius.d.ts.map +1 -0
  120. package/src/_types/errors/account.d.ts +78 -0
  121. package/src/_types/errors/account.d.ts.map +1 -0
  122. package/src/_types/errors/base.d.ts +56 -0
  123. package/src/_types/errors/base.d.ts.map +1 -0
  124. package/src/_types/errors/contract.d.ts +51 -0
  125. package/src/_types/errors/contract.d.ts.map +1 -0
  126. package/src/_types/errors/index.d.ts +63 -0
  127. package/src/_types/errors/index.d.ts.map +1 -0
  128. package/src/_types/errors/transaction.d.ts +132 -0
  129. package/src/_types/errors/transaction.d.ts.map +1 -0
  130. package/src/_types/events/decodeEventLogs.d.ts +136 -0
  131. package/src/_types/events/decodeEventLogs.d.ts.map +1 -0
  132. package/src/_types/events/getLogs.d.ts +137 -0
  133. package/src/_types/events/getLogs.d.ts.map +1 -0
  134. package/src/_types/events/index.d.ts +17 -0
  135. package/src/_types/events/index.d.ts.map +1 -0
  136. package/src/_types/events/watchApproval.d.ts +184 -0
  137. package/src/_types/events/watchApproval.d.ts.map +1 -0
  138. package/src/_types/events/watchBlock.d.ts +192 -0
  139. package/src/_types/events/watchBlock.d.ts.map +1 -0
  140. package/src/_types/events/watchLogs.d.ts +128 -0
  141. package/src/_types/events/watchLogs.d.ts.map +1 -0
  142. package/src/_types/events/watchTransfer.d.ts +164 -0
  143. package/src/_types/events/watchTransfer.d.ts.map +1 -0
  144. package/src/_types/index.d.ts +16 -0
  145. package/src/_types/index.d.ts.map +1 -0
  146. package/src/_types/transport/index.d.ts +9 -0
  147. package/src/_types/transport/index.d.ts.map +1 -0
  148. package/src/_types/transport/interceptor.d.ts +48 -0
  149. package/src/_types/transport/interceptor.d.ts.map +1 -0
  150. package/src/_types/transport/types.d.ts +29 -0
  151. package/src/_types/transport/types.d.ts.map +1 -0
  152. package/src/_types/transport/websocket.d.ts +51 -0
  153. package/src/_types/transport/websocket.d.ts.map +1 -0
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Radius TypeScript SDK v2
3
+ *
4
+ * A viem-based SDK for interacting with the Radius platform.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ export type { Abi, Address, Chain, Hash, Hex, LocalAccount, TransactionReceipt, Transport, } from 'viem';
9
+ export { createPublicClient, createWalletClient, http } from 'viem';
10
+ export { privateKeyToAccount } from 'viem/accounts';
11
+ export { type SendTransactionBatchParameters, type SendTransactionBatchReturnType, sendTransactionBatch, } from './actions/index.js';
12
+ export { MAX_GAS, radius, radiusTestnet } from './chains/index.js';
13
+ export { type RadiusWalletActions, radiusWalletActions } from './decorators/index.js';
14
+ export * from './errors/index.js';
15
+ export * from './transport/index.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACX,GAAG,EACH,OAAO,EACP,KAAK,EACL,IAAI,EACJ,GAAG,EACH,YAAY,EACZ,kBAAkB,EAClB,SAAS,GACT,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EACN,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACnC,oBAAoB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGtF,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Transport module for the Radius SDK.
3
+ * Provides HTTP request/response interceptors and middleware for
4
+ * JSON-RPC communication with Radius.
5
+ */
6
+ export * from './interceptor.js';
7
+ export * from './types.js';
8
+ export * from './websocket.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../transport/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { type Transport } from 'viem';
2
+ import type { Interceptor, Logger, RequestHandler } from './types';
3
+ /**
4
+ * A RequestHandler implementation that intercepts HTTP requests and responses.
5
+ * Provides request logging and response modification capabilities.
6
+ */
7
+ export declare class InterceptingRequestHandler implements RequestHandler {
8
+ private readonly interceptor?;
9
+ private readonly logger?;
10
+ private readonly proxied;
11
+ /**
12
+ * Creates a new InterceptingRequestHandler.
13
+ * @param interceptor Optional function to intercept and modify responses
14
+ * @param logger Optional logging function to record requests and responses
15
+ * @param proxied Underlying RequestHandler implementation (defaults to fetch-based implementation)
16
+ */
17
+ constructor(interceptor?: Interceptor | undefined, logger?: Logger | undefined, proxied?: RequestHandler);
18
+ /**
19
+ * Sends a request and handles interception and logging of the response.
20
+ * @param request The HTTP request to send
21
+ * @returns The HTTP response, potentially modified by the interceptor
22
+ */
23
+ handle(request: Request): Promise<Response>;
24
+ /**
25
+ * Parse the body of a request, cloning the request to avoid modifying the original.
26
+ * @private
27
+ */
28
+ private parseRequestBody;
29
+ }
30
+ /**
31
+ * Options for creating an intercepting transport.
32
+ */
33
+ export interface InterceptingTransportOptions {
34
+ /** The RPC URL to connect to */
35
+ url: string;
36
+ /** Optional function to intercept and modify responses */
37
+ interceptor?: Interceptor;
38
+ /** Optional logging function */
39
+ logger?: Logger;
40
+ /** Request timeout in milliseconds. Default: 10000 (10 seconds) */
41
+ timeout?: number;
42
+ /** Number of retry attempts. Default: 3 */
43
+ retryCount?: number;
44
+ /** Base delay between retries in milliseconds. Default: 150 */
45
+ retryDelay?: number;
46
+ }
47
+ export declare function createInterceptingTransport(options: InterceptingTransportOptions): Transport;
48
+ //# sourceMappingURL=interceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../../transport/interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,MAAM,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEnE;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,cAAc;IAQ/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IATzB;;;;;OAKG;gBAEe,WAAW,CAAC,EAAE,WAAW,YAAA,EACzB,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,OAAO,GAAE,cAA4C;IAGvE;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4CjD;;;OAGG;YACW,gBAAgB;CAY9B;AAsBD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC5C,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AA4CD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,SAAS,CAyE5F"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * A logger function interface that matches the console.log function signature
3
+ * Used for logging JSON-RPC requests and responses
4
+ * @param message The log message to display
5
+ * @param data Optional structured data to include in the log
6
+ */
7
+ export type Logger = (message: string, data?: Record<string, unknown>) => void;
8
+ /**
9
+ * An interceptor function for modifying JSON-RPC HTTP requests and responses
10
+ * This allows for custom handling, validation, or manipulation of RPC calls
11
+ * @param reqBody The stringified JSON-RPC request body
12
+ * @param response The HTTP response from the JSON-RPC server
13
+ * @returns A potentially modified response or the original response
14
+ */
15
+ export type Interceptor = (reqBody: string, response: Response) => Promise<Response>;
16
+ /**
17
+ * An interface for making HTTP requests and receiving responses
18
+ * Handles the actual HTTP round-trip for JSON-RPC requests
19
+ */
20
+ export interface RequestHandler {
21
+ /**
22
+ * Sends an HTTP request and returns the response
23
+ * @param request The HTTP request to send
24
+ * @returns A Promise that resolves to the HTTP response
25
+ * @throws Error if the request fails
26
+ */
27
+ handle(request: Request): Promise<Response>;
28
+ }
29
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../transport/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAErF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC5C"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * WebSocket transport for Radius SDK.
3
+ * Provides a wrapper around viem's WebSocket transport with Radius-specific configuration.
4
+ */
5
+ import { type Chain, type Transport } from 'viem';
6
+ /**
7
+ * Configuration for creating a WebSocket transport.
8
+ */
9
+ export interface WebSocketTransportConfig {
10
+ /** The WebSocket URL (defaults to chain's WebSocket RPC URL) */
11
+ url?: string;
12
+ /** Maximum number of reconnection attempts (defaults to 3) */
13
+ reconnectAttempts?: number;
14
+ /** Reconnection delay in milliseconds (defaults to 1000) */
15
+ reconnectDelay?: number;
16
+ /** Keep-alive interval in milliseconds (optional) */
17
+ keepAlive?: number;
18
+ }
19
+ /**
20
+ * Creates a WebSocket transport for use with Radius clients.
21
+ * Uses viem's webSocket transport under the hood with Radius-specific defaults.
22
+ *
23
+ * @param chain - The chain configuration (used to determine default WebSocket URL)
24
+ * @param config - Optional configuration for the WebSocket transport
25
+ * @returns A viem Transport configured for WebSocket connections
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * import { createPublicClient } from 'viem';
30
+ * import { createWebSocketTransport } from '@radiustechsystems/sdk/transport';
31
+ * import { radiusTestnet } from '@radiustechsystems/sdk/chains';
32
+ *
33
+ * const transport = createWebSocketTransport(radiusTestnet, {
34
+ * reconnectAttempts: 5,
35
+ * reconnectDelay: 2000,
36
+ * });
37
+ *
38
+ * const client = createPublicClient({
39
+ * chain: radiusTestnet,
40
+ * transport,
41
+ * });
42
+ * ```
43
+ *
44
+ * @remarks
45
+ * - The default WebSocket URL is derived from the chain configuration
46
+ * - For Radius Testnet, the default is: wss://rpc.testnet.radiustech.xyz
47
+ * - WebSocket connections are automatically managed by viem
48
+ * - Subscriptions are cleaned up automatically on disconnect
49
+ */
50
+ export declare function createWebSocketTransport(chain: Chain, config?: WebSocketTransportConfig): Transport;
51
+ //# sourceMappingURL=websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../transport/websocket.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAa,MAAM,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,wBAAwB,GAC/B,SAAS,CAiCX"}