pay-lobster 3.2.0 → 4.0.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 (331) hide show
  1. package/README.md +319 -125
  2. package/dist/client.d.ts +190 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +166 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/constants.d.ts +1075 -0
  7. package/dist/constants.d.ts.map +1 -0
  8. package/dist/constants.js +309 -0
  9. package/dist/constants.js.map +1 -0
  10. package/dist/credit.d.ts +37 -0
  11. package/dist/credit.d.ts.map +1 -0
  12. package/dist/credit.js +101 -0
  13. package/dist/credit.js.map +1 -0
  14. package/dist/errors.d.ts +21 -0
  15. package/dist/errors.d.ts.map +1 -0
  16. package/dist/errors.js +83 -0
  17. package/dist/errors.js.map +1 -0
  18. package/dist/escrow.d.ts +58 -296
  19. package/dist/escrow.d.ts.map +1 -1
  20. package/dist/escrow.js +138 -812
  21. package/dist/escrow.js.map +1 -1
  22. package/dist/identity.d.ts +31 -0
  23. package/dist/identity.d.ts.map +1 -0
  24. package/dist/identity.js +78 -0
  25. package/dist/identity.js.map +1 -0
  26. package/dist/index.d.ts +157 -30
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +214 -90
  29. package/dist/index.js.map +1 -1
  30. package/dist/mandate.d.ts +47 -0
  31. package/dist/mandate.d.ts.map +1 -0
  32. package/dist/mandate.js +117 -0
  33. package/dist/mandate.js.map +1 -0
  34. package/dist/reputation.d.ts +42 -0
  35. package/dist/reputation.d.ts.map +1 -0
  36. package/dist/reputation.js +123 -0
  37. package/dist/reputation.js.map +1 -0
  38. package/dist/services.d.ts +54 -0
  39. package/dist/services.d.ts.map +1 -0
  40. package/dist/services.js +194 -0
  41. package/dist/services.js.map +1 -0
  42. package/dist/types.d.ts +359 -113
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js +17 -5
  45. package/dist/types.js.map +1 -1
  46. package/dist/utils.d.ts +35 -0
  47. package/dist/utils.d.ts.map +1 -0
  48. package/dist/utils.js +192 -0
  49. package/dist/utils.js.map +1 -0
  50. package/package.json +19 -40
  51. package/src/client.ts +239 -0
  52. package/src/constants.ts +326 -0
  53. package/src/credit.ts +121 -0
  54. package/src/errors.ts +156 -0
  55. package/src/escrow.ts +234 -0
  56. package/src/identity.ts +87 -0
  57. package/src/index.ts +265 -0
  58. package/src/mandate.ts +141 -0
  59. package/src/reputation.ts +135 -0
  60. package/src/services.ts +260 -0
  61. package/src/types.ts +484 -0
  62. package/src/utils.ts +265 -0
  63. package/README.md.bak +0 -401
  64. package/dist/abis/IERC20.json +0 -185
  65. package/dist/abis/PayLobsterCredit.json +0 -952
  66. package/dist/abis/PayLobsterEscrowV3.json +0 -1069
  67. package/dist/abis/PayLobsterIdentity.json +0 -1001
  68. package/dist/abis/PayLobsterReputation.json +0 -707
  69. package/dist/agent-multichain.d.ts +0 -96
  70. package/dist/agent-multichain.d.ts.map +0 -1
  71. package/dist/agent-multichain.js +0 -195
  72. package/dist/agent-multichain.js.map +0 -1
  73. package/dist/agent.d.ts +0 -338
  74. package/dist/agent.d.ts.map +0 -1
  75. package/dist/agent.js +0 -872
  76. package/dist/agent.js.map +0 -1
  77. package/dist/analytics.d.ts +0 -25
  78. package/dist/analytics.d.ts.map +0 -1
  79. package/dist/analytics.js +0 -111
  80. package/dist/analytics.js.map +0 -1
  81. package/dist/approvals.d.ts +0 -168
  82. package/dist/approvals.d.ts.map +0 -1
  83. package/dist/approvals.js +0 -406
  84. package/dist/approvals.js.map +0 -1
  85. package/dist/autonomous.d.ts +0 -132
  86. package/dist/autonomous.d.ts.map +0 -1
  87. package/dist/autonomous.js +0 -504
  88. package/dist/autonomous.js.map +0 -1
  89. package/dist/chains/base.d.ts +0 -32
  90. package/dist/chains/base.d.ts.map +0 -1
  91. package/dist/chains/base.js +0 -89
  92. package/dist/chains/base.js.map +0 -1
  93. package/dist/chains/index.d.ts +0 -44
  94. package/dist/chains/index.d.ts.map +0 -1
  95. package/dist/chains/index.js +0 -123
  96. package/dist/chains/index.js.map +0 -1
  97. package/dist/chains/solana.d.ts +0 -45
  98. package/dist/chains/solana.d.ts.map +0 -1
  99. package/dist/chains/solana.js +0 -173
  100. package/dist/chains/solana.js.map +0 -1
  101. package/dist/chains/types.d.ts +0 -66
  102. package/dist/chains/types.d.ts.map +0 -1
  103. package/dist/chains/types.js +0 -7
  104. package/dist/chains/types.js.map +0 -1
  105. package/dist/circle-client.d.ts +0 -152
  106. package/dist/circle-client.d.ts.map +0 -1
  107. package/dist/circle-client.js +0 -266
  108. package/dist/circle-client.js.map +0 -1
  109. package/dist/cli.d.ts +0 -7
  110. package/dist/cli.d.ts.map +0 -1
  111. package/dist/cli.js +0 -1860
  112. package/dist/cli.js.map +0 -1
  113. package/dist/commission.d.ts +0 -191
  114. package/dist/commission.d.ts.map +0 -1
  115. package/dist/commission.js +0 -475
  116. package/dist/commission.js.map +0 -1
  117. package/dist/condition-builder.d.ts +0 -98
  118. package/dist/condition-builder.d.ts.map +0 -1
  119. package/dist/condition-builder.js +0 -193
  120. package/dist/condition-builder.js.map +0 -1
  121. package/dist/contacts.d.ts +0 -179
  122. package/dist/contacts.d.ts.map +0 -1
  123. package/dist/contacts.js +0 -445
  124. package/dist/contacts.js.map +0 -1
  125. package/dist/contracts-v3.d.ts +0 -260
  126. package/dist/contracts-v3.d.ts.map +0 -1
  127. package/dist/contracts-v3.js +0 -371
  128. package/dist/contracts-v3.js.map +0 -1
  129. package/dist/contracts.d.ts +0 -19
  130. package/dist/contracts.d.ts.map +0 -1
  131. package/dist/contracts.js +0 -58
  132. package/dist/contracts.js.map +0 -1
  133. package/dist/easy.d.ts +0 -22
  134. package/dist/easy.d.ts.map +0 -1
  135. package/dist/easy.js +0 -40
  136. package/dist/easy.js.map +0 -1
  137. package/dist/erc8004/constants.d.ts +0 -152
  138. package/dist/erc8004/constants.d.ts.map +0 -1
  139. package/dist/erc8004/constants.js +0 -114
  140. package/dist/erc8004/constants.js.map +0 -1
  141. package/dist/erc8004/discovery.d.ts +0 -84
  142. package/dist/erc8004/discovery.d.ts.map +0 -1
  143. package/dist/erc8004/discovery.js +0 -217
  144. package/dist/erc8004/discovery.js.map +0 -1
  145. package/dist/erc8004/identity.d.ts +0 -91
  146. package/dist/erc8004/identity.d.ts.map +0 -1
  147. package/dist/erc8004/identity.js +0 -250
  148. package/dist/erc8004/identity.js.map +0 -1
  149. package/dist/erc8004/index.d.ts +0 -147
  150. package/dist/erc8004/index.d.ts.map +0 -1
  151. package/dist/erc8004/index.js +0 -225
  152. package/dist/erc8004/index.js.map +0 -1
  153. package/dist/erc8004/reputation.d.ts +0 -133
  154. package/dist/erc8004/reputation.d.ts.map +0 -1
  155. package/dist/erc8004/reputation.js +0 -277
  156. package/dist/erc8004/reputation.js.map +0 -1
  157. package/dist/escrow-templates.d.ts +0 -38
  158. package/dist/escrow-templates.d.ts.map +0 -1
  159. package/dist/escrow-templates.js +0 -419
  160. package/dist/escrow-templates.js.map +0 -1
  161. package/dist/gamification.d.ts +0 -83
  162. package/dist/gamification.d.ts.map +0 -1
  163. package/dist/gamification.js +0 -331
  164. package/dist/gamification.js.map +0 -1
  165. package/dist/invoices.d.ts +0 -90
  166. package/dist/invoices.d.ts.map +0 -1
  167. package/dist/invoices.js +0 -241
  168. package/dist/invoices.js.map +0 -1
  169. package/dist/notifications.d.ts +0 -141
  170. package/dist/notifications.d.ts.map +0 -1
  171. package/dist/notifications.js +0 -350
  172. package/dist/notifications.js.map +0 -1
  173. package/dist/onramp.d.ts +0 -123
  174. package/dist/onramp.d.ts.map +0 -1
  175. package/dist/onramp.js +0 -204
  176. package/dist/onramp.js.map +0 -1
  177. package/dist/splits.d.ts +0 -53
  178. package/dist/splits.d.ts.map +0 -1
  179. package/dist/splits.js +0 -208
  180. package/dist/splits.js.map +0 -1
  181. package/dist/stats.d.ts +0 -73
  182. package/dist/stats.d.ts.map +0 -1
  183. package/dist/stats.js +0 -229
  184. package/dist/stats.js.map +0 -1
  185. package/dist/subscriptions.d.ts +0 -96
  186. package/dist/subscriptions.d.ts.map +0 -1
  187. package/dist/subscriptions.js +0 -281
  188. package/dist/subscriptions.js.map +0 -1
  189. package/dist/swap.d.ts +0 -57
  190. package/dist/swap.d.ts.map +0 -1
  191. package/dist/swap.js +0 -151
  192. package/dist/swap.js.map +0 -1
  193. package/dist/tips.d.ts +0 -171
  194. package/dist/tips.d.ts.map +0 -1
  195. package/dist/tips.js +0 -390
  196. package/dist/tips.js.map +0 -1
  197. package/dist/usernames.d.ts +0 -35
  198. package/dist/usernames.d.ts.map +0 -1
  199. package/dist/usernames.js +0 -142
  200. package/dist/usernames.js.map +0 -1
  201. package/dist/x402-client.d.ts +0 -127
  202. package/dist/x402-client.d.ts.map +0 -1
  203. package/dist/x402-client.js +0 -350
  204. package/dist/x402-client.js.map +0 -1
  205. package/dist/x402-server.d.ts +0 -133
  206. package/dist/x402-server.d.ts.map +0 -1
  207. package/dist/x402-server.js +0 -330
  208. package/dist/x402-server.js.map +0 -1
  209. package/dist/x402.d.ts +0 -79
  210. package/dist/x402.d.ts.map +0 -1
  211. package/dist/x402.js +0 -171
  212. package/dist/x402.js.map +0 -1
  213. package/lib/abis/IERC20.json +0 -185
  214. package/lib/abis/PayLobsterCredit.json +0 -952
  215. package/lib/abis/PayLobsterEscrowV3.json +0 -1069
  216. package/lib/abis/PayLobsterIdentity.json +0 -1001
  217. package/lib/abis/PayLobsterReputation.json +0 -707
  218. package/lib/agent-multichain.ts +0 -265
  219. package/lib/agent.ts +0 -1019
  220. package/lib/agent.ts.multichain-backup +0 -965
  221. package/lib/analytics.ts +0 -136
  222. package/lib/analytics.ts.bak +0 -474
  223. package/lib/approvals.ts +0 -585
  224. package/lib/approvals.ts.bak +0 -585
  225. package/lib/autonomous.ts +0 -599
  226. package/lib/chains/base.ts +0 -107
  227. package/lib/chains/index.ts +0 -136
  228. package/lib/chains/solana.ts +0 -250
  229. package/lib/chains/types.ts +0 -76
  230. package/lib/circle-client.ts +0 -376
  231. package/lib/circle-client.ts.bak +0 -376
  232. package/lib/cli.ts +0 -2158
  233. package/lib/commission.ts +0 -680
  234. package/lib/commission.ts.bak +0 -680
  235. package/lib/condition-builder.ts +0 -223
  236. package/lib/condition-builder.ts.bak +0 -223
  237. package/lib/contacts.ts +0 -615
  238. package/lib/contacts.ts.bak +0 -615
  239. package/lib/contracts-v3.ts +0 -511
  240. package/lib/contracts.ts +0 -58
  241. package/lib/easy.ts +0 -46
  242. package/lib/easy.ts.bak +0 -352
  243. package/lib/erc8004/constants.ts +0 -175
  244. package/lib/erc8004/discovery.ts +0 -299
  245. package/lib/erc8004/identity.ts +0 -327
  246. package/lib/erc8004/index.ts +0 -285
  247. package/lib/erc8004/reputation.ts +0 -368
  248. package/lib/escrow-templates.ts +0 -462
  249. package/lib/escrow.ts +0 -1216
  250. package/lib/forge-std/.gitattributes +0 -1
  251. package/lib/forge-std/.github/CODEOWNERS +0 -1
  252. package/lib/forge-std/.github/dependabot.yml +0 -6
  253. package/lib/forge-std/.github/workflows/ci.yml +0 -125
  254. package/lib/forge-std/.github/workflows/sync.yml +0 -36
  255. package/lib/forge-std/CONTRIBUTING.md +0 -193
  256. package/lib/forge-std/LICENSE-APACHE +0 -203
  257. package/lib/forge-std/LICENSE-MIT +0 -25
  258. package/lib/forge-std/README.md +0 -268
  259. package/lib/forge-std/RELEASE_CHECKLIST.md +0 -12
  260. package/lib/forge-std/foundry.toml +0 -18
  261. package/lib/forge-std/package.json +0 -16
  262. package/lib/forge-std/scripts/vm.py +0 -636
  263. package/lib/forge-std/src/Base.sol +0 -48
  264. package/lib/forge-std/src/Config.sol +0 -60
  265. package/lib/forge-std/src/LibVariable.sol +0 -477
  266. package/lib/forge-std/src/Script.sol +0 -28
  267. package/lib/forge-std/src/StdAssertions.sol +0 -779
  268. package/lib/forge-std/src/StdChains.sol +0 -303
  269. package/lib/forge-std/src/StdCheats.sol +0 -825
  270. package/lib/forge-std/src/StdConfig.sol +0 -632
  271. package/lib/forge-std/src/StdConstants.sol +0 -30
  272. package/lib/forge-std/src/StdError.sol +0 -15
  273. package/lib/forge-std/src/StdInvariant.sol +0 -120
  274. package/lib/forge-std/src/StdJson.sol +0 -275
  275. package/lib/forge-std/src/StdMath.sol +0 -47
  276. package/lib/forge-std/src/StdStorage.sol +0 -475
  277. package/lib/forge-std/src/StdStyle.sol +0 -333
  278. package/lib/forge-std/src/StdToml.sol +0 -275
  279. package/lib/forge-std/src/StdUtils.sol +0 -200
  280. package/lib/forge-std/src/Test.sol +0 -32
  281. package/lib/forge-std/src/Vm.sol +0 -2503
  282. package/lib/forge-std/src/console.sol +0 -1551
  283. package/lib/forge-std/src/console2.sol +0 -4
  284. package/lib/forge-std/src/interfaces/IERC1155.sol +0 -105
  285. package/lib/forge-std/src/interfaces/IERC165.sol +0 -12
  286. package/lib/forge-std/src/interfaces/IERC20.sol +0 -43
  287. package/lib/forge-std/src/interfaces/IERC4626.sol +0 -190
  288. package/lib/forge-std/src/interfaces/IERC6909.sol +0 -72
  289. package/lib/forge-std/src/interfaces/IERC721.sol +0 -164
  290. package/lib/forge-std/src/interfaces/IERC7540.sol +0 -144
  291. package/lib/forge-std/src/interfaces/IERC7575.sol +0 -241
  292. package/lib/forge-std/src/interfaces/IMulticall3.sol +0 -68
  293. package/lib/forge-std/src/safeconsole.sol +0 -13248
  294. package/lib/forge-std/test/CommonBase.t.sol +0 -44
  295. package/lib/forge-std/test/Config.t.sol +0 -381
  296. package/lib/forge-std/test/LibVariable.t.sol +0 -452
  297. package/lib/forge-std/test/StdAssertions.t.sol +0 -141
  298. package/lib/forge-std/test/StdChains.t.sol +0 -227
  299. package/lib/forge-std/test/StdCheats.t.sol +0 -638
  300. package/lib/forge-std/test/StdConstants.t.sol +0 -38
  301. package/lib/forge-std/test/StdError.t.sol +0 -119
  302. package/lib/forge-std/test/StdJson.t.sol +0 -49
  303. package/lib/forge-std/test/StdMath.t.sol +0 -202
  304. package/lib/forge-std/test/StdStorage.t.sol +0 -485
  305. package/lib/forge-std/test/StdStyle.t.sol +0 -110
  306. package/lib/forge-std/test/StdToml.t.sol +0 -49
  307. package/lib/forge-std/test/StdUtils.t.sol +0 -342
  308. package/lib/forge-std/test/Vm.t.sol +0 -18
  309. package/lib/forge-std/test/compilation/CompilationScript.sol +0 -8
  310. package/lib/forge-std/test/compilation/CompilationScriptBase.sol +0 -8
  311. package/lib/forge-std/test/compilation/CompilationTest.sol +0 -8
  312. package/lib/forge-std/test/compilation/CompilationTestBase.sol +0 -8
  313. package/lib/forge-std/test/fixtures/broadcast.log.json +0 -187
  314. package/lib/forge-std/test/fixtures/config.toml +0 -81
  315. package/lib/forge-std/test/fixtures/test.json +0 -8
  316. package/lib/forge-std/test/fixtures/test.toml +0 -6
  317. package/lib/gamification.ts +0 -367
  318. package/lib/index.ts +0 -83
  319. package/lib/invoices.ts +0 -271
  320. package/lib/notifications.ts +0 -484
  321. package/lib/onramp.ts +0 -298
  322. package/lib/splits.ts +0 -264
  323. package/lib/stats.ts +0 -255
  324. package/lib/subscriptions.ts +0 -308
  325. package/lib/swap.ts +0 -219
  326. package/lib/tips.ts +0 -570
  327. package/lib/types.ts +0 -144
  328. package/lib/usernames.ts +0 -174
  329. package/lib/x402-client.ts +0 -471
  330. package/lib/x402-server.ts +0 -462
  331. package/lib/x402.ts +0 -250
