@cardano-sdk/key-management 0.19.9 → 0.20.0

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,5 +1,5 @@
1
1
  import * as Crypto from '@cardano-sdk/crypto';
2
- import { Cardano, Serialization } from '@cardano-sdk/core';
2
+ import { Cardano, HandleResolution, Serialization, TxCBOR } from '@cardano-sdk/core';
3
3
  import { HexBlob, OpaqueString, Shutdown } from '@cardano-sdk/util';
4
4
  import { Logger } from 'ts-log';
5
5
  import type { Runtime } from 'webextension-polyfill';
@@ -103,12 +103,23 @@ export declare const TxInId: ({ txId, index }: Cardano.TxIn) => TxInId;
103
103
  export declare type TxInKeyPathMap = Partial<Record<TxInId, AccountKeyDerivationPath>>;
104
104
  export declare type RewardAccountKeyPathMap = Partial<Record<Cardano.RewardAccount, AccountKeyDerivationPath>>;
105
105
  export declare type KeyHashKeyPathMap = Partial<Record<Crypto.Ed25519KeyHashHex, AccountKeyDerivationPath>>;
106
+ export declare type TransactionSignerResult = {
107
+ pubKey: Crypto.Ed25519PublicKeyHex;
108
+ signature: Crypto.Ed25519SignatureHex;
109
+ };
110
+ export interface TransactionSigner {
111
+ sign(tx: Cardano.TxBodyWithHash): Promise<TransactionSignerResult>;
112
+ }
106
113
  export interface SignTransactionOptions {
107
114
  additionalKeyPaths?: AccountKeyDerivationPath[];
115
+ extraSigners?: TransactionSigner[];
116
+ stubSign?: boolean;
108
117
  }
109
118
  export interface SignTransactionContext {
110
119
  txInKeyPathMap: TxInKeyPathMap;
111
120
  knownAddresses: GroupedAddress[];
121
+ handleResolutions?: HandleResolution[];
122
+ dRepPublicKey?: Crypto.Ed25519PublicKeyHex;
112
123
  sender?: MessageSender;
113
124
  }
114
125
  export interface SignDataContext {
@@ -134,16 +145,16 @@ export declare type AsyncKeyAgent = Pick<KeyAgent, 'deriveAddress' | 'derivePubl
134
145
  getExtendedAccountPublicKey(): Promise<Crypto.Bip32PublicKeyHex>;
135
146
  getAccountIndex(): Promise<number>;
136
147
  } & Shutdown;
137
- export declare type TransactionSignerResult = {
138
- pubKey: Crypto.Ed25519PublicKeyHex;
139
- signature: Crypto.Ed25519SignatureHex;
140
- };
141
- export interface TransactionSigner {
142
- sign(tx: Cardano.TxBodyWithHash): Promise<TransactionSignerResult>;
143
- }
144
148
  export declare type WitnessOptions = SignTransactionOptions;
149
+ export interface WitnessedTx {
150
+ cbor: TxCBOR;
151
+ tx: Cardano.Tx;
152
+ context: {
153
+ handleResolutions: HandleResolution[];
154
+ };
155
+ }
145
156
  export interface Witnesser {
146
- witness(transaction: Serialization.Transaction, context: SignTransactionContext, options?: WitnessOptions): Promise<Cardano.Witness>;
157
+ witness(transaction: Serialization.Transaction, context: SignTransactionContext, options?: WitnessOptions): Promise<WitnessedTx>;
147
158
  signBlob(derivationPath: AccountKeyDerivationPath, blob: HexBlob, context: SignDataContext): Promise<SignBlobResult>;
148
159
  }
