@atxp/client 0.2.7 → 0.2.9
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/dist/baseAccount.d.ts +9 -0
- package/dist/baseAccount.d.ts.map +1 -0
- package/dist/baseAccount.js +18 -0
- package/dist/baseAccount.js.map +1 -0
- package/dist/basePaymentMaker.d.ts +14 -0
- package/dist/basePaymentMaker.d.ts.map +1 -0
- package/dist/basePaymentMaker.js +113 -0
- package/dist/basePaymentMaker.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/solanaPaymentMaker.js +1 -1
- package/dist/solanaPaymentMaker.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Account, PaymentMaker } from './types.js';
|
|
2
|
+
export declare class BaseAccount implements Account {
|
|
3
|
+
accountId: string;
|
|
4
|
+
paymentMakers: {
|
|
5
|
+
[key: string]: PaymentMaker;
|
|
6
|
+
};
|
|
7
|
+
constructor(baseRPCUrl: string, sourceSecretKey: `0x${string}`);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=baseAccount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseAccount.d.ts","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAIxD,qBAAa,WAAY,YAAW,OAAO;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAC;gBAEnC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,MAAM,EAAE;CAe/D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
2
|
+
import { BasePaymentMaker } from './basePaymentMaker.js';
|
|
3
|
+
export class BaseAccount {
|
|
4
|
+
constructor(baseRPCUrl, sourceSecretKey) {
|
|
5
|
+
if (!baseRPCUrl) {
|
|
6
|
+
throw new Error('Base RPC URL is required');
|
|
7
|
+
}
|
|
8
|
+
if (!sourceSecretKey) {
|
|
9
|
+
throw new Error('Source secret key is required');
|
|
10
|
+
}
|
|
11
|
+
const account = privateKeyToAccount(sourceSecretKey);
|
|
12
|
+
this.accountId = account.address;
|
|
13
|
+
this.paymentMakers = {
|
|
14
|
+
'base': new BasePaymentMaker(baseRPCUrl, sourceSecretKey),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=baseAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseAccount.js","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,OAAO,WAAW;IAItB,YAAY,UAAkB,EAAE,eAA8B;QAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG;YACnB,MAAM,EAAE,IAAI,gBAAgB,CAAC,UAAU,EAAE,eAAe,CAAC;SAC1D,CAAA;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PaymentMaker } from './types.js';
|
|
2
|
+
import { Logger } from '@atxp/common';
|
|
3
|
+
export declare class BasePaymentMaker implements PaymentMaker {
|
|
4
|
+
private signingClient;
|
|
5
|
+
private account;
|
|
6
|
+
private logger;
|
|
7
|
+
constructor(baseRPCUrl: string, sourceSecretKey: `0x${string}`, logger?: Logger);
|
|
8
|
+
generateJWT: ({ paymentRequestId, codeChallenge }: {
|
|
9
|
+
paymentRequestId: string;
|
|
10
|
+
codeChallenge: string;
|
|
11
|
+
}) => Promise<string>;
|
|
12
|
+
makePayment: (amount: BigNumber, currency: string, receiver: string) => Promise<string>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=basePaymentMaker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basePaymentMaker.d.ts","sourceRoot":"","sources":["../src/basePaymentMaker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA+CtC,qBAAa,gBAAiB,YAAW,YAAY;IAEnD,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,MAAM,CAAS;gBAEX,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM;IAiB/E,WAAW,GAAS,qCAAmC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAC,KAAG,OAAO,CAAC,MAAM,CAAC,CA6BzH;IAED,WAAW,GAAU,QAAQ,SAAS,EAAE,UAAU,MAAM,EAAE,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAsC3F;CACF"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { ConsoleLogger } from '@atxp/common';
|
|
2
|
+
import { createWalletClient, http, parseEther, publicActions, encodeFunctionData, } from "viem";
|
|
3
|
+
import { privateKeyToAccount } from "viem/accounts";
|
|
4
|
+
import { base } from "viem/chains";
|
|
5
|
+
const USDC_CONTRACT_ADDRESS = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; // USDC on Base mainnet
|
|
6
|
+
const USDC_DECIMALS = 6;
|
|
7
|
+
const ERC20_ABI = [
|
|
8
|
+
{
|
|
9
|
+
constant: false,
|
|
10
|
+
inputs: [
|
|
11
|
+
{ name: "_to", type: "address" },
|
|
12
|
+
{ name: "_value", type: "uint256" },
|
|
13
|
+
],
|
|
14
|
+
name: "transfer",
|
|
15
|
+
outputs: [{ name: "", type: "bool" }],
|
|
16
|
+
type: "function",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"constant": true,
|
|
20
|
+
"inputs": [
|
|
21
|
+
{
|
|
22
|
+
"name": "_owner",
|
|
23
|
+
"type": "address"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"name": "balanceOf",
|
|
27
|
+
"outputs": [
|
|
28
|
+
{
|
|
29
|
+
"name": "balance",
|
|
30
|
+
"type": "uint256"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"payable": false,
|
|
34
|
+
"stateMutability": "view",
|
|
35
|
+
"type": "function"
|
|
36
|
+
}
|
|
37
|
+
];
|
|
38
|
+
export class BasePaymentMaker {
|
|
39
|
+
constructor(baseRPCUrl, sourceSecretKey, logger) {
|
|
40
|
+
this.generateJWT = async ({ paymentRequestId, codeChallenge }) => {
|
|
41
|
+
const headerObj = { alg: 'ES256K' }; // this value is specific to Base
|
|
42
|
+
const payloadObj = {
|
|
43
|
+
sub: this.account.address,
|
|
44
|
+
iss: 'accounts.atxp.ai',
|
|
45
|
+
aud: 'https://auth.atxp.ai',
|
|
46
|
+
iat: Math.floor(Date.now() / 1000),
|
|
47
|
+
exp: Math.floor(Date.now() / 1000) + 60 * 60,
|
|
48
|
+
...(codeChallenge ? { code_challenge: codeChallenge } : {}),
|
|
49
|
+
...(paymentRequestId ? { payment_request_id: paymentRequestId } : {}),
|
|
50
|
+
};
|
|
51
|
+
const header = Buffer.from(JSON.stringify(headerObj)).toString('base64url');
|
|
52
|
+
const payload = Buffer.from(JSON.stringify(payloadObj)).toString('base64url');
|
|
53
|
+
const message = `${header}.${payload}`;
|
|
54
|
+
// For Ethereum wallets, we need to use personal_sign format
|
|
55
|
+
const messageBytes = Buffer.from(message, 'utf8');
|
|
56
|
+
const signResult = await this.signingClient.signMessage({
|
|
57
|
+
account: this.account,
|
|
58
|
+
message: { raw: messageBytes },
|
|
59
|
+
});
|
|
60
|
+
// The paymcp server expects ES256K signatures as hex strings with 0x prefix
|
|
61
|
+
// The signResult from viem is already in hex format with 0x prefix (65 bytes)
|
|
62
|
+
// We encode the hex string itself (including 0x) as base64url
|
|
63
|
+
const signature = Buffer.from(signResult, 'utf8').toString('base64url');
|
|
64
|
+
return `${header}.${payload}.${signature}`;
|
|
65
|
+
};
|
|
66
|
+
this.makePayment = async (amount, currency, receiver) => {
|
|
67
|
+
currency = currency.toLowerCase();
|
|
68
|
+
if (currency !== 'usdc') {
|
|
69
|
+
throw new Error('Only usdc currency is supported; received ' + currency);
|
|
70
|
+
}
|
|
71
|
+
this.logger.info(`Making payment of ${amount} ${currency} to ${receiver} on Base`);
|
|
72
|
+
// Convert amount to USDC units (6 decimals) as BigInt
|
|
73
|
+
const amountInUSDCUnits = BigInt(amount.multipliedBy(10 ** USDC_DECIMALS).toFixed(0));
|
|
74
|
+
const data = encodeFunctionData({
|
|
75
|
+
abi: ERC20_ABI,
|
|
76
|
+
functionName: "transfer",
|
|
77
|
+
args: [receiver, amountInUSDCUnits],
|
|
78
|
+
});
|
|
79
|
+
const hash = await this.signingClient.sendTransaction({
|
|
80
|
+
chain: base,
|
|
81
|
+
account: this.account,
|
|
82
|
+
to: USDC_CONTRACT_ADDRESS,
|
|
83
|
+
data: data,
|
|
84
|
+
value: parseEther('0'),
|
|
85
|
+
});
|
|
86
|
+
// Wait for transaction confirmation with more blocks to ensure propagation
|
|
87
|
+
this.logger.info(`Waiting for transaction confirmation: ${hash}`);
|
|
88
|
+
const receipt = await this.signingClient.waitForTransactionReceipt({
|
|
89
|
+
hash: hash,
|
|
90
|
+
confirmations: 3 // Wait for 3 confirmations to ensure better propagation
|
|
91
|
+
});
|
|
92
|
+
if (receipt.status === 'reverted') {
|
|
93
|
+
throw new Error(`Transaction reverted: ${hash}`);
|
|
94
|
+
}
|
|
95
|
+
this.logger.info(`Transaction confirmed: ${hash} in block ${receipt.blockNumber}`);
|
|
96
|
+
return hash;
|
|
97
|
+
};
|
|
98
|
+
if (!baseRPCUrl) {
|
|
99
|
+
throw new Error('Base RPC URL is required');
|
|
100
|
+
}
|
|
101
|
+
if (!sourceSecretKey) {
|
|
102
|
+
throw new Error('Source secret key is required');
|
|
103
|
+
}
|
|
104
|
+
this.account = privateKeyToAccount(sourceSecretKey);
|
|
105
|
+
this.signingClient = createWalletClient({
|
|
106
|
+
account: this.account,
|
|
107
|
+
chain: base,
|
|
108
|
+
transport: http(baseRPCUrl),
|
|
109
|
+
}).extend(publicActions);
|
|
110
|
+
this.logger = logger ?? new ConsoleLogger();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=basePaymentMaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basePaymentMaker.js","sourceRoot":"","sources":["../src/basePaymentMaker.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,5 +4,7 @@ export * from './atxpFetcher.js';
|
|
|
4
4
|
export * from './solanaPaymentMaker.js';
|
|
5
5
|
export * from './solanaAccount.js';
|
|
6
6
|
export * from './atxpAccount.js';
|
|
7
|
+
export * from './baseAccount.js';
|
|
8
|
+
export * from './basePaymentMaker.js';
|
|
7
9
|
export * from './types.js';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,5 +4,7 @@ export * from './atxpFetcher.js';
|
|
|
4
4
|
export * from './solanaPaymentMaker.js';
|
|
5
5
|
export * from './solanaAccount.js';
|
|
6
6
|
export * from './atxpAccount.js';
|
|
7
|
+
export * from './baseAccount.js';
|
|
8
|
+
export * from './basePaymentMaker.js';
|
|
7
9
|
export * from './types.js';
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAC"}
|
|
@@ -37,7 +37,7 @@ export class SolanaPaymentMaker {
|
|
|
37
37
|
const addPriorityFee = ComputeBudgetProgram.setComputeUnitPrice({
|
|
38
38
|
microLamports: 20000,
|
|
39
39
|
});
|
|
40
|
-
this.logger.info(`Making payment of ${amount} ${currency} to ${receiver}`);
|
|
40
|
+
this.logger.info(`Making payment of ${amount} ${currency} to ${receiver} on Solana`);
|
|
41
41
|
const transaction = await createTransfer(this.connection, this.source.publicKey, {
|
|
42
42
|
amount: amount,
|
|
43
43
|
recipient: receiverKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solanaPaymentMaker.js","sourceRoot":"","sources":["../src/solanaPaymentMaker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,6DAA6D;AAC7D,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,OAAO,kBAAkB;IAK7B,YAAY,cAAsB,EAAE,eAAuB,EAAE,MAAe;QAY5E,gBAAW,GAAG,KAAK,EAAC,EAAC,gBAAgB,EAAE,aAAa,EAAoD,EAAmB,EAAE;YAC3H,yCAAyC;YACzC,qEAAqE;YACrE,sDAAsD;YACtD,MAAM,GAAG,GAAG;gBACV,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,SAAS;gBACd,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACxE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;aACtE,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,UAAU,YAAY,SAAS,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,gBAAgB,IAAI,EAAE,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;QAChH,CAAC,CAAA;QAED,gBAAW,GAAG,KAAK,EAAE,MAAiB,EAAE,QAAgB,EAAE,QAAgB,EAAmB,EAAE;YAC7F,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,QAAQ,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;YAE5C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,mBAAmB,CAAC;gBAClE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,oBAAoB,CAAC,mBAAmB,CAAC;gBAC9D,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,IAAI,QAAQ,OAAO,QAAQ,
|
|
1
|
+
{"version":3,"file":"solanaPaymentMaker.js","sourceRoot":"","sources":["../src/solanaPaymentMaker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,6DAA6D;AAC7D,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE5D,MAAM,OAAO,kBAAkB;IAK7B,YAAY,cAAsB,EAAE,eAAuB,EAAE,MAAe;QAY5E,gBAAW,GAAG,KAAK,EAAC,EAAC,gBAAgB,EAAE,aAAa,EAAoD,EAAmB,EAAE;YAC3H,yCAAyC;YACzC,qEAAqE;YACrE,sDAAsD;YACtD,MAAM,GAAG,GAAG;gBACV,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,SAAS;gBACd,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACxE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;aACtE,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,UAAU,YAAY,SAAS,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,gBAAgB,IAAI,EAAE,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC;QAChH,CAAC,CAAA;QAED,gBAAW,GAAG,KAAK,EAAE,MAAiB,EAAE,QAAgB,EAAE,QAAgB,EAAmB,EAAE;YAC7F,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,QAAQ,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;YAE5C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,mBAAmB,CAAC;gBAClE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,oBAAoB,CAAC,mBAAmB,CAAC;gBAC9D,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,IAAI,QAAQ,OAAO,QAAQ,YAAY,CAAC,CAAC;YAErF,MAAM,WAAW,GAAG,MAAM,cAAc,CACtC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB;gBACE,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,WAAW;gBACtB,QAAQ,EAAE,SAAS;aACpB,CACF,CAAC;YAEF,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACpC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAEhC,MAAM,eAAe,GAAG,MAAM,yBAAyB,CACrD,IAAI,CAAC,UAAU,EACf,WAAW,EACX,CAAC,IAAI,CAAC,MAAM,CAAC,CACd,CAAC;YACF,OAAO,eAAe,CAAC;QACzB,CAAC,CAAA;QAjEC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;IAC9C,CAAC;CAyDF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atxp/client",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"description": "ATXP Client - MCP client with OAuth authentication and payment processing",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"test": "vitest run"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@atxp/common": "0.2.
|
|
25
|
+
"@atxp/common": "0.2.9",
|
|
26
26
|
"@modelcontextprotocol/sdk": "^1.15.0",
|
|
27
27
|
"@solana/pay": "^0.2.5",
|
|
28
28
|
"@solana/web3.js": "^1.98.1",
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"bignumber.js": "^9.3.0",
|
|
31
31
|
"bs58": "^6.0.0",
|
|
32
32
|
"oauth4webapi": "^3.5.0",
|
|
33
|
-
"react-native-url-polyfill": "^2.0.0"
|
|
33
|
+
"react-native-url-polyfill": "^2.0.0",
|
|
34
|
+
"viem": "^2.34.0"
|
|
34
35
|
},
|
|
35
36
|
"peerDependencies": {
|
|
36
37
|
"expo-crypto": ">=14.0.0",
|