@charterlabs/rhinestone-sdk 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nexus.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAYpE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"nexus.d.ts","sourceRoot":"","sources":["../../../accounts/nexus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAYpE,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAoC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAgBhF,iBAAS,aAAa,CAAC,MAAM,EAAE,uBAAuB;;;;;;;EAwDrD;AAED,iBAAS,UAAU,CAAC,MAAM,EAAE,uBAAuB,iBA4BlD;AAED,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,iBA2BrC;AAED,iBAAe,aAAa,CAC1B,SAAS,EAAE,GAAG,EACd,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAE,CAAC,SAAS,EAAE,GAAG,KAAK,GAA8B,EACtE,uBAAuB,GAAE,OAAyC,0BAWnE;AAED,iBAAe,eAAe,CAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACjC,uBAAuB,GAAE,OAAyC,iEAYnE;AAED,iBAAe,sBAAsB,CACnC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,OAAO,EACzB,UAAU,EAAE,iBAAiB,GAAG,IAAI,EACpC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACjC,uBAAuB,GAAE,OAAyC,iEAwCnE;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACjC,uBAAuB,GAAE,OAAyC,iEAcnE;AAqFD,iBAAe,mBAAmB,CAChC,MAAM,EAAE,uBAAuB,EAC/B,GAAG,EAAE,OAAO,0BA0Bb;AAED,iBAAe,kBAAkB,CAC/B,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,GAAG;;;GAuCf;AAED,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACnB,CAAA"}
|
|
@@ -16,7 +16,9 @@ const validators_1 = require("../modules/validators");
|
|
|
16
16
|
const core_1 = require("../modules/validators/core");
|
|
17
17
|
const error_1 = require("./error");
|
|
18
18
|
const utils_1 = require("./utils");
|
|
19
|
-
|
|
19
|
+
// On-chain Nexus default validator is Ownable. Using this here ensures
|
|
20
|
+
// we don't compress WebAuthn to zeroAddress in nonce/signature packing.
|
|
21
|
+
const NEXUS_DEFAULT_VALIDATOR_ADDRESS = core_1.OWNABLE_VALIDATOR_ADDRESS;
|
|
20
22
|
const NEXUS_IMPLEMENTATION_ADDRESS = '0x55cc6609fDb3620ABeABf4dB020abfc469494778';
|
|
21
23
|
const NEXUS_FACTORY_ADDRESS = '0xFF4454d15707a6f6BF01540796040f9E1646322C';
|
|
22
24
|
const NEXUS_BOOTSTRAP_ADDRESS = '0x40E89A87C56A340c9257350dEDf4B89a3FcCCcD3';
|
|
@@ -24,25 +26,17 @@ const NEXUS_CREATION_CODE = '0x60806040526102aa803803806100148161018c565b9283398
|
|
|
24
26
|
function getDeployArgs(config) {
|
|
25
27
|
const salt = (0, viem_1.keccak256)('0x');
|
|
26
28
|
const moduleSetup = (0, modules_1.getSetup)(config);
|
|
27
|
-
// Filter out the default validator
|
|
28
|
-
const defaultValidator = moduleSetup.validators.find((v) => v.address === NEXUS_DEFAULT_VALIDATOR_ADDRESS);
|
|
29
|
-
const defaultValidatorInitData = defaultValidator
|
|
30
|
-
? defaultValidator.initData
|
|
31
|
-
: '0x';
|
|
32
|
-
console.log('[SDK] defaultValidatorInitData in the getDeployArgs', defaultValidatorInitData);
|
|
33
|
-
const validators = moduleSetup.validators.filter((v) => v.address !== NEXUS_DEFAULT_VALIDATOR_ADDRESS);
|
|
34
29
|
const initData = (0, viem_1.encodeAbiParameters)([{ type: 'address' }, { type: 'bytes' }], [
|
|
35
30
|
NEXUS_BOOTSTRAP_ADDRESS,
|
|
36
31
|
(0, viem_1.encodeFunctionData)({
|
|
37
32
|
abi: (0, viem_1.parseAbi)([
|
|
38
33
|
'struct BootstrapConfig {address module;bytes initData;}',
|
|
39
34
|
'struct BootstrapPreValidationHookConfig {uint256 hookType;address module;bytes data;}',
|
|
40
|
-
'function
|
|
35
|
+
'function initNexusNoRegistry(BootstrapConfig[] calldata validators,BootstrapConfig[] calldata executors,BootstrapConfig calldata hook,BootstrapConfig[] calldata fallbacks,BootstrapPreValidationHookConfig[] calldata preValidationHooks) external',
|
|
41
36
|
]),
|
|
42
|
-
functionName: '
|
|
37
|
+
functionName: 'initNexusNoRegistry',
|
|
43
38
|
args: [
|
|
44
|
-
|
|
45
|
-
validators.map((v) => ({
|
|
39
|
+
moduleSetup.validators.map((v) => ({
|
|
46
40
|
module: v.address,
|
|
47
41
|
initData: v.initData,
|
|
48
42
|
})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../modules/validators/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EAKZ,KAAK,GAAG,EAIT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EACV,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAA4B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAA;AAEjE,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,CAAA;IACpC,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,yBAAyB,EAAE,OACa,CAAA;AAC9C,QAAA,MAAM,0BAA0B,EAAE,OACY,CAAA;AAG9C,QAAA,MAAM,8BAA8B,EAAE,OACQ,CAAA;AAO9C,iBAAS,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,UAEzD;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAiDjD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,QAAQ,UAgBrC;AAED,iBAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAiBzE;AAED,iBAAS,oBAAoB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,CA0D5E;AAED,iBAAS,uBAAuB,CAC9B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,sBAAsB,GAAG,uBAAuB,GAAG,IAAI,CAAC,EAAE,GACtE,MAAM,CAgDR;AAED,iBAAS,0BAA0B,CACjC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,SAAI,GACZ,MAAM,CAsBR;AAeD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,GACjB,CAAA;AACD,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -110,32 +110,33 @@ function getWebAuthnValidator(webAuthnCredential) {
|
|
|
110
110
|
pubKeyX = webAuthnCredential.pubKey.x;
|
|
111
111
|
pubKeyY = webAuthnCredential.pubKey.y;
|
|
112
112
|
}
|
|
113
|
+
// Encode per WebAuthnValidator.onInstall:
|
|
114
|
+
// abi.decode(data, (uint256 threshold, WebAuthnCredential[] credentials))
|
|
115
|
+
// struct WebAuthnCredential { uint256 pubKeyX; uint256 pubKeyY; bool requireUV; }
|
|
116
|
+
const threshold = 1n;
|
|
117
|
+
const requireUV = true;
|
|
113
118
|
return {
|
|
114
119
|
address: WEBAUTHN_VALIDATOR_ADDRESS,
|
|
115
120
|
initData: (0, viem_1.encodeAbiParameters)([
|
|
121
|
+
{ type: 'uint256', name: 'threshold' },
|
|
116
122
|
{
|
|
117
123
|
components: [
|
|
118
|
-
{
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
name: 'pubKeyY',
|
|
124
|
-
type: 'uint256',
|
|
125
|
-
},
|
|
124
|
+
{ type: 'uint256', name: 'pubKeyX' },
|
|
125
|
+
{ type: 'uint256', name: 'pubKeyY' },
|
|
126
|
+
{ type: 'bool', name: 'requireUV' },
|
|
126
127
|
],
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
{
|
|
130
|
-
type: 'bytes32',
|
|
131
|
-
name: 'authenticatorIdHash',
|
|
128
|
+
name: 'credentials',
|
|
129
|
+
type: 'tuple[]',
|
|
132
130
|
},
|
|
133
131
|
], [
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
132
|
+
threshold,
|
|
133
|
+
[
|
|
134
|
+
{
|
|
135
|
+
pubKeyX,
|
|
136
|
+
pubKeyY,
|
|
137
|
+
requireUV,
|
|
138
|
+
},
|
|
139
|
+
],
|
|
139
140
|
]),
|
|
140
141
|
deInitData: '0x',
|
|
141
142
|
additionalContext: '0x',
|