@bsv/sdk
Version:
BSV Blockchain Software Development Kit
1,784 lines (1,763 loc) • 54.7 kB
YAML
openapi: 3.1.0
info:
title: Wallet JSON API
version: 1.0.0
servers:
- url: http://localhost:3321
tags:
- name: HTTPWalletJSON
description: HTTP Wallet JSON API
paths:
/createAction:
post:
tags:
- HTTPWalletJSON
summary: Creates a new Bitcoin transaction
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/CreateActionArgs"
responses:
"200":
description: The created transaction result
content:
application/json:
schema:
$ref: "#/components/schemas/CreateActionResult"
"400":
description: Invalid input
"500":
description: Internal server error
/signAction:
post:
tags:
- HTTPWalletJSON
summary: Signs a transaction previously created using `createAction`
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/SignActionArgs"
responses:
"200":
description: The signed transaction result
content:
application/json:
schema:
$ref: "#/components/schemas/SignActionResult"
"400":
description: Invalid input
"500":
description: Internal server error
/abortAction:
post:
tags:
- HTTPWalletJSON
summary: Aborts a transaction that is in progress
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/AbortActionArgs"
responses:
"200":
description: The abortion result
content:
application/json:
schema:
$ref: "#/components/schemas/AbortActionResult"
"400":
description: Invalid input
"500":
description: Internal server error
/listActions:
post:
tags:
- HTTPWalletJSON
summary: Lists all transactions matching the specified labels
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ListActionsArgs"
responses:
"200":
description: The list of actions
content:
application/json:
schema:
$ref: "#/components/schemas/ListActionsResult"
"400":
description: Invalid input
"500":
description: Internal server error
/internalizeAction:
post:
tags:
- HTTPWalletJSON
summary: Submits a transaction to be internalized
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/InternalizeActionArgs"
responses:
"200":
description: The internalization result
content:
application/json:
schema:
$ref: "#/components/schemas/InternalizeActionResult"
"400":
description: Invalid input
"500":
description: Internal server error
/listOutputs:
post:
tags:
- HTTPWalletJSON
summary: Lists the spendable outputs kept within a specific basket
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ListOutputsArgs"
responses:
"200":
description: The list of outputs
content:
application/json:
schema:
$ref: "#/components/schemas/ListOutputsResult"
"400":
description: Invalid input
"500":
description: Internal server error
/relinquishOutput:
post:
tags:
- HTTPWalletJSON
summary: Relinquish an output out of a basket
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
basket:
$ref: "#/components/schemas/BasketStringUnder300Bytes"
output:
$ref: "#/components/schemas/OutpointString"
responses:
"200":
description: The relinquishment result
content:
application/json:
schema:
type: object
properties:
relinquished:
type: boolean
examples:
- true
"400":
description: Invalid input
"500":
description: Internal server error
/getPublicKey:
post:
tags:
- HTTPWalletJSON
summary: Retrieves the public key
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
seekPermission:
type: boolean
default: true
identityKey:
type: boolean
protocolID:
$ref: "#/components/schemas/ProtocolID"
keyID:
type: string
examples:
- "1"
privileged:
type: boolean
default: false
privilegedReason:
type: string
examples:
- "extra secure"
counterparty:
type: string
examples:
- "0200daf17a4b9f7ca9e188a5b0e2b356107bde46d9d358d99e3402bd0e5beffbff"
forSelf:
type: boolean
default: false
responses:
"200":
description: The public key
content:
application/json:
schema:
type: object
properties:
publicKey:
type: string
examples:
- "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
"400":
description: Invalid input
"500":
description: Internal server error
/revealCounterpartyKeyLinkage:
post:
tags:
- HTTPWalletJSON
summary: Reveals counterparty key linkage
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
counterparty:
type: string
examples:
- "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
verifier:
type: string
examples:
- "03c378a866d72c391343eddeadf64c4f896637c4160ac6073e7b80b5717310153b"
privilegedReason:
type: string
examples:
- "extra sensitive"
privileged:
type: boolean
default: false
responses:
"200":
description: The counterparty key linkage
content:
application/json:
schema:
type: object
properties:
prover:
type: string
examples:
- "02790ab2d725d04af29e20bf46e1dbc40ba8b49f1355146884c5bd06819273d101"
verifier:
type: string
examples:
- "03c378a866d72c391343eddeadf64c4f896637c4160ac6073e7b80b5717310153b"
counterparty:
type: string
examples:
- "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
revelationTime:
type: string
examples:
- "2024-12-12T12:12:12.120Z"
encryptedLinkage:
type: array
items:
type: integer
encryptedLinkageProof:
type: array
items:
type: integer
"400":
description: Invalid input
"500":
description: Internal server error
/revealSpecificKeyLinkage:
post:
tags:
- HTTPWalletJSON
summary: Reveals specific key linkage
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
counterparty:
type: string
examples:
- "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
verifier:
type: string
examples:
- "03c378a866d72c391343eddeadf64c4f896637c4160ac6073e7b80b5717310153b"
protocolID:
$ref: "#/components/schemas/ProtocolID"
keyID:
type: string
examples:
- "1"
privilegedReason:
type: string
examples:
- "special stuff"
privileged:
type: boolean
default: false
responses:
"200":
description: The specific key linkage
content:
application/json:
schema:
type: object
properties:
prover:
type: string
examples:
- "02790ab2d725d04af29e20bf46e1dbc40ba8b49f1355146884c5bd06819273d101"
verifier:
type: string
examples:
- "03c378a866d72c391343eddeadf64c4f896637c4160ac6073e7b80b5717310153b"
counterparty:
type: string
examples:
- "027facf8e28228eea25abd69c4f23f15573e1d0f9180718af297e1458827cd5aef"
revelationTime:
type: string
examples:
- "2024-12-12T12:12:12.120Z"
protocolID:
$ref: "#/components/schemas/ProtocolID"
keyID:
type: string
examples:
- "1"
encryptedLinkage:
type: array
items:
type: integer
encryptedLinkageProof:
type: array
items:
type: integer
proofType:
type: integer
"400":
description: Invalid input
"500":
description: Internal server error
/encrypt:
post:
tags:
- HTTPWalletJSON
summary: Encrypts data
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
seekPermission:
type: boolean
default: true
plaintext:
type: array
examples:
- [115, 101, 99, 114, 101, 116, 115]
items:
type: integer
protocolID:
$ref: "#/components/schemas/ProtocolID"
keyID:
type: string
examples:
- "1"
privilegedReason:
type: string
examples:
- "extra secure"
counterparty:
type: string
examples:
- "self"
privileged:
type: boolean
default: false
responses:
"200":
description: The encrypted data
content:
application/json:
schema:
type: object
properties:
ciphertext:
type: array
examples:
- [47, 102, 55, 54, 51, 52, 42, 38, 9]
items:
type: integer
"400":
description: Invalid input
"500":
description: Internal server error
/decrypt:
post:
tags:
- HTTPWalletJSON
summary: Decrypts data
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
seekPermission:
type: boolean
default: true
ciphertext:
type: array
examples:
- [47, 102, 55, 54, 51, 52, 42, 38, 9]
items:
type: integer
protocolID:
$ref: "#/components/schemas/ProtocolID"
keyID:
type: string
examples:
- "1"
privilegedReason:
type: string
examples:
- "extra secure"
counterparty:
type: string
examples:
- "self"
privileged:
type: boolean
default: false
responses:
"200":
description: The decrypted data
content:
application/json:
schema:
type: object
properties:
plaintext:
type: array
examples:
- [115, 101, 99, 114, 101, 116, 115]
items:
type: integer
"400":
description: Invalid input
"500":
description: Internal server error
/createHmac:
post:
tags:
- HTTPWalletJSON
summary: Creates HMAC
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
seekPermission:
type: boolean
default: true
data:
type: array
examples:
- [115, 101, 99, 114, 101, 116, 115]
items:
type: integer
protocolID:
$ref: "#/components/schemas/ProtocolID"
keyID:
type: string
examples:
- "2"
privilegedReason:
type: string
examples:
- "special reasons"
counterparty:
type: string
examples:
- "anyone"
privileged:
type: boolean
default: false
responses:
"200":
description: The HMAC
content:
application/json:
schema:
type: object
properties:
hmac:
type: array
examples:
- [
114,
178,
137,
236,
120,
224,
169,
40,
197,
101,
72,
10,
67,
84,
83,
227,
10,
203,
146,
237,
219,
59,
120,
255,
22,
139,
40,
115,
124,
246,
168,
73,
]
items:
type: integer
"400":
description: Invalid input
"500":
description: Internal server error
/verifyHmac:
post:
tags:
- HTTPWalletJSON
summary: Verifies HMAC
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
seekPermission:
type: boolean
default: true
data:
type: array
examples:
- [115, 101, 99, 114, 101, 116, 115]
items:
type: integer
hmac:
type: array
examples:
- [
114,
178,
137,
236,
120,
224,
169,
40,
197,
101,
72,
10,
67,
84,
83,
227,
10,
203,
146,
237,
219,
59,
120,
255,
22,
139,
40,
115,
124,
246,
168,
73,
]
items:
type: integer
protocolID:
$ref: "#/components/schemas/ProtocolID"
keyID:
type: string
examples:
- "1"
privilegedReason:
type: string
examples:
- "I love to be secure"
counterparty:
type: string
examples:
- "anyone"
privileged:
type: boolean
default: false
responses:
"200":
description: The verification result
content:
application/json:
schema:
type: object
properties:
valid:
type: boolean
"400":
description: Invalid input
"500":
description: Internal server error
/createSignature:
post:
tags:
- HTTPWalletJSON
summary: Creates a signature
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
seekPermission:
type: boolean
default: true
data:
type: array
examples:
- [115, 101, 99, 114, 101, 116, 115]
items:
type: integer
hashToDirectlySign:
type: array
examples:
- []
items:
type: integer
protocolID:
$ref: "#/components/schemas/ProtocolID"
keyID:
type: string
examples:
- "1"
privilegedReason:
type: string
examples:
- "I love to be secure"
counterparty:
type: string
examples:
- "anyone"
privileged:
type: boolean
default: false
responses:
"200":
description: The signature
content:
application/json:
schema:
type: object
properties:
signature:
type: array
items:
type: integer
"400":
description: Invalid input
"500":
description: Internal server error
/verifySignature:
post:
tags:
- HTTPWalletJSON
summary: Verifies a signature
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
seekPermission:
type: boolean
default: true
data:
type: array
items:
type: integer
hashToDirectlyVerify:
type: array
examples:
- [
114,
178,
137,
236,
120,
224,
169,
40,
197,
101,
72,
10,
67,
84,
83,
227,
10,
203,
146,
237,
219,
59,
120,
255,
22,
139,
40,
115,
124,
246,
168,
73,
]
items:
type: integer
signature:
type: array
examples:
- [
48,
69,
2,
33,
0,
189,
197,
179,
187,
162,
114,
42,
69,
21,
51,
96,
183,
226,
242,
212,
49,
221,
96,
197,
178,
63,
241,
43,
248,
36,
212,
243,
226,
144,
198,
47,
238,
2,
32,
54,
138,
29,
195,
78,
4,
222,
220,
219,
226,
234,
189,
122,
78,
27,
129,
253,
196,
59,
189,
167,
195,
66,
73,
69,
115,
126,
200,
16,
65,
114,
64,
65,
]
items:
type: integer
protocolID:
$ref: "#/components/schemas/ProtocolID"
keyID:
type: string
examples:
- "1"
privilegedReason:
type: string
examples:
- "-"
counterparty:
type: string
examples:
- "anyone"
forSelf:
type: boolean
default: false
privileged:
type: boolean
default: false
responses:
"200":
description: The verification result
content:
application/json:
schema:
type: object
properties:
valid:
type: boolean
"400":
description: Invalid input
"500":
description: Internal server error
/acquireCertificate:
post:
tags:
- HTTPWalletJSON
summary: Acquires a certificate
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/AcquireCertificateArgs"
responses:
"200":
description: The acquired certificate
content:
application/json:
schema:
$ref: "#/components/schemas/Certificate"
"400":
description: Invalid input
"500":
description: Internal server error
/listCertificates:
post:
tags:
- HTTPWalletJSON
summary: Lists certificates
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
certifiers:
type: array
examples:
- - "0322f8f64b95234a4b531109c2c271e01cd2a9ee497e71a788cae384b6aae54d75"
- "02e3dfb8196c17baab7353e139693a1c0813d60ecd022f5c52779faf2cff341374"
- "0334b3dd693269d37e0ef35aace5dc07fdd510ff0f1596399ed7bf8b27dc025bdd"
items:
type: string
types:
type: array
examples:
- - "W/iqV/xaa8VH3s8cxttj8Q3rVaPGxd9JfWMfs9leGr8="
- "xrhnMvBJoy7tWi92bFzci3cGNhmiC+yU8iK8vSSeZWI="
items:
type: string
limit:
type: integer
examples:
- 10
offset:
type: integer
privileged:
type: boolean
default: false
privilegedReason:
type: string
examples:
- "-"
responses:
"200":
description: The list of certificates
content:
application/json:
schema:
$ref: "#/components/schemas/ListCertificatesResult"
"400":
description: Invalid input
"500":
description: Internal server error
/proveCertificate:
post:
tags:
- HTTPWalletJSON
summary: Proves a certificate
requestBody:
required: true
content:
application/json:
schema:
$ref: "#/components/schemas/ProveCertificateArgs"
responses:
"200":
description: The proof of the certificate
content:
application/json:
schema:
$ref: "#/components/schemas/ProveCertificateResult"
"400":
description: Invalid input
"500":
description: Internal server error
/relinquishCertificate:
post:
tags:
- HTTPWalletJSON
summary: Relinquishes a certificate
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
examples:
- "W/iqV/xaa8VH3s8cxttj8Q3rVaPGxd9JfWMfs9leGr8="
serialNumber:
type: string
examples:
- "oXTshKWy209Lv8MFVDxmsFzZQQ"
certifier:
type: string
examples:
- "03d40063722f77cc57a96bdf963c56fd29085b1297e598471ad63dd51b1b54db6e"
responses:
"200":
description: The relinquishment result
content:
application/json:
schema:
type: object
properties:
relinquished:
type: boolean
examples:
- true
"400":
description: Invalid input
"500":
description: Internal server error
/discoverByIdentityKey:
post:
tags:
- HTTPWalletJSON
summary: Discovers certificates by identity key
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
identityKey:
type: string
examples:
- "03ed91c6e33a5ef6fc3d927b2d7064af0c78447cfc304c069715ea7bdd2e5c6ea8"
limit:
type: integer
examples:
- 10
offset:
type: integer
seekPermission:
type: boolean
default: true
responses:
"200":
description: The discovered certificates
content:
application/json:
schema:
$ref: "#/components/schemas/DiscoverCertificatesResult"
"400":
description: Invalid input
"500":
description: Internal server error
/discoverByAttributes:
post:
tags:
- HTTPWalletJSON
summary: Discovers certificates by attributes
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
attributes:
type: object
examples:
- firstName: "David"
additionalProperties:
type: string
limit:
type: integer
examples:
- 10
offset:
type: integer
seekPermission:
type: boolean
default: true
responses:
"200":
description: The discovered certificates
content:
application/json:
schema:
$ref: "#/components/schemas/DiscoverCertificatesResult"
"400":
description: Invalid input
"500":
description: Internal server error
/isAuthenticated:
post:
tags:
- HTTPWalletJSON
summary: Checks if the user is authenticated
responses:
"200":
description: The authentication status
content:
application/json:
schema:
type: object
properties:
authenticated:
type: boolean
"400":
description: Invalid input
"500":
description: Internal server error
/waitForAuthentication:
post:
tags:
- HTTPWalletJSON
summary: Waits for user authentication
responses:
"200":
description: The authentication result
content:
application/json:
schema:
type: object
properties:
authenticated:
type: boolean
examples:
- true
"400":
description: Invalid input
"500":
description: Internal server error
/getHeight:
post:
tags:
- HTTPWalletJSON
summary: Retrieves the current blockchain height
responses:
"200":
description: The current blockchain height
content:
application/json:
schema:
type: object
properties:
height:
type: integer
examples:
- 875002
"400":
description: Invalid input
"500":
description: Internal server error
/getHeaderForHeight:
post:
tags:
- HTTPWalletJSON
summary: Retrieves the block header for a specific height
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
height:
type: integer
examples:
- 875002
responses:
"200":
description: The block header
content:
application/json:
schema:
type: object
properties:
header:
type: string
examples:
- "0020372d395bfcfc03b467e747f873da7e4f4fd0afcc89301787b10a0000000000000000724ab3c241848b826766b46947e008e022b95877629498ec3e7dd85f1ae0b383f8f8826566280d184b11f02a"
"400":
description: Invalid input
"500":
description: Internal server error
/getNetwork:
post:
tags:
- HTTPWalletJSON
summary: Retrieves the current network
responses:
"200":
description: The current network
content:
application/json:
schema:
type: object
properties:
network:
type: string
enum:
- mainnet
- testnet
"400":
description: Invalid input
"500":
description: Internal server error
/getVersion:
post:
tags:
- HTTPWalletJSON
summary: Retrieves the current version
responses:
"200":
description: The current version
content:
application/json:
schema:
type: object
properties:
version:
type: string
examples:
- "BSVA-1.0.0"
"400":
description: Invalid input
"500":
description: Internal server error
components:
schemas:
CreateActionArgs:
type: object
properties:
description:
type: string
examples:
- "human readable purpose of this action"
inputBEEF:
type: array
examples:
- [1, 1, 1, 1]
items:
type: number
inputs:
type: array
items:
$ref: "#/components/schemas/CreateActionInput"
outputs:
type: array
items:
$ref: "#/components/schemas/CreateActionOutput"
lockTime:
type: number
examples:
- 0
version:
type: number
examples:
- 1
labels:
type: array
examples:
- ["todo create"]
items:
type: string
options:
$ref: "#/components/schemas/CreateActionOptions"
CreateActionResult:
type: object
properties:
txid:
type: string
examples:
- "16bed6368b8b1542cd6eb87f5bc20dc830b41a2258dde40438a75fa701d24e9a"
tx:
type: array
examples:
- [1, 1, 1, 1]
items:
type: number
noSendChange:
type: array
examples:
- [
"11df9f39662e276dc2f637f063919ce3ca86cbc2d55ee8d661408d22b1f49018.0",
]
items:
type: string
sendWithResults:
type: array
items:
$ref: "#/components/schemas/SendWithResult"
signableTransaction:
$ref: "#/components/schemas/SignableTransaction"
SignActionArgs:
type: object
properties:
spends:
type: object
examples:
- 0:
unlockingScript: "47304402206ba4a1c0aa4e1ba7f2cd79de36..."
sequenceNumber: 4294967295
1:
unlockingScript: "473044022031d6c05d21ea4ee96da0fa17ea..."
sequenceNumber: 4294967295
additionalProperties:
$ref: "#/components/schemas/SignActionSpend"
reference:
type: string
examples:
- "C1HST7xvPKzh66npoiJ5fKwnLtnH3xxQ4ylxaGBTTOA="
options:
$ref: "#/components/schemas/SignActionOptions"
SignActionResult:
type: object
properties:
txid:
type: string
examples:
- "cd8345f101b2c6163921d9ff08526d88aa24cb68456f546eec935c6485155838"
tx:
type: array
examples:
- [1, 1, 1, 1]
items:
type: number
sendWithResults:
type: array
items:
$ref: "#/components/schemas/SendWithResult"
AbortActionArgs:
type: object
properties:
reference:
type: string
examples:
- "C1HST7xvPKzh66npoiJ5fKwnLtnH3xxQ4ylxaGBTTOA="
AbortActionResult:
type: object
properties:
aborted:
type: boolean
examples:
- true
ListActionsArgs:
type: object
properties:
labels:
type: array
examples:
- ["todo create"]
items:
type: string
labelQueryMode:
type: string
enum: [any, all]
includeLabels:
type: boolean
examples:
- false
includeInputs:
type: boolean
includeInputSourceLockingScripts:
type: boolean
includeInputUnlockingScripts:
type: boolean
includeOutputs:
type: boolean
includeOutputLockingScripts:
type: boolean
limit:
type: number
examples:
- 10
offset:
type: number
examples:
- 0
seekPermission:
type: boolean
ListActionsResult:
type: object
properties:
totalActions:
type: number
examples:
- 1
actions:
type: array
items:
$ref: "#/components/schemas/WalletAction"
InternalizeActionArgs:
type: object
properties:
tx:
type: array
examples:
- [1, 1, 1, 1]
items:
type: number
outputs:
type: array
examples:
- - outputIndex: 0
protocol: "wallet payment"
paymentRemittance:
derivationPrefix: "12345678"
derivationSuffix: "00000"
senderIdentity: "02ffc4f361307f34a82069edbcbe2c9f4bd5498165549f42bdeb698ffdcab1ea38"
- outputIndex: 1
protocol: "basket insertion"
insertionRemittance:
basket: "todo token"
customInstructions: "3453,3462346,self"
tags:
- "foose"
- "goose"
items:
$ref: "#/components/schemas/InternalizeOutput"
description:
type: string
examples:
- "Creation of a new thing."
labels:
type: array
examples:
- ["todo create", "productivity"]
items:
type: string
seekPermission:
type: boolean
InternalizeActionResult:
type: object
properties:
accepted:
type: boolean
examples:
- true
ListOutputsArgs:
type: object
properties:
basket:
type: string
examples:
- "todo token"
tags:
type: array
examples:
- ["todo create", "todo burn"]
items:
type: string
tagQueryMode:
type: string
examples:
- "any"
enum: [all, any]
include:
type: string
enum: [locking scripts, entire transactions]
includeCustomInstructions:
type: boolean
includeTags:
type: boolean
includeLabels:
type: boolean
limit:
type: number
examples:
- 10
offset:
type: number
seekPermission:
type: boolean
ListOutputsResult:
type: object
examples:
- totalOutputs: 1
outputs:
- satoshis: 1000
lockingScript: "76a914dd8b1abde0304820ace0adf1478a3ef2291a833788ac"
spendable: true
customInstructions: "12,34,023398754239872342354534"
tags: ["todo create"]
outpoint: "d834139537caeb6abb876e1adcf00064fa7a775cf324a2c3bd8c13a8ec8c888f.34"
labels: ["productivity"]
- totalOutputs: 1
BEEF: [2, 0, 190, 239]
properties:
totalOutputs:
type: number
examples:
- 1
BEEF:
type: array
items:
type: number
outputs:
type: array
items:
$ref: "#/components/schemas/WalletOutput"
CreateActionInput:
type: object
properties:
outpoint:
type: string
examples:
- "ef01fee61a0d00090280027a0ec9df2e605fa46a903dfa1bd249b96aa3001490.0"
inputDescription:
type: string
examples:
- "why this token is being spent"
unlockingScript:
type: string
examples:
- "47304402200aa56a892e310a7575035fb3c0bcf466bbc16e97dae197cc1d40412313f94b89022011944d2b1b0fa72dbe7893c400624a0652a6efcc40d459216c0e00d5d135f7fc412103820b289317fa9ba995ca05bc084a77ae6077dbb424206424d92b51653521bb90"
unlockingScriptLength:
type: number
examples:
- 106
sequenceNumber:
type: number
examples:
- 4294967295
CreateActionOutput:
type: object
properties:
lockingScript:
type: string
examples:
- "76a914978bf440c1ae52331b2e95b641c0041debaa87ce88ac"
satoshis:
type: number
examples:
- 1234
outputDescription:
type: string
examples:
- "why this token is being created"
basket:
type: string
examples:
- "todo token"
customInstructions:
type: string
examples:
- "invoice1234,keyId1,03820b289317fa9ba995ca05bc084a77ae6077dbb424206424d92b51653521bb90"
tags:
type: array
examples:
- ["todo", "productivity"]
items:
type: string
CreateActionOptions:
type: object
properties:
signAndProcess:
type: boolean
acceptDelayedBroadcast:
type: boolean
trustSelf:
type: string
enum: [known]
knownTxids:
type: array
items:
type: string
returnTXIDOnly:
type: boolean
noSend:
type: boolean
noSendChange:
type: array
examples:
- [
"11df9f39662e276dc2f637f063919ce3ca86cbc2d55ee8d661408d22b1f49018.0",
]
items:
type: string
sendWith:
type: array
examples:
- [
"c2d37dd0575766e4deedf7ba072ad35b87e9223af01d2829a81960ba7164f606",
]
items:
type: string
randomizeOutputs:
type: boolean
SendWithResult:
type: object
properties:
txid:
type: string
examples:
- "a0084f73e13afdcc284cc810b4d22af004a38dcf404d8ddbe43ac9fb1a77a4be"
status:
type: string
enum: [unproven, sending, failed]
SignableTransaction:
type: object
properties:
tx:
type: array
examples:
- [1, 1, 1, 1]
items:
type: number
reference:
type: string
examples:
- "C1HST7xvPKzh66npoiJ5fKwnLtnH3xxQ4ylxaGBTTOA="
SignActionSpend:
type: object
properties:
unlockingScript:
type: string
examples:
- "47304402206ba4a1c0aa4e1ba7f2cd79de3617c9b1..."
sequenceNumber:
type: number
examples:
- 4294967295
SignActionOptions:
type: object
properties:
acceptDelayedBroadcast:
type: boolean
returnTXIDOnly:
type: boolean
noSend:
type: boolean
sendWith:
type: array
examples:
- [
"c2d37dd0575766e4deedf7ba072ad35b87e9223af01d2829a81960ba7164f606",
]
items:
type: string
InternalizeOutput:
type: object
properties:
outputIndex:
type: number
protocol:
type: string
enum: [wallet payment, basket insertion]
paymentRemittance:
type: object
properties:
derivationPrefix:
type: string
derivationSuffix:
type: string
senderIdentityKey:
type: string
insertionRemittance:
type: object
properties:
basket:
type: string
customInstructions:
type: string
tags:
type: array
items:
type: string
WalletAction:
type: object
properties:
txid:
type: string
examples:
- "ab69c16801e6ea2bb78bde521c6e3654f7e665d0900e4236b5945e47a1482d3c"
satoshis:
type: number
examples:
- 1
status:
type: string
enum:
[
completed,
unprocessed,
sending,
unproven,
unsigned,
nosend,
nonfinal,
]
isOutgoing:
type: boolean
description:
type: string
examples:
- "The creation of a token which captures an item of a todo list."
labels:
type: array
examples:
- ["todo create"]
items:
type: string
version:
type: number
examples:
- 1
lockTime:
type: number
inputs:
type: array
items:
$ref: "#/components/schemas/WalletActionInput"
outputs:
type: array
items:
$ref: "#/components/schemas/WalletActionOutput"
WalletActionInput:
type: object
properties:
sourceOutpoint:
type: string
examples:
- "50e7365af507f6c862b6ca77cef2571ae63544bcd8e19c3c2abc44b20d0aeb6c.3"
sourceSatoshis:
type: number
examples:
- 4000
sourceLockingScript:
type: string
examples:
- "76a9144f427ee5f3099f0ac571f6b723a628e7b08fb64c88ac"
unlockingScript:
type: string
examples:
- "47304402200aa56a892e310a7575035fb3c0bcf4..."
inputDescription:
type: string
examples:
- "spending of a token of some sort"
sequenceNumber:
type: number
examples:
- 4294967295
WalletActionOutput:
type: object
properties:
satoshis:
type: number
examples:
- 1000
lockingScript:
type: string
examples:
- "76a914dd8b1abde0304820ace0adf1478a3ef2291a833788ac"
spendable: