@cubist-labs/cubesigner-sdk-viem 0.4.214 → 0.4.217

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type Address, type CustomSource } from "viem";
1
+ import { type Address, type AuthorizationRequest, type CustomSource, type SignAuthorizationReturnType } from "viem";
2
2
  import { type CubeSignerClient, type EvmSignerOptions, type Key } from "@cubist-labs/cubesigner-sdk";
3
3
  /**
4
4
  * A class to wrap a CubeSigner key and client into a Viem {@link CustomSource}.
@@ -38,7 +38,13 @@ export declare class CubeSignerSource implements CustomSource {
38
38
  * @returns signature for the typed data
39
39
  */
40
40
  signTypedData: CustomSource["signTypedData"];
41
- signAuthorization: CustomSource["signAuthorization"];
41
+ /**
42
+ * Signs EIP-7702 authorization data
43
+ *
44
+ * @param parameters Authorization requests
45
+ * @returns Signed authorization
46
+ */
47
+ signAuthorization(parameters: AuthorizationRequest): Promise<SignAuthorizationReturnType>;
42
48
  /**
43
49
  * It is recommended to use `prepareTransactionRequest` on your request
44
50
  * before calling this function.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,EAYlB,MAAM,MAAM,CAAC;AACd,OAAO,EACL,KAAK,gBAAgB,EAIrB,KAAK,gBAAgB,EACrB,KAAK,GAAG,EAET,MAAM,6BAA6B,CAAC;AAGrC;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,YAAY;;IAInD,iDAAiD;IACjD,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;;;;;;;OAQG;gBACS,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAavF;;;;;;;;OAQG;IACI,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAa7C;IAEF;;;;;;;;OAQG;IACI,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,CAYjD;IAEK,iBAAiB,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAiBzD;IAEF;;;;;;;;;;;OAWG;IACI,eAAe,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAsBrD;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAEjB,KAAK,2BAA2B,EAUjC,MAAM,MAAM,CAAC;AACd,OAAO,EACL,KAAK,gBAAgB,EAIrB,KAAK,gBAAgB,EACrB,KAAK,GAAG,EAET,MAAM,6BAA6B,CAAC;AAGrC;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,YAAY;;IAInD,iDAAiD;IACjD,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC;;;;;;;;OAQG;gBACS,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAavF;;;;;;;;OAQG;IACI,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAa7C;IAEF;;;;;;;;OAQG;IACI,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,CAYjD;IAEF;;;;;OAKG;IACU,iBAAiB,CAC5B,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,2BAA2B,CAAC;IAiBvC;;;;;;;;;;;OAWG;IACI,eAAe,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAsBrD;CACH"}
package/dist/index.js CHANGED
@@ -72,22 +72,6 @@ export class CubeSignerSource {
72
72
  });
73
73
  return ensureHex(signature);
74
74
  };
75
- this.signAuthorization = async (parameters) => {
76
- const hashToSign = hashAuthorization(parameters);
77
- const key = await __classPrivateFieldGet(this, _CubeSignerSource_signer, "f").key();
78
- // TODO(CS-3720): use the typed endpoint once we have it
79
- const resp = await key.signBlob({
80
- message_base64: encodeToBase64(hexToBytes(hashToSign)),
81
- });
82
- const data = await __classPrivateFieldGet(this, _CubeSignerSource_signer, "f").handleMfa(resp);
83
- const signature = ensureHex(data.signature);
84
- return {
85
- address: parameters.contractAddress ?? parameters.address,
86
- nonce: parameters.nonce,
87
- chainId: parameters.chainId,
88
- ...parseSignature(signature),
89
- };
90
- };
91
75
  /**
92
76
  * It is recommended to use `prepareTransactionRequest` on your request
93
77
  * before calling this function.
@@ -121,7 +105,29 @@ export class CubeSignerSource {
121
105
  this.signMessage = this.signMessage.bind(this);
122
106
  this.signTransaction = this.signTransaction.bind(this);
123
107
  this.signTypedData = this.signTypedData.bind(this);
124
- this.signAuthorization = this.signAuthorization?.bind(this);
108
+ this.signAuthorization = this.signAuthorization.bind(this);
109
+ }
110
+ /**
111
+ * Signs EIP-7702 authorization data
112
+ *
113
+ * @param parameters Authorization requests
114
+ * @returns Signed authorization
115
+ */
116
+ async signAuthorization(parameters) {
117
+ const hashToSign = hashAuthorization(parameters);
118
+ const key = await __classPrivateFieldGet(this, _CubeSignerSource_signer, "f").key();
119
+ // TODO(CS-3720): use the typed endpoint once we have it
120
+ const resp = await key.signBlob({
121
+ message_base64: encodeToBase64(hexToBytes(hashToSign)),
122
+ });
123
+ const data = await __classPrivateFieldGet(this, _CubeSignerSource_signer, "f").handleMfa(resp);
124
+ const signature = ensureHex(data.signature);
125
+ return {
126
+ address: parameters.contractAddress ?? parameters.address,
127
+ nonce: parameters.nonce,
128
+ chainId: parameters.chainId,
129
+ ...parseSignature(signature),
130
+ };
125
131
  }
126
132
  }
127
133
  _CubeSignerSource_signer = new WeakMap();
@@ -144,4 +150,4 @@ function assert(value, message) {
144
150
  throw new Error(message);
145
151
  }
