Skip to content

Commit 0961a2e

Browse files
New Transaction commands (#9)
New transaction build, view and sign commands. New change key and addresses commands.
1 parent 13a1478 commit 0961a2e

41 files changed

Lines changed: 2957 additions & 161 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 101 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ dotnet tool install --global --add-source ./nupkg cscli --version 0.1.0-local-br
6868
### Overview and Help
6969
```console
7070
$ cscli --help
71-
cscli v0.3.0
71+
cscli v0.4.0
7272
A lightweight cross-platform tool for building and serialising Cardano wallet entities (i.e. recovery-phrases, keys, addresses and transactions), querying the chain and submitting transactions to the testnet or mainnet networks. Please refer to https://github.com/CardanoSharp/cscli for further documentation.
7373

7474
USAGE: cscli (OPTION | COMMAND)
@@ -77,7 +77,7 @@ Options:
7777
-v, --version Show the cscli version
7878
-h, --help Show this help text
7979

80-
Wallet commands:
80+
Wallet Commands:
8181
wallet recovery-phrase generate --size <size> [--language <language>]
8282
wallet key root derive --recovery-phrase "<string>" [--language <language>] [--passphrase "<string>"]
8383
wallet key account derive --recovery-phrase "<string>" [--language <language>] [--passphrase "<string>"] [--account-index <index>]
@@ -88,29 +88,32 @@ Wallet commands:
8888
wallet address stake derive --recovery-phrase "<string>" --network <network> [--account-index <index>] [--address-index <index>]
8989
wallet address payment derive --recovery-phrase "<string>" --network <network> --payment-address-type <payment-address-type> [--account-index <index>] [--address-index <index>] [--stake-account-index <index>] [--stake-address-index <index>]
9090

91-
Query commands:
91+
Query Commands:
9292
query tip --network <network>
9393
query protocol-parameters --network <network>
94-
query info account --network <network> [--stake-address <stake_address> | --address <payment_base_address>]
94+
query info account --network <network> (--stake-address <stake_address> | --address <payment_base_address>)
9595
query asset account --network <network> --stake-address <stake_address>
9696
query info address --network <network> --address <payment_address>
9797
query info transaction --network <network> --tx-id <transaction_id>
9898

9999
Transaction Commands:
100+
BETA: transaction simple-payment build --network <network> --from <address> --to <address> (--ada <ada_amount> | --lovelaces <lovelace_amount> | --send-all true) [--ttl <slot_no>] [--signing-key <from_addr_payment_key>] [--submit true] [--message "<string>"] [--out-file <output_path>]
101+
transaction view --network <network> --cbor-hex <hex_string>
102+
transaction sign --cbor-hex <hex_string> --signing-keys <comma_separated_bech32_skeys> [--out-file <output_path>]
100103
transaction submit --network <network> --cbor-hex <hex_string>
101104

102105
Encoding/Cryptography Commands:
103106
bech32 encode --value <hex_string> --prefix <string>
104107
bech32 decode --value <bech32_string>
105-
blake2b hash --value <hex_string> [--length <digest_length>]
108+
blake2b hash --value <hex_string> [--length <hash_digest_length>]
106109

107110
Arguments:
108111
<size> ::= 9 | 12 | 15 | 18 | 21 | 24(default)
109112
<language> ::= english(default)|chinesesimplified|chinesetraditional|french|italian|japanese|korean|spanish|czech|portuguese
110113
<derivation-index> ::= 0(default) | 1 | .. | 2147483647
111114
<network> ::= testnet | mainnet
112115
<payment-address-type> ::= enterprise | base
113-
<digest_length> ::= 160 | 224(default) | 256 | 512
116+
<hash_digest_length> ::= 160 | 224(default) | 256 | 512
114117
```
115118

116119
### Generate Recovery Phrase
@@ -354,30 +357,114 @@ $ cat stake_0_0.en.vkey
354357
```
355358
</details>
356359

360+
### Build Simple Payment Transaction
361+
```console
362+
$ cscli transaction simple-payment build --network testnet --from addr_test1vq5zuhh9685fup86syuzmu3e6eengzv8t46mfqxg086cvqqc5zr4t --to addr_test1vpuuxlat45yxvtsk44y4pmwk854z4v9k879yfe99q3g3aagqqzar3 --ada 420 --message "thx for lunch"
363+
84a50081825820dcfe996519321071430c812525393f431d75208428852491e9c0c6788dad5f9201018282581d6079c37fabad08662e16ad4950edd63d2a2ab0b63f8a44e4a504511ef51a1908b10082581d60282e5ee5d1e89e04fa81382df239d6733409875d75b480c879f586001a5cf39dd9021a00029ee5031a03afdc580758200088270ea98923127ef4c2e05b665b81b5a6c9fca1582eed1171ba17648f7b3da0f582a11902a2a1636d73676d74687820666f72206c756e636880
364+
```
365+
366+
<details>
367+
<summary>Build and Submit Signed Simple Payment</summary>
368+
369+
```console
370+
$ cscli transaction simple-payment build --submit true --signing-key addr_xsk1fzw9r482t0ekua7rcqewg3k8ju5d9run4juuehm2p24jtuzz4dg4wpeulnqhualvtx9lyy7u0h9pdjvmyhxdhzsyy49szs6y8c9zwfp0eqyrqyl290e6dr0q3fvngmsjn4aask9jjr6q34juh25hczw3euust0dw --network testnet --from addr_test1vq5zuhh9685fup86syuzmu3e6eengzv8t46mfqxg086cvqqc5zr4t --to addr_test1vpuuxlat45yxvtsk44y4pmwk854z4v9k879yfe99q3g3aagqqzar3 --ada 420 --message "thx for lunch"
371+
5853cc86af075cc547a5a20658af54841f37a5832532a704c583ed4f010184a5
372+
```
373+
</details>
374+
375+
<details>
376+
<summary>Build Signed Simple Payment Tx with cardano-cli Output File</summary>
377+
378+
```console
379+
$ cscli transaction simple-payment build --out-file tx.txsigned --signing-key addr_xsk1fzw9r482t0ekua7rcqewg3k8ju5d9run4juuehm2p24jtuzz4dg4wpeulnqhualvtx9lyy7u0h9pdjvmyhxdhzsyy49szs6y8c9zwfp0eqyrqyl290e6dr0q3fvngmsjn4aask9jjr6q34juh25hczw3euust0dw --network testnet --from addr_test1vq5zuhh9685fup86syuzmu3e6eengzv8t46mfqxg086cvqqc5zr4t --to addr_test1vpuuxlat45yxvtsk44y4pmwk854z4v9k879yfe99q3g3aagqqzar3 --ada 420 --message "thx for lunch"
380+
84a500818258205853cc86af075cc547a5a20658af54841f37a5832532a704c583ed4f010184a501018282581d6079c37fabad08662e16ad4950edd63d2a2ab0b63f8a44e4a504511ef51a1908b10082581d60282e5ee5d1e89e04fa81382df239d6733409875d75b480c879f586001a43e80724021a0002c24d031a03afe00c0758200088270ea98923127ef4c2e05b665b81b5a6c9fca1582eed1171ba17648f7b3da10081825820de9503426759fa18624657f5bcc932f38220ec9eceb262907caf2d198b6e0faa584025f49ad0cb27c0a297ebd2237134be2803b19d11c6e52416d3d7beba130bbc2bd95eb9b7e9e7410d7efcd5c2abd338dd62100d86b26308636335b533873bb508f582a11902a2a1636d73676d74687820666f72206c756e636880
381+
$ cat tx.txsigned
382+
{
383+
"type": "Tx AlonzoEra",
384+
"description": "",
385+
"cborHex": "84a500818258205853cc86af075cc547a5a20658af54841f37a5832532a704c583ed4f010184a501018282581d6079c37fabad08662e16ad4950edd63d2a2ab0b63f8a44e4a504511ef51a1908b10082581d60282e5ee5d1e89e04fa81382df239d6733409875d75b480c879f586001a43e80724021a0002c24d031a03afe00c0758200088270ea98923127ef4c2e05b665b81b5a6c9fca1582eed1171ba17648f7b3da10081825820de9503426759fa18624657f5bcc932f38220ec9eceb262907caf2d198b6e0faa584025f49ad0cb27c0a297ebd2237134be2803b19d11c6e52416d3d7beba130bbc2bd95eb9b7e9e7410d7efcd5c2abd338dd62100d86b26308636335b533873bb508f582a11902a2a1636d73676d74687820666f72206c756e636880"
386+
}
387+
```
388+
</details>
389+
390+
### View Transaction
391+
```console
392+
$ cscli transaction view --network testnet --cbor-hex 84a50081825820dcfe996519321071430c812525393f431d75208428852491e9c0c6788dad5f9201018282581d6079c37fabad08662e16ad4950edd63d2a2ab0b63f8a44e4a504511ef51a1908b10082581d60282e5ee5d1e89e04fa81382df239d6733409875d75b480c879f586001a5cf39dd9021a00029ee5031a03afdc580758200088270ea98923127ef4c2e05b665b81b5a6c9fca1582eed1171ba17648f7b3da0f582a11902a2a1636d73676d74687820666f72206c756e636880
393+
{
394+
"id": "be9b3070e17f9f0c3e5477b315a35b9c5be0ec355f6c6bfb4beee42270413a25",
395+
"isValid": true,
396+
"transactionBody": {
397+
"inputs": [
398+
{
399+
"transactionId": "dcfe996519321071430c812525393f431d75208428852491e9c0c6788dad5f92",
400+
"transactionIndex": 1
401+
}
402+
],
403+
"outputs": [
404+
{
405+
"address": "addr_test1vpuuxlat45yxvtsk44y4pmwk854z4v9k879yfe99q3g3aagqqzar3",
406+
"value": {
407+
"lovelaces": 420000000,
408+
"nativeAssets": []
409+
}
410+
},
411+
{
412+
"address": "addr_test1vq5zuhh9685fup86syuzmu3e6eengzv8t46mfqxg086cvqqc5zr4t",
413+
"value": {
414+
"lovelaces": 1559469529,
415+
"nativeAssets": []
416+
}
417+
}
418+
],
419+
"mint": [],
420+
"fee": 171749,
421+
"ttl": 61856856,
422+
"auxiliaryDataHash": "0088270ea98923127ef4c2e05b665b81b5a6c9fca1582eed1171ba17648f7b3d",
423+
"transactionStartInterval": null
424+
},
425+
"transactionWitnessSet": null,
426+
"auxiliaryData": {
427+
"metadata": {
428+
"674": {
429+
"msg": "thx for lunch"
430+
}
431+
}
432+
}
433+
}
434+
```
435+
436+
### Sign Transaction
437+
438+
```console
439+
$ cscli transaction sign --signing-keys addr_xsk1fzw9r482t0ekua7rcqewg3k8ju5d9run4juuehm2p24jtuzz4dg4wpeulnqhualvtx9lyy7u0h9pdjvmyhxdhzsyy49szs6y8c9zwfp0eqyrqyl290e6dr0q3fvngmsjn4aask9jjr6q34juh25hczw3euust0dw --network testnet --cbor-hex 84a50081825820dcfe996519321071430c812525393f431d75208428852491e9c0c6788dad5f9201018282581d6079c37fabad08662e16ad4950edd63d2a2ab0b63f8a44e4a504511ef51a1908b10082581d60282e5ee5d1e89e04fa81382df239d6733409875d75b480c879f586001a5cf39dd9021a00029ee5031a03afdc580758200088270ea98923127ef4c2e05b665b81b5a6c9fca1582eed1171ba17648f7b3da0f582a11902a2a1636d73676d74687820666f72206c756e636880
440+
84a50081825820dcfe996519321071430c812525393f431d75208428852491e9c0c6788dad5f9201018282581d6079c37fabad08662e16ad4950edd63d2a2ab0b63f8a44e4a504511ef51a1908b10082581d60282e5ee5d1e89e04fa81382df239d6733409875d75b480c879f586001a5cf39dd9021a00029ee5031a03afdc580758200088270ea98923127ef4c2e05b665b81b5a6c9fca1582eed1171ba17648f7b3da10081825820de9503426759fa18624657f5bcc932f38220ec9eceb262907caf2d198b6e0faa5840d856197bc4f4cb62439ea9c2781e9764855685c3809364ef759b1926047d7bb326fecf2ee1144c5d49cf2f53feb432fa1af30e00d8d69c4145e6494fd1979a0cf582a11902a2a1636d73676d74687820666f72206c756e636880
441+
```
442+
443+
357444
### Submit Transaction
358445
```console
359-
$ cscli transaction submit --network testnet --cbor-hex 84a600818258207f1d24706e65b3eaef608d6ba5adf8b2bf69254bbd1e1532fa7c601a1d6aca3d000d8001828258390058b5a28ad45b3e2e5ea96d46e071a12d4d8cb5498cf0285051b3c30297660614ab2241b986bb1222f0373a359509a79610ac1210ad11e3031a05f5e10082581d60f3a76db98805ebfb391d8a7fa176e0a4da4d20955c47a5d35936353c1a35a23dbb021a0002ab45031a03831a6f0e80a1008182582047a69a1a41541c00a1e62ab8d78c1870e4f04c0507530b90c7dfde2a144d0cfa58406f50cd131250768a3b707e5eb5797e1dc519157e8c7ac27a72ac472fb546bc4604d3b51b2460e4517e28aea5fd0d19ddf8d95d9bf223e59f0306db0a7794d40af5f6
446+
$ cscli transaction submit --network testnet --cbor-hex 84a50081825820dcfe996519321071430c812525393f431d75208428852491e9c0c6788dad5f9201018282581d6079c37fabad08662e16ad4950edd63d2a2ab0b63f8a44e4a504511ef51a1908b10082581d60282e5ee5d1e89e04fa81382df239d6733409875d75b480c879f586001a5cf39dd9021a00029ee5031a03afdc580758200088270ea98923127ef4c2e05b665b81b5a6c9fca1582eed1171ba17648f7b3da10081825820de9503426759fa18624657f5bcc932f38220ec9eceb262907caf2d198b6e0faa5840d856197bc4f4cb62439ea9c2781e9764855685c3809364ef759b1926047d7bb326fecf2ee1144c5d49cf2f53feb432fa1af30e00d8d69c4145e6494fd1979a0cf582a11902a2a1636d73676d74687820666f72206c756e636880
360447
5c9f1456a2f7cdf30c12d569ede3f298b377115a63dc0cef791e692dbe4be26b
361448
```
362449

363450
### Query Tip
364451
```console
365452
$ cscli query tip --network mainnet
366453
{
367-
"hash": "bc0e501e50c42ed6d2964e418b0a626d6026f86d7c205c27fe5b96cb34d36ad9",
368-
"epoch_no": 343,
369-
"abs_slot": 63207567,
370-
"epoch_slot": 394767,
371-
"block_no": 7353437,
372-
"block_time": "2022-06-09T11:24:18"
454+
"hash": "cff749d596281c59f7f6c50eb7a8ede766397dd7d943701210ddd32c677e19ef",
455+
"epoch_no": 347,
456+
"abs_slot": 64835901,
457+
"epoch_slot": 295101,
458+
"block_no": 7431004,
459+
"block_time": "2022-06-28T07:43:12"
373460
}
374461
```
375462

376463
### Query Protocol Parameters
377464
```console
378465
$ cscli query protocol-parameters --network mainnet
379466
{
380-
"epoch_no": 343,
467+
"epoch_no": 347,
381468
"min_fee_a": 44,
382469
"min_fee_b": 155381,
383470
...

Src/ConsoleTool/CommandParser.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,11 @@ private static ICommand ParseWalletCommands(string intent, string[] args) =>
5757
"wallet key root derive" => BuildCommand<DeriveRootKeyCommand>(args),
5858
"wallet key account derive" => BuildCommand<DeriveAccountKeyCommand>(args),
5959
"wallet key payment derive" => BuildCommand<DerivePaymentKeyCommand>(args),
60+
"wallet key change derive" => BuildCommand<DeriveChangeKeyCommand>(args),
6061
"wallet key stake derive" => BuildCommand<DeriveStakeKeyCommand>(args),
6162
"wallet key policy derive" => BuildCommand<DerivePolicyKeyCommand>(args),
6263
"wallet address payment derive" => BuildCommand<DerivePaymentAddressCommand>(args),
64+
"wallet address change derive" => BuildCommand<DeriveChangeAddressCommand>(args),
6365
"wallet address stake derive" => BuildCommand<DeriveStakeAddressCommand>(args),
6466
"wallet key verification convert" or "wallet key public convert" => BuildCommand<ConvertVerificationKeyCommand>(args),
6567
_ => new ShowInvalidArgumentCommand(intent)
@@ -80,7 +82,10 @@ private static ICommand ParseQueryCommands(string intent, string[] args) =>
8082
private static ICommand ParseTransactionCommands(string intent, string[] args) =>
8183
intent switch
8284
{
85+
"transaction simple-payment build" => BuildCommand<BuildSimplePaymentTransactionCommand>(args),
8386
"transaction submit" => BuildCommand<SubmitTransactionCommand>(args),
87+
"transaction view" => BuildCommand<ViewTransactionCommand>(args),
88+
"transaction sign" => BuildCommand<SignTransactionCommand>(args),
8489
_ => new ShowInvalidArgumentCommand(intent)
8590
};
8691

Src/ConsoleTool/CommandResult.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public enum CommandOutcome
66
FailureInvalidOptions,
77
FailureTimedOut,
88
FailureCancelled,
9+
FailureBackend,
910
FailureUnhandledException,
1011
}
1112

@@ -22,7 +23,6 @@ public CommandResult(CommandOutcome outcome, string result, Exception? exception
2223
Outcome = outcome;
2324
Result = result;
2425
Exception = exception;
25-
2626
}
2727

2828
public static CommandResult Success(string result) =>
@@ -37,6 +37,9 @@ public static CommandResult FailureTimedOut(string result) =>
3737
public static CommandResult FailureCancelled(string result) =>
3838
new(CommandOutcome.FailureCancelled, result);
3939

40+
public static CommandResult FailureBackend(string result) =>
41+
new(CommandOutcome.FailureBackend, result);
42+
4043
public static CommandResult FailureUnhandledException(string result, Exception ex) =>
4144
new(CommandOutcome.FailureUnhandledException, result, ex);
4245
}

