@atxp/base 0.2.21 → 0.3.0

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 (55) hide show
  1. package/dist/baseAppAccount.js +15 -4
  2. package/dist/baseAppAccount.js.map +1 -1
  3. package/dist/baseAppPaymentMaker.js +43 -50
  4. package/dist/baseAppPaymentMaker.js.map +1 -1
  5. package/dist/eip1271JwtHelper.js +83 -0
  6. package/dist/eip1271JwtHelper.js.map +1 -0
  7. package/dist/index.cjs +630 -0
  8. package/dist/index.cjs.map +1 -0
  9. package/dist/index.d.ts +157 -6
  10. package/dist/index.js +623 -5
  11. package/dist/index.js.map +1 -1
  12. package/dist/mainWalletPaymentMaker.js +26 -48
  13. package/dist/mainWalletPaymentMaker.js.map +1 -1
  14. package/dist/smartWalletHelpers.js +6 -3
  15. package/dist/smartWalletHelpers.js.map +1 -1
  16. package/dist/spendPermissionUtils.js +19 -0
  17. package/dist/spendPermissionUtils.js.map +1 -0
  18. package/dist/storage.js +6 -4
  19. package/dist/storage.js.map +1 -1
  20. package/package.json +22 -8
  21. package/dist/baseAppAccount.d.ts +0 -28
  22. package/dist/baseAppAccount.d.ts.map +0 -1
  23. package/dist/baseAppAccount.ephemeral.test.d.ts +0 -2
  24. package/dist/baseAppAccount.ephemeral.test.d.ts.map +0 -1
  25. package/dist/baseAppAccount.ephemeral.test.js +0 -420
  26. package/dist/baseAppAccount.ephemeral.test.js.map +0 -1
  27. package/dist/baseAppAccount.mainWallet.test.d.ts +0 -2
  28. package/dist/baseAppAccount.mainWallet.test.d.ts.map +0 -1
  29. package/dist/baseAppAccount.mainWallet.test.js +0 -259
  30. package/dist/baseAppAccount.mainWallet.test.js.map +0 -1
  31. package/dist/baseAppPaymentMaker.d.ts +0 -16
  32. package/dist/baseAppPaymentMaker.d.ts.map +0 -1
  33. package/dist/baseAppPaymentMaker.test.d.ts +0 -2
  34. package/dist/baseAppPaymentMaker.test.d.ts.map +0 -1
  35. package/dist/baseAppPaymentMaker.test.js +0 -107
  36. package/dist/baseAppPaymentMaker.test.js.map +0 -1
  37. package/dist/index.d.ts.map +0 -1
  38. package/dist/mainWalletPaymentMaker.d.ts +0 -22
  39. package/dist/mainWalletPaymentMaker.d.ts.map +0 -1
  40. package/dist/mainWalletPaymentMaker.test.d.ts +0 -2
  41. package/dist/mainWalletPaymentMaker.test.d.ts.map +0 -1
  42. package/dist/mainWalletPaymentMaker.test.js +0 -340
  43. package/dist/mainWalletPaymentMaker.test.js.map +0 -1
  44. package/dist/smartWalletHelpers.d.ts +0 -13
  45. package/dist/smartWalletHelpers.d.ts.map +0 -1
  46. package/dist/storage.d.ts +0 -51
  47. package/dist/storage.d.ts.map +0 -1
  48. package/dist/testHelpers.d.ts +0 -88
  49. package/dist/testHelpers.d.ts.map +0 -1
  50. package/dist/testHelpers.js +0 -202
  51. package/dist/testHelpers.js.map +0 -1
  52. package/dist/types.d.ts +0 -35
  53. package/dist/types.d.ts.map +0 -1
  54. package/dist/types.js +0 -3
  55. package/dist/types.js.map +0 -1
@@ -1,202 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../src/testHelpers.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,35 +0,0 @@
1
- /**
2
- * Represents a spending permission with limits
3
- */
4
- export type SpendPermission = {
5
- /** UTC timestamp for when the permission was granted */
6
- createdAt?: number;
7
- /** Hash of the permission in hex format */
8
- permissionHash?: string;
9
- /** Cryptographic signature in hex format */
10
- signature: string;
11
- /** Chain ID */
12
- chainId?: number;
13
- /** The permission details */
14
- permission: {
15
- /** Wallet address of the account */
16
- account: string;
17
- /** Address of the contract/entity allowed to spend */
18
- spender: string;
19
- /** Address of the token being spent */
20
- token: string;
21
- /** Maximum amount allowed as base 10 numeric string */
22
- allowance: string;
23
- /** Time period in seconds */
24
- period: number;
25
- /** Start time in unix seconds */
26
- start: number;
27
- /** Expiration time in unix seconds */
28
- end: number;
29
- /** Salt as base 10 numeric string */
30
- salt: string;
31
- /** Additional data in hex format */
32
- extraData: string;
33
- };
34
- };
35
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,UAAU,EAAE;QACV,oCAAoC;QACpC,OAAO,EAAE,MAAM,CAAC;QAChB,sDAAsD;QACtD,OAAO,EAAE,MAAM,CAAC;QAChB,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;QACd,uDAAuD;QACvD,SAAS,EAAE,MAAM,CAAC;QAClB,6BAA6B;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,iCAAiC;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,sCAAsC;QACtC,GAAG,EAAE,MAAM,CAAC;QACZ,qCAAqC;QACrC,IAAI,EAAE,MAAM,CAAC;QACb,oCAAoC;QACpC,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC"}
package/dist/types.js DELETED
@@ -1,3 +0,0 @@
1
- // source: https://github.com/base/account-sdk/blob/master/packages/account-sdk/src/core/rpc/coinbase_fetchSpendPermissions.ts
2
- export {};
3
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8HAA8H"}