@rozoai/checkout 0.1.1 → 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 +115 -11
- package/docs/QUICKSTART.es.md +126 -11
- package/docs/QUICKSTART.ja.md +109 -11
- package/docs/QUICKSTART.md +120 -10
- package/docs/QUICKSTART.zh.md +98 -10
- package/docs/README.es.md +105 -8
- package/docs/README.ja.md +90 -8
- package/docs/README.zh.md +83 -9
- package/docs/safety.md +7 -3
- package/llms.txt +38 -2
- package/package.json +1 -1
- package/scripts/dist/cli.js +722 -288
- package/scripts/dist/send-evm.js +6695 -6237
- package/scripts/dist/send-sol.js +1727 -634
package/docs/safety.md
CHANGED
|
@@ -58,9 +58,13 @@ reviewing or extending the code.
|
|
|
58
58
|
never become a second transfer. Transactions are signed before broadcast so
|
|
59
59
|
the hash is known in advance; on an ambiguous result the scripts look that
|
|
60
60
|
exact transaction up instead of rebroadcasting.
|
|
61
|
-
- **Hot-wallet controls.**
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
- **Hot-wallet controls.** A signing key is read from a local key file (a
|
|
62
|
+
solana-keygen keypair, or an encrypted V3 keystore whose passphrase is
|
|
63
|
+
prompted) or from the environment for unattended runs. A key file that is
|
|
64
|
+
readable by other users, or tracked by git, is refused — as is a `.env`
|
|
65
|
+
carrying the same settings, which is parsed as plain text and never
|
|
66
|
+
evaluated by a shell. Keys and passphrases
|
|
67
|
+
are never accepted on the command line, and are never printed; library and RPC errors are redacted
|
|
64
68
|
before display, including credential-bearing provider URLs, bearer tokens and
|
|
65
69
|
key-shaped strings. The scripts refuse to run when any `.env`/`.env.*` in the
|
|
66
70
|
working directory is git-tracked, and refuse just as hard when git cannot
|
package/llms.txt
CHANGED
|
@@ -25,8 +25,38 @@ usdc-ethereum, usdt-polygon, usdc-polygon, usdc-base, usdc-stellar, btc-lightnin
|
|
|
25
25
|
|
|
26
26
|
DEFAULT PATH NEEDS NO KEY: `pay` prints a deposit address for the user to pay from
|
|
27
27
|
any wallet. No private key, no environment variable, no configuration. Only the
|
|
28
|
-
optional --send flag signs locally
|
|
29
|
-
|
|
28
|
+
optional --send flag signs locally. Its key comes from the first source that
|
|
29
|
+
exists: --keyfile <path>; then ~/.config/solana/id.json (the keypair
|
|
30
|
+
solana-keygen already wrote) for Solana or ROZO_CHECKOUT_EVM_KEYSTORE (an
|
|
31
|
+
encrypted V3 keystore, passphrase prompted, never argv) for EVM; then a raw key
|
|
32
|
+
in ROZO_CHECKOUT_SOL_KEY / ROZO_CHECKOUT_EVM_KEY, which is the unattended-
|
|
33
|
+
automation option. Those settings may also come from a .env in the working
|
|
34
|
+
directory (or --env-file <path>): only ROZO_CHECKOUT_* keys are read from it, it
|
|
35
|
+
is parsed as text and never shell-evaluated, and the real environment wins.
|
|
36
|
+
Key files and .env must be chmod 600 and untracked by git.
|
|
37
|
+
|
|
38
|
+
## Local wallet setup for --send (not needed for the default keyless path)
|
|
39
|
+
|
|
40
|
+
.env keys (only ROZO_CHECKOUT_* are read; real env wins; chmod 600; gitignore):
|
|
41
|
+
ROZO_CHECKOUT_SOL_KEY base58 string OR JSON byte array
|
|
42
|
+
ROZO_CHECKOUT_EVM_KEY 64 hex chars, 0x prefix optional
|
|
43
|
+
ROZO_CHECKOUT_EVM_KEYSTORE path to an encrypted V3 keystore
|
|
44
|
+
ROZO_CHECKOUT_KEYSTORE_PASSPHRASE unattended runs only; else prompted
|
|
45
|
+
ROZO_CHECKOUT_RPC_<chainId> e.g. ROZO_CHECKOUT_RPC_8453 (Base),
|
|
46
|
+
ROZO_CHECKOUT_RPC_900 (Solana)
|
|
47
|
+
|
|
48
|
+
Where the material comes from:
|
|
49
|
+
- Solana: `solana-keygen new` -> ~/.config/solana/id.json, found automatically
|
|
50
|
+
(preferred). Phantom exports base58; Solflare exports base58 (current) or a
|
|
51
|
+
JSON byte array (older). Both accepted.
|
|
52
|
+
- EVM: MetaMask/Rabby export 64 hex chars with no 0x prefix; paste as-is, the
|
|
53
|
+
prefix is optional. For an encrypted keystore, Foundry's
|
|
54
|
+
`cast wallet import <name> --interactive` writes a V3 keystore to
|
|
55
|
+
~/.foundry/keystores/<name>; `geth account import` also writes one. Browser
|
|
56
|
+
wallets do not export keystores, only raw keys.
|
|
57
|
+
- Hardware wallets, WalletConnect-only wallets and exchange accounts CANNOT be
|
|
58
|
+
used with --send. Those users take the default keyless path, which works with
|
|
59
|
+
any wallet.
|
|
30
60
|
With --send, one limit applies: a single payment may not exceed $1,100, with no
|
|
31
61
|
override; larger invoices go through the keyless path.
|
|
32
62
|
|
|
@@ -46,6 +76,12 @@ chainId "1" Ethereum (USDC, USDT) · "56" BNB Chain (USDC, USDT; 18-decimals) ·
|
|
|
46
76
|
amounts in integer satoshis via source.amountUnit=="sats").
|
|
47
77
|
Native SOL/ETH/BNB are NOT supported — stablecoins (or Lightning BTC) only.
|
|
48
78
|
|
|
79
|
+
WALLET: one wallet on one of these chains is enough — not one per chain. Any
|
|
80
|
+
wallet, or an exchange withdrawal, can fund the deposit address; nothing
|
|
81
|
+
connects to a site. Stellar is the exception that must be able to set a memo,
|
|
82
|
+
and Lightning pays a BOLT11 invoice rather than an address. Only --send needs a
|
|
83
|
+
private key (EVM and Solana only); every other path is keyless.
|
|
84
|
+
|
|
49
85
|
## Flow (4 HTTP calls, all public)
|
|
50
86
|
|
|
51
87
|
1) Quote (read-only, safe):
|
package/package.json
CHANGED