mppx 0.4.5 → 0.4.7
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/CHANGELOG.md +12 -0
- package/dist/tempo/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/client/SessionManager.js +12 -1
- package/dist/tempo/client/SessionManager.js.map +1 -1
- package/dist/tempo/internal/account.d.ts +6 -4
- package/dist/tempo/internal/account.d.ts.map +1 -1
- package/dist/tempo/internal/account.js +7 -3
- package/dist/tempo/internal/account.js.map +1 -1
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +4 -3
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Session.d.ts.map +1 -1
- package/dist/tempo/server/Session.js +11 -11
- package/dist/tempo/server/Session.js.map +1 -1
- package/dist/viem/Client.d.ts +2 -0
- package/dist/viem/Client.d.ts.map +1 -1
- package/dist/viem/Client.js +17 -4
- package/dist/viem/Client.js.map +1 -1
- package/package.json +5 -1
- package/src/tempo/client/SessionManager.ts +11 -1
- package/src/tempo/internal/account.ts +8 -5
- package/src/tempo/server/Charge.test.ts +58 -1
- package/src/tempo/server/Charge.ts +4 -3
- package/src/tempo/server/Session.test.ts +35 -5
- package/src/tempo/server/Session.ts +12 -12
- package/src/viem/Client.ts +21 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# mppx
|
|
2
2
|
|
|
3
|
+
## 0.4.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2a0b88e: Fixed cooperative close to sign the server-reported spent amount instead of the high-water mark (`cumulativeAmount`), preventing overcharging when actual usage was below the pre-authorized voucher amount.
|
|
8
|
+
|
|
9
|
+
## 0.4.6
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 281005c: Added support for `feePayer` as a URL string on `tempo` method.
|
|
14
|
+
|
|
3
15
|
## 0.4.5
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/tempo/client/SessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAEpD,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIzD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAC7E,GAAG,CACD,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG;QACnB,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;QAC3D,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;KACjC,GACA,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,KAAK,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG;IACvC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAA;IACrC,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/tempo/client/SessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAEpD,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIzD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAC7E,GAAG,CACD,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG;QACnB,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;QAC3D,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;KACjC,GACA,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,KAAK,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG;IACvC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAA;IACrC,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,GAAG,cAAc,CAqNpF;AAED,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,KAAK,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,GAC9C,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG;QAC9B,4EAA4E;QAC5E,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACtC,qEAAqE;QACrE,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1C,iFAAiF;QACjF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,+BAA+B;QAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,SAAS,CAAA;QAC3C,kHAAkH;QAClH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAChC,CAAA;CACJ"}
|
|
@@ -26,6 +26,7 @@ export function sessionManager(parameters) {
|
|
|
26
26
|
let channel = null;
|
|
27
27
|
let lastChallenge = null;
|
|
28
28
|
let lastUrl = null;
|
|
29
|
+
let spent = 0n;
|
|
29
30
|
const method = sessionPlugin({
|
|
30
31
|
account: parameters.account,
|
|
31
32
|
authorizedSigner: parameters.authorizedSigner,
|
|
@@ -34,6 +35,8 @@ export function sessionManager(parameters) {
|
|
|
34
35
|
decimals: parameters.decimals,
|
|
35
36
|
maxDeposit: parameters.maxDeposit,
|
|
36
37
|
onChannelUpdate(entry) {
|
|
38
|
+
if (entry.channelId !== channel?.channelId)
|
|
39
|
+
spent = 0n;
|
|
37
40
|
channel = entry;
|
|
38
41
|
},
|
|
39
42
|
});
|
|
@@ -45,9 +48,16 @@ export function sessionManager(parameters) {
|
|
|
45
48
|
return undefined;
|
|
46
49
|
},
|
|
47
50
|
});
|
|
51
|
+
function updateSpentFromReceipt(receipt) {
|
|
52
|
+
if (!receipt || receipt.channelId !== channel?.channelId)
|
|
53
|
+
return;
|
|
54
|
+
const next = BigInt(receipt.spent);
|
|
55
|
+
spent = spent > next ? spent : next;
|
|
56
|
+
}
|
|
48
57
|
function toPaymentResponse(response) {
|
|
49
58
|
const receiptHeader = response.headers.get('Payment-Receipt');
|
|
50
59
|
const receipt = receiptHeader ? deserializeSessionReceipt(receiptHeader) : null;
|
|
60
|
+
updateSpentFromReceipt(receipt);
|
|
51
61
|
return Object.assign(response, {
|
|
52
62
|
receipt,
|
|
53
63
|
challenge: lastChallenge,
|
|
@@ -160,6 +170,7 @@ export function sessionManager(parameters) {
|
|
|
160
170
|
break;
|
|
161
171
|
}
|
|
162
172
|
case 'payment-receipt':
|
|
173
|
+
updateSpentFromReceipt(event.data);
|
|
163
174
|
onReceipt?.(event.data);
|
|
164
175
|
break;
|
|
165
176
|
}
|
|
@@ -180,7 +191,7 @@ export function sessionManager(parameters) {
|
|
|
180
191
|
context: {
|
|
181
192
|
action: 'close',
|
|
182
193
|
channelId: channel.channelId,
|
|
183
|
-
cumulativeAmountRaw:
|
|
194
|
+
cumulativeAmountRaw: spent.toString(),
|
|
184
195
|
},
|
|
185
196
|
});
|
|
186
197
|
let receipt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../src/tempo/client/SessionManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,gCAAgC,CAAA;AAGvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,cAAc,CAAA;AA0BvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,UAAqC;IAClE,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;IAEpD,IAAI,OAAO,GAAwB,IAAI,CAAA;IACvC,IAAI,aAAa,GAA+B,IAAI,CAAA;IACpD,IAAI,OAAO,GAA6B,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../src/tempo/client/SessionManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,gCAAgC,CAAA;AAGvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,cAAc,CAAA;AA0BvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,UAAqC;IAClE,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;IAEpD,IAAI,OAAO,GAAwB,IAAI,CAAA;IACvC,IAAI,aAAa,GAA+B,IAAI,CAAA;IACpD,IAAI,OAAO,GAA6B,IAAI,CAAA;IAC5C,IAAI,KAAK,GAAG,EAAE,CAAA;IAEd,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS;QAC9E,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,eAAe,CAAC,KAAK;YACnB,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,EAAE,SAAS;gBAAE,KAAK,GAAG,EAAE,CAAA;YACtD,OAAO,GAAG,KAAK,CAAA;QACjB,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;YACzC,aAAa,GAAG,SAAS,CAAA;YACzB,OAAO,SAAS,CAAA;QAClB,CAAC;KACF,CAAC,CAAA;IAEF,SAAS,sBAAsB,CAAC,OAA0C;QACxE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,SAAS;YAAE,OAAM;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IACrC,CAAC;IAED,SAAS,iBAAiB,CAAC,QAAkB;QAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;QAC7D,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC/E,sBAAsB,CAAC,OAAO,CAAC,CAAA;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7B,OAAO;YACP,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;YACrC,UAAU,EAAE,OAAO,EAAE,gBAAgB,IAAI,EAAE;SAC5C,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,KAAwB,EAAE,IAAkB;QACjE,OAAO,GAAG,KAAK,CAAA;QACf,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAChD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,MAAM,IAAI,GAAmB;QAC3B,IAAI,SAAS;YACX,OAAO,OAAO,EAAE,SAAS,CAAA;QAC3B,CAAC;QACD,IAAI,UAAU;YACZ,OAAO,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAA;QACxC,CAAC;QACD,IAAI,MAAM;YACR,OAAO,OAAO,EAAE,MAAM,IAAI,KAAK,CAAA;QACjC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAO;YAChB,IAAI,OAAO,EAAE,MAAM;gBAAE,OAAM;YAE3B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAA;YACH,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAA;YAChC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;gBAC/C,SAAS,EAAE,aAAsB;gBACjC,OAAO,EAAE;oBACP,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;iBACjE;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;YACxF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE;gBACtC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE;aACvC,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;gBAC9D,MAAM,IAAI,KAAK,CACb,mCAAmC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,uBAAuB,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClI,CAAA;YACH,CAAC;QACH,CAAC;QAED,KAAK,EAAE,OAAO;QAEd,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI;YACnB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;YAEtD,MAAM,OAAO,GAAG;gBACd,GAAG,SAAS;gBACZ,OAAO,EAAE;oBACP,GAAG,SAAS,CAAC,OAAO;oBACpB,MAAM,EAAE,mBAAmB;iBAC5B;gBACD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAA;YAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAE9C,wDAAwD;YACxD,4BAA4B;YAC5B,MAAM,YAAY,GAAG,aAAa,CAAA;YAElC,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAE5D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;YACxC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;YAEjC,KAAK,SAAS,CAAC,CAAC,OAAO;gBACrB,IAAI,MAAM,GAAG,EAAE,CAAA;gBAEf,IAAI,CAAC;oBACH,OAAO,IAAI,EAAE,CAAC;wBACZ,IAAI,MAAM,EAAE,OAAO;4BAAE,MAAK;wBAE1B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;wBAC3C,IAAI,IAAI;4BAAE,MAAK;wBAEf,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;wBAEjD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;wBAClC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;wBAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gCAAE,SAAQ;4BAE1B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;4BAC9B,IAAI,CAAC,KAAK;gCAAE,SAAQ;4BAEpB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gCACnB,KAAK,SAAS;oCACZ,MAAM,KAAK,CAAC,IAAI,CAAA;oCAChB,MAAK;gCAEP,KAAK,sBAAsB,CAAC,CAAC,CAAC;oCAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY;wCAAE,MAAK;oCACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;oCACtD,OAAO,CAAC,gBAAgB;wCACtB,OAAO,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAA;oCAE3E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;wCAC/C,SAAS,EAAE,YAAqB;wCAChC,OAAO,EAAE;4CACP,MAAM,EAAE,SAAS;4CACjB,SAAS,EAAE,OAAO,CAAC,SAAS;4CAC5B,mBAAmB,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE;yCACzD;qCACF,CAAC,CAAA;oCACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE;wCAC3C,MAAM,EAAE,MAAM;wCACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE;qCACvC,CAAC,CAAA;oCACF,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;wCACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAA;oCAC9E,CAAC;oCACD,MAAK;gCACP,CAAC;gCAED,KAAK,iBAAiB;oCACpB,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oCAClC,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oCACvB,MAAK;4BACT,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,MAAM,CAAC,WAAW,EAAE,CAAA;gBACtB,CAAC;YACH,CAAC;YAED,OAAO,OAAO,EAAE,CAAA;QAClB,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa;gBAAE,OAAO,SAAS,CAAA;YAExD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC;gBAC/C,SAAS,EAAE,aAAsB;gBACjC,OAAO,EAAE;oBACP,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,mBAAmB,EAAE,KAAK,CAAC,QAAQ,EAAE;iBACtC;aACF,CAAC,CAAA;YAEF,IAAI,OAAmC,CAAA;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE;oBACtC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE;iBACvC,CAAC,CAAA;gBACF,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;gBAC7D,IAAI,aAAa;oBAAE,OAAO,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAA;YACvE,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -5,13 +5,15 @@ import type { Account, Address } from 'viem';
|
|
|
5
5
|
* Accepts either `account` or `recipient` as the parameter name. When the value
|
|
6
6
|
* is an `Account`, its address is extracted. If `feePayer` is `true`, the
|
|
7
7
|
* account also acts as the fee payer. Alternatively, a separate `Account`
|
|
8
|
-
* can be provided as the fee payer
|
|
8
|
+
* can be provided as the fee payer, or a URL string pointing to a fee payer
|
|
9
|
+
* relay service (used with `withFeePayer` transport wrapping).
|
|
9
10
|
*
|
|
10
|
-
* @returns An object with `account`, `feePayer`, and `recipient`.
|
|
11
|
+
* @returns An object with `account`, `feePayer`, `feePayerUrl`, and `recipient`.
|
|
11
12
|
*/
|
|
12
13
|
export declare function resolve(parameters: resolve.Parameters): {
|
|
13
14
|
account: Account | undefined;
|
|
14
15
|
feePayer: Account | undefined;
|
|
16
|
+
feePayerUrl: string | undefined;
|
|
15
17
|
recipient: Address | undefined;
|
|
16
18
|
};
|
|
17
19
|
export declare namespace resolve {
|
|
@@ -25,8 +27,8 @@ export declare namespace resolve {
|
|
|
25
27
|
} | {
|
|
26
28
|
/** Address that receives payment. */
|
|
27
29
|
account?: Address | undefined;
|
|
28
|
-
/** Optional fee payer account for covering transaction fees. */
|
|
29
|
-
feePayer?: Account | undefined;
|
|
30
|
+
/** Optional fee payer account or fee payer URL for covering transaction fees. */
|
|
31
|
+
feePayer?: Account | string | undefined;
|
|
30
32
|
});
|
|
31
33
|
}
|
|
32
34
|
//# sourceMappingURL=account.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE5C
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE5C;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU;;;;eAkBa,OAAO,GAAG,SAAS;EACrF;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,GAAG;QAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GAAG,CACpD;QACE,gDAAgD;QAChD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B,oEAAoE;QACpE,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;KAC5B,GACD;QACE,qCAAqC;QACrC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B,iFAAiF;QACjF,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;KACxC,CACJ,CAAA;CACF"}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* Accepts either `account` or `recipient` as the parameter name. When the value
|
|
5
5
|
* is an `Account`, its address is extracted. If `feePayer` is `true`, the
|
|
6
6
|
* account also acts as the fee payer. Alternatively, a separate `Account`
|
|
7
|
-
* can be provided as the fee payer
|
|
7
|
+
* can be provided as the fee payer, or a URL string pointing to a fee payer
|
|
8
|
+
* relay service (used with `withFeePayer` transport wrapping).
|
|
8
9
|
*
|
|
9
|
-
* @returns An object with `account`, `feePayer`, and `recipient`.
|
|
10
|
+
* @returns An object with `account`, `feePayer`, `feePayerUrl`, and `recipient`.
|
|
10
11
|
*/
|
|
11
12
|
export function resolve(parameters) {
|
|
12
13
|
const account = (() => {
|
|
@@ -21,13 +22,16 @@ export function resolve(parameters) {
|
|
|
21
22
|
return parameters.account.address;
|
|
22
23
|
return parameters.account;
|
|
23
24
|
})();
|
|
25
|
+
const feePayerUrl = typeof parameters.feePayer === 'string' ? parameters.feePayer : undefined;
|
|
24
26
|
const feePayer = (() => {
|
|
27
|
+
if (typeof parameters.feePayer === 'string')
|
|
28
|
+
return undefined;
|
|
25
29
|
if (typeof parameters.account === 'object' && parameters.feePayer === true)
|
|
26
30
|
return parameters.account;
|
|
27
31
|
if (typeof parameters.feePayer === 'object')
|
|
28
32
|
return parameters.feePayer;
|
|
29
33
|
return undefined;
|
|
30
34
|
})();
|
|
31
|
-
return { account, feePayer, recipient: recipient };
|
|
35
|
+
return { account, feePayer, feePayerUrl, recipient: recipient };
|
|
32
36
|
}
|
|
33
37
|
//# sourceMappingURL=account.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/tempo/internal/account.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/tempo/internal/account.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAAC,UAA8B;IACpD,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,OAAO,CAAA;QACrE,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,IAAI,UAAU,CAAC,SAAS;YAAE,OAAO,UAAU,CAAC,SAAS,CAAA;QACrD,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAA;QAC7E,OAAO,UAAU,CAAC,OAAO,CAAA;IAC3B,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,WAAW,GAAG,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7F,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC7D,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI;YACxE,OAAO,UAAU,CAAC,OAAO,CAAA;QAC3B,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,QAAQ,CAAA;QACvE,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAgC,EAAE,CAAA;AACxF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Charge.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAIjD,OAAO,KAAK,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAC/D,UAAU,GAAE,UAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Charge.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAIjD,OAAO,KAAK,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAC/D,UAAU,GAAE,UAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAgQ1C;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,CAAA;IAElG,KAAK,UAAU,GAAG;QAChB,oBAAoB;QACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B;;;;;;;;;;WAUG;QACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC1C,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,GAC/B,OAAO,CAAC,OAAO,CAAC,UAAU,GAC1B,QAAQ,CAAA;IAEV,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,KAAK,CAAC,cAAc,CACvE,UAAU,EACV,QAAQ,CACT,GAAG;QACF,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF"}
|
|
@@ -22,9 +22,10 @@ import * as Methods from '../Methods.js';
|
|
|
22
22
|
*/
|
|
23
23
|
export function charge(parameters = {}) {
|
|
24
24
|
const { amount, currency = defaults.resolveCurrency(parameters), decimals = defaults.decimals, description, externalId, memo, waitForConfirmation = true, } = parameters;
|
|
25
|
-
const { recipient, feePayer } = Account.resolve(parameters);
|
|
25
|
+
const { recipient, feePayer, feePayerUrl } = Account.resolve(parameters);
|
|
26
26
|
const getClient = Client.getResolver({
|
|
27
27
|
chain: { ...tempo_chain, experimental_preconfirmationTime: 500 },
|
|
28
|
+
feePayerUrl,
|
|
28
29
|
getClient: parameters.getClient,
|
|
29
30
|
rpcUrl: defaults.rpcUrl,
|
|
30
31
|
});
|
|
@@ -59,7 +60,7 @@ export function charge(parameters = {}) {
|
|
|
59
60
|
throw new Error(`Client not configured with chainId ${chainId}.`);
|
|
60
61
|
const resolvedFeePayer = (() => {
|
|
61
62
|
const account = typeof request.feePayer === 'object' ? request.feePayer : feePayer;
|
|
62
|
-
const requested = request.feePayer !== false && (account ?? feePayer);
|
|
63
|
+
const requested = request.feePayer !== false && (account ?? feePayer ?? feePayerUrl);
|
|
63
64
|
if (credential)
|
|
64
65
|
return account;
|
|
65
66
|
if (requested)
|
|
@@ -185,7 +186,7 @@ export function charge(parameters = {}) {
|
|
|
185
186
|
currency,
|
|
186
187
|
recipient,
|
|
187
188
|
});
|
|
188
|
-
if (feePayer && methodDetails?.feePayer !== false)
|
|
189
|
+
if ((feePayer || feePayerUrl) && methodDetails?.feePayer !== false)
|
|
189
190
|
FeePayer.validateCalls(calls, { amount, currency, recipient });
|
|
190
191
|
const resolvedFeeToken = transaction.feeToken ?? defaults.currency[chainId];
|
|
191
192
|
const serializedTransaction_final = await (async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/tempo/server/Charge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAA2B,MAAM,MAAM,CAAA;AAClG,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,IAAI,IAAI,SAAS,GAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AACjD,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AAErD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CACpB,aAAyB,EAAgB;IAEzC,MAAM,EACJ,MAAM,EACN,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,EAC/C,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAC5B,WAAW,EACX,UAAU,EACV,IAAI,EACJ,mBAAmB,GAAG,IAAI,GAC3B,GAAG,UAAU,CAAA;IAEd,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Charge.js","sourceRoot":"","sources":["../../../src/tempo/server/Charge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EAER,KAAK,OAAO,IAAI,YAAY,EAC5B,KAAK,MAAM,IAAI,WAAW,EAC3B,MAAM,MAAM,CAAA;AAab,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAEjD,OAAO,KAAK,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AASxC,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAA;AAI1D,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AAWpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,OAAO,CAAC,KAAK,CAAC,UAAU,SAAS,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EAER,KAAK,OAAO,IAAI,YAAY,EAC5B,KAAK,MAAM,IAAI,WAAW,EAC3B,MAAM,MAAM,CAAA;AAab,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAEjD,OAAO,KAAK,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AASxC,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAA;AAI1D,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AAWpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,OAAO,CAAC,KAAK,CAAC,UAAU,SAAS,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gHAkMlF;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,QAAQ,GAAG,SAAS,CACvB,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,EAC9C,UAAU,GAAG,WAAW,CACzB,CAAA;IAED,KAAK,UAAU,GAAG;QAChB,gMAAgM;QAChM,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC,sEAAsE;QACtE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACpC;;;;;;;;;;WAUG;QACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACzC,uCAAuC;QACvC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAA;QAC/B;;;;;;WAMG;QACH,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAA;QACjD,oBAAoB;QACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC9B,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,GAC5B,MAAM,CAAC,WAAW,CAAC,UAAU,GAC7B,QAAQ,CAAA;IAEV,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,KAAK,CAAC,cAAc,CACvE,UAAU,EACV,QAAQ,CACT,GAAG;QACF,QAAQ,EAAE,MAAM,CAAA;QAChB,cAAc,EAAE,OAAO,CAAA;KACxB,CAAA;CACF;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,YAAY,CAAC,YAAY,EAChC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,GAAG,EACd,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;CACpC,GACA,OAAO,CAAC,GAAG,CAAC,CA2Bd;AAED;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,YAAY,CAAC,YAAY,EAChC,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAc7B"}
|
|
@@ -50,12 +50,13 @@ export function session(p) {
|
|
|
50
50
|
const { amount, channelStateTtl = 60_000, currency = defaults.resolveCurrency(parameters), decimals = defaults.decimals, store: rawStore = Store.memory(), suggestedDeposit, unitType, waitForConfirmation = true, } = parameters;
|
|
51
51
|
const lastOnChainVerified = new Map();
|
|
52
52
|
const store = ChannelStore.fromStore(rawStore);
|
|
53
|
+
const { account, recipient, feePayer, feePayerUrl } = Account.resolve(parameters);
|
|
53
54
|
const getClient = Client.getResolver({
|
|
54
55
|
chain: tempo_chain,
|
|
56
|
+
feePayerUrl,
|
|
55
57
|
getClient: parameters.getClient,
|
|
56
58
|
rpcUrl: defaults.rpcUrl,
|
|
57
59
|
});
|
|
58
|
-
const { account, recipient, feePayer } = Account.resolve(parameters);
|
|
59
60
|
const transport = parameters.sse
|
|
60
61
|
? Transport.sse({
|
|
61
62
|
store,
|
|
@@ -99,7 +100,7 @@ export function session(p) {
|
|
|
99
100
|
// Extract feePayer.
|
|
100
101
|
const resolvedFeePayer = (() => {
|
|
101
102
|
const account = typeof request.feePayer === 'object' ? request.feePayer : feePayer;
|
|
102
|
-
const requested = request.feePayer !== false && (account ?? feePayer);
|
|
103
|
+
const requested = request.feePayer !== false && (account ?? feePayer ?? feePayerUrl);
|
|
103
104
|
if (credential)
|
|
104
105
|
return account;
|
|
105
106
|
if (requested)
|
|
@@ -507,18 +508,14 @@ async function handleClose(store, client, challenge, payload, methodDetails, acc
|
|
|
507
508
|
throw new ChannelClosedError({ reason: 'channel is already finalized' });
|
|
508
509
|
}
|
|
509
510
|
const voucher = parseVoucherFromPayload(payload.channelId, payload.cumulativeAmount, payload.signature);
|
|
510
|
-
if (voucher.cumulativeAmount < channel.highestVoucherAmount) {
|
|
511
|
-
throw new VerificationFailedError({
|
|
512
|
-
reason: 'close voucher amount must be >= highest accepted voucher',
|
|
513
|
-
});
|
|
514
|
-
}
|
|
515
511
|
const onChain = await getOnChainChannel(client, methodDetails.escrowContract, payload.channelId);
|
|
516
512
|
if (onChain.finalized) {
|
|
517
513
|
throw new ChannelClosedError({ reason: 'channel is finalized on-chain' });
|
|
518
514
|
}
|
|
519
|
-
|
|
515
|
+
const minCloseAmount = channel.spent > onChain.settled ? channel.spent : onChain.settled;
|
|
516
|
+
if (voucher.cumulativeAmount < minCloseAmount) {
|
|
520
517
|
throw new VerificationFailedError({
|
|
521
|
-
reason:
|
|
518
|
+
reason: `close voucher amount must be >= ${minCloseAmount} (max of spent and on-chain settled)`,
|
|
522
519
|
});
|
|
523
520
|
}
|
|
524
521
|
if (voucher.cumulativeAmount > onChain.deposit) {
|
|
@@ -534,11 +531,14 @@ async function handleClose(store, client, challenge, payload, methodDetails, acc
|
|
|
534
531
|
const updated = await store.updateChannel(payload.channelId, (current) => {
|
|
535
532
|
if (!current)
|
|
536
533
|
return null;
|
|
534
|
+
const updateVoucher = voucher.cumulativeAmount > current.highestVoucherAmount;
|
|
537
535
|
return {
|
|
538
536
|
...current,
|
|
539
537
|
deposit: onChain.deposit,
|
|
540
|
-
|
|
541
|
-
|
|
538
|
+
...(updateVoucher && {
|
|
539
|
+
highestVoucherAmount: voucher.cumulativeAmount,
|
|
540
|
+
highestVoucher: voucher,
|
|
541
|
+
}),
|
|
542
542
|
finalized: true,
|
|
543
543
|
};
|
|
544
544
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../src/tempo/server/Session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../src/tempo/server/Session.ts"],"names":[],"mappings":"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"}
|
package/dist/viem/Client.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import type { MaybePromise } from '../internal/types.js';
|
|
|
3
3
|
export declare function getResolver(parameters: getResolver.Parameters & {
|
|
4
4
|
/** Default chain to use if not provided. */
|
|
5
5
|
chain?: Chain | undefined;
|
|
6
|
+
/** Fee payer relay URL. When set, the transport is wrapped with `withFeePayer`. */
|
|
7
|
+
feePayerUrl?: string | undefined;
|
|
6
8
|
/** RPC URLs keyed by chain ID. */
|
|
7
9
|
rpcUrl?: ({
|
|
8
10
|
[chainId: number]: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/viem/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAsB,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/viem/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAsB,MAAM,MAAM,CAAA;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,wBAAgB,WAAW,CACzB,UAAU,EAAE,WAAW,CAAC,UAAU,GAAG;IACnC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;IACzB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,kCAAkC;IAClC,MAAM,CAAC,EAAE,CAAC;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,GAAG,SAAS,CAAA;CAC9D,GACA,CAAC,UAAU,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KAAK,YAAY,CAAC,MAAM,CAAC,CAmDxE;AAED,MAAM,CAAC,OAAO,WAAW,WAAW,CAAC;IACnC,KAAK,UAAU,GAAG;QAChB,6DAA6D;QAC7D,SAAS,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;KACjG,CAAA;CACF"}
|
package/dist/viem/Client.js
CHANGED
|
@@ -1,16 +1,28 @@
|
|
|
1
1
|
import { createClient, http } from 'viem';
|
|
2
|
+
import { withFeePayer } from 'viem/tempo';
|
|
2
3
|
export function getResolver(parameters) {
|
|
3
|
-
const { chain, getClient, rpcUrl } = parameters;
|
|
4
|
+
const { chain, feePayerUrl, getClient, rpcUrl } = parameters;
|
|
4
5
|
if (getClient) {
|
|
5
6
|
// When a default chain with serializers is provided (e.g. Tempo chain config),
|
|
6
7
|
// ensure user-provided clients inherit those serializers. Without this, clients
|
|
7
8
|
// created without the Tempo chain config will use the default viem serializer,
|
|
8
9
|
// causing errors like "maxFeePerGas is not a valid Legacy Transaction attribute".
|
|
9
|
-
if (!chain?.serializers)
|
|
10
|
+
if (!chain?.serializers && !feePayerUrl)
|
|
10
11
|
return getClient;
|
|
11
12
|
return async (params) => {
|
|
12
13
|
const client = await getClient(params);
|
|
13
|
-
|
|
14
|
+
// Wrap the client's transport with `withFeePayer` when a fee payer URL is provided.
|
|
15
|
+
if (feePayerUrl && client.transport.key !== 'feePayer') {
|
|
16
|
+
const url = client.transport.url;
|
|
17
|
+
if (url) {
|
|
18
|
+
const wrapped = createClient({
|
|
19
|
+
chain: client.chain,
|
|
20
|
+
transport: withFeePayer(http(url), http(feePayerUrl)),
|
|
21
|
+
});
|
|
22
|
+
Object.assign(client, { transport: wrapped.transport, request: wrapped.request });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (!chain?.serializers || client.chain?.serializers?.transaction)
|
|
14
26
|
return client;
|
|
15
27
|
return Object.assign({}, client, {
|
|
16
28
|
chain: {
|
|
@@ -32,9 +44,10 @@ export function getResolver(parameters) {
|
|
|
32
44
|
const url = rpcUrl[resolvedChainId];
|
|
33
45
|
if (!url)
|
|
34
46
|
throw new Error(`No \`rpcUrl\` configured for \`chainId\` (${resolvedChainId}).`);
|
|
47
|
+
const transport = feePayerUrl ? withFeePayer(http(url), http(feePayerUrl)) : http(url);
|
|
35
48
|
return createClient({
|
|
36
49
|
chain: { ...chain, id: resolvedChainId },
|
|
37
|
-
transport
|
|
50
|
+
transport,
|
|
38
51
|
});
|
|
39
52
|
};
|
|
40
53
|
}
|
package/dist/viem/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/viem/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/viem/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,MAAM,UAAU,WAAW,CACzB,UAOC;IAED,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAE5D,IAAI,SAAS,EAAE,CAAC;QACd,+EAA+E;QAC/E,gFAAgF;QAChF,+EAA+E;QAC/E,kFAAkF;QAClF,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAA;QACzD,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;YAEtC,oFAAoF;YACpF,IAAI,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvD,MAAM,GAAG,GAAI,MAAM,CAAC,SAA8B,CAAC,GAAG,CAAA;gBACtD,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,OAAO,GAAG,YAAY,CAAC;wBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;qBACtD,CAAC,CAAA;oBACF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;gBACnF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW;gBAAE,OAAO,MAAM,CAAA;YAChF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE;gBAC/B,KAAK,EAAE;oBACL,GAAG,KAAK;oBACR,GAAG,MAAM,CAAC,KAAK;oBACf,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,IAAI,KAAK,CAAC,UAAU;oBACxD,yBAAyB,EACvB,MAAM,CAAC,KAAK,EAAE,yBAAyB,IAAI,KAAK,CAAC,yBAAyB;oBAC5E,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW;wBACjD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW;wBAC1B,CAAC,CAAC,KAAK,CAAC,WAAW;iBACC;aACzB,CAAC,CAAA;QACJ,CAAC,CAAA;IACH,CAAC;IAED,OAAO,CAAC,EAAE,OAAO,EAAoC,EAAE,EAAE;QACvD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACrD,MAAM,eAAe,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,CAAA;QAClE,MAAM,GAAG,GAAG,MAAM,CAAC,eAAsC,CAAC,CAAA;QAC1D,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,eAAe,IAAI,CAAC,CAAA;QAC3F,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtF,OAAO,YAAY,CAAC;YAClB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,eAAe,EAAW;YACjD,SAAS;SACV,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mppx",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.7",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"files": [
|
|
@@ -119,6 +119,10 @@
|
|
|
119
119
|
"ox": "^0.14.1",
|
|
120
120
|
"zod": "^4.3.6"
|
|
121
121
|
},
|
|
122
|
+
"repository": {
|
|
123
|
+
"type": "git",
|
|
124
|
+
"url": "https://github.com/wevm/mppx.git"
|
|
125
|
+
},
|
|
122
126
|
"sideEffects": false,
|
|
123
127
|
"module": "./dist/index.js",
|
|
124
128
|
"types": "./dist/index.d.ts",
|
|
@@ -59,6 +59,7 @@ export function sessionManager(parameters: sessionManager.Parameters): SessionMa
|
|
|
59
59
|
let channel: ChannelEntry | null = null
|
|
60
60
|
let lastChallenge: Challenge.Challenge | null = null
|
|
61
61
|
let lastUrl: RequestInfo | URL | null = null
|
|
62
|
+
let spent = 0n
|
|
62
63
|
|
|
63
64
|
const method = sessionPlugin({
|
|
64
65
|
account: parameters.account,
|
|
@@ -68,6 +69,7 @@ export function sessionManager(parameters: sessionManager.Parameters): SessionMa
|
|
|
68
69
|
decimals: parameters.decimals,
|
|
69
70
|
maxDeposit: parameters.maxDeposit,
|
|
70
71
|
onChannelUpdate(entry) {
|
|
72
|
+
if (entry.channelId !== channel?.channelId) spent = 0n
|
|
71
73
|
channel = entry
|
|
72
74
|
},
|
|
73
75
|
})
|
|
@@ -81,9 +83,16 @@ export function sessionManager(parameters: sessionManager.Parameters): SessionMa
|
|
|
81
83
|
},
|
|
82
84
|
})
|
|
83
85
|
|
|
86
|
+
function updateSpentFromReceipt(receipt: SessionReceipt | null | undefined) {
|
|
87
|
+
if (!receipt || receipt.channelId !== channel?.channelId) return
|
|
88
|
+
const next = BigInt(receipt.spent)
|
|
89
|
+
spent = spent > next ? spent : next
|
|
90
|
+
}
|
|
91
|
+
|
|
84
92
|
function toPaymentResponse(response: Response): PaymentResponse {
|
|
85
93
|
const receiptHeader = response.headers.get('Payment-Receipt')
|
|
86
94
|
const receipt = receiptHeader ? deserializeSessionReceipt(receiptHeader) : null
|
|
95
|
+
updateSpentFromReceipt(receipt)
|
|
87
96
|
return Object.assign(response, {
|
|
88
97
|
receipt,
|
|
89
98
|
challenge: lastChallenge,
|
|
@@ -216,6 +225,7 @@ export function sessionManager(parameters: sessionManager.Parameters): SessionMa
|
|
|
216
225
|
}
|
|
217
226
|
|
|
218
227
|
case 'payment-receipt':
|
|
228
|
+
updateSpentFromReceipt(event.data)
|
|
219
229
|
onReceipt?.(event.data)
|
|
220
230
|
break
|
|
221
231
|
}
|
|
@@ -237,7 +247,7 @@ export function sessionManager(parameters: sessionManager.Parameters): SessionMa
|
|
|
237
247
|
context: {
|
|
238
248
|
action: 'close',
|
|
239
249
|
channelId: channel.channelId,
|
|
240
|
-
cumulativeAmountRaw:
|
|
250
|
+
cumulativeAmountRaw: spent.toString(),
|
|
241
251
|
},
|
|
242
252
|
})
|
|
243
253
|
|
|
@@ -6,9 +6,10 @@ import type { Account, Address } from 'viem'
|
|
|
6
6
|
* Accepts either `account` or `recipient` as the parameter name. When the value
|
|
7
7
|
* is an `Account`, its address is extracted. If `feePayer` is `true`, the
|
|
8
8
|
* account also acts as the fee payer. Alternatively, a separate `Account`
|
|
9
|
-
* can be provided as the fee payer
|
|
9
|
+
* can be provided as the fee payer, or a URL string pointing to a fee payer
|
|
10
|
+
* relay service (used with `withFeePayer` transport wrapping).
|
|
10
11
|
*
|
|
11
|
-
* @returns An object with `account`, `feePayer`, and `recipient`.
|
|
12
|
+
* @returns An object with `account`, `feePayer`, `feePayerUrl`, and `recipient`.
|
|
12
13
|
*/
|
|
13
14
|
export function resolve(parameters: resolve.Parameters) {
|
|
14
15
|
const account = (() => {
|
|
@@ -20,13 +21,15 @@ export function resolve(parameters: resolve.Parameters) {
|
|
|
20
21
|
if (typeof parameters.account === 'object') return parameters.account.address
|
|
21
22
|
return parameters.account
|
|
22
23
|
})()
|
|
24
|
+
const feePayerUrl = typeof parameters.feePayer === 'string' ? parameters.feePayer : undefined
|
|
23
25
|
const feePayer = (() => {
|
|
26
|
+
if (typeof parameters.feePayer === 'string') return undefined
|
|
24
27
|
if (typeof parameters.account === 'object' && parameters.feePayer === true)
|
|
25
28
|
return parameters.account
|
|
26
29
|
if (typeof parameters.feePayer === 'object') return parameters.feePayer
|
|
27
30
|
return undefined
|
|
28
31
|
})()
|
|
29
|
-
return { account, feePayer, recipient: recipient as Address | undefined }
|
|
32
|
+
return { account, feePayer, feePayerUrl, recipient: recipient as Address | undefined }
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
export declare namespace resolve {
|
|
@@ -40,8 +43,8 @@ export declare namespace resolve {
|
|
|
40
43
|
| {
|
|
41
44
|
/** Address that receives payment. */
|
|
42
45
|
account?: Address | undefined
|
|
43
|
-
/** Optional fee payer account for covering transaction fees. */
|
|
44
|
-
feePayer?: Account | undefined
|
|
46
|
+
/** Optional fee payer account or fee payer URL for covering transaction fees. */
|
|
47
|
+
feePayer?: Account | string | undefined
|
|
45
48
|
}
|
|
46
49
|
)
|
|
47
50
|
}
|
|
@@ -2,8 +2,9 @@ import { Challenge, Credential, Receipt } from 'mppx'
|
|
|
2
2
|
import { Mppx as Mppx_client, tempo as tempo_client } from 'mppx/client'
|
|
3
3
|
import { Mppx as Mppx_server, tempo as tempo_server } from 'mppx/server'
|
|
4
4
|
import type { Hex } from 'ox'
|
|
5
|
+
import { Handler } from 'tempo.ts/server'
|
|
5
6
|
import { encodeFunctionData, parseUnits } from 'viem'
|
|
6
|
-
import { prepareTransactionRequest, signTransaction } from 'viem/actions'
|
|
7
|
+
import { getTransactionReceipt, prepareTransactionRequest, signTransaction } from 'viem/actions'
|
|
7
8
|
import { Abis, Actions, Addresses, Tick } from 'viem/tempo'
|
|
8
9
|
import { beforeAll, describe, expect, test } from 'vitest'
|
|
9
10
|
import * as Http from '~test/Http.js'
|
|
@@ -487,6 +488,62 @@ describe('tempo', () => {
|
|
|
487
488
|
httpServer.close()
|
|
488
489
|
})
|
|
489
490
|
|
|
491
|
+
test('behavior: fee payer URL (withFeePayer transport)', async () => {
|
|
492
|
+
const feePayerHandler = Handler.feePayer({
|
|
493
|
+
account: accounts[0],
|
|
494
|
+
client,
|
|
495
|
+
})
|
|
496
|
+
const feePayerServer = await Http.createServer(feePayerHandler.listener)
|
|
497
|
+
|
|
498
|
+
const serverWithFeePayer = Mppx_server.create({
|
|
499
|
+
methods: [
|
|
500
|
+
tempo_server.charge({
|
|
501
|
+
feePayer: feePayerServer.url,
|
|
502
|
+
getClient: () => client,
|
|
503
|
+
currency: asset,
|
|
504
|
+
}),
|
|
505
|
+
],
|
|
506
|
+
realm,
|
|
507
|
+
secretKey,
|
|
508
|
+
})
|
|
509
|
+
|
|
510
|
+
const mppx = Mppx_client.create({
|
|
511
|
+
polyfill: false,
|
|
512
|
+
methods: [
|
|
513
|
+
tempo_client({
|
|
514
|
+
account: accounts[1],
|
|
515
|
+
getClient: () => client,
|
|
516
|
+
}),
|
|
517
|
+
],
|
|
518
|
+
})
|
|
519
|
+
|
|
520
|
+
const httpServer = await Http.createServer(async (req, res) => {
|
|
521
|
+
const result = await Mppx_server.toNodeListener(
|
|
522
|
+
serverWithFeePayer.charge({
|
|
523
|
+
amount: '1',
|
|
524
|
+
currency: asset,
|
|
525
|
+
recipient: accounts[0].address,
|
|
526
|
+
}),
|
|
527
|
+
)(req, res)
|
|
528
|
+
if (result.status === 402) return
|
|
529
|
+
res.end('OK')
|
|
530
|
+
})
|
|
531
|
+
|
|
532
|
+
const response = await mppx.fetch(httpServer.url)
|
|
533
|
+
expect(response.status).toBe(200)
|
|
534
|
+
|
|
535
|
+
const receipt = Receipt.fromResponse(response)
|
|
536
|
+
expect(receipt.status).toBe('success')
|
|
537
|
+
|
|
538
|
+
const txReceipt = await getTransactionReceipt(client, {
|
|
539
|
+
hash: receipt.reference as Hex.Hex,
|
|
540
|
+
})
|
|
541
|
+
expect((txReceipt as any).feePayer).toBe(accounts[0].address.toLowerCase())
|
|
542
|
+
|
|
543
|
+
httpServer.close()
|
|
544
|
+
feePayerServer.close()
|
|
545
|
+
})
|
|
546
|
+
|
|
490
547
|
test('error: rejects fee-payer transaction with unauthorized calls', async () => {
|
|
491
548
|
const httpServer = await Http.createServer(async (req, res) => {
|
|
492
549
|
const result = await Mppx_server.toNodeListener(
|
|
@@ -42,10 +42,11 @@ export function charge<const parameters extends charge.Parameters>(
|
|
|
42
42
|
waitForConfirmation = true,
|
|
43
43
|
} = parameters
|
|
44
44
|
|
|
45
|
-
const { recipient, feePayer } = Account.resolve(parameters)
|
|
45
|
+
const { recipient, feePayer, feePayerUrl } = Account.resolve(parameters)
|
|
46
46
|
|
|
47
47
|
const getClient = Client.getResolver({
|
|
48
48
|
chain: { ...tempo_chain, experimental_preconfirmationTime: 500 },
|
|
49
|
+
feePayerUrl,
|
|
49
50
|
getClient: parameters.getClient,
|
|
50
51
|
rpcUrl: defaults.rpcUrl,
|
|
51
52
|
})
|
|
@@ -82,7 +83,7 @@ export function charge<const parameters extends charge.Parameters>(
|
|
|
82
83
|
|
|
83
84
|
const resolvedFeePayer = (() => {
|
|
84
85
|
const account = typeof request.feePayer === 'object' ? request.feePayer : feePayer
|
|
85
|
-
const requested = request.feePayer !== false && (account ?? feePayer)
|
|
86
|
+
const requested = request.feePayer !== false && (account ?? feePayer ?? feePayerUrl)
|
|
86
87
|
if (credential) return account
|
|
87
88
|
if (requested) return true
|
|
88
89
|
return undefined
|
|
@@ -235,7 +236,7 @@ export function charge<const parameters extends charge.Parameters>(
|
|
|
235
236
|
recipient,
|
|
236
237
|
})
|
|
237
238
|
|
|
238
|
-
if (feePayer && methodDetails?.feePayer !== false)
|
|
239
|
+
if ((feePayer || feePayerUrl) && methodDetails?.feePayer !== false)
|
|
239
240
|
FeePayer.validateCalls(calls, { amount, currency, recipient })
|
|
240
241
|
|
|
241
242
|
const resolvedFeeToken =
|
|
@@ -630,7 +630,7 @@ describe('session', () => {
|
|
|
630
630
|
expect(ch!.highestVoucherAmount).toBe(5000000n)
|
|
631
631
|
})
|
|
632
632
|
|
|
633
|
-
test('
|
|
633
|
+
test('accepts close at spent amount (below highestVoucherAmount)', async () => {
|
|
634
634
|
const { channelId, serializedTransaction } = await createSignedOpenTransaction(10000000n)
|
|
635
635
|
const server = createServer()
|
|
636
636
|
await openServerChannel(server, channelId, serializedTransaction)
|
|
@@ -648,20 +648,50 @@ describe('session', () => {
|
|
|
648
648
|
request: makeRequest(),
|
|
649
649
|
})
|
|
650
650
|
|
|
651
|
+
await charge(store, channelId, 500000n)
|
|
652
|
+
|
|
653
|
+
const receipt = await server.verify({
|
|
654
|
+
credential: {
|
|
655
|
+
challenge: makeChallenge({ id: 'challenge-3', channelId }),
|
|
656
|
+
payload: {
|
|
657
|
+
action: 'close' as const,
|
|
658
|
+
channelId,
|
|
659
|
+
cumulativeAmount: '500000',
|
|
660
|
+
signature: await signTestVoucher(channelId, 500000n),
|
|
661
|
+
},
|
|
662
|
+
},
|
|
663
|
+
request: makeRequest(),
|
|
664
|
+
})
|
|
665
|
+
|
|
666
|
+
expect(receipt.status).toBe('success')
|
|
667
|
+
|
|
668
|
+
const ch = await store.getChannel(channelId)
|
|
669
|
+
expect(ch).not.toBeNull()
|
|
670
|
+
expect(ch!.highestVoucherAmount).toBe(3000000n)
|
|
671
|
+
expect(ch!.finalized).toBe(true)
|
|
672
|
+
})
|
|
673
|
+
|
|
674
|
+
test('rejects close below spent amount', async () => {
|
|
675
|
+
const { channelId, serializedTransaction } = await createSignedOpenTransaction(10000000n)
|
|
676
|
+
const server = createServer()
|
|
677
|
+
await openServerChannel(server, channelId, serializedTransaction)
|
|
678
|
+
|
|
679
|
+
await charge(store, channelId, 500000n)
|
|
680
|
+
|
|
651
681
|
await expect(
|
|
652
682
|
server.verify({
|
|
653
683
|
credential: {
|
|
654
|
-
challenge: makeChallenge({ id: 'challenge-
|
|
684
|
+
challenge: makeChallenge({ id: 'challenge-2', channelId }),
|
|
655
685
|
payload: {
|
|
656
686
|
action: 'close' as const,
|
|
657
687
|
channelId,
|
|
658
|
-
cumulativeAmount: '
|
|
659
|
-
signature: await signTestVoucher(channelId,
|
|
688
|
+
cumulativeAmount: '100000',
|
|
689
|
+
signature: await signTestVoucher(channelId, 100000n),
|
|
660
690
|
},
|
|
661
691
|
},
|
|
662
692
|
request: makeRequest(),
|
|
663
693
|
}),
|
|
664
|
-
).rejects.toThrow('close voucher amount must be >=
|
|
694
|
+
).rejects.toThrow('close voucher amount must be >=')
|
|
665
695
|
})
|
|
666
696
|
|
|
667
697
|
test('rejects close exceeding on-chain deposit', async () => {
|
|
@@ -98,12 +98,14 @@ export function session<const parameters extends session.Parameters>(p?: paramet
|
|
|
98
98
|
|
|
99
99
|
const store = ChannelStore.fromStore(rawStore)
|
|
100
100
|
|
|
101
|
+
const { account, recipient, feePayer, feePayerUrl } = Account.resolve(parameters)
|
|
102
|
+
|
|
101
103
|
const getClient = Client.getResolver({
|
|
102
104
|
chain: tempo_chain,
|
|
105
|
+
feePayerUrl,
|
|
103
106
|
getClient: parameters.getClient,
|
|
104
107
|
rpcUrl: defaults.rpcUrl,
|
|
105
108
|
})
|
|
106
|
-
const { account, recipient, feePayer } = Account.resolve(parameters)
|
|
107
109
|
|
|
108
110
|
type Transport = parameters['sse'] extends false | undefined ? undefined : Transport.Sse
|
|
109
111
|
const transport = parameters.sse
|
|
@@ -154,7 +156,7 @@ export function session<const parameters extends session.Parameters>(p?: paramet
|
|
|
154
156
|
// Extract feePayer.
|
|
155
157
|
const resolvedFeePayer = (() => {
|
|
156
158
|
const account = typeof request.feePayer === 'object' ? request.feePayer : feePayer
|
|
157
|
-
const requested = request.feePayer !== false && (account ?? feePayer)
|
|
159
|
+
const requested = request.feePayer !== false && (account ?? feePayer ?? feePayerUrl)
|
|
158
160
|
if (credential) return account
|
|
159
161
|
if (requested) return true
|
|
160
162
|
return undefined
|
|
@@ -772,21 +774,16 @@ async function handleClose(
|
|
|
772
774
|
payload.signature,
|
|
773
775
|
)
|
|
774
776
|
|
|
775
|
-
if (voucher.cumulativeAmount < channel.highestVoucherAmount) {
|
|
776
|
-
throw new VerificationFailedError({
|
|
777
|
-
reason: 'close voucher amount must be >= highest accepted voucher',
|
|
778
|
-
})
|
|
779
|
-
}
|
|
780
|
-
|
|
781
777
|
const onChain = await getOnChainChannel(client, methodDetails.escrowContract, payload.channelId)
|
|
782
778
|
|
|
783
779
|
if (onChain.finalized) {
|
|
784
780
|
throw new ChannelClosedError({ reason: 'channel is finalized on-chain' })
|
|
785
781
|
}
|
|
786
782
|
|
|
787
|
-
|
|
783
|
+
const minCloseAmount = channel.spent > onChain.settled ? channel.spent : onChain.settled
|
|
784
|
+
if (voucher.cumulativeAmount < minCloseAmount) {
|
|
788
785
|
throw new VerificationFailedError({
|
|
789
|
-
reason:
|
|
786
|
+
reason: `close voucher amount must be >= ${minCloseAmount} (max of spent and on-chain settled)`,
|
|
790
787
|
})
|
|
791
788
|
}
|
|
792
789
|
|
|
@@ -817,11 +814,14 @@ async function handleClose(
|
|
|
817
814
|
|
|
818
815
|
const updated = await store.updateChannel(payload.channelId, (current) => {
|
|
819
816
|
if (!current) return null
|
|
817
|
+
const updateVoucher = voucher.cumulativeAmount > current.highestVoucherAmount
|
|
820
818
|
return {
|
|
821
819
|
...current,
|
|
822
820
|
deposit: onChain.deposit,
|
|
823
|
-
|
|
824
|
-
|
|
821
|
+
...(updateVoucher && {
|
|
822
|
+
highestVoucherAmount: voucher.cumulativeAmount,
|
|
823
|
+
highestVoucher: voucher,
|
|
824
|
+
}),
|
|
825
825
|
finalized: true,
|
|
826
826
|
}
|
|
827
827
|
})
|
package/src/viem/Client.ts
CHANGED
|
@@ -1,25 +1,41 @@
|
|
|
1
1
|
import { type Chain, type Client, createClient, http } from 'viem'
|
|
2
|
+
import { withFeePayer } from 'viem/tempo'
|
|
2
3
|
import type { MaybePromise } from '../internal/types.js'
|
|
3
4
|
|
|
4
5
|
export function getResolver(
|
|
5
6
|
parameters: getResolver.Parameters & {
|
|
6
7
|
/** Default chain to use if not provided. */
|
|
7
8
|
chain?: Chain | undefined
|
|
9
|
+
/** Fee payer relay URL. When set, the transport is wrapped with `withFeePayer`. */
|
|
10
|
+
feePayerUrl?: string | undefined
|
|
8
11
|
/** RPC URLs keyed by chain ID. */
|
|
9
12
|
rpcUrl?: ({ [chainId: number]: string } & object) | undefined
|
|
10
13
|
},
|
|
11
14
|
): (parameters: { chainId?: number | undefined }) => MaybePromise<Client> {
|
|
12
|
-
const { chain, getClient, rpcUrl } = parameters
|
|
15
|
+
const { chain, feePayerUrl, getClient, rpcUrl } = parameters
|
|
13
16
|
|
|
14
17
|
if (getClient) {
|
|
15
18
|
// When a default chain with serializers is provided (e.g. Tempo chain config),
|
|
16
19
|
// ensure user-provided clients inherit those serializers. Without this, clients
|
|
17
20
|
// created without the Tempo chain config will use the default viem serializer,
|
|
18
21
|
// causing errors like "maxFeePerGas is not a valid Legacy Transaction attribute".
|
|
19
|
-
if (!chain?.serializers) return getClient
|
|
22
|
+
if (!chain?.serializers && !feePayerUrl) return getClient
|
|
20
23
|
return async (params) => {
|
|
21
24
|
const client = await getClient(params)
|
|
22
|
-
|
|
25
|
+
|
|
26
|
+
// Wrap the client's transport with `withFeePayer` when a fee payer URL is provided.
|
|
27
|
+
if (feePayerUrl && client.transport.key !== 'feePayer') {
|
|
28
|
+
const url = (client.transport as { url?: string }).url
|
|
29
|
+
if (url) {
|
|
30
|
+
const wrapped = createClient({
|
|
31
|
+
chain: client.chain,
|
|
32
|
+
transport: withFeePayer(http(url), http(feePayerUrl)),
|
|
33
|
+
})
|
|
34
|
+
Object.assign(client, { transport: wrapped.transport, request: wrapped.request })
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (!chain?.serializers || client.chain?.serializers?.transaction) return client
|
|
23
39
|
return Object.assign({}, client, {
|
|
24
40
|
chain: {
|
|
25
41
|
...chain,
|
|
@@ -40,9 +56,10 @@ export function getResolver(
|
|
|
40
56
|
const resolvedChainId = chainId || Number(Object.keys(rpcUrl)[0])!
|
|
41
57
|
const url = rpcUrl[resolvedChainId as keyof typeof rpcUrl]
|
|
42
58
|
if (!url) throw new Error(`No \`rpcUrl\` configured for \`chainId\` (${resolvedChainId}).`)
|
|
59
|
+
const transport = feePayerUrl ? withFeePayer(http(url), http(feePayerUrl)) : http(url)
|
|
43
60
|
return createClient({
|
|
44
61
|
chain: { ...chain, id: resolvedChainId } as never,
|
|
45
|
-
transport
|
|
62
|
+
transport,
|
|
46
63
|
})
|
|
47
64
|
}
|
|
48
65
|
}
|