@rozoai/checkout 0.1.0 → 0.1.2
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 +292 -214
- package/docs/QUICKSTART.es.md +338 -0
- package/docs/QUICKSTART.ja.md +315 -0
- package/docs/QUICKSTART.md +328 -0
- package/docs/QUICKSTART.zh.md +289 -0
- package/docs/README.es.md +348 -0
- package/docs/README.ja.md +337 -0
- package/docs/README.zh.md +307 -0
- package/docs/how-it-works.md +43 -0
- package/docs/safety.md +78 -0
- package/llms.txt +53 -7
- package/package.json +3 -8
- package/scripts/dist/cli.js +1526 -720
- package/scripts/dist/send-evm.js +6715 -6286
- package/scripts/dist/send-sol.js +1738 -674
- package/QUICKSTART.es.md +0 -192
- package/QUICKSTART.ja.md +0 -187
- package/QUICKSTART.md +0 -188
- package/QUICKSTART.zh.md +0 -178
- package/README.es.md +0 -287
- package/README.ja.md +0 -265
- package/README.zh.md +0 -187
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
# rozo-checkout
|
|
2
|
+
|
|
3
|
+
[English](../README.md) | [简体中文](README.zh.md) | [日本語](README.ja.md) | **Español**
|
|
4
|
+
|
|
5
|
+
Pagar un **enlace de pago de Coinbase (Payment Link) de OpenRouter** con una
|
|
6
|
+
moneda que ese enlace no puede aceptar directamente: BTC por Lightning, o
|
|
7
|
+
USDT/USDC en Solana, BNB Chain, Ethereum, Polygon, Base o Stellar. Un enlace de
|
|
8
|
+
pago de Coinbase solo acepta USDC en Base; esto enruta la moneda que realmente
|
|
9
|
+
se posee a través de un puente, y una billetera fondeadora liquida la factura en
|
|
10
|
+
nombre del usuario. Sin cuenta, sin clave de API, sin navegador.
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx @rozoai/checkout pay <coinbase-link>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Primero pregunta con qué moneda se quiere pagar —al pegar la dirección de la
|
|
17
|
+
billetera en el prompt, marca cuáles se pueden pagar con el saldo disponible— y
|
|
18
|
+
luego imprime una dirección de depósito para pagar desde cualquier billetera
|
|
19
|
+
—**sin clave privada, sin variable de entorno, sin configuración**—. Después
|
|
20
|
+
espera hasta que la factura quede liquidada.
|
|
21
|
+
|
|
22
|
+
¿Ya se sabe qué moneda usar? Se puede omitir la pregunta:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Monedas con las que se puede pagar
|
|
29
|
+
|
|
30
|
+
| Cadena | `--with` | Id de cadena | Notas |
|
|
31
|
+
|---|---|---|---|
|
|
32
|
+
| Ethereum | `usdt-ethereum` `usdc-ethereum` | `1` | 6 decimales |
|
|
33
|
+
| BNB Chain | `usdt-bnb` `usdc-bnb` | `56` | 18 decimales |
|
|
34
|
+
| Polygon | `usdt-polygon` `usdc-polygon` | `137` | 6 decimales |
|
|
35
|
+
| Base | `usdc-base` | `8453` | 6 decimales |
|
|
36
|
+
| Solana | `usdt-solana` `usdc-solana` | `900` | SPL; SOL nativo no admitido |
|
|
37
|
+
| Stellar | `usdc-stellar` | `1500` | memo obligatorio — se muestra en el bloque de depósito |
|
|
38
|
+
| Bitcoin Lightning | `btc-lightning` | `lightning` | BOLT11; importes en satoshis |
|
|
39
|
+
|
|
40
|
+
Las monedas de gas nativas (SOL, BNB, ETH, MATIC) y el BTC on-chain no se aceptan.
|
|
41
|
+
|
|
42
|
+
## ¿Qué wallet necesito?
|
|
43
|
+
|
|
44
|
+
**Una wallet, en una cadena: no hace falta una por cada cadena.** Elige de la
|
|
45
|
+
tabla de arriba la moneda que ya tengas y paga desde donde ya esté.
|
|
46
|
+
|
|
47
|
+
- **Sirve cualquier wallet, y también un retiro desde un exchange.** La vía por
|
|
48
|
+
defecto solo imprime un bloque de depósito: envía exactamente ese `amount` de
|
|
49
|
+
ese `tokenSymbol`, en esa `chain`, a esa `receiverAddress`. Nada se conecta a
|
|
50
|
+
ningún sitio ni se aprueba en el navegador. En la práctica la gente usa
|
|
51
|
+
MetaMask o Rabby en las cadenas EVM, Phantom o Solflare en Solana, y una
|
|
52
|
+
wallet Lightning como Phoenix o Wallet of Satoshi para BTC.
|
|
53
|
+
- **Stellar es la que exige cuidado.** Sus depósitos se enrutan mediante una
|
|
54
|
+
dirección compartida más `receiverMemo`, así que aquello desde lo que envíes
|
|
55
|
+
— exchange o wallet — debe permitirte fijar un memo. Si lo omites, el pago se
|
|
56
|
+
pierde.
|
|
57
|
+
- **Lightning paga una factura, no una dirección.** Escanea o pega
|
|
58
|
+
`deposit.lnInvoice`; no hay ninguna dirección a la que enviar.
|
|
59
|
+
- **Solo `--send` necesita una clave privada**, leída de
|
|
60
|
+
`ROZO_CHECKOUT_EVM_KEY` o `ROZO_CHECKOUT_SOL_KEY`, y cubre únicamente las
|
|
61
|
+
cadenas EVM y Solana. Todo lo demás no usa claves.
|
|
62
|
+
|
|
63
|
+
## Usarlo desde el agente
|
|
64
|
+
|
|
65
|
+
La carga útil es la misma en todas partes: el comando de una línea de arriba, o
|
|
66
|
+
apuntar al agente a [llms.txt](../llms.txt). **Pagar desde la propia billetera
|
|
67
|
+
nunca necesita una clave.** Solo la bandera opcional `--send` firma en local, y
|
|
68
|
+
solo esa bandera lee `ROZO_CHECKOUT_EVM_KEY` / `ROZO_CHECKOUT_SOL_KEY`. Los agentes y los scripts deben
|
|
69
|
+
pasar siempre `--with`: el selector solo aparece en una terminal y no hay moneda
|
|
70
|
+
por defecto de forma deliberada.
|
|
71
|
+
|
|
72
|
+
<details>
|
|
73
|
+
<summary><b>Claude Code</b> — instalar la habilidad, o pegar el comando de una línea</summary>
|
|
74
|
+
|
|
75
|
+
Este repositorio es una habilidad de Claude Code: incluye `SKILL.md` más los
|
|
76
|
+
ejecutables de `scripts/dist/`. Basta con clonarlo en el directorio de
|
|
77
|
+
habilidades y Claude Code lo detecta automáticamente.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
git clone https://github.com/RozoAI/rozo-checkout-skill ~/.claude/skills/rozo-checkout
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
O saltarse la instalación y simplemente pedirle que ejecute:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Paga este enlace de OpenRouter con USDT en Solana:
|
|
87
|
+
npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Billetera: cualquier billetera, **sin clave**. Añadir `--send` solo si se quiere
|
|
91
|
+
que Claude firme desde una billetera caliente, lo cual necesita la clave del entorno.
|
|
92
|
+
</details>
|
|
93
|
+
|
|
94
|
+
<details>
|
|
95
|
+
<summary><b>Codex CLI</b> — AGENTS.md, o ejecutarlo directamente</summary>
|
|
96
|
+
|
|
97
|
+
Codex lee `AGENTS.md` desde la raíz del proyecto. Conviene añadir una
|
|
98
|
+
instrucción permanente para que sepa cómo pagar sin que haya que explicárselo
|
|
99
|
+
cada vez:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Para pagar un enlace de pago de OpenRouter / Coinbase, ejecuta:
|
|
103
|
+
npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Billetera: cualquier billetera, **sin clave**. Solo `--send` la necesita: firma localmente con el par de claves de la CLI de Solana o un keystore cifrado.
|
|
107
|
+
</details>
|
|
108
|
+
|
|
109
|
+
<details>
|
|
110
|
+
<summary><b>OpenCode</b> — AGENTS.md, o ejecutarlo directamente</summary>
|
|
111
|
+
|
|
112
|
+
OpenCode también lee `AGENTS.md` desde la raíz del proyecto, así que el fragmento
|
|
113
|
+
de Codex de arriba funciona sin cambios. El camino más corto sigue siendo el
|
|
114
|
+
propio comando:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Billetera: cualquier billetera, **sin clave**. Solo `--send` la necesita: firma localmente con el par de claves de la CLI de Solana o un keystore cifrado.
|
|
121
|
+
</details>
|
|
122
|
+
|
|
123
|
+
<details>
|
|
124
|
+
<summary><b>Cline</b> — .clinerules, o ejecutarlo directamente</summary>
|
|
125
|
+
|
|
126
|
+
Cline lee las instrucciones permanentes desde `.clinerules` en la raíz del proyecto:
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
Para pagar un enlace de pago de OpenRouter / Coinbase, ejecuta:
|
|
130
|
+
npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Billetera: cualquier billetera, **sin clave**. Solo `--send` la necesita: firma localmente con el par de claves de la CLI de Solana o un keystore cifrado.
|
|
134
|
+
</details>
|
|
135
|
+
|
|
136
|
+
<details>
|
|
137
|
+
<summary><b>Cursor</b> — .cursor/rules, o ejecutarlo directamente</summary>
|
|
138
|
+
|
|
139
|
+
Añadir una regla de proyecto en `.cursor/rules/rozo-checkout.mdc`:
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
Para pagar un enlace de pago de OpenRouter / Coinbase, ejecuta:
|
|
143
|
+
npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Billetera: cualquier billetera, **sin clave**. Solo `--send` la necesita: firma localmente con el par de claves de la CLI de Solana o un keystore cifrado.
|
|
147
|
+
</details>
|
|
148
|
+
|
|
149
|
+
<details>
|
|
150
|
+
<summary><b>Hermes Agent</b> — ejecutar el comando de una línea en una sesión</summary>
|
|
151
|
+
|
|
152
|
+
Hermes Agent (Nous Research) tiene acceso a la shell y su propio sistema de
|
|
153
|
+
habilidades. Se inicia con `hermes` y se le pide:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
Descarga https://checkout.rozo.ai/llms.txt y luego paga este enlace de OpenRouter:
|
|
157
|
+
npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Billetera: cualquier billetera, **sin clave**. Solo `--send` la necesita: firma localmente con el par de claves de la CLI de Solana o un keystore cifrado.
|
|
161
|
+
</details>
|
|
162
|
+
|
|
163
|
+
<details>
|
|
164
|
+
<summary><b>OpenClaw</b> — openclaw agent exec</summary>
|
|
165
|
+
|
|
166
|
+
El punto de entrada headless de OpenClaw ejecuta una tarea puntual, lo que encaja
|
|
167
|
+
con un pago que se dispara desde un script o desde un canal de chat:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
openclaw agent exec "Pay this OpenRouter link with USDT on Solana by running: npx @rozoai/checkout pay <coinbase-link> --with usdt-solana"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Billetera: cualquier billetera, **sin clave**. Solo `--send` la necesita: firma localmente con el par de claves de la CLI de Solana o un keystore cifrado.
|
|
174
|
+
</details>
|
|
175
|
+
|
|
176
|
+
<details>
|
|
177
|
+
<summary><b>Pi</b> — ejecutar el comando de una línea en una sesión</summary>
|
|
178
|
+
|
|
179
|
+
Pi es un agente de terminal BYOK cuyas herramientas integradas incluyen `bash`,
|
|
180
|
+
así que puede ejecutar el comando directamente. Se inicia con `pi` y se le pide:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
Paga este enlace de OpenRouter con USDT en Solana ejecutando:
|
|
184
|
+
npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Billetera: cualquier billetera, **sin clave**. Solo `--send` la necesita: firma localmente con el par de claves de la CLI de Solana o un keystore cifrado.
|
|
188
|
+
</details>
|
|
189
|
+
|
|
190
|
+
<details>
|
|
191
|
+
<summary><b>Terminal — sin ningún agente</b> — ejecutar los scripts paso a paso</summary>
|
|
192
|
+
|
|
193
|
+
Conducir cada paso a mano. Los paquetes son autocontenidos; no hay nada que
|
|
194
|
+
instalar más allá de Node 18+.
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
git clone https://github.com/RozoAI/rozo-checkout-skill && cd rozo-checkout-skill
|
|
198
|
+
LINK="https://payments.coinbase.com/payment-links/pl_01YOURLINKID"
|
|
199
|
+
|
|
200
|
+
# Cotización de solo lectura, no cuesta nada
|
|
201
|
+
node scripts/dist/quote.js --url "$LINK"
|
|
202
|
+
|
|
203
|
+
# Crear la orden. Aquí se RETIENE la dirección de depósito completa; primero se
|
|
204
|
+
# obtiene un resumen enmascarado para revisar.
|
|
205
|
+
node scripts/dist/create-order.js --url "$LINK" --chain 900 --token USDT
|
|
206
|
+
|
|
207
|
+
# Una vez decidido el pago, volver a ejecutar con --confirm para liberarla
|
|
208
|
+
node scripts/dist/create-order.js --url "$LINK" --chain 900 --token USDT --confirm
|
|
209
|
+
|
|
210
|
+
# Pagar el bloque de depósito desde cualquier billetera y observar la liquidación
|
|
211
|
+
node scripts/dist/status.js --rozo-payment-id <uuid> --watch
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Cada script imprime exactamente un objeto JSON en stdout. Código de salida `0`
|
|
215
|
+
éxito, `1` rechazado/fallido (leer `error.code`), `2` uso incorrecto, `3` enviado
|
|
216
|
+
pero sin confirmar. Recorrido completo: [QUICKSTART](QUICKSTART.es.md).
|
|
217
|
+
|
|
218
|
+
Billetera: cualquier billetera, **sin clave**. Para el envío desde billetera
|
|
219
|
+
caliente, ver `send-evm.js` / `send-sol.js`, que leen `ROZO_CHECKOUT_EVM_KEY` /
|
|
220
|
+
`ROZO_CHECKOUT_SOL_KEY`.
|
|
221
|
+
</details>
|
|
222
|
+
|
|
223
|
+
<details>
|
|
224
|
+
<summary><b>Cualquier otro agente</b> — apuntarlo a llms.txt</summary>
|
|
225
|
+
|
|
226
|
+
Cualquier agente capaz de descargar una URL y ejecutar un comando puede hacer esto:
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
Descarga https://checkout.rozo.ai/llms.txt a tu contexto y úsalo
|
|
230
|
+
para pagar este enlace de OpenRouter: <coinbase-link>
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
Si el agente no tiene shell pero puede hacer peticiones HTTP, puede manejar
|
|
234
|
+
directamente los cuatro endpoints públicos — ver [cómo funciona](how-it-works.md).
|
|
235
|
+
|
|
236
|
+
Billetera: cualquier billetera, **sin clave**. Solo `--send` la necesita: firma localmente con el par de claves de la CLI de Solana o un keystore cifrado.
|
|
237
|
+
</details>
|
|
238
|
+
|
|
239
|
+
<details>
|
|
240
|
+
<summary><b>Configurar una billetera local para <code>--send</code></b> — plantilla .env y pasos de exportación por billetera</summary>
|
|
241
|
+
|
|
242
|
+
**Nada de esto hace falta para la ruta por defecto.** Pagar desde la propia
|
|
243
|
+
billetera no necesita clave ni configuración, y funciona con billeteras que aquí
|
|
244
|
+
nunca se pueden usar, incluidas las de hardware y las cuentas de exchange.
|
|
245
|
+
|
|
246
|
+
Un `.env` en el directorio desde el que se ejecuta, con todas las variables que
|
|
247
|
+
esta herramienta lee:
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# Nada de esto hace falta para pagar desde la propia billetera. Solo se lee
|
|
251
|
+
# cuando se usa --send.
|
|
252
|
+
|
|
253
|
+
# Clave secreta de Solana: una cadena base58 o un arreglo JSON de bytes. Solo
|
|
254
|
+
# hace falta si NO se tiene ~/.config/solana/id.json, que se detecta solo.
|
|
255
|
+
ROZO_CHECKOUT_SOL_KEY=REPLACE_ME_base58_secret_key
|
|
256
|
+
|
|
257
|
+
# Clave privada EVM en bruto: 0x seguido de 64 caracteres hex. La opción menos
|
|
258
|
+
# segura: es preferible el keystore de abajo.
|
|
259
|
+
ROZO_CHECKOUT_EVM_KEY=0x0000000000000000000000000000000000000000000000000000000000000000
|
|
260
|
+
|
|
261
|
+
# Keystore V3 cifrado para EVM: ruta al archivo. Preferible a la clave en bruto.
|
|
262
|
+
ROZO_CHECKOUT_EVM_KEYSTORE=/replace/me/keystores/my-hot-wallet
|
|
263
|
+
|
|
264
|
+
# Frase de contraseña de ese keystore. Solo para ejecuciones desatendidas; en
|
|
265
|
+
# una terminal se solicita y no se guarda nada.
|
|
266
|
+
ROZO_CHECKOUT_KEYSTORE_PASSPHRASE=REPLACE_ME_not_a_real_passphrase
|
|
267
|
+
|
|
268
|
+
# Sobrescrituras de RPC opcionales, una por id de cadena. 8453 = Base,
|
|
269
|
+
# 900 = Solana.
|
|
270
|
+
ROZO_CHECKOUT_RPC_8453=https://mainnet.base.org
|
|
271
|
+
ROZO_CHECKOUT_RPC_900=https://api.mainnet-beta.solana.com
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Después, restringir permisos y mantenerlo fuera de git:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
chmod 600 .env
|
|
278
|
+
echo '.env' >> .gitignore
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Solana**
|
|
282
|
+
|
|
283
|
+
- `solana-keygen new` escribe `~/.config/solana/id.json`. No hay nada que
|
|
284
|
+
configurar: se encuentra automáticamente. Es la ruta recomendada.
|
|
285
|
+
- **Phantom** → Settings → Export Private Key da una cadena **base58**. Va en
|
|
286
|
+
`ROZO_CHECKOUT_SOL_KEY`.
|
|
287
|
+
- **Solflare** exporta una cadena base58 en las versiones actuales y un arreglo
|
|
288
|
+
JSON de bytes en las antiguas. Ambos se aceptan tal cual.
|
|
289
|
+
|
|
290
|
+
**EVM**
|
|
291
|
+
|
|
292
|
+
- **MetaMask** y **Rabby** exportan la clave privada como 64 caracteres hex.
|
|
293
|
+
Pegarla tal cual en `ROZO_CHECKOUT_EVM_KEY`; el prefijo `0x` es opcional.
|
|
294
|
+
- **Keystore cifrado (más seguro).** Las billeteras de navegador exportan claves
|
|
295
|
+
en bruto, no keystores. Para convertir una en un keystore cifrado, usar
|
|
296
|
+
Foundry: `cast wallet import my-hot-wallet --interactive` pide la clave y
|
|
297
|
+
escribe un keystore V3 cifrado en `~/.foundry/keystores/my-hot-wallet`
|
|
298
|
+
(`--keystore-dir` cambia la ubicación). Apuntar `ROZO_CHECKOUT_EVM_KEYSTORE` a
|
|
299
|
+
ese archivo. `geth account import` también genera un keystore V3.
|
|
300
|
+
|
|
301
|
+
**Billeteras que no se pueden usar con `--send`:** billeteras de hardware
|
|
302
|
+
(Ledger, Trezor), billeteras móviles solo con WalletConnect y cuentas de
|
|
303
|
+
exchange. Por diseño, ninguna entrega una clave de firma. Esos casos usan la
|
|
304
|
+
ruta por defecto sin clave, que funciona con todas ellas.
|
|
305
|
+
|
|
306
|
+
</details>
|
|
307
|
+
|
|
308
|
+
## Tres reglas que conviene conocer
|
|
309
|
+
|
|
310
|
+
- **La dirección de depósito es de un solo uso.** Nunca reutilizar una de una
|
|
311
|
+
orden anterior, de una respuesta cacheada o de una captura de pantalla.
|
|
312
|
+
- **Enviar exactamente el importe mostrado.** Normalmente es mayor que la
|
|
313
|
+
factura: incluye las comisiones del puente y de la red.
|
|
314
|
+
- **Nunca pagar dos veces una orden ya fondeada.** Si ya se ha detectado un
|
|
315
|
+
pago, detenerse y pedir a una persona que lo concilie; un segundo pago a una
|
|
316
|
+
dirección de un solo uso no tiene garantía de ser acreditado.
|
|
317
|
+
|
|
318
|
+
La lista completa de lo que esta herramienta se niega a hacer, y por qué, está en
|
|
319
|
+
[docs/safety.md](safety.md).
|
|
320
|
+
|
|
321
|
+
## Enlaces
|
|
322
|
+
|
|
323
|
+
- [Inicio rápido](QUICKSTART.es.md) — los cinco comandos, con la salida esperada
|
|
324
|
+
- [Cómo funciona](how-it-works.md) — el flujo, los endpoints, los identificadores
|
|
325
|
+
- [Diseño de seguridad](safety.md) — cada salvaguarda, en detalle
|
|
326
|
+
- [SKILL.md](../SKILL.md) — instrucciones dirigidas al agente · [llms.txt](../llms.txt) — resumen en un solo archivo
|
|
327
|
+
- [checkout.rozo.ai/agent](https://checkout.rozo.ai/agent.html) — lo mismo, en la web
|
|
328
|
+
- [Issues](https://github.com/RozoAI/rozo-checkout-skill/issues) — errores y solicitudes
|
|
329
|
+
|
|
330
|
+
## Registro de cambios
|
|
331
|
+
|
|
332
|
+
- **0.1.2** — El Modo B ya no necesita una clave privada en bruto en una variable
|
|
333
|
+
de entorno. En Solana usa el `~/.config/solana/id.json` que `solana-keygen` ya
|
|
334
|
+
creó; en EVM un keystore V3 cifrado cuya frase de contraseña se solicita.
|
|
335
|
+
`--keyfile` indica cualquiera de los dos explícitamente, y los ajustes pueden
|
|
336
|
+
venir de un `.env` incluido en `.gitignore`. Las claves en bruto del entorno
|
|
337
|
+
siguen funcionando para automatización desatendida. Los archivos de claves y
|
|
338
|
+
el `.env` deben ser `chmod 600` y no estar bajo seguimiento de git.
|
|
339
|
+
- **0.1.1** — un solo límite de gasto en lugar de dos: un pago individual no
|
|
340
|
+
puede superar los $1,100 (dimensionado para una compra de crédito de $1,000
|
|
341
|
+
más su comisión del 5%); se eliminan el tope acumulado por sesión y la bandera
|
|
342
|
+
`--yes-large`. La documentación deja explícito que pagar desde la propia
|
|
343
|
+
billetera no necesita clave ni configuración.
|
|
344
|
+
- **0.1.0** — primera versión: `npx @rozoai/checkout`.
|
|
345
|
+
|
|
346
|
+
## Licencia
|
|
347
|
+
|
|
348
|
+
MIT.
|