@odatano/core 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +212 -0
- package/cds-plugin.js +5 -0
- package/config/preview/cardano-node/alonzo-genesis.json +196 -0
- package/config/preview/cardano-node/byron-genesis.json +117 -0
- package/config/preview/cardano-node/config.json +118 -0
- package/config/preview/cardano-node/conway-genesis.json +297 -0
- package/config/preview/cardano-node/shelley-genesis.json +68 -0
- package/config/preview/cardano-node/topology.json +19 -0
- package/db/schema.cds +1318 -0
- package/package.json +125 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +96 -0
- package/src/index.js.map +1 -0
- package/src/plugin.d.ts.map +1 -0
- package/src/plugin.js +92 -0
- package/src/plugin.js.map +1 -0
- package/srv/blockchain/backends/blockfrost-backend.d.ts.map +1 -0
- package/srv/blockchain/backends/blockfrost-backend.js +398 -0
- package/srv/blockchain/backends/blockfrost-backend.js.map +1 -0
- package/srv/blockchain/backends/cardano-backend.d.ts.map +1 -0
- package/srv/blockchain/backends/cardano-backend.js +12 -0
- package/srv/blockchain/backends/cardano-backend.js.map +1 -0
- package/srv/blockchain/backends/koios-backend.d.ts.map +1 -0
- package/srv/blockchain/backends/koios-backend.js +537 -0
- package/srv/blockchain/backends/koios-backend.js.map +1 -0
- package/srv/blockchain/backends/ogmios-backend.d.ts.map +1 -0
- package/srv/blockchain/backends/ogmios-backend.js +516 -0
- package/srv/blockchain/backends/ogmios-backend.js.map +1 -0
- package/srv/blockchain/cardano-client.d.ts.map +1 -0
- package/srv/blockchain/cardano-client.js +377 -0
- package/srv/blockchain/cardano-client.js.map +1 -0
- package/srv/blockchain/cardano-indexer.d.ts.map +1 -0
- package/srv/blockchain/cardano-indexer.js +542 -0
- package/srv/blockchain/cardano-indexer.js.map +1 -0
- package/srv/blockchain/cardano-tx-builder.d.ts.map +1 -0
- package/srv/blockchain/cardano-tx-builder.js +232 -0
- package/srv/blockchain/cardano-tx-builder.js.map +1 -0
- package/srv/blockchain/circuit-breaker.d.ts.map +1 -0
- package/srv/blockchain/circuit-breaker.js +110 -0
- package/srv/blockchain/circuit-breaker.js.map +1 -0
- package/srv/blockchain/signing/external-signer.d.ts.map +1 -0
- package/srv/blockchain/signing/external-signer.js +302 -0
- package/srv/blockchain/signing/external-signer.js.map +1 -0
- package/srv/blockchain/signing/signature-verifier.d.ts.map +1 -0
- package/srv/blockchain/signing/signature-verifier.js +249 -0
- package/srv/blockchain/signing/signature-verifier.js.map +1 -0
- package/srv/blockchain/transaction-building/buildooor-tx.d.ts.map +1 -0
- package/srv/blockchain/transaction-building/buildooor-tx.js +636 -0
- package/srv/blockchain/transaction-building/buildooor-tx.js.map +1 -0
- package/srv/blockchain/transaction-building/cardano-tx.d.ts.map +1 -0
- package/srv/blockchain/transaction-building/cardano-tx.js +3 -0
- package/srv/blockchain/transaction-building/cardano-tx.js.map +1 -0
- package/srv/blockchain/transaction-building/csl-tx.d.ts.map +1 -0
- package/srv/blockchain/transaction-building/csl-tx.js +766 -0
- package/srv/blockchain/transaction-building/csl-tx.js.map +1 -0
- package/srv/blockchain/transaction-building/tx-builder-registry.d.ts.map +1 -0
- package/srv/blockchain/transaction-building/tx-builder-registry.js +67 -0
- package/srv/blockchain/transaction-building/tx-builder-registry.js.map +1 -0
- package/srv/cardano-service.cds +179 -0
- package/srv/cardano-service.d.ts.map +1 -0
- package/srv/cardano-service.js +227 -0
- package/srv/cardano-service.js.map +1 -0
- package/srv/cardano-tx-service.cds +298 -0
- package/srv/cardano-tx-service.d.ts.map +1 -0
- package/srv/cardano-tx-service.js +646 -0
- package/srv/cardano-tx-service.js.map +1 -0
- package/srv/cardano-ui.cds +2949 -0
- package/srv/server.d.ts.map +1 -0
- package/srv/server.js +212 -0
- package/srv/server.js.map +1 -0
- package/srv/utils/backend-request-handler.d.ts.map +1 -0
- package/srv/utils/backend-request-handler.js +47 -0
- package/srv/utils/backend-request-handler.js.map +1 -0
- package/srv/utils/const.d.ts.map +1 -0
- package/srv/utils/const.js +86 -0
- package/srv/utils/const.js.map +1 -0
- package/srv/utils/error-codes.d.ts.map +1 -0
- package/srv/utils/error-codes.js +49 -0
- package/srv/utils/error-codes.js.map +1 -0
- package/srv/utils/errors.d.ts.map +1 -0
- package/srv/utils/errors.js +389 -0
- package/srv/utils/errors.js.map +1 -0
- package/srv/utils/mappers.d.ts.map +1 -0
- package/srv/utils/mappers.js +723 -0
- package/srv/utils/mappers.js.map +1 -0
- package/srv/utils/signing-helper.d.ts.map +1 -0
- package/srv/utils/signing-helper.js +128 -0
- package/srv/utils/signing-helper.js.map +1 -0
- package/srv/utils/tx-build-helper.d.ts.map +1 -0
- package/srv/utils/tx-build-helper.js +135 -0
- package/srv/utils/tx-build-helper.js.map +1 -0
- package/srv/utils/types.d.ts.map +1 -0
- package/srv/utils/types.js +36 -0
- package/srv/utils/types.js.map +1 -0
- package/srv/utils/validators.d.ts.map +1 -0
- package/srv/utils/validators.js +382 -0
- package/srv/utils/validators.js.map +1 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
using {odatano.cardano as db} from '../db/schema';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Cardano Transaction Service
|
|
5
|
+
*
|
|
6
|
+
* Handles transaction building and submission operations.
|
|
7
|
+
* Separate from the read-only CardanoODataService to provide
|
|
8
|
+
* clear separation between general query and command operations.
|
|
9
|
+
*/
|
|
10
|
+
service CardanoTransactionService @(impl: 'srv/cardano-tx-service') {
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Entity Projections - Transaction Building & Submission
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
|
|
15
|
+
@title : 'Transaction Builds'
|
|
16
|
+
@description: 'Projection for Transaction Builds'
|
|
17
|
+
entity TransactionBuilds as projection on db.TransactionBuilds;
|
|
18
|
+
|
|
19
|
+
@title : 'Transaction Build Inputs'
|
|
20
|
+
@description: 'Projection for Transaction Build Inputs'
|
|
21
|
+
entity TransactionBuildInputs as projection on db.TransactionBuildInputs;
|
|
22
|
+
|
|
23
|
+
@title : 'Transaction Build Outputs'
|
|
24
|
+
@description: 'Projection for Transaction Build Outputs'
|
|
25
|
+
entity TransactionBuildOutputs as projection on db.TransactionBuildOutputs;
|
|
26
|
+
|
|
27
|
+
@title : 'Transaction Build Input Assets'
|
|
28
|
+
@description: 'Projection for Transaction Build Input Assets'
|
|
29
|
+
entity TransactionBuildInputAssets as projection on db.TransactionBuildInputAssets;
|
|
30
|
+
|
|
31
|
+
@title : 'Transaction Build Output Assets'
|
|
32
|
+
@description: 'Projection for Transaction Build Output Assets'
|
|
33
|
+
entity TransactionBuildOutputAssets as projection on db.TransactionBuildOutputAssets;
|
|
34
|
+
|
|
35
|
+
@title : 'Transaction Submissions'
|
|
36
|
+
@description: 'Projection for Transaction Submissions'
|
|
37
|
+
entity TransactionSubmissions as projection on db.TransactionSubmissions actions {
|
|
38
|
+
@title : 'Check Submission Status'
|
|
39
|
+
@description: 'Check the status of a submitted transaction by querying the blockchain for confirmation'
|
|
40
|
+
action CheckSubmissionStatus() returns TransactionSubmissions;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
@title : 'Transaction Submission Errors'
|
|
44
|
+
@description: 'Projection for Transaction Submission Errors'
|
|
45
|
+
entity TransactionSubmissionErrors as projection on db.TransactionSubmissionErrors;
|
|
46
|
+
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
// Transaction Building Actions
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
|
|
51
|
+
@title : 'Build Simple ADA Transaction'
|
|
52
|
+
@description: 'Build a simple ADA transfer transaction from sender to recipient with specified amount and change address'
|
|
53
|
+
action BuildSimpleAdaTransaction(
|
|
54
|
+
@title: 'Sender Address'
|
|
55
|
+
@description: 'The Bech32 encoded address of the sender'
|
|
56
|
+
senderAddress: db.Bech32,
|
|
57
|
+
@title: 'Recipient Address'
|
|
58
|
+
@description: 'The Bech32 encoded address of the recipient'
|
|
59
|
+
recipientAddress: db.Bech32,
|
|
60
|
+
@title: 'Lovelace Amount'
|
|
61
|
+
@description: 'The amount of ADA to send in lovelace'
|
|
62
|
+
lovelaceAmount: db.Lovelace,
|
|
63
|
+
@title: 'Change Address'
|
|
64
|
+
@description: 'The Bech32 encoded address for returning change - defaults to sender address if not specified'
|
|
65
|
+
changeAddress: db.Bech32,
|
|
66
|
+
@title: 'Output Datum JSON'
|
|
67
|
+
@description: 'Optional inline datum to attach to the recipient output (JSON, cardano-cli DetailedSchema format). Required when sending to a script address.'
|
|
68
|
+
outputDatumJson: String) returns TransactionBuilds;
|
|
69
|
+
|
|
70
|
+
@title : 'Build Transaction with Metadata'
|
|
71
|
+
@description: 'Build a transaction with custom metadata from sender to recipient with specified amount and change address'
|
|
72
|
+
action BuildTransactionWithMetadata(
|
|
73
|
+
@title: 'Sender Address'
|
|
74
|
+
@description: 'The Bech32 encoded address of the sender'
|
|
75
|
+
senderAddress: db.Bech32,
|
|
76
|
+
@title: 'Recipient Address'
|
|
77
|
+
@description: 'The Bech32 encoded address of the recipient'
|
|
78
|
+
recipientAddress: db.Bech32,
|
|
79
|
+
@title: 'Lovelace Amount'
|
|
80
|
+
@description: 'The amount of ADA to send in lovelace'
|
|
81
|
+
lovelaceAmount: db.Lovelace,
|
|
82
|
+
@title: 'Change Address'
|
|
83
|
+
@description: 'The Bech32 encoded address for returning change -defaults to sender address if not specified'
|
|
84
|
+
changeAddress: db.Bech32,
|
|
85
|
+
@title: 'Metadata JSON'
|
|
86
|
+
@description: 'The JSON representation of the transaction metadata as string'
|
|
87
|
+
metadataJson: String) returns TransactionBuilds;
|
|
88
|
+
|
|
89
|
+
@title : 'Build Multi-Asset Transaction'
|
|
90
|
+
@description: 'Build a transaction to send native assets (tokens) along with ADA'
|
|
91
|
+
action BuildMultiAssetTransaction(
|
|
92
|
+
@title: 'Sender Address'
|
|
93
|
+
@description: 'The Bech32 encoded address of the sender'
|
|
94
|
+
senderAddress: db.Bech32,
|
|
95
|
+
@title: 'Recipient Address'
|
|
96
|
+
@description: 'The Bech32 encoded address of the recipient'
|
|
97
|
+
recipientAddress: db.Bech32,
|
|
98
|
+
@title: 'Lovelace Amount'
|
|
99
|
+
@description: 'The amount of ADA to send in lovelace'
|
|
100
|
+
lovelaceAmount: db.Lovelace,
|
|
101
|
+
@title: 'Assets JSON'
|
|
102
|
+
@description: 'JSON array of assets to send (format: [{"unit":"policyId+assetName","quantity":"amount"}])'
|
|
103
|
+
assetsJson: String,
|
|
104
|
+
@title: 'Change Address'
|
|
105
|
+
@description: 'The Bech32 encoded address for returning change -defaults to sender address if not specified'
|
|
106
|
+
changeAddress: db.Bech32) returns TransactionBuilds;
|
|
107
|
+
|
|
108
|
+
@title : 'Build Minting Transaction'
|
|
109
|
+
@description: 'Build a transaction to mint or burn native assets'
|
|
110
|
+
action BuildMintTransaction(
|
|
111
|
+
@title: 'Sender Address'
|
|
112
|
+
@description: 'The Bech32 encoded address of the sender (pays fees)'
|
|
113
|
+
senderAddress: db.Bech32,
|
|
114
|
+
@title: 'Recipient Address'
|
|
115
|
+
@description: 'The Bech32 encoded address to receive minted assets'
|
|
116
|
+
recipientAddress: db.Bech32,
|
|
117
|
+
@title: 'Lovelace Amount'
|
|
118
|
+
@description: 'The amount of ADA to send with minted assets in lovelace'
|
|
119
|
+
lovelaceAmount: db.Lovelace,
|
|
120
|
+
@title: 'Mint Actions JSON'
|
|
121
|
+
@description: 'JSON array of mint/burn actions (format: [{"assetUnit":"policyId+assetName","quantity":"amount"}])'
|
|
122
|
+
mintActionsJson: String,
|
|
123
|
+
@title: 'Minting Policy Script'
|
|
124
|
+
@description: 'The minting policy script in CBOR hex format'
|
|
125
|
+
mintingPolicyScript: String,
|
|
126
|
+
@title: 'Change Address'
|
|
127
|
+
@description: 'The Bech32 encoded address for returning change -defaults to sender address if not specified'
|
|
128
|
+
changeAddress: db.Bech32) returns TransactionBuilds;
|
|
129
|
+
|
|
130
|
+
@title : 'Build Plutus Spend Transaction'
|
|
131
|
+
@description: 'Build a transaction to spend a UTxO locked at a Plutus script address'
|
|
132
|
+
action BuildPlutusSpendTransaction(
|
|
133
|
+
@title: 'Sender Address'
|
|
134
|
+
@description: 'The Bech32 encoded address of the sender (pays fees)'
|
|
135
|
+
senderAddress: db.Bech32,
|
|
136
|
+
@title: 'Recipient Address'
|
|
137
|
+
@description: 'The Bech32 encoded address to receive the unlocked funds'
|
|
138
|
+
recipientAddress: db.Bech32,
|
|
139
|
+
@title: 'Lovelace Amount'
|
|
140
|
+
@description: 'The amount of ADA to send to the recipient in lovelace'
|
|
141
|
+
lovelaceAmount: db.Lovelace,
|
|
142
|
+
@title: 'Validator Script'
|
|
143
|
+
@description: 'The Plutus validator script in CBOR hex format'
|
|
144
|
+
validatorScript: String,
|
|
145
|
+
@title: 'Script UTxO Transaction Hash'
|
|
146
|
+
@description: 'The transaction hash of the UTxO locked at the script address (64-char hex)'
|
|
147
|
+
scriptTxHash: String,
|
|
148
|
+
@title: 'Script UTxO Output Index'
|
|
149
|
+
@description: 'The output index of the UTxO locked at the script address'
|
|
150
|
+
scriptOutputIndex: Integer,
|
|
151
|
+
@title: 'Redeemer JSON'
|
|
152
|
+
@description: 'The redeemer data as JSON string (will be converted to PlutusData)'
|
|
153
|
+
redeemerJson: String,
|
|
154
|
+
@title: 'Datum JSON'
|
|
155
|
+
@description: 'The datum data as JSON string (optional, for hash-based datums)'
|
|
156
|
+
datumJson: String,
|
|
157
|
+
@title: 'Change Address'
|
|
158
|
+
@description: 'The Bech32 encoded address for returning change - defaults to sender address if not specified'
|
|
159
|
+
changeAddress: db.Bech32) returns TransactionBuilds;
|
|
160
|
+
|
|
161
|
+
@title : 'Set Collateral'
|
|
162
|
+
@description: 'Ensure a dedicated ADA-only collateral UTxO exists for Plutus transactions. Checks if the address has at least 2 UTxOs with >= 5 ADA each. If not, builds a self-send transaction to create a 5 ADA collateral UTxO.'
|
|
163
|
+
action SetCollateral(
|
|
164
|
+
@title: 'Address'
|
|
165
|
+
@description: 'The Bech32 encoded address to check and set up collateral for'
|
|
166
|
+
address: db.Bech32) returns TransactionBuilds;
|
|
167
|
+
|
|
168
|
+
@title : 'Get Build Details'
|
|
169
|
+
@description: 'Retrieve transaction build details using the Build Id'
|
|
170
|
+
action GetBuildDetails(
|
|
171
|
+
@title: 'Build Id'
|
|
172
|
+
@description: 'The unique identifier of the transaction build'
|
|
173
|
+
buildId: UUID) returns TransactionBuilds;
|
|
174
|
+
|
|
175
|
+
@title : 'Submit Transaction'
|
|
176
|
+
@description: 'Submit a transaction to the Cardano network using a build ID and signed CBOR'
|
|
177
|
+
action SubmitTransaction(
|
|
178
|
+
@title: 'Build Id'
|
|
179
|
+
@description: 'The unique identifier of the transaction build'
|
|
180
|
+
buildId: UUID,
|
|
181
|
+
@title: 'Signed Transaction CBOR'
|
|
182
|
+
@description: 'The CBOR of the signed transaction'
|
|
183
|
+
signedTxCbor: String) returns TransactionSubmissions;
|
|
184
|
+
|
|
185
|
+
@title : 'Submit Signed Transaction'
|
|
186
|
+
@description: 'Submit a signed transaction to the Cardano network'
|
|
187
|
+
action SubmitSignedTransaction(
|
|
188
|
+
@title: 'Signed Transaction CBOR'
|
|
189
|
+
@description: 'The CBOR of the signed transaction'
|
|
190
|
+
signedTxCbor: String,
|
|
191
|
+
@title: 'Network'
|
|
192
|
+
@description: 'The Cardano network to submit the transaction to (e.g., mainnet, testnet)'
|
|
193
|
+
network: String(10)) returns TransactionSubmissions;
|
|
194
|
+
|
|
195
|
+
// ---------------------------------------------------------------------------
|
|
196
|
+
// M3 - External Signing Workflow Entities & Actions
|
|
197
|
+
// ---------------------------------------------------------------------------
|
|
198
|
+
|
|
199
|
+
@title : 'Signing Requests'
|
|
200
|
+
@description: 'Projection for Signing Requests - tracks external signing workflow'
|
|
201
|
+
entity SigningRequests as projection on db.SigningRequests actions {
|
|
202
|
+
@title : 'Verify Signature'
|
|
203
|
+
@description: 'Verify the signature of a signed transaction. Stores the verification result for audit trail.'
|
|
204
|
+
action VerifySignature(
|
|
205
|
+
@title: 'Signed Transaction CBOR'
|
|
206
|
+
@description: 'The signed transaction CBOR to verify'
|
|
207
|
+
signedTxCbor: String,
|
|
208
|
+
@title: 'Signer Type'
|
|
209
|
+
@description: 'Type of signer used (cardano-cli | browser-wallet | hardware-wallet | custom)'
|
|
210
|
+
signerType: String(20),
|
|
211
|
+
@title: 'Signer Info'
|
|
212
|
+
@description: 'Additional signer information (wallet name, etc.)'
|
|
213
|
+
signerInfo: String(100)
|
|
214
|
+
) returns SignatureVerifications;
|
|
215
|
+
|
|
216
|
+
@title : 'Submit Verified Transaction'
|
|
217
|
+
@description: 'Verify and submit a signed transaction in one step. Updates the signing request status and creates submission record.'
|
|
218
|
+
action SubmitVerifiedTransaction(
|
|
219
|
+
@title: 'Signed Transaction CBOR'
|
|
220
|
+
@description: 'The signed transaction CBOR'
|
|
221
|
+
signedTxCbor: String,
|
|
222
|
+
@title: 'Signer Type'
|
|
223
|
+
@description: 'Type of signer used'
|
|
224
|
+
signerType: String(20),
|
|
225
|
+
@title: 'Signer Info'
|
|
226
|
+
@description: 'Additional signer information'
|
|
227
|
+
signerInfo: String(100)
|
|
228
|
+
) returns TransactionSubmissions;
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
@title : 'Signature Verifications'
|
|
232
|
+
@description: 'Projection for Signature Verifications - stores verification results'
|
|
233
|
+
entity SignatureVerifications as projection on db.SignatureVerifications;
|
|
234
|
+
|
|
235
|
+
@title : 'Address Signing Requests'
|
|
236
|
+
@description: 'Projection for retrieving signing requests by address'
|
|
237
|
+
entity AddressSigningRequests as projection on db.AddressSigningRequests;
|
|
238
|
+
|
|
239
|
+
@title : 'Address Transaction Builds'
|
|
240
|
+
@description: 'Projection for retrieving transaction builds by address'
|
|
241
|
+
entity AddressTransactionBuilds as projection on db.AddressTransactionBuilds;
|
|
242
|
+
|
|
243
|
+
@title : 'Create Signing Request'
|
|
244
|
+
@description: 'Create a signing request for external signing. Returns transaction details, signing instructions, and CLI commands. The request is persisted for audit trail.'
|
|
245
|
+
action CreateSigningRequest(
|
|
246
|
+
@title: 'Build ID'
|
|
247
|
+
@description: 'The unique identifier of the transaction build'
|
|
248
|
+
buildId: UUID,
|
|
249
|
+
@title: 'Message to Signer'
|
|
250
|
+
@description: 'A message to include for the signer'
|
|
251
|
+
message: String) returns SigningRequests;
|
|
252
|
+
|
|
253
|
+
@title : 'Get Signing Request'
|
|
254
|
+
@description: 'Retrieve an existing signing request by ID'
|
|
255
|
+
action GetSigningRequest(
|
|
256
|
+
@title: 'Signing Request ID'
|
|
257
|
+
@description: 'The unique identifier of the signing request'
|
|
258
|
+
signingRequestId: UUID) returns SigningRequests;
|
|
259
|
+
|
|
260
|
+
@title: 'Address Signing Requests'
|
|
261
|
+
@description: 'Projection for retrieving signing requests by address'
|
|
262
|
+
action GetSigningRequestsByAddress(
|
|
263
|
+
@title: 'Bech32 Address'
|
|
264
|
+
@description: 'The Bech32 encoded address to retrieve signing requests for'
|
|
265
|
+
address: db.Bech32) returns array of AddressSigningRequests;
|
|
266
|
+
@title: 'Address Transaction Builds'
|
|
267
|
+
@description: 'Projection for retrieving transaction builds by address'
|
|
268
|
+
action GetTransactionBuildsByAddress(
|
|
269
|
+
@title: 'Bech32 Address'
|
|
270
|
+
@description: 'The Bech32 encoded address to retrieve transaction builds for'
|
|
271
|
+
address: db.Bech32) returns array of AddressTransactionBuilds;
|
|
272
|
+
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// ---------------------------------------------------------------------------
|
|
276
|
+
// Status-Transition Flows (CAP @flow.status — Gamma)
|
|
277
|
+
// ---------------------------------------------------------------------------
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* SigningRequests status flow:
|
|
281
|
+
* pending ──[VerifySignature]──→ verified | failed (conditional in handler)
|
|
282
|
+
* pending | verified ──[SubmitVerifiedTransaction]──→ submitted
|
|
283
|
+
* pending ──[checkExpire]──→ expired (custom time-based logic in handler)
|
|
284
|
+
*/
|
|
285
|
+
annotate CardanoTransactionService.SigningRequests with @flow.status: status actions {
|
|
286
|
+
VerifySignature @from: [#pending];
|
|
287
|
+
SubmitVerifiedTransaction @from: [#pending, #verified] @to: #submitted;
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* TransactionSubmissions status flow:
|
|
292
|
+
* pending ──[submit to chain]──→ submitted (internal, in SubmitTransaction handler)
|
|
293
|
+
* submitted ──[CheckSubmissionStatus]──→ confirmed | stays submitted (conditional)
|
|
294
|
+
* pending | submitted ──→ failed (on blockchain error)
|
|
295
|
+
*/
|
|
296
|
+
annotate CardanoTransactionService.TransactionSubmissions with @flow.status: status actions {
|
|
297
|
+
CheckSubmissionStatus @from: [#submitted];
|
|
298
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardano-tx-service.d.ts","sourceRoot":"","sources":["cardano-tx-service.ts"],"names":[],"mappings":""}
|