149
160
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,oBAAY,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;CACvC;AAED,oBAAY,eAAe;IACzB,OAAO,OAAO;IACd,SAAS,OAAO;CACjB;AAED,oBAAY,uBAAuB;IACjC,OAAO,IAAI;IACX,SAAS,IAAI;IACb,OAAO,IAAI;IACX,IAAI,IAAI;IAER,KAAK,IAAI;CACV;AAED,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,oBAAY,OAAO;IACjB,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,IAAI,IAAI;CACT;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,WAAW;IAErB,QAAQ,IAAI;IAEZ,QAAQ,IAAI;CACb;AAED,oBAAY,UAAU;IACpB,MAAM,WAAW;CAClB;AAED,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;CACnC;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;IACrC,sBAAsB,CAAC,EAAE,wBAAwB,CAAC;CACnD;AAED,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC,iBAAiB,CAAC;CACpD;AAED,MAAM,WAAW,gCAAiC,SAAQ,4BAA4B;IACpF,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC;IAClC,4BAA4B,EAAE,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,8BAA+B,SAAQ,4BAA4B;IAClF,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,MAAM,WAAW,8BAA+B,SAAQ,4BAA4B;IAClF,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,oBAAY,wBAAwB,GAChC,gCAAgC,GAChC,8BAA8B,GAC9B,8BAA8B,CAAC;AAEnC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC;IAC9E,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;CAClC;AAKD,oBAAY,aAAa,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEpE,oBAAY,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC5C,eAAO,MAAM,MAAM,oBAAqB,QAAQ,IAAI,WAAiC,CAAC;AAEtF,oBAAY,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAC/E,oBAAY,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC,CAAC;AACvG,oBAAY,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAEpG,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,CAAC,EAAE,wBAAwB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAE1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAC/B,IAAI,YAAY,IAAI,MAAM,CAAC;IAC3B,IAAI,gBAAgB,IAAI,wBAAwB,CAAC;IACjD,IAAI,wBAAwB,IAAI,MAAM,CAAC,iBAAiB,CAAC;IACzD,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;IAKxC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAI3F,eAAe,CACb,WAAW,EAAE,OAAO,CAAC,cAAc,EACnC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAI/B,eAAe,CAAC,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAS/F,aAAa,CACX,wBAAwB,EAAE,4BAA4B,EACtD,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAAC,cAAc,CAAC,CAAC;IAI3B,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;CAC5D;AAED,oBAAY,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,GAAG,UAAU,GAAG,iBAAiB,CAAC,GAAG;IACjH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChD,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjE,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACpC,GAAG,QAAQ,CAAC;AAGb,oBAAY,uBAAuB,GAAG;IAEpC,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAGnC,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;CACvC,CAAC;AAGF,MAAM,WAAW,iBAAiB;IAOhC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACpE;AAED,oBAAY,cAAc,GAAG,sBAAsB,CAAC;AAGpD,MAAM,WAAW,SAAS;IASxB,OAAO,CACL,WAAW,EAAE,aAAa,CAAC,WAAW,EACtC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAK5B,QAAQ,CAAC,cAAc,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACtH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,oBAAY,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;CACvC;AAED,oBAAY,eAAe;IACzB,OAAO,OAAO;IACd,SAAS,OAAO;CACjB;AAED,oBAAY,uBAAuB;IACjC,OAAO,IAAI;IACX,SAAS,IAAI;IACb,OAAO,IAAI;IACX,IAAI,IAAI;IAER,KAAK,IAAI;CACV;AAED,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,oBAAY,OAAO;IACjB,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,IAAI,IAAI;CACT;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,WAAW;IAErB,QAAQ,IAAI;IAEZ,QAAQ,IAAI;CACb;AAED,oBAAY,UAAU;IACpB,MAAM,WAAW;CAClB;AAED,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;CACnC;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC;IACrC,sBAAsB,CAAC,EAAE,wBAAwB,CAAC;CACnD;AAED,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC,iBAAiB,CAAC;CACpD;AAED,MAAM,WAAW,gCAAiC,SAAQ,4BAA4B;IACpF,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC;IAClC,4BAA4B,EAAE,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,8BAA+B,SAAQ,4BAA4B;IAClF,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,MAAM,WAAW,8BAA+B,SAAQ,4BAA4B;IAClF,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,oBAAY,wBAAwB,GAChC,gCAAgC,GAChC,8BAA8B,GAC9B,8BAA8B,CAAC;AAEnC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC;IAC9E,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC;CAClC;AAKD,oBAAY,aAAa,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEpE,oBAAY,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC5C,eAAO,MAAM,MAAM,oBAAqB,QAAQ,IAAI,WAAiC,CAAC;AAEtF,oBAAY,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAC/E,oBAAY,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC,CAAC;AACvG,oBAAY,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAGpG,oBAAY,uBAAuB,GAAG;IAEpC,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAGnC,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;CACvC,CAAC;AAGF,MAAM,WAAW,iBAAiB;IAOhC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAChD,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC3C,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAE1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAC/B,IAAI,YAAY,IAAI,MAAM,CAAC;IAC3B,IAAI,gBAAgB,IAAI,wBAAwB,CAAC;IACjD,IAAI,wBAAwB,IAAI,MAAM,CAAC,iBAAiB,CAAC;IACzD,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;IAKxC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAI3F,eAAe,CACb,WAAW,EAAE,OAAO,CAAC,cAAc,EACnC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAI/B,eAAe,CAAC,cAAc,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAS/F,aAAa,CACX,wBAAwB,EAAE,4BAA4B,EACtD,uBAAuB,EAAE,MAAM,GAC9B,OAAO,CAAC,cAAc,CAAC,CAAC;IAI3B,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;CAC5D;AAED,oBAAY,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,iBAAiB,GAAG,UAAU,GAAG,iBAAiB,CAAC,GAAG;IACjH,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChD,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACjE,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACpC,GAAG,QAAQ,CAAC;AAEb,oBAAY,cAAc,GAAG,sBAAsB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;IACf,OAAO,EAAE;QACP,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;KACvC,CAAC;CACH;AAGD,MAAM,WAAW,SAAS;IASxB,OAAO,CACL,WAAW,EAAE,aAAa,CAAC,WAAW,EACtC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,CAAC;IAKxB,QAAQ,CAAC,cAAc,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACtH"}
@@ -1,11 +1,12 @@
1
- import { AccountKeyDerivationPath, AsyncKeyAgent, SignBlobResult, SignDataContext, SignTransactionContext, WitnessOptions, Witnesser } from '../types';
1
+ import { AccountKeyDerivationPath, AsyncKeyAgent, SignBlobResult, SignDataContext, SignTransactionContext, SignTransactionOptions, WitnessOptions, WitnessedTx, Witnesser } from '../types';
2
2
  import { Cardano, Serialization } from '@cardano-sdk/core';