Src/ConsoleTool/Constants.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ namespace Cscli.ConsoleTool;
55

66
public static class Constants
77
{
8+
public const int MessageStandardKey = 674;
9+
public const int NftStandardKey = 721;
10+
public const int NftRoyaltyStandardKey = 777;
11+
public const int MaxMetadataStringLength = 64;
812
public const string DefaultMnemonicLanguage = "English";
913
public const int DefaultMnemonicCount = 24;
1014
public const int MaxDerivationPathIndex = Int32.MaxValue; // 2^31 - 1
@@ -15,9 +19,12 @@ public static class Constants
1519
public const string AccountSigningKeyBech32Prefix = "acct_sk";
1620
public const string PaymentExtendedSigningKeyBech32Prefix = "addr_xsk";
1721
public const string PaymentSigningKeyBech32Prefix = "addr_sk";
22+
public const string PaymentSharedSigningKeyBech32Prefix = "addr_shared_sk";
1823
public const string StakeExtendedSigningKeyBech32Prefix = "stake_xsk";
1924
public const string StakeSigningKeyBech32Prefix = "stake_sk";
2025
public const string PolicySigningKeyBech32Prefix = "policy_sk";
26+
public const string AddressMainnetBech32Prefix = "addr";
27+
public const string AddressTestnetBech32Prefix = "addr_test";
2128
// JSON CBOR text envelopes from cardano-cli
2229
public const string PaymentSKeyJsonTypeField = "PaymentSigningKeyShelley_ed25519";
2330
public const string PaymentExtendedSKeyJsonTypeField = "PaymentExtendedSigningKeyShelley_ed25519_bip32";
@@ -31,6 +38,10 @@ public static class Constants
3138
public const string StakeVKeyJsonTypeField = "StakeVerificationKeyShelley_ed25519";
3239
public const string StakeExtendedVKeyJsonTypeField = "StakeExtendedVerificationKeyShelley_ed25519_bip32";
3340
public const string StakeVKeyJsonDescriptionField = "Stake Verification Key";
41+
public const string TxAlonzoJsonTypeField = "Tx AlonzoEra";
42+
// Transaction Building constants
43+
public const uint TtlTipOffsetSlots = 7200; // 2 hours
44+
3445
// Validation constraints
3546
public static readonly int[] ValidMnemonicSizes = { 9, 12, 15, 18, 21, 24 };
3647
// Default JSON Serialiser settings
@@ -56,6 +67,9 @@ public static class Constants
5667
{ "--cbor-hex", "cborHex" },
5768
{ "--tx-id", "txId" },
5869
{ "--signing-key", "signingKey" },
70+
{ "--signing-keys", "signingKeys" },
71+
{ "--send-all", "sendAll" },
72+
{ "--out-file", "outFile" },
5973
//{ "--output-format", "outputFormat" },
6074
};
6175
}

