@bitgo-beta/sdk-coin-flrp 1.0.1-beta.4 → 1.0.1-beta.400

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.
Files changed (115) hide show
  1. package/dist/src/flrp.d.ts +75 -61
  2. package/dist/src/flrp.d.ts.map +1 -1
  3. package/dist/src/flrp.js +276 -134
  4. package/dist/src/index.d.ts +0 -1
  5. package/dist/src/index.d.ts.map +1 -1
  6. package/dist/src/index.js +1 -2
  7. package/dist/src/lib/ExportInCTxBuilder.d.ts +43 -0
  8. package/dist/src/lib/ExportInCTxBuilder.d.ts.map +1 -0
  9. package/dist/src/lib/ExportInCTxBuilder.js +150 -0
  10. package/dist/src/lib/ExportInPTxBuilder.d.ts +28 -0
  11. package/dist/src/lib/ExportInPTxBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/ExportInPTxBuilder.js +174 -0
  13. package/dist/src/lib/ImportInCTxBuilder.d.ts +34 -0
  14. package/dist/src/lib/ImportInCTxBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/ImportInCTxBuilder.js +175 -0
  16. package/dist/src/lib/ImportInPTxBuilder.d.ts +38 -0
  17. package/dist/src/lib/ImportInPTxBuilder.d.ts.map +1 -0
  18. package/dist/src/lib/ImportInPTxBuilder.js +208 -0
  19. package/dist/src/lib/atomicInCTransactionBuilder.d.ts +12 -16
  20. package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +1 -1
  21. package/dist/src/lib/atomicInCTransactionBuilder.js +30 -41
  22. package/dist/src/lib/atomicTransactionBuilder.d.ts +112 -35
  23. package/dist/src/lib/atomicTransactionBuilder.d.ts.map +1 -1
  24. package/dist/src/lib/atomicTransactionBuilder.js +244 -34
  25. package/dist/src/lib/iface.d.ts +81 -22
  26. package/dist/src/lib/iface.d.ts.map +1 -1
  27. package/dist/src/lib/iface.js +20 -14
  28. package/dist/src/lib/index.d.ts +7 -0
  29. package/dist/src/lib/index.d.ts.map +1 -1
  30. package/dist/src/lib/index.js +16 -2
  31. package/dist/src/lib/keyPair.d.ts +5 -5
  32. package/dist/src/lib/keyPair.d.ts.map +1 -1
  33. package/dist/src/lib/keyPair.js +15 -9
  34. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +41 -0
  35. package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/permissionlessValidatorTxBuilder.js +126 -0
  37. package/dist/src/lib/transaction.d.ts +75 -0
  38. package/dist/src/lib/transaction.d.ts.map +1 -0
  39. package/dist/src/lib/transaction.js +460 -0
  40. package/dist/src/lib/transactionBuilder.d.ts +115 -0
  41. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  42. package/dist/src/lib/transactionBuilder.js +228 -0
  43. package/dist/src/lib/transactionBuilderFactory.d.ts +57 -0
  44. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  45. package/dist/src/lib/transactionBuilderFactory.js +148 -0
  46. package/dist/src/lib/utils.d.ts +138 -102
  47. package/dist/src/lib/utils.d.ts.map +1 -1
  48. package/dist/src/lib/utils.js +359 -245
  49. package/dist/test/resources/account.d.ts +81 -0
  50. package/dist/test/resources/account.d.ts.map +1 -0
  51. package/dist/test/resources/account.js +79 -0
  52. package/dist/test/resources/transactionData/exportInC.d.ts +50 -0
  53. package/dist/test/resources/transactionData/exportInC.d.ts.map +1 -0
  54. package/dist/test/resources/transactionData/exportInC.js +58 -0
  55. package/dist/test/resources/transactionData/exportInP.d.ts +60 -0
  56. package/dist/test/resources/transactionData/exportInP.d.ts.map +1 -0
  57. package/dist/test/resources/transactionData/exportInP.js +101 -0
  58. package/dist/test/resources/transactionData/importInC.d.ts +56 -0
  59. package/dist/test/resources/transactionData/importInC.d.ts.map +1 -0
  60. package/dist/test/resources/transactionData/importInC.js +120 -0
  61. package/dist/test/resources/transactionData/importInP.d.ts +66 -0
  62. package/dist/test/resources/transactionData/importInP.d.ts.map +1 -0
  63. package/dist/test/resources/transactionData/importInP.js +84 -0
  64. package/dist/test/unit/flrp.js +490 -20
  65. package/dist/test/unit/lib/exportInCTxBuilder.d.ts +2 -0
  66. package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +1 -0
  67. package/dist/test/unit/lib/exportInCTxBuilder.js +193 -0
  68. package/dist/test/unit/lib/exportInPTxBuilder.d.ts +2 -0
  69. package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +1 -0
  70. package/dist/test/unit/lib/exportInPTxBuilder.js +296 -0
  71. package/dist/test/unit/lib/importInCTxBuilder.d.ts +2 -0
  72. package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +1 -0
  73. package/dist/test/unit/lib/importInCTxBuilder.js +309 -0
  74. package/dist/test/unit/lib/importInPTxBuilder.d.ts +2 -0
  75. package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +1 -0
  76. package/dist/test/unit/lib/importInPTxBuilder.js +490 -0
  77. package/dist/test/unit/lib/keyPair.d.ts +2 -0
  78. package/dist/test/unit/lib/keyPair.d.ts.map +1 -0
  79. package/dist/test/unit/lib/keyPair.js +158 -0
  80. package/dist/test/unit/lib/signFlowTestSuit.d.ts +20 -0
  81. package/dist/test/unit/lib/signFlowTestSuit.d.ts.map +1 -0
  82. package/dist/test/unit/lib/signFlowTestSuit.js +83 -0
  83. package/dist/test/unit/lib/signatureIndex.d.ts +13 -0
  84. package/dist/test/unit/lib/signatureIndex.d.ts.map +1 -0
  85. package/dist/test/unit/lib/signatureIndex.js +843 -0
  86. package/dist/test/unit/lib/transactionBuilderFactory.d.ts +2 -0
  87. package/dist/test/unit/lib/transactionBuilderFactory.d.ts.map +1 -0
  88. package/dist/test/unit/lib/transactionBuilderFactory.js +60 -0
  89. package/dist/test/unit/lib/utils.d.ts +2 -0
  90. package/dist/test/unit/lib/utils.d.ts.map +1 -0
  91. package/dist/test/unit/lib/utils.js +761 -0
  92. package/dist/tsconfig.tsbuildinfo +1 -1
  93. package/package.json +18 -12
  94. package/.eslintignore +0 -5
  95. package/.eslintrc.json +0 -7
  96. package/.mocharc.yml +0 -8
  97. package/CHANGELOG.md +0 -0
  98. package/dist/src/iface.d.ts +0 -25
  99. package/dist/src/iface.d.ts.map +0 -1
  100. package/dist/src/iface.js +0 -3
  101. package/dist/src/lib/constants.d.ts +0 -11
  102. package/dist/src/lib/constants.d.ts.map +0 -1
  103. package/dist/src/lib/constants.js +0 -17
  104. package/dist/src/lib/errors.d.ts +0 -8
  105. package/dist/src/lib/errors.d.ts.map +0 -1
  106. package/dist/src/lib/errors.js +0 -19
  107. package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
  108. package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
  109. package/dist/src/lib/exportInCTxBuilder.js +0 -164
  110. package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
  111. package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
  112. package/dist/src/lib/exportInPTxBuilder.js +0 -56
  113. package/dist/test/unit/smoke.d.ts +0 -2
  114. package/dist/test/unit/smoke.d.ts.map +0 -1
  115. package/dist/test/unit/smoke.js +0 -9
