Socket
Socket
Sign inDemoInstall

@tango-crypto/tangocrypto-js

Package Overview
Dependencies
29
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.2 to 1.0.3

examples/nfts/create-collection.js

21

dist/examples/transactions/mint.js

@@ -29,3 +29,13 @@ "use strict";

const request = {
"inputs": inputs.map(i => ({ address: i.address, hash: i.hash, value: i.value, asset: i.assets })),
"inputs": inputs.map(i => ({
address: i.address,
index: i.index,
hash: i.hash,
value: i.value,
assets: i.assets.map(a => ({
policy_id: a.policy_id,
asset_name: a.asset_name,
quantity: a.quantity
}))
})),
"recipients": {

@@ -35,9 +45,9 @@ "addr_test1qzy4e509u7jtztnn0p3v6rypup5w48t63pgkhtsup6anumqrejvpmpdfe7zt662gdx98f3d5a0phjrh6hvxyjhecpe3q422hpz": [

"policy_id": "18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8",
"asset_name": "BuildTxTest#001",
"asset_name": "BuildTxTest#005",
"quantity": 1,
"metadata": {
"721": {
"cdf7a949cca0d57a27f862d525e4d4c734c1d503cbc7f04c1ac2350e": {
"BuildTxTest#001": {
"name": "BuildTxTest #001",
"18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8": {
"BuildTxTest#005": {
"name": "BuildTxTest #005",
"image": "ipfs://QmbFhLR5C6BmTW7apgDMVmGozLuEUZwoezcgHQeULT59M5",

@@ -67,2 +77,3 @@ "description": "Little BuildTxTest description"

};
console.log('request:', JSON.stringify(request, null, 2));
const response = yield txClient.buildTransaction(request);

@@ -69,0 +80,0 @@ const buildTx = response.result;

@@ -78,9 +78,17 @@ "use strict";

signTransaction(signTxRequest) {
const { tx: encoded, keys } = signTxRequest;
const signingKeys = keys.map(key => serialization_util_1.Seed.getPrivateKey(key));
const buffer = Buffer.from(encoded, 'hex');
const tx = multisig_transaction_1.MultisigTransaction.fromBytes(buffer);
for (const prvKey of signingKeys) {
tx.addKeyWitnesses(prvKey);
const { tx: cborTx, keys, witnesses } = signTxRequest;
const tx = multisig_transaction_1.MultisigTransaction.fromRawTx(cborTx);
// add signing keys
if (keys && keys.length > 0) {
const signingKeys = keys.map(key => serialization_util_1.Seed.getPrivateKey(key));
for (const prvKey of signingKeys) {
tx.addWitnessesFromKeys(prvKey);
}
}
// add witnesses (already signed keys)
if (witnesses) {
tx.addWitnesses(witnesses);
}
// const buffer = Buffer.from(cborTx, 'hex');
// const tx = MultisigTransaction.fromBytes(buffer);
const signed = tx.build();

@@ -87,0 +95,0 @@ return Promise.resolve(signed);

@@ -19,3 +19,4 @@ /// <reference types="node" />

}, config: any, encoding: BufferEncoding, metadata?: AuxiliaryData, tokens?: Asset[]): MultisigTransaction;
addKeyWitnesses(...privateKeys: PrivateKey[]): void;
addWitnessesFromKeys(...privateKeys: PrivateKey[]): void;
addWitnesses(witnesses: string): void;
adjustFee(txBody: TransactionBody, coinSelection: CoinSelection, tokens: Asset[], numberOfWitnesses: number, config: any, encoding: BufferEncoding): TransactionBody;

@@ -29,2 +30,3 @@ build(): string;

static fromBytes(bytes: Uint8Array): MultisigTransaction;
static fromRawTx(cborTx: string): MultisigTransaction;
private toJSON;

@@ -31,0 +33,0 @@ private static fromJSON;

@@ -28,3 +28,3 @@ "use strict";

}
addKeyWitnesses(...privateKeys) {
addWitnessesFromKeys(...privateKeys) {
privateKeys.forEach(prvKey => {

@@ -36,2 +36,12 @@ // add keyhash witnesses

}
addWitnesses(witnesses) {
const witnessSet = cardano_serialization_lib_nodejs_1.TransactionWitnessSet.from_bytes(Buffer.from(witnesses, 'hex'));
const vkeys = witnessSet.vkeys();
if (vkeys) {
for (let i = 0; i < vkeys.len(); i++) {
const vkeyWitness = vkeys.get(i);
this.vkeyWitnesses.add(vkeyWitness);
}
}
}
adjustFee(txBody, coinSelection, tokens, numberOfWitnesses, config, encoding) {

@@ -144,2 +154,21 @@ const bodyFee = parseInt(txBody.fee().to_str());

}
static fromRawTx(cborTx) {
const multisig = new MultisigTransaction();
const tx = serialization_util_1.Seed.getTransaction(cborTx);
multisig.txBody = tx.body();
multisig.txHash = (0, cardano_serialization_lib_nodejs_1.hash_transaction)(multisig.txBody);
multisig.metadata = tx.auxiliary_data();
const witnessesSet = tx.witness_set();
if (witnessesSet.native_scripts()) {
multisig.nativeScripts = witnessesSet.native_scripts();
}
if (witnessesSet.vkeys()) {
const vkeys = witnessesSet.vkeys();
for (let i = 0; i < vkeys.len(); i++) {
const vkeyWitness = vkeys.get(i);
multisig.vkeyWitnesses.add(vkeyWitness);
}
}
return multisig;
}
toJSON() {

@@ -146,0 +175,0 @@ const keys = Array.from(Array(this.vkeyWitnesses.len()).keys()).map(i => this.vkeyWitnesses.get(i).to_bytes()).map(k => Buffer.from(k).toString('hex'));

export interface SignTxRequest {
tx: string;
keys: string[];
keys?: string[];
witnesses?: string;
}

@@ -288,4 +288,5 @@ /// <reference types="node" />

static findScriptExpireSlot(script: JsonScript): number;
static getTransaction(cborTx: string): Transaction;
private static isInteger;
private static toBigNum;
}

@@ -982,2 +982,5 @@ "use strict";

}
static getTransaction(cborTx) {
return cardano_serialization_lib_nodejs_1.Transaction.from_bytes(Buffer.from(cborTx, 'hex'));
}
static isInteger(value) {

@@ -984,0 +987,0 @@ return Number.isInteger(Number(value));

@@ -19,6 +19,16 @@ import { BuildTxRequest } from "../../src/api";

const inputs = (await addrClient.listAddressUtxos('addr_test1qpemm54tmynjhuyw0qhzdpnras29c3pc8gxvc4afpsa3uwglmrag6mlare663x64ugkkv8nqhqg3z6u78xa49fq6wmts55h5y9')).result.data;
// build tx
const request: BuildTxRequest = {
"inputs": inputs.map(i => ({ address: i.address, hash: i.hash, value: i.value, asset: i.assets })), // use address inputs here as spending utxos
"inputs": inputs.map(i => ({
address: i.address,
index: i.index,
hash: i.hash,
value: i.value,
assets: i.assets.map(a => ({
policy_id: a.policy_id,
asset_name: a.asset_name,
quantity: a.quantity
}))
})), // use address inputs here as spending utxos
"recipients": {

@@ -28,9 +38,9 @@ "addr_test1qzy4e509u7jtztnn0p3v6rypup5w48t63pgkhtsup6anumqrejvpmpdfe7zt662gdx98f3d5a0phjrh6hvxyjhecpe3q422hpz": [

"policy_id": "18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8",
"asset_name": "BuildTxTest#001",
"asset_name": "BuildTxTest#005",
"quantity": 1,
"metadata": {
"721": {
"cdf7a949cca0d57a27f862d525e4d4c734c1d503cbc7f04c1ac2350e": {
"BuildTxTest#001": {
"name": "BuildTxTest #001",
"18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8": {
"BuildTxTest#005": {
"name": "BuildTxTest #005",
"image": "ipfs://QmbFhLR5C6BmTW7apgDMVmGozLuEUZwoezcgHQeULT59M5",

@@ -60,7 +70,11 @@ "description": "Little BuildTxTest description"

}
console.log('request:', JSON.stringify(request, null, 2));
const response = await txClient.buildTransaction(request);
const buildTx = response.result;
// sign tx

@@ -67,0 +81,0 @@ const keys = [

{
"name": "@tango-crypto/tangocrypto-js",
"version": "1.0.2",
"version": "1.0.3",
"description": "Javascript client for tangocrypto API",
"author": "Tangocrypto",
"license": "Apache-2.0",
"author": "tangocrypto.com",
"repository": {

@@ -7,0 +8,0 @@ "type": "git",

@@ -88,13 +88,21 @@ import { AxiosInstance } from "axios";

public signTransaction(signTxRequest: SignTxRequest) {
const { tx: encoded, keys } = signTxRequest;
const { tx: cborTx, keys, witnesses } = signTxRequest;
const tx = MultisigTransaction.fromRawTx(cborTx);
const signingKeys = keys.map(key => Seed.getPrivateKey(key));
const buffer = Buffer.from(encoded, 'hex');
// add signing keys
if (keys && keys.length > 0) {
const signingKeys = keys.map(key => Seed.getPrivateKey(key));
for (const prvKey of signingKeys) {
tx.addWitnessesFromKeys(prvKey);
}
}
const tx = MultisigTransaction.fromBytes(buffer);
for (const prvKey of signingKeys) {
tx.addKeyWitnesses(prvKey);
// add witnesses (already signed keys)
if (witnesses) {
tx.addWitnesses(witnesses);
}
// const buffer = Buffer.from(cborTx, 'hex');
// const tx = MultisigTransaction.fromBytes(buffer);
const signed = tx.build();

@@ -101,0 +109,0 @@ return Promise.resolve(signed);

@@ -48,41 +48,2 @@ import * as chai from 'chai';

const address = 'addr_test1qpemm54tmynjhuyw0qhzdpnras29c3pc8gxvc4afpsa3uwglmrag6mlare663x64ugkkv8nqhqg3z6u78xa49fq6wmts55h5y9';
const utxos = [
{
"address": "addr_test1qpemm54tmynjhuyw0qhzdpnras29c3pc8gxvc4afpsa3uwglmrag6mlare663x64ugkkv8nqhqg3z6u78xa49fq6wmts55h5y9",
"hash": "a440d0f2c09e25f93aadea53dfe511c00b730eef4b6ed0be614f06d48c2fdaeb",
"index": 2,
"value": 74763221,
"smart_contract": false,
"assets": []
},
{
"address": "addr_test1qpemm54tmynjhuyw0qhzdpnras29c3pc8gxvc4afpsa3uwglmrag6mlare663x64ugkkv8nqhqg3z6u78xa49fq6wmts55h5y9",
"hash": "546b99bf07c1861b8c69b80bfac543fe9eb1be044a5051398af0cabe8d424ab5",
"index": 0,
"value": 1137906,
"smart_contract": false,
"assets": []
},
{
"address": "addr_test1qpemm54tmynjhuyw0qhzdpnras29c3pc8gxvc4afpsa3uwglmrag6mlare663x64ugkkv8nqhqg3z6u78xa49fq6wmts55h5y9",
"hash": "60268e4eb0d21532500158b5074c3b46ad2b67f45cd10beea3c73db3aa2937b4",
"index": 1,
"value": 1482726,
"smart_contract": false,
"assets": [
{
"policy_id": "ef3c47ccb75e6d77e4a4c018a0ec1b8d88c253fd72b4ec29f760756e",
"asset_name": "T #023",
"fingerprint": "asset14nje838m44gkv85ry62pk7n20v5g2lwtx39yvj",
"quantity": 1
},
{
"policy_id": "ef3c47ccb75e6d77e4a4c018a0ec1b8d88c253fd72b4ec29f760756e",
"asset_name": "TTTTTTTTTTTTT #000",
"fingerprint": "asset1ftdtd3q84ql38uvcqwdm0uv0zxmattw5zm3mt5",
"quantity": 1
}
]
}
];

@@ -93,3 +54,3 @@ // act

// assert
expect(response.result.data).deep.equal(utxos);
expect(response.result.data).instanceOf(Array);
})

@@ -96,0 +57,0 @@

@@ -33,5 +33,23 @@ import * as chai from 'chai';

"address": "addr_test1qpemm54tmynjhuyw0qhzdpnras29c3pc8gxvc4afpsa3uwglmrag6mlare663x64ugkkv8nqhqg3z6u78xa49fq6wmts55h5y9",
"hash": "1c080f4e768501cd4282420199a069326f39d986a07ed3ed90ab81c5a67a6b40",
"index": 2,
"value": 78496486,
"hash": "719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b1429453044",
"index": 1,
"value": 1482726,
"assets": [
{
"policy_id": "ef3c47ccb75e6d77e4a4c018a0ec1b8d88c253fd72b4ec29f760756e",
"asset_name": "T #023",
"quantity": 1
},
{
"policy_id": "ef3c47ccb75e6d77e4a4c018a0ec1b8d88c253fd72b4ec29f760756e",
"asset_name": "TTTTTTTTTTTTT #000",
"quantity": 1
}
]
},
{
"address": "addr_test1qpemm54tmynjhuyw0qhzdpnras29c3pc8gxvc4afpsa3uwglmrag6mlare663x64ugkkv8nqhqg3z6u78xa49fq6wmts55h5y9",
"hash": "719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b1429453044",
"index": 0,
"value": 48183053,
"assets": []

@@ -57,3 +75,37 @@ }

}
},
{
"policy_id": "18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8",
"asset_name": "BuildTxTest#003",
"quantity": 1,
"metadata": {
"721": {
"cdf7a949cca0d57a27f862d525e4d4c734c1d503cbc7f04c1ac2350e": {
"BuildTxTest#003": {
"name": "BuildTxTest #003",
"image": "ipfs://QmbFhLR5C6BmTW7apgDMVmGozLuEUZwoezcgHQeULT59M5",
"description": "Little BuildTxTest description"
}
}
}
}
}
],
"addr_test1qp9mj7vnenx4v99hw7ztfq03n7dmmujpgtlyfjhhel9w67nk72usllcew208n60ym94xcptfrgytuy5apwp565x28jgsg0ztq3": [
{
"policy_id": "18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8",
"asset_name": "BuildTxTest#003",
"quantity": 1,
"metadata": {
"721": {
"cdf7a949cca0d57a27f862d525e4d4c734c1d503cbc7f04c1ac2350e": {
"BuildTxTest#002": {
"name": "BuildTxTest #003",
"image": "ipfs://QmbFhLR5C6BmTW7apgDMVmGozLuEUZwoezcgHQeULT59M5",
"description": "Little BuildTxTest description 3"
}
}
}
}
}
]

@@ -78,4 +130,4 @@ },

const buildTx = {
tx_id: "ea90b83055b91e58446e41e6a6c1b7d8c58f80f430ffdc71c52e95cd0e9f4f52",
tx: "7b22626f6479223a2261373030383138323538323031633038306634653736383530316364343238323432303139396130363933323666333964393836613037656433656439306162383163356136376136623430303230313833383235383339303037336264643261626439323732626630386537383265323638363633656331343563343433383361306363633537613930633362316533393166643866613864366666643165373561383962353565323264363631653630623831313131366239653339626235326134316137366437316130343737303533353832353833393030383935636431653565376134623132653733373836326364306338316530363865613964376138383531366261653163306562623365366330336363393831643835613963663834626436393438363938613734633562346562633337393065666162623063343935663338306536323832316130303135306264306131353831633138656432383262656461346265633133323236633432376434373434643236343262613263656634303434373062363261653138346438613134663432373536393663363435343738353436353733373432333330333033313031383235383339303037316138306461306434613462643637326238326464613564373366643930326363383762613235386438306332326436333139353438653938656561306664633734653263666636663464366536646439373336343832326632626639613236356632373063613932643230363135383231613030316538343830613135383163353831313830666434643330316539323563313233653366316665373863656536373033363962663463636134613966663365353634643761313461353434353533353435663534343134653437346630313032316130303033326436313033316130626236653936353037353832303162336666326264303630373365656665336461316331616565613361356431343262383433316433333538333764666236353133366366613132353066383530383030303961323538316331386564323832626564613462656331333232366334323764343734346432363432626132636566343034343730623632616531383464386131346634323735363936633634353437383534363537333734323333303330333130313538316335383131383066643464333031653932356331323365336631666537386365653637303336396266346363613461396666336535363464376131346135343435353335343566353434313465343734663031222c226b657973223a5b2238323538323039383230356334393365373835336464376263363934353836343661626563643937653836633934343163633261393033346165303164373135363161653138353834303166313134373466336237326462353033633964363161386431376433333664343034333132393430363862336362663966366466323935383562346465373261626333383862396435653934303266623336626266633538636331303634303538333962313264303135623932313061376663333434376266396336383036225d2c2273637269707473223a5b22383230313832383230303538316331616162653863646231313533653131633333363332373066643131626165663263613735386535366439613038363665373366376463353832303531613062623665393635222c223832303138323832303035383163386531636162633630303031653364626138636262613932326438303432383266313631636161393330313964636633386437383564333638323030353831633130653332376636653561616637363437646264306261633731633136363233383537336537303436343539643231353837393864316362225d2c226d65746164617461223a226131313930326431613137383338363336343636333736313339333433393633363336313330363433353337363133323337363633383336333236343335333233353635333436343334363333373333333436333331363433353330333336333632363333373636333033343633333136313633333233333335333036356131366634323735363936633634353437383534363537333734323333303330333161333634366536313664363537303432373536393663363435343738353436353733373432303233333033303331363536393664363136373635373833353639373036363733336132663266353136643632343636383463353233353433333634323664353435373337363137303637343434643536366434373666376134633735343535353561373736663635376136333637343835313635353534633534333533393464333536623634363537333633373236393730373436393666366537383165346336393734373436633635323034323735363936633634353437383534363537333734323036343635373336333732363937303734363936663665227d",
tx_id: "2f657ee1a618f9c684f68834429c5ee9036b8e10144b9c1396460a65a80981d8",
tx: "84a70082825820719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b142945304401825820719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b14294530440001858258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d71a0290eb788258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d7821a00169fe6a1581cef3c47ccb75e6d77e4a4c018a0ec1b8d88c253fd72b4ec29f760756ea24654202330323301525454545454545454545454545420233030300182583900895cd1e5e7a4b12e737862cd0c81e068ea9d7a88516bae1c0ebb3e6c03cc981d85a9cf84bd6948698a74c5b4ebc3790efabb0c495f380e62821a00172698a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303301825839004bb97993cccd5614b77784b481f19f9bbdf24142fe44caf7cfcaed7a76f2b90fff19729e79e9e4d96a6c05691a08be129d0b834d50ca3c91821a00150bd0a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a14f4275696c6454785465737423303033018258390071a80da0d4a4bd672b82dda5d73fd902cc87ba258d80c22d6319548e98eea0fdc74e2cff6f4d6e6dd97364822f2bf9a265f270ca92d20615821a001e8480a1581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f03021a000394ad031a0bb6e965075820b7ad7c2629bc1df95d1ff05804f4373da36cbc1b21a734607ec1834e7ca97499080009a2581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303302581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f03a2008182582098205c493e7853dd7bc69458646abecd97e86c9441cc2a9034ae01d71561ae185840741403d14c947ee7652a72e0926eb8f7b5c9b2c79158aedead2dc1cd777903046337844c0032ed608c5679f9b8e6394cf2e697eed245475bade05cb02ce3c40601828201828200581c1aabe8cdb1153e11c3363270fd11baef2ca758e56d9a0866e73f7dc582051a0bb6e9658201828200581c8e1cabc60001e3dba8cbba922d804282f161caa93019dcf38d785d368200581c10e327f6e5aaf7647dbd0bac71c166238573e7046459d2158798d1cbf5a11902d1a178386364663761393439636361306435376132376638363264353235653464346337333463316435303363626337663034633161633233353065a36f4275696c6454785465737423303031a3646e616d65704275696c64547854657374202330303165696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303033a3646e616d65704275696c64547854657374202330303365696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303032a3646e616d65704275696c64547854657374202330303365696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e78204c6974746c65204275696c64547854657374206465736372697074696f6e2033"
}

@@ -93,11 +145,11 @@

const keys = [
'xprv1gpn7d2h38j5ukpvmuz4mmrlgaprx6pcp53987ff8lkuqk2ztd4p2fdfpap4ev98hg3uj8kd36wzva3av8r776ke50dhhkm2ktpca83tj46xlscy6d7qga23ql4nn7z2hl9a4r3gqgpt6n7glv57nwkf80ypl5j63',
'xprv1zpetq5ux75u7gsryanjp7f4l39znck0x45myxrkwqh2qr8cxne9ndrt2g28kaqgc3s0er09haaxflwzljcgytmhklswtas42kd0ajsvz404dkvjje5j6wh3envwd25w728vzwzv46mlf9nzz0683ncju9y04jv8j' // minting script
];
const encoded = '7b22626f6479223a22613730303831383235383230316330383066346537363835303163643432383234323031393961303639333236663339643938366130376564336564393061623831633561363761366234303032303138333832353833393030383935636431653565376134623132653733373836326364306338316530363865613964376138383531366261653163306562623365366330336363393831643835613963663834626436393438363938613734633562346562633337393065666162623063343935663338306536323832316130303137323639386131353831633138656432383262656461346265633133323236633432376434373434643236343262613263656634303434373062363261653138346438613234663432373536393663363435343738353436353733373432333330333033313031346634323735363936633634353437383534363537333734323333303330333230313832353833393030373161383064613064346134626436373262383264646135643733666439303263633837626132353864383063323264363331393534386539386565613066646337346532636666366634643665366464393733363438323266326266396132363566323730636139326432303631353832316130303165383438306131353831633538313138306664346433303165393235633132336533663166653738636565363730333639626634636361346139666633653536346437613134613534343535333534356635343431346534373466303238323538333930303733626464326162643932373262663038653738326532363836363365633134356334343338336130636363353761393063336231653339316664386661386436666664316537356138396235356532326436363165363062383131313136623965333962623532613431613736643731613034373463626435303231613030303334626639303331613062623665393635303735383230373630633738623362323265613063306661316565626236663731366434353232633962653765383839386237353866656165393931323964626335616530653038303030396132353831633138656432383262656461346265633133323236633432376434373434643236343262613263656634303434373062363261653138346438613234663432373536393663363435343738353436353733373432333330333033313031346634323735363936633634353437383534363537333734323333303330333230313538316335383131383066643464333031653932356331323365336631666537386365653637303336396266346363613461396666336535363464376131346135343435353335343566353434313465343734663032222c226b657973223a5b2238323538323039383230356334393365373835336464376263363934353836343661626563643937653836633934343163633261393033346165303164373135363161653138353834303237393831633163626466333439643738383437383232306337346434303438623063366536653862383138373030643835353865343537323661346662396637633166616430343762376163666530376266353261326133636633346561383234653535346232346265313161386236353066653630313735316462343039225d2c2273637269707473223a5b22383230313832383230303538316331616162653863646231313533653131633333363332373066643131626165663263613735386535366439613038363665373366376463353832303531613062623665393635222c223832303138323832303035383163386531636162633630303031653364626138636262613932326438303432383266313631636161393330313964636633386437383564333638323030353831633130653332376636653561616637363437646264306261633731633136363233383537336537303436343539643231353837393864316362225d2c226d65746164617461223a226131313930326431613137383338363336343636333736313339333433393633363336313330363433353337363133323337363633383336333236343335333233353635333436343334363333373333333436333331363433353330333336333632363333373636333033343633333136313633333233333335333036356132366634323735363936633634353437383534363537333734323333303330333161333634366536313664363537303432373536393663363435343738353436353733373432303233333033303331363536393664363136373635373833353639373036363733336132663266353136643632343636383463353233353433333634323664353435373337363137303637343434643536366434373666376134633735343535353561373736663635376136333637343835313635353534633534333533393464333536623634363537333633373236393730373436393666366537383165346336393734373436633635323034323735363936633634353437383534363537333734323036343635373336333732363937303734363936663665366634323735363936633634353437383534363537333734323333303330333261333634366536313664363537303432373536393663363435343738353436353733373432303233333033303332363536393664363136373635373833353639373036363733336132663266353136643632343636383463353233353433333634323664353435373337363137303637343434643536366434373666376134633735343535353561373736663635376136333637343835313635353534633534333533393464333536623634363537333633373236393730373436393666366537383165346336393734373436633635323034323735363936633634353437383534363537333734323036343635373336333732363937303734363936663665227d';
'xprv1gpn7d2h38j5ukpvmuz4mmrlgaprx6pcp53987ff8lkuqk2ztd4p2fdfpap4ev98hg3uj8kd36wzva3av8r776ke50dhhkm2ktpca83tj46xlscy6d7qga23ql4nn7z2hl9a4r3gqgpt6n7glv57nwkf80ypl5j63',
'xprv1zpetq5ux75u7gsryanjp7f4l39znck0x45myxrkwqh2qr8cxne9ndrt2g28kaqgc3s0er09haaxflwzljcgytmhklswtas42kd0ajsvz404dkvjje5j6wh3envwd25w728vzwzv46mlf9nzz0683ncju9y04jv8j' // minting script
];
const cborTx = '84a70082825820719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b142945304401825820719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b14294530440001858258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d71a0290eb788258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d7821a00169fe6a1581cef3c47ccb75e6d77e4a4c018a0ec1b8d88c253fd72b4ec29f760756ea24654202330323301525454545454545454545454545420233030300182583900895cd1e5e7a4b12e737862cd0c81e068ea9d7a88516bae1c0ebb3e6c03cc981d85a9cf84bd6948698a74c5b4ebc3790efabb0c495f380e62821a00172698a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303301825839004bb97993cccd5614b77784b481f19f9bbdf24142fe44caf7cfcaed7a76f2b90fff19729e79e9e4d96a6c05691a08be129d0b834d50ca3c91821a00150bd0a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a14f4275696c6454785465737423303033018258390071a80da0d4a4bd672b82dda5d73fd902cc87ba258d80c22d6319548e98eea0fdc74e2cff6f4d6e6dd97364822f2bf9a265f270ca92d20615821a001e8480a1581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f03021a000394ad031a0bb6e965075820b7ad7c2629bc1df95d1ff05804f4373da36cbc1b21a734607ec1834e7ca97499080009a2581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303302581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f03a2008182582098205c493e7853dd7bc69458646abecd97e86c9441cc2a9034ae01d71561ae185840741403d14c947ee7652a72e0926eb8f7b5c9b2c79158aedead2dc1cd777903046337844c0032ed608c5679f9b8e6394cf2e697eed245475bade05cb02ce3c40601828201828200581c1aabe8cdb1153e11c3363270fd11baef2ca758e56d9a0866e73f7dc582051a0bb6e9658201828200581c8e1cabc60001e3dba8cbba922d804282f161caa93019dcf38d785d368200581c10e327f6e5aaf7647dbd0bac71c166238573e7046459d2158798d1cbf5a11902d1a178386364663761393439636361306435376132376638363264353235653464346337333463316435303363626337663034633161633233353065a36f4275696c6454785465737423303031a3646e616d65704275696c64547854657374202330303165696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303033a3646e616d65704275696c64547854657374202330303365696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303032a3646e616d65704275696c64547854657374202330303365696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e78204c6974746c65204275696c64547854657374206465736372697074696f6e2033';
const expected = '84a700818258201c080f4e768501cd4282420199a069326f39d986a07ed3ed90ab81c5a67a6b4002018382583900895cd1e5e7a4b12e737862cd0c81e068ea9d7a88516bae1c0ebb3e6c03cc981d85a9cf84bd6948698a74c5b4ebc3790efabb0c495f380e62821a00172698a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c6454785465737423303032018258390071a80da0d4a4bd672b82dda5d73fd902cc87ba258d80c22d6319548e98eea0fdc74e2cff6f4d6e6dd97364822f2bf9a265f270ca92d20615821a001e8480a1581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f028258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d71a0474cbd5021a00034bf9031a0bb6e965075820760c78b3b22ea0c0fa1eebb6f716d4522c9be7e8898b758feae99129dbc5ae0e080009a2581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303201581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f02a2008382582098205c493e7853dd7bc69458646abecd97e86c9441cc2a9034ae01d71561ae18584027981c1cbdf349d788478220c74d4048b0c6e6e8b818700d8558e45726a4fb9f7c1fad047b7acfe07bf52a2a3cf34ea824e554b24be11a8b650fe601751db409825820e46fdc0ff42bad0b7107bd89ecdd937e0297f13e8d7e68ca5d82b52343110fcd58404e430f983c80454642e628945f5207f990507b36c43f7d7e99d8a59676dbd4ed5d84dce9025421bbe4e90f46cb56533d0751fb223e9d7ad31259900194a2a70a825820f0e93930a1ea13247e73b7a332dad3b3048de90ac1147f9c4d5adb61ba46402e584064ed47947817c6f908e019530210fdb5ac46da198a0bfd1f63e6a778a536403044e4def594e9d6ee53504ad95297f5c34e0f0382115f24834ab89ca60fab050a01828201828200581c1aabe8cdb1153e11c3363270fd11baef2ca758e56d9a0866e73f7dc582051a0bb6e9658201828200581c8e1cabc60001e3dba8cbba922d804282f161caa93019dcf38d785d368200581c10e327f6e5aaf7647dbd0bac71c166238573e7046459d2158798d1cbf5a11902d1a178386364663761393439636361306435376132376638363264353235653464346337333463316435303363626337663034633161633233353065a26f4275696c6454785465737423303031a3646e616d65704275696c64547854657374202330303165696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303032a3646e616d65704275696c64547854657374202330303265696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e';
const expected = '84a70082825820719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b142945304401825820719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b14294530440001858258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d71a0290eb788258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d7821a00169fe6a1581cef3c47ccb75e6d77e4a4c018a0ec1b8d88c253fd72b4ec29f760756ea24654202330323301525454545454545454545454545420233030300182583900895cd1e5e7a4b12e737862cd0c81e068ea9d7a88516bae1c0ebb3e6c03cc981d85a9cf84bd6948698a74c5b4ebc3790efabb0c495f380e62821a00172698a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303301825839004bb97993cccd5614b77784b481f19f9bbdf24142fe44caf7cfcaed7a76f2b90fff19729e79e9e4d96a6c05691a08be129d0b834d50ca3c91821a00150bd0a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a14f4275696c6454785465737423303033018258390071a80da0d4a4bd672b82dda5d73fd902cc87ba258d80c22d6319548e98eea0fdc74e2cff6f4d6e6dd97364822f2bf9a265f270ca92d20615821a001e8480a1581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f03021a000394ad031a0bb6e965075820b7ad7c2629bc1df95d1ff05804f4373da36cbc1b21a734607ec1834e7ca97499080009a2581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303302581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f03a2008382582098205c493e7853dd7bc69458646abecd97e86c9441cc2a9034ae01d71561ae185840741403d14c947ee7652a72e0926eb8f7b5c9b2c79158aedead2dc1cd777903046337844c0032ed608c5679f9b8e6394cf2e697eed245475bade05cb02ce3c406825820e46fdc0ff42bad0b7107bd89ecdd937e0297f13e8d7e68ca5d82b52343110fcd584092a04376b41780a787f52ca793b889aee155cd971214c1ef55f852a314a718cc1cf0904f825c1a0abccfa47d9df89fe5eeeb28e2fc093bd73b9884b3ea186a06825820f0e93930a1ea13247e73b7a332dad3b3048de90ac1147f9c4d5adb61ba46402e5840dc46f23f2f7d85cf8c9b52e2e4fb66985dfea3d596ead5a3950befbbb1e6d849f80fbfe80bda9326fecc35fe0ab48e8644155786641e57ff3d79bc2511a9c00801828201828200581c1aabe8cdb1153e11c3363270fd11baef2ca758e56d9a0866e73f7dc582051a0bb6e9658201828200581c8e1cabc60001e3dba8cbba922d804282f161caa93019dcf38d785d368200581c10e327f6e5aaf7647dbd0bac71c166238573e7046459d2158798d1cbf5a11902d1a178386364663761393439636361306435376132376638363264353235653464346337333463316435303363626337663034633161633233353065a36f4275696c6454785465737423303031a3646e616d65704275696c64547854657374202330303165696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303033a3646e616d65704275696c64547854657374202330303365696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303032a3646e616d65704275696c64547854657374202330303365696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e78204c6974746c65204275696c64547854657374206465736372697074696f6e2033';
// act
const signed = await api.signTransaction({ keys, tx: encoded });
const signed = await api.signTransaction({ keys, tx: cborTx });

@@ -110,5 +162,5 @@ // assert

// arrange
const tx = '84a700818258201c080f4e768501cd4282420199a069326f39d986a07ed3ed90ab81c5a67a6b4002018382583900895cd1e5e7a4b12e737862cd0c81e068ea9d7a88516bae1c0ebb3e6c03cc981d85a9cf84bd6948698a74c5b4ebc3790efabb0c495f380e62821a00172698a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c6454785465737423303032018258390071a80da0d4a4bd672b82dda5d73fd902cc87ba258d80c22d6319548e98eea0fdc74e2cff6f4d6e6dd97364822f2bf9a265f270ca92d20615821a001e8480a1581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f028258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d71a0474cbd5021a00034bf9031a0bb6e965075820760c78b3b22ea0c0fa1eebb6f716d4522c9be7e8898b758feae99129dbc5ae0e080009a2581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303201581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f02a2008382582098205c493e7853dd7bc69458646abecd97e86c9441cc2a9034ae01d71561ae18584027981c1cbdf349d788478220c74d4048b0c6e6e8b818700d8558e45726a4fb9f7c1fad047b7acfe07bf52a2a3cf34ea824e554b24be11a8b650fe601751db409825820e46fdc0ff42bad0b7107bd89ecdd937e0297f13e8d7e68ca5d82b52343110fcd58404e430f983c80454642e628945f5207f990507b36c43f7d7e99d8a59676dbd4ed5d84dce9025421bbe4e90f46cb56533d0751fb223e9d7ad31259900194a2a70a825820f0e93930a1ea13247e73b7a332dad3b3048de90ac1147f9c4d5adb61ba46402e584064ed47947817c6f908e019530210fdb5ac46da198a0bfd1f63e6a778a536403044e4def594e9d6ee53504ad95297f5c34e0f0382115f24834ab89ca60fab050a01828201828200581c1aabe8cdb1153e11c3363270fd11baef2ca758e56d9a0866e73f7dc582051a0bb6e9658201828200581c8e1cabc60001e3dba8cbba922d804282f161caa93019dcf38d785d368200581c10e327f6e5aaf7647dbd0bac71c166238573e7046459d2158798d1cbf5a11902d1a178386364663761393439636361306435376132376638363264353235653464346337333463316435303363626337663034633161633233353065a26f4275696c6454785465737423303031a3646e616d65704275696c64547854657374202330303165696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303032a3646e616d65704275696c64547854657374202330303265696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e';
const tx = '84a70082825820719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b142945304401825820719f14091e80bebafae17e2fcb3b59c8055bbfd35d163e0b0e3a5b14294530440001858258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d71a0290eb788258390073bdd2abd9272bf08e782e268663ec145c44383a0ccc57a90c3b1e391fd8fa8d6ffd1e75a89b55e22d661e60b811116b9e39bb52a41a76d7821a00169fe6a1581cef3c47ccb75e6d77e4a4c018a0ec1b8d88c253fd72b4ec29f760756ea24654202330323301525454545454545454545454545420233030300182583900895cd1e5e7a4b12e737862cd0c81e068ea9d7a88516bae1c0ebb3e6c03cc981d85a9cf84bd6948698a74c5b4ebc3790efabb0c495f380e62821a00172698a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303301825839004bb97993cccd5614b77784b481f19f9bbdf24142fe44caf7cfcaed7a76f2b90fff19729e79e9e4d96a6c05691a08be129d0b834d50ca3c91821a00150bd0a1581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a14f4275696c6454785465737423303033018258390071a80da0d4a4bd672b82dda5d73fd902cc87ba258d80c22d6319548e98eea0fdc74e2cff6f4d6e6dd97364822f2bf9a265f270ca92d20615821a001e8480a1581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f03021a000394ad031a0bb6e965075820b7ad7c2629bc1df95d1ff05804f4373da36cbc1b21a734607ec1834e7ca97499080009a2581c18ed282beda4bec13226c427d4744d2642ba2cef404470b62ae184d8a24f4275696c6454785465737423303031014f4275696c645478546573742330303302581c581180fd4d301e925c123e3f1fe78cee670369bf4cca4a9ff3e564d7a14a544553545f54414e474f03a2008382582098205c493e7853dd7bc69458646abecd97e86c9441cc2a9034ae01d71561ae185840741403d14c947ee7652a72e0926eb8f7b5c9b2c79158aedead2dc1cd777903046337844c0032ed608c5679f9b8e6394cf2e697eed245475bade05cb02ce3c406825820e46fdc0ff42bad0b7107bd89ecdd937e0297f13e8d7e68ca5d82b52343110fcd584092a04376b41780a787f52ca793b889aee155cd971214c1ef55f852a314a718cc1cf0904f825c1a0abccfa47d9df89fe5eeeb28e2fc093bd73b9884b3ea186a06825820f0e93930a1ea13247e73b7a332dad3b3048de90ac1147f9c4d5adb61ba46402e5840dc46f23f2f7d85cf8c9b52e2e4fb66985dfea3d596ead5a3950befbbb1e6d849f80fbfe80bda9326fecc35fe0ab48e8644155786641e57ff3d79bc2511a9c00801828201828200581c1aabe8cdb1153e11c3363270fd11baef2ca758e56d9a0866e73f7dc582051a0bb6e9658201828200581c8e1cabc60001e3dba8cbba922d804282f161caa93019dcf38d785d368200581c10e327f6e5aaf7647dbd0bac71c166238573e7046459d2158798d1cbf5a11902d1a178386364663761393439636361306435376132376638363264353235653464346337333463316435303363626337663034633161633233353065a36f4275696c6454785465737423303031a3646e616d65704275696c64547854657374202330303165696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303033a3646e616d65704275696c64547854657374202330303365696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e781e4c6974746c65204275696c64547854657374206465736372697074696f6e6f4275696c6454785465737423303032a3646e616d65704275696c64547854657374202330303365696d6167657835697066733a2f2f516d6246684c52354336426d545737617067444d566d476f7a4c7545555a776f657a6367485165554c5435394d356b6465736372697074696f6e78204c6974746c65204275696c64547854657374206465736372697074696f6e2033';
const expectedTxId = 'a440d0f2c09e25f93aadea53dfe511c00b730eef4b6ed0be614f06d48c2fdaeb';
const expectedTxId = '2f657ee1a618f9c684f68834429c5ee9036b8e10144b9c1396460a65a80981d8';

@@ -226,3 +278,3 @@ // act

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"zv�\r�`���P����0�㺦�PL�",
"asset_name": "zv�\r�`���P����0�㺦�PL�",
"fingerprint": "asset109f4hv4sk8aaw2qeaspquet8hez8jqmczs5uaz",

@@ -233,3 +285,3 @@ "quantity": 7069067

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"�\"��,S^q?��lH��8P�GJ\t�'����s�=",
"asset_name": "�\"��,S^q?��lH��8P�GJ\t�'����s�=",
"fingerprint": "asset1y4292t9n698eu3eas2sl07c0a7636uc3n3qfvr",

@@ -240,3 +292,3 @@ "quantity": 785749

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"�!�͞hVya�ٻ����A+Dy�cΑZ��",
"asset_name": "�!�͞hVya�ٻ����A+Dy�cΑZ��",
"fingerprint": "asset1x2trcynescvqwutmdnta4qc9c2yrea4g3tj7nr",

@@ -253,3 +305,3 @@ "quantity": 3296181

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"��R\"}^z��H;&t'�[�b�)��^���Y�@2",
"asset_name": "��R\"}^z��H;&t'�[�b�)��^���Y�@2",
"fingerprint": "asset1jxfj2x02fnklr8lf0gc523epewafgkl9am2wrm",

@@ -272,3 +324,3 @@ "quantity": 3160119

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"{�N����\t�ֳ1 ����7U�\t�\"!��#�",
"asset_name": "{�N����\t�ֳ1 ����7U�\t�\"!��#�",
"fingerprint": "asset1acensvu6258pdzqcxjwqh0d3v52kjgjc5tq58x",

@@ -349,3 +401,3 @@ "quantity": 7069067

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"/��`�.k�����D\nE�A��E5���7�",
"asset_name": "/��`�.k�����D\nE�A��E5���7�",
"fingerprint": "asset1s3txp9ah8vpswdn4d9afyefxzq69vfwqd0thgv",

@@ -371,3 +423,3 @@ "quantity": 9223372036854747000

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"zv�\r�`���P����0�㺦�PL�",
"asset_name": "zv�\r�`���P����0�㺦�PL�",
"fingerprint": "asset109f4hv4sk8aaw2qeaspquet8hez8jqmczs5uaz",

@@ -378,3 +430,3 @@ "quantity": 7069067

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"/��`�.k�����D\nE�A��E5���7�",
"asset_name": "/��`�.k�����D\nE�A��E5���7�",
"fingerprint": "asset1s3txp9ah8vpswdn4d9afyefxzq69vfwqd0thgv",

@@ -391,3 +443,3 @@ "quantity": 27664

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"�!�͞hVya�ٻ����A+Dy�cΑZ��",
"asset_name": "�!�͞hVya�ٻ����A+Dy�cΑZ��",
"fingerprint": "asset1x2trcynescvqwutmdnta4qc9c2yrea4g3tj7nr",

@@ -416,3 +468,3 @@ "quantity": 3296181

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"��R\"}^z��H;&t'�[�b�)��^���Y�@2",
"asset_name": "��R\"}^z��H;&t'�[�b�)��^���Y�@2",
"fingerprint": "asset1jxfj2x02fnklr8lf0gc523epewafgkl9am2wrm",

@@ -423,3 +475,3 @@ "quantity": 3160119

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"�\"��,S^q?��lH��8P�GJ\t�'����s�=",
"asset_name": "�\"��,S^q?��lH��8P�GJ\t�'����s�=",
"fingerprint": "asset1y4292t9n698eu3eas2sl07c0a7636uc3n3qfvr",

@@ -436,3 +488,3 @@ "quantity": 785749

"policy_id": "406c221cad25b6832609bc24f649840763fae659cafa3472f26122ab",
"asset_name":"{�N����\t�ֳ1 ����7U�\t�\"!��#�",
"asset_name": "{�N����\t�ֳ1 ����7U�\t�\"!��#�",
"fingerprint": "asset1acensvu6258pdzqcxjwqh0d3v52kjgjc5tq58x",

@@ -439,0 +491,0 @@ "quantity": 7069067

@@ -51,3 +51,3 @@ import { AuxiliaryData, BigNum, Bip32PrivateKey, hash_auxiliary_data, hash_transaction, LinearFee, make_vkey_witness, min_fee, NativeScript, NativeScripts, PrivateKey, Transaction, TransactionBody, TransactionHash, TransactionOutput, TransactionOutputs, TransactionWitnessSet, Value, Vkey, Vkeywitness, Vkeywitnesses } from "@emurgo/cardano-serialization-lib-nodejs";

addKeyWitnesses(...privateKeys: PrivateKey[]): void {
addWitnessesFromKeys(...privateKeys: PrivateKey[]): void {
privateKeys.forEach(prvKey => {

@@ -60,2 +60,13 @@ // add keyhash witnesses

addWitnesses(witnesses: string) {
const witnessSet = TransactionWitnessSet.from_bytes(Buffer.from(witnesses, 'hex'));
const vkeys = witnessSet.vkeys();
if (vkeys) {
for (let i = 0; i < vkeys.len(); i++) {
const vkeyWitness = vkeys.get(i);
this.vkeyWitnesses.add(vkeyWitness);
}
}
}
adjustFee(txBody: TransactionBody, coinSelection: CoinSelection, tokens: Asset[], numberOfWitnesses: number, config: any, encoding: BufferEncoding): TransactionBody {

@@ -207,2 +218,26 @@ const bodyFee = parseInt(txBody.fee().to_str());

static fromRawTx(cborTx: string): MultisigTransaction {
const multisig = new MultisigTransaction();
const tx = Seed.getTransaction(cborTx);
multisig.txBody = tx.body();
multisig.txHash = hash_transaction(multisig.txBody);
multisig.metadata = tx.auxiliary_data();
const witnessesSet = tx.witness_set();
if (witnessesSet.native_scripts()) {
multisig.nativeScripts = witnessesSet.native_scripts();
}
if (witnessesSet.vkeys()) {
const vkeys = witnessesSet.vkeys();
for (let i = 0; i < vkeys.len(); i++) {
const vkeyWitness = vkeys.get(i);
multisig.vkeyWitnesses.add(vkeyWitness);
}
}
return multisig;
}
private toJSON(): any {

@@ -209,0 +244,0 @@ const keys = Array.from(Array(this.vkeyWitnesses.len()).keys()).map(i => this.vkeyWitnesses.get(i).to_bytes()).map(k => Buffer.from(k).toString('hex'));

export interface SignTxRequest {
tx: string;
keys: string[];
keys?: string[];
witnesses?: string;
}

@@ -1289,2 +1289,6 @@ import {

static getTransaction(cborTx: string): Transaction {
return Transaction.from_bytes(Buffer.from(cborTx, 'hex'));
}
private static isInteger(value: any) {

@@ -1291,0 +1295,0 @@ return Number.isInteger(Number(value));

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc