@atxp/base 0.2.17 → 0.2.18

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 (39) hide show
  1. package/README.md +6 -0
  2. package/dist/baseAppAccount.d.ts +3 -1
  3. package/dist/baseAppAccount.d.ts.map +1 -1
  4. package/dist/baseAppAccount.ephemeral.test.d.ts +2 -0
  5. package/dist/baseAppAccount.ephemeral.test.d.ts.map +1 -0
  6. package/dist/baseAppAccount.ephemeral.test.js +420 -0
  7. package/dist/baseAppAccount.ephemeral.test.js.map +1 -0
  8. package/dist/baseAppAccount.js +43 -16
  9. package/dist/baseAppAccount.js.map +1 -1
  10. package/dist/baseAppAccount.mainWallet.test.d.ts +2 -0
  11. package/dist/baseAppAccount.mainWallet.test.d.ts.map +1 -0
  12. package/dist/baseAppAccount.mainWallet.test.js +259 -0
  13. package/dist/baseAppAccount.mainWallet.test.js.map +1 -0
  14. package/dist/baseAppPaymentMaker.d.ts.map +1 -1
  15. package/dist/baseAppPaymentMaker.js +4 -3
  16. package/dist/baseAppPaymentMaker.js.map +1 -1
  17. package/dist/baseAppPaymentMaker.test.js +81 -69
  18. package/dist/baseAppPaymentMaker.test.js.map +1 -1
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/mainWalletPaymentMaker.d.ts +22 -0
  24. package/dist/mainWalletPaymentMaker.d.ts.map +1 -0
  25. package/dist/mainWalletPaymentMaker.js +141 -0
  26. package/dist/mainWalletPaymentMaker.js.map +1 -0
  27. package/dist/mainWalletPaymentMaker.test.d.ts +2 -0
  28. package/dist/mainWalletPaymentMaker.test.d.ts.map +1 -0
  29. package/dist/mainWalletPaymentMaker.test.js +310 -0
  30. package/dist/mainWalletPaymentMaker.test.js.map +1 -0
  31. package/dist/storage.d.ts +1 -0
  32. package/dist/storage.d.ts.map +1 -1
  33. package/dist/storage.js +9 -0
  34. package/dist/storage.js.map +1 -1
  35. package/dist/testHelpers.d.ts +88 -0
  36. package/dist/testHelpers.d.ts.map +1 -0
  37. package/dist/testHelpers.js +202 -0
  38. package/dist/testHelpers.js.map +1 -0
  39. package/package.json +3 -3