@@ -1,157 +1,193 @@
1
- import { TransferableOutput } from '@flarenetwork/flarejs';
1
+ import { Signature, TransferableOutput, Id, Utxo } from '@flarenetwork/flarejs';
2
2
  import { BaseUtils, Entry } from '@bitgo-beta/sdk-core';
3
3
  import { FlareNetwork } from '@bitgo-beta/statics';
4
- import { DeprecatedOutput, DeprecatedTx, Output } from './iface';
4
+ import { Buffer } from 'buffer';
5
+ import { DecodedUtxoObj, Output, Tx } from './iface';
5
6
  export declare class Utils implements BaseUtils {
7
+ isValidTransactionId(txId: string): boolean;
8
+ isValidSignature(signature: string): boolean;
9
+ /**
10
+ * Check if addresses in wallet match UTXO output addresses
11
+ */
6
12
  includeIn(walletAddresses: string[], otxoOutputAddresses: string[]): boolean;
7
13
  /**
8
- * Checks if it is a valid address no illegal characters
9
- *
10
- * @param {string} address - address to be validated
11
- * @returns {boolean} - the validation result
14
+ * Validates a Flare address or array of addresses
15
+ * @param {string | string[]} address - address(es) to validate
16
+ * @returns {boolean} - validation result
12
17
  */
13
- /** @inheritdoc */
14
18
  isValidAddress(address: string | string[]): boolean;
15
19
  private isValidAddressRegex;
16
20
  /**
17
- * Checks if it is a valid blockId with length 66 including 0x
18
- *
19
- * @param {string} hash - blockId to be validated
20
- * @returns {boolean} - the validation result
21
+ * Validates a block ID
22
+ * @param {string} hash - block ID to validate
23
+ * @returns {boolean} - validation result
21
24
  */
22
- /** @inheritdoc */
23
25
  isValidBlockId(hash: string): boolean;
24
26
  /**
25
- * Checks if the string is a valid protocol public key or
26
- * extended public key.
27
- *
28
- * @param {string} pub - the public key to be validated
29
- * @returns {boolean} - the validation result
27
+ * Validates a public key
28
+ * @param {string} pub - public key to validate
29
+ * @returns {boolean} - validation result
30
30
  */
31
31
  isValidPublicKey(pub: string): boolean;
32
- parseAddress: (pub: string) => Buffer;
33
32
  /**
34
- * Returns whether or not the string is a valid protocol private key, or extended
35
- * private key.
36
- *
37
- * The protocol key format is described in the @stacks/transactions npm package, in the
38
- * createStacksPrivateKey function:
39
- * https://github.com/blockstack/stacks.js/blob/master/packages/transactions/src/keys.ts#L125
40
- *
41
- * @param {string} prv - the private key (or extended private key) to be validated
42
- * @returns {boolean} - the validation result
33
+ * Validates a private key
34
+ * @param {string} prv - private key to validate
35
+ * @returns {boolean} - validation result
43
36
  */
44
37
  isValidPrivateKey(prv: string): boolean;
45
38
  /**
46
- * Returns whether or not the string is a composed of hex chars only
47
- *
48
- * @param {string} maybe - the string to be validated
49
- * @returns {boolean} - the validation result
39
+ * Checks if a string contains only hex characters
50
40
  */
51
- allHexChars(maybe: string): boolean;
52
- /** @inheritdoc */
53
- isValidSignature(signature: string): boolean;
54
- /** @inheritdoc */
55
- isValidTransactionId(txId: string): boolean;
41
+ allHexChars(str: string): boolean;
56
42
  /**
57
- * FlareJS wrapper to create signature and return it for credentials
58
- * @param network
59
- * @param message
60
- * @param prv
61
- * @return signature
43
+ * Creates a signature using the Flare network parameters
44
+ * Returns a 65-byte signature (64 bytes signature + 1 byte recovery parameter)
62
45
  */
63
46
  createSignature(network: FlareNetwork, message: Buffer, prv: Buffer): Buffer;
64
47
  /**
65
- * FlareJS wrapper to verify signature
66
- * @param network
67
- * @param message
68
- * @param signature
69
- * @param publicKey - public key instead of private key for verification
70
- * @return true if it's verify successful
48
+ * Verifies a signature
49
+ * @param messageHash - The SHA256 hash of the message (e.g., signablePayload)
50
+ * @param signature - The 64-byte signature (without recovery parameter)
51
+ * @param publicKey - The public key to verify against
52
+ * @returns true if signature is valid
71
53
  */
72
- verifySignature(network: FlareNetwork, message: Buffer, signature: Buffer, publicKey: Buffer): boolean;
54
+ verifySignature(messageHash: Buffer, signature: Buffer, publicKey: Buffer): boolean;
73
55
  /**
74
- * FlareJS wrapper to recover signature
75
- * @param network
76
- * @param message
77
- * @param signature
78
- * @return recovered public key
56
+ * Creates a new signature object
79
57
  */
80
- recoverySignature(network: FlareNetwork, message: Buffer, signature: Buffer): Buffer;
81
- sha256(buf: Uint8Array): Buffer;
58
+ createNewSig(sigHex: string): Signature;
82
59
  /**
83
- * Check the raw transaction has a valid format in the blockchain context, throw otherwise.
84
- * It's to reuse in TransactionBuilder and TransactionBuilderFactory
85
- *
86
- * @param rawTransaction Transaction as hex string
60
+ * Creates an empty signature with embedded address for signature slot identification.
61
+ * The address is embedded at position 90 (after the first 45 zero bytes).
62
+ * This allows the signing logic to determine which slot belongs to which address.
63
+ * @param addressHex The 20-byte address in hex format (40 chars, without 0x prefix)
87
64
  */
88
- validateRawTransaction(rawTransaction: string): void;
65
+ createEmptySigWithAddress(addressHex: string): Signature;
89
66
  /**
90
- * Check if tx is for the blockchainId
91
- *
92
- * @param {DeprecatedTx} tx
93
- * @param {string} blockchainId
94
- * @returns true if tx is for blockchainId
67
+ * Extracts the embedded address from an empty signature.
68
+ * Returns the address hex string (40 chars) or empty string if not found.
95
69
  */
96
- isTransactionOf(tx: DeprecatedTx, blockchainId: string): boolean;
70
+ getAddressFromEmptySig(sig: string): string;
97
71
  /**
98
- * Check if Output is from PVM.
99
- * Output could be EVM or PVM output.
100
- * @param {DeprecatedOutput} output
101
- * @returns {boolean} output has transferable output structure
72
+ * Computes SHA256 hash
102
73
  */
103
- deprecatedIsTransferableOutput(output: DeprecatedOutput): boolean;
74
+ sha256(buf: Uint8Array): Buffer;
104
75
  /**
105
- * Check if Output is from PVM.
106
- * Output could be EVM or PVM output.
107
- * @param {Output} output
108
- * @returns {boolean} output is TransferableOutput
76
+ * Validates raw transaction format
109
77
  */
110
- isTransferableOutput(output: Output): output is TransferableOutput;
78
+ validateRawTransaction(rawTransaction: string): void;
111
79
  /**
112
- * Return a mapper function to that network address representation.
113
- * @param network required to stringify addresses
114
- * @return mapper function
80
+ * Checks if output is TransferableOutput type
115
81
  */
116
- deprecatedMapOutputToEntry(network: FlareNetwork): (output: DeprecatedOutput) => Entry;
82
+ isTransferableOutput(output: Output): output is TransferableOutput;
117
83
  /**
118
- * Return a mapper function to that network address representation.
119
- * @param network required to stringify addresses
120
- * @return mapper function
84
+ * Maps outputs to entry format
121
85
  */
122
86
  mapOutputToEntry(network: FlareNetwork): (Output: any) => Entry;
123
87
  /**
124
- * remove hex prefix (0x)
125
- * @param hex string
126
- * @returns hex without 0x
88
+ * Removes 0x prefix from hex string
127
89
  */
128
90
  removeHexPrefix(hex: string): string;
129
91
  /**
130
- * Outputidx convert from number (as string) to buffer.
131
- * @param {string} outputidx number
132
- * @return {Buffer} buffer of size 4 with that number value
92
+ * Converts output index to buffer
133
93
  */
134
94
  outputidxNumberToBuffer(outputidx: string): Buffer;
135
95
  /**
136
- * Outputidx buffer to number (as string)
137
- * @param {Buffer} outputidx
138
- * @return {string} outputidx number
96
+ * Converts output index buffer to number string
139
97
  */
140
98
  outputidxBufferToNumber(outputidx: Buffer): string;
141
99
  /**
142
- * CB58 decode function - simple Base58 decode implementation
143
- * @param {string} data - CB58 encoded string
144
- * @returns {Buffer} decoded buffer
100
+ * Helper method to convert address components to string
101
+ */
102
+ addressToString: (hrp: string, prefix: string, address: Buffer) => string;
103
+ /**
104
+ * Decodes a base58 string with checksum to a Buffer
105
+ */
106
+ cb58Decode(str: string): Buffer;
107
+ /**
108
+ * Validates a checksum on a Buffer and returns true if valid, false if not
109
+ */
110
+ private validateChecksum;
111
+ /**
112
+ * Encodes a Buffer as a base58 string with checksum
113
+ */
114
+ cb58Encode(bytes: Buffer): string;
115
+ /**
116
+ * Adds a checksum to a Buffer and returns the concatenated result
117
+ * Uses last 4 bytes of SHA256 hash as checksum (matching avaxp behavior)
118
+ */
119
+ addChecksum(buff: Buffer | Uint8Array): Uint8Array;
120
+ /**
121
+ * Parse an address string into a Buffer
122
+ * @param address - The address to parse
123
+ * @returns Buffer containing the parsed address
124
+ */
125
+ parseAddress: (address: string) => Buffer;
126
+ stringToAddress: (address: string, hrp?: string) => Buffer;
127
+ flareIdString(value: string): Id;
128
+ /**
129
+ * Sort addresses lexicographically by their byte representation.
130
+ * This matches how addresses are stored on-chain in Avalanche/Flare P-chain UTXOs.
131
+ * @param addresses - Array of bech32 address strings (e.g., "P-costwo1...")
132
+ * @returns Array of addresses sorted by hex value
133
+ */
134
+ sortAddressesByHex(addresses: string[]): string[];
135
+ /**
136
+ * Sort address buffers lexicographically by their byte representation.
137
+ * This matches how addresses are stored on-chain in Avalanche/Flare P-chain UTXOs.
138
+ * @param addressBuffers - Array of address byte buffers
139
+ * @returns Array of address buffers sorted by hex value
140
+ */
141
+ sortAddressBuffersByHex(addressBuffers: Buffer[]): Buffer[];
142
+ /**
143
+ * Recover public key from signature
144
+ * @param messageHash - The SHA256 hash of the message (e.g., signablePayload)
145
+ * @param signature - 65-byte signature (64 bytes signature + 1 byte recovery parameter)
146
+ * @return recovered public key
147
+ */
148
+ recoverySignature(messageHash: Buffer, signature: Buffer): Buffer;
149
+ /**
150
+ * Check if tx is for the blockchainId
151
+ *
152
+ * @param {Tx} tx
153
+ * @param {string} blockchainId - blockchain ID in hex format
154
+ * @returns true if tx is for blockchainId
155
+ */
156
+ isTransactionOf(tx: Tx, blockchainId: string): boolean;
157
+ /**
158
+ * Convert FlareJS native Utxo to DecodedUtxoObj for internal use
159
+ * @param utxo - FlareJS Utxo object
160
+ * @param network - Flare network configuration
161
+ * @returns DecodedUtxoObj compatible with existing methods
162
+ */
163
+ utxoToDecoded(utxo: Utxo, network: FlareNetwork): DecodedUtxoObj;
164
+ /**
165
+ * Convert array of FlareJS Utxos to DecodedUtxoObj array
166
+ * @param utxos - Array of FlareJS Utxo objects
167
+ * @param network - Flare network configuration
168
+ * @returns Array of DecodedUtxoObj
169
+ */
170
+ utxosToDecoded(utxos: Utxo[], network: FlareNetwork): DecodedUtxoObj[];
171
+ /**
172
+ * Convert DecodedUtxoObj to native FlareJS Utxo object
173
+ * This is the reverse of utxoToDecoded
174
+ *
175
+ * IMPORTANT: Addresses are sorted lexicographically by byte value to match
176
+ * on-chain storage order. The API may return addresses in arbitrary order, but
177
+ * on-chain UTXOs always store addresses in sorted order.
178
+ *
179
+ * @param decoded - DecodedUtxoObj to convert
180
+ * @param assetId - Asset ID as cb58 encoded string
181
+ * @returns Native FlareJS Utxo object
145
182
  */
146
- cb58Decode(data: string): Buffer;
183
+ decodedToUtxo(decoded: DecodedUtxoObj, assetId: string): Utxo;
147
184
  /**
148
- * Convert address buffer to bech32 string
149
- * @param {string} hrp - Human readable part
150
- * @param {string} chainid - Chain identifier
151
- * @param {Buffer} addressBuffer - Address buffer
152
- * @returns {string} Address string
185
+ * Convert array of DecodedUtxoObj to native FlareJS Utxo objects
186
+ * @param decodedUtxos - Array of DecodedUtxoObj
187
+ * @param assetId - Asset ID as cb58 encoded string
188
+ * @returns Array of native FlareJS Utxo objects
153
189
  */
154
- addressToString(hrp: string, chainid: string, addressBuffer: Buffer): string;
190
+ decodedToUtxos(decodedUtxos: DecodedUtxoObj[], assetId: string): Utxo[];
155
191
  }
156
192
  declare const utils: Utils;
157
193
  export default utils;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,KAAK,EAMN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAcjE,qBAAa,KAAM,YAAW,SAAS;IAC9B,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,OAAO;IAInF;;;;;OAKG;IACH,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO;IAYnD,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAUrC;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAwC/B,YAAY,QAAS,MAAM,KAAG,MAAM,CAGzC;IAEF;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAiBvC;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAInC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAU5E;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAQtG;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAUpF,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAI/B;;;;;OAKG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IASpD;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAahE;;;;;OAKG;IACH,8BAA8B,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO;IAIjE;;;;;OAKG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,kBAAkB;IAIlE;;;;OAIG;IACH,0BAA0B,CAAC,OAAO,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,KAAK;IA4BtF;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,CAAC,MAAM,KAAA,KAAK,KAAK;IAmB1D;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOpC;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAWhC;;;;;;OAMG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;CAI7E;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}