@zkproofport-ai/sdk 0.3.0 → 0.4.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/README.md +52 -134
- package/dist/actionApproval.js +1 -1
- package/dist/actionApproval.js.map +1 -1
- package/dist/attestation.d.ts +6 -1
- package/dist/attestation.d.ts.map +1 -1
- package/dist/attestation.js +41 -4
- package/dist/attestation.js.map +1 -1
- package/dist/cdp.d.ts +3 -3
- package/dist/circuits.d.ts +1 -3
- package/dist/circuits.d.ts.map +1 -1
- package/dist/circuits.js +0 -4
- package/dist/circuits.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -10
- package/dist/constants.js.map +1 -1
- package/dist/extract.d.ts.map +1 -1
- package/dist/extract.js +5 -7
- package/dist/extract.js.map +1 -1
- package/dist/flow.d.ts.map +1 -1
- package/dist/flow.js +13 -14
- package/dist/flow.js.map +1 -1
- package/dist/index.d.ts +1 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -12
- package/dist/index.js.map +1 -1
- package/dist/inputs.d.ts +4 -3
- package/dist/inputs.d.ts.map +1 -1
- package/dist/inputs.js +4 -7
- package/dist/inputs.js.map +1 -1
- package/dist/payment.d.ts +7 -9
- package/dist/payment.d.ts.map +1 -1
- package/dist/payment.js +20 -43
- package/dist/payment.js.map +1 -1
- package/dist/typedAction.js +1 -1
- package/dist/typedAction.js.map +1 -1
- package/dist/types.d.ts +5 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +1 -1
- package/dist/usdc.d.ts +6 -10
- package/dist/usdc.d.ts.map +1 -1
- package/dist/usdc.js +6 -11
- package/dist/usdc.js.map +1 -1
- package/dist/wallets.d.ts +8 -34
- package/dist/wallets.d.ts.map +1 -1
- package/dist/wallets.js +10 -87
- package/dist/wallets.js.map +1 -1
- package/package.json +2 -12
- package/dist/arcWallet.d.ts +0 -50
- package/dist/arcWallet.d.ts.map +0 -1
- package/dist/arcWallet.js +0 -161
- package/dist/arcWallet.js.map +0 -1
- package/dist/delegation.d.ts +0 -107
- package/dist/delegation.d.ts.map +0 -1
- package/dist/delegation.js +0 -126
- package/dist/delegation.js.map +0 -1
- package/dist/nanopayment.d.ts +0 -71
- package/dist/nanopayment.d.ts.map +0 -1
- package/dist/nanopayment.js +0 -77
- package/dist/nanopayment.js.map +0 -1
package/dist/nanopayment.js
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Paying with Arc nanopayments: deposit once, then pay many times for free.
|
|
3
|
-
*
|
|
4
|
-
* ## What is different from the ordinary path
|
|
5
|
-
*
|
|
6
|
-
* An ordinary x402 payment puts one authorization on chain per purchase, and
|
|
7
|
-
* on Arc that costs gas in USDC — measured 2026-09-12 at 0.0035 USDC to settle
|
|
8
|
-
* a payment of 0.001, which is four times the price of the thing being bought.
|
|
9
|
-
* That is fine for a one-off and absurd for an agent buying thousands of
|
|
10
|
-
* proofs.
|
|
11
|
-
*
|
|
12
|
-
* Circle Gateway takes the same EIP-3009 authorization, verifies it off chain
|
|
13
|
-
* in under a second, and settles thousands of them in one transaction. The
|
|
14
|
-
* buyer's money moves into Gateway once, by depositing; after that each
|
|
15
|
-
* payment is a signature and nothing more.
|
|
16
|
-
*
|
|
17
|
-
* ## What the buyer has to do
|
|
18
|
-
*
|
|
19
|
-
* Deposit first. A signature drawn against a Gateway balance that is not there
|
|
20
|
-
* is refused, and the refusal names the balance rather than the signature, so
|
|
21
|
-
* `ensureGatewayBalance` checks before paying rather than after failing.
|
|
22
|
-
*/
|
|
23
|
-
import { GatewayClient } from '@circle-fin/x402-batching/client';
|
|
24
|
-
/** Arc Testnet, as `@circle-fin/x402-batching` names it. */
|
|
25
|
-
export const ARC_GATEWAY_CHAIN = 'arcTestnet';
|
|
26
|
-
function client(wallet) {
|
|
27
|
-
return new GatewayClient({
|
|
28
|
-
chain: ARC_GATEWAY_CHAIN,
|
|
29
|
-
privateKey: wallet.privateKey,
|
|
30
|
-
rpcUrl: wallet.rpcUrl,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
/** What the buyer currently has inside Gateway. */
|
|
34
|
-
export async function gatewayBalance(wallet) {
|
|
35
|
-
const balance = await client(wallet).getBalance();
|
|
36
|
-
return { available: balance.available, withdrawing: balance.withdrawing };
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Make sure the buyer can pay `atLeast`, depositing `topUp` if not.
|
|
40
|
-
*
|
|
41
|
-
* Deposits are the one on-chain step in this flow and they cost gas, so this
|
|
42
|
-
* is deliberately not called before every payment — an agent deposits once and
|
|
43
|
-
* spends against it.
|
|
44
|
-
*/
|
|
45
|
-
export async function ensureGatewayBalance(wallet,
|
|
46
|
-
/** In USDC's smallest units. Undefined requests an unconditional deposit. */
|
|
47
|
-
atLeast,
|
|
48
|
-
/** In whole USDC, like everything the deposit call takes. */
|
|
49
|
-
topUp) {
|
|
50
|
-
const before = await gatewayBalance(wallet);
|
|
51
|
-
if (atLeast !== undefined && before.available >= atLeast)
|
|
52
|
-
return { deposited: false, balance: before };
|
|
53
|
-
const result = await client(wallet).deposit(topUp);
|
|
54
|
-
return {
|
|
55
|
-
deposited: true,
|
|
56
|
-
balance: await gatewayBalance(wallet),
|
|
57
|
-
depositTxHash: result.depositTxHash,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Buy something priced in x402, paying through Gateway.
|
|
62
|
-
*
|
|
63
|
-
* The 402 answer must carry a batched offer; a service that offers only the
|
|
64
|
-
* ordinary on-chain options is not reachable this way, and saying so is better
|
|
65
|
-
* than silently paying the expensive way.
|
|
66
|
-
*/
|
|
67
|
-
export async function payWithNanopayments(wallet, url, options) {
|
|
68
|
-
const gateway = client(wallet);
|
|
69
|
-
const supported = await gateway.supports(url);
|
|
70
|
-
if (!supported.supported) {
|
|
71
|
-
throw new Error(`${url} offers no batched payment option, so it cannot be paid through Circle Gateway. ` +
|
|
72
|
-
`Pay it the ordinary way, or have the service offer arc-testnet-nano.`);
|
|
73
|
-
}
|
|
74
|
-
const paid = await gateway.pay(url, options);
|
|
75
|
-
return { data: paid.data, amount: String(paid.amount ?? '0') };
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=nanopayment.js.map
|
package/dist/nanopayment.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nanopayment.js","sourceRoot":"","sources":["../src/nanopayment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAqB,CAAC;AAiBvD,SAAS,MAAM,CAAC,MAAyB;IACvC,OAAO,IAAI,aAAa,CAAC;QACvB,KAAK,EAAE,iBAAiB;QACxB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAyB;IAC5D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;IAClD,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAyB;AACzB,6EAA6E;AAC7E,OAA2B;AAC3B,6DAA6D;AAC7D,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,OAAO;QAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAEvG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO;QACL,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,MAAM,cAAc,CAAC,MAAM,CAAC;QACrC,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAyB,EACzB,GAAW,EACX,OAA+E;IAE/E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,kFAAkF;YACxF,sEAAsE,CACvE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAI,GAAG,EAAE,OAAgB,CAAC,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAS,EAAE,MAAM,EAAE,MAAM,CAAE,IAA6B,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;AAChG,CAAC"}
|