Skip to content

Commit 4e94931

Browse files
committed
chore(sdk-coin-ada): bump CSL version and more
Bump CSL version and expose signature in ADA txn wrapper EA-621
1 parent c2a341a commit 4e94931

File tree

6 files changed

+39
-23
lines changed

6 files changed

+39
-23
lines changed

modules/sdk-coin-ada/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
"dependencies": {
4343
"@bitgo/sdk-core": "^8.10.0",
4444
"@bitgo/statics": "^17.0.1",
45-
"@emurgo/cardano-serialization-lib-browser": "^10.2.0",
46-
"@emurgo/cardano-serialization-lib-nodejs": "^10.2.0",
45+
"@emurgo/cardano-serialization-lib-browser": "^11.4.0",
46+
"@emurgo/cardano-serialization-lib-nodejs": "^11.4.0",
4747
"bech32": "^2.0.0",
4848
"bignumber.js": "^9.0.2",
4949
"lodash": "^4.17.21",

modules/sdk-coin-ada/src/lib/transaction.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,14 @@ export class Transaction extends BaseTransaction {
245245

246246
this._fee = txn.body().fee().to_str();
247247
this.loadInputsAndOutputs();
248+
249+
if (this._transaction.witness_set().vkeys()) {
250+
const vkeys = this._transaction.witness_set().vkeys()! as CardanoWasm.Vkeywitnesses;
251+
for (let i = 0; i < vkeys.len(); i++) {
252+
const vkey = vkeys.get(i);
253+
this._signatures.push(vkey.signature().to_hex());
254+
}
255+
}
248256
} catch (e) {
249257
throw new InvalidTransactionError('unable to build transaction from raw');
250258
}

modules/sdk-coin-ada/src/lib/transactionBuilder.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@ export abstract class TransactionBuilder extends BaseTransactionBuilder {
283283
const vkey = CardanoWasm.Vkey.new(CardanoWasm.PublicKey.from_bytes(Buffer.from(signature.publicKey.pub, 'hex')));
284284
const ed255Sig = CardanoWasm.Ed25519Signature.from_bytes(signature.signature);
285285
vkeyWitnesses.add(CardanoWasm.Vkeywitness.new(vkey, ed255Sig));
286+
this._transaction.signature.push(signature.signature.toString('hex'));
286287
});
287288
witnessSet.set_vkeys(vkeyWitnesses);
288289

