@bankofai/x402 0.5.2-beta.0 → 0.5.3
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/client/policies.d.ts.map +1 -1
- package/dist/client/policies.js +2 -22
- package/dist/client/policies.js.map +1 -1
- package/dist/client/x402Client.d.ts +0 -12
- package/dist/client/x402Client.d.ts.map +1 -1
- package/dist/client/x402Client.js +0 -6
- package/dist/client/x402Client.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/mechanisms/exactGasfree.d.ts +1 -4
- package/dist/mechanisms/exactGasfree.d.ts.map +1 -1
- package/dist/mechanisms/exactGasfree.js +35 -20
- package/dist/mechanisms/exactGasfree.js.map +1 -1
- package/package.json +1 -1
- package/dist/mechanisms/gasfree.d.ts +0 -8
- package/dist/mechanisms/gasfree.d.ts.map +0 -1
- package/dist/mechanisms/gasfree.js +0 -125
- package/dist/mechanisms/gasfree.js.map +0 -1
- package/dist/wallet/agentWalletAdapter.d.ts +0 -31
- package/dist/wallet/agentWalletAdapter.d.ts.map +0 -1
- package/dist/wallet/agentWalletAdapter.js +0 -46
- package/dist/wallet/agentWalletAdapter.js.map +0 -1
- package/dist/wallet/evmPrivateKeyWallet.d.ts +0 -14
- package/dist/wallet/evmPrivateKeyWallet.d.ts.map +0 -1
- package/dist/wallet/evmPrivateKeyWallet.js +0 -37
- package/dist/wallet/evmPrivateKeyWallet.js.map +0 -1
- package/dist/wallet/index.d.ts +0 -8
- package/dist/wallet/index.d.ts.map +0 -1
- package/dist/wallet/index.js +0 -7
- package/dist/wallet/index.js.map +0 -1
- package/dist/wallet/tronPrivateKeyWallet.d.ts +0 -15
- package/dist/wallet/tronPrivateKeyWallet.d.ts.map +0 -1
- package/dist/wallet/tronPrivateKeyWallet.js +0 -49
- package/dist/wallet/tronPrivateKeyWallet.js.map +0 -1
- package/dist/wallet/types.d.ts +0 -22
- package/dist/wallet/types.d.ts.map +0 -1
- package/dist/wallet/types.js +0 -2
- package/dist/wallet/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/client/policies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAC3D,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAIxB,KAAK,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/client/policies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,uBAAwB,YAAW,aAAa;IAC3D,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAIxB,KAAK,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;CA8CjF"}
|
package/dist/client/policies.js
CHANGED
|
@@ -43,25 +43,8 @@ export class SufficientBalancePolicy {
|
|
|
43
43
|
continue;
|
|
44
44
|
}
|
|
45
45
|
let balance;
|
|
46
|
-
let extraNeededOverride = null;
|
|
47
|
-
let balanceAddress;
|
|
48
|
-
const mechanism = this.client.resolveMechanism(req.scheme, req.network);
|
|
49
|
-
if (mechanism?.resolveBalanceCheckContext) {
|
|
50
|
-
try {
|
|
51
|
-
const context = await mechanism.resolveBalanceCheckContext(req);
|
|
52
|
-
if (context?.address) {
|
|
53
|
-
balanceAddress = context.address;
|
|
54
|
-
if (typeof context.extraNeeded === 'bigint') {
|
|
55
|
-
extraNeededOverride = context.extraNeeded;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
// Failed to resolve scheme-specific balance context; fallback to signer address.
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
46
|
try {
|
|
64
|
-
balance = await signer.checkBalance(req.asset, req.network
|
|
47
|
+
balance = await signer.checkBalance(req.asset, req.network);
|
|
65
48
|
}
|
|
66
49
|
catch {
|
|
67
50
|
// Signer cannot query this network; keep the requirement.
|
|
@@ -69,10 +52,7 @@ export class SufficientBalancePolicy {
|
|
|
69
52
|
continue;
|
|
70
53
|
}
|
|
71
54
|
let needed = BigInt(req.amount);
|
|
72
|
-
if (
|
|
73
|
-
needed += extraNeededOverride;
|
|
74
|
-
}
|
|
75
|
-
else if (req.extra?.fee?.feeAmount) {
|
|
55
|
+
if (req.extra?.fee?.feeAmount) {
|
|
76
56
|
needed += BigInt(req.extra.fee.feeAmount);
|
|
77
57
|
}
|
|
78
58
|
const decimals = getDecimals(req);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/client/policies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK7C,SAAS,WAAW,CAAC,GAAwB;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,uBAAuB;IAC1B,MAAM,CAAa;IAE3B,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,YAAmC;QAC7C,MAAM,UAAU,GAA0B,EAAE,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,iEAAiE;gBACjE,+DAA+D;gBAC/D,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,OAAe,CAAC;YACpB,IAAI,
|
|
1
|
+
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/client/policies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK7C,SAAS,WAAW,CAAC,GAAwB;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,uBAAuB;IAC1B,MAAM,CAAa;IAE3B,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,YAAmC;QAC7C,MAAM,UAAU,GAA0B,EAAE,CAAC;QAC7C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,iEAAiE;gBACjE,+DAA+D;gBAC/D,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;gBAC1D,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;YACD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,EAAE,IAAI,QAAQ,CAAC;YAC/B,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CACT,UAAU,MAAM,OAAO,GAAG,CAAC,OAAO,aAAa,QAAQ,cAAc,OAAO,OAAO,CACpF,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,UAAU,MAAM,OAAO,GAAG,CAAC,OAAO,aAAa,QAAQ,aAAa,OAAO,YAAY,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -15,14 +15,6 @@ export interface ClientMechanism {
|
|
|
15
15
|
* Used by X402Client to auto-register balance-aware policies.
|
|
16
16
|
*/
|
|
17
17
|
getSigner?(): ClientSigner;
|
|
18
|
-
/**
|
|
19
|
-
* Resolve a scheme-specific balance check context.
|
|
20
|
-
* When provided, policies can use the returned address and extra required amount.
|
|
21
|
-
*/
|
|
22
|
-
resolveBalanceCheckContext?(requirements: PaymentRequirements): Promise<{
|
|
23
|
-
address: string;
|
|
24
|
-
extraNeeded?: bigint;
|
|
25
|
-
} | null>;
|
|
26
18
|
/** Create payment payload */
|
|
27
19
|
createPaymentPayload(requirements: PaymentRequirements, resource: string, extensions?: {
|
|
28
20
|
paymentPermitContext?: PaymentPermitContext;
|
|
@@ -104,10 +96,6 @@ export declare class X402Client {
|
|
|
104
96
|
* @returns this for method chaining
|
|
105
97
|
*/
|
|
106
98
|
registerGasFree(signer: ClientSigner, clients?: Record<string, GasFreeAPIClient>): X402Client;
|
|
107
|
-
/**
|
|
108
|
-
* Resolve a mechanism instance for scheme+network.
|
|
109
|
-
*/
|
|
110
|
-
resolveMechanism(scheme: string, network: string): ClientMechanism | null;
|
|
111
99
|
/**
|
|
112
100
|
* Select payment requirements from available options
|
|
113
101
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402Client.d.ts","sourceRoot":"","sources":["../../src/client/x402Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,MAAM,IAAI,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,IAAI,YAAY,CAAC;IAE3B
|
|
1
|
+
{"version":3,"file":"x402Client.d.ts","sourceRoot":"","sources":["../../src/client/x402Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,12 +68,6 @@ export class X402Client {
|
|
|
68
68
|
registerGasFree(signer, clients = {}) {
|
|
69
69
|
return this.register('tron:*', new ExactGasFreeClientMechanism(signer, clients));
|
|
70
70
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Resolve a mechanism instance for scheme+network.
|
|
73
|
-
*/
|
|
74
|
-
resolveMechanism(scheme, network) {
|
|
75
|
-
return this.findMechanism(scheme, network);
|
|
76
|
-
}
|
|
77
71
|
/**
|
|
78
72
|
* Select payment requirements from available options
|
|
79
73
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402Client.js","sourceRoot":"","sources":["../../src/client/x402Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAO5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"x402Client.js","sourceRoot":"","sources":["../../src/client/x402Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAO5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAiFvD;;;;GAIG;AACH,MAAM,OAAO,UAAU;IACb,UAAU,GAAqB,EAAE,CAAC;IAClC,QAAQ,GAAoB,EAAE,CAAC;IAC/B,aAAa,CAA0B;IAE/C,YAAY,OAAoD;QAC9D,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,MAAkE;QAC/E,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,UAAU;YAC3C,CAAC,CAAC,IAAK,MAAqD,CAAC,IAAI,CAAC;YAClE,CAAC,CAAC,MAAM,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAc,EAAE,OAAe;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,OAAO,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,cAAsB,EAAE,SAA0B;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,cAAc;YACvB,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,MAAoB,EAAE,UAA4C,EAAE;QAClF,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,yBAAyB,CAC7B,OAA8B,EAC9B,OAAmC;QAEnC,IAAI,UAAU,GAAG,OAAO,CAAC;QAEzB,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACtC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAEtF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,uBAAuB,CAAC,yCAAyC,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,6BAA6B,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,oBAAoB,CACxB,YAAiC,EACjC,QAAgB,EAChB,UAA4D;QAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,uBAAuB,CAC/B,sCAAsC,YAAY,CAAC,MAAM,aAAa,YAAY,CAAC,OAAO,EAAE,CAC7F,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,OAA8B,EAC9B,QAAgB,EAChB,UAAoC,EACpC,QAAsC;QAEtC,MAAM,YAAY,GAAG,QAAQ;YAC3B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnB,CAAC,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAc,EAAE,OAAe;QACnD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrF,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAAe,EAAE,OAAe;QACnD,IAAI,OAAO,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,OAAe;QACvC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,uCAAuC;AACvC,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW5C,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,QAAQ;;;;;;;;CAQX,CAAC;AAEX,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3D,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,uCAAuC;AACvC,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW5C,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,QAAQ;;;;;;;;CAQX,CAAC;AAEX,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3D,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/D,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI3D,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIxD,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI/C,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIhD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,4BAA4B;AAC5B,eAAO,MAAM,iBAAiB,uCAAuC,CAAC;AAEtE,2BAA2B;AAC3B,eAAO,MAAM,gBAAgB,+CAA+C,CAAC;AAE7E;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAelD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUxE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItD"}
|
package/dist/config.js
CHANGED
|
@@ -35,7 +35,8 @@ export const PAYMENT_PERMIT_ADDRESSES = {
|
|
|
35
35
|
};
|
|
36
36
|
/** GasFreeController contract addresses */
|
|
37
37
|
export const GASFREE_CONTROLLER_ADDRESSES = {
|
|
38
|
-
|
|
38
|
+
// Source: @gasfree/gasfree-sdk (TronGasFree assembleGasFreeTransactionJson) for chainId 728126428
|
|
39
|
+
'tron:mainnet': 'TFFAMQLZybALaLb4uxHA9RBE7pxhUAjF3U',
|
|
39
40
|
'tron:shasta': 'TQghdCeVDA6CnuNVTUhfaAyPfTetqZWNpm',
|
|
40
41
|
'tron:nile': 'THQGuFzL87ZqhxkgqYEryRAd7gqFqL5rdc',
|
|
41
42
|
};
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,8 @@ export declare class ExactGasFreeClientMechanism implements ClientMechanism {
|
|
|
5
5
|
private clients;
|
|
6
6
|
constructor(signer: ClientSigner, clients?: Record<string, GasFreeAPIClient>);
|
|
7
7
|
private getApiClient;
|
|
8
|
+
private clampDeadline;
|
|
8
9
|
scheme(): string;
|
|
9
|
-
resolveBalanceCheckContext(requirements: PaymentRequirements): Promise<{
|
|
10
|
-
address: string;
|
|
11
|
-
extraNeeded?: bigint;
|
|
12
|
-
} | null>;
|
|
13
10
|
createPaymentPayload(requirements: PaymentRequirements, resource: string, extensions?: Record<string, unknown>): Promise<PaymentPayload>;
|
|
14
11
|
}
|
|
15
12
|
//# sourceMappingURL=exactGasfree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exactGasfree.d.ts","sourceRoot":"","sources":["../../src/mechanisms/exactGasfree.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,mBAAmB,EAGnB,eAAe,EACf,YAAY,EAIb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAiB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAuBtE,qBAAa,2BAA4B,YAAW,eAAe;IACjE,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAmC;gBAEtC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAM;IAKhF,OAAO,CAAC,YAAY;IAQpB,
|
|
1
|
+
{"version":3,"file":"exactGasfree.d.ts","sourceRoot":"","sources":["../../src/mechanisms/exactGasfree.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,mBAAmB,EAGnB,eAAe,EACf,YAAY,EAIb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAiB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAuBtE,qBAAa,2BAA4B,YAAW,eAAe;IACjE,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAmC;gBAEtC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAM;IAKhF,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,aAAa;IAgCrB,MAAM,IAAI,MAAM;IAIV,oBAAoB,CACxB,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC;CA6K3B"}
|
|
@@ -27,26 +27,33 @@ export class ExactGasFreeClientMechanism {
|
|
|
27
27
|
}
|
|
28
28
|
throw new Error(`GasFree is not configured for network: ${network}`);
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
if (!gasfreeAddress) {
|
|
39
|
-
return null;
|
|
30
|
+
clampDeadline(network, deadlineSeconds) {
|
|
31
|
+
const now = Math.floor(Date.now() / 1000);
|
|
32
|
+
let minDelta = 0;
|
|
33
|
+
let maxDelta = Number.POSITIVE_INFINITY;
|
|
34
|
+
if (network === 'tron:mainnet') {
|
|
35
|
+
// GasFree mainnet bounds: >= 50s, <= 600s. We add 5s to min and subtract 5s from max.
|
|
36
|
+
minDelta = 55;
|
|
37
|
+
maxDelta = 595;
|
|
40
38
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
else {
|
|
40
|
+
// Non-mainnet bounds: >= 50s, <= 3600s. We add 5s to min and subtract 5s from max.
|
|
41
|
+
minDelta = 55;
|
|
42
|
+
maxDelta = 3595;
|
|
43
|
+
}
|
|
44
|
+
const minDeadline = now + minDelta;
|
|
45
|
+
const maxDeadline = now + maxDelta;
|
|
46
|
+
if (deadlineSeconds < minDeadline) {
|
|
47
|
+
throw new Error(`GasFree deadline too soon for ${network}: ${deadlineSeconds} < ${minDeadline}`);
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
if (deadlineSeconds > maxDeadline) {
|
|
50
|
+
console.warn('[GASFREE SIGN] deadline clamped', { network, from: deadlineSeconds, to: maxDeadline });
|
|
51
|
+
return maxDeadline;
|
|
52
|
+
}
|
|
53
|
+
return deadlineSeconds;
|
|
54
|
+
}
|
|
55
|
+
scheme() {
|
|
56
|
+
return 'exact_gasfree';
|
|
50
57
|
}
|
|
51
58
|
async createPaymentPayload(requirements, resource, extensions) {
|
|
52
59
|
const chainId = getChainId(requirements.network);
|
|
@@ -116,7 +123,9 @@ export class ExactGasFreeClientMechanism {
|
|
|
116
123
|
throw new Error(`Asset ${requirements.asset} not found in GasFree account ${gasfreeAddress}.`);
|
|
117
124
|
}
|
|
118
125
|
}
|
|
119
|
-
const
|
|
126
|
+
const deadlineRaw = extensions?.paymentPermitContext?.meta?.validBefore ||
|
|
127
|
+
Math.floor(Date.now() / 1000) + 3600;
|
|
128
|
+
const deadline = this.clampDeadline(requirements.network, Number(deadlineRaw));
|
|
120
129
|
const gasFree = new TronGasFree({ chainId });
|
|
121
130
|
const addressConverter = new TronAddressConverter();
|
|
122
131
|
// 5. Sign TIP-712 typed data
|
|
@@ -146,6 +155,11 @@ export class ExactGasFreeClientMechanism {
|
|
|
146
155
|
user: requireEvmAddress(message.user, 'user', addressConverter),
|
|
147
156
|
receiver: requireEvmAddress(message.receiver, 'receiver', addressConverter),
|
|
148
157
|
};
|
|
158
|
+
console.debug('[GASFREE SIGN] network', requirements.network, 'chainId', chainId);
|
|
159
|
+
console.debug('[GASFREE SIGN] verifyingContract raw', domain.verifyingContract);
|
|
160
|
+
console.debug('[GASFREE SIGN] signer', userAddress);
|
|
161
|
+
console.debug('[GASFREE SIGN] domain', JSON.stringify(signingDomain));
|
|
162
|
+
console.debug('[GASFREE SIGN] message', JSON.stringify(signingMessage));
|
|
149
163
|
const signature = await this.signer.signTypedData(signingDomain, types, signingMessage, GASFREE_PRIMARY_TYPE);
|
|
150
164
|
// 6. Build PaymentPermit structure
|
|
151
165
|
const paymentPermit = {
|
|
@@ -168,7 +182,7 @@ export class ExactGasFreeClientMechanism {
|
|
|
168
182
|
feeAmount: maxFee,
|
|
169
183
|
},
|
|
170
184
|
};
|
|
171
|
-
|
|
185
|
+
const payload = {
|
|
172
186
|
x402Version: 2,
|
|
173
187
|
resource: { url: resource },
|
|
174
188
|
accepted: requirements,
|
|
@@ -182,6 +196,7 @@ export class ExactGasFreeClientMechanism {
|
|
|
182
196
|
scheme: 'exact_gasfree',
|
|
183
197
|
},
|
|
184
198
|
};
|
|
199
|
+
return payload;
|
|
185
200
|
}
|
|
186
201
|
}
|
|
187
202
|
//# sourceMappingURL=exactGasfree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exactGasfree.js","sourceRoot":"","sources":["../../src/mechanisms/exactGasfree.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;AACnC,OAAO,EAOL,oBAAoB,EACpB,UAAU,GAEX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvE,SAAS,iBAAiB,CACxB,GAAY,EACZ,SAAiB,EACjB,SAA+B;IAE/B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mCAAmC,SAAS,wBAAwB,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,uCAAuC,SAAS,YAAY,GAAG,iBAAiB,CACjF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,2BAA2B;IAC9B,MAAM,CAAe;IACrB,OAAO,CAAmC;IAElD,YAAY,MAAoB,EAAE,UAA4C,EAAE;QAC9E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,YAAY,CAAC,OAAe;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;
|
|
1
|
+
{"version":3,"file":"exactGasfree.js","sourceRoot":"","sources":["../../src/mechanisms/exactGasfree.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PaymentPayload, PaymentRequirements, ClientMechanism, ClientSigner } from '../index.js';
|
|
2
|
-
export declare class ExactGasFreeClientMechanism implements ClientMechanism {
|
|
3
|
-
private signer;
|
|
4
|
-
constructor(signer: ClientSigner);
|
|
5
|
-
scheme(): string;
|
|
6
|
-
createPaymentPayload(requirements: PaymentRequirements, resource: string, extensions?: Record<string, unknown>): Promise<PaymentPayload>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=gasfree.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gasfree.d.ts","sourceRoot":"","sources":["../../src/mechanisms/gasfree.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,mBAAmB,EAGnB,eAAe,EACf,YAAY,EAOb,MAAM,aAAa,CAAC;AAIrB,qBAAa,0BAA2B,YAAW,eAAe;IAChE,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAIhC,MAAM,IAAI,MAAM;IAIV,oBAAoB,CACxB,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC;CA4H3B"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { TronGasFree } from '@gasfree/gasfree-sdk';
|
|
2
|
-
import { GASFREE_PRIMARY_TYPE, getChainId, getGasFreeApiBaseUrl, getGasFreeApiKey, getGasFreeApiSecret, } from '../index.js';
|
|
3
|
-
import { GasFreeAPIClient } from '../utils/gasfree.js';
|
|
4
|
-
import { findByAddress } from '../tokens.js';
|
|
5
|
-
export class GasFreeTronClientMechanism {
|
|
6
|
-
signer;
|
|
7
|
-
constructor(signer) {
|
|
8
|
-
this.signer = signer;
|
|
9
|
-
}
|
|
10
|
-
scheme() {
|
|
11
|
-
return 'gasfree_exact';
|
|
12
|
-
}
|
|
13
|
-
async createPaymentPayload(requirements, resource, extensions) {
|
|
14
|
-
const chainId = getChainId(requirements.network);
|
|
15
|
-
const apiBaseUrl = getGasFreeApiBaseUrl(requirements.network);
|
|
16
|
-
const apiKey = getGasFreeApiKey();
|
|
17
|
-
const apiSecret = getGasFreeApiSecret();
|
|
18
|
-
const userAddress = await this.signer.getAddress();
|
|
19
|
-
const apiClient = new GasFreeAPIClient(apiBaseUrl, apiKey, apiSecret);
|
|
20
|
-
// 1. Fetch account info
|
|
21
|
-
console.debug(`Fetching account info for ${userAddress} from GasFree API...`);
|
|
22
|
-
const accountInfo = await apiClient.getAddressInfo(userAddress);
|
|
23
|
-
const gasfreeAddress = accountInfo.gasFreeAddress;
|
|
24
|
-
if (!gasfreeAddress) {
|
|
25
|
-
throw new Error(`Could not retrieve GasFree address for ${userAddress}`);
|
|
26
|
-
}
|
|
27
|
-
// 2. Check activation status
|
|
28
|
-
const allowSubmit = accountInfo.allowSubmit || false;
|
|
29
|
-
if (!accountInfo.active && !allowSubmit) {
|
|
30
|
-
throw new Error(`GasFree account for ${userAddress} (${gasfreeAddress}) is not activated.`);
|
|
31
|
-
}
|
|
32
|
-
// 3. Prepare maxFee and providers
|
|
33
|
-
const providers = await apiClient.getProviders();
|
|
34
|
-
if (!providers || providers.length === 0) {
|
|
35
|
-
throw new Error('No GasFree service providers available');
|
|
36
|
-
}
|
|
37
|
-
const serviceProviderAddr = providers[Math.floor(Math.random() * providers.length)].address;
|
|
38
|
-
console.debug(`Selected GasFree provider: ${serviceProviderAddr}`);
|
|
39
|
-
const asset = accountInfo.assets.find((a) => a.tokenAddress === requirements.asset);
|
|
40
|
-
const transferFee = BigInt(asset?.transferFee || '0');
|
|
41
|
-
let maxFee = requirements.extra?.fee?.feeAmount;
|
|
42
|
-
if (!maxFee) {
|
|
43
|
-
// Default to transferFee from API, or 1.0 token units as a safe fallback
|
|
44
|
-
if (transferFee > 0n) {
|
|
45
|
-
maxFee = transferFee.toString();
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
const tokenInfo = findByAddress(requirements.network, requirements.asset);
|
|
49
|
-
const decimals = tokenInfo?.decimals ?? 6;
|
|
50
|
-
maxFee = (10 ** decimals).toString();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
let maxFeeBig = BigInt(maxFee);
|
|
54
|
-
if (maxFeeBig < transferFee) {
|
|
55
|
-
console.debug(`Increasing maxFee to ${transferFee} to meet protocol requirement`);
|
|
56
|
-
maxFeeBig = transferFee;
|
|
57
|
-
maxFee = maxFeeBig.toString();
|
|
58
|
-
}
|
|
59
|
-
// 4. Balance verification
|
|
60
|
-
const skipBalanceCheck = extensions?.skipBalanceCheck || false;
|
|
61
|
-
if (!skipBalanceCheck) {
|
|
62
|
-
if (asset) {
|
|
63
|
-
const assetBalance = BigInt(asset.balance || '0');
|
|
64
|
-
const requiredTotal = BigInt(requirements.amount) + maxFeeBig;
|
|
65
|
-
if (assetBalance < requiredTotal) {
|
|
66
|
-
throw new Error(`Insufficient balance in GasFree wallet ${gasfreeAddress}.`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
throw new Error(`Asset ${requirements.asset} not found in GasFree account ${gasfreeAddress}.`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const deadline = extensions?.paymentPermitContext?.meta?.validBefore || Math.floor(Date.now() / 1000) + 3600;
|
|
74
|
-
const gasFree = new TronGasFree({ chainId });
|
|
75
|
-
// 5. Sign TIP-712 typed data
|
|
76
|
-
const { domain, types, message } = gasFree.assembleGasFreeTransactionJson({
|
|
77
|
-
token: requirements.asset,
|
|
78
|
-
serviceProvider: serviceProviderAddr,
|
|
79
|
-
user: userAddress,
|
|
80
|
-
receiver: requirements.payTo,
|
|
81
|
-
value: requirements.amount,
|
|
82
|
-
maxFee: maxFee,
|
|
83
|
-
deadline: deadline.toString(),
|
|
84
|
-
version: '1',
|
|
85
|
-
nonce: accountInfo.nonce.toString(),
|
|
86
|
-
});
|
|
87
|
-
const signature = await this.signer.signTypedData(domain, types, message, GASFREE_PRIMARY_TYPE);
|
|
88
|
-
// 6. Build PaymentPermit structure
|
|
89
|
-
const paymentPermit = {
|
|
90
|
-
meta: {
|
|
91
|
-
kind: 'PAYMENT_ONLY',
|
|
92
|
-
paymentId: extensions?.paymentPermitContext?.meta?.paymentId || '',
|
|
93
|
-
nonce: accountInfo.nonce.toString(),
|
|
94
|
-
validAfter: extensions?.paymentPermitContext?.meta?.validAfter || 0,
|
|
95
|
-
validBefore: Number(deadline),
|
|
96
|
-
},
|
|
97
|
-
buyer: userAddress,
|
|
98
|
-
caller: serviceProviderAddr,
|
|
99
|
-
payment: {
|
|
100
|
-
payToken: requirements.asset,
|
|
101
|
-
payAmount: requirements.amount,
|
|
102
|
-
payTo: requirements.payTo,
|
|
103
|
-
},
|
|
104
|
-
fee: {
|
|
105
|
-
feeTo: serviceProviderAddr,
|
|
106
|
-
feeAmount: maxFee,
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
return {
|
|
110
|
-
x402Version: 2,
|
|
111
|
-
resource: { url: resource },
|
|
112
|
-
accepted: requirements,
|
|
113
|
-
payload: {
|
|
114
|
-
signature,
|
|
115
|
-
paymentPermit,
|
|
116
|
-
},
|
|
117
|
-
extensions: {
|
|
118
|
-
...extensions,
|
|
119
|
-
gasfreeAddress,
|
|
120
|
-
scheme: 'gasfree_exact',
|
|
121
|
-
},
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=gasfree.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gasfree.js","sourceRoot":"","sources":["../../src/mechanisms/gasfree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AgentWalletAdapter — Adapts agent-wallet's BaseWallet to x402 Wallet interface.
|
|
3
|
-
*
|
|
4
|
-
* Usage:
|
|
5
|
-
* import { WalletFactory } from "agent-wallet";
|
|
6
|
-
* const provider = WalletFactory({ secretsDir: "~/.agent-wallet", password: "..." });
|
|
7
|
-
* const agentWallet = await provider.getWallet("my-wallet");
|
|
8
|
-
* const wallet = await AgentWalletAdapter.create(agentWallet);
|
|
9
|
-
* const signer = EvmClientSigner.fromWallet(wallet);
|
|
10
|
-
*/
|
|
11
|
-
import type { Wallet } from './types.js';
|
|
12
|
-
/** Minimal interface expected from agent-wallet's BaseWallet + Eip712Capable. */
|
|
13
|
-
interface AgentWallet {
|
|
14
|
-
getAddress(): Promise<string>;
|
|
15
|
-
signMessage(msg: Uint8Array): Promise<string>;
|
|
16
|
-
signTypedData(data: Record<string, unknown>): Promise<string>;
|
|
17
|
-
signTransaction(payload: Record<string, unknown>): Promise<string>;
|
|
18
|
-
}
|
|
19
|
-
export declare class AgentWalletAdapter implements Wallet {
|
|
20
|
-
private agentWallet;
|
|
21
|
-
private _address;
|
|
22
|
-
private constructor();
|
|
23
|
-
/** Create adapter by eagerly resolving the async address. */
|
|
24
|
-
static create(agentWallet: AgentWallet): Promise<AgentWalletAdapter>;
|
|
25
|
-
getAddress(): string;
|
|
26
|
-
signMessage(message: Uint8Array): Promise<string>;
|
|
27
|
-
signTypedData(data: Record<string, unknown>): Promise<string>;
|
|
28
|
-
signTransaction(tx: Record<string, unknown>): Promise<string>;
|
|
29
|
-
}
|
|
30
|
-
export {};
|
|
31
|
-
//# sourceMappingURL=agentWalletAdapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentWalletAdapter.d.ts","sourceRoot":"","sources":["../../src/wallet/agentWalletAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,iFAAiF;AACjF,UAAU,WAAW;IACnB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpE;AAED,qBAAa,kBAAmB,YAAW,MAAM;IAC/C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO;IAKP,6DAA6D;WAChD,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAK1E,UAAU,IAAI,MAAM;IAId,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7D,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAcpE"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AgentWalletAdapter — Adapts agent-wallet's BaseWallet to x402 Wallet interface.
|
|
3
|
-
*
|
|
4
|
-
* Usage:
|
|
5
|
-
* import { WalletFactory } from "agent-wallet";
|
|
6
|
-
* const provider = WalletFactory({ secretsDir: "~/.agent-wallet", password: "..." });
|
|
7
|
-
* const agentWallet = await provider.getWallet("my-wallet");
|
|
8
|
-
* const wallet = await AgentWalletAdapter.create(agentWallet);
|
|
9
|
-
* const signer = EvmClientSigner.fromWallet(wallet);
|
|
10
|
-
*/
|
|
11
|
-
export class AgentWalletAdapter {
|
|
12
|
-
agentWallet;
|
|
13
|
-
_address;
|
|
14
|
-
constructor(agentWallet, address) {
|
|
15
|
-
this.agentWallet = agentWallet;
|
|
16
|
-
this._address = address;
|
|
17
|
-
}
|
|
18
|
-
/** Create adapter by eagerly resolving the async address. */
|
|
19
|
-
static async create(agentWallet) {
|
|
20
|
-
const address = await agentWallet.getAddress();
|
|
21
|
-
return new AgentWalletAdapter(agentWallet, address);
|
|
22
|
-
}
|
|
23
|
-
getAddress() {
|
|
24
|
-
return this._address;
|
|
25
|
-
}
|
|
26
|
-
async signMessage(message) {
|
|
27
|
-
return this.agentWallet.signMessage(message);
|
|
28
|
-
}
|
|
29
|
-
async signTypedData(data) {
|
|
30
|
-
return this.agentWallet.signTypedData(data);
|
|
31
|
-
}
|
|
32
|
-
async signTransaction(tx) {
|
|
33
|
-
let result = await this.agentWallet.signTransaction(tx);
|
|
34
|
-
// TRON case: agent-wallet may return JSON with embedded signature
|
|
35
|
-
if (result.trimStart().startsWith('{')) {
|
|
36
|
-
const signed = JSON.parse(result);
|
|
37
|
-
const sigs = signed.signature ?? [];
|
|
38
|
-
if (!sigs.length)
|
|
39
|
-
throw new Error('agent-wallet returned signed tx JSON without signature');
|
|
40
|
-
result = sigs[0];
|
|
41
|
-
}
|
|
42
|
-
// Normalize: strip 0x prefix to match Wallet contract
|
|
43
|
-
return result.startsWith('0x') ? result.slice(2) : result;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=agentWalletAdapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agentWalletAdapter.js","sourceRoot":"","sources":["../../src/wallet/agentWalletAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,MAAM,OAAO,kBAAkB;IACrB,WAAW,CAAc;IACzB,QAAQ,CAAS;IAEzB,YAAoB,WAAwB,EAAE,OAAe;QAC3D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAwB;QAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/C,OAAO,IAAI,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAmB;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA6B;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAA2B;QAC/C,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAExD,kEAAkE;QAClE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,IAAI,GAAa,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC5F,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAED,sDAAsD;QACtD,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EvmPrivateKeyWallet — EVM wallet backed by a local private key (viem).
|
|
3
|
-
*/
|
|
4
|
-
import type { Wallet } from './types.js';
|
|
5
|
-
export declare class EvmPrivateKeyWallet implements Wallet {
|
|
6
|
-
private account;
|
|
7
|
-
private _address;
|
|
8
|
-
constructor(privateKey: string);
|
|
9
|
-
getAddress(): string;
|
|
10
|
-
signMessage(message: Uint8Array): Promise<string>;
|
|
11
|
-
signTypedData(data: Record<string, unknown>): Promise<string>;
|
|
12
|
-
signTransaction(tx: Record<string, unknown>): Promise<string>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=evmPrivateKeyWallet.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evmPrivateKeyWallet.d.ts","sourceRoot":"","sources":["../../src/wallet/evmPrivateKeyWallet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,qBAAa,mBAAoB,YAAW,MAAM;IAChD,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,QAAQ,CAAS;gBAEb,UAAU,EAAE,MAAM;IAM9B,UAAU,IAAI,MAAM;IAId,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAMjD,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB7D,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAMpE"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EvmPrivateKeyWallet — EVM wallet backed by a local private key (viem).
|
|
3
|
-
*/
|
|
4
|
-
import { privateKeyToAccount } from 'viem/accounts';
|
|
5
|
-
export class EvmPrivateKeyWallet {
|
|
6
|
-
account;
|
|
7
|
-
_address;
|
|
8
|
-
constructor(privateKey) {
|
|
9
|
-
const hexKey = (privateKey.startsWith('0x') ? privateKey : `0x${privateKey}`);
|
|
10
|
-
this.account = privateKeyToAccount(hexKey);
|
|
11
|
-
this._address = this.account.address;
|
|
12
|
-
}
|
|
13
|
-
getAddress() {
|
|
14
|
-
return this._address;
|
|
15
|
-
}
|
|
16
|
-
async signMessage(message) {
|
|
17
|
-
return this.account.signMessage({
|
|
18
|
-
message: { raw: message },
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
async signTypedData(data) {
|
|
22
|
-
const { domain, types, primaryType, message } = data;
|
|
23
|
-
// Remove EIP712Domain from types — viem adds it automatically
|
|
24
|
-
const { EIP712Domain, ...messageTypes } = types;
|
|
25
|
-
return this.account.signTypedData({
|
|
26
|
-
domain: domain,
|
|
27
|
-
types: messageTypes,
|
|
28
|
-
primaryType,
|
|
29
|
-
message: message,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
async signTransaction(tx) {
|
|
33
|
-
const raw = await this.account.signTransaction(tx);
|
|
34
|
-
return raw.startsWith('0x') ? raw.slice(2) : raw;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=evmPrivateKeyWallet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evmPrivateKeyWallet.js","sourceRoot":"","sources":["../../src/wallet/evmPrivateKeyWallet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAIpD,MAAM,OAAO,mBAAmB;IACtB,OAAO,CAAyC;IAChD,QAAQ,CAAS;IAEzB,YAAY,UAAkB;QAC5B,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAQ,CAAC;QACrF,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACvC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAmB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9B,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA6B;QAC/C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAK/C,CAAC;QAEF,8DAA8D;QAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;QAEhD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YAChC,MAAM,EAAE,MAAa;YACrB,KAAK,EAAE,YAAmB;YAC1B,WAAW;YACX,OAAO,EAAE,OAAc;SACxB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAA2B;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAC5C,EAAwD,CACzD,CAAC;QACF,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACnD,CAAC;CACF"}
|
package/dist/wallet/index.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet abstraction layer for x402 signers.
|
|
3
|
-
*/
|
|
4
|
-
export type { Wallet } from './types.js';
|
|
5
|
-
export { EvmPrivateKeyWallet } from './evmPrivateKeyWallet.js';
|
|
6
|
-
export { TronPrivateKeyWallet } from './tronPrivateKeyWallet.js';
|
|
7
|
-
export { AgentWalletAdapter } from './agentWalletAdapter.js';
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/wallet/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet abstraction layer for x402 signers.
|
|
3
|
-
*/
|
|
4
|
-
export { EvmPrivateKeyWallet } from './evmPrivateKeyWallet.js';
|
|
5
|
-
export { TronPrivateKeyWallet } from './tronPrivateKeyWallet.js';
|
|
6
|
-
export { AgentWalletAdapter } from './agentWalletAdapter.js';
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
package/dist/wallet/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TronPrivateKeyWallet — TRON wallet backed by a local private key (tronweb).
|
|
3
|
-
*/
|
|
4
|
-
import type { Wallet } from './types.js';
|
|
5
|
-
export declare class TronPrivateKeyWallet implements Wallet {
|
|
6
|
-
private privateKey;
|
|
7
|
-
private _address;
|
|
8
|
-
private tronWeb;
|
|
9
|
-
constructor(privateKey: string);
|
|
10
|
-
getAddress(): string;
|
|
11
|
-
signMessage(message: Uint8Array): Promise<string>;
|
|
12
|
-
signTypedData(data: Record<string, unknown>): Promise<string>;
|
|
13
|
-
signTransaction(tx: Record<string, unknown>): Promise<string>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=tronPrivateKeyWallet.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tronPrivateKeyWallet.d.ts","sourceRoot":"","sources":["../../src/wallet/tronPrivateKeyWallet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,qBAAa,oBAAqB,YAAW,MAAM;IACjD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAU;gBAEb,UAAU,EAAE,MAAM;IAY9B,UAAU,IAAI,MAAM;IAId,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjD,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA8B7D,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAKpE"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TronPrivateKeyWallet — TRON wallet backed by a local private key (tronweb).
|
|
3
|
-
*/
|
|
4
|
-
import { TronWeb as TronWebClass } from 'tronweb';
|
|
5
|
-
export class TronPrivateKeyWallet {
|
|
6
|
-
privateKey;
|
|
7
|
-
_address;
|
|
8
|
-
tronWeb;
|
|
9
|
-
constructor(privateKey) {
|
|
10
|
-
const cleanKey = privateKey.startsWith('0x') ? privateKey.slice(2) : privateKey;
|
|
11
|
-
this.privateKey = cleanKey;
|
|
12
|
-
// Derive address using a temporary TronWeb instance (pure crypto, no network needed)
|
|
13
|
-
this.tronWeb = new TronWebClass({
|
|
14
|
-
fullHost: 'https://nile.trongrid.io',
|
|
15
|
-
privateKey: cleanKey,
|
|
16
|
-
});
|
|
17
|
-
this._address = this.tronWeb.address.fromPrivateKey(cleanKey);
|
|
18
|
-
}
|
|
19
|
-
getAddress() {
|
|
20
|
-
return this._address;
|
|
21
|
-
}
|
|
22
|
-
async signMessage(message) {
|
|
23
|
-
const messageHex = Array.from(message)
|
|
24
|
-
.map(b => b.toString(16).padStart(2, '0'))
|
|
25
|
-
.join('');
|
|
26
|
-
return this.tronWeb.trx.signMessageV2(messageHex, this.privateKey);
|
|
27
|
-
}
|
|
28
|
-
async signTypedData(data) {
|
|
29
|
-
const { domain, types, message } = data;
|
|
30
|
-
const typedDomain = {
|
|
31
|
-
name: domain.name,
|
|
32
|
-
chainId: domain.chainId,
|
|
33
|
-
verifyingContract: domain.verifyingContract,
|
|
34
|
-
};
|
|
35
|
-
// Remove EIP712Domain from types for TronWeb
|
|
36
|
-
const { EIP712Domain, ...messageTypes } = types;
|
|
37
|
-
const signFn = this.tronWeb.trx.signTypedData || this.tronWeb.trx._signTypedData;
|
|
38
|
-
if (!signFn) {
|
|
39
|
-
throw new Error('TronWeb does not support signTypedData. Please upgrade to TronWeb >= 5.0');
|
|
40
|
-
}
|
|
41
|
-
return signFn.call(this.tronWeb.trx, typedDomain, messageTypes, message, this.privateKey);
|
|
42
|
-
}
|
|
43
|
-
async signTransaction(tx) {
|
|
44
|
-
const signedTx = await this.tronWeb.trx.sign(tx, this.privateKey);
|
|
45
|
-
const sig = signedTx.signature?.[0] ?? '';
|
|
46
|
-
return sig.startsWith('0x') ? sig.slice(2) : sig;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=tronPrivateKeyWallet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tronPrivateKeyWallet.js","sourceRoot":"","sources":["../../src/wallet/tronPrivateKeyWallet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAIlD,MAAM,OAAO,oBAAoB;IACvB,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,OAAO,CAAU;IAEzB,YAAY,UAAkB;QAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAChF,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAE3B,qFAAqF;QACrF,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC;YAC9B,QAAQ,EAAE,0BAA0B;YACpC,UAAU,EAAE,QAAQ;SACrB,CAAuB,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAmB;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACzC,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA6B;QAC/C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAIlC,CAAC;QAEF,MAAM,WAAW,GAAoB;YACnC,IAAI,EAAE,MAAM,CAAC,IAAc;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAiB;YACjC,iBAAiB,EAAE,MAAM,CAAC,iBAA2B;SACtD,CAAC;QAEF,6CAA6C;QAC7C,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;QAEhD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACjF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,CAAC,OAAO,CAAC,GAAG,EAChB,WAAW,EACX,YAAgD,EAChD,OAAO,EACP,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAA2B;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,MAAM,GAAG,GAAY,QAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACnD,CAAC;CACF"}
|
package/dist/wallet/types.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet interface — abstracts private-key-dependent operations.
|
|
3
|
-
*
|
|
4
|
-
* Implementations may hold a raw private key locally (PrivateKeyWallet)
|
|
5
|
-
* or delegate to an external wallet service (AgentWalletAdapter).
|
|
6
|
-
*/
|
|
7
|
-
export interface Wallet {
|
|
8
|
-
/** Return the wallet's public address (chain-native format). */
|
|
9
|
-
getAddress(): string;
|
|
10
|
-
/** Sign an arbitrary message, return signature hex. */
|
|
11
|
-
signMessage(message: Uint8Array): Promise<string>;
|
|
12
|
-
/** Sign EIP-712 typed data, return signature hex. */
|
|
13
|
-
signTypedData(data: Record<string, unknown>): Promise<string>;
|
|
14
|
-
/**
|
|
15
|
-
* Sign a pre-built transaction.
|
|
16
|
-
* @returns Hex string **without** `0x` prefix.
|
|
17
|
-
* - EVM: complete signed transaction hex (RLP-encoded)
|
|
18
|
-
* - TRON: signature hex only (to be attached to transaction)
|
|
19
|
-
*/
|
|
20
|
-
signTransaction(tx: Record<string, unknown>): Promise<string>;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/wallet/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,gEAAgE;IAChE,UAAU,IAAI,MAAM,CAAC;IAErB,uDAAuD;IACvD,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD,qDAAqD;IACrD,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9D;;;;;OAKG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D"}
|
package/dist/wallet/types.js
DELETED
package/dist/wallet/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/wallet/types.ts"],"names":[],"mappings":""}
|