@atxp/base 0.10.6 → 0.10.8

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.
@@ -1,5 +1,5 @@
1
1
  import type { Account, PaymentMaker } from '@atxp/client';
2
- import type { AccountId, Source } from '@atxp/common';
2
+ import type { AccountId, Source, AuthorizeParams, AuthorizeResult } from '@atxp/common';
3
3
  import { LocalAccount } from 'viem';
4
4
  export declare class BaseAccount implements Account {
5
5
  private _accountId;
@@ -25,5 +25,9 @@ export declare class BaseAccount implements Account {
25
25
  * Base accounts don't support spend permissions, so this returns null.
26
26
  */
27
27
  createSpendPermission(_resourceUrl: string): Promise<string | null>;
28
+ /**
29
+ * Authorize a payment through the appropriate channel for Base accounts.
30
+ */
31
+ authorize(params: AuthorizeParams): Promise<AuthorizeResult>;
28
32
  }
29
33
  //# sourceMappingURL=baseAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseAccount.d.ts","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAO,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAA0C,YAAY,EAAE,MAAM,MAAM,CAAC;AAG5E,qBAAa,WAAY,YAAW,OAAO;IACzC,OAAO,CAAC,UAAU,CAAY;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAoB;gBAEvB,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAsBvD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAIxC;;;OAGG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQrC;;;OAGG;IACG,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAG1E"}
1
+ {"version":3,"file":"baseAccount.d.ts","sourceRoot":"","sources":["../src/baseAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAO,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAe,MAAM,cAAc,CAAC;AAIrG,OAAO,EAA0C,YAAY,EAAE,MAAM,MAAM,CAAC;AAG5E,qBAAa,WAAY,YAAW,OAAO;IACzC,OAAO,CAAC,UAAU,CAAY;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAoB;gBAEvB,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAsBvD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAIxC;;;OAGG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQrC;;;OAGG;IACG,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzE;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CAsCnE"}
@@ -1,3 +1,4 @@
1
+ import { BigNumber } from 'bignumber.js';
1
2
  import { privateKeyToAccount } from 'viem/accounts';
2
3
  import { BasePaymentMaker } from './basePaymentMaker.js';
3
4
  import { createWalletClient, http } from 'viem';
@@ -53,6 +54,42 @@ class BaseAccount {
53
54
  async createSpendPermission(_resourceUrl) {
54
55
  return null;
55
56
  }
57
+ /**
58
+ * Authorize a payment through the appropriate channel for Base accounts.
59
+ */
60
+ async authorize(params) {
61
+ const { protocol } = params;
62
+ switch (protocol) {
63
+ case 'x402': {
64
+ const { createPaymentHeader } = await import('x402/client');
65
+ if (!params.paymentRequirements) {
66
+ throw new Error('BaseAccount: x402 authorize requires paymentRequirements');
67
+ }
68
+ const reqs = params.paymentRequirements;
69
+ const x402Version = reqs.x402Version || 1;
70
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
71
+ const paymentHeader = await createPaymentHeader(this.getLocalAccount(), x402Version, reqs);
72
+ return { protocol, credential: paymentHeader };
73
+ }
74
+ case 'atxp': {
75
+ const destination = {
76
+ chain: 'base',
77
+ currency: 'USDC',
78
+ address: params.destination,
79
+ amount: new BigNumber(params.amount),
80
+ };
81
+ const result = await this.paymentMakers[0].makePayment([destination], params.memo || '');
82
+ if (!result) {
83
+ throw new Error('BaseAccount: payment execution returned no result');
84
+ }
85
+ return { protocol, credential: JSON.stringify({ transactionId: result.transactionId, chain: result.chain, currency: result.currency }) };
86
+ }
87
+ case 'mpp':
88
+ throw new Error('BaseAccount does not support MPP protocol');
89
+ default:
90
+ throw new Error(`BaseAccount: unsupported protocol '${protocol}'`);
91
+ }
92
+ }
56
93
  }
57
94
 
58
95
  export { BaseAccount };
@@ -1 +1 @@
1
- {"version":3,"file":"baseAccount.js","sources":["../src/baseAccount.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;MAOa,WAAW,CAAA;IAMtB,WAAA,CAAY,UAAkB,EAAE,eAAuB,EAAA;QACrD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;QAC7C;QACA,IAAI,CAAC,eAAe,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC;QAClD;AAEA,QAAA,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,eAAsB,CAAC;;QAG1D,IAAI,CAAC,UAAU,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA,CAAe;AAC7D,QAAA,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;AAC5B,SAAA,CAAC;QACF,IAAI,CAAC,aAAa,GAAG;AACnB,YAAA,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY;SACnD;IACH;AAEA;;AAEG;AACH,IAAA,MAAM,YAAY,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA;;;AAGG;IACH,eAAe,GAAA;QACb,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA;;AAEG;AACH,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,OAAO,CAAC;AACN,gBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;AAC7B,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,UAAU,EAAE;AACb,aAAA,CAAC;IACJ;AAEA;;;AAGG;IACH,MAAM,qBAAqB,CAAC,YAAoB,EAAA;AAC9C,QAAA,OAAO,IAAI;IACb;AACD;;;;"}
1
+ {"version":3,"file":"baseAccount.js","sources":["../src/baseAccount.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Account, PaymentMaker, AccountId, Source } from '@atxp/common';
1
+ import type { Account, PaymentMaker, AccountId, Source, AuthorizeParams, AuthorizeResult } from '@atxp/common';
2
2
  import { type MainWalletProvider } from './mainWalletPaymentMaker.js';
3
3
  import { SpendPermission, Eip1193Provider } from './types.js';
4
4
  import { ICache } from './cache.js';
@@ -40,5 +40,9 @@ export declare class BaseAppAccount implements Account {
40
40
  * BaseAppAccount doesn't support spend permissions, so this returns null.
41
41
  */
42
42
  createSpendPermission(_resourceUrl: string): Promise<string | null>;
43
+ /**
44
+ * Authorize a payment through the appropriate channel for Base browser accounts.
45
+ */
46
+ authorize(params: AuthorizeParams): Promise<AuthorizeResult>;
43
47
  }
44
48
  //# sourceMappingURL=baseAppAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseAppAccount.d.ts","sourceRoot":"","sources":["../src/baseAppAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI7E,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAI9F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAsD,MAAM,YAAY,CAAC;AACxF,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAiB,MAAM,EAAE,MAAM,cAAc,CAAC;AAKrD,qBAAa,cAAe,YAAW,OAAO;IAC5C,OAAO,CAAC,UAAU,CAAY;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IACpD,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,MAAM,CAAC,UAAU;WAIZ,UAAU,CAAC,MAAM,EAAE;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,eAAe,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,cAAc,CAAC;IAgE1B,OAAO,CAAC,MAAM,CAAC,4BAA4B;mBAkBtB,iBAAiB;gBAsBpC,eAAe,EAAE,eAAe,GAAG,IAAI,EACvC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,EACjD,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,kBAAkB,EAC7B,OAAO,GAAE,MAAgB;IA4B3B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAIlC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBrC;;;;OAIG;IAEH,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;IAclF;;;OAGG;IACG,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAG1E"}
1
+ {"version":3,"file":"baseAppAccount.d.ts","sourceRoot":"","sources":["../src/baseAppAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAe,MAAM,cAAc,CAAC;AAK5H,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAI9F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAsD,MAAM,YAAY,CAAC;AACxF,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAiB,MAAM,EAAE,MAAM,cAAc,CAAC;AAKrD,qBAAa,cAAe,YAAW,OAAO;IAC5C,OAAO,CAAC,UAAU,CAAY;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IACpD,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,MAAM,CAAC,UAAU;WAIZ,UAAU,CAAC,MAAM,EAAE;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,eAAe,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,cAAc,CAAC;IAgE1B,OAAO,CAAC,MAAM,CAAC,4BAA4B;mBAkBtB,iBAAiB;gBAsBpC,eAAe,EAAE,eAAe,GAAG,IAAI,EACvC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,EACjD,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,kBAAkB,EAC7B,OAAO,GAAE,MAAgB;IA4B3B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAIlC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBrC;;;;OAIG;IAEH,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;IAclF;;;OAGG;IACG,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzE;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;CA0BnE"}
@@ -1,4 +1,5 @@
1
1
  import { ConsoleLogger, BrowserCache, ChainEnum, WalletTypeEnum } from '@atxp/common';
2
+ import { BigNumber } from 'bignumber.js';
2
3
  import { getBaseUSDCAddress } from './baseConstants.js';
3
4
  import { BaseAppPaymentMaker } from './baseAppPaymentMaker.js';
4
5
  import { MainWalletPaymentMaker } from './mainWalletPaymentMaker.js';
@@ -163,6 +164,34 @@ class BaseAppAccount {
163
164
  async createSpendPermission(_resourceUrl) {
164
165
  return null;
165
166
  }
167
+ /**
168
+ * Authorize a payment through the appropriate channel for Base browser accounts.
169
+ */
170
+ async authorize(params) {
171
+ const { protocol } = params;
172
+ switch (protocol) {
173
+ case 'atxp': {
174
+ const chain = this.chainId === 84532 ? ChainEnum.BaseSepolia : ChainEnum.Base;
175
+ const destination = {
176
+ chain,
177
+ currency: 'USDC',
178
+ address: params.destination,
179
+ amount: new BigNumber(params.amount),
180
+ };
181
+ const result = await this.paymentMakers[0].makePayment([destination], params.memo || '');
182
+ if (!result) {
183
+ throw new Error('BaseAppAccount: payment execution returned no result');
184
+ }
185
+ return { protocol, credential: JSON.stringify(result) };
186
+ }
187
+ case 'x402':
188
+ throw new Error('BaseAppAccount does not support x402 protocol');
189
+ case 'mpp':
190
+ throw new Error('BaseAppAccount does not support MPP protocol');
191
+ default:
192
+ throw new Error(`BaseAppAccount: unsupported protocol '${protocol}'`);
193
+ }
194
+ }
166
195
  }
167
196
 
168
197
  export { BaseAppAccount };
@@ -1 +1 @@
1
- {"version":3,"file":"baseAppAccount.js","sources":["../src/baseAppAccount.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAcA,MAAM,iBAAiB,GAAG,GAAG;AAC7B,MAAM,sBAAsB,GAAG,CAAC;MAEnB,cAAc,CAAA;IAOjB,OAAO,UAAU,CAAC,iBAAyB,EAAA;QACjD,OAAO,CAAA,qBAAA,EAAwB,iBAAiB,CAAA,CAAE;IACpD;AAEA,IAAA,aAAa,UAAU,CAAC,MASrB,EAAA;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,aAAa,EAAE;QACnD,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;;AAG1C,QAAA,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC;;;AAI/C,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAC7D;QAAE,OAAO,KAAK,EAAE;;AAEd,YAAA,MAAM,CAAC,IAAI,CAAC,iEAAiE,KAAK,CAAA,CAAE,CAAC;QACvF;;QAGA,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,CAAA,oCAAA,EAAuC,MAAM,CAAC,aAAa,CAAA,CAAE,CAAC;AAC1E,YAAA,OAAO,IAAI,cAAc,CACvB,IAAI;AACJ,YAAA,IAAI;YACJ,MAAM,EACN,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,QAAQ,EACf,OAAO,CACR;QACH;;QAGA,MAAM,SAAS,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,YAAY,EAAE;AACrD,QAAA,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,SAAS,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC;;QAGtD,MAAM,YAAY,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC;QACvE,IAAI,YAAY,EAAE;YAChB,MAAM,oBAAoB,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC;AAC3F,YAAA,OAAO,IAAI,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;QACjH;AAEA,QAAA,MAAM,UAAU,GAAG,kBAAkB,EAAE;QACvC,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,CAAA,4BAAA,EAA+B,WAAW,CAAC,OAAO,CAAA,CAAE,CAAC;AACjE,QAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,CAAA,uBAAA,EAA0B,WAAW,CAAC,OAAO,CAAA,CAAE,CAAC;AAE5D,QAAA,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC;YAC9C,OAAO,EAAE,MAAM,CAAC,aAAa;YAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;AAC5B,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,iBAAiB;AACjD,YAAA,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,sBAAsB;YAC5D,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC1B,SAAA,CAAC;;QAGF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,UAAU,EAAE,UAAU,EAAC,CAAC;AAE7C,QAAA,OAAO,IAAI,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;IAC3F;AAEQ,IAAA,OAAO,4BAA4B,CACzC,eAAkC,EAClC,QAAgB,EAAA;QAEhB,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChD,QAAA,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,IAAI;;AAG5B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC/E,QAAA,IAAI,aAAa,IAAI,GAAG,EAAE;AACxB,YAAA,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;AAChC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,UAAU;IACnB;AAEQ,IAAA,aAAa,iBAAiB,CACpC,WAAiC,EAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAC1D,YAAA,KAAK,EAAE,CAAC;oBACN,EAAE,EAAE,WAAW,CAAC,OAAO;AACvB,oBAAA,KAAK,EAAE,EAAE;AACT,oBAAA,IAAI,EAAE;iBACP,CAAC;AACF,YAAA,SAAS,EAAE;AACZ,SAAA,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,2BAA2B,CAAC;AACnE,YAAA,IAAI,EAAE;AACP,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,CAAA,yCAAA,EAA4C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA,CAAE,CAAC;QACxF;IACF;AAEA,IAAA,WAAA,CACE,eAAuC,EACvC,oBAAiD,EACjD,MAAe,EACf,iBAA0B,EAC1B,QAA6B,EAC7B,OAAA,GAAkB,IAAI,CAAC,EAAE,EAAA;AAEzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;QACtB,IAAI,oBAAoB,EAAE;;YAExB,IAAI,CAAC,eAAe,EAAE;AACpB,gBAAA,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC;YAC3E;;YAEA,IAAI,CAAC,UAAU,GAAG,CAAA,KAAA,EAAQ,oBAAoB,CAAC,OAAO,EAAe;AACrE,YAAA,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;YAChD,IAAI,CAAC,aAAa,GAAG;gBACnB,IAAI,mBAAmB,CAAC,eAAe,EAAE,oBAAoB,EAAE,MAAM,EAAE,OAAO;aAC/E;QACH;aAAO;;AAEL,YAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE;AACnC,gBAAA,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC;YACvF;;AAEA,YAAA,IAAI,CAAC,UAAU,GAAG,CAAA,KAAA,EAAQ,iBAAiB,EAAe;AAC1D,YAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB;YAC1C,IAAI,CAAC,aAAa,GAAG;gBACnB,IAAI,sBAAsB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO;aACxE;QACH;IACF;AAEA;;AAEG;AACH,IAAA,MAAM,YAAY,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA,IAAA,MAAM,UAAU,GAAA;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,IAAI,IAAI,CAAC,iBAAiB;QAC5E,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,EAAE;QACX;;AAGA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,GAAG,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI;AAE7E,QAAA,OAAO,CAAC;gBACN,OAAO;gBACP,KAAK;AACL,gBAAA,UAAU,EAAE,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC;AAC/E,aAAA,CAAC;IACJ;AAEA;;;;AAIG;AAEH,IAAA,OAAO,kBAAkB,CAAC,iBAAyB,EAAE,KAAsB,EAAA;;QAEzE,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE;;AAEvC,YAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,gBAAA,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC;YACvG;YACA,KAAK,GAAG,YAAY;QACtB;QAEA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAClD;AAEA;;;AAGG;IACH,MAAM,qBAAqB,CAAC,YAAoB,EAAA;AAC9C,QAAA,OAAO,IAAI;IACb;AACD;;;;"}
1
+ {"version":3,"file":"baseAppAccount.js","sources":["../src/baseAppAccount.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var common = require('@atxp/common');
4
+ var bignumber_js = require('bignumber.js');
4
5
  var chains = require('viem/chains');
5
6
  var viem = require('viem');
6
7
  var accounts = require('viem/accounts');
7
8
  var accountAbstraction = require('viem/account-abstraction');
8
9
  var client = require('@atxp/client');
9
- var bignumber_js = require('bignumber.js');
10
10
 
11
11
  const USDC_CONTRACT_ADDRESS_BASE = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; // USDC on Base mainnet
12
12
  const USDC_CONTRACT_ADDRESS_BASE_SEPOLIA = "0x036CbD53842c5426634e7929541eC2318f3dCF7e"; // USDC on Base Sepolia testnet
@@ -5504,6 +5504,34 @@ class BaseAppAccount {
5504
5504
  async createSpendPermission(_resourceUrl) {
5505
5505
  return null;
5506
5506
  }
5507
+ /**
5508
+ * Authorize a payment through the appropriate channel for Base browser accounts.
5509
+ */
5510
+ async authorize(params) {
5511
+ const { protocol } = params;
5512
+ switch (protocol) {
5513
+ case 'atxp': {
5514
+ const chain = this.chainId === 84532 ? common.ChainEnum.BaseSepolia : common.ChainEnum.Base;
5515
+ const destination = {
5516
+ chain,
5517
+ currency: 'USDC',
5518
+ address: params.destination,
5519
+ amount: new bignumber_js.BigNumber(params.amount),
5520
+ };
5521
+ const result = await this.paymentMakers[0].makePayment([destination], params.memo || '');
5522
+ if (!result) {
5523
+ throw new Error('BaseAppAccount: payment execution returned no result');
5524
+ }
5525
+ return { protocol, credential: JSON.stringify(result) };
5526
+ }
5527
+ case 'x402':
5528
+ throw new Error('BaseAppAccount does not support x402 protocol');
5529
+ case 'mpp':
5530
+ throw new Error('BaseAppAccount does not support MPP protocol');
5531
+ default:
5532
+ throw new Error(`BaseAppAccount: unsupported protocol '${protocol}'`);
5533
+ }
5534
+ }
5507
5535
  }
5508
5536
 
5509
5537
  // Helper function to convert to base64url that works in both Node.js and browsers
@@ -5743,6 +5771,42 @@ class BaseAccount {
5743
5771
  async createSpendPermission(_resourceUrl) {
5744
5772
  return null;
5745
5773
  }
5774
+ /**
5775
+ * Authorize a payment through the appropriate channel for Base accounts.
5776
+ */
5777
+ async authorize(params) {
5778
+ const { protocol } = params;
5779
+ switch (protocol) {
5780
+ case 'x402': {
5781
+ const { createPaymentHeader } = await import('x402/client');
5782
+ if (!params.paymentRequirements) {
5783
+ throw new Error('BaseAccount: x402 authorize requires paymentRequirements');
5784
+ }
5785
+ const reqs = params.paymentRequirements;
5786
+ const x402Version = reqs.x402Version || 1;
5787
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5788
+ const paymentHeader = await createPaymentHeader(this.getLocalAccount(), x402Version, reqs);
5789
+ return { protocol, credential: paymentHeader };
5790
+ }
5791
+ case 'atxp': {
5792
+ const destination = {
5793
+ chain: 'base',
5794
+ currency: 'USDC',
5795
+ address: params.destination,
5796
+ amount: new bignumber_js.BigNumber(params.amount),
5797
+ };
5798
+ const result = await this.paymentMakers[0].makePayment([destination], params.memo || '');
5799
+ if (!result) {
5800
+ throw new Error('BaseAccount: payment execution returned no result');
5801
+ }
5802
+ return { protocol, credential: JSON.stringify({ transactionId: result.transactionId, chain: result.chain, currency: result.currency }) };
5803
+ }
5804
+ case 'mpp':
5805
+ throw new Error('BaseAccount does not support MPP protocol');
5806
+ default:
5807
+ throw new Error(`BaseAccount: unsupported protocol '${protocol}'`);
5808
+ }
5809
+ }
5746
5810
  }
5747
5811
 
5748
5812
  Object.defineProperty(exports, "ATXPAccount", {