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.
- package/README.md +319 -125
- package/dist/client.d.ts +190 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +166 -0
- package/dist/client.js.map +1 -0
- package/dist/constants.d.ts +1075 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +309 -0
- package/dist/constants.js.map +1 -0
- package/dist/credit.d.ts +37 -0
- package/dist/credit.d.ts.map +1 -0
- package/dist/credit.js +101 -0
- package/dist/credit.js.map +1 -0
- package/dist/errors.d.ts +21 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +83 -0
- package/dist/errors.js.map +1 -0
- package/dist/escrow.d.ts +58 -296
- package/dist/escrow.d.ts.map +1 -1
- package/dist/escrow.js +138 -812
- package/dist/escrow.js.map +1 -1
- package/dist/identity.d.ts +31 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +78 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +157 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +214 -90
- package/dist/index.js.map +1 -1
- package/dist/mandate.d.ts +47 -0
- package/dist/mandate.d.ts.map +1 -0
- package/dist/mandate.js +117 -0
- package/dist/mandate.js.map +1 -0
- package/dist/reputation.d.ts +42 -0
- package/dist/reputation.d.ts.map +1 -0
- package/dist/reputation.js +123 -0
- package/dist/reputation.js.map +1 -0
- package/dist/services.d.ts +54 -0
- package/dist/services.d.ts.map +1 -0
- package/dist/services.js +194 -0
- package/dist/services.js.map +1 -0
- package/dist/types.d.ts +359 -113
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +17 -5
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +35 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +192 -0
- package/dist/utils.js.map +1 -0
- package/package.json +19 -40
- package/src/client.ts +239 -0
- package/src/constants.ts +326 -0
- package/src/credit.ts +121 -0
- package/src/errors.ts +156 -0
- package/src/escrow.ts +234 -0
- package/src/identity.ts +87 -0
- package/src/index.ts +265 -0
- package/src/mandate.ts +141 -0
- package/src/reputation.ts +135 -0
- package/src/services.ts +260 -0
- package/src/types.ts +484 -0
- package/src/utils.ts +265 -0
- package/README.md.bak +0 -401
- package/dist/abis/IERC20.json +0 -185
- package/dist/abis/PayLobsterCredit.json +0 -952
- package/dist/abis/PayLobsterEscrowV3.json +0 -1069
- package/dist/abis/PayLobsterIdentity.json +0 -1001
- package/dist/abis/PayLobsterReputation.json +0 -707
- package/dist/agent-multichain.d.ts +0 -96
- package/dist/agent-multichain.d.ts.map +0 -1
- package/dist/agent-multichain.js +0 -195
- package/dist/agent-multichain.js.map +0 -1
- package/dist/agent.d.ts +0 -338
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -872
- package/dist/agent.js.map +0 -1
- package/dist/analytics.d.ts +0 -25
- package/dist/analytics.d.ts.map +0 -1
- package/dist/analytics.js +0 -111
- package/dist/analytics.js.map +0 -1
- package/dist/approvals.d.ts +0 -168
- package/dist/approvals.d.ts.map +0 -1
- package/dist/approvals.js +0 -406
- package/dist/approvals.js.map +0 -1
- package/dist/autonomous.d.ts +0 -132
- package/dist/autonomous.d.ts.map +0 -1
- package/dist/autonomous.js +0 -504
- package/dist/autonomous.js.map +0 -1
- package/dist/chains/base.d.ts +0 -32
- package/dist/chains/base.d.ts.map +0 -1
- package/dist/chains/base.js +0 -89
- package/dist/chains/base.js.map +0 -1
- package/dist/chains/index.d.ts +0 -44
- package/dist/chains/index.d.ts.map +0 -1
- package/dist/chains/index.js +0 -123
- package/dist/chains/index.js.map +0 -1
- package/dist/chains/solana.d.ts +0 -45
- package/dist/chains/solana.d.ts.map +0 -1
- package/dist/chains/solana.js +0 -173
- package/dist/chains/solana.js.map +0 -1
- package/dist/chains/types.d.ts +0 -66
- package/dist/chains/types.d.ts.map +0 -1
- package/dist/chains/types.js +0 -7
- package/dist/chains/types.js.map +0 -1
- package/dist/circle-client.d.ts +0 -152
- package/dist/circle-client.d.ts.map +0 -1
- package/dist/circle-client.js +0 -266
- package/dist/circle-client.js.map +0 -1
- package/dist/cli.d.ts +0 -7
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -1860
- package/dist/cli.js.map +0 -1
- package/dist/commission.d.ts +0 -191
- package/dist/commission.d.ts.map +0 -1
- package/dist/commission.js +0 -475
- package/dist/commission.js.map +0 -1
- package/dist/condition-builder.d.ts +0 -98
- package/dist/condition-builder.d.ts.map +0 -1
- package/dist/condition-builder.js +0 -193
- package/dist/condition-builder.js.map +0 -1
- package/dist/contacts.d.ts +0 -179
- package/dist/contacts.d.ts.map +0 -1
- package/dist/contacts.js +0 -445
- package/dist/contacts.js.map +0 -1
- package/dist/contracts-v3.d.ts +0 -260
- package/dist/contracts-v3.d.ts.map +0 -1
- package/dist/contracts-v3.js +0 -371
- package/dist/contracts-v3.js.map +0 -1
- package/dist/contracts.d.ts +0 -19
- package/dist/contracts.d.ts.map +0 -1
- package/dist/contracts.js +0 -58
- package/dist/contracts.js.map +0 -1
- package/dist/easy.d.ts +0 -22
- package/dist/easy.d.ts.map +0 -1
- package/dist/easy.js +0 -40
- package/dist/easy.js.map +0 -1
- package/dist/erc8004/constants.d.ts +0 -152
- package/dist/erc8004/constants.d.ts.map +0 -1
- package/dist/erc8004/constants.js +0 -114
- package/dist/erc8004/constants.js.map +0 -1
- package/dist/erc8004/discovery.d.ts +0 -84
- package/dist/erc8004/discovery.d.ts.map +0 -1
- package/dist/erc8004/discovery.js +0 -217
- package/dist/erc8004/discovery.js.map +0 -1
- package/dist/erc8004/identity.d.ts +0 -91
- package/dist/erc8004/identity.d.ts.map +0 -1
- package/dist/erc8004/identity.js +0 -250
- package/dist/erc8004/identity.js.map +0 -1
- package/dist/erc8004/index.d.ts +0 -147
- package/dist/erc8004/index.d.ts.map +0 -1
- package/dist/erc8004/index.js +0 -225
- package/dist/erc8004/index.js.map +0 -1
- package/dist/erc8004/reputation.d.ts +0 -133
- package/dist/erc8004/reputation.d.ts.map +0 -1
- package/dist/erc8004/reputation.js +0 -277
- package/dist/erc8004/reputation.js.map +0 -1
- package/dist/escrow-templates.d.ts +0 -38
- package/dist/escrow-templates.d.ts.map +0 -1
- package/dist/escrow-templates.js +0 -419
- package/dist/escrow-templates.js.map +0 -1
- package/dist/gamification.d.ts +0 -83
- package/dist/gamification.d.ts.map +0 -1
- package/dist/gamification.js +0 -331
- package/dist/gamification.js.map +0 -1
- package/dist/invoices.d.ts +0 -90
- package/dist/invoices.d.ts.map +0 -1
- package/dist/invoices.js +0 -241
- package/dist/invoices.js.map +0 -1
- package/dist/notifications.d.ts +0 -141
- package/dist/notifications.d.ts.map +0 -1
- package/dist/notifications.js +0 -350
- package/dist/notifications.js.map +0 -1
- package/dist/onramp.d.ts +0 -123
- package/dist/onramp.d.ts.map +0 -1
- package/dist/onramp.js +0 -204
- package/dist/onramp.js.map +0 -1
- package/dist/splits.d.ts +0 -53
- package/dist/splits.d.ts.map +0 -1
- package/dist/splits.js +0 -208
- package/dist/splits.js.map +0 -1
- package/dist/stats.d.ts +0 -73
- package/dist/stats.d.ts.map +0 -1
- package/dist/stats.js +0 -229
- package/dist/stats.js.map +0 -1
- package/dist/subscriptions.d.ts +0 -96
- package/dist/subscriptions.d.ts.map +0 -1
- package/dist/subscriptions.js +0 -281
- package/dist/subscriptions.js.map +0 -1
- package/dist/swap.d.ts +0 -57
- package/dist/swap.d.ts.map +0 -1
- package/dist/swap.js +0 -151
- package/dist/swap.js.map +0 -1
- package/dist/tips.d.ts +0 -171
- package/dist/tips.d.ts.map +0 -1
- package/dist/tips.js +0 -390
- package/dist/tips.js.map +0 -1
- package/dist/usernames.d.ts +0 -35
- package/dist/usernames.d.ts.map +0 -1
- package/dist/usernames.js +0 -142
- package/dist/usernames.js.map +0 -1
- package/dist/x402-client.d.ts +0 -127
- package/dist/x402-client.d.ts.map +0 -1
- package/dist/x402-client.js +0 -350
- package/dist/x402-client.js.map +0 -1
- package/dist/x402-server.d.ts +0 -133
- package/dist/x402-server.d.ts.map +0 -1
- package/dist/x402-server.js +0 -330
- package/dist/x402-server.js.map +0 -1
- package/dist/x402.d.ts +0 -79
- package/dist/x402.d.ts.map +0 -1
- package/dist/x402.js +0 -171
- package/dist/x402.js.map +0 -1
- package/lib/abis/IERC20.json +0 -185
- package/lib/abis/PayLobsterCredit.json +0 -952
- package/lib/abis/PayLobsterEscrowV3.json +0 -1069
- package/lib/abis/PayLobsterIdentity.json +0 -1001
- package/lib/abis/PayLobsterReputation.json +0 -707
- package/lib/agent-multichain.ts +0 -265
- package/lib/agent.ts +0 -1019
- package/lib/agent.ts.multichain-backup +0 -965
- package/lib/analytics.ts +0 -136
- package/lib/analytics.ts.bak +0 -474
- package/lib/approvals.ts +0 -585
- package/lib/approvals.ts.bak +0 -585
- package/lib/autonomous.ts +0 -599
- package/lib/chains/base.ts +0 -107
- package/lib/chains/index.ts +0 -136
- package/lib/chains/solana.ts +0 -250
- package/lib/chains/types.ts +0 -76
- package/lib/circle-client.ts +0 -376
- package/lib/circle-client.ts.bak +0 -376
- package/lib/cli.ts +0 -2158
- package/lib/commission.ts +0 -680
- package/lib/commission.ts.bak +0 -680
- package/lib/condition-builder.ts +0 -223
- package/lib/condition-builder.ts.bak +0 -223
- package/lib/contacts.ts +0 -615
- package/lib/contacts.ts.bak +0 -615
- package/lib/contracts-v3.ts +0 -511
- package/lib/contracts.ts +0 -58
- package/lib/easy.ts +0 -46
- package/lib/easy.ts.bak +0 -352
- package/lib/erc8004/constants.ts +0 -175
- package/lib/erc8004/discovery.ts +0 -299
- package/lib/erc8004/identity.ts +0 -327
- package/lib/erc8004/index.ts +0 -285
- package/lib/erc8004/reputation.ts +0 -368
- package/lib/escrow-templates.ts +0 -462
- package/lib/escrow.ts +0 -1216
- package/lib/forge-std/.gitattributes +0 -1
- package/lib/forge-std/.github/CODEOWNERS +0 -1
- package/lib/forge-std/.github/dependabot.yml +0 -6
- package/lib/forge-std/.github/workflows/ci.yml +0 -125
- package/lib/forge-std/.github/workflows/sync.yml +0 -36
- package/lib/forge-std/CONTRIBUTING.md +0 -193
- package/lib/forge-std/LICENSE-APACHE +0 -203
- package/lib/forge-std/LICENSE-MIT +0 -25
- package/lib/forge-std/README.md +0 -268
- package/lib/forge-std/RELEASE_CHECKLIST.md +0 -12
- package/lib/forge-std/foundry.toml +0 -18
- package/lib/forge-std/package.json +0 -16
- package/lib/forge-std/scripts/vm.py +0 -636
- package/lib/forge-std/src/Base.sol +0 -48
- package/lib/forge-std/src/Config.sol +0 -60
- package/lib/forge-std/src/LibVariable.sol +0 -477
- package/lib/forge-std/src/Script.sol +0 -28
- package/lib/forge-std/src/StdAssertions.sol +0 -779
- package/lib/forge-std/src/StdChains.sol +0 -303
- package/lib/forge-std/src/StdCheats.sol +0 -825
- package/lib/forge-std/src/StdConfig.sol +0 -632
- package/lib/forge-std/src/StdConstants.sol +0 -30
- package/lib/forge-std/src/StdError.sol +0 -15
- package/lib/forge-std/src/StdInvariant.sol +0 -120
- package/lib/forge-std/src/StdJson.sol +0 -275
- package/lib/forge-std/src/StdMath.sol +0 -47
- package/lib/forge-std/src/StdStorage.sol +0 -475
- package/lib/forge-std/src/StdStyle.sol +0 -333
- package/lib/forge-std/src/StdToml.sol +0 -275
- package/lib/forge-std/src/StdUtils.sol +0 -200
- package/lib/forge-std/src/Test.sol +0 -32
- package/lib/forge-std/src/Vm.sol +0 -2503
- package/lib/forge-std/src/console.sol +0 -1551
- package/lib/forge-std/src/console2.sol +0 -4
- package/lib/forge-std/src/interfaces/IERC1155.sol +0 -105
- package/lib/forge-std/src/interfaces/IERC165.sol +0 -12
- package/lib/forge-std/src/interfaces/IERC20.sol +0 -43
- package/lib/forge-std/src/interfaces/IERC4626.sol +0 -190
- package/lib/forge-std/src/interfaces/IERC6909.sol +0 -72
- package/lib/forge-std/src/interfaces/IERC721.sol +0 -164
- package/lib/forge-std/src/interfaces/IERC7540.sol +0 -144
- package/lib/forge-std/src/interfaces/IERC7575.sol +0 -241
- package/lib/forge-std/src/interfaces/IMulticall3.sol +0 -68
- package/lib/forge-std/src/safeconsole.sol +0 -13248
- package/lib/forge-std/test/CommonBase.t.sol +0 -44
- package/lib/forge-std/test/Config.t.sol +0 -381
- package/lib/forge-std/test/LibVariable.t.sol +0 -452
- package/lib/forge-std/test/StdAssertions.t.sol +0 -141
- package/lib/forge-std/test/StdChains.t.sol +0 -227
- package/lib/forge-std/test/StdCheats.t.sol +0 -638
- package/lib/forge-std/test/StdConstants.t.sol +0 -38
- package/lib/forge-std/test/StdError.t.sol +0 -119
- package/lib/forge-std/test/StdJson.t.sol +0 -49
- package/lib/forge-std/test/StdMath.t.sol +0 -202
- package/lib/forge-std/test/StdStorage.t.sol +0 -485
- package/lib/forge-std/test/StdStyle.t.sol +0 -110
- package/lib/forge-std/test/StdToml.t.sol +0 -49
- package/lib/forge-std/test/StdUtils.t.sol +0 -342
- package/lib/forge-std/test/Vm.t.sol +0 -18
- package/lib/forge-std/test/compilation/CompilationScript.sol +0 -8
- package/lib/forge-std/test/compilation/CompilationScriptBase.sol +0 -8
- package/lib/forge-std/test/compilation/CompilationTest.sol +0 -8
- package/lib/forge-std/test/compilation/CompilationTestBase.sol +0 -8
- package/lib/forge-std/test/fixtures/broadcast.log.json +0 -187
- package/lib/forge-std/test/fixtures/config.toml +0 -81
- package/lib/forge-std/test/fixtures/test.json +0 -8
- package/lib/forge-std/test/fixtures/test.toml +0 -6
- package/lib/gamification.ts +0 -367
- package/lib/index.ts +0 -83
- package/lib/invoices.ts +0 -271
- package/lib/notifications.ts +0 -484
- package/lib/onramp.ts +0 -298
- package/lib/splits.ts +0 -264
- package/lib/stats.ts +0 -255
- package/lib/subscriptions.ts +0 -308
- package/lib/swap.ts +0 -219
- package/lib/tips.ts +0 -570
- package/lib/types.ts +0 -144
- package/lib/usernames.ts +0 -174
- package/lib/x402-client.ts +0 -471
- package/lib/x402-server.ts +0 -462
- package/lib/x402.ts +0 -250
package/dist/client.d.ts
ADDED
|
@@ -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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"}
|