Skip to content

Commit 886de98

Browse files
authored
Merge pull request #204 from Emurgo/tx-builder-max-output-size-fixes
Tx builder max output size fixes
2 parents 6238440 + de1388a commit 886de98

File tree

9 files changed

+520
-148
lines changed

9 files changed

+520
-148
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cardano-serialization-lib",
3-
"version": "8.1.0",
3+
"version": "9.0.0-beta.1",
44
"description": "(De)serialization functions for the Cardano blockchain along with related utility functions",
55
"scripts": {
66
"rust:build-nodejs": "rimraf ./rust/pkg && cd rust; wasm-pack build --target=nodejs; wasm-pack pack; cd .. && npm run js:flowgen",

rust/Cargo.lock

Lines changed: 1 addition & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "cardano-serialization-lib"
3-
version = "8.1.0"
3+
version = "9.0.0-beta.1"
44
edition = "2018"
55
authors = ["EMURGO"]
66
license = "MIT"

rust/pkg/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

rust/pkg/cardano_serialization_lib.js.flow

Lines changed: 92 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,42 @@
55
* @flow
66
*/
77

8+
/**
9+
* @param {Uint8Array} bytes
10+
* @returns {TransactionMetadatum}
11+
*/
12+
declare export function encode_arbitrary_bytes_as_metadatum(
13+
bytes: Uint8Array
14+
): TransactionMetadatum;
15+
16+
/**
17+
* @param {TransactionMetadatum} metadata
18+
* @returns {Uint8Array}
19+
*/
20+
declare export function decode_arbitrary_bytes_from_metadatum(
21+
metadata: TransactionMetadatum
22+
): Uint8Array;
23+
24+
/**
25+
* @param {string} json
26+
* @param {number} schema
27+
* @returns {TransactionMetadatum}
28+
*/
29+
declare export function encode_json_str_to_metadatum(
30+
json: string,
31+
schema: number
32+
): TransactionMetadatum;
33+
34+
/**
35+
* @param {TransactionMetadatum} metadatum
36+
* @param {number} schema
37+
* @returns {string}
38+
*/
39+
declare export function decode_metadatum_to_json_str(
40+
metadatum: TransactionMetadatum,
41+
schema: number
42+
): string;
43+
844
/**
945
* @param {string} password
1046
* @param {string} salt
@@ -120,42 +156,6 @@ declare export function min_ada_required(
120156
minimum_utxo_val: BigNum
121157
): BigNum;
122158

123-
/**
124-
* @param {Uint8Array} bytes
125-
* @returns {TransactionMetadatum}
126-
*/
127-
declare export function encode_arbitrary_bytes_as_metadatum(
128-
bytes: Uint8Array
129-
): TransactionMetadatum;
130-
131-
/**
132-
* @param {TransactionMetadatum} metadata
133-
* @returns {Uint8Array}
134-
*/
135-
declare export function decode_arbitrary_bytes_from_metadatum(
136-
metadata: TransactionMetadatum
137-
): Uint8Array;
138-
139-
/**
140-
* @param {string} json
141-
* @param {number} schema
142-
* @returns {TransactionMetadatum}
143-
*/
144-
declare export function encode_json_str_to_metadatum(
145-
json: string,
146-
schema: number
147-
): TransactionMetadatum;
148-
149-
/**
150-
* @param {TransactionMetadatum} metadatum
151-
* @param {number} schema
152-
* @returns {string}
153-
*/
154-
declare export function decode_metadatum_to_json_str(
155-
metadatum: TransactionMetadatum,
156-
schema: number
157-
): string;
158-
159159
/**
160160
*/
161161

@@ -225,6 +225,26 @@ declare export var NetworkIdKind: {|
225225
+Mainnet: 1, // 1
226226
|};
227227

228+
/**
229+
*/
230+
231+
declare export var TransactionMetadatumKind: {|
232+
+MetadataMap: 0, // 0
233+
+MetadataList: 1, // 1
234+
+Int: 2, // 2
235+
+Bytes: 3, // 3
236+
+Text: 4, // 4
237+
|};
238+
239+
/**
240+
*/
241+
242+
declare export var MetadataJsonSchema: {|
243+
+NoConversions: 0, // 0
244+
+BasicConversions: 1, // 1
245+
+DetailedSchema: 2, // 2
246+
|};
247+
228248
/**
229249
*/
230250

@@ -253,26 +273,6 @@ declare export var RedeemerTagKind: {|
253273
+Reward: 3, // 3
254274
|};
255275

256-
/**
257-
*/
258-
259-
declare export var TransactionMetadatumKind: {|
260-
+MetadataMap: 0, // 0
261-
+MetadataList: 1, // 1
262-
+Int: 2, // 2
263-
+Bytes: 3, // 3
264-
+Text: 4, // 4
265-
|};
266-
267-
/**
268-
*/
269-
270-
declare export var MetadataJsonSchema: {|
271-
+NoConversions: 0, // 0
272-
+BasicConversions: 1, // 1
273-
+DetailedSchema: 2, // 2
274-
|};
275-
276276
/**
277277
*/
278278
declare export class Address {
@@ -375,6 +375,17 @@ declare export class AssetNames {
375375
declare export class Assets {
376376
free(): void;
377377

378+
/**
379+
* @returns {Uint8Array}
380+
*/
381+
to_bytes(): Uint8Array;
382+
383+
/**
384+
* @param {Uint8Array} bytes
385+
* @returns {Assets}
386+
*/
387+
static from_bytes(bytes: Uint8Array): Assets;
388+
378389
/**
379390
* @returns {Assets}
380391
*/
@@ -612,6 +623,11 @@ declare export class BigNum {
612623
*/
613624
to_str(): string;
614625

626+
/**
627+
* @returns {BigNum}
628+
*/
629+
static zero(): BigNum;
630+
615631
/**
616632
* @param {BigNum} other
617633
* @returns {BigNum}
@@ -4889,13 +4905,17 @@ declare export class TransactionBuilder {
48894905
* @param {BigNum} minimum_utxo_val
48904906
* @param {BigNum} pool_deposit
48914907
* @param {BigNum} key_deposit
4908+
* @param {number} max_output_size
4909+
* @param {number} max_tx_size
48924910
* @returns {TransactionBuilder}
48934911
*/
48944912
static new(
48954913
linear_fee: LinearFee,
48964914
minimum_utxo_val: BigNum,
48974915
pool_deposit: BigNum,
4898-
key_deposit: BigNum
4916+
key_deposit: BigNum,
4917+
max_output_size: number,
4918+
max_tx_size: number
48994919
): TransactionBuilder;
49004920

49014921
/**
@@ -4933,6 +4953,21 @@ declare export class TransactionBuilder {
49334953
*/
49344954
add_change_if_needed(address: Address): boolean;
49354955

4956+
/**
4957+
* @returns {number}
4958+
*/
4959+
full_size(): number;
4960+
4961+
/**
4962+
* @returns {Uint32Array}
4963+
*/
4964+
output_sizes(): Uint32Array;
4965+
4966+
/**
4967+
* @returns {Uint32Array}
4968+
*/
4969+
output_value_sizes(): Uint32Array;
4970+
49364971
/**
49374972
* @returns {TransactionBody}
49384973
*/

rust/src/lib.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ impl TransactionInput {
385385
#[derive(Clone, Debug)]
386386
pub struct TransactionOutput {
387387
address: Address,
388-
amount: Value,
388+
pub (crate) amount: Value,
389389
data_hash: Option<DataHash>,
390390
}
391391

@@ -2461,7 +2461,9 @@ pub type PolicyIDs = ScriptHashes;
24612461

24622462
#[wasm_bindgen]
24632463
#[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)]
2464-
pub struct Assets(std::collections::BTreeMap<AssetName, BigNum>);
2464+
pub struct Assets(pub (crate) std::collections::BTreeMap<AssetName, BigNum>);
2465+
2466+
to_from_bytes!(Assets);
24652467

24662468
#[wasm_bindgen]
24672469
impl Assets {
@@ -2488,7 +2490,7 @@ impl Assets {
24882490

24892491
#[wasm_bindgen]
24902492
#[derive(Clone, Debug, Eq, Ord, PartialEq)]
2491-
pub struct MultiAsset(std::collections::BTreeMap<PolicyID, Assets>);
2493+
pub struct MultiAsset(pub (crate) std::collections::BTreeMap<PolicyID, Assets>);
24922494

24932495
to_from_bytes!(MultiAsset);
24942496

0 commit comments

Comments
 (0)