Src/ConsoleTool/Cscli.ConsoleTool.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
<None Include="..\..\README.md" Link="README.md" Pack="true" PackagePath="\" />
3232
</ItemGroup>
3333
<ItemGroup>
34-
<PackageReference Include="CardanoSharp.Koios.Sdk" Version="4.2.0" />
35-
<PackageReference Include="CardanoSharp.Wallet" Version="2.2.0" />
34+
<PackageReference Include="CardanoSharp.Koios.Sdk" Version="5.0.2" />
35+
<PackageReference Include="CardanoSharp.Wallet" Version="2.9.0" />
3636
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" />
3737
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" />
3838
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="6.0.0" />

Src/ConsoleTool/DomainTypes.cs

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,53 @@
11
namespace Cscli.ConsoleTool;
22

3-
public record struct Utxo(string TxHash, int OutputIndex, TokenBundle TokenBundle);
3+
public record struct NativeAssetValue(string PolicyId, string AssetName, ulong Quantity);
44

5-
public record struct TokenBundle(long LovelaceValue, NativeAssetValue[] NativeAssets);
5+
public record struct Balance(ulong Lovelaces, NativeAssetValue[] NativeAssets);
66

7-
public record struct NativeAssetValue(string PolicyId, string AssetNameHex, long Quantity);
7+
public record struct PendingTransactionOutput(string Address, Balance Value);
88

