@bloxchain/sdk 1.0.0-alpha.16 → 1.0.0-alpha.18
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/abi/EngineBlox.abi.json +25 -29
- package/dist/abi/EngineBlox.abi.json +25 -29
- package/dist/contracts/core/BaseStateMachine.d.ts.map +1 -1
- package/dist/contracts/core/BaseStateMachine.js +27 -1
- package/dist/contracts/core/BaseStateMachine.js.map +1 -1
- package/dist/interfaces/base.index.d.ts +1 -1
- package/dist/interfaces/base.index.d.ts.map +1 -1
- package/dist/lib/EngineBlox.d.ts +7 -25
- package/dist/lib/EngineBlox.d.ts.map +1 -1
- package/dist/lib/EngineBlox.js +12 -47
- package/dist/lib/EngineBlox.js.map +1 -1
- package/dist/utils/metaTx/metaTransaction.d.ts +101 -5
- package/dist/utils/metaTx/metaTransaction.d.ts.map +1 -1
- package/dist/utils/metaTx/metaTransaction.js +131 -20
- package/dist/utils/metaTx/metaTransaction.js.map +1 -1
- package/package.json +1 -1
package/abi/EngineBlox.abi.json
CHANGED
|
@@ -349,6 +349,28 @@
|
|
|
349
349
|
"name": "MetaTxExpired",
|
|
350
350
|
"type": "error"
|
|
351
351
|
},
|
|
352
|
+
{
|
|
353
|
+
"inputs": [
|
|
354
|
+
{
|
|
355
|
+
"internalType": "uint256",
|
|
356
|
+
"name": "txId",
|
|
357
|
+
"type": "uint256"
|
|
358
|
+
}
|
|
359
|
+
],
|
|
360
|
+
"name": "MetaTxPaymentMismatchStoredTx",
|
|
361
|
+
"type": "error"
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"inputs": [
|
|
365
|
+
{
|
|
366
|
+
"internalType": "uint256",
|
|
367
|
+
"name": "txId",
|
|
368
|
+
"type": "uint256"
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
"name": "MetaTxRecordMismatchStoredTx",
|
|
372
|
+
"type": "error"
|
|
373
|
+
},
|
|
352
374
|
{
|
|
353
375
|
"inputs": [
|
|
354
376
|
{
|
|
@@ -667,38 +689,12 @@
|
|
|
667
689
|
},
|
|
668
690
|
{
|
|
669
691
|
"inputs": [],
|
|
670
|
-
"name": "
|
|
671
|
-
"outputs": [
|
|
672
|
-
{
|
|
673
|
-
"internalType": "uint8",
|
|
674
|
-
"name": "",
|
|
675
|
-
"type": "uint8"
|
|
676
|
-
}
|
|
677
|
-
],
|
|
678
|
-
"stateMutability": "view",
|
|
679
|
-
"type": "function"
|
|
680
|
-
},
|
|
681
|
-
{
|
|
682
|
-
"inputs": [],
|
|
683
|
-
"name": "VERSION_MINOR",
|
|
692
|
+
"name": "VERSION",
|
|
684
693
|
"outputs": [
|
|
685
694
|
{
|
|
686
|
-
"internalType": "
|
|
695
|
+
"internalType": "string",
|
|
687
696
|
"name": "",
|
|
688
|
-
"type": "
|
|
689
|
-
}
|
|
690
|
-
],
|
|
691
|
-
"stateMutability": "view",
|
|
692
|
-
"type": "function"
|
|
693
|
-
},
|
|
694
|
-
{
|
|
695
|
-
"inputs": [],
|
|
696
|
-
"name": "VERSION_PATCH",
|
|
697
|
-
"outputs": [
|
|
698
|
-
{
|
|
699
|
-
"internalType": "uint8",
|
|
700
|
-
"name": "",
|
|
701
|
-
"type": "uint8"
|
|
697
|
+
"type": "string"
|
|
702
698
|
}
|
|
703
699
|
],
|
|
704
700
|
"stateMutability": "view",
|
|
@@ -349,6 +349,28 @@
|
|
|
349
349
|
"name": "MetaTxExpired",
|
|
350
350
|
"type": "error"
|
|
351
351
|
},
|
|
352
|
+
{
|
|
353
|
+
"inputs": [
|
|
354
|
+
{
|
|
355
|
+
"internalType": "uint256",
|
|
356
|
+
"name": "txId",
|
|
357
|
+
"type": "uint256"
|
|
358
|
+
}
|
|
359
|
+
],
|
|
360
|
+
"name": "MetaTxPaymentMismatchStoredTx",
|
|
361
|
+
"type": "error"
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"inputs": [
|
|
365
|
+
{
|
|
366
|
+
"internalType": "uint256",
|
|
367
|
+
"name": "txId",
|
|
368
|
+
"type": "uint256"
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
"name": "MetaTxRecordMismatchStoredTx",
|
|
372
|
+
"type": "error"
|
|
373
|
+
},
|
|
352
374
|
{
|
|
353
375
|
"inputs": [
|
|
354
376
|
{
|
|
@@ -667,38 +689,12 @@
|
|
|
667
689
|
},
|
|
668
690
|
{
|
|
669
691
|
"inputs": [],
|
|
670
|
-
"name": "
|
|
671
|
-
"outputs": [
|
|
672
|
-
{
|
|
673
|
-
"internalType": "uint8",
|
|
674
|
-
"name": "",
|
|
675
|
-
"type": "uint8"
|
|
676
|
-
}
|
|
677
|
-
],
|
|
678
|
-
"stateMutability": "view",
|
|
679
|
-
"type": "function"
|
|
680
|
-
},
|
|
681
|
-
{
|
|
682
|
-
"inputs": [],
|
|
683
|
-
"name": "VERSION_MINOR",
|
|
692
|
+
"name": "VERSION",
|
|
684
693
|
"outputs": [
|
|
685
694
|
{
|
|
686
|
-
"internalType": "
|
|
695
|
+
"internalType": "string",
|
|
687
696
|
"name": "",
|
|
688
|
-
"type": "
|
|
689
|
-
}
|
|
690
|
-
],
|
|
691
|
-
"stateMutability": "view",
|
|
692
|
-
"type": "function"
|
|
693
|
-
},
|
|
694
|
-
{
|
|
695
|
-
"inputs": [],
|
|
696
|
-
"name": "VERSION_PATCH",
|
|
697
|
-
"outputs": [
|
|
698
|
-
{
|
|
699
|
-
"internalType": "uint8",
|
|
700
|
-
"name": "",
|
|
701
|
-
"type": "uint8"
|
|
697
|
+
"type": "string"
|
|
702
698
|
}
|
|
703
699
|
],
|
|
704
700
|
"stateMutability": "view",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseStateMachine.d.ts","sourceRoot":"","sources":["../../../contracts/core/BaseStateMachine.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAa,MAAM,MAAM,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D;;;GAGG;AACH,8BAAsB,gBAAiB,YAAW,iBAAiB;IAE/D,SAAS,CAAC,MAAM,EAAE,YAAY;IAC9B,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS;IAChD,SAAS,CAAC,eAAe,EAAE,OAAO;IAClC,SAAS,CAAC,KAAK,EAAE,KAAK;IACtB,SAAS,CAAC,GAAG,EAAE,GAAG;gBAJR,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG;IAKpB;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAMtC;;OAEG;cACa,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseStateMachine.d.ts","sourceRoot":"","sources":["../../../contracts/core/BaseStateMachine.tsx"],"names":[],"mappings":"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"}
|
|
@@ -67,7 +67,33 @@ export class BaseStateMachine {
|
|
|
67
67
|
console.warn(`[BaseStateMachine] Pre-flight simulation failed for ${functionName} (mode=${simulationMode}); continuing to send tx: ${msg}`);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
//
|
|
70
|
+
// Forward explicit gas limit when provided so callers can bypass eth_estimateGas.
|
|
71
|
+
if (options.gas !== undefined) {
|
|
72
|
+
const rawGas = options.gas;
|
|
73
|
+
let gasLimit;
|
|
74
|
+
if (typeof rawGas === 'bigint') {
|
|
75
|
+
gasLimit = rawGas;
|
|
76
|
+
}
|
|
77
|
+
else if (typeof rawGas === 'number') {
|
|
78
|
+
if (!Number.isSafeInteger(rawGas) || rawGas < 0) {
|
|
79
|
+
throw new Error(`Invalid gas: number inputs must be non-negative safe integers (got "${rawGas}"). ` +
|
|
80
|
+
'Use a bigint or decimal string for larger values.');
|
|
81
|
+
}
|
|
82
|
+
gasLimit = BigInt(rawGas);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const s = String(rawGas).trim();
|
|
86
|
+
if (!/^\d+$/.test(s)) {
|
|
87
|
+
throw new Error(`Invalid gas: must be a non-negative integer (got "${options.gas}"). Use a number-like value, decimal string, or bigint.`);
|
|
88
|
+
}
|
|
89
|
+
gasLimit = BigInt(s);
|
|
90
|
+
}
|
|
91
|
+
if (gasLimit < 0n) {
|
|
92
|
+
throw new Error(`Invalid gas: must be non-negative (got ${gasLimit.toString()})`);
|
|
93
|
+
}
|
|
94
|
+
writeContractParams.gas = gasLimit;
|
|
95
|
+
}
|
|
96
|
+
// Add gas price override for write only (EIP-1559); viem rejects mixing gasPrice with maxFeePerGas.
|
|
71
97
|
if (options.gasPrice !== undefined && options.gasPrice !== '') {
|
|
72
98
|
const raw = options.gasPrice;
|
|
73
99
|
let gasPriceWei;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseStateMachine.js","sourceRoot":"","sources":["../../../contracts/core/BaseStateMachine.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmD,SAAS,EAAE,MAAM,MAAM,CAAC;AAMlF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;;GAGG;AACH,MAAM,OAAgB,gBAAgB;IACpC,YACY,MAAoB,EACpB,YAAsC,EACtC,eAAwB,EACxB,KAAY,EACZ,GAAQ;QAJR,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAA0B;QACtC,oBAAe,GAAf,eAAe,CAAS;QACxB,UAAK,GAAL,KAAK,CAAO;QACZ,QAAG,GAAH,GAAG,CAAK;IACjB,CAAC;IAEJ,mDAAmD;IAEnD;;OAEG;IACO,oBAAoB;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,oBAAoB,CAClC,YAAoB,EACpB,IAAW,EACX,OAA2B;QAE3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,wEAAwE;QACxE,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAa,CAAC,OAAO,EAAE,OAAO,CAAC;QAChE,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpD,MAAM,mBAAmB,GAAQ;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY;YACZ,IAAI;SACL,CAAC;QACF,6DAA6D;QAC7D,0DAA0D;QAC1D,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,WAAW,EAAE,KAAK,gBAAgB,EAAE,CAAC;YACnF,mBAAmB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7C,CAAC;QAED,2DAA2D;QAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,QAAQ,CAAC;QAE1D,IAAI,CAAC;YACH,2FAA2F;YAC3F,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;wBACjC,GAAG,mBAAmB;wBACtB,OAAO,EAAE,mBAAmB,CAAC,OAAO,IAAI,IAAI,CAAC,YAAa,CAAC,OAAO;qBACnE,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,aAAkB,EAAE,CAAC;oBAC5B,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;wBAChC,MAAM,aAAa,CAAC;oBACtB,CAAC;oBAED,MAAM,GAAG,GACP,aAAa,EAAE,YAAY;wBAC3B,aAAa,EAAE,OAAO;wBACtB,aAAa,EAAE,KAAK,EAAE,YAAY;wBAClC,aAAa,EAAE,KAAK,EAAE,OAAO;wBAC7B,MAAM,CAAC,aAAa,CAAC,CAAC;oBACxB,sCAAsC;oBACtC,OAAO,CAAC,IAAI,CACV,uDAAuD,YAAY,UAAU,cAAc,6BAA6B,GAAG,EAAE,CAC9H,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,
|
|
1
|
+
{"version":3,"file":"BaseStateMachine.js","sourceRoot":"","sources":["../../../contracts/core/BaseStateMachine.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export interface TransactionResult {
|
|
|
11
11
|
}
|
|
12
12
|
export interface TransactionOptions {
|
|
13
13
|
from: Address;
|
|
14
|
-
gas?: number;
|
|
14
|
+
gas?: number | bigint | string;
|
|
15
15
|
/** Max fee per gas (EIP-1559) in wei. Prefer bigint; string must be a non-negative integer. */
|
|
16
16
|
gasPrice?: string | bigint;
|
|
17
17
|
value?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.index.d.ts","sourceRoot":"","sources":["../../interfaces/base.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,iEAAiE;IACjE,IAAI,EAAE,IAAI,CAAC;IACX,wEAAwE;IACxE,IAAI,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACzC;AAGH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"base.index.d.ts","sourceRoot":"","sources":["../../interfaces/base.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,iEAAiE;IACjE,IAAI,EAAE,IAAI,CAAC;IACX,wEAAwE;IACxE,IAAI,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACzC;AAGH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;CAClD"}
|
package/dist/lib/EngineBlox.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ import { Uint16Bitmap } from '../utils/bitmap';
|
|
|
15
15
|
*
|
|
16
16
|
* // Access constants
|
|
17
17
|
* const protocolName = EngineBlox.PROTOCOL_NAME_HASH;
|
|
18
|
-
* const version =
|
|
18
|
+
* const version = EngineBlox.VERSION;
|
|
19
19
|
*
|
|
20
20
|
* // Use pure functions
|
|
21
21
|
* const signer = EngineBlox.recoverSigner(messageHash, signature);
|
|
@@ -30,17 +30,9 @@ export declare class EngineBlox {
|
|
|
30
30
|
*/
|
|
31
31
|
static readonly PROTOCOL_NAME_HASH: Hex;
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* Protocol version string (semver, e.g. "1.0.0"). Matches EngineBlox.sol VERSION and EIP-712 domain version.
|
|
34
34
|
*/
|
|
35
|
-
static readonly
|
|
36
|
-
/**
|
|
37
|
-
* Minor version number
|
|
38
|
-
*/
|
|
39
|
-
static readonly VERSION_MINOR: number;
|
|
40
|
-
/**
|
|
41
|
-
* Patch version number
|
|
42
|
-
*/
|
|
43
|
-
static readonly VERSION_PATCH: number;
|
|
35
|
+
static readonly VERSION: string;
|
|
44
36
|
/**
|
|
45
37
|
* Native token transfer selector (reserved signature for simple ETH transfers)
|
|
46
38
|
* Computed as bytes4(keccak256("__bloxchain_native_transfer__()"))
|
|
@@ -63,21 +55,11 @@ export declare class EngineBlox {
|
|
|
63
55
|
*/
|
|
64
56
|
static readonly RECOVERY_ROLE: Hex;
|
|
65
57
|
/**
|
|
66
|
-
* @dev Recovers the signer address from
|
|
67
|
-
* @param messageHash The
|
|
68
|
-
* @param signature The signature
|
|
58
|
+
* @dev Recovers the signer address from the EIP-712 digest and signature (standard EIP-712; no EIP-191 prefix).
|
|
59
|
+
* @param messageHash The EIP-712 digest (keccak256("\x19\x01" || domainSeparator || structHash))
|
|
60
|
+
* @param signature The signature (65 bytes)
|
|
69
61
|
* @returns Promise that resolves to the address of the signer
|
|
70
|
-
* @
|
|
71
|
-
*
|
|
72
|
-
* @notice This matches the contract's recoverSigner function which uses
|
|
73
|
-
* messageHash.toEthSignedMessageHash() to convert to EIP-191 format
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* ```typescript
|
|
77
|
-
* const messageHash = "0x1234...";
|
|
78
|
-
* const signature = "0xabcd...";
|
|
79
|
-
* const signer = await EngineBlox.recoverSigner(messageHash, signature);
|
|
80
|
-
* ```
|
|
62
|
+
* @notice Matches the contract's recoverSigner which uses ecrecover(messageHash, v, r, s) on the raw digest.
|
|
81
63
|
*/
|
|
82
64
|
static recoverSigner(messageHash: Hex, signature: Hex): Promise<Address>;
|
|
83
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineBlox.d.ts","sourceRoot":"","sources":["../../lib/EngineBlox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,GAAG,EAA4C,MAAM,MAAM,CAAC;AACxG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AASnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IAGrB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAA0B;IAEjE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"EngineBlox.d.ts","sourceRoot":"","sources":["../../lib/EngineBlox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,GAAG,EAA4C,MAAM,MAAM,CAAC;AACxG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AASnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IAGrB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAA0B;IAEjE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IAI1C;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAEpC;IAET;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,CAAgC;IAI9E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAA2B;IAE1D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAiC;IAEtE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAA8B;IAIhE;;;;;;OAMG;WACU,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB9E;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAIzE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAG,YAAY;IAI9E;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY;IAQjE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,EAAE;CAYhE;AAED;;GAEG;AACH,eAAe,UAAU,CAAC"}
|
package/dist/lib/EngineBlox.js
CHANGED
|
@@ -20,7 +20,7 @@ const keccak256 = (str) => {
|
|
|
20
20
|
*
|
|
21
21
|
* // Access constants
|
|
22
22
|
* const protocolName = EngineBlox.PROTOCOL_NAME_HASH;
|
|
23
|
-
* const version =
|
|
23
|
+
* const version = EngineBlox.VERSION;
|
|
24
24
|
*
|
|
25
25
|
* // Use pure functions
|
|
26
26
|
* const signer = EngineBlox.recoverSigner(messageHash, signature);
|
|
@@ -32,49 +32,22 @@ const keccak256 = (str) => {
|
|
|
32
32
|
export class EngineBlox {
|
|
33
33
|
// ============ PURE FUNCTIONS ============
|
|
34
34
|
/**
|
|
35
|
-
* @dev Recovers the signer address from
|
|
36
|
-
* @param messageHash The
|
|
37
|
-
* @param signature The signature
|
|
35
|
+
* @dev Recovers the signer address from the EIP-712 digest and signature (standard EIP-712; no EIP-191 prefix).
|
|
36
|
+
* @param messageHash The EIP-712 digest (keccak256("\x19\x01" || domainSeparator || structHash))
|
|
37
|
+
* @param signature The signature (65 bytes)
|
|
38
38
|
* @returns Promise that resolves to the address of the signer
|
|
39
|
-
* @
|
|
40
|
-
*
|
|
41
|
-
* @notice This matches the contract's recoverSigner function which uses
|
|
42
|
-
* messageHash.toEthSignedMessageHash() to convert to EIP-191 format
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```typescript
|
|
46
|
-
* const messageHash = "0x1234...";
|
|
47
|
-
* const signature = "0xabcd...";
|
|
48
|
-
* const signer = await EngineBlox.recoverSigner(messageHash, signature);
|
|
49
|
-
* ```
|
|
39
|
+
* @notice Matches the contract's recoverSigner which uses ecrecover(messageHash, v, r, s) on the raw digest.
|
|
50
40
|
*/
|
|
51
41
|
static async recoverSigner(messageHash, signature) {
|
|
52
|
-
// Validate signature length (65 bytes = 130 hex chars + '0x' prefix)
|
|
53
42
|
if (signature.length !== 132) {
|
|
54
|
-
throw new Error(`Invalid signature length: expected 65 bytes (132 hex chars), got ${signature.length - 2} bytes`);
|
|
43
|
+
throw new Error(`Invalid signature length: expected 65 bytes (132 hex chars), got ${(signature.length - 2) / 2} bytes`);
|
|
55
44
|
}
|
|
56
45
|
try {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const prefix = '\x19Ethereum Signed Message:\n32';
|
|
61
|
-
const messageHashBytes = Buffer.from(messageHash.slice(2), 'hex');
|
|
62
|
-
// Concatenate prefix and hash
|
|
63
|
-
const eip191Message = Buffer.concat([
|
|
64
|
-
Buffer.from(prefix, 'utf8'),
|
|
65
|
-
messageHashBytes
|
|
66
|
-
]);
|
|
67
|
-
// Convert Buffer to Uint8Array for viem
|
|
68
|
-
const eip191MessageBytes = new Uint8Array(eip191Message);
|
|
69
|
-
// Hash the EIP-191 formatted message
|
|
70
|
-
const eip191Hash = (await k256(eip191MessageBytes));
|
|
71
|
-
// Recover address from the EIP-191 formatted hash
|
|
72
|
-
// Note: recoverAddress is async in viem
|
|
73
|
-
const recovered = await recoverAddress({
|
|
74
|
-
hash: eip191Hash,
|
|
75
|
-
signature: signature
|
|
46
|
+
const signer = await recoverAddress({
|
|
47
|
+
hash: messageHash,
|
|
48
|
+
signature
|
|
76
49
|
});
|
|
77
|
-
return
|
|
50
|
+
return signer;
|
|
78
51
|
}
|
|
79
52
|
catch (error) {
|
|
80
53
|
throw new Error(`Failed to recover signer: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
@@ -158,17 +131,9 @@ export class EngineBlox {
|
|
|
158
131
|
*/
|
|
159
132
|
EngineBlox.PROTOCOL_NAME_HASH = keccak256("Bloxchain");
|
|
160
133
|
/**
|
|
161
|
-
*
|
|
162
|
-
*/
|
|
163
|
-
EngineBlox.VERSION_MAJOR = 1;
|
|
164
|
-
/**
|
|
165
|
-
* Minor version number
|
|
166
|
-
*/
|
|
167
|
-
EngineBlox.VERSION_MINOR = 0;
|
|
168
|
-
/**
|
|
169
|
-
* Patch version number
|
|
134
|
+
* Protocol version string (semver, e.g. "1.0.0"). Matches EngineBlox.sol VERSION and EIP-712 domain version.
|
|
170
135
|
*/
|
|
171
|
-
EngineBlox.
|
|
136
|
+
EngineBlox.VERSION = "1.0.0";
|
|
172
137
|
// ============ FUNCTION SELECTORS ============
|
|
173
138
|
/**
|
|
174
139
|
* Native token transfer selector (reserved signature for simple ETH transfers)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineBlox.js","sourceRoot":"","sources":["../../lib/EngineBlox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,IAAI,EAAqC,cAAc,EAAc,MAAM,MAAM,CAAC;AAExG,OAAO,EAAgB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,GAAW,EAAO,EAAE;IACrC,OAAO,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAQ,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAU;
|
|
1
|
+
{"version":3,"file":"EngineBlox.js","sourceRoot":"","sources":["../../lib/EngineBlox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,97 @@
|
|
|
1
1
|
import { Address, Hex, PublicClient, WalletClient, Chain } from 'viem';
|
|
2
2
|
import { MetaTransaction, MetaTxParams, TxParams } from '../../interfaces/lib.index';
|
|
3
3
|
import { TxAction } from '../../types/lib.index';
|
|
4
|
+
/** EIP-712 domain and types matching EngineBlox (selective MetaTxRecord: txId, params, payment only) */
|
|
5
|
+
export declare const META_TX_DOMAIN: {
|
|
6
|
+
name: "Bloxchain";
|
|
7
|
+
version: string;
|
|
8
|
+
chainId: number;
|
|
9
|
+
verifyingContract: Address;
|
|
10
|
+
};
|
|
11
|
+
export declare const META_TX_TYPES: {
|
|
12
|
+
readonly MetaTransaction: readonly [{
|
|
13
|
+
readonly name: "txRecord";
|
|
14
|
+
readonly type: "MetaTxRecord";
|
|
15
|
+
}, {
|
|
16
|
+
readonly name: "params";
|
|
17
|
+
readonly type: "MetaTxParams";
|
|
18
|
+
}, {
|
|
19
|
+
readonly name: "data";
|
|
20
|
+
readonly type: "bytes";
|
|
21
|
+
}];
|
|
22
|
+
readonly MetaTxRecord: readonly [{
|
|
23
|
+
readonly name: "txId";
|
|
24
|
+
readonly type: "uint256";
|
|
25
|
+
}, {
|
|
26
|
+
readonly name: "params";
|
|
27
|
+
readonly type: "TxParams";
|
|
28
|
+
}, {
|
|
29
|
+
readonly name: "payment";
|
|
30
|
+
readonly type: "PaymentDetails";
|
|
31
|
+
}];
|
|
32
|
+
readonly TxParams: readonly [{
|
|
33
|
+
readonly name: "requester";
|
|
34
|
+
readonly type: "address";
|
|
35
|
+
}, {
|
|
36
|
+
readonly name: "target";
|
|
37
|
+
readonly type: "address";
|
|
38
|
+
}, {
|
|
39
|
+
readonly name: "value";
|
|
40
|
+
readonly type: "uint256";
|
|
41
|
+
}, {
|
|
42
|
+
readonly name: "gasLimit";
|
|
43
|
+
readonly type: "uint256";
|
|
44
|
+
}, {
|
|
45
|
+
readonly name: "operationType";
|
|
46
|
+
readonly type: "bytes32";
|
|
47
|
+
}, {
|
|
48
|
+
readonly name: "executionSelector";
|
|
49
|
+
readonly type: "bytes4";
|
|
50
|
+
}, {
|
|
51
|
+
readonly name: "executionParams";
|
|
52
|
+
readonly type: "bytes";
|
|
53
|
+
}];
|
|
54
|
+
readonly MetaTxParams: readonly [{
|
|
55
|
+
readonly name: "chainId";
|
|
56
|
+
readonly type: "uint256";
|
|
57
|
+
}, {
|
|
58
|
+
readonly name: "nonce";
|
|
59
|
+
readonly type: "uint256";
|
|
60
|
+
}, {
|
|
61
|
+
readonly name: "handlerContract";
|
|
62
|
+
readonly type: "address";
|
|
63
|
+
}, {
|
|
64
|
+
readonly name: "handlerSelector";
|
|
65
|
+
readonly type: "bytes4";
|
|
66
|
+
}, {
|
|
67
|
+
readonly name: "action";
|
|
68
|
+
readonly type: "uint8";
|
|
69
|
+
}, {
|
|
70
|
+
readonly name: "deadline";
|
|
71
|
+
readonly type: "uint256";
|
|
72
|
+
}, {
|
|
73
|
+
readonly name: "maxGasPrice";
|
|
74
|
+
readonly type: "uint256";
|
|
75
|
+
}, {
|
|
76
|
+
readonly name: "signer";
|
|
77
|
+
readonly type: "address";
|
|
78
|
+
}];
|
|
79
|
+
readonly PaymentDetails: readonly [{
|
|
80
|
+
readonly name: "recipient";
|
|
81
|
+
readonly type: "address";
|
|
82
|
+
}, {
|
|
83
|
+
readonly name: "nativeTokenAmount";
|
|
84
|
+
readonly type: "uint256";
|
|
85
|
+
}, {
|
|
86
|
+
readonly name: "erc20TokenAddress";
|
|
87
|
+
readonly type: "address";
|
|
88
|
+
}, {
|
|
89
|
+
readonly name: "erc20TokenAmount";
|
|
90
|
+
readonly type: "uint256";
|
|
91
|
+
}];
|
|
92
|
+
};
|
|
93
|
+
/** EIP-712 message shape for MetaTransaction (for typed-data signing) */
|
|
94
|
+
export declare function buildTypedDataMessage(metaTx: MetaTransaction): Record<string, unknown>;
|
|
4
95
|
/**
|
|
5
96
|
* @title MetaTransactionSigner
|
|
6
97
|
* @dev Standardized utility for creating and signing meta-transactions
|
|
@@ -45,8 +136,16 @@ export declare class MetaTransactionSigner {
|
|
|
45
136
|
*/
|
|
46
137
|
createUnsignedMetaTransactionForExisting(txId: bigint, metaTxParams: MetaTxParams): Promise<MetaTransaction>;
|
|
47
138
|
/**
|
|
48
|
-
* @dev Signs an unsigned meta-transaction using
|
|
139
|
+
* @dev Signs an unsigned meta-transaction using a walletClient via EIP-712 typed data (eth_signTypedData_v4).
|
|
140
|
+
* Uses the canonical EIP-712 domain + types so the wallet-computed digest matches EngineBlox.generateMessageHash.
|
|
49
141
|
* @param unsignedMetaTx Unsigned meta-transaction
|
|
142
|
+
* @returns Complete signed meta-transaction
|
|
143
|
+
*/
|
|
144
|
+
signMetaTransactionWithWallet(unsignedMetaTx: MetaTransaction): Promise<MetaTransaction>;
|
|
145
|
+
/**
|
|
146
|
+
* @dev Signs an unsigned meta-transaction using private key (standard EIP-712 digest; no personal_sign prefix).
|
|
147
|
+
* Uses the contract's message hash as the digest, so we sign the digest returned by the contract directly.
|
|
148
|
+
* @param unsignedMetaTx Unsigned meta-transaction (message = EIP-712 digest from contract)
|
|
50
149
|
* @param signerAddress Address of the signer
|
|
51
150
|
* @param privateKey Private key for signing (required for remote Ganache)
|
|
52
151
|
* @returns Complete signed meta-transaction
|
|
@@ -92,10 +191,7 @@ export declare class MetaTransactionSigner {
|
|
|
92
191
|
*/
|
|
93
192
|
private generateUnsignedMetaTransactionForExisting;
|
|
94
193
|
/**
|
|
95
|
-
* @dev Verifies a signature against
|
|
96
|
-
* @param messageHash The message hash
|
|
97
|
-
* @param signature The signature to verify
|
|
98
|
-
* @param expectedSigner The expected signer address
|
|
194
|
+
* @dev Verifies a signature against the EIP-712 message hash and expected signer (contract uses raw digest recovery).
|
|
99
195
|
*/
|
|
100
196
|
private verifySignature;
|
|
101
197
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaTransaction.d.ts","sourceRoot":"","sources":["../../../utils/metaTx/metaTransaction.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,GAAG,EACH,YAAY,EACZ,YAAY,EACZ,KAAK,EACN,MAAM,MAAM,CAAC;AACd,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,QAAQ,
|
|
1
|
+
{"version":3,"file":"metaTransaction.d.ts","sourceRoot":"","sources":["../../../utils/metaTx/metaTransaction.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,GAAG,EACH,YAAY,EACZ,YAAY,EACZ,KAAK,EACN,MAAM,MAAM,CAAC;AACd,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,QAAQ,EAET,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,wGAAwG;AACxG,eAAO,MAAM,cAAc;;;;uBAIE,OAAO;CACnC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoChB,CAAC;AAEX,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmCtF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,KAAK,CAAQ;gBAGnB,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,KAAK;IAQd;;;;;OAKG;IACG,mCAAmC,CACvC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,eAAe,CAAC;IAK3B;;;;;OAKG;IACG,wCAAwC,CAC5C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,eAAe,CAAC;IAa3B;;;;;OAKG;IACG,6BAA6B,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAmC9F;;;;;;;OAOG;IACG,mBAAmB,CACvB,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,eAAe,CAAC;IA0B3B;;;;;OAKG;IACG,wCAAwC,CAC5C,cAAc,EAAE,eAAe,EAC/B,SAAS,EAAE,GAAG,GACb,OAAO,CAAC,eAAe,CAAC;IAW3B;;;;;;;OAOG;IACG,iCAAiC,CACrC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,eAAe,CAAC;IAK3B;;;;;;;OAOG;IACG,sCAAsC,CAC1C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,eAAe,CAAC;IAK3B;;;;;OAKG;YACW,qCAAqC;IAuCnD;;;;;OAKG;YACW,0CAA0C;IA+BxD;;OAEG;YACW,eAAe;IAiB7B;;;;OAIG;IACH,OAAO,CAAC,cAAc;CAGvB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IAEjC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,kBAAkB,CACvB,eAAe,EAAE,OAAO,EACxB,eAAe,EAAE,GAAG,EACpB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,YAAY;IAaf;;;;;;;;;;OAUG;IACH,MAAM,CAAC,cAAc,CACnB,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,GAAG,EAClB,iBAAiB,EAAE,GAAG,EACtB,eAAe,EAAE,GAAG,GACnB,QAAQ;CAWZ"}
|
|
@@ -1,4 +1,86 @@
|
|
|
1
1
|
import BaseStateMachineABI from '../../abi/BaseStateMachine.abi.json';
|
|
2
|
+
import { EngineBlox } from '../../lib/EngineBlox';
|
|
3
|
+
/** EIP-712 domain and types matching EngineBlox (selective MetaTxRecord: txId, params, payment only) */
|
|
4
|
+
export const META_TX_DOMAIN = {
|
|
5
|
+
name: 'Bloxchain',
|
|
6
|
+
version: EngineBlox.VERSION,
|
|
7
|
+
chainId: 0, // set per sign
|
|
8
|
+
verifyingContract: '0x' // set per sign
|
|
9
|
+
};
|
|
10
|
+
export const META_TX_TYPES = {
|
|
11
|
+
MetaTransaction: [
|
|
12
|
+
{ name: 'txRecord', type: 'MetaTxRecord' },
|
|
13
|
+
{ name: 'params', type: 'MetaTxParams' },
|
|
14
|
+
{ name: 'data', type: 'bytes' }
|
|
15
|
+
],
|
|
16
|
+
MetaTxRecord: [
|
|
17
|
+
{ name: 'txId', type: 'uint256' },
|
|
18
|
+
{ name: 'params', type: 'TxParams' },
|
|
19
|
+
{ name: 'payment', type: 'PaymentDetails' }
|
|
20
|
+
],
|
|
21
|
+
TxParams: [
|
|
22
|
+
{ name: 'requester', type: 'address' },
|
|
23
|
+
{ name: 'target', type: 'address' },
|
|
24
|
+
{ name: 'value', type: 'uint256' },
|
|
25
|
+
{ name: 'gasLimit', type: 'uint256' },
|
|
26
|
+
{ name: 'operationType', type: 'bytes32' },
|
|
27
|
+
{ name: 'executionSelector', type: 'bytes4' },
|
|
28
|
+
{ name: 'executionParams', type: 'bytes' }
|
|
29
|
+
],
|
|
30
|
+
MetaTxParams: [
|
|
31
|
+
{ name: 'chainId', type: 'uint256' },
|
|
32
|
+
{ name: 'nonce', type: 'uint256' },
|
|
33
|
+
{ name: 'handlerContract', type: 'address' },
|
|
34
|
+
{ name: 'handlerSelector', type: 'bytes4' },
|
|
35
|
+
{ name: 'action', type: 'uint8' },
|
|
36
|
+
{ name: 'deadline', type: 'uint256' },
|
|
37
|
+
{ name: 'maxGasPrice', type: 'uint256' },
|
|
38
|
+
{ name: 'signer', type: 'address' }
|
|
39
|
+
],
|
|
40
|
+
PaymentDetails: [
|
|
41
|
+
{ name: 'recipient', type: 'address' },
|
|
42
|
+
{ name: 'nativeTokenAmount', type: 'uint256' },
|
|
43
|
+
{ name: 'erc20TokenAddress', type: 'address' },
|
|
44
|
+
{ name: 'erc20TokenAmount', type: 'uint256' }
|
|
45
|
+
]
|
|
46
|
+
};
|
|
47
|
+
/** EIP-712 message shape for MetaTransaction (for typed-data signing) */
|
|
48
|
+
export function buildTypedDataMessage(metaTx) {
|
|
49
|
+
const params = metaTx.txRecord.params;
|
|
50
|
+
const payment = metaTx.txRecord.payment;
|
|
51
|
+
const metaParams = metaTx.params;
|
|
52
|
+
return {
|
|
53
|
+
txRecord: {
|
|
54
|
+
txId: metaTx.txRecord.txId,
|
|
55
|
+
params: {
|
|
56
|
+
requester: params.requester,
|
|
57
|
+
target: params.target,
|
|
58
|
+
value: params.value,
|
|
59
|
+
gasLimit: params.gasLimit,
|
|
60
|
+
operationType: params.operationType,
|
|
61
|
+
executionSelector: params.executionSelector,
|
|
62
|
+
executionParams: params.executionParams
|
|
63
|
+
},
|
|
64
|
+
payment: {
|
|
65
|
+
recipient: payment.recipient,
|
|
66
|
+
nativeTokenAmount: payment.nativeTokenAmount,
|
|
67
|
+
erc20TokenAddress: payment.erc20TokenAddress,
|
|
68
|
+
erc20TokenAmount: payment.erc20TokenAmount
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
params: {
|
|
72
|
+
chainId: metaParams.chainId,
|
|
73
|
+
nonce: metaParams.nonce,
|
|
74
|
+
handlerContract: metaParams.handlerContract,
|
|
75
|
+
handlerSelector: metaParams.handlerSelector,
|
|
76
|
+
action: Number(metaParams.action),
|
|
77
|
+
deadline: metaParams.deadline,
|
|
78
|
+
maxGasPrice: metaParams.maxGasPrice,
|
|
79
|
+
signer: metaParams.signer
|
|
80
|
+
},
|
|
81
|
+
data: metaTx.data ?? '0x'
|
|
82
|
+
};
|
|
83
|
+
}
|
|
2
84
|
/**
|
|
3
85
|
* @title MetaTransactionSigner
|
|
4
86
|
* @dev Standardized utility for creating and signing meta-transactions
|
|
@@ -57,30 +139,62 @@ export class MetaTransactionSigner {
|
|
|
57
139
|
};
|
|
58
140
|
}
|
|
59
141
|
/**
|
|
60
|
-
* @dev Signs an unsigned meta-transaction using
|
|
142
|
+
* @dev Signs an unsigned meta-transaction using a walletClient via EIP-712 typed data (eth_signTypedData_v4).
|
|
143
|
+
* Uses the canonical EIP-712 domain + types so the wallet-computed digest matches EngineBlox.generateMessageHash.
|
|
61
144
|
* @param unsignedMetaTx Unsigned meta-transaction
|
|
145
|
+
* @returns Complete signed meta-transaction
|
|
146
|
+
*/
|
|
147
|
+
async signMetaTransactionWithWallet(unsignedMetaTx) {
|
|
148
|
+
if (!this.walletClient) {
|
|
149
|
+
throw new Error('MetaTransactionSigner: walletClient is required for typed-data signing');
|
|
150
|
+
}
|
|
151
|
+
const account = this.walletClient.account;
|
|
152
|
+
if (!account) {
|
|
153
|
+
throw new Error('MetaTransactionSigner: walletClient must have an active account for typed-data signing');
|
|
154
|
+
}
|
|
155
|
+
const domain = {
|
|
156
|
+
...META_TX_DOMAIN,
|
|
157
|
+
chainId: Number(unsignedMetaTx.params.chainId),
|
|
158
|
+
verifyingContract: this.contractAddress
|
|
159
|
+
};
|
|
160
|
+
const message = buildTypedDataMessage(unsignedMetaTx);
|
|
161
|
+
const signature = await this.walletClient.signTypedData({
|
|
162
|
+
account,
|
|
163
|
+
domain,
|
|
164
|
+
primaryType: 'MetaTransaction',
|
|
165
|
+
types: META_TX_TYPES,
|
|
166
|
+
message
|
|
167
|
+
});
|
|
168
|
+
// Verify signature matches expected signer using the same raw digest path as the contract
|
|
169
|
+
await this.verifySignature(unsignedMetaTx.message, signature, unsignedMetaTx.params.signer);
|
|
170
|
+
return {
|
|
171
|
+
...unsignedMetaTx,
|
|
172
|
+
signature: signature
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* @dev Signs an unsigned meta-transaction using private key (standard EIP-712 digest; no personal_sign prefix).
|
|
177
|
+
* Uses the contract's message hash as the digest, so we sign the digest returned by the contract directly.
|
|
178
|
+
* @param unsignedMetaTx Unsigned meta-transaction (message = EIP-712 digest from contract)
|
|
62
179
|
* @param signerAddress Address of the signer
|
|
63
180
|
* @param privateKey Private key for signing (required for remote Ganache)
|
|
64
181
|
* @returns Complete signed meta-transaction
|
|
65
182
|
*/
|
|
66
183
|
async signMetaTransaction(unsignedMetaTx, signerAddress, privateKey) {
|
|
67
|
-
// Use private key signing directly (matches sanity test pattern)
|
|
68
184
|
const { privateKeyToAccount } = await import('viem/accounts');
|
|
69
185
|
const account = privateKeyToAccount(privateKey);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
const recoveredAddress = await
|
|
76
|
-
|
|
77
|
-
message: { raw: unsignedMetaTx.message },
|
|
186
|
+
const contractDigest = (typeof unsignedMetaTx.message === 'string'
|
|
187
|
+
? unsignedMetaTx.message
|
|
188
|
+
: unsignedMetaTx.message);
|
|
189
|
+
const signature = await account.sign({ hash: contractDigest });
|
|
190
|
+
const { recoverAddress } = await import('viem');
|
|
191
|
+
const recoveredAddress = await recoverAddress({
|
|
192
|
+
hash: contractDigest,
|
|
78
193
|
signature
|
|
79
194
|
});
|
|
80
|
-
if (
|
|
195
|
+
if (recoveredAddress.toLowerCase() !== signerAddress.toLowerCase()) {
|
|
81
196
|
throw new Error('Signature verification failed');
|
|
82
197
|
}
|
|
83
|
-
// Return complete signed meta-transaction
|
|
84
198
|
return {
|
|
85
199
|
...unsignedMetaTx,
|
|
86
200
|
signature
|
|
@@ -193,18 +307,15 @@ export class MetaTransactionSigner {
|
|
|
193
307
|
};
|
|
194
308
|
}
|
|
195
309
|
/**
|
|
196
|
-
* @dev Verifies a signature against
|
|
197
|
-
* @param messageHash The message hash
|
|
198
|
-
* @param signature The signature to verify
|
|
199
|
-
* @param expectedSigner The expected signer address
|
|
310
|
+
* @dev Verifies a signature against the EIP-712 message hash and expected signer (contract uses raw digest recovery).
|
|
200
311
|
*/
|
|
201
312
|
async verifySignature(messageHash, signature, expectedSigner) {
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
|
|
313
|
+
const { recoverAddress } = await import('viem');
|
|
314
|
+
const recoveredAddress = await recoverAddress({
|
|
315
|
+
hash: messageHash,
|
|
205
316
|
signature
|
|
206
317
|
});
|
|
207
|
-
if (
|
|
318
|
+
if (recoveredAddress.toLowerCase() !== expectedSigner.toLowerCase()) {
|
|
208
319
|
throw new Error('Signature verification failed');
|
|
209
320
|
}
|
|
210
321
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaTransaction.js","sourceRoot":"","sources":["../../../utils/metaTx/metaTransaction.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metaTransaction.js","sourceRoot":"","sources":["../../../utils/metaTx/metaTransaction.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED