@mem-cash/electrum 0.0.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/README.md +143 -0
- package/dist/address.d.ts +20 -0
- package/dist/address.d.ts.map +1 -0
- package/dist/address.js +51 -0
- package/dist/address.js.map +1 -0
- package/dist/dispatch.d.ts +18 -0
- package/dist/dispatch.d.ts.map +1 -0
- package/dist/dispatch.js +108 -0
- package/dist/dispatch.js.map +1 -0
- package/dist/headers.d.ts +14 -0
- package/dist/headers.d.ts.map +1 -0
- package/dist/headers.js +156 -0
- package/dist/headers.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/indexer.d.ts +42 -0
- package/dist/indexer.d.ts.map +1 -0
- package/dist/indexer.js +216 -0
- package/dist/indexer.js.map +1 -0
- package/dist/memCash.d.ts +40 -0
- package/dist/memCash.d.ts.map +1 -0
- package/dist/memCash.js +212 -0
- package/dist/memCash.js.map +1 -0
- package/dist/mempool.d.ts +6 -0
- package/dist/mempool.d.ts.map +1 -0
- package/dist/mempool.js +46 -0
- package/dist/mempool.js.map +1 -0
- package/dist/schema.d.ts +638 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +3 -0
- package/dist/schema.js.map +1 -0
- package/dist/scripthash.d.ts +18 -0
- package/dist/scripthash.d.ts.map +1 -0
- package/dist/scripthash.js +164 -0
- package/dist/scripthash.js.map +1 -0
- package/dist/server.d.ts +20 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +120 -0
- package/dist/server.js.map +1 -0
- package/dist/stubs.d.ts +12 -0
- package/dist/stubs.d.ts.map +1 -0
- package/dist/stubs.js +16 -0
- package/dist/stubs.js.map +1 -0
- package/dist/test.d.ts +8 -0
- package/dist/test.d.ts.map +1 -0
- package/dist/test.js +240 -0
- package/dist/test.js.map +1 -0
- package/dist/testUtils.d.ts +20 -0
- package/dist/testUtils.d.ts.map +1 -0
- package/dist/testUtils.js +29 -0
- package/dist/testUtils.js.map +1 -0
- package/dist/transaction.d.ts +28 -0
- package/dist/transaction.d.ts.map +1 -0
- package/dist/transaction.js +318 -0
- package/dist/transaction.js.map +1 -0
- package/dist/transport.d.ts +24 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +16 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +85 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +58 -0
- package/dist/types.js.map +1 -0
- package/dist/utxo.d.ts +4 -0
- package/dist/utxo.d.ts.map +1 -0
- package/dist/utxo.js +39 -0
- package/dist/utxo.js.map +1 -0
- package/package.json +53 -0
package/dist/utxo.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { makeOutpointKey } from "@mem-cash/types";
|
|
2
|
+
import { invalidParams, ok, validateTxid, } from "./types.js";
|
|
3
|
+
/** blockchain.utxo.get_info */
|
|
4
|
+
export function getInfo(ctx, params) {
|
|
5
|
+
const txHash = validateTxid(params[0]);
|
|
6
|
+
if (txHash === null)
|
|
7
|
+
return invalidParams("Invalid tx hash");
|
|
8
|
+
const outN = params[1];
|
|
9
|
+
if (typeof outN !== "number" || !Number.isInteger(outN) || outN < 0) {
|
|
10
|
+
return invalidParams("Invalid output index");
|
|
11
|
+
}
|
|
12
|
+
const key = makeOutpointKey(txHash, outN);
|
|
13
|
+
// Check confirmed UTXOs first, then mempool
|
|
14
|
+
const utxo = ctx.node.getUtxoByOutpoint(key) ?? ctx.node.getMempoolUtxo(key);
|
|
15
|
+
if (!utxo)
|
|
16
|
+
return ok(null);
|
|
17
|
+
const result = {
|
|
18
|
+
scripthash: utxo.scriptHash,
|
|
19
|
+
value: Number(utxo.satoshis),
|
|
20
|
+
};
|
|
21
|
+
if (utxo.height > 0) {
|
|
22
|
+
result.confirmed_height = utxo.height;
|
|
23
|
+
}
|
|
24
|
+
if (utxo.tokenData) {
|
|
25
|
+
const td = {
|
|
26
|
+
category: utxo.tokenData.category,
|
|
27
|
+
amount: utxo.tokenData.amount.toString(),
|
|
28
|
+
};
|
|
29
|
+
if (utxo.tokenData.nft) {
|
|
30
|
+
td.nft = {
|
|
31
|
+
capability: utxo.tokenData.nft.capability,
|
|
32
|
+
commitment: utxo.tokenData.nft.commitment,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
result.token_data = td;
|
|
36
|
+
}
|
|
37
|
+
return ok(result);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=utxo.js.map
|
package/dist/utxo.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utxo.js","sourceRoot":"","sources":["../src/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAEN,aAAa,EACb,EAAE,EAEF,YAAY,GACZ,MAAM,YAAY,CAAC;AAEpB,+BAA+B;AAC/B,MAAM,UAAU,OAAO,CAAC,GAAoB,EAAE,MAAiB;IAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACrE,OAAO,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1C,4CAA4C;IAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,MAAM,GASR;QACH,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC5B,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,EAAE,GAA+C;YACtD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;YACjC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;SACxC,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACxB,EAAE,CAAC,GAAG,GAAG;gBACR,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU;gBACzC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU;aACzC,CAAC;QACH,CAAC;QACD,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mem-cash/electrum",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Fulcrum-compatible Electrum Cash protocol handlers and dispatch for mem-cash",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist/",
|
|
17
|
+
"README.md",
|
|
18
|
+
"LICENSE"
|
|
19
|
+
],
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/mainnet-pat/mem-cash.git",
|
|
24
|
+
"directory": "packages/electrum"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"bitcoin-cash",
|
|
28
|
+
"electrum",
|
|
29
|
+
"fulcrum",
|
|
30
|
+
"rpc",
|
|
31
|
+
"protocol"
|
|
32
|
+
],
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=20"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"prepublishOnly": "tsc -b"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@bitauth/libauth": "^3.1.0-next.8",
|
|
41
|
+
"@mem-cash/core": "0.0.1",
|
|
42
|
+
"@mem-cash/storage": "0.0.1",
|
|
43
|
+
"@mem-cash/types": "0.0.1"
|
|
44
|
+
},
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"@mem-cash/validation": "0.0.1"
|
|
47
|
+
},
|
|
48
|
+
"peerDependenciesMeta": {
|
|
49
|
+
"@mem-cash/validation": {
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|