@axonfi/sdk 0.4.0 → 0.4.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 +15 -9
- package/dist/index.cjs +4325 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3256 -0
- package/dist/index.d.ts +3256 -21
- package/dist/index.js +4261 -27
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/abis/AxonRegistry.d.ts +0 -294
- package/dist/abis/AxonRegistry.d.ts.map +0 -1
- package/dist/abis/AxonRegistry.js +0 -381
- package/dist/abis/AxonRegistry.js.map +0 -1
- package/dist/abis/AxonVault.d.ts +0 -1577
- package/dist/abis/AxonVault.d.ts.map +0 -1
- package/dist/abis/AxonVault.js +0 -2026
- package/dist/abis/AxonVault.js.map +0 -1
- package/dist/abis/AxonVaultFactory.d.ts +0 -207
- package/dist/abis/AxonVaultFactory.d.ts.map +0 -1
- package/dist/abis/AxonVaultFactory.js +0 -269
- package/dist/abis/AxonVaultFactory.js.map +0 -1
- package/dist/amounts.d.ts +0 -37
- package/dist/amounts.d.ts.map +0 -1
- package/dist/amounts.js +0 -72
- package/dist/amounts.js.map +0 -1
- package/dist/amounts.spec.d.ts +0 -2
- package/dist/amounts.spec.d.ts.map +0 -1
- package/dist/amounts.spec.js +0 -92
- package/dist/amounts.spec.js.map +0 -1
- package/dist/client.d.ts +0 -196
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -621
- package/dist/client.js.map +0 -1
- package/dist/client.spec.d.ts +0 -2
- package/dist/client.spec.d.ts.map +0 -1
- package/dist/client.spec.js +0 -437
- package/dist/client.spec.js.map +0 -1
- package/dist/constants.d.ts +0 -110
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -172
- package/dist/constants.js.map +0 -1
- package/dist/constants.spec.d.ts +0 -2
- package/dist/constants.spec.d.ts.map +0 -1
- package/dist/constants.spec.js +0 -95
- package/dist/constants.spec.js.map +0 -1
- package/dist/eip3009.d.ts +0 -45
- package/dist/eip3009.d.ts.map +0 -1
- package/dist/eip3009.js +0 -85
- package/dist/eip3009.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/keystore.d.ts +0 -60
- package/dist/keystore.d.ts.map +0 -1
- package/dist/keystore.js +0 -182
- package/dist/keystore.js.map +0 -1
- package/dist/keystore.spec.d.ts +0 -2
- package/dist/keystore.spec.d.ts.map +0 -1
- package/dist/keystore.spec.js +0 -71
- package/dist/keystore.spec.js.map +0 -1
- package/dist/permit2.d.ts +0 -45
- package/dist/permit2.d.ts.map +0 -1
- package/dist/permit2.js +0 -81
- package/dist/permit2.js.map +0 -1
- package/dist/signer.d.ts +0 -35
- package/dist/signer.d.ts.map +0 -1
- package/dist/signer.js +0 -132
- package/dist/signer.js.map +0 -1
- package/dist/signer.spec.d.ts +0 -2
- package/dist/signer.spec.d.ts.map +0 -1
- package/dist/signer.spec.js +0 -94
- package/dist/signer.spec.js.map +0 -1
- package/dist/tokens.d.ts +0 -215
- package/dist/tokens.d.ts.map +0 -1
- package/dist/tokens.js +0 -247
- package/dist/tokens.js.map +0 -1
- package/dist/types.d.ts +0 -302
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -8
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -29
- package/dist/utils.js.map +0 -1
- package/dist/vault.d.ts +0 -60
- package/dist/vault.d.ts.map +0 -1
- package/dist/vault.js +0 -267
- package/dist/vault.js.map +0 -1
- package/dist/vault.spec.d.ts +0 -2
- package/dist/vault.spec.d.ts.map +0 -1
- package/dist/vault.spec.js +0 -162
- package/dist/vault.spec.js.map +0 -1
- package/dist/x402.d.ts +0 -88
- package/dist/x402.d.ts.map +0 -1
- package/dist/x402.js +0 -124
- package/dist/x402.js.map +0 -1
- package/dist/x402.spec.d.ts +0 -2
- package/dist/x402.spec.d.ts.map +0 -1
- package/dist/x402.spec.js +0 -411
- package/dist/x402.spec.js.map +0 -1
package/dist/amounts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"amounts.js","sourceRoot":"","sources":["../src/amounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAyB,MAAM,aAAa,CAAC;AAG3F,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAyC,EAAE,OAAgB;IAC9F,+DAA+D;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,0FAA0F,CACzH,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,MAA0B,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,uBAAuB;IACvB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAyB,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,sFAAsF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC7J,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,WAAW,CACzB,MAAgC,EAChC,KAAyC,EACzC,OAAgB;IAEhB,wCAAwC;IACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEtD,iCAAiC;IACjC,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAEpE,yDAAyD;IACzD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAC;QAChD,IAAI,aAAa,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,WAAW,GAAG,SAAS,aAAa,wBAAwB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,kBAAkB,QAAQ,kCAAkC,CACnM,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/amounts.spec.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"amounts.spec.d.ts","sourceRoot":"","sources":["../src/amounts.spec.ts"],"names":[],"mappings":""}
|
package/dist/amounts.spec.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from '@jest/globals';
|
|
2
|
-
import { parseAmount, resolveTokenDecimals } from './amounts.js';
|
|
3
|
-
import { Token } from './tokens.js';
|
|
4
|
-
// ---------------------------------------------------------------------------
|
|
5
|
-
// resolveTokenDecimals
|
|
6
|
-
// ---------------------------------------------------------------------------
|
|
7
|
-
describe('resolveTokenDecimals', () => {
|
|
8
|
-
it('resolves by KnownTokenSymbol string', () => {
|
|
9
|
-
expect(resolveTokenDecimals('USDC')).toBe(6);
|
|
10
|
-
expect(resolveTokenDecimals('WETH')).toBe(18);
|
|
11
|
-
expect(resolveTokenDecimals('WBTC')).toBe(8);
|
|
12
|
-
});
|
|
13
|
-
it('resolves by Token enum', () => {
|
|
14
|
-
expect(resolveTokenDecimals(Token.USDC)).toBe(6);
|
|
15
|
-
expect(resolveTokenDecimals(Token.DAI)).toBe(18);
|
|
16
|
-
});
|
|
17
|
-
it('resolves by known address (reverse lookup)', () => {
|
|
18
|
-
// Base USDC
|
|
19
|
-
expect(resolveTokenDecimals('0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913')).toBe(6);
|
|
20
|
-
// Arbitrum WETH
|
|
21
|
-
expect(resolveTokenDecimals('0x82aF49447D8a07e3bd95BD0d56f35241523fBab1')).toBe(18);
|
|
22
|
-
});
|
|
23
|
-
it('throws for unknown address', () => {
|
|
24
|
-
expect(() => resolveTokenDecimals('0x0000000000000000000000000000000000000001')).toThrow('Unknown token address');
|
|
25
|
-
});
|
|
26
|
-
it('throws for unknown symbol', () => {
|
|
27
|
-
expect(() => resolveTokenDecimals('NOTREAL')).toThrow('Unknown token symbol');
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
// ---------------------------------------------------------------------------
|
|
31
|
-
// parseAmount
|
|
32
|
-
// ---------------------------------------------------------------------------
|
|
33
|
-
describe('parseAmount', () => {
|
|
34
|
-
// bigint passthrough
|
|
35
|
-
it('passes bigint through unchanged', () => {
|
|
36
|
-
expect(parseAmount(5000000n, 'USDC')).toBe(5000000n);
|
|
37
|
-
expect(parseAmount(0n, 'WETH')).toBe(0n);
|
|
38
|
-
});
|
|
39
|
-
// number → bigint
|
|
40
|
-
it('converts number to base units for USDC (6 decimals)', () => {
|
|
41
|
-
expect(parseAmount(5, 'USDC')).toBe(5000000n);
|
|
42
|
-
expect(parseAmount(5.2, 'USDC')).toBe(5200000n);
|
|
43
|
-
expect(parseAmount(0.01, 'USDC')).toBe(10000n);
|
|
44
|
-
});
|
|
45
|
-
it('converts number to base units for WETH (18 decimals)', () => {
|
|
46
|
-
expect(parseAmount(1, 'WETH')).toBe(1000000000000000000n);
|
|
47
|
-
expect(parseAmount(0.001, 'WETH')).toBe(1000000000000000n);
|
|
48
|
-
});
|
|
49
|
-
it('converts number to base units for WBTC (8 decimals)', () => {
|
|
50
|
-
expect(parseAmount(1, 'WBTC')).toBe(100000000n);
|
|
51
|
-
expect(parseAmount(0.5, Token.WBTC)).toBe(50000000n);
|
|
52
|
-
});
|
|
53
|
-
// string → bigint
|
|
54
|
-
it('converts string to base units', () => {
|
|
55
|
-
expect(parseAmount('5.2', 'USDC')).toBe(5200000n);
|
|
56
|
-
expect(parseAmount('100', 'USDC')).toBe(100000000n);
|
|
57
|
-
expect(parseAmount('0.123456', 'USDC')).toBe(123456n);
|
|
58
|
-
});
|
|
59
|
-
// Token enum
|
|
60
|
-
it('works with Token enum as token identifier', () => {
|
|
61
|
-
expect(parseAmount(10, Token.USDC)).toBe(10000000n);
|
|
62
|
-
expect(parseAmount('0.5', Token.WETH)).toBe(500000000000000000n);
|
|
63
|
-
});
|
|
64
|
-
// Known address reverse lookup
|
|
65
|
-
it('works with known address as token identifier', () => {
|
|
66
|
-
const usdcBase = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
|
|
67
|
-
expect(parseAmount(5, usdcBase)).toBe(5000000n);
|
|
68
|
-
});
|
|
69
|
-
// Edge cases
|
|
70
|
-
it('handles zero', () => {
|
|
71
|
-
expect(parseAmount(0, 'USDC')).toBe(0n);
|
|
72
|
-
expect(parseAmount('0', 'USDC')).toBe(0n);
|
|
73
|
-
expect(parseAmount('0.0', 'USDC')).toBe(0n);
|
|
74
|
-
});
|
|
75
|
-
it('handles whole numbers as string', () => {
|
|
76
|
-
expect(parseAmount('100', 'USDC')).toBe(100000000n);
|
|
77
|
-
});
|
|
78
|
-
// Error: excess precision
|
|
79
|
-
it('throws if number has more decimals than token supports', () => {
|
|
80
|
-
expect(() => parseAmount('5.1234567', 'USDC')).toThrow('7 decimal places');
|
|
81
|
-
expect(() => parseAmount('1.123456789012345678901', 'WETH')).toThrow('21 decimal places');
|
|
82
|
-
});
|
|
83
|
-
// Error: unknown address with non-bigint
|
|
84
|
-
it('throws for unknown address with human-readable amount', () => {
|
|
85
|
-
expect(() => parseAmount(5, '0x0000000000000000000000000000000000000001')).toThrow('Unknown token address');
|
|
86
|
-
});
|
|
87
|
-
// bigint with unknown address should still work (passthrough)
|
|
88
|
-
it('passes bigint through even for unknown address', () => {
|
|
89
|
-
expect(parseAmount(5000000n, '0x0000000000000000000000000000000000000001')).toBe(5000000n);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
//# sourceMappingURL=amounts.spec.js.map
|
package/dist/amounts.spec.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"amounts.spec.js","sourceRoot":"","sources":["../src/amounts.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
import type { Address, Hex } from 'viem';
|
|
2
|
-
import type { AxonClientConfig, PayInput, PaymentIntent, PaymentResult, ExecuteInput, SwapInput, VaultInfo, DestinationCheckResult, RebalanceTokensResult, TosStatus } from './types.js';
|
|
3
|
-
import type { X402HandleResult } from './x402.js';
|
|
4
|
-
/**
|
|
5
|
-
* Main entry point for bots interacting with Axon.
|
|
6
|
-
*
|
|
7
|
-
* Handles EIP-712 signing, relayer communication, and status polling.
|
|
8
|
-
* Bots never submit transactions directly — they sign intents and the relayer
|
|
9
|
-
* handles all on-chain execution.
|
|
10
|
-
*
|
|
11
|
-
* All chain reads (balances, bot status, vault info) go through the relayer
|
|
12
|
-
* API — bots never need an RPC endpoint.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```ts
|
|
16
|
-
* import { AxonClient, USDC } from '@axonfi/sdk'
|
|
17
|
-
*
|
|
18
|
-
* const client = new AxonClient({
|
|
19
|
-
* vaultAddress: '0x...',
|
|
20
|
-
* chainId: 84532, // Base Sepolia
|
|
21
|
-
* botPrivateKey: '0x...',
|
|
22
|
-
* })
|
|
23
|
-
*
|
|
24
|
-
* const result = await client.pay({
|
|
25
|
-
* to: '0x...recipient...',
|
|
26
|
-
* token: 'USDC',
|
|
27
|
-
* amount: 5, // 5 USDC — SDK handles decimals
|
|
28
|
-
* memo: 'API call #1234 — weather data',
|
|
29
|
-
* })
|
|
30
|
-
*
|
|
31
|
-
* console.log(result.status, result.txHash)
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export declare class AxonClient {
|
|
35
|
-
private readonly vaultAddress;
|
|
36
|
-
private readonly chainId;
|
|
37
|
-
private readonly relayerUrl;
|
|
38
|
-
private readonly walletClient;
|
|
39
|
-
private readonly botPrivateKey;
|
|
40
|
-
constructor(config: AxonClientConfig);
|
|
41
|
-
/** Returns the bot's address derived from the configured private key. */
|
|
42
|
-
get botAddress(): Address;
|
|
43
|
-
/**
|
|
44
|
-
* Create, sign, and submit a payment intent to the Axon relayer.
|
|
45
|
-
*
|
|
46
|
-
* Three possible outcomes (all included in PaymentResult.status):
|
|
47
|
-
* - `"approved"`: fast path — txHash available immediately
|
|
48
|
-
* - `"pending_review"`: AI scan or human review in progress — poll for status
|
|
49
|
-
* - `"rejected"`: payment was rejected — reason field explains why
|
|
50
|
-
*/
|
|
51
|
-
pay(input: PayInput): Promise<PaymentResult>;
|
|
52
|
-
/**
|
|
53
|
-
* Sign and submit a DeFi protocol execution to the Axon relayer.
|
|
54
|
-
*
|
|
55
|
-
* The vault approves `token` to `protocol`, calls it with `callData`,
|
|
56
|
-
* then revokes the approval. Tokens stay in the vault or go to the protocol
|
|
57
|
-
* as specified by the calldata.
|
|
58
|
-
*/
|
|
59
|
-
execute(input: ExecuteInput): Promise<PaymentResult>;
|
|
60
|
-
/**
|
|
61
|
-
* Sign and submit an in-vault token swap to the Axon relayer.
|
|
62
|
-
*
|
|
63
|
-
* Swaps tokens within the vault (no external recipient). Useful for
|
|
64
|
-
* rebalancing vault holdings.
|
|
65
|
-
*/
|
|
66
|
-
swap(input: SwapInput): Promise<PaymentResult>;
|
|
67
|
-
/** Read the vault's ERC-20 balance for a given token (via relayer). */
|
|
68
|
-
getBalance(token: Address): Promise<bigint>;
|
|
69
|
-
/**
|
|
70
|
-
* Read the vault's ERC-20 balances for multiple tokens in a single call (via relayer).
|
|
71
|
-
* Returns a record mapping token address → balance.
|
|
72
|
-
*/
|
|
73
|
-
getBalances(tokens: Address[]): Promise<Record<Address, bigint>>;
|
|
74
|
-
/** Returns whether this bot is registered and active in the vault (via relayer). */
|
|
75
|
-
isActive(): Promise<boolean>;
|
|
76
|
-
/** Returns whether the vault is currently paused (via relayer). */
|
|
77
|
-
isPaused(): Promise<boolean>;
|
|
78
|
-
/** Returns high-level vault info (owner, operator, paused, version) via relayer. */
|
|
79
|
-
getVaultInfo(): Promise<VaultInfo>;
|
|
80
|
-
/**
|
|
81
|
-
* Check whether this bot can pay to a given destination address (via relayer).
|
|
82
|
-
* Checks blacklist → global whitelist → bot whitelist, matching on-chain logic.
|
|
83
|
-
*/
|
|
84
|
-
canPayTo(destination: Address): Promise<DestinationCheckResult>;
|
|
85
|
-
/** Returns whether a protocol address is approved for executeProtocol() calls (via relayer). */
|
|
86
|
-
isProtocolApproved(protocol: Address): Promise<boolean>;
|
|
87
|
-
/**
|
|
88
|
-
* Returns the effective rebalance token whitelist for this vault.
|
|
89
|
-
*
|
|
90
|
-
* If the owner set tokens on-chain, those override entirely.
|
|
91
|
-
* If no on-chain whitelist, returns relayer defaults (USDC, WETH, USDT).
|
|
92
|
-
* Use this before calling swap() to check which output tokens are allowed.
|
|
93
|
-
*/
|
|
94
|
-
getRebalanceTokens(): Promise<RebalanceTokensResult>;
|
|
95
|
-
/** Check if a specific token is allowed for rebalancing (executeSwap output) on this vault. */
|
|
96
|
-
isRebalanceTokenAllowed(token: Address): Promise<{
|
|
97
|
-
allowed: boolean;
|
|
98
|
-
source: 'default' | 'on_chain';
|
|
99
|
-
}>;
|
|
100
|
-
/** Check if a wallet has accepted the current TOS version. */
|
|
101
|
-
getTosStatus(wallet: string): Promise<TosStatus>;
|
|
102
|
-
/**
|
|
103
|
-
* Sign and submit TOS acceptance. Uses the owner's wallet (not the bot key).
|
|
104
|
-
*
|
|
105
|
-
* @param signer - Object with a `signMessage` method (e.g. a viem WalletClient
|
|
106
|
-
* or ethers Signer). This should be the vault owner's wallet, not the bot key.
|
|
107
|
-
* @param wallet - The owner's wallet address (must match the signer).
|
|
108
|
-
*/
|
|
109
|
-
acceptTos(signer: {
|
|
110
|
-
signMessage: (args: {
|
|
111
|
-
message: string;
|
|
112
|
-
}) => Promise<Hex>;
|
|
113
|
-
}, wallet: string): Promise<TosStatus>;
|
|
114
|
-
/**
|
|
115
|
-
* Poll the relayer for the status of an async payment.
|
|
116
|
-
*
|
|
117
|
-
* Use this when pay() returns `status: "pending_review"`. Poll until
|
|
118
|
-
* status is `"approved"` or `"rejected"`.
|
|
119
|
-
*
|
|
120
|
-
* Recommended polling interval: 5–10 seconds.
|
|
121
|
-
*/
|
|
122
|
-
poll(requestId: string): Promise<PaymentResult>;
|
|
123
|
-
/** Poll the relayer for the status of an async protocol execution. */
|
|
124
|
-
pollExecute(requestId: string): Promise<PaymentResult>;
|
|
125
|
-
/** Poll the relayer for the status of an async swap. */
|
|
126
|
-
pollSwap(requestId: string): Promise<PaymentResult>;
|
|
127
|
-
/**
|
|
128
|
-
* Sign a PaymentIntent directly without submitting to the relayer.
|
|
129
|
-
*
|
|
130
|
-
* Use this if you want to build the intent yourself and pass the signature
|
|
131
|
-
* to another system (e.g. a custom relayer integration).
|
|
132
|
-
*/
|
|
133
|
-
signPayment(intent: PaymentIntent): Promise<Hex>;
|
|
134
|
-
/**
|
|
135
|
-
* x402 utilities for handling HTTP 402 Payment Required responses.
|
|
136
|
-
*
|
|
137
|
-
* The x402 flow:
|
|
138
|
-
* 1. Bot hits an API that returns HTTP 402 + PAYMENT-REQUIRED header
|
|
139
|
-
* 2. SDK parses the header, finds a matching payment option
|
|
140
|
-
* 3. SDK funds the bot's EOA from the vault (full Axon pipeline applies)
|
|
141
|
-
* 4. Bot signs an EIP-3009 or Permit2 authorization
|
|
142
|
-
* 5. SDK returns a PAYMENT-SIGNATURE header for the bot to retry with
|
|
143
|
-
*
|
|
144
|
-
* @example
|
|
145
|
-
* ```ts
|
|
146
|
-
* const response = await fetch('https://api.example.com/data');
|
|
147
|
-
* if (response.status === 402) {
|
|
148
|
-
* const result = await client.x402.handlePaymentRequired(response.headers);
|
|
149
|
-
* const data = await fetch('https://api.example.com/data', {
|
|
150
|
-
* headers: { 'PAYMENT-SIGNATURE': result.paymentSignature },
|
|
151
|
-
* });
|
|
152
|
-
* }
|
|
153
|
-
* ```
|
|
154
|
-
*/
|
|
155
|
-
readonly x402: {
|
|
156
|
-
/**
|
|
157
|
-
* Fund the bot's EOA from the vault for x402 settlement.
|
|
158
|
-
*
|
|
159
|
-
* This is a regular Axon payment (to = bot's own address) that goes through
|
|
160
|
-
* the full pipeline: policy engine, AI scan, human review if needed.
|
|
161
|
-
*
|
|
162
|
-
* @param amount - Amount in token base units
|
|
163
|
-
* @param token - Token address (defaults to USDC on this chain)
|
|
164
|
-
* @param metadata - Optional metadata for the payment record
|
|
165
|
-
*/
|
|
166
|
-
fund: (amount: bigint, token?: Address, metadata?: {
|
|
167
|
-
resourceUrl?: string;
|
|
168
|
-
memo?: string;
|
|
169
|
-
recipientLabel?: string;
|
|
170
|
-
metadata?: Record<string, string>;
|
|
171
|
-
}) => Promise<PaymentResult>;
|
|
172
|
-
/**
|
|
173
|
-
* Handle a full x402 flow: parse header, fund bot, sign authorization, return header.
|
|
174
|
-
*
|
|
175
|
-
* Supports both EIP-3009 (USDC) and Permit2 (any ERC-20) settlement.
|
|
176
|
-
* The bot's EOA is funded from the vault first (full Axon pipeline applies).
|
|
177
|
-
*
|
|
178
|
-
* @param headers - Response headers from the 402 response (must contain PAYMENT-REQUIRED)
|
|
179
|
-
* @param maxTimeoutMs - Maximum time to wait for pending_review resolution (default: 120s)
|
|
180
|
-
* @param pollIntervalMs - Polling interval for pending_review (default: 5s)
|
|
181
|
-
* @returns Payment signature header value + funding details
|
|
182
|
-
*/
|
|
183
|
-
handlePaymentRequired: (headers: Headers | Record<string, string>, maxTimeoutMs?: number, pollIntervalMs?: number) => Promise<X402HandleResult>;
|
|
184
|
-
};
|
|
185
|
-
private _get;
|
|
186
|
-
private _defaultDeadline;
|
|
187
|
-
private _resolveRef;
|
|
188
|
-
private _buildPaymentIntent;
|
|
189
|
-
private _buildExecuteIntent;
|
|
190
|
-
private _buildSwapIntent;
|
|
191
|
-
private _submitPayment;
|
|
192
|
-
private _submitExecute;
|
|
193
|
-
private _submitSwap;
|
|
194
|
-
private _post;
|
|
195
|
-
}
|
|
196
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,YAAY,EAEZ,SAAS,EAET,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAgBlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAM;gBAExB,MAAM,EAAE,gBAAgB;IAgBpC,yEAAyE;IACzE,IAAI,UAAU,IAAI,OAAO,CAIxB;IAMD;;;;;;;OAOG;IACG,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IAUlD;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAU1D;;;;;OAKG;IACG,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAUpD,uEAAuE;IACjE,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUjD;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IA0BtE,oFAAoF;IAC9E,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAUlC,mEAAmE;IAC7D,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAUlC,oFAAoF;IAC9E,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IASxC;;;OAGG;IACG,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;IASrE,gGAAgG;IAC1F,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAU7D;;;;;;OAMG;IACG,kBAAkB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAS1D,+FAA+F;IACzF,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAA;KAAE,CAAC;IAS5G,8DAA8D;IACxD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAItD;;;;;;OAMG;IACG,SAAS,CACb,MAAM,EAAE;QAAE,WAAW,EAAE,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;KAAE,EACpE,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,CAAC;IA6BrB;;;;;;;OAOG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIrD,sEAAsE;IAChE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI5D,wDAAwD;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQzD;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAQtD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,IAAI;QACX;;;;;;;;;WASG;uBAEO,MAAM,UACN,OAAO,aACJ;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,KAC7G,OAAO,CAAC,aAAa,CAAC;QAezB;;;;;;;;;;WAUG;yCAEQ,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAC3B,MAAM,mBACJ,MAAM,KACrB,OAAO,CAAC,gBAAgB,CAAC;MA6I5B;YAMY,IAAI;IAelB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gBAAgB;YAUV,cAAc;YA+Bd,cAAc;YAyCd,WAAW;YAkCX,KAAK;CAmBpB"}
|