modules/sdk-coin-ada/test/resources/index.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -148,15 +148,15 @@ export const rawTx = {
148148
'a600818258203677e75c7ba699bfdc6cd57d42f246f86f63aefd76025006ac78313fad2bba2101018182583901c7b28bcea90d440b5455a6a02a27ca59b8696f067fc1967f47f933e79558e969caa9e57adcfc40b9907eb794363b590faf42fff48c38eb881a004d52e2021a00029ee5031a2faf0800048005a1581de0188fde65b1f9bd69b0edcc4e5a65fa93a13773090e1e2eef7a25cfdb1a0012e8c7',
149149
unsignedStakingWithdrawTxHash: 'd4aa6878f9b810bd566aba4447eaf079ca86478175ef6d92f8d0e0fa5701d50e',
150150
unsignedNewPledgeTx:
151-
'84a50081825820985b52472d4dbc184a402df5b3cd0b67bb7e9b86ec27c20a0dc917898f64410c0001818258390085e399d9be12e5d7cef3bd44119d55432ae10ba8cfa07cede12370681fc30799b291432f1aade73a4e960e2d22511f1a797d7c47a569dba11b000000023633be28021a0002d509031a01d8063b04828a03581c76044d3aa9caafbb213ae45f9a3f5ad3cc6c836f375ebbcfa5c83681582034646b66ff5bac4a40c1b8558ee8a160524151f18f1f4b06450e8414bf562e311a05f5e1001a14904840d81e820f1864581de11fc30799b291432f1aade73a4e960e2d22511f1a797d7c47a569dba181581c76044d3aa9caafbb213ae45f9a3f5ad3cc6c836f375ebbcfa5c83681818301191770782172656c61796e6f6465312e6d79616461706f6f6c6e616d65726f636b732e636f6df683028200581c1fc30799b291432f1aade73a4e960e2d22511f1a797d7c47a569dba1581c76044d3aa9caafbb213ae45f9a3f5ad3cc6c836f375ebbcfa5c83681a10080f5f6',
151+
'84a5008282582078e05b7941011b5275552d0e5074056273125e18aac81643bfc3de59abac0e8600825820ce6d283af95b4da0e4b86f20ddf25dfb0343a7402e35877307c1465bd7beeafa000181825839006d57dea46753025b2c4e0fd9244df6a08fdd059dd1432af5eb7abbec6d57dea46753025b2c4e0fd9244df6a08fdd059dd1432af5eb7abbec1a59682f00021a000f42400319ea6004828a03581c10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a058201cc18daee56cb67a5dfb860194cd1e878be38401f3990efd92e16c5f8f4d959c1a05f5e1001a1dcd6500d81e820314581de0a9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a16181581ca9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a161818301191770782572656c6179732d6e65772e63617264616e6f2d746573746e65742e696f686b6465762e696f827368747470733a2f2f72622e67792f697a747a71582010c343fe0f6c01291df08de0ddc8fcbc07bccb503c51ffc051785e783b8d2f4483028200581ca9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a161581c10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a0a10080f5f6',
152152
unsignedNewPledgeTxBody:
153-
'a50081825820985b52472d4dbc184a402df5b3cd0b67bb7e9b86ec27c20a0dc917898f64410c0001818258390085e399d9be12e5d7cef3bd44119d55432ae10ba8cfa07cede12370681fc30799b291432f1aade73a4e960e2d22511f1a797d7c47a569dba11b000000023633be28021a0002d509031a01d8063b04828a03581c76044d3aa9caafbb213ae45f9a3f5ad3cc6c836f375ebbcfa5c83681582034646b66ff5bac4a40c1b8558ee8a160524151f18f1f4b06450e8414bf562e311a05f5e1001a14904840d81e820f1864581de11fc30799b291432f1aade73a4e960e2d22511f1a797d7c47a569dba181581c76044d3aa9caafbb213ae45f9a3f5ad3cc6c836f375ebbcfa5c83681818301191770782172656c61796e6f6465312e6d79616461706f6f6c6e616d65726f636b732e636f6df683028200581c1fc30799b291432f1aade73a4e960e2d22511f1a797d7c47a569dba1581c76044d3aa9caafbb213ae45f9a3f5ad3cc6c836f375ebbcfa5c83681',
154-
unsignedNewPledgeTxHash: 'dfa11367be1c45c0a2b98c350f7d6f04af08d123ec4d8ac9030676b75491f210',
153+
'a5008282582078e05b7941011b5275552d0e5074056273125e18aac81643bfc3de59abac0e8600825820ce6d283af95b4da0e4b86f20ddf25dfb0343a7402e35877307c1465bd7beeafa000181825839006d57dea46753025b2c4e0fd9244df6a08fdd059dd1432af5eb7abbec6d57dea46753025b2c4e0fd9244df6a08fdd059dd1432af5eb7abbec1a59682f00021a000f42400319ea6004828a03581c10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a058201cc18daee56cb67a5dfb860194cd1e878be38401f3990efd92e16c5f8f4d959c1a05f5e1001a1dcd6500d81e820314581de0a9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a16181581ca9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a161818301191770782572656c6179732d6e65772e63617264616e6f2d746573746e65742e696f686b6465762e696f827368747470733a2f2f72622e67792f697a747a71582010c343fe0f6c01291df08de0ddc8fcbc07bccb503c51ffc051785e783b8d2f4483028200581ca9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a161581c10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a0',
154+
unsignedNewPledgeTxHash: '2acd6d314772eaa046d0cca7ef0306599d9d8dd961ad38da69e5f5b4cefafd7d',
155155
unsignedUpdatePledgeTx:
156-
'84a500818258203b40265111d8bb3c3c608d95b3a0bf83461ace32d79336579a1939b3aad1c0b700018182583901eb0baa5e570cffbe2934db29df0b6a3d7c0430ee65d4c3a7ab2fefb91bc428e4720702ebd5dab4fb175324c192dc9bb76cc5da956e3c8dff0102182a030a04818a03581cf61c42cbf7c8c53af3f520508212ad3e72f674f957fe23ff0acb49735820198890ad6c92e80fbdab554dda02da9fb49d001bbd96181f3e07f7a6ab0d06401a1dcd65001a1443fd00d81e820102581de13a7f09d3df4cf66a7399c2b05bfa234d5a29560c311fc5db4c49071182581c122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b4277581c3a7f09d3df4cf66a7399c2b05bfa234d5a29560c311fc5db4c4907118584001904d244c0a8000150b80d01200000a3852e8a00003473700384001904d2f650b80d01200000a3852e8a00003473700384001904d244c0a80001f683011904d26d7777772e746573742e7465737482026e7777772e74657374322e74657374827568747470733a2f2f7777772e746573742e746573745820914c57c1f12bbf4a82b12d977d4f274674856a11ed4b9b95bd70f5d41c5064a6a10080f5f6',
156+
'84a5008282582078e05b7941011b5275552d0e5074056273125e18aac81643bfc3de59abac0e8600825820ce6d283af95b4da0e4b86f20ddf25dfb0343a7402e35877307c1465bd7beeafa000181825839006d57dea46753025b2c4e0fd9244df6a08fdd059dd1432af5eb7abbec6d57dea46753025b2c4e0fd9244df6a08fdd059dd1432af5eb7abbec1a59682f00021a000f42400319ea6004818a03581c10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a058201cc18daee56cb67a5dfb860194cd1e878be38401f3990efd92e16c5f8f4d959c1a05f5e1001a1dcd6500d81e820314581de0a9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a16181581ca9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a161818301191770782572656c6179732d6e65772e63617264616e6f2d746573746e65742e696f686b6465762e696f827368747470733a2f2f72622e67792f697a747a71582010c343fe0f6c01291df08de0ddc8fcbc07bccb503c51ffc051785e783b8d2f44a10080f5f6',
157157
unsignedUpdatePledgeTxBody:
158-
'a500818258203b40265111d8bb3c3c608d95b3a0bf83461ace32d79336579a1939b3aad1c0b700018182583901eb0baa5e570cffbe2934db29df0b6a3d7c0430ee65d4c3a7ab2fefb91bc428e4720702ebd5dab4fb175324c192dc9bb76cc5da956e3c8dff0102182a030a04818a03581cf61c42cbf7c8c53af3f520508212ad3e72f674f957fe23ff0acb49735820198890ad6c92e80fbdab554dda02da9fb49d001bbd96181f3e07f7a6ab0d06401a1dcd65001a1443fd00d81e820102581de13a7f09d3df4cf66a7399c2b05bfa234d5a29560c311fc5db4c49071182581c122a946b9ad3d2ddf029d3a828f0468aece76895f15c9efbd69b4277581c3a7f09d3df4cf66a7399c2b05bfa234d5a29560c311fc5db4c4907118584001904d244c0a8000150b80d01200000a3852e8a00003473700384001904d2f650b80d01200000a3852e8a00003473700384001904d244c0a80001f683011904d26d7777772e746573742e7465737482026e7777772e74657374322e74657374827568747470733a2f2f7777772e746573742e746573745820914c57c1f12bbf4a82b12d977d4f274674856a11ed4b9b95bd70f5d41c5064a6',
159-
unsignedUpdatePledgeTxHash: 'e3b9a5657bf62609465a930c8359d774c73944973cfc5a104a0f0ed1e1e8db21',
158+
'a5008282582078e05b7941011b5275552d0e5074056273125e18aac81643bfc3de59abac0e8600825820ce6d283af95b4da0e4b86f20ddf25dfb0343a7402e35877307c1465bd7beeafa000181825839006d57dea46753025b2c4e0fd9244df6a08fdd059dd1432af5eb7abbec6d57dea46753025b2c4e0fd9244df6a08fdd059dd1432af5eb7abbec1a59682f00021a000f42400319ea6004818a03581c10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a058201cc18daee56cb67a5dfb860194cd1e878be38401f3990efd92e16c5f8f4d959c1a05f5e1001a1dcd6500d81e820314581de0a9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a16181581ca9fd4c265da033970e0b22b06422e12b3479e8dbd35abc82d405a161818301191770782572656c6179732d6e65772e63617264616e6f2d746573746e65742e696f686b6465762e696f827368747470733a2f2f72622e67792f697a747a71582010c343fe0f6c01291df08de0ddc8fcbc07bccb503c51ffc051785e783b8d2f44',
159+
unsignedUpdatePledgeTxHash: '671dfd283740d707e03a8ee5d21b3b9e3e50f57db68dc930606740ac7043151c',
160160
pledgeNodeKeyPubkey: '1b400d60aaf34eaf6dcbab9bba46001a23497886cf11066f7846933d30e5ad3f',
161161
pledgeNodeWitnessSignature:
162162
'6c92508135cb060187a2706ade8154782867b1526e9615d06742be5c56f037ab85894c098c2ab07971133c0477baee92adf3527ad7cc816f13e1e4c361041206',

modules/sdk-coin-ada/test/unit/stakingPledgeBuilder.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ describe('ADA Staking Pledge Transaction Builder', async () => {
1515
const tx = (await txBuilder.build()) as Transaction;
1616
should.equal(tx.type, TransactionType.StakingPledge);
1717
const txData = tx.toJson();
18-
txData.inputs.length.should.equal(1);
18+
txData.inputs.length.should.equal(2);
1919
txData.outputs.length.should.equal(1);
2020
txData.certs.length.should.equal(2);
2121
txData.certs[0].type.should.equal(3);
2222
txData.certs[1].type.should.equal(1);
2323
should.exist(txData.certs[1].poolKeyHash);
24-
txData.certs[0].poolKeyHash!.should.equal('76044d3aa9caafbb213ae45f9a3f5ad3cc6c836f375ebbcfa5c83681');
24+
txData.certs[0].poolKeyHash!.should.equal('10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a0');
2525
txData.withdrawals.length.should.equal(0);
2626
txData.witnesses.length.should.equal(0);
2727

2828
const fee = tx.getFee;
29-
fee.should.equal('185609');
29+
fee.should.equal('1000000');
3030
tx.toBroadcastFormat().should.equal(rawTx.unsignedNewPledgeTx);
3131
should.equal(tx.id, rawTx.unsignedNewPledgeTxHash);
3232

@@ -42,17 +42,17 @@ describe('ADA Staking Pledge Transaction Builder', async () => {
4242
const tx = (await txBuilder.build()) as Transaction;
4343
should.equal(tx.type, TransactionType.StakingPledge);
4444
const txData = tx.toJson();
45-
txData.inputs.length.should.equal(1);
45+
txData.inputs.length.should.equal(2);
4646
txData.outputs.length.should.equal(1);
4747
txData.certs.length.should.equal(1);
4848
txData.certs[0].type.should.equal(3);
4949
should.exist(txData.certs[0].poolKeyHash);
50-
txData.certs[0].poolKeyHash!.should.equal('f61c42cbf7c8c53af3f520508212ad3e72f674f957fe23ff0acb4973');
50+
txData.certs[0].poolKeyHash!.should.equal('10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a0');
5151
txData.withdrawals.length.should.equal(0);
5252
txData.witnesses.length.should.equal(0);
5353

5454
const fee = tx.getFee;
55-
fee.should.equal('42');
55+
fee.should.equal('1000000');
5656
tx.toBroadcastFormat().should.equal(rawTx.unsignedUpdatePledgeTx);
5757
should.equal(tx.id, rawTx.unsignedUpdatePledgeTxHash);
5858

@@ -67,7 +67,14 @@ describe('ADA Staking Pledge Transaction Builder', async () => {
6767
txBuilder.initBuilder(prebuiltTx);
6868
txBuilder.addNodeKeyWitness(rawTx.pledgeNodeKeyPubkey, rawTx.pledgeNodeWitnessSignature);
6969
const tx = (await txBuilder.build()) as Transaction;
70+
tx.signature.length.should.equal(1);
7071
const txData = tx.toJson();
7172
txData.witnesses.length.should.equal(1);
73+
74+
const rebuiltTx = new Transaction(coins.get('tada'));
75+
rebuiltTx.fromRawTransaction(tx.toBroadcastFormat());
76+
rebuiltTx.signature.length.should.equal(1);
77+
rebuiltTx.toBroadcastFormat().should.equal(tx.toBroadcastFormat());
78+
rebuiltTx.toBroadcastFormat().should.not.equal(rawTx.unsignedUpdatePledgeTx);
7279
});
7380
});

yarn.lock

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1513,15 +1513,15 @@
15131513
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
15141514
integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
15151515

1516-
"@emurgo/cardano-serialization-lib-browser@^10.2.0":
1517-
version "10.2.0"
1518-
resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-10.2.0.tgz#5eb1d1b579072598e4911e5d8ae23f63e22e7b28"
1519-
integrity sha512-b4RrWtC5y8+bjKp9sFo8IWXg+xIatXoUq4YcqFDReDN6dpHRjLlOJv7h9Da6VA5GXvLQy6vOFuieAZJFGng9FQ==
1520-
1521-
"@emurgo/cardano-serialization-lib-nodejs@^10.2.0":
1522-
version "10.2.0"
1523-
resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-10.2.0.tgz#e76ee34fca434b5b0c95cf33ef61548d6845f79e"
1524-
integrity sha512-rRWBQcbQlMj4GS7gt6toxRzY9cjMfFBWYKWrfH+eEqUXSO+3blKKA3T/yra3khxU/8+EAY1T94uoUDvjkrpTzg==
1516+
"@emurgo/cardano-serialization-lib-browser@^11.4.0":
1517+
version "11.4.0"
1518+
resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-browser/-/cardano-serialization-lib-browser-11.4.0.tgz#53b5f26fac06e4f6bdef7a11eb57aebf403b1ef4"
1519+
integrity sha512-VWMvLRBFo7MAYh42zledURFs5BpMTWvkP4DzsLNbyJxZlwjDS+bPyehJVyGc116d2gq8NHFmANbfdeuK8ffJ7A==
1520+
1521+
"@emurgo/cardano-serialization-lib-nodejs@^11.4.0":
1522+
version "11.4.0"
1523+
resolved "https://registry.yarnpkg.com/@emurgo/cardano-serialization-lib-nodejs/-/cardano-serialization-lib-nodejs-11.4.0.tgz#2a47d1cbdbfe6ad96ea55ba03d6cbec90497ea9d"
1524+
integrity sha512-dMiofDcqv+IrAITCgWBZmsMLqwv2xImDsJDSrKiYYG1zRKaL8XfMOxx6S0WEnKVj5/343Q5FFURYcSu3iBRNMQ==
15251525

15261526
"@es-joy/jsdoccomment@^0.4.4":
15271527
version "0.4.4"

0 commit comments

Comments
 (0)