@pasosdejesus/m 0.19.0 → 0.20.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.
- package/dist/e2e/env.d.ts +15 -6
- package/dist/e2e/env.d.ts.map +1 -1
- package/dist/e2e/env.js +38 -24
- package/dist/e2e/env.js.map +1 -1
- package/package.json +1 -1
package/dist/e2e/env.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export interface E2EAccount {
|
|
2
|
+
address: string;
|
|
3
|
+
signMessage: (opts: {
|
|
4
|
+
message: string;
|
|
5
|
+
}) => Promise<string>;
|
|
6
|
+
}
|
|
1
7
|
export interface E2EEnv {
|
|
2
8
|
port: string;
|
|
3
9
|
host: string;
|
|
@@ -5,12 +11,15 @@ export interface E2EEnv {
|
|
|
5
11
|
base: string;
|
|
6
12
|
timeout: number;
|
|
7
13
|
headless: boolean;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
/** Billetera principal (sesión SIWE / primer wallet). */
|
|
15
|
+
account: E2EAccount;
|
|
16
|
+
/**
|
|
17
|
+
* Todas las billeteras disponibles (REQ/35: flujos de claim pueden necesitar
|
|
18
|
+
* una billetera de sesión y otra claimer con fondos para gas).
|
|
19
|
+
* Fuentes: TEST_PRIVATE_KEYS (lista separada por comas, prioridad),
|
|
20
|
+
* TEST_PRIVATE_KEY, apps/.env, Hardhat test key.
|
|
21
|
+
*/
|
|
22
|
+
wallets: E2EAccount[];
|
|
14
23
|
chainId: number;
|
|
15
24
|
}
|
|
16
25
|
export declare function initTestEnv(): Promise<E2EEnv>;
|
package/dist/e2e/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/e2e/env.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/e2e/env.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAC5D;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,yDAAyD;IACzD,OAAO,EAAE,UAAU,CAAA;IACnB;;;;;OAKG;IACH,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAyCnD;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C"}
|
package/dist/e2e/env.js
CHANGED
|
@@ -1,31 +1,29 @@
|
|
|
1
1
|
// Environment helper for E2E tests — parses env vars, resolves account
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import * as path from 'path';
|
|
4
|
-
// Try to load PRIVATE_KEY and NEXT_PUBLIC_ADDRESS from
|
|
4
|
+
// Try to load PRIVATE_KEY and NEXT_PUBLIC_ADDRESS from a .env file.
|
|
5
|
+
// Candidates (en orden): ../.env (apps/ cuando cwd=apps/<app>), ../../.env
|
|
6
|
+
// (raíz del repo), .env (cwd). REQ/35: desde apps/nextjs el .env real vive en
|
|
7
|
+
// apps/.env (../.env), no en la raíz.
|
|
8
|
+
const ENV_CANDIDATES = [
|
|
9
|
+
{ rel: path.join('..', '.env'), label: 'apps/.env' },
|
|
10
|
+
{ rel: path.join('..', '..', '.env'), label: 'root/.env' },
|
|
11
|
+
{ rel: '.env', label: '.env' },
|
|
12
|
+
];
|
|
5
13
|
function loadEnvFile() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
14
|
+
for (const { rel, label } of ENV_CANDIDATES) {
|
|
15
|
+
try {
|
|
16
|
+
const envPath = path.join(process.cwd(), rel);
|
|
17
|
+
if (!fs.existsSync(envPath))
|
|
18
|
+
continue;
|
|
9
19
|
const content = fs.readFileSync(envPath, 'utf8');
|
|
10
20
|
const pk = content.match(/PRIVATE_KEY="([^"]+)"/)?.[1];
|
|
11
21
|
const addr = content.match(/NEXT_PUBLIC_ADDRESS="([^"]+)"/)?.[1];
|
|
12
22
|
if (pk && addr)
|
|
13
|
-
return { pk, addr, source:
|
|
23
|
+
return { pk, addr, source: label };
|
|
14
24
|
}
|
|
25
|
+
catch { /* siguiente candidato */ }
|
|
15
26
|
}
|
|
16
|
-
catch { /* fallback */ }
|
|
17
|
-
// Also try .env from working directory
|
|
18
|
-
try {
|
|
19
|
-
const envPath = path.join(process.cwd(), '.env');
|
|
20
|
-
if (fs.existsSync(envPath)) {
|
|
21
|
-
const content = fs.readFileSync(envPath, 'utf8');
|
|
22
|
-
const pk = content.match(/PRIVATE_KEY="([^"]+)"/)?.[1];
|
|
23
|
-
const addr = content.match(/NEXT_PUBLIC_ADDRESS="([^"]+)"/)?.[1];
|
|
24
|
-
if (pk && addr)
|
|
25
|
-
return { pk, addr, source: '.env' };
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
catch { /* fallback */ }
|
|
29
27
|
return null;
|
|
30
28
|
}
|
|
31
29
|
const _envFile = loadEnvFile();
|
|
@@ -36,21 +34,37 @@ export async function initTestEnv() {
|
|
|
36
34
|
const base = `https://${host}${domainPort}`;
|
|
37
35
|
const timeout = 60000;
|
|
38
36
|
const headless = process.env.CONCABEZA ? false : true;
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
'
|
|
37
|
+
// Prioridad de claves: TEST_PRIVATE_KEYS (lista) > TEST_PRIVATE_KEY >
|
|
38
|
+
// apps/.env > Hardhat test key.
|
|
39
|
+
const rawKeys = (process.env.TEST_PRIVATE_KEYS || '')
|
|
40
|
+
.split(',')
|
|
41
|
+
.map((k) => k.trim())
|
|
42
|
+
.filter(Boolean);
|
|
43
|
+
const pks = rawKeys.length > 0
|
|
44
|
+
? rawKeys
|
|
45
|
+
: [
|
|
46
|
+
process.env.TEST_PRIVATE_KEY ||
|
|
47
|
+
_envFile?.pk ||
|
|
48
|
+
'0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80',
|
|
49
|
+
];
|
|
43
50
|
// Lazy import viem to avoid requiring it for smoke tests
|
|
44
51
|
const { privateKeyToAccount } = await import('viem/accounts');
|
|
45
|
-
const
|
|
52
|
+
const wallets = pks.map((pk) => {
|
|
53
|
+
const acc = privateKeyToAccount(pk);
|
|
54
|
+
return { address: acc.address, signMessage: acc.signMessage.bind(acc) };
|
|
55
|
+
});
|
|
56
|
+
const account = wallets[0];
|
|
46
57
|
if (_envFile) {
|
|
47
58
|
console.log(` 🔑 Using ${_envFile.source} wallet: ${account.address}`);
|
|
48
59
|
}
|
|
60
|
+
else if (process.env.TEST_PRIVATE_KEY || process.env.TEST_PRIVATE_KEYS) {
|
|
61
|
+
console.log(` 🔑 Using env wallet: ${account.address}`);
|
|
62
|
+
}
|
|
49
63
|
else {
|
|
50
64
|
console.log(` 🔑 Using Hardhat test key: ${account.address}`);
|
|
51
65
|
}
|
|
52
66
|
const chainId = parseInt(process.env.CHAIN_ID || '42220', 10);
|
|
53
|
-
return { port, host, domainPort, base, timeout, headless, account, chainId };
|
|
67
|
+
return { port, host, domainPort, base, timeout, headless, account, wallets, chainId };
|
|
54
68
|
}
|
|
55
69
|
export function short(addr) {
|
|
56
70
|
return addr.slice(0, 10) + '...';
|
package/dist/e2e/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/e2e/env.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/e2e/env.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,oEAAoE;AACpE,2EAA2E;AAC3E,8EAA8E;AAC9E,sCAAsC;AACtC,MAAM,cAAc,GAA0C;IAC5D,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;IACpD,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1D,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CAC/B,CAAA;AAED,SAAS,WAAW;IAClB,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;YAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAQ;YACrC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAChD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAChE,IAAI,EAAE,IAAI,IAAI;gBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;QACpD,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;AA0B9B,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,CAAA;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,UAAU,CAAA;IAC5C,MAAM,UAAU,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAA;IACpE,MAAM,IAAI,GAAG,WAAW,IAAI,GAAG,UAAU,EAAE,CAAA;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAA;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAErD,sEAAsE;IACtE,gCAAgC;IAChC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;SAClD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAA;IAClB,MAAM,GAAG,GAAa,OAAO,CAAC,MAAM,GAAG,CAAC;QACtC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC;YACE,OAAO,CAAC,GAAG,CAAC,gBAAgB;gBAC1B,QAAQ,EAAE,EAAE;gBACZ,oEAAoE;SACvE,CAAA;IAEL,yDAAyD;IACzD,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAiB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,mBAAmB,CAAC,EAAmB,CAAC,CAAA;QACpD,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACzE,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAE1B,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,MAAM,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IACzE,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,EAAE,EAAE,CAAC,CAAA;IAE7D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AACvF,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAA;AAClC,CAAC"}
|