@atxp/base 0.2.17 → 0.2.19
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 +6 -0
- package/dist/baseAppAccount.d.ts +3 -1
- package/dist/baseAppAccount.d.ts.map +1 -1
- package/dist/baseAppAccount.ephemeral.test.d.ts +2 -0
- package/dist/baseAppAccount.ephemeral.test.d.ts.map +1 -0
- package/dist/baseAppAccount.ephemeral.test.js +420 -0
- package/dist/baseAppAccount.ephemeral.test.js.map +1 -0
- package/dist/baseAppAccount.js +43 -16
- package/dist/baseAppAccount.js.map +1 -1
- package/dist/baseAppAccount.mainWallet.test.d.ts +2 -0
- package/dist/baseAppAccount.mainWallet.test.d.ts.map +1 -0
- package/dist/baseAppAccount.mainWallet.test.js +259 -0
- package/dist/baseAppAccount.mainWallet.test.js.map +1 -0
- package/dist/baseAppPaymentMaker.d.ts.map +1 -1
- package/dist/baseAppPaymentMaker.js +4 -3
- package/dist/baseAppPaymentMaker.js.map +1 -1
- package/dist/baseAppPaymentMaker.test.js +81 -69
- package/dist/baseAppPaymentMaker.test.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mainWalletPaymentMaker.d.ts +22 -0
- package/dist/mainWalletPaymentMaker.d.ts.map +1 -0
- package/dist/mainWalletPaymentMaker.js +156 -0
- package/dist/mainWalletPaymentMaker.js.map +1 -0
- package/dist/mainWalletPaymentMaker.test.d.ts +2 -0
- package/dist/mainWalletPaymentMaker.test.d.ts.map +1 -0
- package/dist/mainWalletPaymentMaker.test.js +340 -0
- package/dist/mainWalletPaymentMaker.test.js.map +1 -0
- package/dist/storage.d.ts +1 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +9 -0
- package/dist/storage.js.map +1 -1
- package/dist/testHelpers.d.ts +88 -0
- package/dist/testHelpers.d.ts.map +1 -0
- package/dist/testHelpers.js +202 -0
- package/dist/testHelpers.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { SpendPermission } from './types.js';
|
|
2
|
+
import type { EphemeralSmartWallet } from './smartWalletHelpers.js';
|
|
3
|
+
import type { Address } from 'viem';
|
|
4
|
+
export declare const TEST_API_KEY = "test-api-key";
|
|
5
|
+
export declare const TEST_WALLET_ADDRESS: Address;
|
|
6
|
+
export declare const TEST_SMART_WALLET_ADDRESS: Address;
|
|
7
|
+
export declare const TEST_RECEIVER_ADDRESS: Address;
|
|
8
|
+
export declare const TEST_PRIVATE_KEY: `0x${string}`;
|
|
9
|
+
export declare const TEST_PAYMASTER_URL = "https://api.developer.coinbase.com/rpc/v1/base/snPdXqIzOGhRkGNJvEHM5bl9Hm3yRO3m";
|
|
10
|
+
export declare const TEST_BUNDLER_URL = "https://api.developer.coinbase.com/rpc/v1/base";
|
|
11
|
+
export declare function mockProvider({ request }?: {
|
|
12
|
+
request?: import("vitest").Mock<(...args: any[]) => any> | undefined;
|
|
13
|
+
}): {
|
|
14
|
+
request: import("vitest").Mock<(...args: any[]) => any>;
|
|
15
|
+
};
|
|
16
|
+
export declare function mockBaseAccountSDK({ provider }?: {
|
|
17
|
+
provider?: {
|
|
18
|
+
request: import("vitest").Mock<(...args: any[]) => any>;
|
|
19
|
+
} | undefined;
|
|
20
|
+
}): {
|
|
21
|
+
getProvider: import("vitest").Mock<() => {
|
|
22
|
+
request: import("vitest").Mock<(...args: any[]) => any>;
|
|
23
|
+
}>;
|
|
24
|
+
};
|
|
25
|
+
export declare function mockSpendPermission({ signature, account, spender, token, allowance, // 10 USDC
|
|
26
|
+
period, // 7 days
|
|
27
|
+
start, end, salt, extraData, chainId }?: {
|
|
28
|
+
signature?: `0x${string}` | undefined;
|
|
29
|
+
account?: `0x${string}` | undefined;
|
|
30
|
+
spender?: `0x${string}` | undefined;
|
|
31
|
+
token?: string | undefined;
|
|
32
|
+
allowance?: string | undefined;
|
|
33
|
+
period?: number | undefined;
|
|
34
|
+
start?: number | undefined;
|
|
35
|
+
end?: number | undefined;
|
|
36
|
+
salt?: string | undefined;
|
|
37
|
+
extraData?: `0x${string}` | undefined;
|
|
38
|
+
chainId?: 8453 | undefined;
|
|
39
|
+
}): SpendPermission;
|
|
40
|
+
export declare function removeTimestamps<T extends Record<string, any>>(obj: T): T;
|
|
41
|
+
export declare function expectTimestampAround(timestamp: number, expectedOffset?: number, tolerance?: number): void;
|
|
42
|
+
export declare function mockExpiredSpendPermission(overrides?: {}): SpendPermission;
|
|
43
|
+
export declare function mockSmartAccount({ address, signMessage }?: {
|
|
44
|
+
address?: `0x${string}` | undefined;
|
|
45
|
+
signMessage?: import("vitest").Mock<(...args: any[]) => any> | undefined;
|
|
46
|
+
}): any;
|
|
47
|
+
export declare function mockBundlerClient({ sendUserOperation, waitForUserOperationReceipt, waitForTransactionReceipt }?: {
|
|
48
|
+
sendUserOperation?: import("vitest").Mock<(...args: any[]) => any> | undefined;
|
|
49
|
+
waitForUserOperationReceipt?: import("vitest").Mock<(...args: any[]) => any> | undefined;
|
|
50
|
+
waitForTransactionReceipt?: import("vitest").Mock<(...args: any[]) => any> | undefined;
|
|
51
|
+
}): any;
|
|
52
|
+
export declare function mockFailedBundlerClient({ failureType }?: {
|
|
53
|
+
failureType?: string | undefined;
|
|
54
|
+
}): any;
|
|
55
|
+
export declare function mockEphemeralSmartWallet({ address, account, client, privateKey }?: {
|
|
56
|
+
address?: `0x${string}` | undefined;
|
|
57
|
+
account?: any;
|
|
58
|
+
client?: any;
|
|
59
|
+
privateKey?: `0x${string}` | undefined;
|
|
60
|
+
}): EphemeralSmartWallet;
|
|
61
|
+
export declare function mockSpendCalls({ calls }?: {
|
|
62
|
+
calls?: {
|
|
63
|
+
to: string;
|
|
64
|
+
data: string;
|
|
65
|
+
value: string;
|
|
66
|
+
}[] | undefined;
|
|
67
|
+
}): {
|
|
68
|
+
to: string;
|
|
69
|
+
data: string;
|
|
70
|
+
value: string;
|
|
71
|
+
}[];
|
|
72
|
+
export declare function setupInitializationMocks({ provider, spendPermission, smartAccount, bundlerClient }?: {
|
|
73
|
+
provider?: {
|
|
74
|
+
request: import("vitest").Mock<(...args: any[]) => any>;
|
|
75
|
+
} | undefined;
|
|
76
|
+
spendPermission?: SpendPermission | undefined;
|
|
77
|
+
smartAccount?: any;
|
|
78
|
+
bundlerClient?: any;
|
|
79
|
+
}): Promise<any>;
|
|
80
|
+
export declare function setupPaymentMocks({ spendCalls }?: {
|
|
81
|
+
spendCalls?: {
|
|
82
|
+
to: string;
|
|
83
|
+
data: string;
|
|
84
|
+
value: string;
|
|
85
|
+
}[] | undefined;
|
|
86
|
+
}): Promise<any>;
|
|
87
|
+
export declare function getStorageKey(walletAddress: string): string;
|
|
88
|
+
//# sourceMappingURL=testHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testHelpers.d.ts","sourceRoot":"","sources":["../src/testHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAIpE,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AAGzC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,mBAAmB,EAAmD,OAAO,CAAC;AAC3F,eAAO,MAAM,yBAAyB,EAAmD,OAAO,CAAC;AACjG,eAAO,MAAM,qBAAqB,EAAmD,OAAO,CAAC;AAC7F,eAAO,MAAM,gBAAgB,eAAuB,CAAC;AACrD,eAAO,MAAM,kBAAkB,oFAAoF,CAAC;AACpH,eAAO,MAAM,gBAAgB,mDAAmD,CAAC;AAGjF,wBAAgB,YAAY,CAAC,EAC3B,OAAiB,EAClB;;CAAK;;EAIL;AAGD,wBAAgB,kBAAkB,CAAC,EACjC,QAAyB,EAC1B;;;;CAAK;;;;EAIL;AAGD,wBAAgB,mBAAmB,CAAC,EAClC,SAAoC,EACpC,OAA6B,EAC7B,OAAmC,EACnC,KAAkC,EAClC,SAAsB,EAAE,UAAU;AAClC,MAAe,EAAE,SAAS;AAC1B,KAAqC,EACrC,GAA4C,EAC5C,IAAU,EACV,SAAuB,EACvB,OAAiB,EAClB;;;;;;;;;;;;CAAK,GAAG,eAAe,CAgBvB;AAGD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAiCzE;AAKD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,GAAE,MAAU,EAAE,SAAS,GAAE,MAAW,QAK1G;AAGD,wBAAgB,0BAA0B,CAAC,SAAS,KAAK,GAAG,eAAe,CAO1E;AAGD,wBAAgB,gBAAgB,CAAC,EAC/B,OAAmC,EACnC,WAA0D,EAC3D;;;CAAK,GAIC,GAAG,CACT;AAGD,wBAAgB,iBAAiB,CAAC,EAChC,iBAAgE,EAChE,2BAIE,EACF,yBAAyD,EAC1D;;;;CAAK,GASC,GAAG,CACT;AAGD,wBAAgB,uBAAuB,CAAC,EACtC,WAAuB,EACxB;;CAAK,OAsBL;AAGD,wBAAgB,wBAAwB,CAAC,EACvC,OAAmC,EACnC,OAAuC,EACvC,MAA4B,EAC5B,UAA6B,EAC9B;;;;;CAAK,GAAG,oBAAoB,CAe5B;AAGD,wBAAgB,cAAc,CAAC,EAC7B,KAGC,EACF;;;;;;CAAK;;;;IAEL;AAKD,wBAAsB,wBAAwB,CAAC,EAC7C,QAAyB,EACzB,eAAuC,EACvC,YAAiC,EACjC,aAAmC,EACpC;;;;;;;CAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBpB;AAGD,wBAAsB,iBAAiB,CAAC,EACtC,UAA6B,EAC9B;;;;;;CAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAOpB;AAGD,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE3D"}
|
|
@@ -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.
|
|
3
|
+
"version": "0.2.19",
|
|
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.
|
|
26
|
-
"@atxp/common": "0.2.
|
|
25
|
+
"@atxp/client": "0.2.19",
|
|
26
|
+
"@atxp/common": "0.2.19",
|
|
27
27
|
"@base-org/account": "^2.0.2",
|
|
28
28
|
"bignumber.js": "^9.3.0",
|
|
29
29
|
"viem": "^2.34.0"
|