@@ -0,0 +1,202 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { vi, expect } from 'vitest';
3
+ import { USDC_CONTRACT_ADDRESS_BASE } from '@atxp/client';
4
+ import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
5
+ import { base } from 'viem/chains';
6
+ // Common test constants
7
+ export const TEST_API_KEY = 'test-api-key';
8
+ export const TEST_WALLET_ADDRESS = '0x1234567890123456789012345678901234567890';
9
+ export const TEST_SMART_WALLET_ADDRESS = '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd';
10
+ export const TEST_RECEIVER_ADDRESS = '0x1234567890123456789012345678901234567890';
11
+ export const TEST_PRIVATE_KEY = generatePrivateKey();
12
+ export const TEST_PAYMASTER_URL = 'https://api.developer.coinbase.com/rpc/v1/base/snPdXqIzOGhRkGNJvEHM5bl9Hm3yRO3m';
13
+ export const TEST_BUNDLER_URL = 'https://api.developer.coinbase.com/rpc/v1/base';
14
+ // Mock provider
15
+ export function mockProvider({ request = vi.fn() } = {}) {
16
+ return {
17
+ request
18
+ };
19
+ }
20
+ // Mock SDK
21
+ export function mockBaseAccountSDK({ provider = mockProvider() } = {}) {
22
+ return {
23
+ getProvider: vi.fn(() => provider)
24
+ };
25
+ }
26
+ // Mock spend permission
27
+ export function mockSpendPermission({ signature = '0xmocksignature', account = TEST_WALLET_ADDRESS, spender = TEST_SMART_WALLET_ADDRESS, token = USDC_CONTRACT_ADDRESS_BASE, allowance = '10000000', // 10 USDC
28
+ period = 604800, // 7 days
29
+ start = Math.floor(Date.now() / 1000), end = Math.floor(Date.now() / 1000) + 604800, salt = '1', extraData = '0x', chainId = base.id } = {}) {
30
+ return {
31
+ signature,
32
+ permission: {
33
+ account,
34
+ spender,
35
+ token,
36
+ allowance,
37
+ period,
38
+ start,
39
+ end,
40
+ salt,
41
+ extraData,
42
+ chainId
43
+ }
44
+ };
45
+ }
46
+ // Helper to remove timestamp fields from any object (for test comparisons)
47
+ export function removeTimestamps(obj) {
48
+ // Common timestamp field names
49
+ const timestampFields = ['timestamp', 'start', 'end', 'createdAt', 'updatedAt', 'expiresAt', 'issuedAt'];
50
+ // Deep clone the object to avoid mutations
51
+ const result = JSON.parse(JSON.stringify(obj));
52
+ // Recursive function to remove timestamps
53
+ function removeFromObject(target) {
54
+ if (!target || typeof target !== 'object')
55
+ return;
56
+ // Handle arrays
57
+ if (Array.isArray(target)) {
58
+ target.forEach(item => removeFromObject(item));
59
+ return;
60
+ }
61
+ // Handle objects
62
+ for (const key in target) {
63
+ if (timestampFields.includes(key)) {
64
+ // Validate it looks like a timestamp (number between year 2000 and 2100)
65
+ const value = target[key];
66
+ if (typeof value === 'number' && value > 946684800 && value < 4102444800) {
67
+ delete target[key];
68
+ }
69
+ }
70
+ else if (typeof target[key] === 'object') {
71
+ removeFromObject(target[key]);
72
+ }
73
+ }
74
+ }
75
+ removeFromObject(result);
76
+ return result;
77
+ }
78
+ // Helper to check if a timestamp is within a certain range of an expected time
79
+ // This uses toBeGreaterThanOrEqual/toBeLessThanOrEqual because toBeCloseTo is for
80
+ // floating-point precision, not range checking
81
+ export function expectTimestampAround(timestamp, expectedOffset = 0, tolerance = 60) {
82
+ const now = Math.floor(Date.now() / 1000);
83
+ const expected = now + expectedOffset;
84
+ expect(timestamp).toBeGreaterThanOrEqual(expected - tolerance);
85
+ expect(timestamp).toBeLessThanOrEqual(expected + tolerance);
86
+ }
87
+ // Mock expired spend permission
88
+ export function mockExpiredSpendPermission(overrides = {}) {
89
+ const now = Math.floor(Date.now() / 1000);
90
+ return mockSpendPermission({
91
+ start: now - 1000000,
92
+ end: now - 1000, // Expired
93
+ ...overrides
94
+ });
95
+ }
96
+ // Mock smart account
97
+ export function mockSmartAccount({ address = TEST_SMART_WALLET_ADDRESS, signMessage = vi.fn().mockResolvedValue('0xmocksignature') } = {}) {
98
+ return {
99
+ address,
100
+ signMessage
101
+ };
102
+ }
103
+ // Mock bundler client
104
+ export function mockBundlerClient({ sendUserOperation = vi.fn().mockResolvedValue('0xoperationhash'), waitForUserOperationReceipt = vi.fn().mockResolvedValue({
105
+ success: true,
106
+ userOpHash: '0xoperationhash',
107
+ receipt: { transactionHash: '0xtxhash' }
108
+ }), waitForTransactionReceipt = vi.fn().mockResolvedValue({}) } = {}) {
109
+ return {
110
+ sendUserOperation,
111
+ waitForUserOperationReceipt,
112
+ account: {
113
+ client: {
114
+ waitForTransactionReceipt
115
+ }
116
+ }
117
+ };
118
+ }
119
+ // Mock failed bundler client
120
+ export function mockFailedBundlerClient({ failureType = 'receipt' } = {}) {
121
+ if (failureType === 'receipt') {
122
+ return mockBundlerClient({
123
+ waitForUserOperationReceipt: vi.fn().mockResolvedValue(null)
124
+ });
125
+ }
126
+ else if (failureType === 'deployment') {
127
+ return mockBundlerClient({
128
+ waitForUserOperationReceipt: vi.fn().mockResolvedValue({
129
+ success: false,
130
+ receipt: { transactionHash: '0xtxhash' }
131
+ })
132
+ });
133
+ }
134
+ else if (failureType === 'noTxHash') {
135
+ return mockBundlerClient({
136
+ waitForUserOperationReceipt: vi.fn().mockResolvedValue({
137
+ success: true,
138
+ userOpHash: '0xoperationhash',
139
+ receipt: {} // No transactionHash
140
+ })
141
+ });
142
+ }
143
+ return mockBundlerClient();
144
+ }
145
+ // Mock ephemeral smart wallet
146
+ export function mockEphemeralSmartWallet({ address = TEST_SMART_WALLET_ADDRESS, account = mockSmartAccount({ address }), client = mockBundlerClient(), privateKey = TEST_PRIVATE_KEY } = {}) {
147
+ const signer = privateKeyToAccount(privateKey);
148
+ return {
149
+ address,
150
+ account,
151
+ client,
152
+ signer: {
153
+ ...signer,
154
+ signMessage: vi.fn().mockResolvedValue('0xmocksignature'),
155
+ signTypedData: vi.fn().mockResolvedValue('0xmocksignature'),
156
+ signTransaction: vi.fn().mockResolvedValue('0xmocksignature'),
157
+ getAddress: vi.fn().mockResolvedValue(address)
158
+ }
159
+ };
160
+ }
161
+ // Mock spend permission calls for payment
162
+ export function mockSpendCalls({ calls = [
163
+ { to: '0xcontract1', data: '0xdata1', value: '0x0' },
164
+ { to: '0xcontract2', data: '0xdata2', value: '0x0' }
165
+ ] } = {}) {
166
+ return calls;
167
+ }
168
+ // Helper to setup initialization mocks
169
+ export async function setupInitializationMocks({ provider = mockProvider(), spendPermission = mockSpendPermission(), smartAccount = mockSmartAccount(), bundlerClient = mockBundlerClient() } = {}) {
170
+ const { createBaseAccountSDK } = await import('@base-org/account');
171
+ const { requestSpendPermission } = await import('@base-org/account/spend-permission');
172
+ const { toCoinbaseSmartAccount, createBundlerClient } = await import('viem/account-abstraction');
173
+ const { createPublicClient } = await import('viem');
174
+ const sdk = mockBaseAccountSDK({ provider });
175
+ createBaseAccountSDK.mockReturnValue(sdk);
176
+ createPublicClient.mockReturnValue({});
177
+ toCoinbaseSmartAccount.mockResolvedValue(smartAccount);
178
+ createBundlerClient.mockReturnValue(bundlerClient);
179
+ requestSpendPermission.mockResolvedValue(spendPermission);
180
+ return {
181
+ createBaseAccountSDK,
182
+ requestSpendPermission,
183
+ toCoinbaseSmartAccount,
184
+ createBundlerClient,
185
+ createPublicClient,
186
+ provider,
187
+ sdk
188
+ };
189
+ }
190
+ // Helper to setup payment mocks
191
+ export async function setupPaymentMocks({ spendCalls = mockSpendCalls() } = {}) {
192
+ const { prepareSpendCallData } = await import('@base-org/account/spend-permission');
193
+ prepareSpendCallData.mockResolvedValue(spendCalls);
194
+ return {
195
+ prepareSpendCallData
196
+ };
197
+ }
198
+ // Storage key helper
199
+ export function getStorageKey(walletAddress) {
200
+ return `atxp-base-permission-${walletAddress}`;
201
+ }
202
+ //# sourceMappingURL=testHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../src/testHelpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atxp/base",
3
- "version": "0.2.17",
3
+ "version": "0.2.18",
4
4
  "description": "ATXP for Base Mini Apps",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,8 +22,8 @@
22
22
  "test": "vitest run"
23
23
  },
24
24
  "dependencies": {
25
- "@atxp/client": "0.2.17",
26
- "@atxp/common": "0.2.17",
25
+ "@atxp/client": "0.2.18",
26
+ "@atxp/common": "0.2.18",
27
27
  "@base-org/account": "^2.0.2",
28
28
  "bignumber.js": "^9.3.0",
29
29
  "viem": "^2.34.0"