146
152
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQU1MLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLEtBQUssRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixXQUFXLEdBQ1osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBSUwsU0FBUyxFQUdULGNBQWMsR0FDZixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQjs7Ozs7Ozs7T0FRRztJQUNILFlBQVksT0FBcUIsRUFBRSxNQUF3QixFQUFFLE9BQTBCO1FBZnZGLDJDQUEyQztRQUNsQywyQ0FBbUI7UUEyQjVCOzs7Ozs7OztXQVFHO1FBQ0ksZ0JBQVcsR0FBZ0MsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RSxJQUFJLEdBQUcsQ0FBQztZQUNSLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2hDLEdBQUcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLHVCQUFBLElBQUksZ0NBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FB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aEhBLHVCQUFBLElBQUksNEJBQVcsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBQSxDQUFDO1FBRXZELHlGQUF5RjtRQUN6RixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyx1QkFBQSxJQUFJLGdDQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFaEQsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0F1R0Y7O0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsU0FBUyxDQUFDLEtBQWE7SUFDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEtBQUssYUFBYSxDQUFDLENBQUM7SUFDNUMsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsTUFBTSxDQUFDLEtBQWMsRUFBRSxPQUFlO0lBQzdDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEFkZHJlc3MsXG4gIHR5cGUgQ3VzdG9tU291cmNlLFxuICB0eXBlIEhleCxcbiAgdHlwZSBTaWduQXV0aG9yaXphdGlvblJldHVyblR5cGUsXG4gIHR5cGUgU2lnbmF0dXJlLFxuICBieXRlc1RvSGV4LFxuICBmb3JtYXRUcmFuc2FjdGlvblJlcXVlc3QsXG4gIGdldEFkZHJlc3MsXG4gIGlzSGV4LFxuICBwYXJzZVNpZ25hdHVyZSxcbiAgcGFyc2VUcmFuc2FjdGlvbixcbiAgc2VyaWFsaXplVHJhbnNhY3Rpb24sXG4gIHN0cmluZ1RvSGV4LFxufSBmcm9tIFwidmllbVwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDdWJlU2lnbmVyQ2xpZW50LFxuICB0eXBlIEVpcDcxMlNpZ25SZXF1ZXN0LFxuICB0eXBlIEV2bVNpZ25SZXF1ZXN0LFxuICBFdm1TaWduZXIsXG4gIHR5cGUgRXZtU2lnbmVyT3B0aW9ucyxcbiAgdHlwZSBLZXksXG4gIGVuY29kZVRvQmFzZTY0LFxufSBmcm9tIFwiQGN1YmlzdC1sYWJzL2N1YmVzaWduZXItc2RrXCI7XG5pbXBvcnQgeyBoYXNoQXV0aG9yaXphdGlvbiwgaGV4VG9CeXRlcyB9IGZyb20gXCJ2aWVtL3V0aWxzXCI7XG5cbi8qKlxuICogQSBjbGFzcyB0byB3cmFwIGEgQ3ViZVNpZ25lciBrZXkgYW5kIGNsaWVudCBpbnRvIGEgVmllbSB7QGxpbmsgQ3VzdG9tU291cmNlfS5cbiAqIFVzZSBWaWVtJ3MgYHRvQWNjb3VudGAgdG8gY29udmVydCB0aGlzIHRvIGEgVmllbSBBY2NvdW50LlxuICovXG5leHBvcnQgY2xhc3MgQ3ViZVNpZ25lclNvdXJjZSBpbXBsZW1lbnRzIEN1c3RvbVNvdXJjZSB7XG4gIC8qKiBUaGUgaW50ZXJuYWwgQ3ViZVNpZ25lciBzaWduZXIgdXNlZC4gKi9cbiAgcmVhZG9ubHkgI3NpZ25lcjogRXZtU2lnbmVyO1xuXG4gIC8qKiBUaGUgYWRkcmVzcyB0aGUgd2FsbGV0IGlzIGFzc29jaWF0ZWQgd2l0aC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGFkZHJlc3M6IEFkZHJlc3M7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCBhIFZpZW0ge0BsaW5rIEN1c3RvbVNvdXJjZX0gYXJvdW5kIGEgQ3ViZVNpZ25lciBrZXkgYW5kIGNsaWVudC5cbiAgICogVXNlIFZpZW0ncyBgdG9BY2NvdW50YCB0byBjb252ZXJ0IHRoaXMgdG8gYSBWaWVtIEFjY291bnQuXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIFRoZSBFVk0gYWRkcmVzcyB0aGlzIHdhbGxldCBpcyBhc3NvY2lhdGVkIHdpdGhcbiAgICogQHBhcmFtIGNsaWVudCBUaGUgc2Vzc2lvbiB1c2VkIGZvciBzaWduaW5nLiBNdXN0IGhhdmUgbmVjZXNzYXJ5IHNjb3Blcy5cbiAgICogQHBhcmFtIG9wdGlvbnMgTUZBIG9wdGlvbnMgZm9yIHRoZSBjbGllbnQgdG8gcmVzcGVjdFxuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgdGhlIGFkZHJlc3MgaXMgbm90IGEgdmFsaWQgRVZNIGFkZHJlc3NcbiAgICovXG4gIGNvbnN0cnVjdG9yKGFkZHJlc3M6IEtleSB8IHN0cmluZywgY2xpZW50OiBDdWJlU2lnbmVyQ2xpZW50LCBvcHRpb25zPzogRXZtU2lnbmVyT3B0aW9ucykge1xuICAgIHRoaXMuI3NpZ25lciA9IG5ldyBFdm1TaWduZXIoYWRkcmVzcywgY2xpZW50LCBvcHRpb25zKTtcblxuICAgIC8vIE5PVEU6IGBnZXRBZGRyZXNzYCB3aWxsIGNoZWNrc3VtIHRoZSBhZGRyZXNzIGFuZCB0aHJvdyBpZiBpdCdzIGFuIGludmFsaWQgRVZNIGFkZHJlc3MuXG4gICAgdGhpcy5hZGRyZXNzID0gZ2V0QWRkcmVzcyh0aGlzLiNzaWduZXIuYWRkcmVzcyk7XG5cbiAgICAvLyBTY29wZSB0aGVzZSBmdW5jdGlvbnMgdG8gcHJvcGVybHkgcmVzb2x2ZSBgdGhpc2BcbiAgICB0aGlzLnNpZ25NZXNzYWdlID0gdGhpcy5zaWduTWVzc2FnZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuc2lnblRyYW5zYWN0aW9uID0gdGhpcy5zaWduVHJhbnNhY3Rpb24uYmluZCh0aGlzKTtcbiAgICB0aGlzLnNpZ25UeXBlZERhdGEgPSB0aGlzLnNpZ25UeXBlZERhdGEuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNpZ25BdXRob3JpemF0aW9uID0gdGhpcy5zaWduQXV0aG9yaXphdGlvbj8uYmluZCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyBhcmJpdHJhcnkgbWVzc2FnZXMuIFRoaXMgdXNlcyBDdWJlU2lnbmVyJ3MgRUlQLTE5MSBzaWduaW5nIGVuZHBvaW50LlxuICAgKiBUaGUga2V5IChmb3IgdGhpcyBzZXNzaW9uKSBtdXN0IGhhdmUgdGhlIGBcIkFsbG93UmF3QmxvYlNpZ25pbmdcImAgb3JcbiAgICogYFwiQWxsb3dFaXAxOTFTaWduaW5nXCJgIHBvbGljeSBhdHRhY2hlZC5cbiAgICpcbiAgICogQHBhcmFtIHJvb3QgT2JqZWN0IGFyb3VuZCB0aGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gcm9vdC5tZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHNpZ25cbiAgICogQHJldHVybnMgVGhlIHNpZ25hdHVyZVxuICAgKi9cbiAgcHVibGljIHNpZ25NZXNzYWdlOiBDdXN0b21Tb3VyY2VbXCJzaWduTWVzc2FnZVwiXSA9IGFzeW5jICh7IG1lc3NhZ2UgfSkgPT4ge1xuICAgIGxldCBoZXg7XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBoZXggPSBzdHJpbmdUb0hleChtZXNzYWdlKTtcbiAgICB9IGVsc2UgaWYgKGlzSGV4KG1lc3NhZ2UucmF3KSkge1xuICAgICAgaGV4ID0gbWVzc2FnZS5yYXc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhleCA9IGJ5dGVzVG9IZXgobWVzc2FnZS5yYXcpO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHRoaXMuI3NpZ25lci5zaWduRWlwMTkxKHsgZGF0YTogaGV4IH0pO1xuXG4gICAgcmV0dXJuIGVuc3VyZUhleChzaWduYXR1cmUpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBTaWducyBFSVAtNzEyIHR5cGVkIGRhdGEuIFRoaXMgdXNlcyBDdWJlU2lnbmVyJ3MgRUlQLTcxMiBzaWduaW5nIGVuZHBvaW50LlxuICAgKiBUaGUga2V5IChmb3IgdGhpcyBzZXNzaW9uKSBtdXN0IGhhdmUgdGhlIGBcIkFsbG93UmF3QmxvYlNpZ25pbmdcImAgb3JcbiAgICogYFwiQWxsb3dFaXA3MTJTaWduaW5nXCJgIHBvbGljeSBhdHRhY2hlZC5cbiAgICogYGNoYWluSWRgIG11c3QgYmUgc3BlY2lmaWVkIHdpdGhpbiB0aGUgYGRvbWFpbmAuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIFR5cGVkIGRhdGFcbiAgICogQHJldHVybnMgc2lnbmF0dXJlIGZvciB0aGUgdHlwZWQgZGF0YVxuICAgKi9cbiAgcHVibGljIHNpZ25UeXBlZERhdGE6IEN1c3RvbVNvdXJjZVtcInNpZ25UeXBlZERhdGFcIl0gPSBhc3luYyAocGFyYW1ldGVycykgPT4ge1xuICAgIGFzc2VydChwYXJhbWV0ZXJzLmRvbWFpbiwgXCJgZG9tYWluYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBjYXN0ZWRQYXJhbWV0ZXJzID0gcGFyYW1ldGVycyBhcyBFaXA3MTJTaWduUmVxdWVzdFtcInR5cGVkX2RhdGFcIl07XG4gICAgYXNzZXJ0KGNhc3RlZFBhcmFtZXRlcnMuZG9tYWluLmNoYWluSWQsIFwiYGRvbWFpbi5jaGFpbklkYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCB0aGlzLiNzaWduZXIuc2lnbkVpcDcxMih7XG4gICAgICBjaGFpbl9pZDogTnVtYmVyKGNhc3RlZFBhcmFtZXRlcnMuZG9tYWluLmNoYWluSWQpLFxuICAgICAgdHlwZWRfZGF0YTogY2FzdGVkUGFyYW1ldGVycyxcbiAgICB9KTtcblxuICAgIHJldHVybiBlbnN1cmVIZXgoc2lnbmF0dXJlKTtcbiAgfTtcblxuICBwdWJsaWMgc2lnbkF1dGhvcml6YXRpb246IEN1c3RvbVNvdXJjZVtcInNpZ25BdXRob3JpemF0aW9uXCJdID0gYXN5bmMgKFxuICAgIHBhcmFtZXRlcnMsXG4gICk6IFByb21pc2U8U2lnbkF1dGhvcml6YXRpb25SZXR1cm5UeXBlPiA9PiB7XG4gICAgY29uc3QgaGFzaFRvU2lnbiA9IGhhc2hBdXRob3JpemF0aW9uKHBhcmFtZXRlcnMpO1xuICAgIGNvbnN0IGtleSA9IGF3YWl0IHRoaXMuI3NpZ25lci5rZXkoKTtcbiAgICAvLyBUT0RPKENTLTM3MjApOiB1c2UgdGhlIHR5cGVkIGVuZHBvaW50IG9uY2Ugd2UgaGF2ZSBpdFxuICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBrZXkuc2lnbkJsb2Ioe1xuICAgICAgbWVzc2FnZV9iYXNlNjQ6IGVuY29kZVRvQmFzZTY0KGhleFRvQnl0ZXMoaGFzaFRvU2lnbikpLFxuICAgIH0pO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLiNzaWduZXIuaGFuZGxlTWZhKHJlc3ApO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGVuc3VyZUhleChkYXRhLnNpZ25hdHVyZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZHJlc3M6IHBhcmFtZXRlcnMuY29udHJhY3RBZGRyZXNzID8/IHBhcmFtZXRlcnMuYWRkcmVzcyxcbiAgICAgIG5vbmNlOiBwYXJhbWV0ZXJzLm5vbmNlLFxuICAgICAgY2hhaW5JZDogcGFyYW1ldGVycy5jaGFpbklkLFxuICAgICAgLi4ucGFyc2VTaWduYXR1cmUoc2lnbmF0dXJlKSxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgYHByZXBhcmVUcmFuc2FjdGlvblJlcXVlc3RgIG9uIHlvdXIgcmVxdWVzdFxuICAgKiBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBTaWduIGEgdHJhbnNhY3Rpb24uIFRoaXMgbWV0aG9kIHdpbGwgYmxvY2sgaWYgdGhlIGtleSByZXF1aXJlcyBNRkEgYXBwcm92YWwuXG4gICAqIGB0eXBlYCBhbmQgYGNoYWluSWRgIG11c3QgYmUgZGVmaW5lZC4gT25seSBzdXBwb3J0cyB0eXBlIFwibGVnYWN5XCIgb3IgXCJlaXAxNTU5XCIuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUaGUgdHJhbnNhY3Rpb24gdG8gc2lnblxuICAgKiBAcGFyYW0gb3B0aW9ucyBDb250YWlucyBhbiBvcHRpb25hbCBjdXN0b20gc2VyaWFsaXplclxuICAgKiBAcmV0dXJucyBTaWduZWQgdHJhbnNhY3Rpb25cbiAgICogQHRocm93cyB7RXJyb3J9IGlmIHRyYW5zYWN0aW9uLnR5cGUgaXNuJ3QgXCJsZWdhY3lcIiBvciBcImVpcDE1NTlcIiwgb3IgaWYgXCJjaGFpbklkXCIgaXNuJ3Qgc3BlY2lmaWVkXG4gICAqL1xuICBwdWJsaWMgc2lnblRyYW5zYWN0aW9uOiBDdXN0b21Tb3VyY2VbXCJzaWduVHJhbnNhY3Rpb25cIl0gPSBhc3luYyAodHJhbnNhY3Rpb24sIG9wdGlvbnMpID0+IHtcbiAgICBhc3NlcnQoXG4gICAgICB0cmFuc2FjdGlvbi50eXBlID09PSBcImxlZ2FjeVwiIHx8IHRyYW5zYWN0aW9uLnR5cGUgPT09IFwiZWlwMTU1OVwiLFxuICAgICAgYFVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUgJyR7dHJhbnNhY3Rpb24udHlwZX0nLCBDdWJlU2lnbmVyIG9ubHkgc3VwcG9ydHMgdHlwZSAnbGVnYWN5JyBvciAnZWlwMTU1OSdcIil9J2AsXG4gICAgKTtcblxuICAgIGFzc2VydCh0cmFuc2FjdGlvbi5jaGFpbklkLCBcImBjaGFpbklkYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRUcmFuc2FjdGlvblJlcXVlc3QodHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHJscFNpZ25lZFRyYW5zYWN0aW9uID0gYXdhaXQgdGhpcy4jc2lnbmVyLnNpZ25UcmFuc2FjdGlvbih7XG4gICAgICBjaGFpbl9pZDogdHJhbnNhY3Rpb24uY2hhaW5JZCxcbiAgICAgIHR4OiBmb3JtYXR0ZWQgYXMgRXZtU2lnblJlcXVlc3RbXCJ0eFwiXSxcbiAgICB9KTtcblxuICAgIC8vIEN1YmVTaWduZXIgcmV0dXJucyBhbiBSTFAtZW5jb2RlZCB0cmFuc2FjdGlvbi4gU2luY2UgVmllbSBhbGxvd3MgdXNlcnMgdG8gcGFzcyBhIGN1c3RvbSBzZXJpYWxpemVyLCB3ZSB3aWxsXG4gICAgLy8gbm93IHVuc2VyaWFsaXplIGFuZCByZXNlcmlhbGl6ZSB3aXRoIFZpZW0ncyBzZXJpYWxpemVyLlxuICAgIGNvbnN0IHsgciwgcywgdiwgeVBhcml0eSwgLi4ucGFyc2VkVHJhbnNhY3Rpb24gfSA9IHBhcnNlVHJhbnNhY3Rpb24oXG4gICAgICBlbnN1cmVIZXgocmxwU2lnbmVkVHJhbnNhY3Rpb24pLFxuICAgICk7XG4gICAgY29uc3Qgc2VyaWFsaXplciA9IG9wdGlvbnM/LnNlcmlhbGl6ZXIgPz8gc2VyaWFsaXplVHJhbnNhY3Rpb247XG5cbiAgICByZXR1cm4gYXdhaXQgc2VyaWFsaXplcihwYXJzZWRUcmFuc2FjdGlvbiwgeyByLCBzLCB2LCB5UGFyaXR5IH0gYXMgU2lnbmF0dXJlKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAcGFyYW0gaW5wdXQgQSBoZXggc3RyaW5nXG4gKiBAcmV0dXJucyB0aGUgaW5wdXQsIHR5cGUgbmFycm93ZWQgdG8gSGV4XG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgaW5wdXQgaXMgbm90IEhleFxuICovXG5mdW5jdGlvbiBlbnN1cmVIZXgoaW5wdXQ6IHN0cmluZyk6IEhleCB7XG4gIGFzc2VydChpc0hleChpbnB1dCksIGAke2lucHV0fSBpcyBub3QgaGV4YCk7XG4gIHJldHVybiBpbnB1dDtcbn1cblxuLyoqXG4gKiBAcGFyYW0gdmFsdWUgQSB2YWx1ZSB0aGF0IGlzIGV4cGVjdGVkIHRvIGJlIHRydXRoeVxuICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGZhbHN5XG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgdmFsdWUgaXMgbm90IHRydXRoeVxuICovXG5mdW5jdGlvbiBhc3NlcnQodmFsdWU6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZyk6IGFzc2VydHMgdmFsdWUge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG59XG4iXX0=
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQU9MLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLEtBQUssRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixXQUFXLEdBQ1osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBSUwsU0FBUyxFQUdULGNBQWMsR0FDZixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQjs7Ozs7Ozs7T0FRRztJQUNILFlBQVksT0FBcUIsRUFBRSxNQUF3QixFQUFFLE9BQTBCO1FBZnZGLDJDQUEyQztRQUNsQywyQ0FBbUI7UUEyQjVCOzs7Ozs7OztXQVFHO1FBQ0ksZ0JBQVcsR0FBZ0MsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RSxJQUFJLEdBQUcsQ0FBQztZQUNSLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2hDLEdBQUcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLHVCQUFBLElBQUksZ0NBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FB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QU0sdUJBQUEsSUFBSSxnQ0FBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLHdEQUF3RDtRQUN4RCxNQUFNLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDOUIsY0FBYyxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdkQsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsTUFBTSx1QkFBQSxJQUFJLGdDQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsT0FBTztZQUNMLE9BQU8sRUFBRSxVQUFVLENBQUMsZUFBZSxJQUFJLFVBQVUsQ0FBQyxPQUFPO1lBQ3pELEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztZQUN2QixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87WUFDM0IsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO1NBQzdCLENBQUM7SUFDSixDQUFDO0NBcUNGOztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFNBQVMsQ0FBQyxLQUFhO0lBQzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxLQUFLLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLE1BQU0sQ0FBQyxLQUFjLEVBQUUsT0FBZTtJQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBBZGRyZXNzLFxuICB0eXBlIEF1dGhvcml6YXRpb25SZXF1ZXN0LFxuICB0eXBlIEN1c3RvbVNvdXJjZSxcbiAgdHlwZSBIZXgsXG4gIHR5cGUgU2lnbkF1dGhvcml6YXRpb25SZXR1cm5UeXBlLFxuICB0eXBlIFNpZ25hdHVyZSxcbiAgYnl0ZXNUb0hleCxcbiAgZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBnZXRBZGRyZXNzLFxuICBpc0hleCxcbiAgcGFyc2VTaWduYXR1cmUsXG4gIHBhcnNlVHJhbnNhY3Rpb24sXG4gIHNlcmlhbGl6ZVRyYW5zYWN0aW9uLFxuICBzdHJpbmdUb0hleCxcbn0gZnJvbSBcInZpZW1cIjtcbmltcG9ydCB7XG4gIHR5cGUgQ3ViZVNpZ25lckNsaWVudCxcbiAgdHlwZSBFaXA3MTJTaWduUmVxdWVzdCxcbiAgdHlwZSBFdm1TaWduUmVxdWVzdCxcbiAgRXZtU2lnbmVyLFxuICB0eXBlIEV2bVNpZ25lck9wdGlvbnMsXG4gIHR5cGUgS2V5LFxuICBlbmNvZGVUb0Jhc2U2NCxcbn0gZnJvbSBcIkBjdWJpc3QtbGFicy9jdWJlc2lnbmVyLXNka1wiO1xuaW1wb3J0IHsgaGFzaEF1dGhvcml6YXRpb24sIGhleFRvQnl0ZXMgfSBmcm9tIFwidmllbS91dGlsc1wiO1xuXG4vKipcbiAqIEEgY2xhc3MgdG8gd3JhcCBhIEN1YmVTaWduZXIga2V5IGFuZCBjbGllbnQgaW50byBhIFZpZW0ge0BsaW5rIEN1c3RvbVNvdXJjZX0uXG4gKiBVc2UgVmllbSdzIGB0b0FjY291bnRgIHRvIGNvbnZlcnQgdGhpcyB0byBhIFZpZW0gQWNjb3VudC5cbiAqL1xuZXhwb3J0IGNsYXNzIEN1YmVTaWduZXJTb3VyY2UgaW1wbGVtZW50cyBDdXN0b21Tb3VyY2Uge1xuICAvKiogVGhlIGludGVybmFsIEN1YmVTaWduZXIgc2lnbmVyIHVzZWQuICovXG4gIHJlYWRvbmx5ICNzaWduZXI6IEV2bVNpZ25lcjtcblxuICAvKiogVGhlIGFkZHJlc3MgdGhlIHdhbGxldCBpcyBhc3NvY2lhdGVkIHdpdGguICovXG4gIHB1YmxpYyByZWFkb25seSBhZGRyZXNzOiBBZGRyZXNzO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSBWaWVtIHtAbGluayBDdXN0b21Tb3VyY2V9IGFyb3VuZCBhIEN1YmVTaWduZXIga2V5IGFuZCBjbGllbnQuXG4gICAqIFVzZSBWaWVtJ3MgYHRvQWNjb3VudGAgdG8gY29udmVydCB0aGlzIHRvIGEgVmllbSBBY2NvdW50LlxuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyBUaGUgRVZNIGFkZHJlc3MgdGhpcyB3YWxsZXQgaXMgYXNzb2NpYXRlZCB3aXRoXG4gICAqIEBwYXJhbSBjbGllbnQgVGhlIHNlc3Npb24gdXNlZCBmb3Igc2lnbmluZy4gTXVzdCBoYXZlIG5lY2Vzc2FyeSBzY29wZXMuXG4gICAqIEBwYXJhbSBvcHRpb25zIE1GQSBvcHRpb25zIGZvciB0aGUgY2xpZW50IHRvIHJlc3BlY3RcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIHRoZSBhZGRyZXNzIGlzIG5vdCBhIHZhbGlkIEVWTSBhZGRyZXNzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihhZGRyZXNzOiBLZXkgfCBzdHJpbmcsIGNsaWVudDogQ3ViZVNpZ25lckNsaWVudCwgb3B0aW9ucz86IEV2bVNpZ25lck9wdGlvbnMpIHtcbiAgICB0aGlzLiNzaWduZXIgPSBuZXcgRXZtU2lnbmVyKGFkZHJlc3MsIGNsaWVudCwgb3B0aW9ucyk7XG5cbiAgICAvLyBOT1RFOiBgZ2V0QWRkcmVzc2Agd2lsbCBjaGVja3N1bSB0aGUgYWRkcmVzcyBhbmQgdGhyb3cgaWYgaXQncyBhbiBpbnZhbGlkIEVWTSBhZGRyZXNzLlxuICAgIHRoaXMuYWRkcmVzcyA9IGdldEFkZHJlc3ModGhpcy4jc2lnbmVyLmFkZHJlc3MpO1xuXG4gICAgLy8gU2NvcGUgdGhlc2UgZnVuY3Rpb25zIHRvIHByb3Blcmx5IHJlc29sdmUgYHRoaXNgXG4gICAgdGhpcy5zaWduTWVzc2FnZSA9IHRoaXMuc2lnbk1lc3NhZ2UuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNpZ25UcmFuc2FjdGlvbiA9IHRoaXMuc2lnblRyYW5zYWN0aW9uLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zaWduVHlwZWREYXRhID0gdGhpcy5zaWduVHlwZWREYXRhLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zaWduQXV0aG9yaXphdGlvbiA9IHRoaXMuc2lnbkF1dGhvcml6YXRpb24uYmluZCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyBhcmJpdHJhcnkgbWVzc2FnZXMuIFRoaXMgdXNlcyBDdWJlU2lnbmVyJ3MgRUlQLTE5MSBzaWduaW5nIGVuZHBvaW50LlxuICAgKiBUaGUga2V5IChmb3IgdGhpcyBzZXNzaW9uKSBtdXN0IGhhdmUgdGhlIGBcIkFsbG93UmF3QmxvYlNpZ25pbmdcImAgb3JcbiAgICogYFwiQWxsb3dFaXAxOTFTaWduaW5nXCJgIHBvbGljeSBhdHRhY2hlZC5cbiAgICpcbiAgICogQHBhcmFtIHJvb3QgT2JqZWN0IGFyb3VuZCB0aGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gcm9vdC5tZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHNpZ25cbiAgICogQHJldHVybnMgVGhlIHNpZ25hdHVyZVxuICAgKi9cbiAgcHVibGljIHNpZ25NZXNzYWdlOiBDdXN0b21Tb3VyY2VbXCJzaWduTWVzc2FnZVwiXSA9IGFzeW5jICh7IG1lc3NhZ2UgfSkgPT4ge1xuICAgIGxldCBoZXg7XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBoZXggPSBzdHJpbmdUb0hleChtZXNzYWdlKTtcbiAgICB9IGVsc2UgaWYgKGlzSGV4KG1lc3NhZ2UucmF3KSkge1xuICAgICAgaGV4ID0gbWVzc2FnZS5yYXc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhleCA9IGJ5dGVzVG9IZXgobWVzc2FnZS5yYXcpO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHRoaXMuI3NpZ25lci5zaWduRWlwMTkxKHsgZGF0YTogaGV4IH0pO1xuXG4gICAgcmV0dXJuIGVuc3VyZUhleChzaWduYXR1cmUpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBTaWducyBFSVAtNzEyIHR5cGVkIGRhdGEuIFRoaXMgdXNlcyBDdWJlU2lnbmVyJ3MgRUlQLTcxMiBzaWduaW5nIGVuZHBvaW50LlxuICAgKiBUaGUga2V5IChmb3IgdGhpcyBzZXNzaW9uKSBtdXN0IGhhdmUgdGhlIGBcIkFsbG93UmF3QmxvYlNpZ25pbmdcImAgb3JcbiAgICogYFwiQWxsb3dFaXA3MTJTaWduaW5nXCJgIHBvbGljeSBhdHRhY2hlZC5cbiAgICogYGNoYWluSWRgIG11c3QgYmUgc3BlY2lmaWVkIHdpdGhpbiB0aGUgYGRvbWFpbmAuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIFR5cGVkIGRhdGFcbiAgICogQHJldHVybnMgc2lnbmF0dXJlIGZvciB0aGUgdHlwZWQgZGF0YVxuICAgKi9cbiAgcHVibGljIHNpZ25UeXBlZERhdGE6IEN1c3RvbVNvdXJjZVtcInNpZ25UeXBlZERhdGFcIl0gPSBhc3luYyAocGFyYW1ldGVycykgPT4ge1xuICAgIGFzc2VydChwYXJhbWV0ZXJzLmRvbWFpbiwgXCJgZG9tYWluYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBjYXN0ZWRQYXJhbWV0ZXJzID0gcGFyYW1ldGVycyBhcyBFaXA3MTJTaWduUmVxdWVzdFtcInR5cGVkX2RhdGFcIl07XG4gICAgYXNzZXJ0KGNhc3RlZFBhcmFtZXRlcnMuZG9tYWluLmNoYWluSWQsIFwiYGRvbWFpbi5jaGFpbklkYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCB0aGlzLiNzaWduZXIuc2lnbkVpcDcxMih7XG4gICAgICBjaGFpbl9pZDogTnVtYmVyKGNhc3RlZFBhcmFtZXRlcnMuZG9tYWluLmNoYWluSWQpLFxuICAgICAgdHlwZWRfZGF0YTogY2FzdGVkUGFyYW1ldGVycyxcbiAgICB9KTtcblxuICAgIHJldHVybiBlbnN1cmVIZXgoc2lnbmF0dXJlKTtcbiAgfTtcblxuICAvKipcbiAgICogU2lnbnMgRUlQLTc3MDIgYXV0aG9yaXphdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEF1dGhvcml6YXRpb24gcmVxdWVzdHNcbiAgICogQHJldHVybnMgU2lnbmVkIGF1dGhvcml6YXRpb25cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduQXV0aG9yaXphdGlvbihcbiAgICBwYXJhbWV0ZXJzOiBBdXRob3JpemF0aW9uUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxTaWduQXV0aG9yaXphdGlvblJldHVyblR5cGU+IHtcbiAgICBjb25zdCBoYXNoVG9TaWduID0gaGFzaEF1dGhvcml6YXRpb24ocGFyYW1ldGVycyk7XG4gICAgY29uc3Qga2V5ID0gYXdhaXQgdGhpcy4jc2lnbmVyLmtleSgpO1xuICAgIC8vIFRPRE8oQ1MtMzcyMCk6IHVzZSB0aGUgdHlwZWQgZW5kcG9pbnQgb25jZSB3ZSBoYXZlIGl0XG4gICAgY29uc3QgcmVzcCA9IGF3YWl0IGtleS5zaWduQmxvYih7XG4gICAgICBtZXNzYWdlX2Jhc2U2NDogZW5jb2RlVG9CYXNlNjQoaGV4VG9CeXRlcyhoYXNoVG9TaWduKSksXG4gICAgfSk7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuI3NpZ25lci5oYW5kbGVNZmEocmVzcCk7XG4gICAgY29uc3Qgc2lnbmF0dXJlID0gZW5zdXJlSGV4KGRhdGEuc2lnbmF0dXJlKTtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogcGFyYW1ldGVycy5jb250cmFjdEFkZHJlc3MgPz8gcGFyYW1ldGVycy5hZGRyZXNzLFxuICAgICAgbm9uY2U6IHBhcmFtZXRlcnMubm9uY2UsXG4gICAgICBjaGFpbklkOiBwYXJhbWV0ZXJzLmNoYWluSWQsXG4gICAgICAuLi5wYXJzZVNpZ25hdHVyZShzaWduYXR1cmUpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIGBwcmVwYXJlVHJhbnNhY3Rpb25SZXF1ZXN0YCBvbiB5b3VyIHJlcXVlc3RcbiAgICogYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi5cbiAgICpcbiAgICogU2lnbiBhIHRyYW5zYWN0aW9uLiBUaGlzIG1ldGhvZCB3aWxsIGJsb2NrIGlmIHRoZSBrZXkgcmVxdWlyZXMgTUZBIGFwcHJvdmFsLlxuICAgKiBgdHlwZWAgYW5kIGBjaGFpbklkYCBtdXN0IGJlIGRlZmluZWQuIE9ubHkgc3VwcG9ydHMgdHlwZSBcImxlZ2FjeVwiIG9yIFwiZWlwMTU1OVwiLlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVGhlIHRyYW5zYWN0aW9uIHRvIHNpZ25cbiAgICogQHBhcmFtIG9wdGlvbnMgQ29udGFpbnMgYW4gb3B0aW9uYWwgY3VzdG9tIHNlcmlhbGl6ZXJcbiAgICogQHJldHVybnMgU2lnbmVkIHRyYW5zYWN0aW9uXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBpZiB0cmFuc2FjdGlvbi50eXBlIGlzbid0IFwibGVnYWN5XCIgb3IgXCJlaXAxNTU5XCIsIG9yIGlmIFwiY2hhaW5JZFwiIGlzbid0IHNwZWNpZmllZFxuICAgKi9cbiAgcHVibGljIHNpZ25UcmFuc2FjdGlvbjogQ3VzdG9tU291cmNlW1wic2lnblRyYW5zYWN0aW9uXCJdID0gYXN5bmMgKHRyYW5zYWN0aW9uLCBvcHRpb25zKSA9PiB7XG4gICAgYXNzZXJ0KFxuICAgICAgdHJhbnNhY3Rpb24udHlwZSA9PT0gXCJsZWdhY3lcIiB8fCB0cmFuc2FjdGlvbi50eXBlID09PSBcImVpcDE1NTlcIixcbiAgICAgIGBVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlICcke3RyYW5zYWN0aW9uLnR5cGV9JywgQ3ViZVNpZ25lciBvbmx5IHN1cHBvcnRzIHR5cGUgJ2xlZ2FjeScgb3IgJ2VpcDE1NTknXCIpfSdgLFxuICAgICk7XG5cbiAgICBhc3NlcnQodHJhbnNhY3Rpb24uY2hhaW5JZCwgXCJgY2hhaW5JZGAgbXVzdCBiZSBkZWZpbmVkXCIpO1xuXG4gICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0KHRyYW5zYWN0aW9uKTtcbiAgICBjb25zdCBybHBTaWduZWRUcmFuc2FjdGlvbiA9IGF3YWl0IHRoaXMuI3NpZ25lci5zaWduVHJhbnNhY3Rpb24oe1xuICAgICAgY2hhaW5faWQ6IHRyYW5zYWN0aW9uLmNoYWluSWQsXG4gICAgICB0eDogZm9ybWF0dGVkIGFzIEV2bVNpZ25SZXF1ZXN0W1widHhcIl0sXG4gICAgfSk7XG5cbiAgICAvLyBDdWJlU2lnbmVyIHJldHVybnMgYW4gUkxQLWVuY29kZWQgdHJhbnNhY3Rpb24uIFNpbmNlIFZpZW0gYWxsb3dzIHVzZXJzIHRvIHBhc3MgYSBjdXN0b20gc2VyaWFsaXplciwgd2Ugd2lsbFxuICAgIC8vIG5vdyB1bnNlcmlhbGl6ZSBhbmQgcmVzZXJpYWxpemUgd2l0aCBWaWVtJ3Mgc2VyaWFsaXplci5cbiAgICBjb25zdCB7IHIsIHMsIHYsIHlQYXJpdHksIC4uLnBhcnNlZFRyYW5zYWN0aW9uIH0gPSBwYXJzZVRyYW5zYWN0aW9uKFxuICAgICAgZW5zdXJlSGV4KHJscFNpZ25lZFRyYW5zYWN0aW9uKSxcbiAgICApO1xuICAgIGNvbnN0IHNlcmlhbGl6ZXIgPSBvcHRpb25zPy5zZXJpYWxpemVyID8/IHNlcmlhbGl6ZVRyYW5zYWN0aW9uO1xuXG4gICAgcmV0dXJuIGF3YWl0IHNlcmlhbGl6ZXIocGFyc2VkVHJhbnNhY3Rpb24sIHsgciwgcywgdiwgeVBhcml0eSB9IGFzIFNpZ25hdHVyZSk7XG4gIH07XG59XG5cbi8qKlxuICogQHBhcmFtIGlucHV0IEEgaGV4IHN0cmluZ1xuICogQHJldHVybnMgdGhlIGlucHV0LCB0eXBlIG5hcnJvd2VkIHRvIEhleFxuICogQHRocm93cyB7RXJyb3J9IGlmIGlucHV0IGlzIG5vdCBIZXhcbiAqL1xuZnVuY3Rpb24gZW5zdXJlSGV4KGlucHV0OiBzdHJpbmcpOiBIZXgge1xuICBhc3NlcnQoaXNIZXgoaW5wdXQpLCBgJHtpbnB1dH0gaXMgbm90IGhleGApO1xuICByZXR1cm4gaW5wdXQ7XG59XG5cbi8qKlxuICogQHBhcmFtIHZhbHVlIEEgdmFsdWUgdGhhdCBpcyBleHBlY3RlZCB0byBiZSB0cnV0aHlcbiAqIEBwYXJhbSBtZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlIGlmIHRoZSB2YWx1ZSBpcyBmYWxzeVxuICogQHRocm93cyB7RXJyb3J9IGlmIHZhbHVlIGlzIG5vdCB0cnV0aHlcbiAqL1xuZnVuY3Rpb24gYXNzZXJ0KHZhbHVlOiB1bmtub3duLCBtZXNzYWdlOiBzdHJpbmcpOiBhc3NlcnRzIHZhbHVlIHtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "url": "git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git",
6
6
  "directory": "packages/viem"
