@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 +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -18
- package/package.json +3 -3
- package/src/index.ts +12 -5
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
|
-
|
|
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.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,
|
|
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
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQU1MLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLEtBQUssRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixXQUFXLEdBQ1osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBSUwsU0FBUyxFQUdULGNBQWMsR0FDZixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQjs7Ozs7Ozs7T0FRRztJQUNILFlBQVksT0FBcUIsRUFBRSxNQUF3QixFQUFFLE9BQTBCO1FBZnZGLDJDQUEyQztRQUNsQywyQ0FBbUI7UUEyQjVCOzs7Ozs7OztXQVFHO1FBQ0ksZ0JBQVcsR0FBZ0MsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RSxJQUFJLEdBQUcsQ0FBQztZQUNSLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2hDLEdBQUcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLHVCQUFBLElBQUksZ0NBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUUvRCxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUM7UUFFRjs7Ozs7Ozs7V0FRRztRQUNJLGtCQUFhLEdBQWtDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUN6RSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1lBRXRELE1BQU0sZ0JBQWdCLEdBQUcsVUFBNkMsQ0FBQztZQUN2RSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO1lBRTVFLE1BQU0sU0FBUyxHQUFHLE1BQU0sdUJBQUEsSUFBSSxnQ0FBUSxDQUFDLFVBQVUsQ0FBQztnQkFDOUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUNqRCxVQUFVLEVBQUUsZ0JBQWdCO2FBQzdCLENBQUMsQ0FBQztZQUVILE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQztRQUVLLHNCQUFpQixHQUFzQyxLQUFLLEVBQ2pFLFVBQVUsRUFDNEIsRUFBRTtZQUN4QyxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNqRCxNQUFNLEdBQUcsR0FBRyxNQUFNLHVCQUFBLElBQUksZ0NBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNyQyx3REFBd0Q7WUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUM5QixjQUFjLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN2RCxDQUFDLENBQUM7WUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLHVCQUFBLElBQUksZ0NBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEQsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1QyxPQUFPO2dCQUNMLE9BQU8sRUFBRSxVQUFVLENBQUMsZUFBZSxJQUFJLFVBQVUsQ0FBQyxPQUFPO2dCQUN6RCxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7Z0JBQ3ZCLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztnQkFDM0IsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO2FBQzdCLENBQUM7UUFDSixDQUFDLENBQUM7UUFFRjs7Ozs7Ozs7Ozs7V0FXRztRQUNJLG9CQUFlLEdBQW9DLEtBQUssRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdkYsTUFBTSxDQUNKLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUMvRCxpQ0FBaUMsV0FBVyxDQUFDLElBQUksNERBQTRELENBQzlHLENBQUM7WUFFRixNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1lBRXpELE1BQU0sU0FBUyxHQUFHLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sb0JBQW9CLEdBQUcsTUFBTSx1QkFBQSxJQUFJLGdDQUFRLENBQUMsZUFBZSxDQUFDO2dCQUM5RCxRQUFRLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQzdCLEVBQUUsRUFBRSxTQUFpQzthQUN0QyxDQUFDLENBQUM7WUFFSCw4R0FBOEc7WUFDOUcsMERBQTBEO1lBQzFELE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxpQkFBaUIsRUFBRSxHQUFHLGdCQUFnQixDQUNqRSxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FDaEMsQ0FBQztZQUNGLE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxVQUFVLElBQUksb0JBQW9CLENBQUM7WUFFL0QsT0FBTyxNQUFNLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBZSxDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFDO1FBaEhBLHVCQUFBLElBQUksNEJBQVcsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBQSxDQUFDO1FBRXZELHlGQUF5RjtRQUN6RixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyx1QkFBQSxJQUFJLGdDQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFaEQsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0F1R0Y7O0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsU0FBUyxDQUFDLEtBQWE7SUFDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEtBQUssYUFBYSxDQUFDLENBQUM7SUFDNUMsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsTUFBTSxDQUFDLEtBQWMsRUFBRSxPQUFlO0lBQzdDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIEFkZHJlc3MsXG4gIHR5cGUgQ3VzdG9tU291cmNlLFxuICB0eXBlIEhleCxcbiAgdHlwZSBTaWduQXV0aG9yaXphdGlvblJldHVyblR5cGUsXG4gIHR5cGUgU2lnbmF0dXJlLFxuICBieXRlc1RvSGV4LFxuICBmb3JtYXRUcmFuc2FjdGlvblJlcXVlc3QsXG4gIGdldEFkZHJlc3MsXG4gIGlzSGV4LFxuICBwYXJzZVNpZ25hdHVyZSxcbiAgcGFyc2VUcmFuc2FjdGlvbixcbiAgc2VyaWFsaXplVHJhbnNhY3Rpb24sXG4gIHN0cmluZ1RvSGV4LFxufSBmcm9tIFwidmllbVwiO1xuaW1wb3J0IHtcbiAgdHlwZSBDdWJlU2lnbmVyQ2xpZW50LFxuICB0eXBlIEVpcDcxMlNpZ25SZXF1ZXN0LFxuICB0eXBlIEV2bVNpZ25SZXF1ZXN0LFxuICBFdm1TaWduZXIsXG4gIHR5cGUgRXZtU2lnbmVyT3B0aW9ucyxcbiAgdHlwZSBLZXksXG4gIGVuY29kZVRvQmFzZTY0LFxufSBmcm9tIFwiQGN1YmlzdC1sYWJzL2N1YmVzaWduZXItc2RrXCI7XG5pbXBvcnQgeyBoYXNoQXV0aG9yaXphdGlvbiwgaGV4VG9CeXRlcyB9IGZyb20gXCJ2aWVtL3V0aWxzXCI7XG5cbi8qKlxuICogQSBjbGFzcyB0byB3cmFwIGEgQ3ViZVNpZ25lciBrZXkgYW5kIGNsaWVudCBpbnRvIGEgVmllbSB7QGxpbmsgQ3VzdG9tU291cmNlfS5cbiAqIFVzZSBWaWVtJ3MgYHRvQWNjb3VudGAgdG8gY29udmVydCB0aGlzIHRvIGEgVmllbSBBY2NvdW50LlxuICovXG5leHBvcnQgY2xhc3MgQ3ViZVNpZ25lclNvdXJjZSBpbXBsZW1lbnRzIEN1c3RvbVNvdXJjZSB7XG4gIC8qKiBUaGUgaW50ZXJuYWwgQ3ViZVNpZ25lciBzaWduZXIgdXNlZC4gKi9cbiAgcmVhZG9ubHkgI3NpZ25lcjogRXZtU2lnbmVyO1xuXG4gIC8qKiBUaGUgYWRkcmVzcyB0aGUgd2FsbGV0IGlzIGFzc29jaWF0ZWQgd2l0aC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGFkZHJlc3M6IEFkZHJlc3M7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCBhIFZpZW0ge0BsaW5rIEN1c3RvbVNvdXJjZX0gYXJvdW5kIGEgQ3ViZVNpZ25lciBrZXkgYW5kIGNsaWVudC5cbiAgICogVXNlIFZpZW0ncyBgdG9BY2NvdW50YCB0byBjb252ZXJ0IHRoaXMgdG8gYSBWaWVtIEFjY291bnQuXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIFRoZSBFVk0gYWRkcmVzcyB0aGlzIHdhbGxldCBpcyBhc3NvY2lhdGVkIHdpdGhcbiAgICogQHBhcmFtIGNsaWVudCBUaGUgc2Vzc2lvbiB1c2VkIGZvciBzaWduaW5nLiBNdXN0IGhhdmUgbmVjZXNzYXJ5IHNjb3Blcy5cbiAgICogQHBhcmFtIG9wdGlvbnMgTUZBIG9wdGlvbnMgZm9yIHRoZSBjbGllbnQgdG8gcmVzcGVjdFxuICAgKiBAdGhyb3dzIHtFcnJvcn0gaWYgdGhlIGFkZHJlc3MgaXMgbm90IGEgdmFsaWQgRVZNIGFkZHJlc3NcbiAgICovXG4gIGNvbnN0cnVjdG9yKGFkZHJlc3M6IEtleSB8IHN0cmluZywgY2xpZW50OiBDdWJlU2lnbmVyQ2xpZW50LCBvcHRpb25zPzogRXZtU2lnbmVyT3B0aW9ucykge1xuICAgIHRoaXMuI3NpZ25lciA9IG5ldyBFdm1TaWduZXIoYWRkcmVzcywgY2xpZW50LCBvcHRpb25zKTtcblxuICAgIC8vIE5PVEU6IGBnZXRBZGRyZXNzYCB3aWxsIGNoZWNrc3VtIHRoZSBhZGRyZXNzIGFuZCB0aHJvdyBpZiBpdCdzIGFuIGludmFsaWQgRVZNIGFkZHJlc3MuXG4gICAgdGhpcy5hZGRyZXNzID0gZ2V0QWRkcmVzcyh0aGlzLiNzaWduZXIuYWRkcmVzcyk7XG5cbiAgICAvLyBTY29wZSB0aGVzZSBmdW5jdGlvbnMgdG8gcHJvcGVybHkgcmVzb2x2ZSBgdGhpc2BcbiAgICB0aGlzLnNpZ25NZXNzYWdlID0gdGhpcy5zaWduTWVzc2FnZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuc2lnblRyYW5zYWN0aW9uID0gdGhpcy5zaWduVHJhbnNhY3Rpb24uYmluZCh0aGlzKTtcbiAgICB0aGlzLnNpZ25UeXBlZERhdGEgPSB0aGlzLnNpZ25UeXBlZERhdGEuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNpZ25BdXRob3JpemF0aW9uID0gdGhpcy5zaWduQXV0aG9yaXphdGlvbj8uYmluZCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyBhcmJpdHJhcnkgbWVzc2FnZXMuIFRoaXMgdXNlcyBDdWJlU2lnbmVyJ3MgRUlQLTE5MSBzaWduaW5nIGVuZHBvaW50LlxuICAgKiBUaGUga2V5IChmb3IgdGhpcyBzZXNzaW9uKSBtdXN0IGhhdmUgdGhlIGBcIkFsbG93UmF3QmxvYlNpZ25pbmdcImAgb3JcbiAgICogYFwiQWxsb3dFaXAxOTFTaWduaW5nXCJgIHBvbGljeSBhdHRhY2hlZC5cbiAgICpcbiAgICogQHBhcmFtIHJvb3QgT2JqZWN0IGFyb3VuZCB0aGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gcm9vdC5tZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHNpZ25cbiAgICogQHJldHVybnMgVGhlIHNpZ25hdHVyZVxuICAgKi9cbiAgcHVibGljIHNpZ25NZXNzYWdlOiBDdXN0b21Tb3VyY2VbXCJzaWduTWVzc2FnZVwiXSA9IGFzeW5jICh7IG1lc3NhZ2UgfSkgPT4ge1xuICAgIGxldCBoZXg7XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBoZXggPSBzdHJpbmdUb0hleChtZXNzYWdlKTtcbiAgICB9IGVsc2UgaWYgKGlzSGV4KG1lc3NhZ2UucmF3KSkge1xuICAgICAgaGV4ID0gbWVzc2FnZS5yYXc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhleCA9IGJ5dGVzVG9IZXgobWVzc2FnZS5yYXcpO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHRoaXMuI3NpZ25lci5zaWduRWlwMTkxKHsgZGF0YTogaGV4IH0pO1xuXG4gICAgcmV0dXJuIGVuc3VyZUhleChzaWduYXR1cmUpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBTaWducyBFSVAtNzEyIHR5cGVkIGRhdGEuIFRoaXMgdXNlcyBDdWJlU2lnbmVyJ3MgRUlQLTcxMiBzaWduaW5nIGVuZHBvaW50LlxuICAgKiBUaGUga2V5IChmb3IgdGhpcyBzZXNzaW9uKSBtdXN0IGhhdmUgdGhlIGBcIkFsbG93UmF3QmxvYlNpZ25pbmdcImAgb3JcbiAgICogYFwiQWxsb3dFaXA3MTJTaWduaW5nXCJgIHBvbGljeSBhdHRhY2hlZC5cbiAgICogYGNoYWluSWRgIG11c3QgYmUgc3BlY2lmaWVkIHdpdGhpbiB0aGUgYGRvbWFpbmAuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIFR5cGVkIGRhdGFcbiAgICogQHJldHVybnMgc2lnbmF0dXJlIGZvciB0aGUgdHlwZWQgZGF0YVxuICAgKi9cbiAgcHVibGljIHNpZ25UeXBlZERhdGE6IEN1c3RvbVNvdXJjZVtcInNpZ25UeXBlZERhdGFcIl0gPSBhc3luYyAocGFyYW1ldGVycykgPT4ge1xuICAgIGFzc2VydChwYXJhbWV0ZXJzLmRvbWFpbiwgXCJgZG9tYWluYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBjYXN0ZWRQYXJhbWV0ZXJzID0gcGFyYW1ldGVycyBhcyBFaXA3MTJTaWduUmVxdWVzdFtcInR5cGVkX2RhdGFcIl07XG4gICAgYXNzZXJ0KGNhc3RlZFBhcmFtZXRlcnMuZG9tYWluLmNoYWluSWQsIFwiYGRvbWFpbi5jaGFpbklkYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCB0aGlzLiNzaWduZXIuc2lnbkVpcDcxMih7XG4gICAgICBjaGFpbl9pZDogTnVtYmVyKGNhc3RlZFBhcmFtZXRlcnMuZG9tYWluLmNoYWluSWQpLFxuICAgICAgdHlwZWRfZGF0YTogY2FzdGVkUGFyYW1ldGVycyxcbiAgICB9KTtcblxuICAgIHJldHVybiBlbnN1cmVIZXgoc2lnbmF0dXJlKTtcbiAgfTtcblxuICBwdWJsaWMgc2lnbkF1dGhvcml6YXRpb246IEN1c3RvbVNvdXJjZVtcInNpZ25BdXRob3JpemF0aW9uXCJdID0gYXN5bmMgKFxuICAgIHBhcmFtZXRlcnMsXG4gICk6IFByb21pc2U8U2lnbkF1dGhvcml6YXRpb25SZXR1cm5UeXBlPiA9PiB7XG4gICAgY29uc3QgaGFzaFRvU2lnbiA9IGhhc2hBdXRob3JpemF0aW9uKHBhcmFtZXRlcnMpO1xuICAgIGNvbnN0IGtleSA9IGF3YWl0IHRoaXMuI3NpZ25lci5rZXkoKTtcbiAgICAvLyBUT0RPKENTLTM3MjApOiB1c2UgdGhlIHR5cGVkIGVuZHBvaW50IG9uY2Ugd2UgaGF2ZSBpdFxuICAgIGNvbnN0IHJlc3AgPSBhd2FpdCBrZXkuc2lnbkJsb2Ioe1xuICAgICAgbWVzc2FnZV9iYXNlNjQ6IGVuY29kZVRvQmFzZTY0KGhleFRvQnl0ZXMoaGFzaFRvU2lnbikpLFxuICAgIH0pO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLiNzaWduZXIuaGFuZGxlTWZhKHJlc3ApO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGVuc3VyZUhleChkYXRhLnNpZ25hdHVyZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZHJlc3M6IHBhcmFtZXRlcnMuY29udHJhY3RBZGRyZXNzID8/IHBhcmFtZXRlcnMuYWRkcmVzcyxcbiAgICAgIG5vbmNlOiBwYXJhbWV0ZXJzLm5vbmNlLFxuICAgICAgY2hhaW5JZDogcGFyYW1ldGVycy5jaGFpbklkLFxuICAgICAgLi4ucGFyc2VTaWduYXR1cmUoc2lnbmF0dXJlKSxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgYHByZXBhcmVUcmFuc2FjdGlvblJlcXVlc3RgIG9uIHlvdXIgcmVxdWVzdFxuICAgKiBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBTaWduIGEgdHJhbnNhY3Rpb24uIFRoaXMgbWV0aG9kIHdpbGwgYmxvY2sgaWYgdGhlIGtleSByZXF1aXJlcyBNRkEgYXBwcm92YWwuXG4gICAqIGB0eXBlYCBhbmQgYGNoYWluSWRgIG11c3QgYmUgZGVmaW5lZC4gT25seSBzdXBwb3J0cyB0eXBlIFwibGVnYWN5XCIgb3IgXCJlaXAxNTU5XCIuXG4gICAqXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUaGUgdHJhbnNhY3Rpb24gdG8gc2lnblxuICAgKiBAcGFyYW0gb3B0aW9ucyBDb250YWlucyBhbiBvcHRpb25hbCBjdXN0b20gc2VyaWFsaXplclxuICAgKiBAcmV0dXJucyBTaWduZWQgdHJhbnNhY3Rpb25cbiAgICogQHRocm93cyB7RXJyb3J9IGlmIHRyYW5zYWN0aW9uLnR5cGUgaXNuJ3QgXCJsZWdhY3lcIiBvciBcImVpcDE1NTlcIiwgb3IgaWYgXCJjaGFpbklkXCIgaXNuJ3Qgc3BlY2lmaWVkXG4gICAqL1xuICBwdWJsaWMgc2lnblRyYW5zYWN0aW9uOiBDdXN0b21Tb3VyY2VbXCJzaWduVHJhbnNhY3Rpb25cIl0gPSBhc3luYyAodHJhbnNhY3Rpb24sIG9wdGlvbnMpID0+IHtcbiAgICBhc3NlcnQoXG4gICAgICB0cmFuc2FjdGlvbi50eXBlID09PSBcImxlZ2FjeVwiIHx8IHRyYW5zYWN0aW9uLnR5cGUgPT09IFwiZWlwMTU1OVwiLFxuICAgICAgYFVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUgJyR7dHJhbnNhY3Rpb24udHlwZX0nLCBDdWJlU2lnbmVyIG9ubHkgc3VwcG9ydHMgdHlwZSAnbGVnYWN5JyBvciAnZWlwMTU1OSdcIil9J2AsXG4gICAgKTtcblxuICAgIGFzc2VydCh0cmFuc2FjdGlvbi5jaGFpbklkLCBcImBjaGFpbklkYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRUcmFuc2FjdGlvblJlcXVlc3QodHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IHJscFNpZ25lZFRyYW5zYWN0aW9uID0gYXdhaXQgdGhpcy4jc2lnbmVyLnNpZ25UcmFuc2FjdGlvbih7XG4gICAgICBjaGFpbl9pZDogdHJhbnNhY3Rpb24uY2hhaW5JZCxcbiAgICAgIHR4OiBmb3JtYXR0ZWQgYXMgRXZtU2lnblJlcXVlc3RbXCJ0eFwiXSxcbiAgICB9KTtcblxuICAgIC8vIEN1YmVTaWduZXIgcmV0dXJucyBhbiBSTFAtZW5jb2RlZCB0cmFuc2FjdGlvbi4gU2luY2UgVmllbSBhbGxvd3MgdXNlcnMgdG8gcGFzcyBhIGN1c3RvbSBzZXJpYWxpemVyLCB3ZSB3aWxsXG4gICAgLy8gbm93IHVuc2VyaWFsaXplIGFuZCByZXNlcmlhbGl6ZSB3aXRoIFZpZW0ncyBzZXJpYWxpemVyLlxuICAgIGNvbnN0IHsgciwgcywgdiwgeVBhcml0eSwgLi4ucGFyc2VkVHJhbnNhY3Rpb24gfSA9IHBhcnNlVHJhbnNhY3Rpb24oXG4gICAgICBlbnN1cmVIZXgocmxwU2lnbmVkVHJhbnNhY3Rpb24pLFxuICAgICk7XG4gICAgY29uc3Qgc2VyaWFsaXplciA9IG9wdGlvbnM/LnNlcmlhbGl6ZXIgPz8gc2VyaWFsaXplVHJhbnNhY3Rpb247XG5cbiAgICByZXR1cm4gYXdhaXQgc2VyaWFsaXplcihwYXJzZWRUcmFuc2FjdGlvbiwgeyByLCBzLCB2LCB5UGFyaXR5IH0gYXMgU2lnbmF0dXJlKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAcGFyYW0gaW5wdXQgQSBoZXggc3RyaW5nXG4gKiBAcmV0dXJucyB0aGUgaW5wdXQsIHR5cGUgbmFycm93ZWQgdG8gSGV4XG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgaW5wdXQgaXMgbm90IEhleFxuICovXG5mdW5jdGlvbiBlbnN1cmVIZXgoaW5wdXQ6IHN0cmluZyk6IEhleCB7XG4gIGFzc2VydChpc0hleChpbnB1dCksIGAke2lucHV0fSBpcyBub3QgaGV4YCk7XG4gIHJldHVybiBpbnB1dDtcbn1cblxuLyoqXG4gKiBAcGFyYW0gdmFsdWUgQSB2YWx1ZSB0aGF0IGlzIGV4cGVjdGVkIHRvIGJlIHRydXRoeVxuICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGZhbHN5XG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgdmFsdWUgaXMgbm90IHRydXRoeVxuICovXG5mdW5jdGlvbiBhc3NlcnQodmFsdWU6IHVua25vd24sIG1lc3NhZ2U6IHN0cmluZyk6IGFzc2VydHMgdmFsdWUge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG59XG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQU9MLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLEtBQUssRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixXQUFXLEdBQ1osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBSUwsU0FBUyxFQUdULGNBQWMsR0FDZixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQjs7Ozs7Ozs7T0FRRztJQUNILFlBQVksT0FBcUIsRUFBRSxNQUF3QixFQUFFLE9BQTBCO1FBZnZGLDJDQUEyQztRQUNsQywyQ0FBbUI7UUEyQjVCOzs7Ozs7OztXQVFHO1FBQ0ksZ0JBQVcsR0FBZ0MsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RSxJQUFJLEdBQUcsQ0FBQztZQUNSLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2hDLEdBQUcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDcEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEdBQUcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLHVCQUFBLElBQUksZ0NBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUUvRCxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUM7UUFFRjs7Ozs7Ozs7V0FRRztRQUNJLGtCQUFhLEdBQWtDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUN6RSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1lBRXRELE1BQU0sZ0JBQWdCLEdBQUcsVUFBNkMsQ0FBQztZQUN2RSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO1lBRTVFLE1BQU0sU0FBUyxHQUFHLE1BQU0sdUJBQUEsSUFBSSxnQ0FBUSxDQUFDLFVBQVUsQ0FBQztnQkFDOUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUNqRCxVQUFVLEVBQUUsZ0JBQWdCO2FBQzdCLENBQUMsQ0FBQztZQUVILE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQztRQTJCRjs7Ozs7Ozs7Ozs7V0FXRztRQUNJLG9CQUFlLEdBQW9DLEtBQUssRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdkYsTUFBTSxDQUNKLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUMvRCxpQ0FBaUMsV0FBVyxDQUFDLElBQUksNERBQTRELENBQzlHLENBQUM7WUFFRixNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1lBRXpELE1BQU0sU0FBUyxHQUFHLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sb0JBQW9CLEdBQUcsTUFBTSx1QkFBQSxJQUFJLGdDQUFRLENBQUMsZUFBZSxDQUFDO2dCQUM5RCxRQUFRLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQzdCLEVBQUUsRUFBRSxTQUFpQzthQUN0QyxDQUFDLENBQUM7WUFFSCw4R0FBOEc7WUFDOUcsMERBQTBEO1lBQzFELE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxpQkFBaUIsRUFBRSxHQUFHLGdCQUFnQixDQUNqRSxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FDaEMsQ0FBQztZQUNGLE1BQU0sVUFBVSxHQUFHLE9BQU8sRUFBRSxVQUFVLElBQUksb0JBQW9CLENBQUM7WUFFL0QsT0FBTyxNQUFNLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBZSxDQUFDLENBQUM7UUFDaEYsQ0FBQyxDQUFDO1FBdEhBLHVCQUFBLElBQUksNEJBQVcsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBQSxDQUFDO1FBRXZELHlGQUF5RjtRQUN6RixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyx1QkFBQSxJQUFJLGdDQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFaEQsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFpREQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsaUJBQWlCLENBQzVCLFVBQWdDO1FBRWhDLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sR0FBRyxHQUFHLE1BQU0sdUJBQUEsSUFBSSxnQ0FBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLHdEQUF3RDtRQUN4RCxNQUFNLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDOUIsY0FBYyxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdkQsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLEdBQUcsTUFBTSx1QkFBQSxJQUFJLGdDQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsT0FBTztZQUNMLE9BQU8sRUFBRSxVQUFVLENBQUMsZUFBZSxJQUFJLFVBQVUsQ0FBQyxPQUFPO1lBQ3pELEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztZQUN2QixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87WUFDM0IsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO1NBQzdCLENBQUM7SUFDSixDQUFDO0NBcUNGOztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFNBQVMsQ0FBQyxLQUFhO0lBQzlCLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxLQUFLLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLE1BQU0sQ0FBQyxLQUFjLEVBQUUsT0FBZTtJQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBBZGRyZXNzLFxuICB0eXBlIEF1dGhvcml6YXRpb25SZXF1ZXN0LFxuICB0eXBlIEN1c3RvbVNvdXJjZSxcbiAgdHlwZSBIZXgsXG4gIHR5cGUgU2lnbkF1dGhvcml6YXRpb25SZXR1cm5UeXBlLFxuICB0eXBlIFNpZ25hdHVyZSxcbiAgYnl0ZXNUb0hleCxcbiAgZm9ybWF0VHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBnZXRBZGRyZXNzLFxuICBpc0hleCxcbiAgcGFyc2VTaWduYXR1cmUsXG4gIHBhcnNlVHJhbnNhY3Rpb24sXG4gIHNlcmlhbGl6ZVRyYW5zYWN0aW9uLFxuICBzdHJpbmdUb0hleCxcbn0gZnJvbSBcInZpZW1cIjtcbmltcG9ydCB7XG4gIHR5cGUgQ3ViZVNpZ25lckNsaWVudCxcbiAgdHlwZSBFaXA3MTJTaWduUmVxdWVzdCxcbiAgdHlwZSBFdm1TaWduUmVxdWVzdCxcbiAgRXZtU2lnbmVyLFxuICB0eXBlIEV2bVNpZ25lck9wdGlvbnMsXG4gIHR5cGUgS2V5LFxuICBlbmNvZGVUb0Jhc2U2NCxcbn0gZnJvbSBcIkBjdWJpc3QtbGFicy9jdWJlc2lnbmVyLXNka1wiO1xuaW1wb3J0IHsgaGFzaEF1dGhvcml6YXRpb24sIGhleFRvQnl0ZXMgfSBmcm9tIFwidmllbS91dGlsc1wiO1xuXG4vKipcbiAqIEEgY2xhc3MgdG8gd3JhcCBhIEN1YmVTaWduZXIga2V5IGFuZCBjbGllbnQgaW50byBhIFZpZW0ge0BsaW5rIEN1c3RvbVNvdXJjZX0uXG4gKiBVc2UgVmllbSdzIGB0b0FjY291bnRgIHRvIGNvbnZlcnQgdGhpcyB0byBhIFZpZW0gQWNjb3VudC5cbiAqL1xuZXhwb3J0IGNsYXNzIEN1YmVTaWduZXJTb3VyY2UgaW1wbGVtZW50cyBDdXN0b21Tb3VyY2Uge1xuICAvKiogVGhlIGludGVybmFsIEN1YmVTaWduZXIgc2lnbmVyIHVzZWQuICovXG4gIHJlYWRvbmx5ICNzaWduZXI6IEV2bVNpZ25lcjtcblxuICAvKiogVGhlIGFkZHJlc3MgdGhlIHdhbGxldCBpcyBhc3NvY2lhdGVkIHdpdGguICovXG4gIHB1YmxpYyByZWFkb25seSBhZGRyZXNzOiBBZGRyZXNzO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSBWaWVtIHtAbGluayBDdXN0b21Tb3VyY2V9IGFyb3VuZCBhIEN1YmVTaWduZXIga2V5IGFuZCBjbGllbnQuXG4gICAqIFVzZSBWaWVtJ3MgYHRvQWNjb3VudGAgdG8gY29udmVydCB0aGlzIHRvIGEgVmllbSBBY2NvdW50LlxuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyBUaGUgRVZNIGFkZHJlc3MgdGhpcyB3YWxsZXQgaXMgYXNzb2NpYXRlZCB3aXRoXG4gICAqIEBwYXJhbSBjbGllbnQgVGhlIHNlc3Npb24gdXNlZCBmb3Igc2lnbmluZy4gTXVzdCBoYXZlIG5lY2Vzc2FyeSBzY29wZXMuXG4gICAqIEBwYXJhbSBvcHRpb25zIE1GQSBvcHRpb25zIGZvciB0aGUgY2xpZW50IHRvIHJlc3BlY3RcbiAgICogQHRocm93cyB7RXJyb3J9IGlmIHRoZSBhZGRyZXNzIGlzIG5vdCBhIHZhbGlkIEVWTSBhZGRyZXNzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihhZGRyZXNzOiBLZXkgfCBzdHJpbmcsIGNsaWVudDogQ3ViZVNpZ25lckNsaWVudCwgb3B0aW9ucz86IEV2bVNpZ25lck9wdGlvbnMpIHtcbiAgICB0aGlzLiNzaWduZXIgPSBuZXcgRXZtU2lnbmVyKGFkZHJlc3MsIGNsaWVudCwgb3B0aW9ucyk7XG5cbiAgICAvLyBOT1RFOiBgZ2V0QWRkcmVzc2Agd2lsbCBjaGVja3N1bSB0aGUgYWRkcmVzcyBhbmQgdGhyb3cgaWYgaXQncyBhbiBpbnZhbGlkIEVWTSBhZGRyZXNzLlxuICAgIHRoaXMuYWRkcmVzcyA9IGdldEFkZHJlc3ModGhpcy4jc2lnbmVyLmFkZHJlc3MpO1xuXG4gICAgLy8gU2NvcGUgdGhlc2UgZnVuY3Rpb25zIHRvIHByb3Blcmx5IHJlc29sdmUgYHRoaXNgXG4gICAgdGhpcy5zaWduTWVzc2FnZSA9IHRoaXMuc2lnbk1lc3NhZ2UuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNpZ25UcmFuc2FjdGlvbiA9IHRoaXMuc2lnblRyYW5zYWN0aW9uLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zaWduVHlwZWREYXRhID0gdGhpcy5zaWduVHlwZWREYXRhLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zaWduQXV0aG9yaXphdGlvbiA9IHRoaXMuc2lnbkF1dGhvcml6YXRpb24uYmluZCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWducyBhcmJpdHJhcnkgbWVzc2FnZXMuIFRoaXMgdXNlcyBDdWJlU2lnbmVyJ3MgRUlQLTE5MSBzaWduaW5nIGVuZHBvaW50LlxuICAgKiBUaGUga2V5IChmb3IgdGhpcyBzZXNzaW9uKSBtdXN0IGhhdmUgdGhlIGBcIkFsbG93UmF3QmxvYlNpZ25pbmdcImAgb3JcbiAgICogYFwiQWxsb3dFaXAxOTFTaWduaW5nXCJgIHBvbGljeSBhdHRhY2hlZC5cbiAgICpcbiAgICogQHBhcmFtIHJvb3QgT2JqZWN0IGFyb3VuZCB0aGUgbWVzc2FnZVxuICAgKiBAcGFyYW0gcm9vdC5tZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHNpZ25cbiAgICogQHJldHVybnMgVGhlIHNpZ25hdHVyZVxuICAgKi9cbiAgcHVibGljIHNpZ25NZXNzYWdlOiBDdXN0b21Tb3VyY2VbXCJzaWduTWVzc2FnZVwiXSA9IGFzeW5jICh7IG1lc3NhZ2UgfSkgPT4ge1xuICAgIGxldCBoZXg7XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBoZXggPSBzdHJpbmdUb0hleChtZXNzYWdlKTtcbiAgICB9IGVsc2UgaWYgKGlzSGV4KG1lc3NhZ2UucmF3KSkge1xuICAgICAgaGV4ID0gbWVzc2FnZS5yYXc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhleCA9IGJ5dGVzVG9IZXgobWVzc2FnZS5yYXcpO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHRoaXMuI3NpZ25lci5zaWduRWlwMTkxKHsgZGF0YTogaGV4IH0pO1xuXG4gICAgcmV0dXJuIGVuc3VyZUhleChzaWduYXR1cmUpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBTaWducyBFSVAtNzEyIHR5cGVkIGRhdGEuIFRoaXMgdXNlcyBDdWJlU2lnbmVyJ3MgRUlQLTcxMiBzaWduaW5nIGVuZHBvaW50LlxuICAgKiBUaGUga2V5IChmb3IgdGhpcyBzZXNzaW9uKSBtdXN0IGhhdmUgdGhlIGBcIkFsbG93UmF3QmxvYlNpZ25pbmdcImAgb3JcbiAgICogYFwiQWxsb3dFaXA3MTJTaWduaW5nXCJgIHBvbGljeSBhdHRhY2hlZC5cbiAgICogYGNoYWluSWRgIG11c3QgYmUgc3BlY2lmaWVkIHdpdGhpbiB0aGUgYGRvbWFpbmAuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIFR5cGVkIGRhdGFcbiAgICogQHJldHVybnMgc2lnbmF0dXJlIGZvciB0aGUgdHlwZWQgZGF0YVxuICAgKi9cbiAgcHVibGljIHNpZ25UeXBlZERhdGE6IEN1c3RvbVNvdXJjZVtcInNpZ25UeXBlZERhdGFcIl0gPSBhc3luYyAocGFyYW1ldGVycykgPT4ge1xuICAgIGFzc2VydChwYXJhbWV0ZXJzLmRvbWFpbiwgXCJgZG9tYWluYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBjYXN0ZWRQYXJhbWV0ZXJzID0gcGFyYW1ldGVycyBhcyBFaXA3MTJTaWduUmVxdWVzdFtcInR5cGVkX2RhdGFcIl07XG4gICAgYXNzZXJ0KGNhc3RlZFBhcmFtZXRlcnMuZG9tYWluLmNoYWluSWQsIFwiYGRvbWFpbi5jaGFpbklkYCBtdXN0IGJlIGRlZmluZWRcIik7XG5cbiAgICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCB0aGlzLiNzaWduZXIuc2lnbkVpcDcxMih7XG4gICAgICBjaGFpbl9pZDogTnVtYmVyKGNhc3RlZFBhcmFtZXRlcnMuZG9tYWluLmNoYWluSWQpLFxuICAgICAgdHlwZWRfZGF0YTogY2FzdGVkUGFyYW1ldGVycyxcbiAgICB9KTtcblxuICAgIHJldHVybiBlbnN1cmVIZXgoc2lnbmF0dXJlKTtcbiAgfTtcblxuICAvKipcbiAgICogU2lnbnMgRUlQLTc3MDIgYXV0aG9yaXphdGlvbiBkYXRhXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEF1dGhvcml6YXRpb24gcmVxdWVzdHNcbiAgICogQHJldHVybnMgU2lnbmVkIGF1dGhvcml6YXRpb25cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduQXV0aG9yaXphdGlvbihcbiAgICBwYXJhbWV0ZXJzOiBBdXRob3JpemF0aW9uUmVxdWVzdCxcbiAgKTogUHJvbWlzZTxTaWduQXV0aG9yaXphdGlvblJldHVyblR5cGU+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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|