3
3
  import { HexBlob } from '@cardano-sdk/util';
4
4
  export declare class Bip32Ed25519Witnesser implements Witnesser {
5
5
  #private;
6
6
  constructor(keyAgent: AsyncKeyAgent);
7
- witness(tx: Serialization.Transaction, context: SignTransactionContext, options: WitnessOptions): Promise<Cardano.Witness>;
7
+ witness(tx: Serialization.Transaction, context: SignTransactionContext, options?: WitnessOptions): Promise<WitnessedTx>;
8
8
  signBlob(derivationPath: AccountKeyDerivationPath, blob: HexBlob, _context: SignDataContext): Promise<SignBlobResult>;
9
+ static getSignatures(keyAgent: AsyncKeyAgent, txInternals: Cardano.TxBodyWithHash, context: SignTransactionContext, options?: SignTransactionOptions): Promise<Cardano.Signatures>;
9
10
  }
10
11
  export declare const createBip32Ed25519Witnesser: (keyAgent: AsyncKeyAgent) => Bip32Ed25519Witnesser;
11
12
  //# sourceMappingURL=createWitnesser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createWitnesser.d.ts","sourceRoot":"","sources":["../../../src/util/createWitnesser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,SAAS,EACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,qBAAa,qBAAsB,YAAW,SAAS;;gBAGzC,QAAQ,EAAE,aAAa;IAI7B,OAAO,CACX,EAAE,EAAE,aAAa,CAAC,WAAW,EAC7B,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;IAarB,QAAQ,CACZ,cAAc,EAAE,wBAAwB,EACxC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC;CAG3B;AAED,eAAO,MAAM,2BAA2B,aAAc,aAAa,KAAG,qBACjC,CAAC"}