@@ -0,0 +1,190 @@
1
+ import { type PublicClient, type WalletClient, type Address, type Hash, type Chain, type Abi } from 'viem';
2
+ import type { Network, PayLobsterConfig, ContractAddresses } from './types.js';
3
+ export declare class PayLobsterClient {
4
+ readonly network: Network;
5
+ readonly chain: Chain;
6
+ readonly contracts: ContractAddresses;
7
+ readonly publicClient: PublicClient;
8
+ readonly walletClient?: WalletClient;
9
+ constructor(config: PayLobsterConfig);
10
+ requireWallet(): WalletClient;
11
+ getAddress(): Promise<Address>;
12
+ hasWallet(): boolean;
13
+ waitForTransaction(hash: Hash): Promise<void>;
14
+ estimateGas(params: {
15
+ account: Address;
16
+ to: Address;
17
+ data?: `0x${string}`;
18
+ value?: bigint;
19
+ }): Promise<bigint>;
20
+ readContract<T>(params: {
21
+ address: Address;
22
+ abi: Abi;
23
+ functionName: string;
24
+ args?: readonly unknown[];
25
+ }): Promise<T>;
26
+ multicall<T>(calls: Array<{
27
+ address: Address;
28
+ abi: Abi;
29
+ functionName: string;
30
+ args?: readonly unknown[];
31
+ }>): Promise<T[]>;
32
+ writeContract(params: {
33
+ address: Address;
34
+ abi: Abi;
35
+ functionName: string;
36
+ args?: readonly unknown[];
37
+ value?: bigint;
38
+ }): Promise<Hash>;
39
+ writeContractAndWait(params: {
40
+ address: Address;
41
+ abi: Abi;
42
+ functionName: string;
43
+ args?: readonly unknown[];
44
+ value?: bigint;
45
+ }): Promise<Hash>;
46
+ getBlockNumber(): Promise<bigint>;
47
+ getTransaction(hash: Hash): Promise<{
48
+ type: "legacy";
49
+ chainId?: number | undefined;
50
+ r: import("viem").Hex;
51
+ s: import("viem").Hex;
52
+ v: bigint;
53
+ yParity?: undefined | undefined;
54
+ to: Address | null;
55
+ from: Address;
56
+ gas: bigint;
57
+ nonce: number;
58
+ value: bigint;
59
+ blobVersionedHashes?: undefined | undefined;
60
+ gasPrice: bigint;
61
+ maxFeePerBlobGas?: undefined | undefined;
62
+ maxFeePerGas?: undefined | undefined;
63
+ maxPriorityFeePerGas?: undefined | undefined;
64
+ accessList?: undefined | undefined;
65
+ authorizationList?: undefined | undefined;
66
+ hash: Hash;
67
+ input: import("viem").Hex;
68
+ typeHex: import("viem").Hex | null;
69
+ blockNumber: bigint;
70
+ blockHash: `0x${string}`;
71
+ transactionIndex: number;
72
+ } | {
73
+ type: "eip2930";
74
+ chainId: number;
75
+ r: import("viem").Hex;
76
+ s: import("viem").Hex;
77
+ v: bigint;
78
+ yParity: number;
79
+ to: Address | null;
80
+ from: Address;
81
+ gas: bigint;
82
+ nonce: number;
83
+ value: bigint;
84
+ blobVersionedHashes?: undefined | undefined;
85
+ gasPrice: bigint;
86
+ maxFeePerBlobGas?: undefined | undefined;
87
+ maxFeePerGas?: undefined | undefined;
88
+ maxPriorityFeePerGas?: undefined | undefined;
89
+ accessList: import("viem").AccessList;
90
+ authorizationList?: undefined | undefined;
91
+ hash: Hash;
92
+ input: import("viem").Hex;
93
+ typeHex: import("viem").Hex | null;
94
+ blockNumber: bigint;
95
+ blockHash: `0x${string}`;
96
+ transactionIndex: number;
97
+ } | {
98
+ type: "eip1559";
99
+ chainId: number;
100
+ r: import("viem").Hex;
101
+ s: import("viem").Hex;
102
+ v: bigint;
103
+ yParity: number;
104
+ to: Address | null;
105
+ from: Address;
106
+ gas: bigint;
107
+ nonce: number;
108
+ value: bigint;
109
+ blobVersionedHashes?: undefined | undefined;
110
+ gasPrice?: undefined | undefined;
111
+ maxFeePerBlobGas?: undefined | undefined;
112
+ maxFeePerGas: bigint;
113
+ maxPriorityFeePerGas: bigint;
114
+ accessList: import("viem").AccessList;
115
+ authorizationList?: undefined | undefined;
116
+ hash: Hash;
117
+ input: import("viem").Hex;
118
+ typeHex: import("viem").Hex | null;
119
+ blockNumber: bigint;
120
+ blockHash: `0x${string}`;
121
+ transactionIndex: number;
122
+ } | {
123
+ type: "eip4844";
124
+ chainId: number;
125
+ r: import("viem").Hex;
126
+ s: import("viem").Hex;
127
+ v: bigint;
128
+ yParity: number;
129
+ to: Address | null;
130
+ from: Address;
131
+ gas: bigint;
132
+ nonce: number;
133
+ value: bigint;
134
+ blobVersionedHashes: readonly import("viem").Hex[];
135
+ gasPrice?: undefined | undefined;
136
+ maxFeePerBlobGas: bigint;
137
+ maxFeePerGas: bigint;
138
+ maxPriorityFeePerGas: bigint;
139
+ accessList: import("viem").AccessList;
140
+ authorizationList?: undefined | undefined;
141
+ hash: Hash;
142
+ input: import("viem").Hex;
143
+ typeHex: import("viem").Hex | null;
144
+ blockNumber: bigint;
145
+ blockHash: `0x${string}`;
146
+ transactionIndex: number;
147
+ } | {
148
+ type: "eip7702";
149
+ chainId: number;
150
+ r: import("viem").Hex;
151
+ s: import("viem").Hex;
152
+ v: bigint;
153
+ yParity: number;
154
+ to: Address | null;
155
+ from: Address;
156
+ gas: bigint;
157
+ nonce: number;
158
+ value: bigint;
159
+ blobVersionedHashes?: undefined | undefined;
160
+ gasPrice?: undefined | undefined;
161
+ maxFeePerBlobGas?: undefined | undefined;
162
+ maxFeePerGas: bigint;
163
+ maxPriorityFeePerGas: bigint;
164
+ accessList: import("viem").AccessList;
165
+ authorizationList: import("viem").SignedAuthorizationList;
166
+ hash: Hash;
167
+ input: import("viem").Hex;
168
+ typeHex: import("viem").Hex | null;
169
+ blockNumber: bigint;
170
+ blockHash: `0x${string}`;
171
+ transactionIndex: number;
172
+ }>;
173
+ getTransactionReceipt(hash: Hash): Promise<import("viem").TransactionReceipt>;
174
+ watchContractEvent(params: {
175
+ address: Address;
176
+ abi: Abi;
177
+ eventName: string;
178
+ onLogs: (logs: unknown[]) => void;
179
+ onError?: (error: Error) => void;
180
+ }): import("viem").WatchContractEventReturnType;
181
+ getContractEvents(params: {
182
+ address: Address;
183
+ abi: Abi;
184
+ eventName: string;
185
+ fromBlock?: bigint;
186
+ toBlock?: bigint;
187
+ }): Promise<import("viem").GetContractEventsReturnType<Abi, string, undefined, bigint | undefined, bigint | undefined>>;
188
+ getBalance(address: Address): Promise<bigint>;
189
+ }
190
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,166 @@
1
+ import { createPublicClient, http, } from 'viem';
2
+ import { CHAINS, getContracts } from './constants.js';
3
+ import { PayLobsterError } from './errors.js';
4
+ export class PayLobsterClient {
5
+ network;
6
+ chain;
7
+ contracts;
8
+ publicClient;
9
+ walletClient;
10
+ constructor(config) {
11
+ this.network = config.network ?? 'mainnet';
12
+ this.chain = CHAINS[this.network];
13
+ this.contracts = { ...getContracts(this.network), ...config.contracts };
14
+ // Create public client for read operations
15
+ this.publicClient = config.publicClient ?? createPublicClient({
16
+ chain: this.chain,
17
+ transport: http(config.rpcUrl),
18
+ });
19
+ // Wallet client for write operations (optional)
20
+ this.walletClient = config.walletClient;
21
+ }
22
+ // ============================================================================
23
+ // Wallet Management
24
+ // ============================================================================
25
+ requireWallet() {
26
+ if (!this.walletClient) {
27
+ throw PayLobsterError.walletRequired('write operation');
28
+ }
29
+ return this.walletClient;
30
+ }
31
+ async getAddress() {
32
+ const wallet = this.requireWallet();
33
+ const [address] = await wallet.getAddresses();
34
+ return address;
35
+ }
36
+ hasWallet() {
37
+ return !!this.walletClient;
38
+ }
39
+ // ============================================================================
40
+ // Transaction Helpers
41
+ // ============================================================================
42
+ async waitForTransaction(hash) {
43
+ try {
44
+ await this.publicClient.waitForTransactionReceipt({
45
+ hash,
46
+ confirmations: 1,
47
+ });
48
+ }
49
+ catch (error) {
50
+ throw PayLobsterError.transactionFailed(hash, error.message);
51
+ }
52
+ }
53
+ async estimateGas(params) {
54
+ try {
55
+ return await this.publicClient.estimateGas(params);
56
+ }
57
+ catch (error) {
58
+ throw PayLobsterError.networkError(`Gas estimation failed: ${error.message}`);
59
+ }
60
+ }
61
+ // ============================================================================
62
+ // Contract Read Operations
63
+ // ============================================================================
64
+ async readContract(params) {
65
+ try {
66
+ const result = await this.publicClient.readContract({
67
+ address: params.address,
68
+ abi: params.abi,
69
+ functionName: params.functionName,
70
+ args: params.args,
71
+ });
72
+ return result;
73
+ }
74
+ catch (error) {
75
+ throw PayLobsterError.networkError(`Contract read failed: ${error.message}`);
76
+ }
77
+ }
78
+ async multicall(calls) {
79
+ try {
80
+ const results = await this.publicClient.multicall({
81
+ contracts: calls.map(call => ({
82
+ address: call.address,
83
+ abi: call.abi,
84
+ functionName: call.functionName,
85
+ args: call.args,
86
+ })),
87
+ });
88
+ return results.map(result => {
89
+ if (result.status === 'failure') {
90
+ throw new Error(result.error.message);
91
+ }
92
+ return result.result;
93
+ });
94
+ }
95
+ catch (error) {
96
+ throw PayLobsterError.networkError(`Multicall failed: ${error.message}`);
97
+ }
98
+ }
99
+ // ============================================================================
100
+ // Contract Write Operations
101
+ // ============================================================================
102
+ async writeContract(params) {
103
+ const wallet = this.requireWallet();
104
+ try {
105
+ const account = await this.getAddress();
106
+ const hash = await wallet.writeContract({
107
+ address: params.address,
108
+ abi: params.abi,
109
+ functionName: params.functionName,
110
+ args: params.args,
111
+ value: params.value,
112
+ account,
113
+ chain: this.chain,
114
+ });
115
+ return hash;
116
+ }
117
+ catch (error) {
118
+ throw PayLobsterError.transactionFailed('unknown', error.message);
119
+ }
120
+ }
121
+ async writeContractAndWait(params) {
122
+ const hash = await this.writeContract(params);
123
+ await this.waitForTransaction(hash);
124
+ return hash;
125
+ }
126
+ // ============================================================================
127
+ // Block & Transaction Queries
128
+ // ============================================================================
129
+ async getBlockNumber() {
130
+ return await this.publicClient.getBlockNumber();
131
+ }
132
+ async getTransaction(hash) {
133
+ return await this.publicClient.getTransaction({ hash });
134
+ }
135
+ async getTransactionReceipt(hash) {
136
+ return await this.publicClient.getTransactionReceipt({ hash });
137
+ }
138
+ // ============================================================================
139
+ // Event Listening
140
+ // ============================================================================
141
+ watchContractEvent(params) {
142
+ return this.publicClient.watchContractEvent({
143
+ address: params.address,
144
+ abi: params.abi,
145
+ eventName: params.eventName,
146
+ onLogs: params.onLogs,
147
+ onError: params.onError,
148
+ });
149
+ }
150
+ async getContractEvents(params) {
151
+ return await this.publicClient.getContractEvents({
152
+ address: params.address,
153
+ abi: params.abi,
154
+ eventName: params.eventName,
155
+ fromBlock: params.fromBlock,
156
+ toBlock: params.toBlock,
157
+ });
158
+ }
159
+ // ============================================================================
160
+ // Balance Queries
161
+ // ============================================================================
162
+ async getBalance(address) {
163
+ return await this.publicClient.getBalance({ address });
164
+ }
165
+ }
166
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}