From ae12b6ce3002794fe0caa5416e412b7bba8714d5 Mon Sep 17 00:00:00 2001 From: lisicky Date: Fri, 11 Oct 2024 17:10:55 +0800 Subject: [PATCH] Update dependencies to cardano-serialization-lib version 13.0.0 and regenerate code --- .../HaskellShelleyModule.java | 109 ++++++---- .../io/emurgo/rnhaskellshelley/Native.java | 24 ++- index.d.ts | 105 ++++++---- index.js | 117 +++++++---- ios/HaskellShelley.m | 193 +++++++++++------- package.json | 4 +- rust/Cargo.lock | 6 +- rust/Cargo.toml | 4 +- rust/src/android/bridge.rs | 192 ++++++++++------- rust/src/enum_maps.rs | 42 ++++ rust/src/ios/bridge.rs | 165 +++++++++------ 11 files changed, 625 insertions(+), 336 deletions(-) diff --git a/android/src/main/java/io/emurgo/rnhaskellshelley/HaskellShelleyModule.java b/android/src/main/java/io/emurgo/rnhaskellshelley/HaskellShelleyModule.java index a5c3b89..a45641b 100644 --- a/android/src/main/java/io/emurgo/rnhaskellshelley/HaskellShelleyModule.java +++ b/android/src/main/java/io/emurgo/rnhaskellshelley/HaskellShelleyModule.java @@ -1530,9 +1530,9 @@ public final void csl_bridge_bootstrapWitnessesGet(String self, Double index, Pr } @ReactMethod - public final void csl_bridge_bootstrapWitnessesAdd(String self, String elem, Promise promise) { + public final void csl_bridge_bootstrapWitnessesAdd(String self, String witness, Promise promise) { Native.I - .csl_bridge_bootstrapWitnessesAdd(new RPtr(self), new RPtr(elem)) + .csl_bridge_bootstrapWitnessesAdd(new RPtr(self), new RPtr(witness)) .pour(promise); } @@ -2908,9 +2908,9 @@ public final void csl_bridge_credentialsGet(String self, Double index, Promise p } @ReactMethod - public final void csl_bridge_credentialsAdd(String self, String elem, Promise promise) { + public final void csl_bridge_credentialsAdd(String self, String credential, Promise promise) { Native.I - .csl_bridge_credentialsAdd(new RPtr(self), new RPtr(elem)) + .csl_bridge_credentialsAdd(new RPtr(self), new RPtr(credential)) .pour(promise); } @@ -3826,9 +3826,9 @@ public final void csl_bridge_ed25519KeyHashesGet(String self, Double index, Prom } @ReactMethod - public final void csl_bridge_ed25519KeyHashesAdd(String self, String elem, Promise promise) { + public final void csl_bridge_ed25519KeyHashesAdd(String self, String keyhash, Promise promise) { Native.I - .csl_bridge_ed25519KeyHashesAdd(new RPtr(self), new RPtr(elem)) + .csl_bridge_ed25519KeyHashesAdd(new RPtr(self), new RPtr(keyhash)) .pour(promise); } @@ -4189,6 +4189,14 @@ public final void csl_bridge_fixedTransactionNewWithAuxiliary(String rawBody, St .pour(promise); } + @ReactMethod + public final void csl_bridge_fixedTransactionNewFromBodyBytes(String rawBody, Promise promise) { + Native.I + .csl_bridge_fixedTransactionNewFromBodyBytes(Base64.decode(rawBody, Base64.DEFAULT)) + .map(RPtr::toJs) + .pour(promise); + } + @ReactMethod public final void csl_bridge_fixedTransactionBody(String self, Promise promise) { Native.I @@ -7869,64 +7877,64 @@ public final void csl_bridge_plutusDataFromAddress(String address, Promise promi @ReactMethod - public final void csl_bridge_plutusListToBytes(String self, Promise promise) { + public final void csl_bridge_plutusListNew( Promise promise) { Native.I - .csl_bridge_plutusListToBytes(new RPtr(self)) - .map(bytes -> Base64.encodeToString(bytes, Base64.DEFAULT)) + .csl_bridge_plutusListNew() + .map(RPtr::toJs) .pour(promise); } @ReactMethod - public final void csl_bridge_plutusListFromBytes(String bytes, Promise promise) { + public final void csl_bridge_plutusListLen(String self, Promise promise) { Native.I - .csl_bridge_plutusListFromBytes(Base64.decode(bytes, Base64.DEFAULT)) - .map(RPtr::toJs) + .csl_bridge_plutusListLen(new RPtr(self)) + .map(Utils::boxedLongToDouble) .pour(promise); } @ReactMethod - public final void csl_bridge_plutusListToHex(String self, Promise promise) { + public final void csl_bridge_plutusListGet(String self, Double index, Promise promise) { Native.I - .csl_bridge_plutusListToHex(new RPtr(self)) + .csl_bridge_plutusListGet(new RPtr(self), index.longValue()) + .map(RPtr::toJs) .pour(promise); } @ReactMethod - public final void csl_bridge_plutusListFromHex(String hexStr, Promise promise) { + public final void csl_bridge_plutusListAdd(String self, String elem, Promise promise) { Native.I - .csl_bridge_plutusListFromHex(hexStr) - .map(RPtr::toJs) + .csl_bridge_plutusListAdd(new RPtr(self), new RPtr(elem)) .pour(promise); } @ReactMethod - public final void csl_bridge_plutusListNew( Promise promise) { + public final void csl_bridge_plutusListToBytes(String self, Promise promise) { Native.I - .csl_bridge_plutusListNew() - .map(RPtr::toJs) + .csl_bridge_plutusListToBytes(new RPtr(self)) + .map(bytes -> Base64.encodeToString(bytes, Base64.DEFAULT)) .pour(promise); } @ReactMethod - public final void csl_bridge_plutusListLen(String self, Promise promise) { + public final void csl_bridge_plutusListFromBytes(String bytes, Promise promise) { Native.I - .csl_bridge_plutusListLen(new RPtr(self)) - .map(Utils::boxedLongToDouble) + .csl_bridge_plutusListFromBytes(Base64.decode(bytes, Base64.DEFAULT)) + .map(RPtr::toJs) .pour(promise); } @ReactMethod - public final void csl_bridge_plutusListGet(String self, Double index, Promise promise) { + public final void csl_bridge_plutusListToHex(String self, Promise promise) { Native.I - .csl_bridge_plutusListGet(new RPtr(self), index.longValue()) - .map(RPtr::toJs) + .csl_bridge_plutusListToHex(new RPtr(self)) .pour(promise); } @ReactMethod - public final void csl_bridge_plutusListAdd(String self, String elem, Promise promise) { + public final void csl_bridge_plutusListFromHex(String hexStr, Promise promise) { Native.I - .csl_bridge_plutusListAdd(new RPtr(self), new RPtr(elem)) + .csl_bridge_plutusListFromHex(hexStr) + .map(RPtr::toJs) .pour(promise); } @@ -10092,6 +10100,13 @@ public final void csl_bridge_redeemersAdd(String self, String elem, Promise prom .pour(promise); } + @ReactMethod + public final void csl_bridge_redeemersGetContainerType(String self, Promise promise) { + Native.I + .csl_bridge_redeemersGetContainerType(new RPtr(self)) + .pour(promise); + } + @ReactMethod public final void csl_bridge_redeemersTotalExUnits(String self, Promise promise) { Native.I @@ -13351,9 +13366,9 @@ public final void csl_bridge_transactionInputsGet(String self, Double index, Pro } @ReactMethod - public final void csl_bridge_transactionInputsAdd(String self, String elem, Promise promise) { + public final void csl_bridge_transactionInputsAdd(String self, String input, Promise promise) { Native.I - .csl_bridge_transactionInputsAdd(new RPtr(self), new RPtr(elem)) + .csl_bridge_transactionInputsAdd(new RPtr(self), new RPtr(input)) .pour(promise); } @@ -15392,9 +15407,9 @@ public final void csl_bridge_vkeywitnessesGet(String self, Double index, Promise } @ReactMethod - public final void csl_bridge_vkeywitnessesAdd(String self, String elem, Promise promise) { + public final void csl_bridge_vkeywitnessesAdd(String self, String witness, Promise promise) { Native.I - .csl_bridge_vkeywitnessesAdd(new RPtr(self), new RPtr(elem)) + .csl_bridge_vkeywitnessesAdd(new RPtr(self), new RPtr(witness)) .pour(promise); } @@ -16178,6 +16193,21 @@ public final void csl_bridge_votingProposalsAdd(String self, String proposal, Pr .pour(promise); } + @ReactMethod + public final void csl_bridge_votingProposalsContains(String self, String elem, Promise promise) { + Native.I + .csl_bridge_votingProposalsContains(new RPtr(self), new RPtr(elem)) + .pour(promise); + } + + @ReactMethod + public final void csl_bridge_votingProposalsToOption(String self, Promise promise) { + Native.I + .csl_bridge_votingProposalsToOption(new RPtr(self)) + .map(RPtr::toJs) + .pour(promise); + } + @ReactMethod public final void csl_bridge_withdrawalsToBytes(String self, Promise promise) { @@ -16443,6 +16473,13 @@ public final void csl_bridge_getImplicitInput(String txbody, String poolDeposit, .pour(promise); } + @ReactMethod + public final void csl_bridge_hasTransactionSetTag(String txBytes, Promise promise) { + Native.I + .csl_bridge_hasTransactionSetTag(Base64.decode(txBytes, Base64.DEFAULT)) + .pour(promise); + } + @ReactMethod public final void csl_bridge_hashAuxiliaryData(String auxiliaryData, Promise promise) { Native.I @@ -16476,14 +16513,6 @@ public final void csl_bridge_hashScriptDataWithDatums(String redeemers, String c } - @ReactMethod - public final void csl_bridge_hashTransaction(String txBody, Promise promise) { - Native.I - .csl_bridge_hashTransaction(new RPtr(txBody)) - .map(RPtr::toJs) - .pour(promise); - } - @ReactMethod public final void csl_bridge_makeDaedalusBootstrapWitness(String txBodyHash, String addr, String key, Promise promise) { Native.I diff --git a/android/src/main/java/io/emurgo/rnhaskellshelley/Native.java b/android/src/main/java/io/emurgo/rnhaskellshelley/Native.java index 3d3cd12..51f4f3a 100644 --- a/android/src/main/java/io/emurgo/rnhaskellshelley/Native.java +++ b/android/src/main/java/io/emurgo/rnhaskellshelley/Native.java @@ -224,7 +224,7 @@ private Native() { } public final native Result csl_bridge_bootstrapWitnessesNew(); public final native Result csl_bridge_bootstrapWitnessesLen(RPtr self); public final native Result csl_bridge_bootstrapWitnessesGet(RPtr self, long index); - public final native Result csl_bridge_bootstrapWitnessesAdd(RPtr self, RPtr elem); + public final native Result csl_bridge_bootstrapWitnessesAdd(RPtr self, RPtr witness); public final native Result csl_bridge_byronAddressToBase58(RPtr self); public final native Result csl_bridge_byronAddressToBytes(RPtr self); @@ -413,7 +413,7 @@ private Native() { } public final native Result csl_bridge_credentialsNew(); public final native Result csl_bridge_credentialsLen(RPtr self); public final native Result csl_bridge_credentialsGet(RPtr self, long index); - public final native Result csl_bridge_credentialsAdd(RPtr self, RPtr elem); + public final native Result csl_bridge_credentialsAdd(RPtr self, RPtr credential); public final native Result csl_bridge_dNSRecordAorAAAAToBytes(RPtr self); public final native Result csl_bridge_dNSRecordAorAAAAFromBytes(byte[] bytes); @@ -543,7 +543,7 @@ private Native() { } public final native Result csl_bridge_ed25519KeyHashesNew(); public final native Result csl_bridge_ed25519KeyHashesLen(RPtr self); public final native Result csl_bridge_ed25519KeyHashesGet(RPtr self, long index); - public final native Result csl_bridge_ed25519KeyHashesAdd(RPtr self, RPtr elem); + public final native Result csl_bridge_ed25519KeyHashesAdd(RPtr self, RPtr keyhash); public final native Result csl_bridge_ed25519KeyHashesContains(RPtr self, RPtr elem); public final native Result csl_bridge_ed25519KeyHashesToOption(RPtr self); @@ -595,6 +595,7 @@ private Native() { } public final native Result csl_bridge_fixedTransactionFromHex(String hexStr); public final native Result csl_bridge_fixedTransactionNew(byte[] rawBody, byte[] rawWitnessSet, boolean isValid); public final native Result csl_bridge_fixedTransactionNewWithAuxiliary(byte[] rawBody, byte[] rawWitnessSet, byte[] rawAuxiliaryData, boolean isValid); + public final native Result csl_bridge_fixedTransactionNewFromBodyBytes(byte[] rawBody); public final native Result csl_bridge_fixedTransactionBody(RPtr self); public final native Result csl_bridge_fixedTransactionRawBody(RPtr self); public final native Result csl_bridge_fixedTransactionSetBody(RPtr self, byte[] rawBody); @@ -1114,14 +1115,14 @@ private Native() { } public final native Result csl_bridge_plutusDataFromJson(String json, int schema); public final native Result csl_bridge_plutusDataFromAddress(RPtr address); - public final native Result csl_bridge_plutusListToBytes(RPtr self); - public final native Result csl_bridge_plutusListFromBytes(byte[] bytes); - public final native Result csl_bridge_plutusListToHex(RPtr self); - public final native Result csl_bridge_plutusListFromHex(String hexStr); public final native Result csl_bridge_plutusListNew(); public final native Result csl_bridge_plutusListLen(RPtr self); public final native Result csl_bridge_plutusListGet(RPtr self, long index); public final native Result csl_bridge_plutusListAdd(RPtr self, RPtr elem); + public final native Result csl_bridge_plutusListToBytes(RPtr self); + public final native Result csl_bridge_plutusListFromBytes(byte[] bytes); + public final native Result csl_bridge_plutusListToHex(RPtr self); + public final native Result csl_bridge_plutusListFromHex(String hexStr); public final native Result csl_bridge_plutusMapToBytes(RPtr self); public final native Result csl_bridge_plutusMapFromBytes(byte[] bytes); @@ -1423,6 +1424,7 @@ private Native() { } public final native Result csl_bridge_redeemersLen(RPtr self); public final native Result csl_bridge_redeemersGet(RPtr self, long index); public final native Result csl_bridge_redeemersAdd(RPtr self, RPtr elem); + public final native Result csl_bridge_redeemersGetContainerType(RPtr self); public final native Result csl_bridge_redeemersTotalExUnits(RPtr self); public final native Result csl_bridge_relayToBytes(RPtr self); @@ -1882,7 +1884,7 @@ private Native() { } public final native Result csl_bridge_transactionInputsNew(); public final native Result csl_bridge_transactionInputsLen(RPtr self); public final native Result csl_bridge_transactionInputsGet(RPtr self, long index); - public final native Result csl_bridge_transactionInputsAdd(RPtr self, RPtr elem); + public final native Result csl_bridge_transactionInputsAdd(RPtr self, RPtr input); public final native Result csl_bridge_transactionInputsToOption(RPtr self); public final native Result csl_bridge_transactionMetadatumToBytes(RPtr self); @@ -2170,7 +2172,7 @@ private Native() { } public final native Result csl_bridge_vkeywitnessesNew(); public final native Result csl_bridge_vkeywitnessesLen(RPtr self); public final native Result csl_bridge_vkeywitnessesGet(RPtr self, long index); - public final native Result csl_bridge_vkeywitnessesAdd(RPtr self, RPtr elem); + public final native Result csl_bridge_vkeywitnessesAdd(RPtr self, RPtr witness); public final native Result csl_bridge_voteDelegationToBytes(RPtr self); public final native Result csl_bridge_voteDelegationFromBytes(byte[] bytes); @@ -2281,6 +2283,8 @@ private Native() { } public final native Result csl_bridge_votingProposalsLen(RPtr self); public final native Result csl_bridge_votingProposalsGet(RPtr self, long index); public final native Result csl_bridge_votingProposalsAdd(RPtr self, RPtr proposal); + public final native Result csl_bridge_votingProposalsContains(RPtr self, RPtr elem); + public final native Result csl_bridge_votingProposalsToOption(RPtr self); public final native Result csl_bridge_withdrawalsToBytes(RPtr self); public final native Result csl_bridge_withdrawalsFromBytes(byte[] bytes); @@ -2318,12 +2322,12 @@ private Native() { } public final native Result csl_bridge_encryptWithPassword(String password, String salt, String nonce, String data); public final native Result csl_bridge_getDeposit(RPtr txbody, RPtr poolDeposit, RPtr keyDeposit); public final native Result csl_bridge_getImplicitInput(RPtr txbody, RPtr poolDeposit, RPtr keyDeposit); + public final native Result csl_bridge_hasTransactionSetTag(byte[] txBytes); public final native Result csl_bridge_hashAuxiliaryData(RPtr auxiliaryData); public final native Result csl_bridge_hashPlutusData(RPtr plutusData); public final native Result csl_bridge_hashScriptData(RPtr redeemers, RPtr costModels); public final native Result csl_bridge_hashScriptDataWithDatums(RPtr redeemers, RPtr costModels, RPtr datums); - public final native Result csl_bridge_hashTransaction(RPtr txBody); public final native Result csl_bridge_makeDaedalusBootstrapWitness(RPtr txBodyHash, RPtr addr, RPtr key); public final native Result csl_bridge_makeIcarusBootstrapWitness(RPtr txBodyHash, RPtr addr, RPtr key); public final native Result csl_bridge_makeVkeyWitness(RPtr txBodyHash, RPtr sk); diff --git a/index.d.ts b/index.d.ts index 46068cd..84085f3 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1127,10 +1127,10 @@ export class BootstrapWitnesses extends Ptr { get: (index: number) => Promise; /** - * @param {BootstrapWitness} elem + * @param {BootstrapWitness} witness * @returns {Promise} */ - add: (elem: BootstrapWitness) => Promise; + add: (witness: BootstrapWitness) => Promise; } @@ -2154,10 +2154,10 @@ export class Credentials extends Ptr { get: (index: number) => Promise; /** - * @param {Credential} elem + * @param {Credential} credential * @returns {Promise} */ - add: (elem: Credential) => Promise; + add: (credential: Credential) => Promise; } @@ -2855,10 +2855,10 @@ export class Ed25519KeyHashes extends Ptr { get: (index: number) => Promise; /** - * @param {Ed25519KeyHash} elem + * @param {Ed25519KeyHash} keyhash * @returns {Promise} */ - add: (elem: Ed25519KeyHash) => Promise; + add: (keyhash: Ed25519KeyHash) => Promise; /** * @param {Ed25519KeyHash} elem @@ -3137,6 +3137,12 @@ export class FixedTransaction extends Ptr { */ static new_with_auxiliary: (raw_body: Uint8Array, raw_witness_set: Uint8Array, raw_auxiliary_data: Uint8Array, is_valid: boolean) => Promise; + /** + * @param {Uint8Array} raw_body + * @returns {Promise} + */ + static new_from_body_bytes: (raw_body: Uint8Array) => Promise; + /** * @returns {Promise} */ @@ -5923,47 +5929,47 @@ export class PlutusData extends Ptr { export class PlutusList extends Ptr { /** - * @returns {Promise} + * @returns {Promise} */ - to_bytes: () => Promise; + static new: () => Promise; /** - * @param {Uint8Array} bytes - * @returns {Promise} + * @returns {Promise} */ - static from_bytes: (bytes: Uint8Array) => Promise; + len: () => Promise; /** - * @returns {Promise} + * @param {number} index + * @returns {Promise} */ - to_hex: () => Promise; + get: (index: number) => Promise; /** - * @param {string} hex_str - * @returns {Promise} + * @param {PlutusData} elem */ - static from_hex: (hex_str: string) => Promise; + add: (elem: PlutusData) => Promise; /** - * @returns {Promise} + * @returns {Promise} */ - static new: () => Promise; + to_bytes: () => Promise; /** - * @returns {Promise} + * @param {Uint8Array} bytes + * @returns {Promise} */ - len: () => Promise; + static from_bytes: (bytes: Uint8Array) => Promise; /** - * @param {number} index - * @returns {Promise} + * @returns {Promise} */ - get: (index: number) => Promise; + to_hex: () => Promise; /** - * @param {PlutusData} elem + * @param {string} hex_str + * @returns {Promise} */ - add: (elem: PlutusData) => Promise; + static from_hex: (hex_str: string) => Promise; } @@ -7562,6 +7568,11 @@ export class Redeemers extends Ptr { */ add: (elem: Redeemer) => Promise; + /** + * @returns {Promise} + */ + get_container_type: () => Promise; + /** * @returns {Promise} */ @@ -9957,10 +9968,10 @@ export class TransactionInputs extends Ptr { get: (index: number) => Promise; /** - * @param {TransactionInput} elem + * @param {TransactionInput} input * @returns {Promise} */ - add: (elem: TransactionInput) => Promise; + add: (input: TransactionInput) => Promise; /** * @returns {Promise>} @@ -11499,10 +11510,10 @@ export class Vkeywitnesses extends Ptr { get: (index: number) => Promise; /** - * @param {Vkeywitness} elem + * @param {Vkeywitness} witness * @returns {Promise} */ - add: (elem: Vkeywitness) => Promise; + add: (witness: Vkeywitness) => Promise; } @@ -12103,6 +12114,17 @@ export class VotingProposals extends Ptr { */ add: (proposal: VotingProposal) => Promise; + /** + * @param {VotingProposal} elem + * @returns {Promise} + */ + contains: (elem: VotingProposal) => Promise; + + /** + * @returns {Promise>} + */ + to_option: () => Promise>; + } @@ -12328,6 +12350,12 @@ export const get_deposit: (txbody: TransactionBody, pool_deposit: BigNum, key_de */ export const get_implicit_input: (txbody: TransactionBody, pool_deposit: BigNum, key_deposit: BigNum) => Promise; +/** +* @param {Uint8Array} tx_bytes +* @returns {Promise} +*/ +export const has_transaction_set_tag: (tx_bytes: Uint8Array) => Promise; + /** * @param {AuxiliaryData} auxiliary_data * @returns {Promise} @@ -12348,12 +12376,6 @@ export const hash_plutus_data: (plutus_data: PlutusData) => Promise; */ export const hash_script_data: (redeemers: Redeemers, cost_models: Costmdls, datums: Optional) => Promise; -/** -* @param {TransactionBody} tx_body -* @returns {Promise} -*/ -export const hash_transaction: (tx_body: TransactionBody) => Promise; - /** * @param {TransactionHash} tx_body_hash * @param {ByronAddress} addr @@ -12433,6 +12455,12 @@ export enum CborContainerType { } +export enum CborSetType { + Tagged = 0, + Untagged = 1, +} + + export enum CertificateKind { StakeRegistration = 0, StakeDeregistration = 1, @@ -12584,6 +12612,13 @@ export enum TransactionMetadatumKind { } +export enum TransactionSetsState { + AllSetsHaveTag = 0, + AllSetsHaveNoTag = 1, + MixedSets = 2, +} + + export enum VoteKind { No = 0, Yes = 1, diff --git a/index.js b/index.js index 9c30d80..d8a2b4d 100644 --- a/index.js +++ b/index.js @@ -1148,9 +1148,9 @@ export class BootstrapWitnesses extends Ptr { return Ptr._wrap(ret, BootstrapWitness); } - async add(elem) { - const elemPtr = Ptr._assertClass(elem, BootstrapWitness); - const ret = await HaskellShelley.csl_bridge_bootstrapWitnessesAdd(this.ptr, elemPtr); + async add(witness) { + const witnessPtr = Ptr._assertClass(witness, BootstrapWitness); + const ret = await HaskellShelley.csl_bridge_bootstrapWitnessesAdd(this.ptr, witnessPtr); return ret; } @@ -2135,9 +2135,9 @@ export class Credentials extends Ptr { return Ptr._wrap(ret, Credential); } - async add(elem) { - const elemPtr = Ptr._assertClass(elem, Credential); - const ret = await HaskellShelley.csl_bridge_credentialsAdd(this.ptr, elemPtr); + async add(credential) { + const credentialPtr = Ptr._assertClass(credential, Credential); + const ret = await HaskellShelley.csl_bridge_credentialsAdd(this.ptr, credentialPtr); return ret; } @@ -2810,9 +2810,9 @@ export class Ed25519KeyHashes extends Ptr { return Ptr._wrap(ret, Ed25519KeyHash); } - async add(elem) { - const elemPtr = Ptr._assertClass(elem, Ed25519KeyHash); - const ret = await HaskellShelley.csl_bridge_ed25519KeyHashesAdd(this.ptr, elemPtr); + async add(keyhash) { + const keyhashPtr = Ptr._assertClass(keyhash, Ed25519KeyHash); + const ret = await HaskellShelley.csl_bridge_ed25519KeyHashesAdd(this.ptr, keyhashPtr); return ret; } @@ -3072,6 +3072,11 @@ export class FixedTransaction extends Ptr { return Ptr._wrap(ret, FixedTransaction); } + static async new_from_body_bytes(raw_body) { + const ret = await HaskellShelley.csl_bridge_fixedTransactionNewFromBodyBytes(b64FromUint8Array(raw_body)); + return Ptr._wrap(ret, FixedTransaction); + } + async body() { const ret = await HaskellShelley.csl_bridge_fixedTransactionBody(this.ptr); return Ptr._wrap(ret, TransactionBody); @@ -5738,26 +5743,6 @@ export class PlutusData extends Ptr { export class PlutusList extends Ptr { - async to_bytes() { - const ret = await HaskellShelley.csl_bridge_plutusListToBytes(this.ptr); - return uint8ArrayFromB64(ret); - } - - static async from_bytes(bytes) { - const ret = await HaskellShelley.csl_bridge_plutusListFromBytes(b64FromUint8Array(bytes)); - return Ptr._wrap(ret, PlutusList); - } - - async to_hex() { - const ret = await HaskellShelley.csl_bridge_plutusListToHex(this.ptr); - return ret; - } - - static async from_hex(hex_str) { - const ret = await HaskellShelley.csl_bridge_plutusListFromHex(hex_str); - return Ptr._wrap(ret, PlutusList); - } - static async new() { const ret = await HaskellShelley.csl_bridge_plutusListNew(); return Ptr._wrap(ret, PlutusList); @@ -5779,6 +5764,26 @@ export class PlutusList extends Ptr { return ret; } + async to_bytes() { + const ret = await HaskellShelley.csl_bridge_plutusListToBytes(this.ptr); + return uint8ArrayFromB64(ret); + } + + static async from_bytes(bytes) { + const ret = await HaskellShelley.csl_bridge_plutusListFromBytes(b64FromUint8Array(bytes)); + return Ptr._wrap(ret, PlutusList); + } + + async to_hex() { + const ret = await HaskellShelley.csl_bridge_plutusListToHex(this.ptr); + return ret; + } + + static async from_hex(hex_str) { + const ret = await HaskellShelley.csl_bridge_plutusListFromHex(hex_str); + return Ptr._wrap(ret, PlutusList); + } + } @@ -7333,6 +7338,11 @@ export class Redeemers extends Ptr { return ret; } + async get_container_type() { + const ret = await HaskellShelley.csl_bridge_redeemersGetContainerType(this.ptr); + return ret; + } + async total_ex_units() { const ret = await HaskellShelley.csl_bridge_redeemersTotalExUnits(this.ptr); return Ptr._wrap(ret, ExUnits); @@ -9721,9 +9731,9 @@ export class TransactionInputs extends Ptr { return Ptr._wrap(ret, TransactionInput); } - async add(elem) { - const elemPtr = Ptr._assertClass(elem, TransactionInput); - const ret = await HaskellShelley.csl_bridge_transactionInputsAdd(this.ptr, elemPtr); + async add(input) { + const inputPtr = Ptr._assertClass(input, TransactionInput); + const ret = await HaskellShelley.csl_bridge_transactionInputsAdd(this.ptr, inputPtr); return ret; } @@ -11211,9 +11221,9 @@ export class Vkeywitnesses extends Ptr { return Ptr._wrap(ret, Vkeywitness); } - async add(elem) { - const elemPtr = Ptr._assertClass(elem, Vkeywitness); - const ret = await HaskellShelley.csl_bridge_vkeywitnessesAdd(this.ptr, elemPtr); + async add(witness) { + const witnessPtr = Ptr._assertClass(witness, Vkeywitness); + const ret = await HaskellShelley.csl_bridge_vkeywitnessesAdd(this.ptr, witnessPtr); return ret; } @@ -11792,6 +11802,17 @@ export class VotingProposals extends Ptr { return ret; } + async contains(elem) { + const elemPtr = Ptr._assertClass(elem, VotingProposal); + const ret = await HaskellShelley.csl_bridge_votingProposalsContains(this.ptr, elemPtr); + return ret; + } + + async to_option() { + const ret = await HaskellShelley.csl_bridge_votingProposalsToOption(this.ptr); + return Ptr._wrap(ret, VotingProposals); + } + } @@ -12011,6 +12032,12 @@ export const get_implicit_input = async (txbody, pool_deposit, key_deposit) => { }; +export const has_transaction_set_tag = async (tx_bytes) => { + const ret = await HaskellShelley.csl_bridge_hasTransactionSetTag(b64FromUint8Array(tx_bytes)); + return ret; +}; + + export const hash_auxiliary_data = async (auxiliary_data) => { const auxiliary_dataPtr = Ptr._assertClass(auxiliary_data, AuxiliaryData); const ret = await HaskellShelley.csl_bridge_hashAuxiliaryData(auxiliary_dataPtr); @@ -12040,13 +12067,6 @@ export const hash_script_data = async (redeemers, cost_models, datums) => { }; -export const hash_transaction = async (tx_body) => { - const tx_bodyPtr = Ptr._assertClass(tx_body, TransactionBody); - const ret = await HaskellShelley.csl_bridge_hashTransaction(tx_bodyPtr); - return Ptr._wrap(ret, TransactionHash); -}; - - export const make_daedalus_bootstrap_witness = async (tx_body_hash, addr, key) => { const tx_body_hashPtr = Ptr._assertClass(tx_body_hash, TransactionHash); const addrPtr = Ptr._assertClass(addr, ByronAddress); @@ -12132,6 +12152,12 @@ export const CborContainerType = Object.freeze({ }); +export const CborSetType = Object.freeze({ + Tagged: 0, + Untagged: 1, +}); + + export const CertificateKind = Object.freeze({ StakeRegistration: 0, StakeDeregistration: 1, @@ -12283,6 +12309,13 @@ export const TransactionMetadatumKind = Object.freeze({ }); +export const TransactionSetsState = Object.freeze({ + AllSetsHaveTag: 0, + AllSetsHaveNoTag: 1, + MixedSets: 2, +}); + + export const VoteKind = Object.freeze({ No: 0, Yes: 1, diff --git a/ios/HaskellShelley.m b/ios/HaskellShelley.m index 4a608f2..2b47950 100644 --- a/ios/HaskellShelley.m +++ b/ios/HaskellShelley.m @@ -2165,16 +2165,16 @@ + (void)csl_bridge_initialize }] exec:@[selfPtr, indexVal] andResolve:resolve orReject:reject]; } -RCT_EXPORT_METHOD(csl_bridge_bootstrapWitnessesAdd:(nonnull NSString *)selfPtr withElem:(nonnull NSString *)elemPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +RCT_EXPORT_METHOD(csl_bridge_bootstrapWitnessesAdd:(nonnull NSString *)selfPtr withWitness:(nonnull NSString *)witnessPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSNumber*(NSArray* params, CharPtr* error) { BOOL result; RPtr self = [[params objectAtIndex:0] rPtr]; - RPtr elem = [[params objectAtIndex:1] rPtr]; - return csl_bridge_bootstrap_witnesses_add(self, elem, &result, error) + RPtr witness = [[params objectAtIndex:1] rPtr]; + return csl_bridge_bootstrap_witnesses_add(self, witness, &result, error) ? [NSNumber numberWithBool:result] : nil; - }] exec:@[selfPtr, elemPtr] andResolve:resolve orReject:reject]; + }] exec:@[selfPtr, witnessPtr] andResolve:resolve orReject:reject]; } @@ -4122,16 +4122,16 @@ + (void)csl_bridge_initialize }] exec:@[selfPtr, indexVal] andResolve:resolve orReject:reject]; } -RCT_EXPORT_METHOD(csl_bridge_credentialsAdd:(nonnull NSString *)selfPtr withElem:(nonnull NSString *)elemPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +RCT_EXPORT_METHOD(csl_bridge_credentialsAdd:(nonnull NSString *)selfPtr withCredential:(nonnull NSString *)credentialPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSNumber*(NSArray* params, CharPtr* error) { BOOL result; RPtr self = [[params objectAtIndex:0] rPtr]; - RPtr elem = [[params objectAtIndex:1] rPtr]; - return csl_bridge_credentials_add(self, elem, &result, error) + RPtr credential = [[params objectAtIndex:1] rPtr]; + return csl_bridge_credentials_add(self, credential, &result, error) ? [NSNumber numberWithBool:result] : nil; - }] exec:@[selfPtr, elemPtr] andResolve:resolve orReject:reject]; + }] exec:@[selfPtr, credentialPtr] andResolve:resolve orReject:reject]; } @@ -5437,16 +5437,16 @@ + (void)csl_bridge_initialize }] exec:@[selfPtr, indexVal] andResolve:resolve orReject:reject]; } -RCT_EXPORT_METHOD(csl_bridge_ed25519KeyHashesAdd:(nonnull NSString *)selfPtr withElem:(nonnull NSString *)elemPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +RCT_EXPORT_METHOD(csl_bridge_ed25519KeyHashesAdd:(nonnull NSString *)selfPtr withKeyhash:(nonnull NSString *)keyhashPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSNumber*(NSArray* params, CharPtr* error) { BOOL result; RPtr self = [[params objectAtIndex:0] rPtr]; - RPtr elem = [[params objectAtIndex:1] rPtr]; - return csl_bridge_ed25519_key_hashes_add(self, elem, &result, error) + RPtr keyhash = [[params objectAtIndex:1] rPtr]; + return csl_bridge_ed25519_key_hashes_add(self, keyhash, &result, error) ? [NSNumber numberWithBool:result] : nil; - }] exec:@[selfPtr, elemPtr] andResolve:resolve orReject:reject]; + }] exec:@[selfPtr, keyhashPtr] andResolve:resolve orReject:reject]; } RCT_EXPORT_METHOD(csl_bridge_ed25519KeyHashesContains:(nonnull NSString *)selfPtr withElem:(nonnull NSString *)elemPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) @@ -5959,6 +5959,17 @@ + (void)csl_bridge_initialize }] exec:@[rawBodyVal, rawWitnessSetVal, rawAuxiliaryDataVal, isValidVal] andResolve:resolve orReject:reject]; } +RCT_EXPORT_METHOD(csl_bridge_fixedTransactionNewFromBodyBytes:(nonnull NSString *)rawBodyVal withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +{ + [[CSLCSafeOperation new:^NSString*(NSString* rawBodyVal, CharPtr* error) { + RPtr result; + NSData* dataRawBody = [NSData fromBase64:rawBodyVal]; + return csl_bridge_fixed_transaction_new_from_body_bytes((uint8_t*)dataRawBody.bytes, dataRawBody.length, &result, error) + ? [NSString stringFromPtr:result] + : nil; + }] exec:rawBodyVal andResolve:resolve orReject:reject]; +} + RCT_EXPORT_METHOD(csl_bridge_fixedTransactionBody:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSString*(NSString* selfPtr, CharPtr* error) { @@ -11197,6 +11208,49 @@ + (void)csl_bridge_initialize } +RCT_EXPORT_METHOD(csl_bridge_plutusListNew:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +{ + [[CSLCSafeOperation new:^NSString*(id _void, CharPtr* error) { + RPtr result; + return csl_bridge_plutus_list_new(&result, error) + ? [NSString stringFromPtr:result] + : nil; + }] exec:nil andResolve:resolve orReject:reject]; +} + +RCT_EXPORT_METHOD(csl_bridge_plutusListLen:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +{ + [[CSLCSafeOperation new:^NSNumber*(NSString* selfPtr, CharPtr* error) { + int64_t result; + RPtr self = [selfPtr rPtr]; + return csl_bridge_plutus_list_len(self, &result, error) + ? [NSNumber numberWithLongLong:result] + : nil; + }] exec:selfPtr andResolve:resolve orReject:reject]; +} + +RCT_EXPORT_METHOD(csl_bridge_plutusListGet:(nonnull NSString *)selfPtr withIndex:(nonnull NSNumber *)indexVal withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +{ + [[CSLCSafeOperation new:^NSString*(NSArray* params, CharPtr* error) { + RPtr result; + RPtr self = [[params objectAtIndex:0] rPtr]; + int64_t index = [[params objectAtIndex:1] longLongValue]; + return csl_bridge_plutus_list_get(self, index, &result, error) + ? [NSString stringFromPtr:result] + : nil; + }] exec:@[selfPtr, indexVal] andResolve:resolve orReject:reject]; +} + +RCT_EXPORT_METHOD(csl_bridge_plutusListAdd:(nonnull NSString *)selfPtr withElem:(nonnull NSString *)elemPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +{ + [[CSLCSafeOperation new:^NSString*(NSArray* params, CharPtr* error) { + RPtr self = [[params objectAtIndex:0] rPtr]; + RPtr elem = [[params objectAtIndex:1] rPtr]; + csl_bridge_plutus_list_add(self, elem, error); + return nil; + }] exec:@[selfPtr, elemPtr] andResolve:resolve orReject:reject]; +} + RCT_EXPORT_METHOD(csl_bridge_plutusListToBytes:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSString*(NSString* selfPtr, CharPtr* error) { @@ -11241,49 +11295,6 @@ + (void)csl_bridge_initialize }] exec:hexStrVal andResolve:resolve orReject:reject]; } -RCT_EXPORT_METHOD(csl_bridge_plutusListNew:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) -{ - [[CSLCSafeOperation new:^NSString*(id _void, CharPtr* error) { - RPtr result; - return csl_bridge_plutus_list_new(&result, error) - ? [NSString stringFromPtr:result] - : nil; - }] exec:nil andResolve:resolve orReject:reject]; -} - -RCT_EXPORT_METHOD(csl_bridge_plutusListLen:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) -{ - [[CSLCSafeOperation new:^NSNumber*(NSString* selfPtr, CharPtr* error) { - int64_t result; - RPtr self = [selfPtr rPtr]; - return csl_bridge_plutus_list_len(self, &result, error) - ? [NSNumber numberWithLongLong:result] - : nil; - }] exec:selfPtr andResolve:resolve orReject:reject]; -} - -RCT_EXPORT_METHOD(csl_bridge_plutusListGet:(nonnull NSString *)selfPtr withIndex:(nonnull NSNumber *)indexVal withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) -{ - [[CSLCSafeOperation new:^NSString*(NSArray* params, CharPtr* error) { - RPtr result; - RPtr self = [[params objectAtIndex:0] rPtr]; - int64_t index = [[params objectAtIndex:1] longLongValue]; - return csl_bridge_plutus_list_get(self, index, &result, error) - ? [NSString stringFromPtr:result] - : nil; - }] exec:@[selfPtr, indexVal] andResolve:resolve orReject:reject]; -} - -RCT_EXPORT_METHOD(csl_bridge_plutusListAdd:(nonnull NSString *)selfPtr withElem:(nonnull NSString *)elemPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) -{ - [[CSLCSafeOperation new:^NSString*(NSArray* params, CharPtr* error) { - RPtr self = [[params objectAtIndex:0] rPtr]; - RPtr elem = [[params objectAtIndex:1] rPtr]; - csl_bridge_plutus_list_add(self, elem, error); - return nil; - }] exec:@[selfPtr, elemPtr] andResolve:resolve orReject:reject]; -} - RCT_EXPORT_METHOD(csl_bridge_plutusMapToBytes:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { @@ -14350,6 +14361,17 @@ + (void)csl_bridge_initialize }] exec:@[selfPtr, elemPtr] andResolve:resolve orReject:reject]; } +RCT_EXPORT_METHOD(csl_bridge_redeemersGetContainerType:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +{ + [[CSLCSafeOperation new:^NSNumber*(NSString* selfPtr, CharPtr* error) { + int32_t result; + RPtr self = [selfPtr rPtr]; + return csl_bridge_redeemers_get_container_type(self, &result, error) + ? [NSNumber numberWithLong:result] + : nil; + }] exec:selfPtr andResolve:resolve orReject:reject]; +} + RCT_EXPORT_METHOD(csl_bridge_redeemersTotalExUnits:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSString*(NSString* selfPtr, CharPtr* error) { @@ -19013,16 +19035,16 @@ + (void)csl_bridge_initialize }] exec:@[selfPtr, indexVal] andResolve:resolve orReject:reject]; } -RCT_EXPORT_METHOD(csl_bridge_transactionInputsAdd:(nonnull NSString *)selfPtr withElem:(nonnull NSString *)elemPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +RCT_EXPORT_METHOD(csl_bridge_transactionInputsAdd:(nonnull NSString *)selfPtr withInput:(nonnull NSString *)inputPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSNumber*(NSArray* params, CharPtr* error) { BOOL result; RPtr self = [[params objectAtIndex:0] rPtr]; - RPtr elem = [[params objectAtIndex:1] rPtr]; - return csl_bridge_transaction_inputs_add(self, elem, &result, error) + RPtr input = [[params objectAtIndex:1] rPtr]; + return csl_bridge_transaction_inputs_add(self, input, &result, error) ? [NSNumber numberWithBool:result] : nil; - }] exec:@[selfPtr, elemPtr] andResolve:resolve orReject:reject]; + }] exec:@[selfPtr, inputPtr] andResolve:resolve orReject:reject]; } RCT_EXPORT_METHOD(csl_bridge_transactionInputsToOption:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) @@ -21919,16 +21941,16 @@ + (void)csl_bridge_initialize }] exec:@[selfPtr, indexVal] andResolve:resolve orReject:reject]; } -RCT_EXPORT_METHOD(csl_bridge_vkeywitnessesAdd:(nonnull NSString *)selfPtr withElem:(nonnull NSString *)elemPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +RCT_EXPORT_METHOD(csl_bridge_vkeywitnessesAdd:(nonnull NSString *)selfPtr withWitness:(nonnull NSString *)witnessPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSNumber*(NSArray* params, CharPtr* error) { BOOL result; RPtr self = [[params objectAtIndex:0] rPtr]; - RPtr elem = [[params objectAtIndex:1] rPtr]; - return csl_bridge_vkeywitnesses_add(self, elem, &result, error) + RPtr witness = [[params objectAtIndex:1] rPtr]; + return csl_bridge_vkeywitnesses_add(self, witness, &result, error) ? [NSNumber numberWithBool:result] : nil; - }] exec:@[selfPtr, elemPtr] andResolve:resolve orReject:reject]; + }] exec:@[selfPtr, witnessPtr] andResolve:resolve orReject:reject]; } @@ -23053,6 +23075,29 @@ + (void)csl_bridge_initialize }] exec:@[selfPtr, proposalPtr] andResolve:resolve orReject:reject]; } +RCT_EXPORT_METHOD(csl_bridge_votingProposalsContains:(nonnull NSString *)selfPtr withElem:(nonnull NSString *)elemPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +{ + [[CSLCSafeOperation new:^NSNumber*(NSArray* params, CharPtr* error) { + BOOL result; + RPtr self = [[params objectAtIndex:0] rPtr]; + RPtr elem = [[params objectAtIndex:1] rPtr]; + return csl_bridge_voting_proposals_contains(self, elem, &result, error) + ? [NSNumber numberWithBool:result] + : nil; + }] exec:@[selfPtr, elemPtr] andResolve:resolve orReject:reject]; +} + +RCT_EXPORT_METHOD(csl_bridge_votingProposalsToOption:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +{ + [[CSLCSafeOperation new:^NSString*(NSString* selfPtr, CharPtr* error) { + RPtr result; + RPtr self = [selfPtr rPtr]; + return csl_bridge_voting_proposals_to_option(self, &result, error) + ? [NSString stringFromPtr:result] + : nil; + }] exec:selfPtr andResolve:resolve orReject:reject]; +} + RCT_EXPORT_METHOD(csl_bridge_withdrawalsToBytes:(nonnull NSString *)selfPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { @@ -23450,6 +23495,17 @@ + (void)csl_bridge_initialize }] exec:@[txbodyPtr, poolDepositPtr, keyDepositPtr] andResolve:resolve orReject:reject]; } +RCT_EXPORT_METHOD(csl_bridge_hasTransactionSetTag:(nonnull NSString *)txBytesVal withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) +{ + [[CSLCSafeOperation new:^NSNumber*(NSString* txBytesVal, CharPtr* error) { + int32_t result; + NSData* dataTxBytes = [NSData fromBase64:txBytesVal]; + return csl_bridge_has_transaction_set_tag((uint8_t*)dataTxBytes.bytes, dataTxBytes.length, &result, error) + ? [NSNumber numberWithLong:result] + : nil; + }] exec:txBytesVal andResolve:resolve orReject:reject]; +} + RCT_EXPORT_METHOD(csl_bridge_hashAuxiliaryData:(nonnull NSString *)auxiliaryDataPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSString*(NSString* auxiliaryDataPtr, CharPtr* error) { @@ -23498,17 +23554,6 @@ + (void)csl_bridge_initialize } -RCT_EXPORT_METHOD(csl_bridge_hashTransaction:(nonnull NSString *)txBodyPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) -{ - [[CSLCSafeOperation new:^NSString*(NSString* txBodyPtr, CharPtr* error) { - RPtr result; - RPtr txBody = [txBodyPtr rPtr]; - return csl_bridge_hash_transaction(txBody, &result, error) - ? [NSString stringFromPtr:result] - : nil; - }] exec:txBodyPtr andResolve:resolve orReject:reject]; -} - RCT_EXPORT_METHOD(csl_bridge_makeDaedalusBootstrapWitness:(nonnull NSString *)txBodyHashPtr withAddr:(nonnull NSString *)addrPtr withKey:(nonnull NSString *)keyPtr withResolve:(RCTPromiseResolveBlock)resolve andReject:(RCTPromiseRejectBlock)reject) { [[CSLCSafeOperation new:^NSString*(NSArray* params, CharPtr* error) { diff --git a/package.json b/package.json index 3f7ad77..a2bdd50 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@emurgo/csl-mobile-bridge", "title": "CSL mobile bridge", - "version": "6.1.1", + "version": "7.0.0", "description": "React-native bindings for Emurgo's cardano-serialization-lib (Cardano haskell Shelley)", "main": "index.js", "files": [ @@ -54,4 +54,4 @@ "dependencies": { "base-64": "0.1.0" } -} +} \ No newline at end of file diff --git a/rust/Cargo.lock b/rust/Cargo.lock index accbaef..b7e1597 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -87,9 +87,9 @@ checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cardano-serialization-lib" -version = "12.1.1" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a6b87191e22d30d2fd9cf52a8db1acd0611d119f432e3dc676650c76f67840" +checksum = "0843dc082b595bf87aeabaa9b3935af5bd7d233950328710ede40942a55b8fe4" dependencies = [ "bech32", "cbor_event", @@ -222,7 +222,7 @@ source = "git+https://github.com/emurgo/cryptoxide?tag=0.4.4#cbc69c01642b263541c [[package]] name = "csl-mobile-bridge" -version = "6.1.1" +version = "7.0.0" dependencies = [ "base64", "byteorder", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 06a2772..fd69cc4 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "csl-mobile-bridge" -version = "6.1.1" +version = "7.0.0" authors = ["EMURGO"] edition = "2018" @@ -11,7 +11,7 @@ cbindgen = "=0.14.1" cryptoxide = { git = "https://github.com/emurgo/cryptoxide", tag="0.4.4"} [dependencies] -cardano-serialization-lib = "=12.1.1" +cardano-serialization-lib = "=13.0.0" byteorder = "1.4.3" base64 = "0.20.0" # tag = "2.3.1" diff --git a/rust/src/android/bridge.rs b/rust/src/android/bridge.rs index 2cdcc71..9fbf9ce 100644 --- a/rust/src/android/bridge.rs +++ b/rust/src/android/bridge.rs @@ -36,6 +36,7 @@ use cardano_serialization_lib::BootstrapWitness; use cardano_serialization_lib::BootstrapWitnesses; use cardano_serialization_lib::ByronAddress; use cardano_serialization_lib::CborContainerType; +use cardano_serialization_lib::CborSetType; use cardano_serialization_lib::Certificate; use cardano_serialization_lib::CertificateKind; use cardano_serialization_lib::Certificates; @@ -202,6 +203,7 @@ use cardano_serialization_lib::TransactionOutput; use cardano_serialization_lib::TransactionOutputAmountBuilder; use cardano_serialization_lib::TransactionOutputBuilder; use cardano_serialization_lib::TransactionOutputs; +use cardano_serialization_lib::TransactionSetsState; use cardano_serialization_lib::TransactionUnspentOutput; use cardano_serialization_lib::TransactionUnspentOutputs; use cardano_serialization_lib::TransactionWitnessSet; @@ -250,10 +252,10 @@ use cardano_serialization_lib::encode_json_str_to_plutus_datum; use cardano_serialization_lib::encrypt_with_password; use cardano_serialization_lib::get_deposit; use cardano_serialization_lib::get_implicit_input; +use cardano_serialization_lib::has_transaction_set_tag; use cardano_serialization_lib::hash_auxiliary_data; use cardano_serialization_lib::hash_plutus_data; use cardano_serialization_lib::hash_script_data; -use cardano_serialization_lib::hash_transaction; use cardano_serialization_lib::make_daedalus_bootstrap_witness; use cardano_serialization_lib::make_icarus_bootstrap_witness; use cardano_serialization_lib::make_vkey_witness; @@ -2761,13 +2763,13 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1boo #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1bootstrapWitnessesAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, elem_ptr: JRPtr) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1bootstrapWitnessesAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, witness_ptr: JRPtr) -> jobject { handle_exception_result(|| { let self_jrptr = self_ptr.rptr(&env)?; let self_rptr = self_jrptr.typed_ref::()?; - let elem_jrptr = elem_ptr.rptr(&env)?; - let elem = elem_jrptr.typed_ref::()?; - let result = self_rptr.add(elem); + let witness_jrptr = witness_ptr.rptr(&env)?; + let witness = witness_jrptr.typed_ref::()?; + let result = self_rptr.add(witness); result.into_jboolean().jobject(&env) }) .jresult(&env) @@ -5061,13 +5063,13 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1cre #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1credentialsAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, elem_ptr: JRPtr) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1credentialsAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, credential_ptr: JRPtr) -> jobject { handle_exception_result(|| { let self_jrptr = self_ptr.rptr(&env)?; let self_rptr = self_jrptr.typed_ref::()?; - let elem_jrptr = elem_ptr.rptr(&env)?; - let elem = elem_jrptr.typed_ref::()?; - let result = self_rptr.add(elem); + let credential_jrptr = credential_ptr.rptr(&env)?; + let credential = credential_jrptr.typed_ref::()?; + let result = self_rptr.add(credential); result.into_jboolean().jobject(&env) }) .jresult(&env) @@ -6621,13 +6623,13 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1ed2 #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1ed25519KeyHashesAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, elem_ptr: JRPtr) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1ed25519KeyHashesAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, keyhash_ptr: JRPtr) -> jobject { handle_exception_result(|| { let self_jrptr = self_ptr.rptr(&env)?; let self_rptr = self_jrptr.typed_ref::()?; - let elem_jrptr = elem_ptr.rptr(&env)?; - let elem = elem_jrptr.typed_ref::()?; - let result = self_rptr.add(elem); + let keyhash_jrptr = keyhash_ptr.rptr(&env)?; + let keyhash = keyhash_jrptr.typed_ref::()?; + let result = self_rptr.add(keyhash); result.into_jboolean().jobject(&env) }) .jresult(&env) @@ -7222,6 +7224,18 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1fix } +#[allow(non_snake_case)] +#[no_mangle] +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1fixedTransactionNewFromBodyBytes(env: JNIEnv, _: JObject, raw_body_jarray: jbyteArray) -> jobject { + handle_exception_result(|| { + let raw_body = env.convert_byte_array(raw_body_jarray).into_result()?; + let result = FixedTransaction::new_from_body_bytes(&raw_body).into_result()?; + result.rptr().jptr(&env) + }) + .jresult(&env) +} + + #[allow(non_snake_case)] #[no_mangle] pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1fixedTransactionBody(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { @@ -13394,12 +13408,10 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plu #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListToBytes(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListNew(env: JNIEnv, _: JObject) -> jobject { handle_exception_result(|| { - let self_jrptr = self_ptr.rptr(&env)?; - let self_rptr = self_jrptr.typed_ref::()?; - let result = self_rptr.to_bytes(); - Ok(JObject::from_raw(env.byte_array_from_slice(&result).into_result()?)) + let result = PlutusList::new(); + result.rptr().jptr(&env) }) .jresult(&env) } @@ -13407,11 +13419,12 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plu #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListFromBytes(env: JNIEnv, _: JObject, bytes_jarray: jbyteArray) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListLen(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { handle_exception_result(|| { - let bytes = env.convert_byte_array(bytes_jarray).into_result()?; - let result = PlutusList::from_bytes(bytes).into_result()?; - result.rptr().jptr(&env) + let self_jrptr = self_ptr.rptr(&env)?; + let self_rptr = self_jrptr.typed_ref::()?; + let result = self_rptr.len(); + result.into_jlong().jobject(&env) }) .jresult(&env) } @@ -13419,12 +13432,13 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plu #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListToHex(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListGet(env: JNIEnv, _: JObject, self_ptr: JRPtr, index_jlong: jlong) -> jobject { handle_exception_result(|| { let self_jrptr = self_ptr.rptr(&env)?; let self_rptr = self_jrptr.typed_ref::()?; - let result = self_rptr.to_hex(); - result.jstring(&env) + let index = usize::try_from_jlong(index_jlong)?; + let result = self_rptr.get(index); + result.rptr().jptr(&env) }) .jresult(&env) } @@ -13432,11 +13446,14 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plu #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListFromHex(env: JNIEnv, _: JObject, hex_str_str: JString) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, elem_ptr: JRPtr) -> jobject { handle_exception_result(|| { - let hex_str = hex_str_str.string(&env)?; - let result = PlutusList::from_hex(&hex_str).into_result()?; - result.rptr().jptr(&env) + let self_jrptr = self_ptr.rptr(&env)?; + let self_rptr = self_jrptr.typed_ref::()?; + let elem_jrptr = elem_ptr.rptr(&env)?; + let elem = elem_jrptr.typed_ref::()?; + self_rptr.add(elem); + Ok(JObject::null()) }) .jresult(&env) } @@ -13444,10 +13461,12 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plu #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListNew(env: JNIEnv, _: JObject) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListToBytes(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { handle_exception_result(|| { - let result = PlutusList::new(); - result.rptr().jptr(&env) + let self_jrptr = self_ptr.rptr(&env)?; + let self_rptr = self_jrptr.typed_ref::()?; + let result = self_rptr.to_bytes(); + Ok(JObject::from_raw(env.byte_array_from_slice(&result).into_result()?)) }) .jresult(&env) } @@ -13455,12 +13474,11 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plu #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListLen(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListFromBytes(env: JNIEnv, _: JObject, bytes_jarray: jbyteArray) -> jobject { handle_exception_result(|| { - let self_jrptr = self_ptr.rptr(&env)?; - let self_rptr = self_jrptr.typed_ref::()?; - let result = self_rptr.len(); - result.into_jlong().jobject(&env) + let bytes = env.convert_byte_array(bytes_jarray).into_result()?; + let result = PlutusList::from_bytes(bytes).into_result()?; + result.rptr().jptr(&env) }) .jresult(&env) } @@ -13468,13 +13486,12 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plu #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListGet(env: JNIEnv, _: JObject, self_ptr: JRPtr, index_jlong: jlong) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListToHex(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { handle_exception_result(|| { let self_jrptr = self_ptr.rptr(&env)?; let self_rptr = self_jrptr.typed_ref::()?; - let index = usize::try_from_jlong(index_jlong)?; - let result = self_rptr.get(index); - result.rptr().jptr(&env) + let result = self_rptr.to_hex(); + result.jstring(&env) }) .jresult(&env) } @@ -13482,14 +13499,11 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plu #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, elem_ptr: JRPtr) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1plutusListFromHex(env: JNIEnv, _: JObject, hex_str_str: JString) -> jobject { handle_exception_result(|| { - let self_jrptr = self_ptr.rptr(&env)?; - let self_rptr = self_jrptr.typed_ref::()?; - let elem_jrptr = elem_ptr.rptr(&env)?; - let elem = elem_jrptr.typed_ref::()?; - self_rptr.add(elem); - Ok(JObject::null()) + let hex_str = hex_str_str.string(&env)?; + let result = PlutusList::from_hex(&hex_str).into_result()?; + result.rptr().jptr(&env) }) .jresult(&env) } @@ -17179,6 +17193,19 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1red } +#[allow(non_snake_case)] +#[no_mangle] +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1redeemersGetContainerType(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { + handle_exception_result(|| { + let self_jrptr = self_ptr.rptr(&env)?; + let self_rptr = self_jrptr.typed_ref::()?; + let result = self_rptr.get_container_type(); + (result.to_i32() as jint).jobject(&env) + }) + .jresult(&env) +} + + #[allow(non_snake_case)] #[no_mangle] pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1redeemersTotalExUnits(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { @@ -22867,13 +22894,13 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1tra #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1transactionInputsAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, elem_ptr: JRPtr) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1transactionInputsAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, input_ptr: JRPtr) -> jobject { handle_exception_result(|| { let self_jrptr = self_ptr.rptr(&env)?; let self_rptr = self_jrptr.typed_ref::()?; - let elem_jrptr = elem_ptr.rptr(&env)?; - let elem = elem_jrptr.typed_ref::()?; - let result = self_rptr.add(elem); + let input_jrptr = input_ptr.rptr(&env)?; + let input = input_jrptr.typed_ref::()?; + let result = self_rptr.add(input); result.into_jboolean().jobject(&env) }) .jresult(&env) @@ -26323,13 +26350,13 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1vke #[allow(non_snake_case)] #[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1vkeywitnessesAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, elem_ptr: JRPtr) -> jobject { +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1vkeywitnessesAdd(env: JNIEnv, _: JObject, self_ptr: JRPtr, witness_ptr: JRPtr) -> jobject { handle_exception_result(|| { let self_jrptr = self_ptr.rptr(&env)?; let self_rptr = self_jrptr.typed_ref::()?; - let elem_jrptr = elem_ptr.rptr(&env)?; - let elem = elem_jrptr.typed_ref::()?; - let result = self_rptr.add(elem); + let witness_jrptr = witness_ptr.rptr(&env)?; + let witness = witness_jrptr.typed_ref::()?; + let result = self_rptr.add(witness); result.into_jboolean().jobject(&env) }) .jresult(&env) @@ -27672,6 +27699,34 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1vot } +#[allow(non_snake_case)] +#[no_mangle] +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1votingProposalsContains(env: JNIEnv, _: JObject, self_ptr: JRPtr, elem_ptr: JRPtr) -> jobject { + handle_exception_result(|| { + let self_jrptr = self_ptr.rptr(&env)?; + let self_rptr = self_jrptr.typed_ref::()?; + let elem_jrptr = elem_ptr.rptr(&env)?; + let elem = elem_jrptr.typed_ref::()?; + let result = self_rptr.contains(elem); + result.into_jboolean().jobject(&env) + }) + .jresult(&env) +} + + +#[allow(non_snake_case)] +#[no_mangle] +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1votingProposalsToOption(env: JNIEnv, _: JObject, self_ptr: JRPtr) -> jobject { + handle_exception_result(|| { + let self_jrptr = self_ptr.rptr(&env)?; + let self_rptr = self_jrptr.typed_ref::()?; + let result = self_rptr.to_option(); + result.rptr().jptr(&env) + }) + .jresult(&env) +} + + #[allow(non_snake_case)] #[no_mangle] @@ -28150,6 +28205,18 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1get } +#[allow(non_snake_case)] +#[no_mangle] +pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1hasTransactionSetTag(env: JNIEnv, _: JObject, tx_bytes_jarray: jbyteArray) -> jobject { + handle_exception_result(|| { + let tx_bytes = env.convert_byte_array(tx_bytes_jarray).into_result()?; + let result = has_transaction_set_tag(tx_bytes).into_result()?; + (result.to_i32() as jint).jobject(&env) + }) + .jresult(&env) +} + + #[allow(non_snake_case)] #[no_mangle] pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1hashAuxiliaryData(env: JNIEnv, _: JObject, auxiliary_data_ptr: JRPtr) -> jobject { @@ -28208,19 +28275,6 @@ pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1has -#[allow(non_snake_case)] -#[no_mangle] -pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1hashTransaction(env: JNIEnv, _: JObject, tx_body_ptr: JRPtr) -> jobject { - handle_exception_result(|| { - let tx_body_jrptr = tx_body_ptr.rptr(&env)?; - let tx_body = tx_body_jrptr.typed_ref::()?; - let result = hash_transaction(tx_body); - result.rptr().jptr(&env) - }) - .jresult(&env) -} - - #[allow(non_snake_case)] #[no_mangle] pub unsafe extern "C" fn Java_io_emurgo_rnhaskellshelley_Native_csl_1bridge_1makeDaedalusBootstrapWitness(env: JNIEnv, _: JObject, tx_body_hash_ptr: JRPtr, addr_ptr: JRPtr, key_ptr: JRPtr) -> jobject { diff --git a/rust/src/enum_maps.rs b/rust/src/enum_maps.rs index 835b115..e469ea2 100644 --- a/rust/src/enum_maps.rs +++ b/rust/src/enum_maps.rs @@ -1,6 +1,7 @@ use cardano_serialization_lib::AddressKind; use cardano_serialization_lib::BlockEra; use cardano_serialization_lib::CborContainerType; +use cardano_serialization_lib::CborSetType; use cardano_serialization_lib::CertificateKind; use cardano_serialization_lib::CoinSelectionStrategyCIP2; use cardano_serialization_lib::CredKind; @@ -19,6 +20,7 @@ use cardano_serialization_lib::RelayKind; use cardano_serialization_lib::ScriptHashNamespace; use cardano_serialization_lib::ScriptSchema; use cardano_serialization_lib::TransactionMetadatumKind; +use cardano_serialization_lib::TransactionSetsState; use cardano_serialization_lib::VoteKind; use cardano_serialization_lib::VoterKind; @@ -108,6 +110,25 @@ impl ToEnum for i32 { } } +impl ToPrimitive for CborSetType { + fn to_i32(&self) -> i32 { + match self { + CborSetType::Tagged => 0, + CborSetType::Untagged => 1, + } + } +} + +impl ToEnum for i32 { + fn to_enum(&self) -> Result { + match self { + 0 => Ok(CborSetType::Tagged), + 1 => Ok(CborSetType::Untagged), + _ => Err("Invalid value for CborSetType".into()), + } + } +} + impl ToPrimitive for CertificateKind { fn to_i32(&self) -> i32 { match self { @@ -536,6 +557,27 @@ impl ToEnum for i32 { } } +impl ToPrimitive for TransactionSetsState { + fn to_i32(&self) -> i32 { + match self { + TransactionSetsState::AllSetsHaveTag => 0, + TransactionSetsState::AllSetsHaveNoTag => 1, + TransactionSetsState::MixedSets => 2, + } + } +} + +impl ToEnum for i32 { + fn to_enum(&self) -> Result { + match self { + 0 => Ok(TransactionSetsState::AllSetsHaveTag), + 1 => Ok(TransactionSetsState::AllSetsHaveNoTag), + 2 => Ok(TransactionSetsState::MixedSets), + _ => Err("Invalid value for TransactionSetsState".into()), + } + } +} + impl ToPrimitive for VoteKind { fn to_i32(&self) -> i32 { match self { diff --git a/rust/src/ios/bridge.rs b/rust/src/ios/bridge.rs index 95e70e7..cee28aa 100644 --- a/rust/src/ios/bridge.rs +++ b/rust/src/ios/bridge.rs @@ -29,6 +29,7 @@ use cardano_serialization_lib::BootstrapWitness; use cardano_serialization_lib::BootstrapWitnesses; use cardano_serialization_lib::ByronAddress; use cardano_serialization_lib::CborContainerType; +use cardano_serialization_lib::CborSetType; use cardano_serialization_lib::Certificate; use cardano_serialization_lib::CertificateKind; use cardano_serialization_lib::Certificates; @@ -195,6 +196,7 @@ use cardano_serialization_lib::TransactionOutput; use cardano_serialization_lib::TransactionOutputAmountBuilder; use cardano_serialization_lib::TransactionOutputBuilder; use cardano_serialization_lib::TransactionOutputs; +use cardano_serialization_lib::TransactionSetsState; use cardano_serialization_lib::TransactionUnspentOutput; use cardano_serialization_lib::TransactionUnspentOutputs; use cardano_serialization_lib::TransactionWitnessSet; @@ -2384,11 +2386,11 @@ pub unsafe extern "C" fn csl_bridge_bootstrap_witnesses_get(self_rptr: RPtr, ind #[no_mangle] -pub unsafe extern "C" fn csl_bridge_bootstrap_witnesses_add(self_rptr: RPtr, elem_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_bootstrap_witnesses_add(self_rptr: RPtr, witness_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { handle_exception_result(|| { let self_ref = self_rptr.typed_ref::()?; - let elem = elem_rptr.typed_ref::()?; - let result = self_ref.add(elem); + let witness = witness_rptr.typed_ref::()?; + let result = self_ref.add(witness); Ok::(result) }) .response(result, error) @@ -4349,11 +4351,11 @@ pub unsafe extern "C" fn csl_bridge_credentials_get(self_rptr: RPtr, index_long: #[no_mangle] -pub unsafe extern "C" fn csl_bridge_credentials_add(self_rptr: RPtr, elem_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_credentials_add(self_rptr: RPtr, credential_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { handle_exception_result(|| { let self_ref = self_rptr.typed_ref::()?; - let elem = elem_rptr.typed_ref::()?; - let result = self_ref.add(elem); + let credential = credential_rptr.typed_ref::()?; + let result = self_ref.add(credential); Ok::(result) }) .response(result, error) @@ -5684,11 +5686,11 @@ pub unsafe extern "C" fn csl_bridge_ed25519_key_hashes_get(self_rptr: RPtr, inde #[no_mangle] -pub unsafe extern "C" fn csl_bridge_ed25519_key_hashes_add(self_rptr: RPtr, elem_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_ed25519_key_hashes_add(self_rptr: RPtr, keyhash_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { handle_exception_result(|| { let self_ref = self_rptr.typed_ref::()?; - let elem = elem_rptr.typed_ref::()?; - let result = self_ref.add(elem); + let keyhash = keyhash_rptr.typed_ref::()?; + let result = self_ref.add(keyhash); Ok::(result) }) .response(result, error) @@ -6203,6 +6205,17 @@ pub unsafe extern "C" fn csl_bridge_fixed_transaction_new_with_auxiliary(raw_bod } +#[no_mangle] +pub unsafe extern "C" fn csl_bridge_fixed_transaction_new_from_body_bytes(raw_body_data: *const u8, raw_body_len: usize, result: &mut RPtr, error: &mut CharPtr) -> bool { + handle_exception_result(|| { + let raw_body = from_raw_parts(raw_body_data, raw_body_len); + let result = FixedTransaction::new_from_body_bytes(raw_body).into_result()?; + Ok::(result.rptr()) + }) + .response(result, error) +} + + #[no_mangle] pub unsafe extern "C" fn csl_bridge_fixed_transaction_body(self_rptr: RPtr, result: &mut RPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { @@ -11483,91 +11496,91 @@ pub unsafe extern "C" fn csl_bridge_plutus_data_from_address(address_rptr: RPtr, #[no_mangle] -pub unsafe extern "C" fn csl_bridge_plutus_list_to_bytes(self_rptr: RPtr, result: &mut DataPtr, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_plutus_list_new(result: &mut RPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { - let self_ref = self_rptr.typed_ref::()?; - let result = self_ref.to_bytes(); - Ok::(result.into()) + let result = PlutusList::new(); + Ok::(result.rptr()) }) .response(result, error) } #[no_mangle] -pub unsafe extern "C" fn csl_bridge_plutus_list_from_bytes(bytes_data: *const u8, bytes_len: usize, result: &mut RPtr, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_plutus_list_len(self_rptr: RPtr, result: &mut i64, error: &mut CharPtr) -> bool { handle_exception_result(|| { - let bytes = from_raw_parts(bytes_data, bytes_len).to_vec(); - let result = PlutusList::from_bytes(bytes).into_result()?; - Ok::(result.rptr()) + let self_ref = self_rptr.typed_ref::()?; + let result = self_ref.len(); + Ok::(result as i64) }) .response(result, error) } #[no_mangle] -pub unsafe extern "C" fn csl_bridge_plutus_list_to_hex(self_rptr: RPtr, result: &mut CharPtr, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_plutus_list_get(self_rptr: RPtr, index_long: i64, result: &mut RPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { let self_ref = self_rptr.typed_ref::()?; - let result = self_ref.to_hex(); - Ok::(result.into_cstr()) + let index = index_long as usize; + let result = self_ref.get(index); + Ok::(result.rptr()) }) .response(result, error) } #[no_mangle] -pub unsafe extern "C" fn csl_bridge_plutus_list_from_hex(hex_str_str: CharPtr, result: &mut RPtr, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_plutus_list_add(self_rptr: RPtr, elem_rptr: RPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { - let hex_str: &str = hex_str_str.into_str(); - let result = PlutusList::from_hex(hex_str).into_result()?; - Ok::(result.rptr()) + let self_ref = self_rptr.typed_ref::()?; + let elem = elem_rptr.typed_ref::()?; + self_ref.add(elem); + Ok(()) }) - .response(result, error) + .response(&mut (), error) } #[no_mangle] -pub unsafe extern "C" fn csl_bridge_plutus_list_new(result: &mut RPtr, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_plutus_list_to_bytes(self_rptr: RPtr, result: &mut DataPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { - let result = PlutusList::new(); - Ok::(result.rptr()) + let self_ref = self_rptr.typed_ref::()?; + let result = self_ref.to_bytes(); + Ok::(result.into()) }) .response(result, error) } #[no_mangle] -pub unsafe extern "C" fn csl_bridge_plutus_list_len(self_rptr: RPtr, result: &mut i64, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_plutus_list_from_bytes(bytes_data: *const u8, bytes_len: usize, result: &mut RPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { - let self_ref = self_rptr.typed_ref::()?; - let result = self_ref.len(); - Ok::(result as i64) + let bytes = from_raw_parts(bytes_data, bytes_len).to_vec(); + let result = PlutusList::from_bytes(bytes).into_result()?; + Ok::(result.rptr()) }) .response(result, error) } #[no_mangle] -pub unsafe extern "C" fn csl_bridge_plutus_list_get(self_rptr: RPtr, index_long: i64, result: &mut RPtr, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_plutus_list_to_hex(self_rptr: RPtr, result: &mut CharPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { let self_ref = self_rptr.typed_ref::()?; - let index = index_long as usize; - let result = self_ref.get(index); - Ok::(result.rptr()) + let result = self_ref.to_hex(); + Ok::(result.into_cstr()) }) .response(result, error) } #[no_mangle] -pub unsafe extern "C" fn csl_bridge_plutus_list_add(self_rptr: RPtr, elem_rptr: RPtr, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_plutus_list_from_hex(hex_str_str: CharPtr, result: &mut RPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { - let self_ref = self_rptr.typed_ref::()?; - let elem = elem_rptr.typed_ref::()?; - self_ref.add(elem); - Ok(()) + let hex_str: &str = hex_str_str.into_str(); + let result = PlutusList::from_hex(hex_str).into_result()?; + Ok::(result.rptr()) }) - .response(&mut (), error) + .response(result, error) } @@ -14711,6 +14724,17 @@ pub unsafe extern "C" fn csl_bridge_redeemers_add(self_rptr: RPtr, elem_rptr: RP } +#[no_mangle] +pub unsafe extern "C" fn csl_bridge_redeemers_get_container_type(self_rptr: RPtr, result: &mut i32, error: &mut CharPtr) -> bool { + handle_exception_result(|| { + let self_ref = self_rptr.typed_ref::()?; + let result = self_ref.get_container_type(); + Ok::(result as i32) + }) + .response(result, error) +} + + #[no_mangle] pub unsafe extern "C" fn csl_bridge_redeemers_total_ex_units(self_rptr: RPtr, result: &mut RPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { @@ -19530,11 +19554,11 @@ pub unsafe extern "C" fn csl_bridge_transaction_inputs_get(self_rptr: RPtr, inde #[no_mangle] -pub unsafe extern "C" fn csl_bridge_transaction_inputs_add(self_rptr: RPtr, elem_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_transaction_inputs_add(self_rptr: RPtr, input_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { handle_exception_result(|| { let self_ref = self_rptr.typed_ref::()?; - let elem = elem_rptr.typed_ref::()?; - let result = self_ref.add(elem); + let input = input_rptr.typed_ref::()?; + let result = self_ref.add(input); Ok::(result) }) .response(result, error) @@ -22484,11 +22508,11 @@ pub unsafe extern "C" fn csl_bridge_vkeywitnesses_get(self_rptr: RPtr, index_lon #[no_mangle] -pub unsafe extern "C" fn csl_bridge_vkeywitnesses_add(self_rptr: RPtr, elem_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { +pub unsafe extern "C" fn csl_bridge_vkeywitnesses_add(self_rptr: RPtr, witness_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { handle_exception_result(|| { let self_ref = self_rptr.typed_ref::()?; - let elem = elem_rptr.typed_ref::()?; - let result = self_ref.add(elem); + let witness = witness_rptr.typed_ref::()?; + let result = self_ref.add(witness); Ok::(result) }) .response(result, error) @@ -23631,6 +23655,29 @@ pub unsafe extern "C" fn csl_bridge_voting_proposals_add(self_rptr: RPtr, propos } +#[no_mangle] +pub unsafe extern "C" fn csl_bridge_voting_proposals_contains(self_rptr: RPtr, elem_rptr: RPtr, result: &mut bool, error: &mut CharPtr) -> bool { + handle_exception_result(|| { + let self_ref = self_rptr.typed_ref::()?; + let elem = elem_rptr.typed_ref::()?; + let result = self_ref.contains(elem); + Ok::(result) + }) + .response(result, error) +} + + +#[no_mangle] +pub unsafe extern "C" fn csl_bridge_voting_proposals_to_option(self_rptr: RPtr, result: &mut RPtr, error: &mut CharPtr) -> bool { + handle_exception_result(|| { + let self_ref = self_rptr.typed_ref::()?; + let result = self_ref.to_option(); + Ok::, String>(result.map(|v| v.rptr())) + }) + .response_nullable(result, error) +} + + #[no_mangle] pub unsafe extern "C" fn csl_bridge_withdrawals_to_bytes(self_rptr: RPtr, result: &mut DataPtr, error: &mut CharPtr) -> bool { @@ -24034,6 +24081,17 @@ pub unsafe extern "C" fn csl_bridge_get_implicit_input(txbody_rptr: RPtr, pool_d } +#[no_mangle] +pub unsafe extern "C" fn csl_bridge_has_transaction_set_tag(tx_bytes_data: *const u8, tx_bytes_len: usize, result: &mut i32, error: &mut CharPtr) -> bool { + handle_exception_result(|| { + let tx_bytes = from_raw_parts(tx_bytes_data, tx_bytes_len).to_vec(); + let result = cardano_serialization_lib::has_transaction_set_tag(tx_bytes).into_result()?; + Ok::(result as i32) + }) + .response(result, error) +} + + #[no_mangle] pub unsafe extern "C" fn csl_bridge_hash_auxiliary_data(auxiliary_data_rptr: RPtr, result: &mut RPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| { @@ -24082,17 +24140,6 @@ pub unsafe extern "C" fn csl_bridge_hash_script_data_with_datums(redeemers_rptr: -#[no_mangle] -pub unsafe extern "C" fn csl_bridge_hash_transaction(tx_body_rptr: RPtr, result: &mut RPtr, error: &mut CharPtr) -> bool { - handle_exception_result(|| { - let tx_body = tx_body_rptr.typed_ref::()?; - let result = cardano_serialization_lib::hash_transaction(tx_body); - Ok::(result.rptr()) - }) - .response(result, error) -} - - #[no_mangle] pub unsafe extern "C" fn csl_bridge_make_daedalus_bootstrap_witness(tx_body_hash_rptr: RPtr, addr_rptr: RPtr, key_rptr: RPtr, result: &mut RPtr, error: &mut CharPtr) -> bool { handle_exception_result(|| {