@zkp2p/cash 0.7.0-rc.0 → 0.7.1
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 +2 -2
- package/dist/index.cjs +11 -11
- package/dist/index.js +11 -11
- package/dist/tools.cjs +1 -1
- package/dist/tools.js +1 -1
- package/docs/lifecycle-and-recovery.md +4 -3
- package/examples/onchain-demo/package.json +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -96,7 +96,7 @@ for await (const order of cash.watch(depositId)) {
|
|
|
96
96
|
### Staging and preproduction UPI cash-out
|
|
97
97
|
|
|
98
98
|
UPI requires the canonical UPI/INR catalog and INR oracle config from the
|
|
99
|
-
pinned `@zkp2p/sdk` 0.14.5
|
|
99
|
+
pinned `@zkp2p/sdk` 0.14.5; missing oracle support disables the corridor.
|
|
100
100
|
UPI is available in every environment without an opt-in. Any valid UPI ID from any bank can receive a cash-out. The seller
|
|
101
101
|
does not connect a bank account, install an extension, or complete a separate
|
|
102
102
|
registration flow:
|
|
@@ -126,7 +126,7 @@ Cash adds no currency exceptions. Estimates read through the normal Base
|
|
|
126
126
|
`transport` / `rpcUrl`; deposits float until each buyer signals an intent.
|
|
127
127
|
UPI is available in production, preproduction, and staging without a feature flag.
|
|
128
128
|
|
|
129
|
-
With `@zkp2p/sdk` 0.14.5
|
|
129
|
+
With `@zkp2p/sdk` 0.14.5, Express Cash intentionally also offers
|
|
130
130
|
Wise/INR, Wise/CNY, and Revolut/CNY because corridor support derives from
|
|
131
131
|
oracle availability and each platform's currency catalog. The exact INR/CNY
|
|
132
132
|
corridor set in production, preproduction, and staging is UPI/INR, Wise/INR,
|
package/dist/index.cjs
CHANGED
|
@@ -3154,20 +3154,12 @@ function createCashClient(options) {
|
|
|
3154
3154
|
const { compositeId, escrowAddress, onchainDepositId } = parseDepositId(depositId);
|
|
3155
3155
|
const groupIds = CASH_ACCESS_GROUP_IDS[environment];
|
|
3156
3156
|
try {
|
|
3157
|
-
const
|
|
3158
|
-
const merchantPolicyParams = {
|
|
3157
|
+
const prepared = client.accessPolicy.prepareConfigurePeerPayMerchantDeposit({
|
|
3159
3158
|
escrow: escrowAddress,
|
|
3160
3159
|
depositId: onchainDepositId,
|
|
3161
3160
|
paymentMethod,
|
|
3162
3161
|
txOverrides: attribution
|
|
3163
|
-
};
|
|
3164
|
-
const prepared = accessPolicy.prepareConfigurePeerPayMerchantDeposit ? accessPolicy.prepareConfigurePeerPayMerchantDeposit(merchantPolicyParams) : accessPolicy.prepareConfigureDeposit?.({
|
|
3165
|
-
...merchantPolicyParams,
|
|
3166
|
-
enabled: true,
|
|
3167
|
-
groupIds,
|
|
3168
|
-
takers: []
|
|
3169
3162
|
});
|
|
3170
|
-
if (!prepared) throw new Error("SDK access-policy preparation is unavailable");
|
|
3171
3163
|
return {
|
|
3172
3164
|
to: prepared.to,
|
|
3173
3165
|
data: prepared.data,
|
|
@@ -3359,7 +3351,11 @@ function createCashClient(options) {
|
|
|
3359
3351
|
mapChainError("resolve same-chain Relay nonce", err)
|
|
3360
3352
|
);
|
|
3361
3353
|
}
|
|
3362
|
-
const attributedParams2 = {
|
|
3354
|
+
const attributedParams2 = {
|
|
3355
|
+
...params2,
|
|
3356
|
+
txOverrides: attribution,
|
|
3357
|
+
enableTrustedGroupBypass: false
|
|
3358
|
+
};
|
|
3363
3359
|
const send2 = async () => {
|
|
3364
3360
|
try {
|
|
3365
3361
|
return (await client.createDeposit(attributedParams2)).hash;
|
|
@@ -3426,7 +3422,11 @@ function createCashClient(options) {
|
|
|
3426
3422
|
const params = await buildDepositParams(client, depositInput);
|
|
3427
3423
|
const escrow = client.escrowV2Address ?? client.escrowAddress;
|
|
3428
3424
|
await settleAllowance(client, params.token, owner, escrow, depositInput.amount);
|
|
3429
|
-
const attributedParams = {
|
|
3425
|
+
const attributedParams = {
|
|
3426
|
+
...params,
|
|
3427
|
+
txOverrides: attribution,
|
|
3428
|
+
enableTrustedGroupBypass: false
|
|
3429
|
+
};
|
|
3430
3430
|
const send = async () => {
|
|
3431
3431
|
try {
|
|
3432
3432
|
return (await client.createDeposit(attributedParams)).hash;
|
package/dist/index.js
CHANGED
|
@@ -2661,20 +2661,12 @@ function createCashClient(options) {
|
|
|
2661
2661
|
const { compositeId, escrowAddress, onchainDepositId } = parseDepositId(depositId);
|
|
2662
2662
|
const groupIds = CASH_ACCESS_GROUP_IDS[environment];
|
|
2663
2663
|
try {
|
|
2664
|
-
const
|
|
2665
|
-
const merchantPolicyParams = {
|
|
2664
|
+
const prepared = client.accessPolicy.prepareConfigurePeerPayMerchantDeposit({
|
|
2666
2665
|
escrow: escrowAddress,
|
|
2667
2666
|
depositId: onchainDepositId,
|
|
2668
2667
|
paymentMethod,
|
|
2669
2668
|
txOverrides: attribution
|
|
2670
|
-
};
|
|
2671
|
-
const prepared = accessPolicy.prepareConfigurePeerPayMerchantDeposit ? accessPolicy.prepareConfigurePeerPayMerchantDeposit(merchantPolicyParams) : accessPolicy.prepareConfigureDeposit?.({
|
|
2672
|
-
...merchantPolicyParams,
|
|
2673
|
-
enabled: true,
|
|
2674
|
-
groupIds,
|
|
2675
|
-
takers: []
|
|
2676
2669
|
});
|
|
2677
|
-
if (!prepared) throw new Error("SDK access-policy preparation is unavailable");
|
|
2678
2670
|
return {
|
|
2679
2671
|
to: prepared.to,
|
|
2680
2672
|
data: prepared.data,
|
|
@@ -2866,7 +2858,11 @@ function createCashClient(options) {
|
|
|
2866
2858
|
mapChainError("resolve same-chain Relay nonce", err)
|
|
2867
2859
|
);
|
|
2868
2860
|
}
|
|
2869
|
-
const attributedParams2 = {
|
|
2861
|
+
const attributedParams2 = {
|
|
2862
|
+
...params2,
|
|
2863
|
+
txOverrides: attribution,
|
|
2864
|
+
enableTrustedGroupBypass: false
|
|
2865
|
+
};
|
|
2870
2866
|
const send2 = async () => {
|
|
2871
2867
|
try {
|
|
2872
2868
|
return (await client.createDeposit(attributedParams2)).hash;
|
|
@@ -2933,7 +2929,11 @@ function createCashClient(options) {
|
|
|
2933
2929
|
const params = await buildDepositParams(client, depositInput);
|
|
2934
2930
|
const escrow = client.escrowV2Address ?? client.escrowAddress;
|
|
2935
2931
|
await settleAllowance(client, params.token, owner, escrow, depositInput.amount);
|
|
2936
|
-
const attributedParams = {
|
|
2932
|
+
const attributedParams = {
|
|
2933
|
+
...params,
|
|
2934
|
+
txOverrides: attribution,
|
|
2935
|
+
enableTrustedGroupBypass: false
|
|
2936
|
+
};
|
|
2937
2937
|
const send = async () => {
|
|
2938
2938
|
try {
|
|
2939
2939
|
return (await client.createDeposit(attributedParams)).hash;
|
package/dist/tools.cjs
CHANGED
package/dist/tools.js
CHANGED
|
@@ -20,7 +20,7 @@ a rational maker can offer. That is the fill incentive.
|
|
|
20
20
|
|
|
21
21
|
## INR/CNY oracle migration (breaking)
|
|
22
22
|
|
|
23
|
-
With the SDK dependency pinned to `@zkp2p/sdk` 0.14.5
|
|
23
|
+
With the SDK dependency pinned to `@zkp2p/sdk` 0.14.5, new Express Cash
|
|
24
24
|
UPI/INR and Alipay/CNY deposits float with the Base oracle plus
|
|
25
25
|
`MARKET_SPREAD_BPS` (zero), exactly like every other supported currency.
|
|
26
26
|
They no longer fix a creation-time snapshot. Each buyer's intent signal binds
|
|
@@ -28,7 +28,7 @@ its rate. Existing deposits keep their on-chain pricing; upgrading does not
|
|
|
28
28
|
reprice them. Historical fixed-rate Cash orders remain readable and withdrawable
|
|
29
29
|
when indexed attribution and pricing evidence identify them as Cash.
|
|
30
30
|
|
|
31
|
-
With `@zkp2p/sdk` 0.14.5
|
|
31
|
+
With `@zkp2p/sdk` 0.14.5, Express Cash intentionally also offers
|
|
32
32
|
Wise/INR, Wise/CNY, and Revolut/CNY because corridor support derives from
|
|
33
33
|
oracle availability and each platform's currency catalog. The exact INR/CNY
|
|
34
34
|
corridor set in production, preproduction, and staging is UPI/INR, Wise/INR,
|
|
@@ -77,7 +77,8 @@ implementation. Cash's hosted Venmo Gmail connector is unchanged. The contracts
|
|
|
77
77
|
pin moves from 0.4.2 to 0.4.3-rc.1, adding FxRateStore/feed ABIs and addresses
|
|
78
78
|
and provider metadata to the oracle catalog. Existing payment-method catalog
|
|
79
79
|
content, escrow/guardian addresses, and active dispute-stack selections are
|
|
80
|
-
unchanged. Indexer schema remains 0.22.0.
|
|
80
|
+
unchanged. Indexer schema remains 0.22.0. The prepared stable SDK 0.14.5
|
|
81
|
+
pins stable contracts 0.4.3.
|
|
81
82
|
|
|
82
83
|
Release history remains in PR titles per the contributor guide; this change
|
|
83
84
|
does not bump the Cash package version or publish a release.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Peer Cash Demo: the express sell flow stored entirely onchain on Base, after zSwap by z0r0z",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@zkp2p/cash": "0.
|
|
7
|
+
"@zkp2p/cash": "0.7.1",
|
|
8
8
|
"esbuild": "0.28.2",
|
|
9
9
|
"solc": "0.8.36",
|
|
10
10
|
"viem": "2.55.18"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zkp2p/cash",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Peer Cash - offramp-only SDK for routing Relay or NEAR Intents assets to Base USDC, then cashing out to fiat at zero-spread on-chain oracle market rates.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Peer (https://peer.xyz)",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
},
|
|
109
109
|
"dependencies": {
|
|
110
110
|
"@relayprotocol/relay-sdk": "^7.0.1",
|
|
111
|
-
"@zkp2p/sdk": "0.14.
|
|
111
|
+
"@zkp2p/sdk": "0.14.6",
|
|
112
112
|
"zod": "^4.4.3"
|
|
113
113
|
},
|
|
114
114
|
"peerDependencies": {
|