1
+ {"version":3,"file":"createWitnesser.d.ts","sourceRoot":"","sources":["../../../src/util/createWitnesser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,SAAS,EACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI5C,qBAAa,qBAAsB,YAAW,SAAS;;gBAGzC,QAAQ,EAAE,aAAa;IAI7B,OAAO,CACX,EAAE,EAAE,aAAa,CAAC,WAAW,EAC7B,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC;IAgCjB,QAAQ,CACZ,cAAc,EAAE,wBAAwB,EACxC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC;WAIb,aAAa,CACxB,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,OAAO,CAAC,cAAc,EACnC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,sBAAsB;CAmBnC;AAED,eAAO,MAAM,2BAA2B,aAAc,aAAa,KAAG,qBACjC,CAAC"}
@@ -13,22 +13,57 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  var _Bip32Ed25519Witnesser_keyAgent;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.createBip32Ed25519Witnesser = exports.Bip32Ed25519Witnesser = void 0;
16
+ const core_1 = require("@cardano-sdk/core");
17
+ const stubSignTransaction_1 = require("./stubSignTransaction");
16
18
  class Bip32Ed25519Witnesser {
17
19
  constructor(keyAgent) {
18
20
  _Bip32Ed25519Witnesser_keyAgent.set(this, void 0);
19
21
  __classPrivateFieldSet(this, _Bip32Ed25519Witnesser_keyAgent, keyAgent, "f");
20
22
  }
21
23
  async witness(tx, context, options) {
24
+ const coreTx = tx.toCore();
25
+ const hash = tx.getId();
26
+ const signatures = options?.stubSign !== undefined && options.stubSign
27
+ ? await (0, stubSignTransaction_1.stubSignTransaction)({
28
+ context,
29
+ signTransactionOptions: options,
30
+ txBody: coreTx.body
31
+ })
32
+ : await Bip32Ed25519Witnesser.getSignatures(__classPrivateFieldGet(this, _Bip32Ed25519Witnesser_keyAgent, "f"), { body: coreTx.body, hash }, context, options);
33
+ const transaction = {
34
+ auxiliaryData: coreTx.auxiliaryData,
35
+ body: coreTx.body,
36
+ id: hash,
37
+ isValid: tx.isValid(),
38
+ witness: {
39
+ ...coreTx.witness,
40
+ signatures: new Map([...signatures.entries(), ...(coreTx.witness?.signatures?.entries() || [])])
41
+ }
42
+ };
22
43
  return {
23
- signatures: await __classPrivateFieldGet(this, _Bip32Ed25519Witnesser_keyAgent, "f").signTransaction({
24
- body: tx.body().toCore(),
25
- hash: tx.getId()
26
- }, context, options)
44
+ cbor: core_1.TxCBOR.serialize(transaction),
45
+ context: {
46
+ handleResolutions: context.handleResolutions ?? []
47
+ },
48
+ tx: transaction
27
49
  };
28
50
  }
29
51
  async signBlob(derivationPath, blob, _context) {
30
52
  return __classPrivateFieldGet(this, _Bip32Ed25519Witnesser_keyAgent, "f").signBlob(derivationPath, blob);
31
53
  }
54
+ static async getSignatures(keyAgent, txInternals, context, options) {
55
+ const signatures = await keyAgent.signTransaction({
56
+ body: txInternals.body,
57
+ hash: txInternals.hash
58
+ }, context, options);
59
+ if (options?.extraSigners) {
60
+ for (const extraSigner of options?.extraSigners) {
61
+ const extraSignature = await extraSigner.sign(txInternals);
62
+ signatures.set(extraSignature.pubKey, extraSignature.signature);
63
+ }
64
+ }
65
+ return signatures;
66
+ }
32
67
  }
33
68
  exports.Bip32Ed25519Witnesser = Bip32Ed25519Witnesser;
34
69
  _Bip32Ed25519Witnesser_keyAgent = new WeakMap();
@@ -1 +1 @@
1
- {"version":3,"file":"createWitnesser.js","sourceRoot":"","sources":["../../../src/util/createWitnesser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAaA,MAAa,qBAAqB;IAGhC,YAAY,QAAuB;QAFnC,kDAAyB;QAGvB,uBAAA,IAAI,mCAAa,QAAQ,MAAA,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,EAA6B,EAC7B,OAA+B,EAC/B,OAAuB;QAEvB,OAAO;YACL,UAAU,EAAE,MAAM,uBAAA,IAAI,uCAAU,CAAC,eAAe,CAC9C;gBACE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;gBACxB,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE;aACjB,EACD,OAAO,EACP,OAAO,CACR;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,cAAwC,EACxC,IAAa,EACb,QAAyB;QAEzB,OAAO,uBAAA,IAAI,uCAAU,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;CACF;AA/BD,sDA+BC;;AAEM,MAAM,2BAA2B,GAAG,CAAC,QAAuB,EAAyB,EAAE,CAC5F,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AADzB,QAAA,2BAA2B,+BACF"}
1
+ {"version":3,"file":"createWitnesser.js","sourceRoot":"","sources":["../../../src/util/createWitnesser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA,4CAAmE;AAEnE,+DAA4D;AAG5D,MAAa,qBAAqB;IAGhC,YAAY,QAAuB;QAFnC,kDAAyB;QAGvB,uBAAA,IAAI,mCAAa,QAAQ,MAAA,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,EAA6B,EAC7B,OAA+B,EAC/B,OAAwB;QAExB,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,UAAU,GACd,OAAO,EAAE,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ;YACjD,CAAC,CAAC,MAAM,IAAA,yCAAmB,EAAC;gBACxB,OAAO;gBACP,sBAAsB,EAAE,OAAO;gBAC/B,MAAM,EAAE,MAAM,CAAC,IAAI;aACpB,CAAC;YACJ,CAAC,CAAC,MAAM,qBAAqB,CAAC,aAAa,CAAC,uBAAA,IAAI,uCAAU,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/G,MAAM,WAAW,GAAG;YAClB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;YACrB,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;gBACjB,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aACjG;SACF,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,aAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YACnC,OAAO,EAAE;gBACP,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;aACnD;YACD,EAAE,EAAE,WAAW;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,cAAwC,EACxC,IAAa,EACb,QAAyB;QAEzB,OAAO,uBAAA,IAAI,uCAAU,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,QAAuB,EACvB,WAAmC,EACnC,OAA+B,EAC/B,OAAgC;QAEhC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,eAAe,CAC/C;YACE,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB,EACD,OAAO,EACP,OAAO,CACR,CAAC;QAEF,IAAI,OAAO,EAAE,YAAY,EAAE;YACzB,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,YAAY,EAAE;gBAC/C,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3D,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;aACjE;SACF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA1ED,sDA0EC;;AAEM,MAAM,2BAA2B,GAAG,CAAC,QAAuB,EAAyB,EAAE,CAC5F,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AADzB,QAAA,2BAA2B,+BACF"}
@@ -1,12 +1,11 @@
1
1
  import * as Crypto from '@cardano-sdk/crypto';
2
2
  import { Cardano } from '@cardano-sdk/core';
3
- import { SignTransactionContext, SignTransactionOptions, TransactionSigner } from '../types';
3
+ import { SignTransactionContext, SignTransactionOptions } from '../types';
4
4
  export interface StubSignTransactionProps {
5
5
  txBody: Cardano.TxBody;
6
- extraSigners?: TransactionSigner[];
7
- dRepPublicKey: Crypto.Ed25519PublicKeyHex;
6
+ dRepPublicKey?: Crypto.Ed25519PublicKeyHex;
8
7
  context: SignTransactionContext;
9
8
  signTransactionOptions?: SignTransactionOptions;
10
9
  }
11
- export declare const stubSignTransaction: ({ txBody, extraSigners, dRepPublicKey, context: { knownAddresses, txInKeyPathMap }, signTransactionOptions: { additionalKeyPaths } }: StubSignTransactionProps) => Promise<Cardano.Signatures>;
10
+ export declare const stubSignTransaction: ({ txBody, context: { knownAddresses, txInKeyPathMap, dRepPublicKey }, signTransactionOptions: { extraSigners, additionalKeyPaths } }: StubSignTransactionProps) => Promise<Cardano.Signatures>;
12
11
  //# sourceMappingURL=stubSignTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stubSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/util/stubSignTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAS7F,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC1C,OAAO,EAAE,sBAAsB,CAAC;IAChC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED,eAAO,MAAM,mBAAmB,yIAM7B,wBAAwB,KAAG,QAAQ,QAAQ,UAAU,CAiBvD,CAAC"}
1
+ {"version":3,"file":"stubSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/util/stubSignTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAS1E,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC;IAC3C,OAAO,EAAE,sBAAsB,CAAC;IAChC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED,eAAO,MAAM,mBAAmB,yIAI7B,wBAAwB,KAAG,QAAQ,QAAQ,UAAU,CAiBvD,CAAC"}
@@ -33,9 +33,9 @@ const ownSignatureKeyPaths_1 = require("./ownSignatureKeyPaths");
33
33
  const uniqWith_1 = __importDefault(require("lodash/uniqWith"));
34
34
  const randomHexChar = () => Math.floor(Math.random() * 16).toString(16);
35
35
  const randomPublicKey = () => Crypto.Ed25519PublicKeyHex(Array.from({ length: 64 }).map(randomHexChar).join(''));
36
- const stubSignTransaction = async ({ txBody, extraSigners, dRepPublicKey, context: { knownAddresses, txInKeyPathMap }, signTransactionOptions: { additionalKeyPaths = [] } = {} }) => {
36
+ const stubSignTransaction = async ({ txBody, context: { knownAddresses, txInKeyPathMap, dRepPublicKey }, signTransactionOptions: { extraSigners, additionalKeyPaths = [] } = {} }) => {
37
37
  const mockSignature = Crypto.Ed25519SignatureHex('ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff');
38
- const dRepKeyHash = (await Crypto.Ed25519PublicKey.fromHex(dRepPublicKey).hash()).hex();
38
+ const dRepKeyHash = dRepPublicKey ? (await Crypto.Ed25519PublicKey.fromHex(dRepPublicKey).hash()).hex() : undefined;
39
39
  const signatureKeyPaths = (0, uniqWith_1.default)([...(0, ownSignatureKeyPaths_1.ownSignatureKeyPaths)(txBody, knownAddresses, txInKeyPathMap, dRepKeyHash), ...additionalKeyPaths], util_1.deepEquals);
40
40
  const totalSignature = signatureKeyPaths.length + (extraSigners?.length || 0);
41
41
  const signatureMap = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"stubSignTransaction.js","sourceRoot":"","sources":["../../../src/util/stubSignTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAG9C,4CAA+C;AAC/C,iEAA8D;AAE9D,+DAAuC;AAEvC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACxE,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAU1G,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,MAAM,EACN,YAAY,EACZ,aAAa,EACb,OAAO,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,EAC3C,sBAAsB,EAAE,EAAE,kBAAkB,GAAG,EAAE,EAAE,GAAG,EAAE,EAC/B,EAA+B,EAAE;IAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAE9C,kIAAkI,CACnI,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IACxF,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAChC,CAAC,GAAG,IAAA,2CAAoB,EAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,GAAG,kBAAkB,CAAC,EACrG,iBAAU,CACX,CAAC;IAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,EAAE,CAAC;QAAE,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,aAAa,CAAC,CAAC;IAE5F,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAvBW,QAAA,mBAAmB,uBAuB9B"}
1
+ {"version":3,"file":"stubSignTransaction.js","sourceRoot":"","sources":["../../../src/util/stubSignTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAG9C,4CAA+C;AAC/C,iEAA8D;AAE9D,+DAAuC;AAEvC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACxE,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAS1G,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,MAAM,EACN,OAAO,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,EAC1D,sBAAsB,EAAE,EAAE,YAAY,EAAE,kBAAkB,GAAG,EAAE,EAAE,GAAG,EAAE,EAC7C,EAA+B,EAAE;IAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAE9C,kIAAkI,CACnI,CAAC;IACF,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACpH,MAAM,iBAAiB,GAAG,IAAA,kBAAQ,EAChC,CAAC,GAAG,IAAA,2CAAoB,EAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,GAAG,kBAAkB,CAAC,EACrG,iBAAU,CACX,CAAC;IAEF,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,EAAE,CAAC;QAAE,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,aAAa,CAAC,CAAC;IAE5F,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AArBW,QAAA,mBAAmB,uBAqB9B"}