7
7
  },
8
- "version": "0.4.214",
8
+ "version": "0.4.217",
9
9
  "type": "module",
10
10
  "description": "Viem CustomSource implementation",
11
11
  "license": "MIT OR Apache-2.0",
@@ -29,10 +29,10 @@
29
29
  "test": "test"
30
30
  },
31
31
  "peerDependencies": {
32
- "@cubist-labs/cubesigner-sdk": "^0.4.214",
32
+ "@cubist-labs/cubesigner-sdk": "^0.4.217",
33
33
  "viem": "^2.38.2"
34
34
  },
35
35
  "devDependencies": {
36
- "@cubist-labs/cubesigner-sdk-fs-storage": "^0.4.214"
36
+ "@cubist-labs/cubesigner-sdk-fs-storage": "^0.4.217"
37
37
  }
38
38
  }
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  type Address,
3
+ type AuthorizationRequest,
3
4
  type CustomSource,
4
5
  type Hex,
5
6
  type SignAuthorizationReturnType,
@@ -54,7 +55,7 @@ export class CubeSignerSource implements CustomSource {
54
55
  this.signMessage = this.signMessage.bind(this);
55
56
  this.signTransaction = this.signTransaction.bind(this);
56
57
  this.signTypedData = this.signTypedData.bind(this);
57
- this.signAuthorization = this.signAuthorization?.bind(this);
58
+ this.signAuthorization = this.signAuthorization.bind(this);
58
59
  }
59
60
 
60
61
  /**
@@ -104,9 +105,15 @@ export class CubeSignerSource implements CustomSource {
104
105
  return ensureHex(signature);
105
106
  };
106
107
 
107
- public signAuthorization: CustomSource["signAuthorization"] = async (
108
- parameters,
109
- ): Promise<SignAuthorizationReturnType> => {
108
+ /**
109
+ * Signs EIP-7702 authorization data
110
+ *
111
+ * @param parameters Authorization requests
112
+ * @returns Signed authorization
113
+ */
114
+ public async signAuthorization(
115
+ parameters: AuthorizationRequest,
116
+ ): Promise<SignAuthorizationReturnType> {
110
117
  const hashToSign = hashAuthorization(parameters);
111
118
  const key = await this.#signer.key();
112
119
  // TODO(CS-3720): use the typed endpoint once we have it
@@ -121,7 +128,7 @@ export class CubeSignerSource implements CustomSource {
121
128
  chainId: parameters.chainId,
122
129
  ...parseSignature(signature),
123
130
  };
124
- };
131
+ }
125
132
 
126
133
  /**
127
134
  * It is recommended to use `prepareTransactionRequest` on your request