@keystonehq/react-native-keystone-wallet-core 0.1.0-alpha.1 → 0.1.0-alpha.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/android/src/main/java/com/reactnativekeystonewalletcore/KeystoneWalletCoreModule.kt +75 -0
- package/ios/Frameworks/KeystoneWalletCoreFFI.xcframework/ios-arm64/KeystoneWalletCoreFFI.framework/Headers/keystone_wallet_coreFFI.h +28 -17
- package/ios/Frameworks/KeystoneWalletCoreFFI.xcframework/ios-arm64/KeystoneWalletCoreFFI.framework/KeystoneWalletCoreFFI +0 -0
- package/ios/Frameworks/KeystoneWalletCoreFFI.xcframework/ios-arm64-simulator/KeystoneWalletCoreFFI.framework/Headers/keystone_wallet_coreFFI.h +28 -17
- package/ios/Frameworks/KeystoneWalletCoreFFI.xcframework/ios-arm64-simulator/KeystoneWalletCoreFFI.framework/KeystoneWalletCoreFFI +0 -0
- package/ios/KeystoneWalletCoreModule.m +15 -1
- package/ios/KeystoneWalletCoreModule.swift +63 -3
- package/ios/keystone_wallet_core.swift +317 -15
- package/lib/commonjs/index.js +11 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +8 -2
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +17 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +44 -2
|
@@ -9,13 +9,19 @@ import com.facebook.react.bridge.ReadableMap
|
|
|
9
9
|
import uniffi.keystone_wallet_core.TransparentInput
|
|
10
10
|
import uniffi.keystone_wallet_core.TransparentOutput
|
|
11
11
|
import uniffi.keystone_wallet_core.createTransparentPczt
|
|
12
|
+
import uniffi.keystone_wallet_core.finalizeThenExtractPcztTransaction;
|
|
12
13
|
import uniffi.keystone_wallet_core.derivePubkeyByPathAda
|
|
13
14
|
import uniffi.keystone_wallet_core.deriveAddressByPathAda
|
|
14
15
|
import uniffi.keystone_wallet_core.deriveEnterpriseAddressByPathAda
|
|
15
16
|
import uniffi.keystone_wallet_core.deriveStakeAddressAda
|
|
16
17
|
import uniffi.keystone_wallet_core.CardanoNetwork
|
|
18
|
+
import uniffi.keystone_wallet_core.CardanoTxInput
|
|
19
|
+
import uniffi.keystone_wallet_core.CardanoTxOutput
|
|
20
|
+
import uniffi.keystone_wallet_core.composeTransactionAda
|
|
17
21
|
import com.facebook.react.bridge.WritableNativeMap
|
|
18
22
|
|
|
23
|
+
import uniffi.keystone_wallet_core.assembleTransactionAda
|
|
24
|
+
|
|
19
25
|
class KeystoneWalletCoreModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
|
|
20
26
|
|
|
21
27
|
override fun getName(): String {
|
|
@@ -58,6 +64,16 @@ class KeystoneWalletCoreModule(reactContext: ReactApplicationContext) : ReactCon
|
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
66
|
|
|
67
|
+
@ReactMethod
|
|
68
|
+
fun finalizeThenExtractPcztTransaction(pczt: String) {
|
|
69
|
+
try {
|
|
70
|
+
val result = finalizeThenExtractPcztTransaction(pczt)
|
|
71
|
+
promise.resolve(result)
|
|
72
|
+
} catch (e: Exception) {
|
|
73
|
+
promise.reject("finalizeThenExtractPcztTransaction ERROR", e.message, e)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
61
77
|
private fun getCardanoNetwork(network: String): CardanoNetwork {
|
|
62
78
|
return when (network) {
|
|
63
79
|
"Mainnet" -> CardanoNetwork.MAINNET
|
|
@@ -111,4 +127,63 @@ class KeystoneWalletCoreModule(reactContext: ReactApplicationContext) : ReactCon
|
|
|
111
127
|
promise.reject("CARDANO_ERROR", e.message, e)
|
|
112
128
|
}
|
|
113
129
|
}
|
|
130
|
+
|
|
131
|
+
@ReactMethod
|
|
132
|
+
fun composeTransactionAda(
|
|
133
|
+
inputs: ReadableArray,
|
|
134
|
+
outputs: ReadableArray,
|
|
135
|
+
changeAddress: String,
|
|
136
|
+
fee: Double,
|
|
137
|
+
ttl: Double,
|
|
138
|
+
network: String,
|
|
139
|
+
promise: Promise
|
|
140
|
+
) {
|
|
141
|
+
try {
|
|
142
|
+
val kotlinInputs = mutableListOf<CardanoTxInput>()
|
|
143
|
+
for (i in 0 until inputs.size()) {
|
|
144
|
+
val input = inputs.getMap(i) ?: continue
|
|
145
|
+
kotlinInputs.add(CardanoTxInput(
|
|
146
|
+
txHash = input.getString("txHash") ?: "",
|
|
147
|
+
txIndex = input.getDouble("txIndex").toUInt(),
|
|
148
|
+
amount = input.getDouble("amount").toULong()
|
|
149
|
+
))
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
val kotlinOutputs = mutableListOf<CardanoTxOutput>()
|
|
153
|
+
for (i in 0 until outputs.size()) {
|
|
154
|
+
val output = outputs.getMap(i) ?: continue
|
|
155
|
+
kotlinOutputs.add(CardanoTxOutput(
|
|
156
|
+
address = output.getString("address") ?: "",
|
|
157
|
+
amount = output.getDouble("amount").toULong(),
|
|
158
|
+
isChange = output.getBoolean("isChange")
|
|
159
|
+
))
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
val adaNetwork = getCardanoNetwork(network)
|
|
163
|
+
val result = composeTransactionAda(
|
|
164
|
+
kotlinInputs,
|
|
165
|
+
kotlinOutputs,
|
|
166
|
+
changeAddress,
|
|
167
|
+
fee.toULong(),
|
|
168
|
+
ttl.toULong(),
|
|
169
|
+
adaNetwork
|
|
170
|
+
)
|
|
171
|
+
promise.resolve(result)
|
|
172
|
+
} catch (e: Exception) {
|
|
173
|
+
promise.reject("CARDANO_ERROR", e.message, e)
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
@ReactMethod
|
|
178
|
+
fun assembleTransactionAda(rawTxHex: String, witnessSetHex: String, promise: Promise) {
|
|
179
|
+
try {
|
|
180
|
+
val result = assembleTransactionAda(rawTxHex, witnessSetHex)
|
|
181
|
+
val map = WritableNativeMap()
|
|
182
|
+
map.putString("txId", result.txId)
|
|
183
|
+
map.putString("txHex", result.txHex)
|
|
184
|
+
promise.resolve(map)
|
|
185
|
+
} catch (e: Exception) {
|
|
186
|
+
promise.reject("CARDANO_ERROR", e.message, e)
|
|
187
|
+
}
|
|
188
|
+
}
|
|
114
189
|
}
|
|
@@ -266,6 +266,16 @@ void uniffi_keystone_wallet_core_fn_free_pczt(void*_Nonnull ptr, RustCallStatus
|
|
|
266
266
|
RustBuffer uniffi_keystone_wallet_core_fn_method_pczt_serialize(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status
|
|
267
267
|
);
|
|
268
268
|
#endif
|
|
269
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_ASSEMBLE_TRANSACTION_ADA
|
|
270
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_ASSEMBLE_TRANSACTION_ADA
|
|
271
|
+
RustBuffer uniffi_keystone_wallet_core_fn_func_assemble_transaction_ada(RustBuffer raw_tx_hex, RustBuffer witness_set_hex, RustCallStatus *_Nonnull out_status
|
|
272
|
+
);
|
|
273
|
+
#endif
|
|
274
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_COMPOSE_TRANSACTION_ADA
|
|
275
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_COMPOSE_TRANSACTION_ADA
|
|
276
|
+
RustBuffer uniffi_keystone_wallet_core_fn_func_compose_transaction_ada(RustBuffer inputs, RustBuffer outputs, RustBuffer change_address, uint64_t fee, uint64_t ttl, RustBuffer network, RustCallStatus *_Nonnull out_status
|
|
277
|
+
);
|
|
278
|
+
#endif
|
|
269
279
|
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_CREATE_PCZT
|
|
270
280
|
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_CREATE_PCZT
|
|
271
281
|
void*_Nonnull uniffi_keystone_wallet_core_fn_func_create_pczt(uint32_t consensus_branch_id, uint32_t expiry_height, uint32_t coin_type, RustCallStatus *_Nonnull out_status
|
|
@@ -296,14 +306,9 @@ RustBuffer uniffi_keystone_wallet_core_fn_func_derive_pubkey_by_path_ada(RustBuf
|
|
|
296
306
|
RustBuffer uniffi_keystone_wallet_core_fn_func_derive_stake_address_ada(RustBuffer account_xpub_hex, RustBuffer network, RustCallStatus *_Nonnull out_status
|
|
297
307
|
);
|
|
298
308
|
#endif
|
|
299
|
-
#ifndef
|
|
300
|
-
#define
|
|
301
|
-
RustBuffer
|
|
302
|
-
);
|
|
303
|
-
#endif
|
|
304
|
-
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_EXTRACT_PCZT_TRANSACTION
|
|
305
|
-
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_EXTRACT_PCZT_TRANSACTION
|
|
306
|
-
RustBuffer uniffi_keystone_wallet_core_fn_func_extract_pczt_transaction(RustBuffer pczt_hex, RustCallStatus *_Nonnull out_status
|
|
309
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_FINALIZE_THEN_EXTRACT_PCZT_TRANSACTION
|
|
310
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_FINALIZE_THEN_EXTRACT_PCZT_TRANSACTION
|
|
311
|
+
RustBuffer uniffi_keystone_wallet_core_fn_func_finalize_then_extract_pczt_transaction(RustBuffer pczt_hex, RustCallStatus *_Nonnull out_status
|
|
307
312
|
);
|
|
308
313
|
#endif
|
|
309
314
|
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_HELLO
|
|
@@ -590,6 +595,18 @@ void ffi_keystone_wallet_core_rust_future_free_void(uint64_t handle
|
|
|
590
595
|
#ifndef UNIFFI_FFIDEF_FFI_KEYSTONE_WALLET_CORE_RUST_FUTURE_COMPLETE_VOID
|
|
591
596
|
#define UNIFFI_FFIDEF_FFI_KEYSTONE_WALLET_CORE_RUST_FUTURE_COMPLETE_VOID
|
|
592
597
|
void ffi_keystone_wallet_core_rust_future_complete_void(uint64_t handle, RustCallStatus *_Nonnull out_status
|
|
598
|
+
);
|
|
599
|
+
#endif
|
|
600
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_ASSEMBLE_TRANSACTION_ADA
|
|
601
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_ASSEMBLE_TRANSACTION_ADA
|
|
602
|
+
uint16_t uniffi_keystone_wallet_core_checksum_func_assemble_transaction_ada(void
|
|
603
|
+
|
|
604
|
+
);
|
|
605
|
+
#endif
|
|
606
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_COMPOSE_TRANSACTION_ADA
|
|
607
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_COMPOSE_TRANSACTION_ADA
|
|
608
|
+
uint16_t uniffi_keystone_wallet_core_checksum_func_compose_transaction_ada(void
|
|
609
|
+
|
|
593
610
|
);
|
|
594
611
|
#endif
|
|
595
612
|
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_CREATE_PCZT
|
|
@@ -628,15 +645,9 @@ uint16_t uniffi_keystone_wallet_core_checksum_func_derive_stake_address_ada(void
|
|
|
628
645
|
|
|
629
646
|
);
|
|
630
647
|
#endif
|
|
631
|
-
#ifndef
|
|
632
|
-
#define
|
|
633
|
-
uint16_t
|
|
634
|
-
|
|
635
|
-
);
|
|
636
|
-
#endif
|
|
637
|
-
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_EXTRACT_PCZT_TRANSACTION
|
|
638
|
-
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_EXTRACT_PCZT_TRANSACTION
|
|
639
|
-
uint16_t uniffi_keystone_wallet_core_checksum_func_extract_pczt_transaction(void
|
|
648
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_FINALIZE_THEN_EXTRACT_PCZT_TRANSACTION
|
|
649
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_FINALIZE_THEN_EXTRACT_PCZT_TRANSACTION
|
|
650
|
+
uint16_t uniffi_keystone_wallet_core_checksum_func_finalize_then_extract_pczt_transaction(void
|
|
640
651
|
|
|
641
652
|
);
|
|
642
653
|
#endif
|
|
Binary file
|
|
@@ -266,6 +266,16 @@ void uniffi_keystone_wallet_core_fn_free_pczt(void*_Nonnull ptr, RustCallStatus
|
|
|
266
266
|
RustBuffer uniffi_keystone_wallet_core_fn_method_pczt_serialize(void*_Nonnull ptr, RustCallStatus *_Nonnull out_status
|
|
267
267
|
);
|
|
268
268
|
#endif
|
|
269
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_ASSEMBLE_TRANSACTION_ADA
|
|
270
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_ASSEMBLE_TRANSACTION_ADA
|
|
271
|
+
RustBuffer uniffi_keystone_wallet_core_fn_func_assemble_transaction_ada(RustBuffer raw_tx_hex, RustBuffer witness_set_hex, RustCallStatus *_Nonnull out_status
|
|
272
|
+
);
|
|
273
|
+
#endif
|
|
274
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_COMPOSE_TRANSACTION_ADA
|
|
275
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_COMPOSE_TRANSACTION_ADA
|
|
276
|
+
RustBuffer uniffi_keystone_wallet_core_fn_func_compose_transaction_ada(RustBuffer inputs, RustBuffer outputs, RustBuffer change_address, uint64_t fee, uint64_t ttl, RustBuffer network, RustCallStatus *_Nonnull out_status
|
|
277
|
+
);
|
|
278
|
+
#endif
|
|
269
279
|
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_CREATE_PCZT
|
|
270
280
|
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_CREATE_PCZT
|
|
271
281
|
void*_Nonnull uniffi_keystone_wallet_core_fn_func_create_pczt(uint32_t consensus_branch_id, uint32_t expiry_height, uint32_t coin_type, RustCallStatus *_Nonnull out_status
|
|
@@ -296,14 +306,9 @@ RustBuffer uniffi_keystone_wallet_core_fn_func_derive_pubkey_by_path_ada(RustBuf
|
|
|
296
306
|
RustBuffer uniffi_keystone_wallet_core_fn_func_derive_stake_address_ada(RustBuffer account_xpub_hex, RustBuffer network, RustCallStatus *_Nonnull out_status
|
|
297
307
|
);
|
|
298
308
|
#endif
|
|
299
|
-
#ifndef
|
|
300
|
-
#define
|
|
301
|
-
RustBuffer
|
|
302
|
-
);
|
|
303
|
-
#endif
|
|
304
|
-
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_EXTRACT_PCZT_TRANSACTION
|
|
305
|
-
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_EXTRACT_PCZT_TRANSACTION
|
|
306
|
-
RustBuffer uniffi_keystone_wallet_core_fn_func_extract_pczt_transaction(RustBuffer pczt_hex, RustCallStatus *_Nonnull out_status
|
|
309
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_FINALIZE_THEN_EXTRACT_PCZT_TRANSACTION
|
|
310
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_FINALIZE_THEN_EXTRACT_PCZT_TRANSACTION
|
|
311
|
+
RustBuffer uniffi_keystone_wallet_core_fn_func_finalize_then_extract_pczt_transaction(RustBuffer pczt_hex, RustCallStatus *_Nonnull out_status
|
|
307
312
|
);
|
|
308
313
|
#endif
|
|
309
314
|
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_FN_FUNC_HELLO
|
|
@@ -590,6 +595,18 @@ void ffi_keystone_wallet_core_rust_future_free_void(uint64_t handle
|
|
|
590
595
|
#ifndef UNIFFI_FFIDEF_FFI_KEYSTONE_WALLET_CORE_RUST_FUTURE_COMPLETE_VOID
|
|
591
596
|
#define UNIFFI_FFIDEF_FFI_KEYSTONE_WALLET_CORE_RUST_FUTURE_COMPLETE_VOID
|
|
592
597
|
void ffi_keystone_wallet_core_rust_future_complete_void(uint64_t handle, RustCallStatus *_Nonnull out_status
|
|
598
|
+
);
|
|
599
|
+
#endif
|
|
600
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_ASSEMBLE_TRANSACTION_ADA
|
|
601
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_ASSEMBLE_TRANSACTION_ADA
|
|
602
|
+
uint16_t uniffi_keystone_wallet_core_checksum_func_assemble_transaction_ada(void
|
|
603
|
+
|
|
604
|
+
);
|
|
605
|
+
#endif
|
|
606
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_COMPOSE_TRANSACTION_ADA
|
|
607
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_COMPOSE_TRANSACTION_ADA
|
|
608
|
+
uint16_t uniffi_keystone_wallet_core_checksum_func_compose_transaction_ada(void
|
|
609
|
+
|
|
593
610
|
);
|
|
594
611
|
#endif
|
|
595
612
|
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_CREATE_PCZT
|
|
@@ -628,15 +645,9 @@ uint16_t uniffi_keystone_wallet_core_checksum_func_derive_stake_address_ada(void
|
|
|
628
645
|
|
|
629
646
|
);
|
|
630
647
|
#endif
|
|
631
|
-
#ifndef
|
|
632
|
-
#define
|
|
633
|
-
uint16_t
|
|
634
|
-
|
|
635
|
-
);
|
|
636
|
-
#endif
|
|
637
|
-
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_EXTRACT_PCZT_TRANSACTION
|
|
638
|
-
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_EXTRACT_PCZT_TRANSACTION
|
|
639
|
-
uint16_t uniffi_keystone_wallet_core_checksum_func_extract_pczt_transaction(void
|
|
648
|
+
#ifndef UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_FINALIZE_THEN_EXTRACT_PCZT_TRANSACTION
|
|
649
|
+
#define UNIFFI_FFIDEF_UNIFFI_KEYSTONE_WALLET_CORE_CHECKSUM_FUNC_FINALIZE_THEN_EXTRACT_PCZT_TRANSACTION
|
|
650
|
+
uint16_t uniffi_keystone_wallet_core_checksum_func_finalize_then_extract_pczt_transaction(void
|
|
640
651
|
|
|
641
652
|
);
|
|
642
653
|
#endif
|
|
Binary file
|
|
@@ -8,7 +8,7 @@ RCT_EXTERN_METHOD(createTransparentPczt:(NSArray *)inputs
|
|
|
8
8
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
9
9
|
reject:(RCTPromiseRejectBlock)reject)
|
|
10
10
|
|
|
11
|
-
RCT_EXTERN_METHOD(
|
|
11
|
+
RCT_EXTERN_METHOD(finalizeThenExtractPcztTransaction:(NSString *)pcztHex
|
|
12
12
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
13
13
|
reject:(RCTPromiseRejectBlock)reject)
|
|
14
14
|
|
|
@@ -34,4 +34,18 @@ RCT_EXTERN_METHOD(deriveStakeAddressAda:(NSString *)accountXpubHex
|
|
|
34
34
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
35
35
|
reject:(RCTPromiseRejectBlock)reject)
|
|
36
36
|
|
|
37
|
+
RCT_EXTERN_METHOD(composeTransactionAda:(NSArray *)inputs
|
|
38
|
+
outputs:(NSArray *)outputs
|
|
39
|
+
changeAddress:(NSString *)changeAddress
|
|
40
|
+
fee:(double)fee
|
|
41
|
+
ttl:(double)ttl
|
|
42
|
+
network:(NSString *)network
|
|
43
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
44
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
45
|
+
|
|
46
|
+
RCT_EXTERN_METHOD(assembleTransactionAda:(NSString *)rawTxHex
|
|
47
|
+
witnessSetHex:(NSString *)witnessSetHex
|
|
48
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
49
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
50
|
+
|
|
37
51
|
@end
|
|
@@ -43,10 +43,10 @@ public class KeystoneWalletCoreModule: NSObject {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
@objc(
|
|
47
|
-
func
|
|
46
|
+
@objc(finalizeThenExtractPcztTransaction:resolve:reject:)
|
|
47
|
+
func finalizeThenExtractPcztTransactionBridge(_ pcztHex: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
48
48
|
do {
|
|
49
|
-
let result = try
|
|
49
|
+
let result = try finalizeThenExtractPcztTransaction(pcztHex: pcztHex)
|
|
50
50
|
resolve(result)
|
|
51
51
|
} catch {
|
|
52
52
|
reject("PCZT_ERROR", error.localizedDescription, error)
|
|
@@ -109,4 +109,64 @@ public class KeystoneWalletCoreModule: NSObject {
|
|
|
109
109
|
reject("CARDANO_ERROR", error.localizedDescription, error)
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
+
|
|
113
|
+
@objc(composeTransactionAda:outputs:changeAddress:fee:ttl:network:resolve:reject:)
|
|
114
|
+
func composeTransactionAdaBridge(
|
|
115
|
+
_ inputs: [NSDictionary],
|
|
116
|
+
outputs: [NSDictionary],
|
|
117
|
+
changeAddress: String,
|
|
118
|
+
fee: Double,
|
|
119
|
+
ttl: Double,
|
|
120
|
+
network: String,
|
|
121
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
122
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
123
|
+
) {
|
|
124
|
+
do {
|
|
125
|
+
let swiftInputs = try inputs.map { dict -> CardanoTxInput in
|
|
126
|
+
guard let txHash = dict["txHash"] as? String,
|
|
127
|
+
let txIndex = (dict["txIndex"] as? NSNumber)?.uint32Value,
|
|
128
|
+
let amount = (dict["amount"] as? NSNumber)?.uint64Value
|
|
129
|
+
else {
|
|
130
|
+
throw NSError(domain: "CardanoModule", code: 1, userInfo: [NSLocalizedDescriptionKey: "Invalid input format"])
|
|
131
|
+
}
|
|
132
|
+
return CardanoTxInput(txHash: txHash, txIndex: txIndex, amount: amount)
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
let swiftOutputs = try outputs.map { dict -> CardanoTxOutput in
|
|
136
|
+
guard let address = dict["address"] as? String,
|
|
137
|
+
let amount = (dict["amount"] as? NSNumber)?.uint64Value,
|
|
138
|
+
let isChange = dict["isChange"] as? Bool
|
|
139
|
+
else {
|
|
140
|
+
throw NSError(domain: "CardanoModule", code: 1, userInfo: [NSLocalizedDescriptionKey: "Invalid output format"])
|
|
141
|
+
}
|
|
142
|
+
return CardanoTxOutput(address: address, amount: amount, isChange: isChange)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
let adaNetwork = try getCardanoNetwork(network: network)
|
|
146
|
+
let result = try composeTransactionAda(
|
|
147
|
+
inputs: swiftInputs,
|
|
148
|
+
outputs: swiftOutputs,
|
|
149
|
+
changeAddress: changeAddress,
|
|
150
|
+
fee: UInt64(fee),
|
|
151
|
+
ttl: UInt64(ttl),
|
|
152
|
+
network: adaNetwork
|
|
153
|
+
)
|
|
154
|
+
resolve(result)
|
|
155
|
+
} catch {
|
|
156
|
+
reject("CARDANO_ERROR", error.localizedDescription, error)
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
@objc(assembleTransactionAda:witnessSetHex:resolve:reject:)
|
|
161
|
+
func assembleTransactionAdaBridge(_ rawTxHex: String, witnessSetHex: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
162
|
+
do {
|
|
163
|
+
let result = try assembleTransactionAda(rawTxHex: rawTxHex, witnessSetHex: witnessSetHex)
|
|
164
|
+
resolve([
|
|
165
|
+
"txId": result.txId,
|
|
166
|
+
"txHex": result.txHex
|
|
167
|
+
])
|
|
168
|
+
} catch {
|
|
169
|
+
reject("CARDANO_ERROR", error.localizedDescription, error)
|
|
170
|
+
}
|
|
171
|
+
}
|
|
112
172
|
}
|
|
@@ -442,6 +442,30 @@ fileprivate struct FfiConverterUInt64: FfiConverterPrimitive {
|
|
|
442
442
|
}
|
|
443
443
|
}
|
|
444
444
|
|
|
445
|
+
#if swift(>=5.8)
|
|
446
|
+
@_documentation(visibility: private)
|
|
447
|
+
#endif
|
|
448
|
+
fileprivate struct FfiConverterBool : FfiConverter {
|
|
449
|
+
typealias FfiType = Int8
|
|
450
|
+
typealias SwiftType = Bool
|
|
451
|
+
|
|
452
|
+
public static func lift(_ value: Int8) throws -> Bool {
|
|
453
|
+
return value != 0
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
public static func lower(_ value: Bool) -> Int8 {
|
|
457
|
+
return value ? 1 : 0
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> Bool {
|
|
461
|
+
return try lift(readInt(&buf))
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
public static func write(_ value: Bool, into buf: inout [UInt8]) {
|
|
465
|
+
writeInt(&buf, lower(value))
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
|
|
445
469
|
#if swift(>=5.8)
|
|
446
470
|
@_documentation(visibility: private)
|
|
447
471
|
#endif
|
|
@@ -604,6 +628,154 @@ public func FfiConverterTypePczt_lower(_ value: Pczt) -> UnsafeMutableRawPointer
|
|
|
604
628
|
}
|
|
605
629
|
|
|
606
630
|
|
|
631
|
+
public struct CardanoTxInput {
|
|
632
|
+
public var txHash: String
|
|
633
|
+
public var txIndex: UInt32
|
|
634
|
+
public var amount: UInt64
|
|
635
|
+
|
|
636
|
+
// Default memberwise initializers are never public by default, so we
|
|
637
|
+
// declare one manually.
|
|
638
|
+
public init(txHash: String, txIndex: UInt32, amount: UInt64) {
|
|
639
|
+
self.txHash = txHash
|
|
640
|
+
self.txIndex = txIndex
|
|
641
|
+
self.amount = amount
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
extension CardanoTxInput: Equatable, Hashable {
|
|
648
|
+
public static func ==(lhs: CardanoTxInput, rhs: CardanoTxInput) -> Bool {
|
|
649
|
+
if lhs.txHash != rhs.txHash {
|
|
650
|
+
return false
|
|
651
|
+
}
|
|
652
|
+
if lhs.txIndex != rhs.txIndex {
|
|
653
|
+
return false
|
|
654
|
+
}
|
|
655
|
+
if lhs.amount != rhs.amount {
|
|
656
|
+
return false
|
|
657
|
+
}
|
|
658
|
+
return true
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
public func hash(into hasher: inout Hasher) {
|
|
662
|
+
hasher.combine(txHash)
|
|
663
|
+
hasher.combine(txIndex)
|
|
664
|
+
hasher.combine(amount)
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
#if swift(>=5.8)
|
|
670
|
+
@_documentation(visibility: private)
|
|
671
|
+
#endif
|
|
672
|
+
public struct FfiConverterTypeCardanoTxInput: FfiConverterRustBuffer {
|
|
673
|
+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> CardanoTxInput {
|
|
674
|
+
return
|
|
675
|
+
try CardanoTxInput(
|
|
676
|
+
txHash: FfiConverterString.read(from: &buf),
|
|
677
|
+
txIndex: FfiConverterUInt32.read(from: &buf),
|
|
678
|
+
amount: FfiConverterUInt64.read(from: &buf)
|
|
679
|
+
)
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
public static func write(_ value: CardanoTxInput, into buf: inout [UInt8]) {
|
|
683
|
+
FfiConverterString.write(value.txHash, into: &buf)
|
|
684
|
+
FfiConverterUInt32.write(value.txIndex, into: &buf)
|
|
685
|
+
FfiConverterUInt64.write(value.amount, into: &buf)
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
#if swift(>=5.8)
|
|
691
|
+
@_documentation(visibility: private)
|
|
692
|
+
#endif
|
|
693
|
+
public func FfiConverterTypeCardanoTxInput_lift(_ buf: RustBuffer) throws -> CardanoTxInput {
|
|
694
|
+
return try FfiConverterTypeCardanoTxInput.lift(buf)
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
#if swift(>=5.8)
|
|
698
|
+
@_documentation(visibility: private)
|
|
699
|
+
#endif
|
|
700
|
+
public func FfiConverterTypeCardanoTxInput_lower(_ value: CardanoTxInput) -> RustBuffer {
|
|
701
|
+
return FfiConverterTypeCardanoTxInput.lower(value)
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
public struct CardanoTxOutput {
|
|
706
|
+
public var address: String
|
|
707
|
+
public var amount: UInt64
|
|
708
|
+
public var isChange: Bool
|
|
709
|
+
|
|
710
|
+
// Default memberwise initializers are never public by default, so we
|
|
711
|
+
// declare one manually.
|
|
712
|
+
public init(address: String, amount: UInt64, isChange: Bool) {
|
|
713
|
+
self.address = address
|
|
714
|
+
self.amount = amount
|
|
715
|
+
self.isChange = isChange
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
extension CardanoTxOutput: Equatable, Hashable {
|
|
722
|
+
public static func ==(lhs: CardanoTxOutput, rhs: CardanoTxOutput) -> Bool {
|
|
723
|
+
if lhs.address != rhs.address {
|
|
724
|
+
return false
|
|
725
|
+
}
|
|
726
|
+
if lhs.amount != rhs.amount {
|
|
727
|
+
return false
|
|
728
|
+
}
|
|
729
|
+
if lhs.isChange != rhs.isChange {
|
|
730
|
+
return false
|
|
731
|
+
}
|
|
732
|
+
return true
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
public func hash(into hasher: inout Hasher) {
|
|
736
|
+
hasher.combine(address)
|
|
737
|
+
hasher.combine(amount)
|
|
738
|
+
hasher.combine(isChange)
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
|
|
743
|
+
#if swift(>=5.8)
|
|
744
|
+
@_documentation(visibility: private)
|
|
745
|
+
#endif
|
|
746
|
+
public struct FfiConverterTypeCardanoTxOutput: FfiConverterRustBuffer {
|
|
747
|
+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> CardanoTxOutput {
|
|
748
|
+
return
|
|
749
|
+
try CardanoTxOutput(
|
|
750
|
+
address: FfiConverterString.read(from: &buf),
|
|
751
|
+
amount: FfiConverterUInt64.read(from: &buf),
|
|
752
|
+
isChange: FfiConverterBool.read(from: &buf)
|
|
753
|
+
)
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
public static func write(_ value: CardanoTxOutput, into buf: inout [UInt8]) {
|
|
757
|
+
FfiConverterString.write(value.address, into: &buf)
|
|
758
|
+
FfiConverterUInt64.write(value.amount, into: &buf)
|
|
759
|
+
FfiConverterBool.write(value.isChange, into: &buf)
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
|
|
764
|
+
#if swift(>=5.8)
|
|
765
|
+
@_documentation(visibility: private)
|
|
766
|
+
#endif
|
|
767
|
+
public func FfiConverterTypeCardanoTxOutput_lift(_ buf: RustBuffer) throws -> CardanoTxOutput {
|
|
768
|
+
return try FfiConverterTypeCardanoTxOutput.lift(buf)
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
#if swift(>=5.8)
|
|
772
|
+
@_documentation(visibility: private)
|
|
773
|
+
#endif
|
|
774
|
+
public func FfiConverterTypeCardanoTxOutput_lower(_ value: CardanoTxOutput) -> RustBuffer {
|
|
775
|
+
return FfiConverterTypeCardanoTxOutput.lower(value)
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
|
|
607
779
|
public struct DerivedKeys {
|
|
608
780
|
public var paymentPubkeyHex: String
|
|
609
781
|
public var stakePubkeyHex: String
|
|
@@ -670,6 +842,72 @@ public func FfiConverterTypeDerivedKeys_lower(_ value: DerivedKeys) -> RustBuffe
|
|
|
670
842
|
}
|
|
671
843
|
|
|
672
844
|
|
|
845
|
+
public struct SignedTxResult {
|
|
846
|
+
public var txId: String
|
|
847
|
+
public var txHex: String
|
|
848
|
+
|
|
849
|
+
// Default memberwise initializers are never public by default, so we
|
|
850
|
+
// declare one manually.
|
|
851
|
+
public init(txId: String, txHex: String) {
|
|
852
|
+
self.txId = txId
|
|
853
|
+
self.txHex = txHex
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
|
|
859
|
+
extension SignedTxResult: Equatable, Hashable {
|
|
860
|
+
public static func ==(lhs: SignedTxResult, rhs: SignedTxResult) -> Bool {
|
|
861
|
+
if lhs.txId != rhs.txId {
|
|
862
|
+
return false
|
|
863
|
+
}
|
|
864
|
+
if lhs.txHex != rhs.txHex {
|
|
865
|
+
return false
|
|
866
|
+
}
|
|
867
|
+
return true
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
public func hash(into hasher: inout Hasher) {
|
|
871
|
+
hasher.combine(txId)
|
|
872
|
+
hasher.combine(txHex)
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
#if swift(>=5.8)
|
|
878
|
+
@_documentation(visibility: private)
|
|
879
|
+
#endif
|
|
880
|
+
public struct FfiConverterTypeSignedTxResult: FfiConverterRustBuffer {
|
|
881
|
+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> SignedTxResult {
|
|
882
|
+
return
|
|
883
|
+
try SignedTxResult(
|
|
884
|
+
txId: FfiConverterString.read(from: &buf),
|
|
885
|
+
txHex: FfiConverterString.read(from: &buf)
|
|
886
|
+
)
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
public static func write(_ value: SignedTxResult, into buf: inout [UInt8]) {
|
|
890
|
+
FfiConverterString.write(value.txId, into: &buf)
|
|
891
|
+
FfiConverterString.write(value.txHex, into: &buf)
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
|
|
896
|
+
#if swift(>=5.8)
|
|
897
|
+
@_documentation(visibility: private)
|
|
898
|
+
#endif
|
|
899
|
+
public func FfiConverterTypeSignedTxResult_lift(_ buf: RustBuffer) throws -> SignedTxResult {
|
|
900
|
+
return try FfiConverterTypeSignedTxResult.lift(buf)
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
#if swift(>=5.8)
|
|
904
|
+
@_documentation(visibility: private)
|
|
905
|
+
#endif
|
|
906
|
+
public func FfiConverterTypeSignedTxResult_lower(_ value: SignedTxResult) -> RustBuffer {
|
|
907
|
+
return FfiConverterTypeSignedTxResult.lower(value)
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
|
|
673
911
|
public struct TransparentInput {
|
|
674
912
|
public var txid: String
|
|
675
913
|
public var vout: UInt32
|
|
@@ -1104,6 +1342,56 @@ fileprivate struct FfiConverterSequenceUInt8: FfiConverterRustBuffer {
|
|
|
1104
1342
|
}
|
|
1105
1343
|
}
|
|
1106
1344
|
|
|
1345
|
+
#if swift(>=5.8)
|
|
1346
|
+
@_documentation(visibility: private)
|
|
1347
|
+
#endif
|
|
1348
|
+
fileprivate struct FfiConverterSequenceTypeCardanoTxInput: FfiConverterRustBuffer {
|
|
1349
|
+
typealias SwiftType = [CardanoTxInput]
|
|
1350
|
+
|
|
1351
|
+
public static func write(_ value: [CardanoTxInput], into buf: inout [UInt8]) {
|
|
1352
|
+
let len = Int32(value.count)
|
|
1353
|
+
writeInt(&buf, len)
|
|
1354
|
+
for item in value {
|
|
1355
|
+
FfiConverterTypeCardanoTxInput.write(item, into: &buf)
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> [CardanoTxInput] {
|
|
1360
|
+
let len: Int32 = try readInt(&buf)
|
|
1361
|
+
var seq = [CardanoTxInput]()
|
|
1362
|
+
seq.reserveCapacity(Int(len))
|
|
1363
|
+
for _ in 0 ..< len {
|
|
1364
|
+
seq.append(try FfiConverterTypeCardanoTxInput.read(from: &buf))
|
|
1365
|
+
}
|
|
1366
|
+
return seq
|
|
1367
|
+
}
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
#if swift(>=5.8)
|
|
1371
|
+
@_documentation(visibility: private)
|
|
1372
|
+
#endif
|
|
1373
|
+
fileprivate struct FfiConverterSequenceTypeCardanoTxOutput: FfiConverterRustBuffer {
|
|
1374
|
+
typealias SwiftType = [CardanoTxOutput]
|
|
1375
|
+
|
|
1376
|
+
public static func write(_ value: [CardanoTxOutput], into buf: inout [UInt8]) {
|
|
1377
|
+
let len = Int32(value.count)
|
|
1378
|
+
writeInt(&buf, len)
|
|
1379
|
+
for item in value {
|
|
1380
|
+
FfiConverterTypeCardanoTxOutput.write(item, into: &buf)
|
|
1381
|
+
}
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> [CardanoTxOutput] {
|
|
1385
|
+
let len: Int32 = try readInt(&buf)
|
|
1386
|
+
var seq = [CardanoTxOutput]()
|
|
1387
|
+
seq.reserveCapacity(Int(len))
|
|
1388
|
+
for _ in 0 ..< len {
|
|
1389
|
+
seq.append(try FfiConverterTypeCardanoTxOutput.read(from: &buf))
|
|
1390
|
+
}
|
|
1391
|
+
return seq
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1107
1395
|
#if swift(>=5.8)
|
|
1108
1396
|
@_documentation(visibility: private)
|
|
1109
1397
|
#endif
|
|
@@ -1153,6 +1441,26 @@ fileprivate struct FfiConverterSequenceTypeTransparentOutput: FfiConverterRustBu
|
|
|
1153
1441
|
return seq
|
|
1154
1442
|
}
|
|
1155
1443
|
}
|
|
1444
|
+
public func assembleTransactionAda(rawTxHex: String, witnessSetHex: String)throws -> SignedTxResult {
|
|
1445
|
+
return try FfiConverterTypeSignedTxResult.lift(try rustCallWithError(FfiConverterTypeWalletError.lift) {
|
|
1446
|
+
uniffi_keystone_wallet_core_fn_func_assemble_transaction_ada(
|
|
1447
|
+
FfiConverterString.lower(rawTxHex),
|
|
1448
|
+
FfiConverterString.lower(witnessSetHex),$0
|
|
1449
|
+
)
|
|
1450
|
+
})
|
|
1451
|
+
}
|
|
1452
|
+
public func composeTransactionAda(inputs: [CardanoTxInput], outputs: [CardanoTxOutput], changeAddress: String, fee: UInt64, ttl: UInt64, network: CardanoNetwork)throws -> String {
|
|
1453
|
+
return try FfiConverterString.lift(try rustCallWithError(FfiConverterTypeWalletError.lift) {
|
|
1454
|
+
uniffi_keystone_wallet_core_fn_func_compose_transaction_ada(
|
|
1455
|
+
FfiConverterSequenceTypeCardanoTxInput.lower(inputs),
|
|
1456
|
+
FfiConverterSequenceTypeCardanoTxOutput.lower(outputs),
|
|
1457
|
+
FfiConverterString.lower(changeAddress),
|
|
1458
|
+
FfiConverterUInt64.lower(fee),
|
|
1459
|
+
FfiConverterUInt64.lower(ttl),
|
|
1460
|
+
FfiConverterTypeCardanoNetwork.lower(network),$0
|
|
1461
|
+
)
|
|
1462
|
+
})
|
|
1463
|
+
}
|
|
1156
1464
|
public func createPczt(consensusBranchId: UInt32, expiryHeight: UInt32, coinType: UInt32)throws -> Pczt {
|
|
1157
1465
|
return try FfiConverterTypePczt.lift(try rustCallWithError(FfiConverterTypePcztError.lift) {
|
|
1158
1466
|
uniffi_keystone_wallet_core_fn_func_create_pczt(
|
|
@@ -1205,18 +1513,9 @@ public func deriveStakeAddressAda(accountXpubHex: String, network: CardanoNetwor
|
|
|
1205
1513
|
)
|
|
1206
1514
|
})
|
|
1207
1515
|
}
|
|
1208
|
-
public func
|
|
1209
|
-
return try FfiConverterString.lift(try rustCallWithError(FfiConverterTypePcztError.lift) {
|
|
1210
|
-
uniffi_keystone_wallet_core_fn_func_extract_and_finalize_pczt(
|
|
1211
|
-
FfiConverterString.lower(pcztHex),
|
|
1212
|
-
FfiConverterUInt32.lower(expiryHeight),
|
|
1213
|
-
FfiConverterString.lower(privateKeyHex),$0
|
|
1214
|
-
)
|
|
1215
|
-
})
|
|
1216
|
-
}
|
|
1217
|
-
public func extractPcztTransaction(pcztHex: String)throws -> String {
|
|
1516
|
+
public func finalizeThenExtractPcztTransaction(pcztHex: String)throws -> String {
|
|
1218
1517
|
return try FfiConverterString.lift(try rustCallWithError(FfiConverterTypePcztError.lift) {
|
|
1219
|
-
|
|
1518
|
+
uniffi_keystone_wallet_core_fn_func_finalize_then_extract_pczt_transaction(
|
|
1220
1519
|
FfiConverterString.lower(pcztHex),$0
|
|
1221
1520
|
)
|
|
1222
1521
|
})
|
|
@@ -1242,6 +1541,12 @@ private var initializationResult: InitializationResult = {
|
|
|
1242
1541
|
if bindings_contract_version != scaffolding_contract_version {
|
|
1243
1542
|
return InitializationResult.contractVersionMismatch
|
|
1244
1543
|
}
|
|
1544
|
+
if (uniffi_keystone_wallet_core_checksum_func_assemble_transaction_ada() != 22105) {
|
|
1545
|
+
return InitializationResult.apiChecksumMismatch
|
|
1546
|
+
}
|
|
1547
|
+
if (uniffi_keystone_wallet_core_checksum_func_compose_transaction_ada() != 48909) {
|
|
1548
|
+
return InitializationResult.apiChecksumMismatch
|
|
1549
|
+
}
|
|
1245
1550
|
if (uniffi_keystone_wallet_core_checksum_func_create_pczt() != 11746) {
|
|
1246
1551
|
return InitializationResult.apiChecksumMismatch
|
|
1247
1552
|
}
|
|
@@ -1260,10 +1565,7 @@ private var initializationResult: InitializationResult = {
|
|
|
1260
1565
|
if (uniffi_keystone_wallet_core_checksum_func_derive_stake_address_ada() != 22900) {
|
|
1261
1566
|
return InitializationResult.apiChecksumMismatch
|
|
1262
1567
|
}
|
|
1263
|
-
if (
|
|
1264
|
-
return InitializationResult.apiChecksumMismatch
|
|
1265
|
-
}
|
|
1266
|
-
if (uniffi_keystone_wallet_core_checksum_func_extract_pczt_transaction() != 4075) {
|
|
1568
|
+
if (uniffi_keystone_wallet_core_checksum_func_finalize_then_extract_pczt_transaction() != 23392) {
|
|
1267
1569
|
return InitializationResult.apiChecksumMismatch
|
|
1268
1570
|
}
|
|
1269
1571
|
if (uniffi_keystone_wallet_core_checksum_func_hello() != 6912) {
|
package/lib/commonjs/index.js
CHANGED
|
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.CardanoNetwork = void 0;
|
|
7
|
+
exports.assembleTransactionAda = assembleTransactionAda;
|
|
8
|
+
exports.composeTransactionAda = composeTransactionAda;
|
|
7
9
|
exports.createTransparentPczt = createTransparentPczt;
|
|
8
10
|
exports.deriveAddressByPathAda = deriveAddressByPathAda;
|
|
9
11
|
exports.deriveEnterpriseAddressByPathAda = deriveEnterpriseAddressByPathAda;
|
|
10
12
|
exports.derivePubkeyByPathAda = derivePubkeyByPathAda;
|
|
11
13
|
exports.deriveStakeAddressAda = deriveStakeAddressAda;
|
|
12
|
-
exports.
|
|
14
|
+
exports.finalizeThenExtractPcztTransaction = finalizeThenExtractPcztTransaction;
|
|
13
15
|
var _reactNative = require("react-native");
|
|
14
16
|
const LINKING_ERROR = `The package 'react-native-keystone-wallet-core' doesn't seem to be linked. Make sure: \n\n` + (_reactNative.Platform.select({
|
|
15
17
|
ios: "- You have run 'pod install'\n",
|
|
@@ -23,8 +25,8 @@ const KeystoneWalletCoreModule = _reactNative.NativeModules.KeystoneWalletCoreMo
|
|
|
23
25
|
function createTransparentPczt(inputs, outputs, blockHeight) {
|
|
24
26
|
return KeystoneWalletCoreModule.createTransparentPczt(inputs, outputs, blockHeight);
|
|
25
27
|
}
|
|
26
|
-
function
|
|
27
|
-
return KeystoneWalletCoreModule.
|
|
28
|
+
function finalizeThenExtractPcztTransaction(pcztHex) {
|
|
29
|
+
return KeystoneWalletCoreModule.finalizeThenExtractPcztTransaction(pcztHex);
|
|
28
30
|
}
|
|
29
31
|
let CardanoNetwork = exports.CardanoNetwork = /*#__PURE__*/function (CardanoNetwork) {
|
|
30
32
|
CardanoNetwork["Mainnet"] = "Mainnet";
|
|
@@ -43,4 +45,10 @@ function deriveEnterpriseAddressByPathAda(accountXpubHex, path, network) {
|
|
|
43
45
|
function deriveStakeAddressAda(accountXpubHex, network) {
|
|
44
46
|
return KeystoneWalletCoreModule.deriveStakeAddressAda(accountXpubHex, network);
|
|
45
47
|
}
|
|
48
|
+
function composeTransactionAda(inputs, outputs, changeAddress, fee, ttl, network) {
|
|
49
|
+
return KeystoneWalletCoreModule.composeTransactionAda(inputs, outputs, changeAddress, fee, ttl, network);
|
|
50
|
+
}
|
|
51
|
+
function assembleTransactionAda(rawTxHex, witnessSetHex) {
|
|
52
|
+
return KeystoneWalletCoreModule.assembleTransactionAda(rawTxHex, witnessSetHex);
|
|
53
|
+
}
|
|
46
54
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","KeystoneWalletCoreModule","NativeModules","Proxy","get","Error","createTransparentPczt","inputs","outputs","blockHeight","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","KeystoneWalletCoreModule","NativeModules","Proxy","get","Error","createTransparentPczt","inputs","outputs","blockHeight","finalizeThenExtractPcztTransaction","pcztHex","CardanoNetwork","exports","derivePubkeyByPathAda","accountXpubHex","path","deriveAddressByPathAda","network","deriveEnterpriseAddressByPathAda","deriveStakeAddressAda","composeTransactionAda","changeAddress","fee","ttl","assembleTransactionAda","rawTxHex","witnessSetHex"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,4FAA4F,IAC3FC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAC/E,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,wBAAwB,GAAGC,0BAAa,CAACD,wBAAwB,GACnEC,0BAAa,CAACD,wBAAwB,GACtC,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAiBE,SAASU,qBAAqBA,CACnCC,MAA0B,EAC1BC,OAA4B,EAC5BC,WAAmB,EACF;EACjB,OAAOR,wBAAwB,CAACK,qBAAqB,CAACC,MAAM,EAAEC,OAAO,EAAEC,WAAW,CAAC;AACrF;AAEO,SAASC,kCAAkCA,CAACC,OAAe,EAAmB;EACnF,OAAOV,wBAAwB,CAACS,kCAAkC,CAACC,OAAO,CAAC;AAC7E;AAAC,IAOWC,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAKnB,SAASE,qBAAqBA,CACnCC,cAAsB,EACtBC,IAAY,EACU;EACtB,OAAOf,wBAAwB,CAACa,qBAAqB,CAACC,cAAc,EAAEC,IAAI,CAAC;AAC7E;AAEO,SAASC,sBAAsBA,CACpCF,cAAsB,EACtBC,IAAY,EACZE,OAAuB,EACN;EACjB,OAAOjB,wBAAwB,CAACgB,sBAAsB,CAACF,cAAc,EAAEC,IAAI,EAAEE,OAAO,CAAC;AACvF;AAEO,SAASC,gCAAgCA,CAC9CJ,cAAsB,EACtBC,IAAY,EACZE,OAAuB,EACN;EACjB,OAAOjB,wBAAwB,CAACkB,gCAAgC,CAACJ,cAAc,EAAEC,IAAI,EAAEE,OAAO,CAAC;AACjG;AAEO,SAASE,qBAAqBA,CACnCL,cAAsB,EACtBG,OAAuB,EACN;EACjB,OAAOjB,wBAAwB,CAACmB,qBAAqB,CAACL,cAAc,EAAEG,OAAO,CAAC;AAChF;AAcO,SAASG,qBAAqBA,CACnCd,MAAwB,EACxBC,OAA0B,EAC1Bc,aAAqB,EACrBC,GAAW,EACXC,GAAW,EACXN,OAAuB,EACN;EACjB,OAAOjB,wBAAwB,CAACoB,qBAAqB,CACnDd,MAAM,EACNC,OAAO,EACPc,aAAa,EACbC,GAAG,EACHC,GAAG,EACHN,OACF,CAAC;AACH;AAOO,SAASO,sBAAsBA,CACpCC,QAAgB,EAChBC,aAAqB,EACI;EACzB,OAAO1B,wBAAwB,CAACwB,sBAAsB,CAACC,QAAQ,EAAEC,aAAa,CAAC;AACjF","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -11,8 +11,8 @@ const KeystoneWalletCoreModule = NativeModules.KeystoneWalletCoreModule ? Native
|
|
|
11
11
|
export function createTransparentPczt(inputs, outputs, blockHeight) {
|
|
12
12
|
return KeystoneWalletCoreModule.createTransparentPczt(inputs, outputs, blockHeight);
|
|
13
13
|
}
|
|
14
|
-
export function
|
|
15
|
-
return KeystoneWalletCoreModule.
|
|
14
|
+
export function finalizeThenExtractPcztTransaction(pcztHex) {
|
|
15
|
+
return KeystoneWalletCoreModule.finalizeThenExtractPcztTransaction(pcztHex);
|
|
16
16
|
}
|
|
17
17
|
export let CardanoNetwork = /*#__PURE__*/function (CardanoNetwork) {
|
|
18
18
|
CardanoNetwork["Mainnet"] = "Mainnet";
|
|
@@ -31,4 +31,10 @@ export function deriveEnterpriseAddressByPathAda(accountXpubHex, path, network)
|
|
|
31
31
|
export function deriveStakeAddressAda(accountXpubHex, network) {
|
|
32
32
|
return KeystoneWalletCoreModule.deriveStakeAddressAda(accountXpubHex, network);
|
|
33
33
|
}
|
|
34
|
+
export function composeTransactionAda(inputs, outputs, changeAddress, fee, ttl, network) {
|
|
35
|
+
return KeystoneWalletCoreModule.composeTransactionAda(inputs, outputs, changeAddress, fee, ttl, network);
|
|
36
|
+
}
|
|
37
|
+
export function assembleTransactionAda(rawTxHex, witnessSetHex) {
|
|
38
|
+
return KeystoneWalletCoreModule.assembleTransactionAda(rawTxHex, witnessSetHex);
|
|
39
|
+
}
|
|
34
40
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","KeystoneWalletCoreModule","Proxy","get","Error","createTransparentPczt","inputs","outputs","blockHeight","
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","KeystoneWalletCoreModule","Proxy","get","Error","createTransparentPczt","inputs","outputs","blockHeight","finalizeThenExtractPcztTransaction","pcztHex","CardanoNetwork","derivePubkeyByPathAda","accountXpubHex","path","deriveAddressByPathAda","network","deriveEnterpriseAddressByPathAda","deriveStakeAddressAda","composeTransactionAda","changeAddress","fee","ttl","assembleTransactionAda","rawTxHex","witnessSetHex"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,4FAA4F,IAC3FD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAC/E,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,wBAAwB,GAAGN,aAAa,CAACM,wBAAwB,GACnEN,aAAa,CAACM,wBAAwB,GACtC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAiBL,OAAO,SAASQ,qBAAqBA,CACnCC,MAA0B,EAC1BC,OAA4B,EAC5BC,WAAmB,EACF;EACjB,OAAOP,wBAAwB,CAACI,qBAAqB,CAACC,MAAM,EAAEC,OAAO,EAAEC,WAAW,CAAC;AACrF;AAEA,OAAO,SAASC,kCAAkCA,CAACC,OAAe,EAAmB;EACnF,OAAOT,wBAAwB,CAACQ,kCAAkC,CAACC,OAAO,CAAC;AAC7E;AAOA,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAK1B,OAAO,SAASC,qBAAqBA,CACnCC,cAAsB,EACtBC,IAAY,EACU;EACtB,OAAOb,wBAAwB,CAACW,qBAAqB,CAACC,cAAc,EAAEC,IAAI,CAAC;AAC7E;AAEA,OAAO,SAASC,sBAAsBA,CACpCF,cAAsB,EACtBC,IAAY,EACZE,OAAuB,EACN;EACjB,OAAOf,wBAAwB,CAACc,sBAAsB,CAACF,cAAc,EAAEC,IAAI,EAAEE,OAAO,CAAC;AACvF;AAEA,OAAO,SAASC,gCAAgCA,CAC9CJ,cAAsB,EACtBC,IAAY,EACZE,OAAuB,EACN;EACjB,OAAOf,wBAAwB,CAACgB,gCAAgC,CAACJ,cAAc,EAAEC,IAAI,EAAEE,OAAO,CAAC;AACjG;AAEA,OAAO,SAASE,qBAAqBA,CACnCL,cAAsB,EACtBG,OAAuB,EACN;EACjB,OAAOf,wBAAwB,CAACiB,qBAAqB,CAACL,cAAc,EAAEG,OAAO,CAAC;AAChF;AAcA,OAAO,SAASG,qBAAqBA,CACnCb,MAAwB,EACxBC,OAA0B,EAC1Ba,aAAqB,EACrBC,GAAW,EACXC,GAAW,EACXN,OAAuB,EACN;EACjB,OAAOf,wBAAwB,CAACkB,qBAAqB,CACnDb,MAAM,EACNC,OAAO,EACPa,aAAa,EACbC,GAAG,EACHC,GAAG,EACHN,OACF,CAAC;AACH;AAOA,OAAO,SAASO,sBAAsBA,CACpCC,QAAgB,EAChBC,aAAqB,EACI;EACzB,OAAOxB,wBAAwB,CAACsB,sBAAsB,CAACC,QAAQ,EAAEC,aAAa,CAAC;AACjF","ignoreList":[]}
|
|
@@ -12,7 +12,7 @@ export interface TransparentOutput {
|
|
|
12
12
|
amount: number;
|
|
13
13
|
}
|
|
14
14
|
export declare function createTransparentPczt(inputs: TransparentInput[], outputs: TransparentOutput[], blockHeight: number): Promise<string>;
|
|
15
|
-
export declare function
|
|
15
|
+
export declare function finalizeThenExtractPcztTransaction(pcztHex: string): Promise<string>;
|
|
16
16
|
export interface DerivedKeys {
|
|
17
17
|
paymentPubkeyHex: string;
|
|
18
18
|
stakePubkeyHex: string;
|
|
@@ -25,4 +25,20 @@ export declare function derivePubkeyByPathAda(accountXpubHex: string, path: stri
|
|
|
25
25
|
export declare function deriveAddressByPathAda(accountXpubHex: string, path: string, network: CardanoNetwork): Promise<string>;
|
|
26
26
|
export declare function deriveEnterpriseAddressByPathAda(accountXpubHex: string, path: string, network: CardanoNetwork): Promise<string>;
|
|
27
27
|
export declare function deriveStakeAddressAda(accountXpubHex: string, network: CardanoNetwork): Promise<string>;
|
|
28
|
+
export interface CardanoTxInput {
|
|
29
|
+
txHash: string;
|
|
30
|
+
txIndex: number;
|
|
31
|
+
amount: number;
|
|
32
|
+
}
|
|
33
|
+
export interface CardanoTxOutput {
|
|
34
|
+
address: string;
|
|
35
|
+
amount: number;
|
|
36
|
+
isChange: boolean;
|
|
37
|
+
}
|
|
38
|
+
export declare function composeTransactionAda(inputs: CardanoTxInput[], outputs: CardanoTxOutput[], changeAddress: string, fee: number, ttl: number, network: CardanoNetwork): Promise<string>;
|
|
39
|
+
export interface SignedTxResult {
|
|
40
|
+
txId: string;
|
|
41
|
+
txHex: string;
|
|
42
|
+
}
|
|
43
|
+
export declare function assembleTransactionAda(rawTxHex: string, witnessSetHex: string): Promise<SignedTxResult>;
|
|
28
44
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,OAAO,EAAE,iBAAiB,EAAE,EAC5B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEnF;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC,CAEtB;AAED,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,gCAAgC,CAC9C,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EAAE,EACxB,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,CAAC,CAEzB"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -40,8 +40,8 @@ export function createTransparentPczt(
|
|
|
40
40
|
return KeystoneWalletCoreModule.createTransparentPczt(inputs, outputs, blockHeight);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
export function
|
|
44
|
-
return KeystoneWalletCoreModule.
|
|
43
|
+
export function finalizeThenExtractPcztTransaction(pcztHex: string): Promise<string> {
|
|
44
|
+
return KeystoneWalletCoreModule.finalizeThenExtractPcztTransaction(pcztHex);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export interface DerivedKeys {
|
|
@@ -84,3 +84,45 @@ export function deriveStakeAddressAda(
|
|
|
84
84
|
return KeystoneWalletCoreModule.deriveStakeAddressAda(accountXpubHex, network);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
export interface CardanoTxInput {
|
|
88
|
+
txHash: string;
|
|
89
|
+
txIndex: number;
|
|
90
|
+
amount: number;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface CardanoTxOutput {
|
|
94
|
+
address: string;
|
|
95
|
+
amount: number;
|
|
96
|
+
isChange: boolean;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export function composeTransactionAda(
|
|
100
|
+
inputs: CardanoTxInput[],
|
|
101
|
+
outputs: CardanoTxOutput[],
|
|
102
|
+
changeAddress: string,
|
|
103
|
+
fee: number,
|
|
104
|
+
ttl: number,
|
|
105
|
+
network: CardanoNetwork
|
|
106
|
+
): Promise<string> {
|
|
107
|
+
return KeystoneWalletCoreModule.composeTransactionAda(
|
|
108
|
+
inputs,
|
|
109
|
+
outputs,
|
|
110
|
+
changeAddress,
|
|
111
|
+
fee,
|
|
112
|
+
ttl,
|
|
113
|
+
network
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export interface SignedTxResult {
|
|
118
|
+
txId: string;
|
|
119
|
+
txHex: string;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export function assembleTransactionAda(
|
|
123
|
+
rawTxHex: string,
|
|
124
|
+
witnessSetHex: string
|
|
125
|
+
): Promise<SignedTxResult> {
|
|
126
|
+
return KeystoneWalletCoreModule.assembleTransactionAda(rawTxHex, witnessSetHex);
|
|
127
|
+
}
|
|
128
|
+
|