@zerodev/sdk 5.1.15 → 5.1.16
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/_cjs/providers/KernelEIP1193Provider.js +20 -0
- package/_cjs/providers/KernelEIP1193Provider.js.map +1 -1
- package/_esm/providers/KernelEIP1193Provider.js +20 -0
- package/_esm/providers/KernelEIP1193Provider.js.map +1 -1
- package/_types/providers/KernelEIP1193Provider.d.ts +1 -0
- package/_types/providers/KernelEIP1193Provider.d.ts.map +1 -1
- package/package.json +1 -1
- package/providers/KernelEIP1193Provider.ts +28 -0
|
@@ -23,6 +23,8 @@ class KernelEIP1193Provider extends events_1.EventEmitter {
|
|
|
23
23
|
return this.handleEthSendTransaction(params);
|
|
24
24
|
case "personal_sign":
|
|
25
25
|
return this.handlePersonalSign(params);
|
|
26
|
+
case "eth_signTypedData_v4":
|
|
27
|
+
return this.handleEthSignTypedDataV4(params);
|
|
26
28
|
default:
|
|
27
29
|
return this.kernelClient.transport.request({ method, params });
|
|
28
30
|
}
|
|
@@ -57,6 +59,24 @@ class KernelEIP1193Provider extends events_1.EventEmitter {
|
|
|
57
59
|
account: this.kernelClient.account
|
|
58
60
|
});
|
|
59
61
|
}
|
|
62
|
+
async handleEthSignTypedDataV4(params) {
|
|
63
|
+
if (!this.kernelClient?.account) {
|
|
64
|
+
throw new Error("account not connected!");
|
|
65
|
+
}
|
|
66
|
+
const [address, typedDataJSON] = params;
|
|
67
|
+
const typedData = JSON.parse(typedDataJSON);
|
|
68
|
+
if (address.toLowerCase() !==
|
|
69
|
+
this.kernelClient.account.address.toLowerCase()) {
|
|
70
|
+
throw new Error("cannot sign for address that is not the current account");
|
|
71
|
+
}
|
|
72
|
+
return this.kernelClient.signTypedData({
|
|
73
|
+
account: this.kernelClient.account,
|
|
74
|
+
domain: typedData.domain,
|
|
75
|
+
types: typedData.types,
|
|
76
|
+
message: typedData.message,
|
|
77
|
+
primaryType: typedData.primaryType
|
|
78
|
+
});
|
|
79
|
+
}
|
|
60
80
|
}
|
|
61
81
|
exports.KernelEIP1193Provider = KernelEIP1193Provider;
|
|
62
82
|
//# sourceMappingURL=KernelEIP1193Provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KernelEIP1193Provider.js","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AASrC,MAAa,qBAAsB,SAAQ,qBAAY;IAGnD,YAAY,YAAiC;QACzC,KAAK,EAAE,CAAA;QAHH;;;;;WAAiC;QAIrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EACV,MAAM,EACN,MAAM,GAAG,EAAE,EACK;QAChB,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,qBAAqB;gBACtB,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAA;YAC1C,KAAK,cAAc;gBACf,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACnC,KAAK,qBAAqB;gBACtB,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;YAChD,KAAK,eAAe;gBAChB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAA0B,CAAC,CAAA;YAC9D;gBACI,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,wBAAwB;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,MAAe;QAClD,MAAM,CAAC,EAAE,CAAC,GAAG,MAAqC,CAAA;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC5B,MAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA;QACjC,IACI,OAAO,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EACjD,CAAC;YACC,MAAM,IAAI,KAAK,CACX,yDAAyD,CAC5D,CAAA;QACL,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YACjC,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;SACrC,CAAC,CAAA;IACN,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"KernelEIP1193Provider.js","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,8 @@ export class KernelEIP1193Provider extends EventEmitter {
|
|
|
22
22
|
return this.handleEthSendTransaction(params);
|
|
23
23
|
case "personal_sign":
|
|
24
24
|
return this.handlePersonalSign(params);
|
|
25
|
+
case "eth_signTypedData_v4":
|
|
26
|
+
return this.handleEthSignTypedDataV4(params);
|
|
25
27
|
default:
|
|
26
28
|
return this.kernelClient.transport.request({ method, params });
|
|
27
29
|
}
|
|
@@ -56,5 +58,23 @@ export class KernelEIP1193Provider extends EventEmitter {
|
|
|
56
58
|
account: this.kernelClient.account
|
|
57
59
|
});
|
|
58
60
|
}
|
|
61
|
+
async handleEthSignTypedDataV4(params) {
|
|
62
|
+
if (!this.kernelClient?.account) {
|
|
63
|
+
throw new Error("account not connected!");
|
|
64
|
+
}
|
|
65
|
+
const [address, typedDataJSON] = params;
|
|
66
|
+
const typedData = JSON.parse(typedDataJSON);
|
|
67
|
+
if (address.toLowerCase() !==
|
|
68
|
+
this.kernelClient.account.address.toLowerCase()) {
|
|
69
|
+
throw new Error("cannot sign for address that is not the current account");
|
|
70
|
+
}
|
|
71
|
+
return this.kernelClient.signTypedData({
|
|
72
|
+
account: this.kernelClient.account,
|
|
73
|
+
domain: typedData.domain,
|
|
74
|
+
types: typedData.types,
|
|
75
|
+
message: typedData.message,
|
|
76
|
+
primaryType: typedData.primaryType
|
|
77
|
+
});
|
|
78
|
+
}
|
|
59
79
|
}
|
|
60
80
|
//# sourceMappingURL=KernelEIP1193Provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KernelEIP1193Provider.js","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAA4B,MAAM,cAAc,CAAA;AACvD,OAAO,EAKN,MAAM,MAAM,CAAA;AAEb,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IAGnD,YAAY,YAAiC;QACzC,KAAK,EAAE,CAAA;QAHH;;;;;WAAiC;QAIrC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EACV,MAAM,EACN,MAAM,GAAG,EAAE,EACK;QAChB,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,qBAAqB;gBACtB,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAA;YAC1C,KAAK,cAAc;gBACf,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACnC,KAAK,qBAAqB;gBACtB,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;YAChD,KAAK,eAAe;gBAChB,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAA0B,CAAC,CAAA;YAC9D;gBACI,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,wBAAwB;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,MAAe;QAClD,MAAM,CAAC,EAAE,CAAC,GAAG,MAAqC,CAAA;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC5B,MAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA;QACjC,IACI,OAAO,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EACjD,CAAC;YACC,MAAM,IAAI,KAAK,CACX,yDAAyD,CAC5D,CAAA;QACL,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YACjC,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;SACrC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"KernelEIP1193Provider.js","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KernelEIP1193Provider.d.ts","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGxB,MAAM,MAAM,CAAA;AAEb,qBAAa,qBAAsB,SAAQ,YAAY;IACnD,OAAO,CAAC,YAAY,CAAqB;gBAE7B,YAAY,EAAE,mBAAmB;IAKvC,OAAO,CAAC,EACV,MAAM,EACN,MAAW,EACd,EAAE,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"KernelEIP1193Provider.d.ts","sourceRoot":"","sources":["../../providers/KernelEIP1193Provider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGxB,MAAM,MAAM,CAAA;AAEb,qBAAa,qBAAsB,SAAQ,YAAY;IACnD,OAAO,CAAC,YAAY,CAAqB;gBAE7B,YAAY,EAAE,mBAAmB;IAKvC,OAAO,CAAC,EACV,MAAM,EACN,MAAW,EACd,EAAE,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC;YAiBrC,wBAAwB;YAOxB,iBAAiB;YAOjB,wBAAwB;YAKxB,kBAAkB;YAsBlB,wBAAwB;CAyBzC"}
|
package/package.json
CHANGED
|
@@ -28,6 +28,8 @@ export class KernelEIP1193Provider extends EventEmitter {
|
|
|
28
28
|
return this.handleEthSendTransaction(params)
|
|
29
29
|
case "personal_sign":
|
|
30
30
|
return this.handlePersonalSign(params as [string, string])
|
|
31
|
+
case "eth_signTypedData_v4":
|
|
32
|
+
return this.handleEthSignTypedDataV4(params as [string, string])
|
|
31
33
|
default:
|
|
32
34
|
return this.kernelClient.transport.request({ method, params })
|
|
33
35
|
}
|
|
@@ -73,4 +75,30 @@ export class KernelEIP1193Provider extends EventEmitter {
|
|
|
73
75
|
account: this.kernelClient.account
|
|
74
76
|
})
|
|
75
77
|
}
|
|
78
|
+
|
|
79
|
+
private async handleEthSignTypedDataV4(
|
|
80
|
+
params: [string, string]
|
|
81
|
+
): Promise<string> {
|
|
82
|
+
if (!this.kernelClient?.account) {
|
|
83
|
+
throw new Error("account not connected!")
|
|
84
|
+
}
|
|
85
|
+
const [address, typedDataJSON] = params
|
|
86
|
+
const typedData = JSON.parse(typedDataJSON);
|
|
87
|
+
if (
|
|
88
|
+
address.toLowerCase() !==
|
|
89
|
+
this.kernelClient.account.address.toLowerCase()
|
|
90
|
+
) {
|
|
91
|
+
throw new Error(
|
|
92
|
+
"cannot sign for address that is not the current account"
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return this.kernelClient.signTypedData({
|
|
97
|
+
account: this.kernelClient.account,
|
|
98
|
+
domain: typedData.domain,
|
|
99
|
+
types: typedData.types,
|
|
100
|
+
message: typedData.message,
|
|
101
|
+
primaryType: typedData.primaryType
|
|
102
|
+
})
|
|
103
|
+
}
|
|
76
104
|
}
|