9-
public record WalletInfo(AccountInfo[] Accounts);
9+
public record UnspentTransactionOutput(string TxHash, uint OutputIndex, Balance Value)
10+
{
11+
public override int GetHashCode() => ToString().GetHashCode();
12+
public override string ToString() => $"{TxHash}_{OutputIndex}";
13+
bool IEquatable<UnspentTransactionOutput>.Equals(UnspentTransactionOutput? other)
14+
=> other is not null && TxHash == other.TxHash && OutputIndex == other.OutputIndex;
15+
public ulong Lovelaces => Value.Lovelaces;
16+
}
1017

11-
public record AccountInfo(string StakeAddress, string PaymentAddress, Utxo[] Utxos);
18+
public record TextEnvelope(string? Type, string? Description, string? CborHex);
1219

13-
public record AddressInfo(string PaymentAddress, string? StakeAddress, Utxo[] Utxos);
20+
public record Tx(
21+
string Id,
22+
bool IsValid,
23+
TxBody TransactionBody,
24+
TxWitnessSet? TransactionWitnessSet,
25+
TxAuxData AuxiliaryData);
26+
27+
public record TxBody(
28+
IEnumerable<TxIn> Inputs,
29+
IEnumerable<TxOut> Outputs,
30+
IEnumerable<NativeAssetValue> Mint,
31+
ulong Fee,
32+
uint? Ttl,
33+
string? AuxiliaryDataHash,
34+
uint? TransactionStartInterval);
35+
36+
public record TxIn(
37+
string TransactionId,
38+
uint TransactionIndex);
39+
40+
public record TxOut(
41+
string Address,
42+
Balance Value);
43+
44+
public record TxWitnessSet(
45+
IEnumerable<TxVKeyWitness> VKeyWitnesses,
46+
IEnumerable<TxNativeScript> NativeScripts);
47+
48+
public record TxVKeyWitness(string Verificationkey, string Signature);
49+
50+
public record TxNativeScript(string Type);
51+
52+
public record TxAuxData(Dictionary<int, object> Metadata);
1453

15-
public record TextEnvelope(string? Type, string? Description, string? CborHex);
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"profiles": {
33
"Cscli.ConsoleTool": {
4-
"commandName": "Project"
4+
"commandName": "Project",
5+
"commandLineArgs": " query info account --network testnet --address addr_test1qq4qw3s2p5q0ttfucewkttnz795ujue9jd7ruxrpsa05f47cq54ahxv48q2ja88q22f3t9s3gd3napuy9ausj7wdantsvjsd9s"
56
}
67
}
78
}

0 commit comments

Comments
 (0)