agentwallet-sdk 5.0.2 → 5.0.4
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 -0
- package/dist/index.d.ts +213 -284
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/ap2/index.d.ts +0 -185
- package/dist/ap2/index.d.ts.map +0 -1
- package/dist/ap2/index.js +0 -255
- package/dist/ap2/index.js.map +0 -1
- package/dist/bridge/unified.d.ts +0 -101
- package/dist/bridge/unified.d.ts.map +0 -1
- package/dist/bridge/unified.js +0 -284
- package/dist/bridge/unified.js.map +0 -1
- package/dist/chains.d.ts +0 -62
- package/dist/chains.d.ts.map +0 -1
- package/dist/chains.js +0 -108
- package/dist/chains.js.map +0 -1
- package/dist/fiat/index.d.ts +0 -10
- package/dist/fiat/index.d.ts.map +0 -1
- package/dist/fiat/index.js +0 -9
- package/dist/fiat/index.js.map +0 -1
- package/dist/fiat/onramp.d.ts +0 -101
- package/dist/fiat/onramp.d.ts.map +0 -1
- package/dist/fiat/onramp.js +0 -155
- package/dist/fiat/onramp.js.map +0 -1
- package/dist/fiat/providers/index.d.ts +0 -16
- package/dist/fiat/providers/index.d.ts.map +0 -1
- package/dist/fiat/providers/index.js +0 -30
- package/dist/fiat/providers/index.js.map +0 -1
- package/dist/fiat/providers/moonpay.d.ts +0 -22
- package/dist/fiat/providers/moonpay.d.ts.map +0 -1
- package/dist/fiat/providers/moonpay.js +0 -107
- package/dist/fiat/providers/moonpay.js.map +0 -1
- package/dist/fiat/providers/stripe.d.ts +0 -26
- package/dist/fiat/providers/stripe.d.ts.map +0 -1
- package/dist/fiat/providers/stripe.js +0 -135
- package/dist/fiat/providers/stripe.js.map +0 -1
- package/dist/fiat/providers/transak.d.ts +0 -26
- package/dist/fiat/providers/transak.d.ts.map +0 -1
- package/dist/fiat/providers/transak.js +0 -119
- package/dist/fiat/providers/transak.js.map +0 -1
- package/dist/fiat/types.d.ts +0 -106
- package/dist/fiat/types.d.ts.map +0 -1
- package/dist/fiat/types.js +0 -13
- package/dist/fiat/types.js.map +0 -1
- package/dist/flash/executor.d.ts +0 -119
- package/dist/flash/executor.d.ts.map +0 -1
- package/dist/flash/executor.js +0 -195
- package/dist/flash/executor.js.map +0 -1
- package/dist/flash/index.d.ts +0 -28
- package/dist/flash/index.d.ts.map +0 -1
- package/dist/flash/index.js +0 -29
- package/dist/flash/index.js.map +0 -1
- package/dist/flash/scanner.d.ts +0 -133
- package/dist/flash/scanner.d.ts.map +0 -1
- package/dist/flash/scanner.js +0 -212
- package/dist/flash/scanner.js.map +0 -1
- package/dist/flash/types.d.ts +0 -136
- package/dist/flash/types.d.ts.map +0 -1
- package/dist/flash/types.js +0 -23
- package/dist/flash/types.js.map +0 -1
- package/dist/gas/index.d.ts +0 -4
- package/dist/gas/index.d.ts.map +0 -1
- package/dist/gas/index.js +0 -3
- package/dist/gas/index.js.map +0 -1
- package/dist/gas/sponsor.d.ts +0 -70
- package/dist/gas/sponsor.d.ts.map +0 -1
- package/dist/gas/sponsor.js +0 -193
- package/dist/gas/sponsor.js.map +0 -1
- package/dist/gas/types.d.ts +0 -76
- package/dist/gas/types.d.ts.map +0 -1
- package/dist/gas/types.js +0 -21
- package/dist/gas/types.js.map +0 -1
- package/dist/identity/agent-identity.d.ts +0 -276
- package/dist/identity/agent-identity.d.ts.map +0 -1
- package/dist/identity/agent-identity.js +0 -300
- package/dist/identity/agent-identity.js.map +0 -1
- package/dist/identity/erc6551.d.ts +0 -441
- package/dist/identity/erc6551.d.ts.map +0 -1
- package/dist/identity/erc6551.js +0 -517
- package/dist/identity/erc6551.js.map +0 -1
- package/dist/mev/index.d.ts +0 -4
- package/dist/mev/index.d.ts.map +0 -1
- package/dist/mev/index.js +0 -8
- package/dist/mev/index.js.map +0 -1
- package/dist/mev/protection.d.ts +0 -54
- package/dist/mev/protection.d.ts.map +0 -1
- package/dist/mev/protection.js +0 -185
- package/dist/mev/protection.js.map +0 -1
- package/dist/mev/risk.d.ts +0 -19
- package/dist/mev/risk.d.ts.map +0 -1
- package/dist/mev/risk.js +0 -95
- package/dist/mev/risk.js.map +0 -1
- package/dist/mev/types.d.ts +0 -49
- package/dist/mev/types.d.ts.map +0 -1
- package/dist/mev/types.js +0 -2
- package/dist/mev/types.js.map +0 -1
- package/dist/settlement/index.d.ts +0 -4
- package/dist/settlement/index.d.ts.map +0 -1
- package/dist/settlement/index.js +0 -3
- package/dist/settlement/index.js.map +0 -1
- package/dist/settlement/types.d.ts +0 -66
- package/dist/settlement/types.d.ts.map +0 -1
- package/dist/settlement/types.js +0 -37
- package/dist/settlement/types.js.map +0 -1
- package/dist/settlement/verifier.d.ts +0 -75
- package/dist/settlement/verifier.d.ts.map +0 -1
- package/dist/settlement/verifier.js +0 -354
- package/dist/settlement/verifier.js.map +0 -1
- package/dist/solana/bridge.d.ts +0 -144
- package/dist/solana/bridge.d.ts.map +0 -1
- package/dist/solana/bridge.js +0 -352
- package/dist/solana/bridge.js.map +0 -1
- package/dist/solana/index.d.ts +0 -8
- package/dist/solana/index.d.ts.map +0 -1
- package/dist/solana/index.js +0 -6
- package/dist/solana/index.js.map +0 -1
- package/dist/solana/swap.d.ts +0 -85
- package/dist/solana/swap.d.ts.map +0 -1
- package/dist/solana/swap.js +0 -173
- package/dist/solana/swap.js.map +0 -1
- package/dist/solana/types.d.ts +0 -126
- package/dist/solana/types.d.ts.map +0 -1
- package/dist/solana/types.js +0 -10
- package/dist/solana/types.js.map +0 -1
- package/dist/solana/wallet.d.ts +0 -83
- package/dist/solana/wallet.d.ts.map +0 -1
- package/dist/solana/wallet.js +0 -164
- package/dist/solana/wallet.js.map +0 -1
- package/dist/solana/x402.d.ts +0 -69
- package/dist/solana/x402.d.ts.map +0 -1
- package/dist/solana/x402.js +0 -154
- package/dist/solana/x402.js.map +0 -1
- package/dist/solver/adapter.d.ts +0 -47
- package/dist/solver/adapter.d.ts.map +0 -1
- package/dist/solver/adapter.js +0 -146
- package/dist/solver/adapter.js.map +0 -1
- package/dist/solver/analyzer.d.ts +0 -48
- package/dist/solver/analyzer.d.ts.map +0 -1
- package/dist/solver/analyzer.js +0 -171
- package/dist/solver/analyzer.js.map +0 -1
- package/dist/solver/builder.d.ts +0 -31
- package/dist/solver/builder.d.ts.map +0 -1
- package/dist/solver/builder.js +0 -60
- package/dist/solver/builder.js.map +0 -1
- package/dist/solver/index.d.ts +0 -22
- package/dist/solver/index.d.ts.map +0 -1
- package/dist/solver/index.js +0 -25
- package/dist/solver/index.js.map +0 -1
- package/dist/solver/types.d.ts +0 -115
- package/dist/solver/types.d.ts.map +0 -1
- package/dist/solver/types.js +0 -10
- package/dist/solver/types.js.map +0 -1
- package/dist/spend-guard/index.d.ts +0 -125
- package/dist/spend-guard/index.d.ts.map +0 -1
- package/dist/spend-guard/index.js +0 -150
- package/dist/spend-guard/index.js.map +0 -1
- package/dist/swap/router/cache.d.ts +0 -13
- package/dist/swap/router/cache.d.ts.map +0 -1
- package/dist/swap/router/cache.js +0 -30
- package/dist/swap/router/cache.js.map +0 -1
- package/dist/swap/router/flashbots.d.ts +0 -10
- package/dist/swap/router/flashbots.d.ts.map +0 -1
- package/dist/swap/router/flashbots.js +0 -43
- package/dist/swap/router/flashbots.js.map +0 -1
- package/dist/swap/router/health.d.ts +0 -17
- package/dist/swap/router/health.d.ts.map +0 -1
- package/dist/swap/router/health.js +0 -38
- package/dist/swap/router/health.js.map +0 -1
- package/dist/swap/router/index.d.ts +0 -10
- package/dist/swap/router/index.d.ts.map +0 -1
- package/dist/swap/router/index.js +0 -10
- package/dist/swap/router/index.js.map +0 -1
- package/dist/swap/router/providers/cowswap.d.ts +0 -11
- package/dist/swap/router/providers/cowswap.d.ts.map +0 -1
- package/dist/swap/router/providers/cowswap.js +0 -79
- package/dist/swap/router/providers/cowswap.js.map +0 -1
- package/dist/swap/router/providers/index.d.ts +0 -20
- package/dist/swap/router/providers/index.d.ts.map +0 -1
- package/dist/swap/router/providers/index.js +0 -32
- package/dist/swap/router/providers/index.js.map +0 -1
- package/dist/swap/router/providers/jupiter.d.ts +0 -12
- package/dist/swap/router/providers/jupiter.d.ts.map +0 -1
- package/dist/swap/router/providers/jupiter.js +0 -73
- package/dist/swap/router/providers/jupiter.js.map +0 -1
- package/dist/swap/router/providers/lifi.d.ts +0 -11
- package/dist/swap/router/providers/lifi.d.ts.map +0 -1
- package/dist/swap/router/providers/lifi.js +0 -123
- package/dist/swap/router/providers/lifi.js.map +0 -1
- package/dist/swap/router/providers/oneinch.d.ts +0 -13
- package/dist/swap/router/providers/oneinch.d.ts.map +0 -1
- package/dist/swap/router/providers/oneinch.js +0 -71
- package/dist/swap/router/providers/oneinch.js.map +0 -1
- package/dist/swap/router/providers/paraswap.d.ts +0 -11
- package/dist/swap/router/providers/paraswap.d.ts.map +0 -1
- package/dist/swap/router/providers/paraswap.js +0 -73
- package/dist/swap/router/providers/paraswap.js.map +0 -1
- package/dist/swap/router/providers/uniswap.d.ts +0 -31
- package/dist/swap/router/providers/uniswap.d.ts.map +0 -1
- package/dist/swap/router/providers/uniswap.js +0 -237
- package/dist/swap/router/providers/uniswap.js.map +0 -1
- package/dist/swap/router/providers/zerox.d.ts +0 -13
- package/dist/swap/router/providers/zerox.d.ts.map +0 -1
- package/dist/swap/router/providers/zerox.js +0 -94
- package/dist/swap/router/providers/zerox.js.map +0 -1
- package/dist/swap/router/router.d.ts +0 -86
- package/dist/swap/router/router.d.ts.map +0 -1
- package/dist/swap/router/router.js +0 -224
- package/dist/swap/router/router.js.map +0 -1
- package/dist/swap/router/rsi/engine.d.ts +0 -60
- package/dist/swap/router/rsi/engine.d.ts.map +0 -1
- package/dist/swap/router/rsi/engine.js +0 -483
- package/dist/swap/router/rsi/engine.js.map +0 -1
- package/dist/swap/router/rsi/index.d.ts +0 -3
- package/dist/swap/router/rsi/index.d.ts.map +0 -1
- package/dist/swap/router/rsi/index.js +0 -3
- package/dist/swap/router/rsi/index.js.map +0 -1
- package/dist/swap/router/rsi/types.d.ts +0 -106
- package/dist/swap/router/rsi/types.d.ts.map +0 -1
- package/dist/swap/router/rsi/types.js +0 -3
- package/dist/swap/router/rsi/types.js.map +0 -1
- package/dist/swap/router/types.d.ts +0 -120
- package/dist/swap/router/types.d.ts.map +0 -1
- package/dist/swap/router/types.js +0 -16
- package/dist/swap/router/types.js.map +0 -1
- package/dist/tax/engine.d.ts +0 -131
- package/dist/tax/engine.d.ts.map +0 -1
- package/dist/tax/engine.js +0 -307
- package/dist/tax/engine.js.map +0 -1
- package/dist/tax/index.d.ts +0 -9
- package/dist/tax/index.d.ts.map +0 -1
- package/dist/tax/index.js +0 -12
- package/dist/tax/index.js.map +0 -1
- package/dist/tax/lots.d.ts +0 -60
- package/dist/tax/lots.d.ts.map +0 -1
- package/dist/tax/lots.js +0 -129
- package/dist/tax/lots.js.map +0 -1
- package/dist/tax/types.d.ts +0 -113
- package/dist/tax/types.d.ts.map +0 -1
- package/dist/tax/types.js +0 -18
- package/dist/tax/types.js.map +0 -1
- package/dist/yield/index.d.ts +0 -26
- package/dist/yield/index.d.ts.map +0 -1
- package/dist/yield/index.js +0 -29
- package/dist/yield/index.js.map +0 -1
- package/dist/yield/rates.d.ts +0 -114
- package/dist/yield/rates.d.ts.map +0 -1
- package/dist/yield/rates.js +0 -351
- package/dist/yield/rates.js.map +0 -1
- package/dist/yield/types.d.ts +0 -134
- package/dist/yield/types.d.ts.map +0 -1
- package/dist/yield/types.js +0 -24
- package/dist/yield/types.js.map +0 -1
- package/dist/yield/vault.d.ts +0 -112
- package/dist/yield/vault.d.ts.map +0 -1
- package/dist/yield/vault.js +0 -264
- package/dist/yield/vault.js.map +0 -1
package/dist/chains.d.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import type { Address } from 'viem';
|
|
2
|
-
/** Chains supported for swap + x402 + wallet operations */
|
|
3
|
-
export type SupportedChain = 'base' | 'arbitrum' | 'optimism';
|
|
4
|
-
export interface ChainConfig {
|
|
5
|
-
chainId: number;
|
|
6
|
-
name: string;
|
|
7
|
-
/** Public default RPC URL (no API key required) */
|
|
8
|
-
rpcUrl: string;
|
|
9
|
-
/** USDC token contract address (official Circle deployment) */
|
|
10
|
-
usdc: Address;
|
|
11
|
-
/** Uniswap V3 SwapRouter02 address */
|
|
12
|
-
uniswapRouter?: Address;
|
|
13
|
-
/** Uniswap V3 QuoterV2 address */
|
|
14
|
-
uniswapQuoter?: Address;
|
|
15
|
-
/** Wrapped native token address */
|
|
16
|
-
weth?: Address;
|
|
17
|
-
/** x402 network identifier (e.g. "base:8453") */
|
|
18
|
-
x402Network: string;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Chain configuration for all supported chains.
|
|
22
|
-
*
|
|
23
|
-
* Uniswap V3 addresses verified against:
|
|
24
|
-
* https://docs.uniswap.org/contracts/v3/reference/deployments/
|
|
25
|
-
*
|
|
26
|
-
* USDC addresses verified against:
|
|
27
|
-
* https://www.circle.com/en/multichain-usdc
|
|
28
|
-
*
|
|
29
|
-
* WETH on Base / Optimism is the canonical OP-stack bridged WETH at 0x4200...0006
|
|
30
|
-
* Arbitrum WETH is the standard bridged WETH at 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1
|
|
31
|
-
*/
|
|
32
|
-
export declare const CHAIN_CONFIG: Record<SupportedChain, ChainConfig>;
|
|
33
|
-
/** Get chain config — throws a clear error if chain is unknown */
|
|
34
|
-
export declare function getChainConfig(chain: SupportedChain): ChainConfig;
|
|
35
|
-
/** Resolve a chain from chainId — returns undefined if not found */
|
|
36
|
-
export declare function chainFromId(chainId: number): SupportedChain | undefined;
|
|
37
|
-
/** Solana chain identifiers */
|
|
38
|
-
export type SolanaChain = 'solana' | 'solana-devnet';
|
|
39
|
-
/** Solana chain configuration entry */
|
|
40
|
-
export interface SolanaChainConfig {
|
|
41
|
-
/** Solana cluster name (e.g. "mainnet-beta", "devnet") */
|
|
42
|
-
cluster: string;
|
|
43
|
-
/** Public RPC URL */
|
|
44
|
-
rpcUrl: string;
|
|
45
|
-
/** Official USDC SPL token mint address */
|
|
46
|
-
usdcMint: string;
|
|
47
|
-
/** x402 network identifier */
|
|
48
|
-
x402Network: string;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Solana chain configurations.
|
|
52
|
-
*
|
|
53
|
-
* USDC mints verified against:
|
|
54
|
-
* https://www.circle.com/en/multichain-usdc (Solana)
|
|
55
|
-
*
|
|
56
|
-
* RPC endpoints: Solana Foundation public RPC (free, no key required).
|
|
57
|
-
* For production, use Helius, Alchemy, or QuickNode.
|
|
58
|
-
*/
|
|
59
|
-
export declare const SOLANA_CONFIG: Record<SolanaChain, SolanaChainConfig>;
|
|
60
|
-
/** Get Solana chain config — throws if chain is unknown */
|
|
61
|
-
export declare function getSolanaConfig(chain: SolanaChain): SolanaChainConfig;
|
|
62
|
-
//# sourceMappingURL=chains.d.ts.map
|
package/dist/chains.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,2DAA2D;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,cAAc,EAAE,WAAW,CA2CnD,CAAC;AAEX,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,WAAW,CAQjE;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAKvE;AAMD,+BAA+B;AAC/B,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;AAErD,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAevD,CAAC;AAEX,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,iBAAiB,CAQrE"}
|
package/dist/chains.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
// [MAX-ADDED] Shared chain configuration — single source of truth for multi-chain support.
|
|
2
|
-
// Chains: Base, Arbitrum, Optimism (Ethereum is bridge-only, no swap support due to gas).
|
|
3
|
-
/**
|
|
4
|
-
* Chain configuration for all supported chains.
|
|
5
|
-
*
|
|
6
|
-
* Uniswap V3 addresses verified against:
|
|
7
|
-
* https://docs.uniswap.org/contracts/v3/reference/deployments/
|
|
8
|
-
*
|
|
9
|
-
* USDC addresses verified against:
|
|
10
|
-
* https://www.circle.com/en/multichain-usdc
|
|
11
|
-
*
|
|
12
|
-
* WETH on Base / Optimism is the canonical OP-stack bridged WETH at 0x4200...0006
|
|
13
|
-
* Arbitrum WETH is the standard bridged WETH at 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1
|
|
14
|
-
*/
|
|
15
|
-
export const CHAIN_CONFIG = {
|
|
16
|
-
base: {
|
|
17
|
-
chainId: 8453,
|
|
18
|
-
name: 'Base',
|
|
19
|
-
rpcUrl: 'https://mainnet.base.org',
|
|
20
|
-
// Official USDC on Base (Circle native deployment)
|
|
21
|
-
usdc: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
22
|
-
// Uniswap V3 on Base — SwapRouter02 + QuoterV2
|
|
23
|
-
// Source: https://docs.uniswap.org/contracts/v3/reference/deployments/base-deployments
|
|
24
|
-
uniswapRouter: '0x2626664c2603336E57B271c5C0b26F421741e481',
|
|
25
|
-
uniswapQuoter: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',
|
|
26
|
-
// OP-stack canonical WETH
|
|
27
|
-
weth: '0x4200000000000000000000000000000000000006',
|
|
28
|
-
x402Network: 'base:8453',
|
|
29
|
-
},
|
|
30
|
-
arbitrum: {
|
|
31
|
-
chainId: 42161,
|
|
32
|
-
name: 'Arbitrum One',
|
|
33
|
-
rpcUrl: 'https://arb1.arbitrum.io/rpc',
|
|
34
|
-
// Official USDC on Arbitrum (Circle native deployment — NOT USDC.e bridged)
|
|
35
|
-
usdc: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
|
|
36
|
-
// Uniswap V3 on Arbitrum — SwapRouter02 + QuoterV2
|
|
37
|
-
// Source: https://docs.uniswap.org/contracts/v3/reference/deployments/arbitrum-deployments
|
|
38
|
-
uniswapRouter: '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45',
|
|
39
|
-
uniswapQuoter: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',
|
|
40
|
-
// Standard bridged WETH on Arbitrum
|
|
41
|
-
weth: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
|
|
42
|
-
x402Network: 'arbitrum:42161',
|
|
43
|
-
},
|
|
44
|
-
optimism: {
|
|
45
|
-
chainId: 10,
|
|
46
|
-
name: 'OP Mainnet',
|
|
47
|
-
rpcUrl: 'https://mainnet.optimism.io',
|
|
48
|
-
// Official USDC on Optimism (Circle native deployment — NOT USDC.e bridged)
|
|
49
|
-
usdc: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',
|
|
50
|
-
// Uniswap V3 on Optimism — SwapRouter02 + QuoterV2
|
|
51
|
-
// Source: https://docs.uniswap.org/contracts/v3/reference/deployments/optimism-deployments
|
|
52
|
-
uniswapRouter: '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45',
|
|
53
|
-
uniswapQuoter: '0x61fFE014bA17989E743c5F6cB21bF9697530B21e',
|
|
54
|
-
// OP-stack canonical WETH
|
|
55
|
-
weth: '0x4200000000000000000000000000000000000006',
|
|
56
|
-
x402Network: 'optimism:10',
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
/** Get chain config — throws a clear error if chain is unknown */
|
|
60
|
-
export function getChainConfig(chain) {
|
|
61
|
-
const config = CHAIN_CONFIG[chain];
|
|
62
|
-
if (!config) {
|
|
63
|
-
throw new Error(`Unsupported chain: "${chain}". Supported chains: ${Object.keys(CHAIN_CONFIG).join(', ')}`);
|
|
64
|
-
}
|
|
65
|
-
return config;
|
|
66
|
-
}
|
|
67
|
-
/** Resolve a chain from chainId — returns undefined if not found */
|
|
68
|
-
export function chainFromId(chainId) {
|
|
69
|
-
for (const [key, cfg] of Object.entries(CHAIN_CONFIG)) {
|
|
70
|
-
if (cfg.chainId === chainId)
|
|
71
|
-
return key;
|
|
72
|
-
}
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Solana chain configurations.
|
|
77
|
-
*
|
|
78
|
-
* USDC mints verified against:
|
|
79
|
-
* https://www.circle.com/en/multichain-usdc (Solana)
|
|
80
|
-
*
|
|
81
|
-
* RPC endpoints: Solana Foundation public RPC (free, no key required).
|
|
82
|
-
* For production, use Helius, Alchemy, or QuickNode.
|
|
83
|
-
*/
|
|
84
|
-
export const SOLANA_CONFIG = {
|
|
85
|
-
solana: {
|
|
86
|
-
cluster: 'mainnet-beta',
|
|
87
|
-
rpcUrl: 'https://api.mainnet-beta.solana.com',
|
|
88
|
-
// Official Circle USDC on Solana Mainnet
|
|
89
|
-
usdcMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
|
|
90
|
-
x402Network: 'solana:mainnet',
|
|
91
|
-
},
|
|
92
|
-
'solana-devnet': {
|
|
93
|
-
cluster: 'devnet',
|
|
94
|
-
rpcUrl: 'https://api.devnet.solana.com',
|
|
95
|
-
// Circle USDC on Solana Devnet
|
|
96
|
-
usdcMint: '4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU',
|
|
97
|
-
x402Network: 'solana:devnet',
|
|
98
|
-
},
|
|
99
|
-
};
|
|
100
|
-
/** Get Solana chain config — throws if chain is unknown */
|
|
101
|
-
export function getSolanaConfig(chain) {
|
|
102
|
-
const config = SOLANA_CONFIG[chain];
|
|
103
|
-
if (!config) {
|
|
104
|
-
throw new Error(`Unsupported Solana chain: "${chain}". Supported: ${Object.keys(SOLANA_CONFIG).join(', ')}`);
|
|
105
|
-
}
|
|
106
|
-
return config;
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=chains.js.map
|
package/dist/chains.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,0FAA0F;AAwB1F;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAwC;IAC/D,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,0BAA0B;QAClC,mDAAmD;QACnD,IAAI,EAAE,4CAA4C;QAClD,+CAA+C;QAC/C,uFAAuF;QACvF,aAAa,EAAE,4CAA4C;QAC3D,aAAa,EAAE,4CAA4C;QAC3D,0BAA0B;QAC1B,IAAI,EAAE,4CAA4C;QAClD,WAAW,EAAE,WAAW;KACzB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,8BAA8B;QACtC,4EAA4E;QAC5E,IAAI,EAAE,4CAA4C;QAClD,mDAAmD;QACnD,2FAA2F;QAC3F,aAAa,EAAE,4CAA4C;QAC3D,aAAa,EAAE,4CAA4C;QAC3D,oCAAoC;QACpC,IAAI,EAAE,4CAA4C;QAClD,WAAW,EAAE,gBAAgB;KAC9B;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,6BAA6B;QACrC,4EAA4E;QAC5E,IAAI,EAAE,4CAA4C;QAClD,mDAAmD;QACnD,2FAA2F;QAC3F,aAAa,EAAE,4CAA4C;QAC3D,aAAa,EAAE,4CAA4C;QAC3D,0BAA0B;QAC1B,IAAI,EAAE,4CAA4C;QAClD,WAAW,EAAE,aAAa;KAC3B;CACO,CAAC;AAEX,kEAAkE;AAClE,MAAM,UAAU,cAAc,CAAC,KAAqB;IAClD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,wBAAwB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACtD,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,GAAqB,CAAC;IAC5D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAqBD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAA2C;IACnE,MAAM,EAAE;QACN,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,qCAAqC;QAC7C,yCAAyC;QACzC,QAAQ,EAAE,8CAA8C;QACxD,WAAW,EAAE,gBAAgB;KAC9B;IACD,eAAe,EAAE;QACf,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,+BAA+B;QACvC,+BAA+B;QAC/B,QAAQ,EAAE,8CAA8C;QACxD,WAAW,EAAE,eAAe;KAC7B;CACO,CAAC;AAEX,2DAA2D;AAC3D,MAAM,UAAU,eAAe,CAAC,KAAkB;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,iBAAiB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/fiat/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fiat Onramp module — optional fiat-to-crypto for agentwallet-sdk.
|
|
3
|
-
*
|
|
4
|
-
* This module is OPT-IN ONLY. Import and use FiatOnramp only if you want
|
|
5
|
-
* fiat onramp capability. The core SDK is fully anonymous and non-custodial.
|
|
6
|
-
*/
|
|
7
|
-
export { FiatOnramp } from './onramp.js';
|
|
8
|
-
export type { FiatOnrampConfig, FiatQuote, OnrampParams, FiatProvider } from './types.js';
|
|
9
|
-
export { MoonPayProvider, StripeProvider, TransakProvider } from './providers/index.js';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/fiat/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fiat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/fiat/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fiat Onramp module — optional fiat-to-crypto for agentwallet-sdk.
|
|
3
|
-
*
|
|
4
|
-
* This module is OPT-IN ONLY. Import and use FiatOnramp only if you want
|
|
5
|
-
* fiat onramp capability. The core SDK is fully anonymous and non-custodial.
|
|
6
|
-
*/
|
|
7
|
-
export { FiatOnramp } from './onramp.js';
|
|
8
|
-
export { MoonPayProvider, StripeProvider, TransakProvider } from './providers/index.js';
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/dist/fiat/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fiat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/fiat/onramp.d.ts
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FiatOnramp — optional fiat-to-crypto onramp module for agentwallet-sdk.
|
|
3
|
-
*
|
|
4
|
-
* ╔══════════════════════════════════════════════════════════════════════╗
|
|
5
|
-
* ║ KYC NOTICE — IMPORTANT ║
|
|
6
|
-
* ║ ║
|
|
7
|
-
* ║ This module is entirely OPT-IN. Users who fund their agent wallet ║
|
|
8
|
-
* ║ via direct crypto transfer, bridge, or any other method NEVER ║
|
|
9
|
-
* ║ encounter KYC and remain fully anonymous. ║
|
|
10
|
-
* ║ ║
|
|
11
|
-
* ║ KYC only occurs when a user explicitly chooses to use this fiat ║
|
|
12
|
-
* ║ onramp feature. KYC is handled entirely by the third-party ║
|
|
13
|
-
* ║ provider (MoonPay, Stripe, Transak) on their hosted page. ║
|
|
14
|
-
* ║ The SDK never collects, stores, or transmits any KYC data. ║
|
|
15
|
-
* ╚══════════════════════════════════════════════════════════════════════╝
|
|
16
|
-
*/
|
|
17
|
-
import type { FiatOnrampConfig, FiatQuote, OnrampParams } from './types.js';
|
|
18
|
-
/**
|
|
19
|
-
* FiatOnramp — aggregates multiple fiat onramp providers into a single interface.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* import { FiatOnramp } from 'agentwallet-sdk';
|
|
24
|
-
*
|
|
25
|
-
* // Only configure providers you have API keys for
|
|
26
|
-
* const onramp = new FiatOnramp({
|
|
27
|
-
* moonpayApiKey: process.env.MOONPAY_API_KEY,
|
|
28
|
-
* transakApiKey: process.env.TRANSAK_API_KEY,
|
|
29
|
-
* });
|
|
30
|
-
*
|
|
31
|
-
* // Get quotes from all configured providers
|
|
32
|
-
* const quotes = await onramp.getQuotes({
|
|
33
|
-
* amount: 100,
|
|
34
|
-
* currency: 'USD',
|
|
35
|
-
* token: 'USDC',
|
|
36
|
-
* chain: 'base',
|
|
37
|
-
* walletAddress: '0xYourWalletAddress',
|
|
38
|
-
* });
|
|
39
|
-
*
|
|
40
|
-
* // Open the purchaseUrl in a browser to complete KYC + payment on the provider's page
|
|
41
|
-
* console.log(quotes[0].purchaseUrl);
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export declare class FiatOnramp {
|
|
45
|
-
private providers;
|
|
46
|
-
private config;
|
|
47
|
-
/**
|
|
48
|
-
* Create a FiatOnramp instance.
|
|
49
|
-
*
|
|
50
|
-
* @param config - Provider API keys and defaults. All fields are optional.
|
|
51
|
-
* Passing no config (or an empty object) is valid — it returns
|
|
52
|
-
* an empty provider list, causing zero friction for users who
|
|
53
|
-
* don't want fiat onramp.
|
|
54
|
-
*/
|
|
55
|
-
constructor(config?: FiatOnrampConfig);
|
|
56
|
-
/**
|
|
57
|
-
* Get quotes from all configured providers that support the given chain/token.
|
|
58
|
-
* Failed providers are silently skipped (logged to console.warn).
|
|
59
|
-
*
|
|
60
|
-
* @returns Array of FiatQuote — may be empty if no providers are configured
|
|
61
|
-
* or if none support the requested chain/token combination.
|
|
62
|
-
*/
|
|
63
|
-
getQuotes(params: OnrampParams): Promise<FiatQuote[]>;
|
|
64
|
-
/**
|
|
65
|
-
* Create a purchase session with a specific provider.
|
|
66
|
-
* Returns a FiatQuote containing a purchaseUrl — open this in a browser
|
|
67
|
-
* to complete KYC + payment on the provider's hosted page.
|
|
68
|
-
*
|
|
69
|
-
* @throws Error if the provider is not configured or doesn't support the chain/token.
|
|
70
|
-
*/
|
|
71
|
-
createSession(params: OnrampParams & {
|
|
72
|
-
provider: string;
|
|
73
|
-
}): Promise<FiatQuote>;
|
|
74
|
-
/**
|
|
75
|
-
* Check if a provider supports a given chain/token combination.
|
|
76
|
-
*
|
|
77
|
-
* @param provider - Provider name: 'moonpay', 'stripe', 'transak'
|
|
78
|
-
* @param chain - Blockchain name: 'ethereum', 'base', 'solana', etc.
|
|
79
|
-
* @param token - Token symbol: 'USDC', 'ETH', 'SOL', etc.
|
|
80
|
-
*/
|
|
81
|
-
isSupported(provider: string, chain: string, token: string): boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Get the names of all configured providers.
|
|
84
|
-
* Returns an empty array if no API keys were provided.
|
|
85
|
-
*/
|
|
86
|
-
getProviders(): string[];
|
|
87
|
-
/**
|
|
88
|
-
* Get the chains supported by a given provider.
|
|
89
|
-
*
|
|
90
|
-
* @param provider - Provider name: 'moonpay', 'stripe', 'transak'
|
|
91
|
-
*/
|
|
92
|
-
getSupportedChains(provider: string): string[];
|
|
93
|
-
/**
|
|
94
|
-
* Get the tokens supported by a given provider on a given chain.
|
|
95
|
-
*
|
|
96
|
-
* @param provider - Provider name: 'moonpay', 'stripe', 'transak'
|
|
97
|
-
* @param chain - Blockchain name: 'ethereum', 'base', 'solana', etc.
|
|
98
|
-
*/
|
|
99
|
-
getSupportedTokens(provider: string, chain: string): string[];
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=onramp.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onramp.d.ts","sourceRoot":"","sources":["../../src/fiat/onramp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAgB,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1F;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,MAAM,CAAmB;IAEjC;;;;;;;OAOG;gBACS,MAAM,GAAE,gBAAqB;IAKzC;;;;;;OAMG;IACG,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA2B3D;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IA8BpF;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAOpE;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAM9C;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CAK9D"}
|
package/dist/fiat/onramp.js
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FiatOnramp — optional fiat-to-crypto onramp module for agentwallet-sdk.
|
|
3
|
-
*
|
|
4
|
-
* ╔══════════════════════════════════════════════════════════════════════╗
|
|
5
|
-
* ║ KYC NOTICE — IMPORTANT ║
|
|
6
|
-
* ║ ║
|
|
7
|
-
* ║ This module is entirely OPT-IN. Users who fund their agent wallet ║
|
|
8
|
-
* ║ via direct crypto transfer, bridge, or any other method NEVER ║
|
|
9
|
-
* ║ encounter KYC and remain fully anonymous. ║
|
|
10
|
-
* ║ ║
|
|
11
|
-
* ║ KYC only occurs when a user explicitly chooses to use this fiat ║
|
|
12
|
-
* ║ onramp feature. KYC is handled entirely by the third-party ║
|
|
13
|
-
* ║ provider (MoonPay, Stripe, Transak) on their hosted page. ║
|
|
14
|
-
* ║ The SDK never collects, stores, or transmits any KYC data. ║
|
|
15
|
-
* ╚══════════════════════════════════════════════════════════════════════╝
|
|
16
|
-
*/
|
|
17
|
-
import { buildProviders } from './providers/index.js';
|
|
18
|
-
/**
|
|
19
|
-
* FiatOnramp — aggregates multiple fiat onramp providers into a single interface.
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* import { FiatOnramp } from 'agentwallet-sdk';
|
|
24
|
-
*
|
|
25
|
-
* // Only configure providers you have API keys for
|
|
26
|
-
* const onramp = new FiatOnramp({
|
|
27
|
-
* moonpayApiKey: process.env.MOONPAY_API_KEY,
|
|
28
|
-
* transakApiKey: process.env.TRANSAK_API_KEY,
|
|
29
|
-
* });
|
|
30
|
-
*
|
|
31
|
-
* // Get quotes from all configured providers
|
|
32
|
-
* const quotes = await onramp.getQuotes({
|
|
33
|
-
* amount: 100,
|
|
34
|
-
* currency: 'USD',
|
|
35
|
-
* token: 'USDC',
|
|
36
|
-
* chain: 'base',
|
|
37
|
-
* walletAddress: '0xYourWalletAddress',
|
|
38
|
-
* });
|
|
39
|
-
*
|
|
40
|
-
* // Open the purchaseUrl in a browser to complete KYC + payment on the provider's page
|
|
41
|
-
* console.log(quotes[0].purchaseUrl);
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export class FiatOnramp {
|
|
45
|
-
/**
|
|
46
|
-
* Create a FiatOnramp instance.
|
|
47
|
-
*
|
|
48
|
-
* @param config - Provider API keys and defaults. All fields are optional.
|
|
49
|
-
* Passing no config (or an empty object) is valid — it returns
|
|
50
|
-
* an empty provider list, causing zero friction for users who
|
|
51
|
-
* don't want fiat onramp.
|
|
52
|
-
*/
|
|
53
|
-
constructor(config = {}) {
|
|
54
|
-
this.config = config;
|
|
55
|
-
this.providers = buildProviders(config);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Get quotes from all configured providers that support the given chain/token.
|
|
59
|
-
* Failed providers are silently skipped (logged to console.warn).
|
|
60
|
-
*
|
|
61
|
-
* @returns Array of FiatQuote — may be empty if no providers are configured
|
|
62
|
-
* or if none support the requested chain/token combination.
|
|
63
|
-
*/
|
|
64
|
-
async getQuotes(params) {
|
|
65
|
-
const resolvedParams = {
|
|
66
|
-
...params,
|
|
67
|
-
currency: params.currency ?? this.config.defaultCurrency ?? 'USD',
|
|
68
|
-
};
|
|
69
|
-
const supportedProviders = this.providers.filter((p) => this.isSupported(p.name, resolvedParams.chain, resolvedParams.token));
|
|
70
|
-
const results = await Promise.allSettled(supportedProviders.map((p) => p.getQuote(resolvedParams)));
|
|
71
|
-
const quotes = [];
|
|
72
|
-
for (let i = 0; i < results.length; i++) {
|
|
73
|
-
const result = results[i];
|
|
74
|
-
if (result.status === 'fulfilled') {
|
|
75
|
-
quotes.push(result.value);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
console.warn(`[FiatOnramp] ${supportedProviders[i].name} quote failed:`, result.reason);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return quotes;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Create a purchase session with a specific provider.
|
|
85
|
-
* Returns a FiatQuote containing a purchaseUrl — open this in a browser
|
|
86
|
-
* to complete KYC + payment on the provider's hosted page.
|
|
87
|
-
*
|
|
88
|
-
* @throws Error if the provider is not configured or doesn't support the chain/token.
|
|
89
|
-
*/
|
|
90
|
-
async createSession(params) {
|
|
91
|
-
const { provider: providerName, ...onrampParams } = params;
|
|
92
|
-
const resolvedParams = {
|
|
93
|
-
...onrampParams,
|
|
94
|
-
currency: onrampParams.currency ?? this.config.defaultCurrency ?? 'USD',
|
|
95
|
-
};
|
|
96
|
-
const provider = this.providers.find((p) => p.name === providerName);
|
|
97
|
-
if (!provider) {
|
|
98
|
-
const configuredNames = this.providers.map((p) => p.name);
|
|
99
|
-
if (configuredNames.length === 0) {
|
|
100
|
-
throw new Error(`No fiat providers configured. Add an API key for '${providerName}' in FiatOnrampConfig.`);
|
|
101
|
-
}
|
|
102
|
-
throw new Error(`Provider '${providerName}' is not configured. Configured providers: ${configuredNames.join(', ')}`);
|
|
103
|
-
}
|
|
104
|
-
if (!this.isSupported(providerName, resolvedParams.chain, resolvedParams.token)) {
|
|
105
|
-
throw new Error(`Provider '${providerName}' does not support ${resolvedParams.token} on ${resolvedParams.chain}. ` +
|
|
106
|
-
`Supported tokens: ${(provider.supportedAssets[resolvedParams.chain] ?? []).join(', ')}`);
|
|
107
|
-
}
|
|
108
|
-
return provider.createSession(resolvedParams);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Check if a provider supports a given chain/token combination.
|
|
112
|
-
*
|
|
113
|
-
* @param provider - Provider name: 'moonpay', 'stripe', 'transak'
|
|
114
|
-
* @param chain - Blockchain name: 'ethereum', 'base', 'solana', etc.
|
|
115
|
-
* @param token - Token symbol: 'USDC', 'ETH', 'SOL', etc.
|
|
116
|
-
*/
|
|
117
|
-
isSupported(provider, chain, token) {
|
|
118
|
-
const p = this.providers.find((pr) => pr.name === provider);
|
|
119
|
-
if (!p)
|
|
120
|
-
return false;
|
|
121
|
-
const tokens = p.supportedAssets[chain.toLowerCase()];
|
|
122
|
-
return Array.isArray(tokens) && tokens.includes(token.toUpperCase());
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Get the names of all configured providers.
|
|
126
|
-
* Returns an empty array if no API keys were provided.
|
|
127
|
-
*/
|
|
128
|
-
getProviders() {
|
|
129
|
-
return this.providers.map((p) => p.name);
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Get the chains supported by a given provider.
|
|
133
|
-
*
|
|
134
|
-
* @param provider - Provider name: 'moonpay', 'stripe', 'transak'
|
|
135
|
-
*/
|
|
136
|
-
getSupportedChains(provider) {
|
|
137
|
-
const p = this.providers.find((pr) => pr.name === provider);
|
|
138
|
-
if (!p)
|
|
139
|
-
return [];
|
|
140
|
-
return Object.keys(p.supportedAssets);
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Get the tokens supported by a given provider on a given chain.
|
|
144
|
-
*
|
|
145
|
-
* @param provider - Provider name: 'moonpay', 'stripe', 'transak'
|
|
146
|
-
* @param chain - Blockchain name: 'ethereum', 'base', 'solana', etc.
|
|
147
|
-
*/
|
|
148
|
-
getSupportedTokens(provider, chain) {
|
|
149
|
-
const p = this.providers.find((pr) => pr.name === provider);
|
|
150
|
-
if (!p)
|
|
151
|
-
return [];
|
|
152
|
-
return p.supportedAssets[chain.toLowerCase()] ?? [];
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=onramp.js.map
|
package/dist/fiat/onramp.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onramp.js","sourceRoot":"","sources":["../../src/fiat/onramp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provider registry — assembles configured providers from FiatOnrampConfig.
|
|
3
|
-
*/
|
|
4
|
-
import type { FiatOnrampConfig, FiatProvider } from '../types.js';
|
|
5
|
-
export { MoonPayProvider } from './moonpay.js';
|
|
6
|
-
export { StripeProvider } from './stripe.js';
|
|
7
|
-
export { TransakProvider } from './transak.js';
|
|
8
|
-
/**
|
|
9
|
-
* Build the list of configured providers from the given config.
|
|
10
|
-
* Providers without an API key are excluded gracefully.
|
|
11
|
-
*/
|
|
12
|
-
export declare function buildProviders(config: FiatOnrampConfig): FiatProvider[];
|
|
13
|
-
/** All known provider names */
|
|
14
|
-
export declare const ALL_PROVIDER_NAMES: readonly ["moonpay", "stripe", "transak"];
|
|
15
|
-
export type ProviderName = (typeof ALL_PROVIDER_NAMES)[number];
|
|
16
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fiat/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKlE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAevE;AAED,+BAA+B;AAC/B,eAAO,MAAM,kBAAkB,2CAA4C,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provider registry — assembles configured providers from FiatOnrampConfig.
|
|
3
|
-
*/
|
|
4
|
-
import { MoonPayProvider } from './moonpay.js';
|
|
5
|
-
import { StripeProvider } from './stripe.js';
|
|
6
|
-
import { TransakProvider } from './transak.js';
|
|
7
|
-
export { MoonPayProvider } from './moonpay.js';
|
|
8
|
-
export { StripeProvider } from './stripe.js';
|
|
9
|
-
export { TransakProvider } from './transak.js';
|
|
10
|
-
/**
|
|
11
|
-
* Build the list of configured providers from the given config.
|
|
12
|
-
* Providers without an API key are excluded gracefully.
|
|
13
|
-
*/
|
|
14
|
-
export function buildProviders(config) {
|
|
15
|
-
const providers = [];
|
|
16
|
-
const testMode = config.testMode ?? false;
|
|
17
|
-
if (config.moonpayApiKey) {
|
|
18
|
-
providers.push(new MoonPayProvider(config.moonpayApiKey, testMode));
|
|
19
|
-
}
|
|
20
|
-
if (config.stripeApiKey) {
|
|
21
|
-
providers.push(new StripeProvider(config.stripeApiKey, testMode));
|
|
22
|
-
}
|
|
23
|
-
if (config.transakApiKey) {
|
|
24
|
-
providers.push(new TransakProvider(config.transakApiKey, testMode));
|
|
25
|
-
}
|
|
26
|
-
return providers;
|
|
27
|
-
}
|
|
28
|
-
/** All known provider names */
|
|
29
|
-
export const ALL_PROVIDER_NAMES = ['moonpay', 'stripe', 'transak'];
|
|
30
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fiat/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;IAE1C,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MoonPay Provider
|
|
3
|
-
*
|
|
4
|
-
* Creates buy quotes and purchase URLs via MoonPay's REST API.
|
|
5
|
-
* KYC + payment happen on MoonPay's hosted page — we never see KYC data.
|
|
6
|
-
*
|
|
7
|
-
* API reference: https://dev.moonpay.com/reference/buy-quote
|
|
8
|
-
* Dashboard: https://dashboard.moonpay.com
|
|
9
|
-
*/
|
|
10
|
-
import type { FiatProvider, FiatQuote, OnrampParams } from '../types.js';
|
|
11
|
-
export declare class MoonPayProvider implements FiatProvider {
|
|
12
|
-
readonly name = "moonpay";
|
|
13
|
-
readonly supportedAssets: Record<string, string[]>;
|
|
14
|
-
private apiKey;
|
|
15
|
-
private baseUrl;
|
|
16
|
-
constructor(apiKey: string, testMode?: boolean);
|
|
17
|
-
get isConfigured(): boolean;
|
|
18
|
-
getQuote(params: OnrampParams): Promise<FiatQuote>;
|
|
19
|
-
createSession(params: OnrampParams): Promise<FiatQuote>;
|
|
20
|
-
private buildPurchaseUrl;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=moonpay.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"moonpay.d.ts","sourceRoot":"","sources":["../../../src/fiat/providers/moonpay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuCzE,qBAAa,eAAgB,YAAW,YAAY;IAClD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,eAAe,2BAAoB;IAE5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ;IAK5C,IAAI,YAAY,IAAI,OAAO,CAE1B;IAEK,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAoDlD,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAK7D,OAAO,CAAC,gBAAgB;CAazB"}
|