orbis1-sdk-rn 0.2.1 → 0.2.3
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/README.md +6 -9
- package/android/src/main/java/com/orbis1sdk/RgbModule.kt +47 -8
- package/ios/Orbis1Sdk.mm +3 -1
- package/ios/Rgb.mm +3 -1
- package/ios/Rgb.swift +86 -10
- package/lib/module/core/KeyManager.js +3 -3
- package/lib/module/core/KeyManager.js.map +1 -1
- package/lib/module/core/NativeRgb.js.map +1 -1
- package/lib/module/features/gas-free/GasFreeModule.js +6 -5
- package/lib/module/features/gas-free/GasFreeModule.js.map +1 -1
- package/lib/module/features/gas-free/index.js +3 -0
- package/lib/module/features/gas-free/index.js.map +1 -1
- package/lib/module/features/gas-free/types/FeeQuote.js.map +1 -1
- package/lib/module/features/gas-free/utils/FeeCalculator.js +218 -0
- package/lib/module/features/gas-free/utils/FeeCalculator.js.map +1 -0
- package/lib/module/features/gas-free/utils/index.js +3 -0
- package/lib/module/features/gas-free/utils/index.js.map +1 -1
- package/lib/module/features/gas-free/utils/validation.js +6 -5
- package/lib/module/features/gas-free/utils/validation.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/core/KeyManager.d.ts +2 -2
- package/lib/typescript/src/core/KeyManager.d.ts.map +1 -1
- package/lib/typescript/src/core/NativeRgb.d.ts +1 -1
- package/lib/typescript/src/core/NativeRgb.d.ts.map +1 -1
- package/lib/typescript/src/features/gas-free/GasFreeModule.d.ts.map +1 -1
- package/lib/typescript/src/features/gas-free/index.d.ts +1 -0
- package/lib/typescript/src/features/gas-free/index.d.ts.map +1 -1
- package/lib/typescript/src/features/gas-free/types/FeeQuote.d.ts +4 -2
- package/lib/typescript/src/features/gas-free/types/FeeQuote.d.ts.map +1 -1
- package/lib/typescript/src/features/gas-free/types/GasFreeRequest.d.ts +2 -2
- package/lib/typescript/src/features/gas-free/types/GasFreeRequest.d.ts.map +1 -1
- package/lib/typescript/src/features/gas-free/utils/FeeCalculator.d.ts +137 -0
- package/lib/typescript/src/features/gas-free/utils/FeeCalculator.d.ts.map +1 -0
- package/lib/typescript/src/features/gas-free/utils/index.d.ts +1 -0
- package/lib/typescript/src/features/gas-free/utils/index.d.ts.map +1 -1
- package/lib/typescript/src/features/gas-free/utils/validation.d.ts +6 -3
- package/lib/typescript/src/features/gas-free/utils/validation.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/KeyManager.ts +4 -3
- package/src/core/NativeRgb.ts +5 -1
- package/src/features/gas-free/GasFreeModule.ts +5 -4
- package/src/features/gas-free/index.ts +3 -0
- package/src/features/gas-free/types/FeeQuote.ts +4 -2
- package/src/features/gas-free/types/GasFreeRequest.ts +2 -2
- package/src/features/gas-free/utils/FeeCalculator.ts +229 -0
- package/src/features/gas-free/utils/index.ts +3 -0
- package/src/features/gas-free/utils/validation.ts +14 -4
- package/src/index.ts +1 -0
package/README.md
CHANGED
|
@@ -86,23 +86,20 @@ Transfer RGB assets without holding BTC for mining fees:
|
|
|
86
86
|
|
|
87
87
|
```typescript
|
|
88
88
|
// 1. Request fee quote
|
|
89
|
-
const
|
|
89
|
+
const transferRequest = {
|
|
90
90
|
userId: 'user-123',
|
|
91
91
|
assetId: 'rgb:...',
|
|
92
|
-
|
|
92
|
+
transferAmount: 100250000, // Amount in base units (e.g., 100.25 TUSDT with precision 6)
|
|
93
93
|
recipientInvoice: 'rgb:invoice...',
|
|
94
|
-
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const quote = await sdk.gasFree().requestFeeQuote(transferRequest);
|
|
95
97
|
|
|
96
98
|
console.log(`Service fee: ${quote.serviceFeeAmount} (asset units)`);
|
|
97
99
|
console.log(`Quote expires: ${quote.expiresAt}`);
|
|
98
100
|
|
|
99
101
|
// 2. Confirm transfer (if user accepts quote)
|
|
100
|
-
const result = await sdk.gasFree().confirmTransfer(
|
|
101
|
-
userId: 'user-123',
|
|
102
|
-
assetId: 'rgb:...',
|
|
103
|
-
amount: '1000',
|
|
104
|
-
recipientInvoice: 'rgb:invoice...',
|
|
105
|
-
}, quote);
|
|
102
|
+
const result = await sdk.gasFree().confirmTransfer(transferRequest, quote);
|
|
106
103
|
|
|
107
104
|
console.log(`Transfer complete! TXID: ${result.txid}`);
|
|
108
105
|
console.log(`Service fee: ${result.serviceFee} base units`);
|
|
@@ -77,12 +77,51 @@ class RgbModule(reactContext: ReactApplicationContext) :
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
private fun emptyRgbDataDir(dir: File) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
private fun emptyRgbDataDir(dir: File, folderName: String) {
|
|
81
|
+
val segment = folderName.trim()
|
|
82
|
+
require(segment.isNotEmpty()) { "folderName must not be blank" }
|
|
83
|
+
require(segment == folderName) { "folderName must not have leading or trailing whitespace" }
|
|
84
|
+
require(segment != "." && segment != "..") { "folderName cannot be '.' or '..'" }
|
|
85
|
+
require(
|
|
86
|
+
!segment.contains("..") &&
|
|
87
|
+
!segment.contains(File.separator) &&
|
|
88
|
+
!segment.contains("/") &&
|
|
89
|
+
!segment.contains("\\")
|
|
90
|
+
) {
|
|
91
|
+
"folderName must be a single path segment"
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
val filesRoot = reactApplicationContext.filesDir.canonicalFile
|
|
95
|
+
val rgbRoot = dir.canonicalFile
|
|
96
|
+
val filesPrefix = filesRoot.absolutePath + File.separator
|
|
97
|
+
val underFiles =
|
|
98
|
+
rgbRoot == filesRoot || rgbRoot.absolutePath.startsWith(filesPrefix)
|
|
99
|
+
if (!underFiles) {
|
|
100
|
+
throw IllegalStateException(
|
|
101
|
+
"RGB data directory must be the app files directory or a subdirectory of it."
|
|
102
|
+
)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
val sub = File(dir, segment)
|
|
106
|
+
val target = sub.canonicalFile
|
|
107
|
+
if (target == rgbRoot) {
|
|
108
|
+
throw IllegalStateException("Refusing to delete the RGB parent directory itself.")
|
|
109
|
+
}
|
|
110
|
+
val rgbPrefix = rgbRoot.absolutePath + File.separator
|
|
111
|
+
if (!target.absolutePath.startsWith(rgbPrefix)) {
|
|
112
|
+
throw IllegalStateException("Resolved folder escapes RGB directory.")
|
|
113
|
+
}
|
|
114
|
+
val parent = target.parentFile?.canonicalFile
|
|
115
|
+
if (parent != rgbRoot) {
|
|
116
|
+
throw IllegalStateException("Resolved path must be a direct subdirectory of the RGB directory, not the parent.")
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (!target.exists()) return
|
|
120
|
+
if (!target.isDirectory) {
|
|
121
|
+
throw IllegalStateException("Not a directory: ${target.absolutePath}")
|
|
122
|
+
}
|
|
123
|
+
if (!target.deleteRecursively()) {
|
|
124
|
+
throw IllegalStateException("Failed to delete ${target.absolutePath}")
|
|
86
125
|
}
|
|
87
126
|
}
|
|
88
127
|
|
|
@@ -137,13 +176,13 @@ class RgbModule(reactContext: ReactApplicationContext) :
|
|
|
137
176
|
}
|
|
138
177
|
}
|
|
139
178
|
|
|
140
|
-
override fun restoreBackup(path: String, password: String, promise: Promise) {
|
|
179
|
+
override fun restoreBackup(path: String, password: String, masterFingerprint: String, promise: Promise) {
|
|
141
180
|
coroutineScope.launch(Dispatchers.IO) {
|
|
142
181
|
try {
|
|
143
182
|
val rgbDir = AppConstants.rgbDir
|
|
144
183
|
?: throw IllegalStateException("RGB directory not initialized.")
|
|
145
184
|
WalletStore.clear()
|
|
146
|
-
emptyRgbDataDir(rgbDir)
|
|
185
|
+
emptyRgbDataDir(rgbDir, masterFingerprint)
|
|
147
186
|
org.rgbtools.restoreBackup(path, password, rgbDir.absolutePath)
|
|
148
187
|
|
|
149
188
|
withContext(Dispatchers.Main) {
|
package/ios/Orbis1Sdk.mm
CHANGED
|
@@ -96,6 +96,7 @@
|
|
|
96
96
|
|
|
97
97
|
- (void)restoreBackup:(NSString *)path
|
|
98
98
|
password:(NSString *)password
|
|
99
|
+
masterFingerprint:(NSString *)masterFingerprint
|
|
99
100
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
100
101
|
reject:(RCTPromiseRejectBlock)reject
|
|
101
102
|
{
|
|
@@ -104,9 +105,10 @@
|
|
|
104
105
|
RCTPromiseRejectBlock strongReject = reject;
|
|
105
106
|
NSString *strongPath = [path copy];
|
|
106
107
|
NSString *strongPassword = [password copy];
|
|
108
|
+
NSString *strongMasterFingerprint = [masterFingerprint copy];
|
|
107
109
|
|
|
108
110
|
EXEC_ASYNC({
|
|
109
|
-
NSDictionary *result = [RgbSwiftHelper _restoreBackup:strongPath :strongPassword];
|
|
111
|
+
NSDictionary *result = [RgbSwiftHelper _restoreBackup:strongPath :strongPassword :strongMasterFingerprint];
|
|
110
112
|
NSString *errorMessage = result[@"error"];
|
|
111
113
|
if (errorMessage != nil) {
|
|
112
114
|
NSString *errorCode = result[@"errorCode"] ?: @"RESTORE_BACKUP_ERROR";
|
package/ios/Rgb.mm
CHANGED
|
@@ -92,6 +92,7 @@
|
|
|
92
92
|
|
|
93
93
|
- (void)restoreBackup:(NSString *)path
|
|
94
94
|
password:(NSString *)password
|
|
95
|
+
masterFingerprint:(NSString *)masterFingerprint
|
|
95
96
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
96
97
|
reject:(RCTPromiseRejectBlock)reject
|
|
97
98
|
{
|
|
@@ -100,9 +101,10 @@
|
|
|
100
101
|
RCTPromiseRejectBlock strongReject = reject;
|
|
101
102
|
NSString *strongPath = [path copy];
|
|
102
103
|
NSString *strongPassword = [password copy];
|
|
104
|
+
NSString *strongMasterFingerprint = [masterFingerprint copy];
|
|
103
105
|
|
|
104
106
|
EXEC_ASYNC({
|
|
105
|
-
NSDictionary *result = [RgbSwiftHelper _restoreBackup:strongPath :strongPassword];
|
|
107
|
+
NSDictionary *result = [RgbSwiftHelper _restoreBackup:strongPath :strongPassword :strongMasterFingerprint];
|
|
106
108
|
NSString *errorMessage = result[@"error"];
|
|
107
109
|
if (errorMessage != nil) {
|
|
108
110
|
NSString *errorCode = result[@"errorCode"] ?: @"RESTORE_BACKUP_ERROR";
|
package/ios/Rgb.swift
CHANGED
|
@@ -49,16 +49,92 @@ public class RgbSwiftHelper: NSObject {
|
|
|
49
49
|
return error.localizedDescription
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
private static func emptyRgbDataDir(
|
|
52
|
+
private static func emptyRgbDataDir(rgbDir: URL, folderName: String) throws {
|
|
53
|
+
let segment = folderName.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
54
|
+
guard !segment.isEmpty else {
|
|
55
|
+
throw NSError(
|
|
56
|
+
domain: "RNRgb",
|
|
57
|
+
code: 1,
|
|
58
|
+
userInfo: [NSLocalizedDescriptionKey: "folderName must not be blank"]
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
guard segment == folderName else {
|
|
62
|
+
throw NSError(
|
|
63
|
+
domain: "RNRgb",
|
|
64
|
+
code: 1,
|
|
65
|
+
userInfo: [NSLocalizedDescriptionKey: "folderName must not have leading or trailing whitespace"]
|
|
66
|
+
)
|
|
67
|
+
}
|
|
68
|
+
guard segment != ".", segment != ".." else {
|
|
69
|
+
throw NSError(
|
|
70
|
+
domain: "RNRgb",
|
|
71
|
+
code: 1,
|
|
72
|
+
userInfo: [NSLocalizedDescriptionKey: "folderName cannot be '.' or '..'"]
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
guard !segment.contains(".."), !segment.contains("/"), !segment.contains("\\") else {
|
|
76
|
+
throw NSError(
|
|
77
|
+
domain: "RNRgb",
|
|
78
|
+
code: 1,
|
|
79
|
+
userInfo: [NSLocalizedDescriptionKey: "folderName must be a single path segment"]
|
|
80
|
+
)
|
|
81
|
+
}
|
|
82
|
+
|
|
53
83
|
let fileManager = FileManager.default
|
|
54
|
-
|
|
55
|
-
let
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
84
|
+
let documentsURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0]
|
|
85
|
+
let docsPath = documentsURL.standardizedFileURL.resolvingSymlinksInPath().path
|
|
86
|
+
let rgbRootURL = rgbDir.standardizedFileURL.resolvingSymlinksInPath()
|
|
87
|
+
let rgbPath = rgbRootURL.path
|
|
88
|
+
|
|
89
|
+
let underDocuments = rgbPath == docsPath || rgbPath.hasPrefix(docsPath + "/")
|
|
90
|
+
guard underDocuments else {
|
|
91
|
+
throw NSError(
|
|
92
|
+
domain: "RNRgb",
|
|
93
|
+
code: 1,
|
|
94
|
+
userInfo: [NSLocalizedDescriptionKey: "RGB data directory must be the app documents directory or a subdirectory of it."]
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
let subURL = rgbRootURL.appendingPathComponent(segment, isDirectory: true)
|
|
99
|
+
let targetURL = subURL.standardizedFileURL.resolvingSymlinksInPath()
|
|
100
|
+
let targetPath = targetURL.path
|
|
101
|
+
|
|
102
|
+
guard targetPath != rgbPath else {
|
|
103
|
+
throw NSError(
|
|
104
|
+
domain: "RNRgb",
|
|
105
|
+
code: 1,
|
|
106
|
+
userInfo: [NSLocalizedDescriptionKey: "Refusing to delete the RGB parent directory itself."]
|
|
107
|
+
)
|
|
108
|
+
}
|
|
109
|
+
guard targetPath.hasPrefix(rgbPath + "/") else {
|
|
110
|
+
throw NSError(
|
|
111
|
+
domain: "RNRgb",
|
|
112
|
+
code: 1,
|
|
113
|
+
userInfo: [NSLocalizedDescriptionKey: "Resolved folder escapes RGB directory."]
|
|
114
|
+
)
|
|
115
|
+
}
|
|
116
|
+
let parentPath = targetURL.deletingLastPathComponent()
|
|
117
|
+
.standardizedFileURL
|
|
118
|
+
.resolvingSymlinksInPath()
|
|
119
|
+
.path
|
|
120
|
+
guard parentPath == rgbPath else {
|
|
121
|
+
throw NSError(
|
|
122
|
+
domain: "RNRgb",
|
|
123
|
+
code: 1,
|
|
124
|
+
userInfo: [NSLocalizedDescriptionKey: "Resolved path must be a direct subdirectory of the RGB directory."]
|
|
125
|
+
)
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
guard fileManager.fileExists(atPath: targetPath) else { return }
|
|
129
|
+
var isDir: ObjCBool = false
|
|
130
|
+
guard fileManager.fileExists(atPath: targetPath, isDirectory: &isDir), isDir.boolValue else {
|
|
131
|
+
throw NSError(
|
|
132
|
+
domain: "RNRgb",
|
|
133
|
+
code: 1,
|
|
134
|
+
userInfo: [NSLocalizedDescriptionKey: "Not a directory: \(targetPath)"]
|
|
135
|
+
)
|
|
61
136
|
}
|
|
137
|
+
try fileManager.removeItem(at: URL(fileURLWithPath: targetPath))
|
|
62
138
|
}
|
|
63
139
|
|
|
64
140
|
private static func getNetwork(_ network: String) -> BitcoinNetwork {
|
|
@@ -143,7 +219,7 @@ public class RgbSwiftHelper: NSObject {
|
|
|
143
219
|
}
|
|
144
220
|
|
|
145
221
|
@objc
|
|
146
|
-
public static func _restoreBackup(_ path: String, _ password: String) -> NSDictionary {
|
|
222
|
+
public static func _restoreBackup(_ path: String, _ password: String, _ masterFingerprint: String) -> NSDictionary {
|
|
147
223
|
do {
|
|
148
224
|
let constants = AppConstants.shared
|
|
149
225
|
constants.ensureInitialized()
|
|
@@ -153,7 +229,7 @@ public class RgbSwiftHelper: NSObject {
|
|
|
153
229
|
}
|
|
154
230
|
|
|
155
231
|
WalletStore.shared.clear()
|
|
156
|
-
try Self.emptyRgbDataDir(
|
|
232
|
+
try Self.emptyRgbDataDir(rgbDir: rgbDir, folderName: masterFingerprint)
|
|
157
233
|
try restoreBackup(backupPath: path, password: password, dataDir: rgbDir.path)
|
|
158
234
|
return [:] as NSDictionary
|
|
159
235
|
} catch {
|
|
@@ -70,11 +70,11 @@ export async function restoreKeys(bitcoinNetwork, mnemonic) {
|
|
|
70
70
|
* ```typescript
|
|
71
71
|
* import { restoreBackup } from 'orbis1-sdk-rn';
|
|
72
72
|
*
|
|
73
|
-
* await restoreBackup('/path/to/backup.dat', 'mypassword');
|
|
73
|
+
* await restoreBackup('/path/to/backup.dat', 'mypassword', masterFingerprint);
|
|
74
74
|
* ```
|
|
75
75
|
*/
|
|
76
|
-
export async function restoreBackup(path, password) {
|
|
77
|
-
return Rgb.restoreBackup(path, password);
|
|
76
|
+
export async function restoreBackup(path, password, masterFingerprint) {
|
|
77
|
+
return Rgb.restoreBackup(path, password, masterFingerprint);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Rgb","generateKeys","bitcoinNetwork","restoreKeys","mnemonic","restoreBackup","path","password","decodeInvoice","invoice"],"sourceRoot":"../../../src","sources":["core/KeyManager.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,GAAG,MAAM,gBAAa;AAG7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,YAAYA,CAChCC,cAAyC,EACf;EAC1B,OAAOF,GAAG,CAACC,YAAY,CAACC,cAAc,CAAC;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,WAAWA,CAC/BD,cAAyC,EACzCE,QAAgB,EACU;EAC1B,OAAOJ,GAAG,CAACG,WAAW,CAACD,cAAc,EAAEE,QAAQ,CAAC;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,aAAaA,CACjCC,IAAY,EACZC,QAAgB,
|
|
1
|
+
{"version":3,"names":["Rgb","generateKeys","bitcoinNetwork","restoreKeys","mnemonic","restoreBackup","path","password","masterFingerprint","decodeInvoice","invoice"],"sourceRoot":"../../../src","sources":["core/KeyManager.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,GAAG,MAAM,gBAAa;AAG7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,YAAYA,CAChCC,cAAyC,EACf;EAC1B,OAAOF,GAAG,CAACC,YAAY,CAACC,cAAc,CAAC;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,WAAWA,CAC/BD,cAAyC,EACzCE,QAAgB,EACU;EAC1B,OAAOJ,GAAG,CAACG,WAAW,CAACD,cAAc,EAAEE,QAAQ,CAAC;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,aAAaA,CACjCC,IAAY,EACZC,QAAgB,EAChBC,iBAAyB,EACV;EACf,OAAOR,GAAG,CAACK,aAAa,CAACC,IAAI,EAAEC,QAAQ,EAAEC,iBAAiB,CAAC;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,aAAaA,CACjCC,OAAe,EACkB;EACjC,OAAOV,GAAG,CAACS,aAAa,CAACC,OAAO,CAAC;AACnC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["core/NativeRgb.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["core/NativeRgb.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA0B,cAAc;AA+epE,eAAeA,mBAAmB,CAACC,YAAY,CAAO,WAAW,CAAC","ignoreList":[]}
|
|
@@ -127,7 +127,7 @@ export class GasFreeModule {
|
|
|
127
127
|
async requestFeeQuote(request) {
|
|
128
128
|
this.logger?.debug('Requesting fee quote', {
|
|
129
129
|
assetId: request.assetId,
|
|
130
|
-
|
|
130
|
+
transferAmount: request.transferAmount
|
|
131
131
|
});
|
|
132
132
|
|
|
133
133
|
// Check module is ready
|
|
@@ -186,7 +186,7 @@ export class GasFreeModule {
|
|
|
186
186
|
this.logger?.debug('Confirming transfer with quote', {
|
|
187
187
|
quoteId: feeQuote.quoteId,
|
|
188
188
|
assetId: request.assetId,
|
|
189
|
-
|
|
189
|
+
transferAmount: request.transferAmount
|
|
190
190
|
});
|
|
191
191
|
|
|
192
192
|
// Check module is ready
|
|
@@ -285,7 +285,8 @@ export class GasFreeModule {
|
|
|
285
285
|
// defaults to 1 inputs if not provided (1 user input)
|
|
286
286
|
numOutputs: request.numOutputs || 2,
|
|
287
287
|
// defaults to 2 outputs if not provided (1 OP_RETURN, 1 user change <equal val as input>)
|
|
288
|
-
recipientInvoice: request.recipientInvoice
|
|
288
|
+
recipientInvoice: request.recipientInvoice,
|
|
289
|
+
transferAmount: request.transferAmount
|
|
289
290
|
});
|
|
290
291
|
|
|
291
292
|
// Check quote expiration
|
|
@@ -379,8 +380,8 @@ export class GasFreeModule {
|
|
|
379
380
|
assignment: {
|
|
380
381
|
// Use FUNGIBLE type for asset transfers (invoice may have 'ANY' wildcard type)
|
|
381
382
|
type: 'FUNGIBLE',
|
|
382
|
-
//
|
|
383
|
-
amount:
|
|
383
|
+
// transferAmount is already in base units (with precision included)
|
|
384
|
+
amount: request.transferAmount
|
|
384
385
|
},
|
|
385
386
|
transportEndpoints: decodedRecipientInvoice.transportEndpoints
|
|
386
387
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ServiceClient","ConsignmentReader","getGasFreeServiceUrl","GasFreeError","GasFreeErrorCode","Feature","GasFreeModule","name","GAS_FREE","version","ready","currentState","status","constructor","config","initialize","wallet","logger","initializationFailed","child","serviceUrl","environment","debug","baseUrl","timeout","validateConfig","serviceClient","apiKey","consignmentReader","error","Error","message","String","cleanup","dispose","getStatus","enabled","isReady","requestFeeQuote","request","assetId","amount","notInitialized","feeQuote","generateFeeQuote","quoteId","UNKNOWN","undefined","confirmTransfer","expiresAt","Date","getTime","now","QUOTE_EXPIRED","psbtResult","buildPSBT","submitResult","submitPSBT","txid","userSignedPsbt","broadcastTransfer","signedPsbtBase64","verifyTransfer","consignment","consignmentBase64","serviceFee","serviceFeeAmount","getState","userId","numInputs","numOutputs","recipientInvoice","quoteExpiresAt","miningFee","miningFeeSats","externalInputs","miningUTXO","vout","value","scriptPubkey","script_pubkey","externalOutputs","miningChangeUTXO","address","decodedRecipientInvoice","decodeInvoice","decodedServiceInvoice","serviceFeeInvoice","recipient","service","recipientIsWitness","witnessUtxoFundingSats","recipientMap","recipientId","witnessData","amountSat","blinding","assignment","type","parseInt","transportEndpoints","unsignedPsbt","sendBegin","feeRate","minConfirmations","length","readForAsset","signPsbt","psbtBase64","transactionId","serviceSignedPsbt","operationResult","sendEnd","batchTransferIdx","verifyResult","transferSuccess","trim","INVALID_REQUEST","createGasFreeModule"],"sourceRoot":"../../../../src","sources":["features/gas-free/GasFreeModule.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ServiceClient","ConsignmentReader","getGasFreeServiceUrl","GasFreeError","GasFreeErrorCode","Feature","GasFreeModule","name","GAS_FREE","version","ready","currentState","status","constructor","config","initialize","wallet","logger","initializationFailed","child","serviceUrl","environment","debug","baseUrl","timeout","validateConfig","serviceClient","apiKey","consignmentReader","error","Error","message","String","cleanup","dispose","getStatus","enabled","isReady","requestFeeQuote","request","assetId","transferAmount","notInitialized","feeQuote","generateFeeQuote","quoteId","UNKNOWN","undefined","confirmTransfer","expiresAt","Date","getTime","now","QUOTE_EXPIRED","psbtResult","buildPSBT","submitResult","submitPSBT","txid","userSignedPsbt","broadcastTransfer","signedPsbtBase64","verifyTransfer","consignment","consignmentBase64","serviceFee","serviceFeeAmount","getState","userId","numInputs","numOutputs","recipientInvoice","quoteExpiresAt","miningFee","miningFeeSats","externalInputs","miningUTXO","vout","value","scriptPubkey","script_pubkey","externalOutputs","miningChangeUTXO","address","decodedRecipientInvoice","decodeInvoice","decodedServiceInvoice","serviceFeeInvoice","recipient","service","recipientIsWitness","witnessUtxoFundingSats","recipientMap","recipientId","witnessData","amountSat","blinding","assignment","type","amount","transportEndpoints","unsignedPsbt","sendBegin","feeRate","minConfirmations","length","readForAsset","signPsbt","psbtBase64","transactionId","serviceSignedPsbt","operationResult","sendEnd","batchTransferIdx","verifyResult","transferSuccess","trim","INVALID_REQUEST","createGasFreeModule"],"sourceRoot":"../../../../src","sources":["features/gas-free/GasFreeModule.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,6 +12,9 @@ export { GasFreeModule, createGasFreeModule } from "./GasFreeModule.js";
|
|
|
12
12
|
// Types
|
|
13
13
|
export * from "./types/index.js";
|
|
14
14
|
|
|
15
|
+
// Utilities
|
|
16
|
+
export { FeeCalculator, createFeeCalculator } from "./utils/index.js";
|
|
17
|
+
|
|
15
18
|
// Errors
|
|
16
19
|
export * from "./errors/index.js";
|
|
17
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GasFreeModule","createGasFreeModule"],"sourceRoot":"../../../../src","sources":["features/gas-free/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,aAAa,EAAEC,mBAAmB,QAAQ,oBAAiB;;AAEpE;AACA,cAAc,kBAAS;;AAEvB;AACA,cAAc,mBAAU","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["GasFreeModule","createGasFreeModule","FeeCalculator","createFeeCalculator"],"sourceRoot":"../../../../src","sources":["features/gas-free/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,aAAa,EAAEC,mBAAmB,QAAQ,oBAAiB;;AAEpE;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASC,aAAa,EAAEC,mBAAmB,QAAQ,kBAAS;;AAE5D;AACA,cAAc,mBAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isQuoteExpired","quote","Date","expiresAt","getQuoteTimeRemaining","getTime","now","getTotalMiningValue","miningUTXO","value"],"sourceRoot":"../../../../../src","sources":["features/gas-free/types/FeeQuote.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAYA;AACA;AACA;;AAQA;AACA;AACA;;AAoCA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["isQuoteExpired","quote","Date","expiresAt","getQuoteTimeRemaining","getTime","now","getTotalMiningValue","miningUTXO","value"],"sourceRoot":"../../../../../src","sources":["features/gas-free/types/FeeQuote.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAYA;AACA;AACA;;AAQA;AACA;AACA;;AAoCA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,cAAcA,CAACC,KAAe,EAAW;EACvD,OAAO,IAAIC,IAAI,CAAC,CAAC,IAAI,IAAIA,IAAI,CAACD,KAAK,CAACE,SAAS,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACH,KAAe,EAAU;EAC7D,OAAO,IAAIC,IAAI,CAACD,KAAK,CAACE,SAAS,CAAC,CAACE,OAAO,CAAC,CAAC,GAAGH,IAAI,CAACI,GAAG,CAAC,CAAC;AACzD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACN,KAAe,EAAU;EAC3D,OAAOA,KAAK,CAACO,UAAU,CAACC,KAAK;AAC/B","ignoreList":[]}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Fee Calculator
|
|
5
|
+
*
|
|
6
|
+
* Provides local fee calculation for gas-free transfers.
|
|
7
|
+
* Calculates service fees based on transfer amounts using a simple percentage-based model.
|
|
8
|
+
*
|
|
9
|
+
* Fee Structure:
|
|
10
|
+
* - Base rate: 0.1% (0.001)
|
|
11
|
+
* - Minimum fee: $0.50 (floor dominates until $500)
|
|
12
|
+
* - Maximum fee: $10.00 (cap applies above $10,000)
|
|
13
|
+
*
|
|
14
|
+
* Assumptions:
|
|
15
|
+
* - 1 asset unit (no precision) = 1 USD (will be fetched dynamically in the future)
|
|
16
|
+
* - Default precision: 6 decimals
|
|
17
|
+
*
|
|
18
|
+
* Examples:
|
|
19
|
+
* - Transfer $100: $0.50 fee (minimum applies)
|
|
20
|
+
* - Transfer $500: $0.50 fee (0.1% × $500 = $0.50 exactly)
|
|
21
|
+
* - Transfer $1,000: $1.00 fee (0.1% applies)
|
|
22
|
+
* - Transfer $10,000: $10.00 fee (0.1% × $10,000 = $10.00, cap reached)
|
|
23
|
+
* - Transfer $50,000: $10.00 fee (maximum cap applies)
|
|
24
|
+
*
|
|
25
|
+
* @module features/gas-free/utils/FeeCalculator
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Fee calculator for gas-free transfers
|
|
30
|
+
*
|
|
31
|
+
* Uses a simple percentage-based pricing model with floor and cap.
|
|
32
|
+
*/
|
|
33
|
+
export class FeeCalculator {
|
|
34
|
+
assetToUsdRate = 1; // 1 asset unit (no precision) = 1 USD
|
|
35
|
+
assetPrecision = 6; // Default precision
|
|
36
|
+
|
|
37
|
+
// Fee calculation parameters
|
|
38
|
+
FEE_RATE = 0.001; // 0.1%
|
|
39
|
+
MIN_FEE = 0.5; // $0.50 minimum (floor)
|
|
40
|
+
MAX_FEE = 10.0; // $10.00 maximum (cap)
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Create a fee estimator with default parameters
|
|
44
|
+
*/
|
|
45
|
+
constructor() {
|
|
46
|
+
// No configuration needed - fixed parameters
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Calculate service fee in USD based on transfer amount
|
|
51
|
+
*
|
|
52
|
+
* Uses a simple percentage-based model with floor and cap:
|
|
53
|
+
* - 0.1% of transfer amount
|
|
54
|
+
* - Minimum: $0.50 (applies for amounts < $500)
|
|
55
|
+
* - Maximum: $10.00 (applies for amounts > $10,000)
|
|
56
|
+
*
|
|
57
|
+
* @param amountUsd - Transfer amount in USD
|
|
58
|
+
* @returns Fee in USD
|
|
59
|
+
* @throws Error if amount is invalid
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* const calculator = new FeeCalculator();
|
|
64
|
+
* console.log(calculator.calculateFee(100)); // $0.50 (minimum)
|
|
65
|
+
* console.log(calculator.calculateFee(500)); // $0.50 (0.1% × $500)
|
|
66
|
+
* console.log(calculator.calculateFee(1000)); // $1.00 (0.1% × $1000)
|
|
67
|
+
* console.log(calculator.calculateFee(10000)); // $10.00 (0.1% × $10000, cap reached)
|
|
68
|
+
* console.log(calculator.calculateFee(50000)); // $10.00 (maximum cap)
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
calculateFee(amountUsd) {
|
|
72
|
+
if (amountUsd < 0) {
|
|
73
|
+
throw new Error('Amount cannot be negative');
|
|
74
|
+
}
|
|
75
|
+
if (!Number.isFinite(amountUsd)) {
|
|
76
|
+
throw new Error('Amount must be a valid number');
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Calculate percentage-based fee
|
|
80
|
+
const percentageFee = amountUsd * this.FEE_RATE;
|
|
81
|
+
|
|
82
|
+
// Apply floor (minimum) and cap (maximum)
|
|
83
|
+
const feeUsd = Math.max(this.MIN_FEE, Math.min(this.MAX_FEE, percentageFee));
|
|
84
|
+
return feeUsd;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Estimate service fee in RGB asset base units
|
|
89
|
+
*
|
|
90
|
+
* This method uses hardcoded parameters (1:1 USD rate, precision 6) to estimate fees.
|
|
91
|
+
*
|
|
92
|
+
* Steps:
|
|
93
|
+
* 1. Converts transfer amount from base units to asset units
|
|
94
|
+
* 2. Converts asset units to USD (1:1 rate)
|
|
95
|
+
* 3. Calculates fee in USD (0.1% with $0.50 min, $10 max)
|
|
96
|
+
* 4. Converts fee back to asset base units
|
|
97
|
+
*
|
|
98
|
+
* @param transferAmount - Amount being transferred in base units (e.g., 100250000 for 100.25 TUSDT with precision 6)
|
|
99
|
+
* @param assetToUsdRate - Conversion rate from asset to USD (optional, defaults to 1)
|
|
100
|
+
* @param assetPrecision - Asset precision exponent (optional, defaults to 6)
|
|
101
|
+
* @returns Object with fee in asset base units, USD, and effective percentage
|
|
102
|
+
* @throws Error if inputs are invalid
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const calculator = new FeeCalculator();
|
|
107
|
+
*
|
|
108
|
+
* // Transfer 100 TUSDT (100000000 base units with precision 6)
|
|
109
|
+
* const result1 = calculator.estimateFeeInAsset(100000000, 1, 6);
|
|
110
|
+
* console.log(`Fee: ${result1.feeInAsset} base units`); // 500000 ($0.50 minimum)
|
|
111
|
+
* console.log(`Fee: $${result1.feeUsd}`); // $0.50
|
|
112
|
+
*
|
|
113
|
+
* // Transfer 1,000 TUSDT (1000000000 base units)
|
|
114
|
+
* const result2 = calculator.estimateFeeInAsset(1000000000, 1, 6);
|
|
115
|
+
* console.log(`Fee: ${result2.feeInAsset} base units`); // 1000000 ($1.00)
|
|
116
|
+
* console.log(`Fee: $${result2.feeUsd}`); // $1.00
|
|
117
|
+
* console.log(`Rate: ${result2.effectivePercentage}%`); // 0.1%
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
estimateFeeInAsset(transferAmount, assetToUsdRate, assetPrecision) {
|
|
121
|
+
// Use provided values or defaults
|
|
122
|
+
const rate = assetToUsdRate ?? this.assetToUsdRate;
|
|
123
|
+
const precision = assetPrecision ?? this.assetPrecision;
|
|
124
|
+
|
|
125
|
+
// Validate inputs
|
|
126
|
+
if (transferAmount < 0) {
|
|
127
|
+
throw new Error('Transfer amount cannot be negative');
|
|
128
|
+
}
|
|
129
|
+
if (!Number.isFinite(transferAmount)) {
|
|
130
|
+
throw new Error('Transfer amount must be a valid number');
|
|
131
|
+
}
|
|
132
|
+
if (rate <= 0) {
|
|
133
|
+
throw new Error('Asset to USD rate must be positive');
|
|
134
|
+
}
|
|
135
|
+
if (!Number.isFinite(rate)) {
|
|
136
|
+
throw new Error('Asset to USD rate must be a valid number');
|
|
137
|
+
}
|
|
138
|
+
if (precision <= 0 || !Number.isInteger(precision)) {
|
|
139
|
+
throw new Error('Asset precision must be a positive integer');
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Step 1: Convert transfer amount from base units to asset units
|
|
143
|
+
const transferAmountInAssetUnits = transferAmount / Math.pow(10, precision);
|
|
144
|
+
|
|
145
|
+
// Step 2: Convert to USD
|
|
146
|
+
const transferAmountUsd = transferAmountInAssetUnits * rate;
|
|
147
|
+
|
|
148
|
+
// Step 3: Calculate fee in USD using amount-based formula
|
|
149
|
+
const feeUsd = this.calculateFee(transferAmountUsd);
|
|
150
|
+
|
|
151
|
+
// Step 4: Convert USD fee to asset base units
|
|
152
|
+
// USD → asset units → base units (with precision)
|
|
153
|
+
const feeInAssetUnits = feeUsd / rate;
|
|
154
|
+
const feeInAsset = Math.round(feeInAssetUnits * Math.pow(10, precision));
|
|
155
|
+
|
|
156
|
+
// Calculate effective percentage for tracking
|
|
157
|
+
const effectivePercentage = feeUsd / transferAmountUsd * 100;
|
|
158
|
+
return {
|
|
159
|
+
feeInAsset,
|
|
160
|
+
feeUsd,
|
|
161
|
+
effectivePercentage
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Get the current asset to USD exchange rate
|
|
167
|
+
*/
|
|
168
|
+
getAssetToUsdRate() {
|
|
169
|
+
return this.assetToUsdRate;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Get the current asset precision
|
|
174
|
+
*/
|
|
175
|
+
getAssetPrecision() {
|
|
176
|
+
return this.assetPrecision;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Get the fee rate (0.1%)
|
|
181
|
+
*/
|
|
182
|
+
getFeeRate() {
|
|
183
|
+
return this.FEE_RATE;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Get the minimum fee ($0.50)
|
|
188
|
+
*/
|
|
189
|
+
getMinFee() {
|
|
190
|
+
return this.MIN_FEE;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Get the maximum fee ($10.00)
|
|
195
|
+
*/
|
|
196
|
+
getMaxFee() {
|
|
197
|
+
return this.MAX_FEE;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Create a default fee calculator instance
|
|
203
|
+
*
|
|
204
|
+
* @returns FeeCalculator instance
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```typescript
|
|
208
|
+
* import { createFeeCalculator } from './FeeCalculator';
|
|
209
|
+
*
|
|
210
|
+
* const calculator = createFeeCalculator();
|
|
211
|
+
* const fee = calculator.estimateFeeInAsset(100000000); // 100 TUSDT
|
|
212
|
+
* console.log(`Fee: $${fee.feeUsd}`); // $0.50 (minimum applies)
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
export function createFeeCalculator() {
|
|
216
|
+
return new FeeCalculator();
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=FeeCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FeeCalculator","assetToUsdRate","assetPrecision","FEE_RATE","MIN_FEE","MAX_FEE","constructor","calculateFee","amountUsd","Error","Number","isFinite","percentageFee","feeUsd","Math","max","min","estimateFeeInAsset","transferAmount","rate","precision","isInteger","transferAmountInAssetUnits","pow","transferAmountUsd","feeInAssetUnits","feeInAsset","round","effectivePercentage","getAssetToUsdRate","getAssetPrecision","getFeeRate","getMinFee","getMaxFee","createFeeCalculator"],"sourceRoot":"../../../../../src","sources":["features/gas-free/utils/FeeCalculator.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,aAAa,CAAC;EACRC,cAAc,GAAW,CAAC,CAAC,CAAC;EAC5BC,cAAc,GAAW,CAAC,CAAC,CAAC;;EAE7C;EACiBC,QAAQ,GAAG,KAAK,CAAC,CAAC;EAClBC,OAAO,GAAG,GAAG,CAAC,CAAC;EACfC,OAAO,GAAG,IAAI,CAAC,CAAC;;EAEjC;AACF;AACA;EACEC,WAAWA,CAAA,EAAG;IACZ;EAAA;;EAGF;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACSC,YAAYA,CAACC,SAAiB,EAAU;IAC7C,IAAIA,SAAS,GAAG,CAAC,EAAE;MACjB,MAAM,IAAIC,KAAK,CAAC,2BAA2B,CAAC;IAC9C;IAEA,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACH,SAAS,CAAC,EAAE;MAC/B,MAAM,IAAIC,KAAK,CAAC,+BAA+B,CAAC;IAClD;;IAEA;IACA,MAAMG,aAAa,GAAGJ,SAAS,GAAG,IAAI,CAACL,QAAQ;;IAE/C;IACA,MAAMU,MAAM,GAAGC,IAAI,CAACC,GAAG,CACrB,IAAI,CAACX,OAAO,EACZU,IAAI,CAACE,GAAG,CAAC,IAAI,CAACX,OAAO,EAAEO,aAAa,CACtC,CAAC;IAED,OAAOC,MAAM;EACf;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACSI,kBAAkBA,CACvBC,cAAsB,EACtBjB,cAAuB,EACvBC,cAAuB,EAC8C;IACrE;IACA,MAAMiB,IAAI,GAAGlB,cAAc,IAAI,IAAI,CAACA,cAAc;IAClD,MAAMmB,SAAS,GAAGlB,cAAc,IAAI,IAAI,CAACA,cAAc;;IAEvD;IACA,IAAIgB,cAAc,GAAG,CAAC,EAAE;MACtB,MAAM,IAAIT,KAAK,CAAC,oCAAoC,CAAC;IACvD;IAEA,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACO,cAAc,CAAC,EAAE;MACpC,MAAM,IAAIT,KAAK,CAAC,wCAAwC,CAAC;IAC3D;IAEA,IAAIU,IAAI,IAAI,CAAC,EAAE;MACb,MAAM,IAAIV,KAAK,CAAC,oCAAoC,CAAC;IACvD;IAEA,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACQ,IAAI,CAAC,EAAE;MAC1B,MAAM,IAAIV,KAAK,CAAC,0CAA0C,CAAC;IAC7D;IAEA,IAAIW,SAAS,IAAI,CAAC,IAAI,CAACV,MAAM,CAACW,SAAS,CAACD,SAAS,CAAC,EAAE;MAClD,MAAM,IAAIX,KAAK,CAAC,4CAA4C,CAAC;IAC/D;;IAEA;IACA,MAAMa,0BAA0B,GAAGJ,cAAc,GAAGJ,IAAI,CAACS,GAAG,CAAC,EAAE,EAAEH,SAAS,CAAC;;IAE3E;IACA,MAAMI,iBAAiB,GAAGF,0BAA0B,GAAGH,IAAI;;IAE3D;IACA,MAAMN,MAAM,GAAG,IAAI,CAACN,YAAY,CAACiB,iBAAiB,CAAC;;IAEnD;IACA;IACA,MAAMC,eAAe,GAAGZ,MAAM,GAAGM,IAAI;IACrC,MAAMO,UAAU,GAAGZ,IAAI,CAACa,KAAK,CAACF,eAAe,GAAGX,IAAI,CAACS,GAAG,CAAC,EAAE,EAAEH,SAAS,CAAC,CAAC;;IAExE;IACA,MAAMQ,mBAAmB,GAAIf,MAAM,GAAGW,iBAAiB,GAAI,GAAG;IAE9D,OAAO;MACLE,UAAU;MACVb,MAAM;MACNe;IACF,CAAC;EACH;;EAEA;AACF;AACA;EACSC,iBAAiBA,CAAA,EAAW;IACjC,OAAO,IAAI,CAAC5B,cAAc;EAC5B;;EAEA;AACF;AACA;EACS6B,iBAAiBA,CAAA,EAAW;IACjC,OAAO,IAAI,CAAC5B,cAAc;EAC5B;;EAEA;AACF;AACA;EACS6B,UAAUA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAAC5B,QAAQ;EACtB;;EAEA;AACF;AACA;EACS6B,SAASA,CAAA,EAAW;IACzB,OAAO,IAAI,CAAC5B,OAAO;EACrB;;EAEA;AACF;AACA;EACS6B,SAASA,CAAA,EAAW;IACzB,OAAO,IAAI,CAAC5B,OAAO;EACrB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS6B,mBAAmBA,CAAA,EAAkB;EACnD,OAAO,IAAIlC,aAAa,CAAC,CAAC;AAC5B","ignoreList":[]}
|